As modern systems become more complex and software-intensive, model-based software engineering is becoming imperative. Likewise, agile development methods, including test-driven-development and continuous integration, are now considered best practice in most projects. This tutorial will describe how to combine the two best practices, achieving agile model-driven development.
UML is widely accepted as a software modeling language, however to be agile, developers need to transform models into code automatically and also manage models as easily as they manage code written in programming languages. Most existing modeling tools have problems related to usability, and don’t integrate well with toolchains used in agile development.
This tutorial introduces Umple, a tool suite that unifies modeling and programming. It facilitates agile model-driven development by embedding a highly usable textual format for UML models in code, and vice-versa. It includes automatic and comprehensive code-generation in Java, C++ and other languages, automated UML diagram drawing, analysis of models to find errors, interoperability with various toolchains, test-driven development of models, and many other features. Practitioners can adopt Umple for their whole project or in small tasks such as adding event-driven capabilities. They can use Umple to reverse engineer their existing systems to better understand em.
This tutorial will be interactive: We will walk practitioners through all the features of Umple and show practitioners various use cases. We will also help practitioners learn how to adopt agile practices to evolve their models, such as test-driven development, continuous integration and deployment using Docker.
About 20% of the time will be devoted to hands-on exercises. Participants should ideally have their own laptop. Installing Docker in advance of the session would be useful.
Learning outcomes
At the completion of this workshop, attendees should be able to:
08:45-09:00 |
Welcome |
09:00-09:15 |
Opening |
09:15-10:00 |
(A) Background: Model-driven development and UML: Why UML is not being used to its potential, and what can be done about this. Over view of agile methods |
10:00-11:00 |
(B) Overview of the capabilities of Umple: • State machines. Hands-on exercise. • Separation of concerns: Mixins, traits and aspects • Concurrency. Hands-on exercise. |
11:00-11:15 |
Coffee Break |
11:15-11:45 |
(C) Overview of the capabilities of Umple: • Templates for generating text and user interfaces in Umple. • Additional hands-on exercise. |
11:45-13:00 |
(D) Case studies - The design of systems using Umple: • Real-time systems in Umple: A digital watch; an elevator. • Data processing systems in Umple: An exam scheduling system. • Umple as written in itself. |
13:00-14:00 |
Lunch Break |
14:00-14:45 |
(E) The Design of Umple Umple as written in itself |
14:45-16:00 |
(F) Tasks and use cases for the practitioner: • Umple as an easy-to-use drawing tool for UML. • Generating end embedding code in multiple programming languages • Code analysis to find defects: native analysis and formal methods generation. Hands-on exercise. • Connecting Umple to other technologies, including other UML tools • Using Umple to maintain automatically-updated live diagrams of code |
16:00-16:15 |
Refreshments |
16:15-17:00 |
(G) Tasks for the practitioner, continued • Umplification: Converting existing software to Umple. Hands-on exercise. • Using Umple in conjunction with developer tools for testing, and continuous integration. |
17:00-17:15 |
(H) Making the case for Umple and agile model-driven development to management |
17:15-17:30 |
(I) Conclusion |
מחירים ללא מע"מ | קהל רחב | חברי אילטם |
מחיר | 600 ש"ח | 450 ש"ח |
הרשמה מראש חובה !!! דמי ההשתתפות כוללים: השתתפות בסדנא, תקציר ההרצאות, כיבוד וארוחות צהריים.
ביטול השתתפות אחרי 14.02.2018 ו/או אי הגעה ביום המפגש יחויב בתשלום מלא.
הפעילות בוצעה ב - 21/02/2018
קהל רחב | חברי INCOSE_IL | |
מחיר (לפני מע"מ) | חינם | חינם |