Software Engineering

Cod y Modiwl
CS22120
Teitl y Modiwl
Software Engineering
Blwyddyn Academaidd
2025/2026
Semester
Semester 2
Cyd-gysylltydd y Modiwl
Dr Neal Snooke
Rhestr Ddarllen
Gweld ar Aspire
Anghymharus (Unrhyw Flwyddyn Acad)
CC22120
Anghymharus (Unrhyw Flwyddyn Acad)
CS22220
Staff Eraill sy'n Cyfrannu
Dr Andy Starr
Mr Richard Shipman
Dr Patricia Shaw
Dr Wayne Aubrey
Dr Yasir Saleem Shaikh
Mr Aron Owen
Dr Muhammad Aslam
Mr Neil Taylor

Dulliau Asesu

Math o Asesiad

Manylion Asesiad

Cyfran

Asesiad Semester Group project: 140 Awr 75%
Arholiad Semester Exam: 2 Awr 25%
Asesiad Ailsefyll Not available: There is no External or Supplementary Resit available for this part of the module - the mark for this component will be carried forward. 75%
Arholiad Ailsefyll Exam: 2 Awr 25%

Canlyniadau Dysgu

Wedi cwblhau'r modiwl dylai'r myfyrwyr fedru:

  1. Participate in an industrial scale project.
  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.
  3. Apply software quality procedures and convince others of their value.
  4. Use version and configuration management and convince others of their value.
  5. Produce the key deliverables in software life cycles.
  6. Evaluate ethical situations and make professional judgements on them.
  7. Demonstrate an in-depth knowledge of the practices and process that comprise at least one agile methodology.

Disgrifiad cryno

The aim of this module is to give students a strong foundation in software engineering that will inform their software development practice and prepare them to work in the software industry.

Students are introduced to both plan-driven practices and agile practices for the specification, design, implementation, testing and operation of software systems. A comparison is made between plan-driven and agile practices.

The practical work on the module is a group project, where a group of students work together to produce a defined product. The group will follow standards like those that might be experienced working in industry.

Cynnwys

1. Introduction to software engineering
Why software needs to be engineered. The approach and the obligations of the professional engineer. Software engineering failures and what we can learn from them.

2. The Software Life Cycle
Description of the phases of a range of software life cycles (including the Waterfall lifecycle, Prototyping, Agile development and the Spiral model) and the major deliverables and activities associated with each phase.

3. Project Management
Planning and cost estimation. Progress monitoring. Team structure and team management.

4. Quality Management
How do we make quality software. Quality plans. Walkthroughs, code inspections and other types of review. Role of the quality assurance group. Standards (international, national and local). Software process improvement.

5. Configuration Management
Baselines. Change control procedures. Version control. Software tools to support configuration management.

6. Requirements engineering and HCI
Obtaining and documenting system requirements. 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
Outline (architectural) design and detailed design. Use of abstraction, information hiding, functional and hierarchical decomposition at levels higher than the individual program. Contents of design documentation. State diagrams. Relevant UML notations: packages, sequence and activity diagrams, active objects.

8. Maintenance
Types of maintenance. Maintenance process. Refactoring.

9. Testing
Testing strategies. Testing tools: static and dynamic analysers, test harnesses and test data generators, simulators. Performance testing. Regression testing. User documentation and training.

10. Ethical issues
Difficult ethical issues. Examples of ethical dilemmas for software engineers. Evaluating ethical issues and developing decision skills for difficult situations.

11. Seminars
Looking at Agile Manifesto and example methodologies and their practices, e.g. XP and Scrum. Discussion of requirements, design, planning, customer interaction and managing change in an agile context, and how these compare to traditional approaches. Application of an agile approach in the group project.

12. Tutorials
A weekly tutorial used to organise group project activities and to discuss software engineering issues.

13. Acceptance testing events
The project customer or their proxy will meet with every group on N occasions to undertake acceptance testing of a specified sets of agile stories. These events may be held during the tutorials.

Sgiliau Modiwl

Math o Sgiliau

Manylion Sgiliau

Cyfathrebu Written skills will be needed to complete supporting documents to accompany coursework.
Datblygu personol a chynllunio gyrfa Careful time management will be needed as so to enable students to complete coursework etc.
Datrys Problemau This is inherent in both the group project and examined material.
Gwaith Tim Yes. Fundamental to module.
Gwella dysgu a pherfformiad ei hun Students are required to engage in self study. Completing the group project requires improvements in application design and development. Both the group project and the exam require understanding of challenging concepts.
Sgiliau pwnc penodol Yes. See module title and content.
Sgiliau ymchwil The students will need to search for and use relevant technical information while completing coursework.
Technoleg Gwybodaeth The whole module concerns this area.

Nodau

Mae'r modiwl hwn yn cydymffurfio a FfCChC Lefel 5