|Module Title||THE SOFTWARE DEVELOPMENT LIFE CYCLE|
|Co-ordinator||Professor Christopher J Price|
|Semester||Semester 2 (Taught over 2 semesters)|
|Other staff||Mr David J Smith, Mr Rhys Parry, Professor Christopher J Price|
|Mutually Exclusive||CS22420, CC22120|
|Other||Workshop. Up to 24|
In addition, on successful completion of this module, students should be able to:
2. apply the elements of the software life cycles, contrast a range of life cycle models and choose appropriate models for a range of typical projects; (A2)
3. be able to apply software quality procedures and convince others of their value; (A1, A2)
4. be able to use version and configuration management and convince others of their value; (A1, A2)
5. produce the key deliverables in software life cycles. (A1)
Long thin module. No lectures in Semester 2
The general tutorial system for Year 2 honours students on schemes other than AI and Vision, Graphics and Games is administered through this module.
2. The Software Life Cycle - 3 Lectures
Description of the phases of a range of software life cycles (including the Waterfall, Prototyping, Extreme Programming and Spiral models) and the major deliverables and activities associated with each phase. Software process improvement.
3. Project Management - 2 Lectures
Planning and cost estimation. Progress monitoring. Team structure and team management.
4. Quality Management - 2 Lectures
Validation, verification and testing. Quality plans. Walkthroughs, code inspections and other types of review. Role of the quality assurance group. Standards (international, national and local).
5. Configuration Management - 2 Lectures
Baselines. Change control procedures. Version control. Software tools to support configuration management.
6. Requirements Engineering and HCI - 2 Lectures
The IEEE standard for requirements specifications. Validation of requirement by e.g., prototyping. Deficiencies in the traditional approach to requirements. Introduction to UML Use cases. An introduction to HCI.
7. Design - 2 Lectures
Outline (architectural) design and detailed design. Use of abstraction, information hiding, functional and hierarchical decomposition at levels higher then the individual program. Contents of design documentation. State diagrams. Relevant UML notations: packages, sequence and activity diagrams, active objects.
8. Implementation and maintenance - 2 Lectures
Choice of language. Cutover. Types of maintenance. Maintenance process. Refactoring.
9. Testing - 2 Lectures
Testing strategies. Testing tools: static and dynamic analysers, test harnesses and test data generators, simulators. Performance testing. Regression testing. User documentation and training.
A weekly tutorial will be associated with this course. The tutorial will be used to organise group project activities and to discuss software engineering issues.
|Problem solving||This is inherent in both the group project and examined material.|
|Research skills||The students will need to search for and use relevant technical information while completing coursework.|
|Communication||Written skills will be needed to complete supporting documents to accompany coursework.|
|Improving own Learning and Performance||See 2 above.|
|Team work||Yes. Fundamental to module.|
|Information Technology||The whole module concerns this area.|
|Application of Number||No.|
|Personal Development and Career planning||Carefully time management will be needed as so to enable students to complete coursework etc.|
|Subject Specific Skills||Yes. See module title and content.|
This module is at CQFW Level 5