Special Topics: Model-Based Software Engineering
As systems continue to grow in complexity, models and modeling tools are required to develop these systems efficiently, ensure they meet their requirements, and that they can be trusted (e.g., are safe, secure, reliable). Modeling and modeling tools enable continuous automated analysis providing early identification of defects in the requirements, architecture and design. Model-based tool chains enable generation of artifacts such as code, tests and documentation.
The course explores model-based engineering theory, disciplines, principles, techniques, and tools, using a system lifecycle perspective. It is a hands-on, project--based, course with supporting lectures and readings. Students will build and use models and tools to test and build portions of systems.
Prerequisites: the course makes no assumption about prior modeling experience. It does assume a fundamental knowledge of software engineering, system lifecycles, and software development.
- Subject mastery at the level of SSW 540 Fundamentals of Software Engineering is required.
The objective of this course is to provide the necessary knowledge, skills, and experience, in order for students to be able to:
- Create and use models to build and verify systems using a variety of tools and techniques
- Understand model-based software engineering in enough depth and breadth so as to be able to understand how best to apply for a given system