Main course content
- overview of software development methodologies and their suitability for different types of projects,
- agile software development methodologies,
- planning and time estimation techniques and tools,
- requirements engineering and requirements management,
- architectures and design patterns,
- modelling with UML,
- implementation,
- testing (unit testing, system testing, user testing) and quality,
- refactoring, clean code and code smells,
- version control,
- documentation,
- maintenance,
- meeting techniques,
- communication with clients and users,
- finance and personnel for development work,
- ethical guidelines for software developers (e.g. ACM/IEEE),
- examples from local software companies, and
- agile implementation of development projects in a larger project team, with practical application of theory and methods.
overview of software development methodologies and their suitability for different types of projects,
The course covers the following elements:
Project
The project aims to develop a program that includes a three-dimensional atlas of space. The programme's universe consists only of stars located at a distance of 10 parsecs from the Sun and thus centred on it. As a user, one should be able to look out and travel around from one star to another but also be able to land on a star and thus observe space from a fixed point.
The program has two types of users: one is guest users who use the program for educational purposes. They can study stars by reading their information in the database and also locate and view them in the 3D world. The other are administrators, and they can modify the database to add,edit or delete stars. As an administrator, you need a login to access the admin functions.