Software Engineering 1
Overall Course Objectives
To give students an introduction to software development. To give students skills concerning the solution of a small software development problem, spanning from the problem statement to the implementation and use of the concrete software product.
See course description in Danish
Learning Objectives
- establish a requirements specification in the form of use case descriptions on the basis of a given problem statement.
- apply the class and sequence diagrams of UML in order to describe a program design.
- plan a functional test on the basis of a given requirements specification.
- plan a structural test on the basis of a given program.
- complete a small software project and produce a technical documentation, so that important concepts of the problem statement are tracable in the implementation.
- present their results and analyses in a succinct manner.
- explain typical phases and roles in a software development process.
- complete problem, design, and implementation-oriented analyses and explain pros and cons for alternative solutions.
- use concepts from design-by-contract in connection with the documentation of a program.
- use program libraries in connection with the development of programs.
- use some design patterns.
Course Content
Softwaredevelopment, comprising the typical phases in the development and different roles in development teams and agile processes.
Software documentation, comprising analysis of problem statement, requirements specification, software design, test and implementation. For this purpose, parts of UML is introduced, e.g. use cases, class diagrams and sequence diagrams.
A development environment will be used.
Recommended prerequisites
02100/02101, Basic Java programming skills
Teaching Method
Lectures and project work, where teams of students must collaborate
in the development of a software system.