Introduces important concepts such as software processes and agile methods, and describe essential software development activities, from initial software specification through to system evolution. It is designed to support a one-semester course in software engineering that introduces:
- professional software engineering and defines some software engineering concepts, software engineering processes and agile development,
- the critically important topic of requirements engineering where the requirements for what a system should do are defined.
- Introduces system modeling using the UML where It focus on the use of use case diagrams, class diagrams, sequence diagrams, and state diagrams for modeling a software system,
- introduces object-oriented design and the use of design patterns, focuses on software testing from unit testing during system development to the testing of software releases and
- presents an overview of software evolution issues, processes, software maintenance, and legacy system management.
- Teacher: Joanna Victoria Saga