MODULE-1: Professional Software Development, Software Engineering EthiCS, Software Processes, Software Process Models, Process Activities, Coping with Change, Agile Software Development, Agile Methods, Plan-Driven and Agile Development, Extreme Programming, Agile Project Management, Scaling Agile Methods.
MODULE-2: Requirements Engineering, Functional and Non-Functional Requirements, The Software Requirements Document, Requirements Specification, Requirements Engineering Processes, Requirements Elicitation and Analysis, Requirements Validation, Requirements Management, System Modelling, Context Models, Interaction Models, Structural Models, Behavioural Models, Model-Driven Engineering, Architectural Design, Architectural Design Decisions, Architectural Views, Architectural Patterns, Application Architectures.
MODULE-3: Design and Implementation: Object-Oriented Design using the UML, Design Patterns, Implementation Issues, Open Source Development, Software Testing: Development Testing, Test-Driven Development, Release Testing, User Testing, Software Evolution: Evolution Processes, Program Evolution DynamiCSA, Software Maintenance, Legacy System Management, Dependability and Security.
MODULE-4: Socio-technical Systems: Complex Systems, Systems Engineering, System Procurement, System Development, System Operation. Dependability and Security:Dependability Properties, Availability and Reliability, Safety, Security. Dependability and Security Specification: Risk-Driven Requirements, Specification, Safety Specification, Reliability Specification, Security Specification, Formal Specification.
MODULE-5: Dependability Engineering: Redundancy and Diversity, Dependable Processes, Dependable Systems Architectures, Dependable Programming. Security Engineering: Security Risk Management, Design for Security, System Survivability. Dependability and Security Assurance: Static Analysis, Reliability Testing, Security Testing, Process Assurance, Safety and Dependability Cases.