This discipline consists of the study of the main concepts and approaches of software engineering. The practical part consists of the realization of a group work that applies the approaches learned to case studies to consolidate the theoretical knowledge. In summary, the objectives of this discipline consists of:
Knowledge:
Application:
1. Motivation to Software Engineering
1.1 Principles and objectives of Software Engineering
1.2 Concepts, software activities, professional ethics
2. Software process models
2.1 Traditional software life cycle models (waterfall, iterative and incremental, spiral)
2.2. Agile development
3. Software management
3.1 Estimation costs
3.2 Managing people
3.3 Risk management
4. Business process modelling
4.1 Enterprise modeling
4.2 Modeling business processes with BPMN (Business Process Modeling Notation)
4. Requirements
4.1 Concepts and activities of requirements engineering
4.2 Requirements models (e.g. KAOS)
5. Software architecture and design
5.1 Introduction to architectural design
5.2 From requirements to design
5.3 User design interface
6. Variability Management: software product lines
6.1 Concepts (commonalities and variabilities, planned reuse, configuration and derivation)
6.2 Domain engineering
6.3 Application engineering
6.4 Variability modeling
7. Software quality
7.1 Maturity models (PSP, TSP, CMMI)
7.2 V&V concepts
7.3 Prototyping
8. Software evolution
8.1 Software aging
8.2 Software change
8.3 Configuration management
Methods of software development
Hours per credit | 28 | ||
Hours per week | Weeks | Hours | |
Total hours | 0 | ||
ECTS | 6.0 |