- Student Records
Programme & Unit Catalogues

CM10193: Systems requirements and design

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: Certificate (FHEQ level 4)
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: CM10193 Mandatory Extra Work (where allowed by programme regulations)
Further information on requisites Requisites: While taking this unit you must take CM10227 and take CM10228
Further information on descriptions Description: Aims:
To introduce students to the complexity of software systems engineering and the use of models and appropriate management processes in the understanding and control of the professional analysis and development of such systems in the face of change.

Learning Outcomes:
On completion of the unit the students will be able to:
1. Explain the relationship between science and engineering;
2. Describe a range of approaches to Systems Engineering, their advantages and disadvantages, and select between them;
3. Investigate and capture a software systems engineering problem;
4. Apply appropriate techniques for the creation of models at many levels;
5. Progressively refine problem definitions from high to low level;
6. Explain the issues and practical implications of verification and validation, and be able to devise a test plan from a specification;
7. Design, conduct and analyse experiments and transfer these skills for the analysis of the behaviour of software systems;
8. Understand the constraints on project development - resources, legal, ethical and professional.

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


* Process:
- The concept of a system; socio-technical and computer technical systems.
- Software Process Models; Waterfall, Evolutionary, Iterative models (Incremental, Spiral). Introduction to agile methods (XP). Iteration in the software process.
- Project management; planning, scheduling and costing projects. Managing people. Capable groups and team management, communication and cohesion, capability maturity model. Management of external factors (e.g. Prince)
- Introduction to Quality management; product quality assurance and software process improvement
* Analysis and Specification
- System Specification; requirements gathering and domain analysis. Functional vs. non-functional requirements. The concept of a stakeholder. Interviews and surveys.
- Users and User Centred Design (UCD); Eason's taxonomy. Casual and formal Use Cases. Scenarios and tasks.
- Evidence and experimental method. Application to quality assurance. Relevant statistical techniques.
- Validation and Verification; test first development, and experimental design. Code reviews. Testing; testing plans, unit and system level testing, testing metrics. System integration and regression testing, configuration management and version control.
* Modelling and Design
- Architectural Design; High level structural design. Horizontal system designs (repository, client/server, layered systems). Vertical system designs (batch processing, transaction/event processing systems). Control flow (call hierarchy, polling, interrupts).
- Object Oriented (OO) Design; models, representations and abstractions. OO abstraction techniques (incl. CRC cards, scenarios, textual analysis). UML; class diagrams, state machine models, use cases and sequence diagrams.
- Software Re-use; Refactoring. Common OO Design patterns. Open source and licensing.
* Professionalism and ethics
- Codes of conduct; ACM/IEEE code of ethics, BCS code of conduct.
- UK IT legislative framework; Introduction to and overview of Data protection act (DPA), Freedom of information act (FIA), Computer Misuse Act (CMA), Regulation of Investigatory Powers Act (RIPA).
Further information on programme availabilityProgramme availability:

CM10193 is Compulsory on the following programmes:

Department of Computer Science
  • USCM-AFB11 : BSc (hons) Computer Information Systems (Full-time) - Year 1
  • USCM-AKB12 : BSc (hons) Computer Information Systems (Full-time with Thick Sandwich Placement) - Year 1
  • USCM-AAB12 : BSc (hons) Computer Information Systems with Study Year Abroad (Full-time with Study Year Abroad) - Year 1
  • USCM-AFB06 : BSc (hons) Computer Science (Full-time) - Year 1
  • USCM-AKB07 : BSc (hons) Computer Science (Full-time with Thick Sandwich Placement) - Year 1
  • USCM-AFB09 : BSc (hons) Computer Science with Business (Full-time) - Year 1
  • USCM-AKB10 : BSc (hons) Computer Science with Business (Full-time with Thick Sandwich Placement) - Year 1
  • USCM-AAB10 : BSc (hons) Computer Science with Business with Study Year Abroad (Full-time with Study Year Abroad) - Year 1
  • USCM-AAB07 : BSc (hons) Computer Science with Study Year Abroad (Full-time with Study Year Abroad) - Year 1
  • USCM-AFM01 : MComp (hons) Computer Science (Full-time) - Year 1
  • USCM-AKM02 : MComp (hons) Computer Science (Full-time with Thick Sandwich Placement) - Year 1
  • USCM-AAM02 : MComp (hons) Computer Science with Study Year Abroad (Full-time with Study Year Abroad) - Year 1
Department of Electronic & Electrical Engineering
  • UEEE-AFB13 : BEng (hons) Computer Systems Engineering (Full-time) - Year 2
  • UEEE-AKB13 : BEng (hons) Computer Systems Engineering (Full-time with Thick Sandwich Placement) - Year 2
  • UEEE-AFM13 : MEng (hons) Computer Systems Engineering (Full-time) - Year 2
  • UEEE-AKM13 : MEng (hons) Computer Systems Engineering (Full-time with Thick Sandwich Placement) - Year 2

* 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.