Study-Unit Description

Study-Unit Description


CODE CPS2002

 
TITLE Software Engineering

 
UM LEVEL 02 - Years 2, 3 in Modular Undergraduate Course

 
MQF LEVEL 5

 
ECTS CREDITS 5

 
DEPARTMENT Computer Science

 
DESCRIPTION This course introduces students to concepts and techniques involved in the engineering of complex software systems in a professional setting. The course begins with an introduction to software engineering and the notion of software quality and how the modern software development context makes it a difficult goal to achieve. The study-unit will be framed in the context of constructing a professional delivery pipeline starting from test driving development practices on developers’ machines; collaboration via industry-standard source control strategies; on to continuous integration servers in the cloud; and culminating in achieving continuous delivery capabilities via infrastructure-as-code.

As the students proceed through the framing discussed above, we will delve into all stages of software development processes (requirements, design, implementation, testing, maintenance), how they can be organised in different ways, and their implications on the software delivery pipeline.

Whilst the course delves into academic discussion of alternative design decisions at each stage of the engineering process, its main goal is to equip students with the practical skillset required to function in a modern dynamic team-based software engineering environment.

Study-Unit Aims:

This unit aims to familiarise students with concepts and skills which will ultimately help them to function effectively as members of professional teams entrusted with the development of complex software systems.

The multi-faceted and subjective nature of software quality renders this imperative knowledge for any modern-day aspiring software engineer.

Learning Outcomes:

1. Knowledge & Understanding

By the end of the study-unit the student will be able to understand the the notion of software quality and how quality can be built into software systems throughout a development life cycle rather than being added on at the end. Whilst understanding individual software development activities from specification through to testing, deployment and maintenance, students will also be able to discuss the characteristics of various software development life cycles as well as understand which life cycles to deploy depending on a particular context. Finally, students will have an in-depth knowledge of system design concepts through design patterns and UML.

2. Skills
By the end of the study-unit the student will be able to:

- Elicit and critically analyse requirements from users;
- Given project requirements, design an appropriate development process;
- Design and implement a delivery pipeline guided by automated tests;
- Develop a non-trivial system using test-driven development;
- Design, implement and deploy infrastructure using infrastructure-as-code-principles;
- Design and implement measurement programmes in the context of software development.

Main Text/s and any supplementary readings:

Main Texts:

- Beck, K. (2022). Test driven development: By example. Addison-Wesley Professional.
- Farley, D. (2021) Continuous Delivery Pipelines: How To Build Better Software, Independently Published.

 
ADDITIONAL NOTES Students taking this study-unit are assumed to have knowledge of the material covered in the following study-units:
- CPS1000 or CPS1011;
- CPS2004.

 
STUDY-UNIT TYPE Lecture and Independent Study

 
METHOD OF ASSESSMENT
Assessment Component/s Sept. Asst Session Weighting
Assignment Yes 100%

 
LECTURER/S Mark Micallef (Co-ord.)

 

 
The University makes every effort to ensure that the published Courses Plans, Programmes of Study and Study-Unit information are complete and up-to-date at the time of publication. The University reserves the right to make changes in case errors are detected after publication.
The availability of optional units may be subject to timetabling constraints.
Units not attracting a sufficient number of registrations may be withdrawn without notice.
It should be noted that all the information in the description above applies to study-units available during the academic year 2024/5. It may be subject to change in subsequent years.

https://www.um.edu.mt/course/studyunit