The goal of Software Engineering is the construction of complex, maintainable software at reasonable cost. Software engineering applies both computer science and engineering principles and best practices to the design, implementation, testing, maintenance and evolution of software. Today, software engineering, as a discipline, is a cornerstone of the information technology sector and a significant factor in our economy. This course covers not only the technical and practical aspects of building and testing software systems, but also management issues. The course describes the general methods for software design, specification and testing. The course includes also additional topics related with the design for change, configuration management, and software tools.
Main issues of the syllabus content:
- Software Life Cycle and Software Development Processes
- Formal specifications
- Project Management
- Interaction Styles (User interface design)
- Architectural Design
- Testing and Other Verification Methods
- Software change strategies
- Distributed Software Engineering etc.