DD1363 Software Engineering - Course Objectives.

The aim of the course is to assist the student in understanding the basic theory of software engineering, and to apply these basic theoretical principles to a group software development project.

This understanding means that after the course you should be able to:

  1. Perform background research and a feasibility study prior to embarking on a development project.

  2. You should be able to apply the waterfall software development lifecycle model to a development project. This includes developing a project plan, according to the workflow defined by the waterfall model, and making a simple schedule and resource allocation model. You should be able to structure this information in a Project Planning Document (PPD)

  3. You should know how and when to adapt or replace the waterfall lifecycle model by other alternatives, including user-centred development and iterative lifecycle models.

  4. You should be able to collect and analyse user requirements using a formalism such as UML, including business process modeling. You should be able to perform a simple risk assessment for a development project. You should be able to structure this information in a User Requirements Document (URD).

  5. You should be able to translate end-user requirements into system and software requirements, using e.g. UML. You should be able to structure these in a Software Requirements Document (SRD).

  6. You should be able to identify and apply appropriate software architectures and patterns to carry out high level design of a system. You should be able to critically compare alternative choices. You should be able to structure this information in an Architectural Design Document (ADD).

  7. You should be able to work in a team to implement a project plan, URD, SRD and ADD, by developing detailed designs and code. You should have experience and/or awareness of testing problems. You should be able to develop a simple testing report, and a simple Systems User Manual (SUM). You should be able to reflect on the outcome of a project and present your reflections in a verbal report.

  8. You should be able to conduct individual and detailed research into a topic covered by the course in the field of software engineering. You should be able to search appropriate literature including research publications, industrial newspapers and articles, and internet resources. You should be able to summarise your findings in a clear and critical manner, according to the guidelines for a term paper. You should be able to comment on past developments, the current state of the art, and future issues. You should be able to relate your findings to other IT courses which you have taken.