- Software myths
- Software engineering and its place as an engineering discipline
- Life cycle of software system: requirement analysis, development, operation and maintenance.
- Software metrics: portability, re-usability, correctness, reliability, efficiency, usability, integrity, maintainability and flexibility.
- Product and process, software myth, development of test plans, test cases, testing techniques.
- Software quality and testing.
- Software architecture: architecture description, languages, pattern-oriented software architecture, component-based development, distributed software architecture using middleware, enterprise application integration, architecture for mobile and pervasive systems and model driven architecture.
- Advanced modelling: UML, extension mechanisms, object constraint language and model checking.
- Software project management