- Student Records
Programme & Unit Catalogues

Department of Computer Science, Unit Catalogue 2011/12


CM20215: Software systems development

Click here for further information Credits: 12
Click here for further information Level: Intermediate (FHEQ level 5)
Click here for further information Period: Academic Year
Click here for further information Assessment: CW 40%, EX 60%
Click here for further information Supplementary Assessment: CM20215 - Mandatory Extra Work (where allowed by programme regulations)
Click here for further information Requisites: Before taking this unit you must take CM10193 and take CM10227 and take CM10228 and while taking this unit you must take CM10194 and take CM10195 and take CM20214 and take CM20216
Click here for further information Description: Aims:
To build on and unify concepts taught within Systems Engineering and Systems Architectures, and introduce theory and technologies for the design and development of non-trivial software systems over distributed services. To apply knowledge and tools for the management and control of the development process. To provide a systems-based understanding of data, data modeling, storage, access, retrieval and protection. To build on the fundamental concepts of networking and prepare students for networking terminology and concepts they may meet on placement.

Learning Outcomes:
On completion of this unit students will be able to:
1. Apply their understanding of software lifecycles and project management techniques to the development, control and quality assurance of high level software systems;
2. understand in depth of the nature of data, the capture of data needs in models at various levels of abstraction, and the formal description of the data processing requirements and apply these to the development of data storage, management and processing applications;
3. demonstrate knowledge of implementation issues and solutions relating to local and distributed data storage, access, communication, integrity and security, and the application of this knowledge in developing systems;
4. show familiarity with the use, construction, operation and evolution of the Internet;
5. describe the architectures and services required for the construction of concurrent and distributed applications;
6. decide which protocols are used in or relevant for a particular application, and describe the features of a given higher-level internet application.
7. understand and apply the ethical and legal framework relating to data ownership storage, transmission and publication.

Skills:
Use of IT (T/F, A), Problem Solving (T/F, A), Working with Others (T/F, A), Communication (A).

Content:

* Development: Review of key concepts for the control of software development. Quality Assurance. Documentation. Uncertainty. Risk Control and critical systems. Legacy applications - their reuse and refactoring. Tool support for the systems design and development process.
* Modelling: Conceptual and Logical models. Data Models and the E-R model. Systems models and UML. Large and very large systems modeling.
* Data definition and query: Structured data - The relational model and algebra, SQL, Normalisation. Semi-structured data - XML and XML querying
* Physical design: Constraints, triggers, views. Index management. Concurrency, Recoverability, Transaction control. Optimisation. Administration decisions and trade-offs.
* Seven and four layer models. RFCs and standardization. Address allocation. Evolution of the internet. The IP layer and IP routing: Routers and routing protocols: the AS concept. The Transport Layer: TCP and UDP. The port concept and well known ports. Multiplexing and Demultiplexing. Higher Layers: eg. Mail - Envelope, headers and content; Mail faking and spam; Auditability; Legal Issues; Electronic signatures and etiquette.
* Identity, authentication and security, physical security, security from error and crime, reliability and robustness.
* Distributed systems: Server architectures, Data definition and exchange, Service access, Web services
* The ethical and legal framework for data and privacy rights, data protection, transmission, publication and ownership and the freedom of information. Review of legislation.
Click here for further informationProgramme availability:

CM20215 is Compulsory on the following programmes:

Department of Computer Science
  • USCM-AFB11 : BSc (hons) Computer Information Systems (Full-time) - Year 2
  • USCM-AKB12 : BSc (hons) Computer Information Systems (Full-time with Thick Sandwich Placement) - Year 2
  • USCM-AAB12 : BSc (hons) Computer Information Systems with Study Year Abroad (Full-time with Study Year Abroad) - Year 2
  • USCM-AFB06 : BSc (hons) Computer Science (Full-time) - Year 2
  • USCM-AKB07 : BSc (hons) Computer Science (Full-time with Thick Sandwich Placement) - Year 2
  • USCM-AKB19 : BSc (hons) Computer Science (incl. ab initio Japanese Language & with Industrial Placement) (Full-time with Thick Sandwich Placement) - Year 2
  • USCM-AKB18 : BSc (hons) Computer Science (incl. ab initio Mandarin Chinese Lang & with Industrial Placement) (Full-time with Thick Sandwich Placement) - Year 2
  • USCM-AFB19 : BSc (hons) Computer Science (including ab initio Japanese Language) (Full-time) - Year 2
  • USCM-AFB18 : BSc (hons) Computer Science (including ab initio Mandarin Chinese Language) (Full-time) - Year 2
  • USCM-AFB09 : BSc (hons) Computer Science with Business (Full-time) - Year 2
  • USCM-AKB10 : BSc (hons) Computer Science with Business (Full-time with Thick Sandwich Placement) - Year 2
  • USCM-AAB10 : BSc (hons) Computer Science with Business with Study Year Abroad (Full-time with Study Year Abroad) - Year 2
  • USCM-AKB15 : BSc (hons) Computer Science with French Language (with Industrial Placement) (Full-time with Thick Sandwich Placement) - Year 2
  • USCM-AAB15 : BSc (hons) Computer Science with French Language (with Study Year Abroad) (Full-time with Study Year Abroad) - Year 2
  • USCM-AKB16 : BSc (hons) Computer Science with German Language (with Industrial Placement) (Full-time with Thick Sandwich Placement) - Year 2
  • USCM-AAB16 : BSc (hons) Computer Science with German Language (with Study Year Abroad) (Full-time with Study Year Abroad) - Year 2
  • USCM-AKB17 : BSc (hons) Computer Science with Spanish Language (with Industrial Placement) (Full-time with Thick Sandwich Placement) - Year 2
  • USCM-AAB17 : BSc (hons) Computer Science with Spanish Language (with Study Year Abroad) (Full-time with Study Year Abroad) - Year 2
  • USCM-AAB07 : BSc (hons) Computer Science with Study Year Abroad (Full-time with Study Year Abroad) - Year 2
  • USCM-AFM01 : MComp (hons) Computer Science (Full-time) - Year 2
  • USCM-AKM02 : MComp (hons) Computer Science (Full-time with Thick Sandwich Placement) - Year 2
  • USCM-AAM02 : MComp (hons) Computer Science with Study Year Abroad (Full-time with Study Year Abroad) - Year 2

NB. Programmes and units are subject to change at any time, in accordance with normal University procedures.