מפגש

When Agile and Modeling Meet Practical Model-Based Programmingחינם

מרצה‐ Timothy C. Lethbridge
 21/02/2018

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:

  • Understand model-driven development and agile development.
  • Using Umple, develop UML diagrams that can be integrated with code.
  • Build real systems that include models written in Umple combined with traditional code.
  • Analyse models to find defects.
  • Convert existing Java code to use Umple, reducing its code volume, and increasing its maintainability.
  • Combine model-driven development with agile practices including test driven development and continuous integration.

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:
• Class models (as diagrams and in textual form). Hands-on exercise.

• 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:
• Patterns.

• 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
מחיר (לפני מע"מ) חינם חינם