The objective of the module is to convey the development and maintainance of large scale software systems. The complete software developing process including requirements collection, software architecture and quality control is observed. The basics of object oriented modelling and software development are enhanced. Professional competence
The students:
comprehend the different developmental phases of software (especially requirements engineering, software design, software implementation and quality control)
name the tasks of each phase
select appropriate methodical utilities
select suitable methods and utilities for each project phase
understand the advantages of the modelling process with UML
model moderate tasks in UML
understand and develop solutions for given problems by means of development environments
Methodological competence
The students:
structure, document and evaluate problems and solutions with the tools of object oriented modelling
apply methods and techniques of object oriented modelling purposefully
Social competence
The students:
create, present and discuss solutions with modelling techniques -
present and solve modelling problems in teams
Self-competence
The students: reflect their problem-solving behaviour with regard to the capabilities of software technology
Module contents
The module introduces fundamental terms and concepts in software engineering.
This includes:
need for software engineering
activities and process-models in software development
object-oriented modelling, meta modelling
Interdependencies between code and models
requirements elicitation
definition of software architectures
application of software patterns
software quality management
software maintenance, evolution and operation Software engineering tools are presented and applied in practical exercises.
Recommended reading
Slide script for the lecture
Ian Sommerville: Software Engineering, Addison-Wesley Longman, Amsterdam, 10. Ed. 2012