This course introduces students to the discipline of software engineering within the broad context of simulation systems and synthetic environments.
The course includes:
Software Engineering Foundations (15 lectures)
Introduction to Software Engineering; Life-cycle Modelling; Requirements Analysis and Statement; Design Techniques; Specification Notations; Introduction to Formal Methods; Reliability, Verification & Validation; Testing Principles; Practical Software Testing; Methods & Tools; Software Maintenance; Software Reuse; Project Planning and Control; Cost Estimating; Q/A & Configuration Management.
Deepening Topics:
Object-oriented Analysis & Design using UML (8 lectures/practicals)
Verification, Validation & Accreditation of Synthetic Environments (4
lectures)
In addition to the above programmed lectures/practicals, there will be four periods of discussion covering an additional area of software engineering of topical interest, and two weeks of unsupervised practical assignment work.