- Student Records
Programme & Unit Catalogues


CM20215: Software systems development

Follow this link for further information on academic years Academic Year: 2013/4
Further information on owning departmentsOwning Department/School: Department of Computer Science
Further information on credits Credits: 12
Further information on unit levels Level: Intermediate (FHEQ level 5)
Further information on teaching periods Period: Academic Year
Further information on unit assessment Assessment: CW 40%, EX 60%
Further information on supplementary assessment Supplementary Assessment: CM20215 - Mandatory Extra Work (where allowed by programme regulations)
Further information on requisites 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
Further information on descriptions 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.
Further information on programme availabilityProgramme 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-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-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

Notes:
* This unit catalogue is applicable for the 2013/4 academic year only. Students continuing their studies into 2014/15 and beyond should not assume that this unit will be available in future years in the format displayed here for 2013/14.
* Programmes and units are subject to change at any time, in accordance with normal University procedures.
* Availability of units will be subject to constraints such as staff availability, minimum and maximum group sizes, and timetabling factors as well as a student's ability to meet any pre-requisite rules.