Agile Incremental Modeling (AIM) with UML combines Agile development practices with formal model driven development, empowering teams to incrementally capture requirements, analyze, design and talk about flexible system architectures. This saves a lot of time and money not only in later stages of a project but right from the beginning.
Continue reading or view the Agile Incremental Modeling with UML syllbus.
In this course we will discuss how to:
- Define in an agile way detailed system requirements.
- Propose a detailed implementation independent solution to those requirements
- Craft a layered, component based architecture that maximizes maintainability, re-use and extensibility of the resulting code.
Special focus is set on presenting a well defined process that seamlessly translates requirements into a flexible layered, component based architecture.
The primary goals of this course are:
- To acquire enough competence in the UML for talking about requirements, solution approaches and SW architecture.
- To understand the main design and architecture principles of good OO design.
- To gain enough competence in OO requirements capture, analysis and design to tackle on your own a complete OO project.
The course is meant for software engineers, experienced programmers and system analysts.
Some experience in software engineering or system analysis is a must. The course doesn't require (but highly recommends) knowledge of an OO language and doesn't concentrate on a specific one.
During the first day, the fundamental concepts of the object paradigm and requirements capture are presented.
During the second day the UML diagrams needed for analysis are presented.
During the third day the process of transforming functional requirements into an implementation free conceptual solution is presented. The required detail (Agility) of the analysis model is discussed.
Use Case Analysis
During the fourth day the UML diagrams and elements needed for representing system architecture are presented.
On the fifth day the process of designing flexible system architecture is presented.
Focus is given to the required detail (Agility) of the design in order to effectively transition to implementation.
We can demonstrate a variety of CASE tools (Rhapsody, Enterprise Architect and more). However we do not recommend using them for the exercises as the details of driving them distracts from the main focus and they do not promote team working in the class.
We strongly recommend extending the course by 2 days in order to apply the theory in practice by tackling a real life project of your choice or through a provided sample project.