56
Course 4 – 29 October 2012 Adrian Iftene [email protected]

Course 4 29 October 2012 Adrian Iftene [email protected] · 2012-10-28 · IBM Rational Rose Modeler 4 . 5 ... 11 Why model ... 10/28/2012 4:37:38 PM

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Course 4 29 October 2012 Adrian Iftene adiftene@info.uaic · 2012-10-28 · IBM Rational Rose Modeler 4 . 5 ... 11 Why model ... 10/28/2012 4:37:38 PM

Course 4 – 29 October 2012

Adrian Iftene [email protected]

Page 2: Course 4 29 October 2012 Adrian Iftene adiftene@info.uaic · 2012-10-28 · IBM Rational Rose Modeler 4 . 5 ... 11 Why model ... 10/28/2012 4:37:38 PM

2

They will not be considered in the maximum values of the laboratory

The presentation of the context and of these solutions in the course can double score for the problem considered optional

The goal is to make at every course "devil meetings" in which to present your work to the optional problems, and colleagues to try to identify weaknesses and to criticize them

Following these sessions presenters will see other points of view, and listeners can "steal" ideas to use in their projects

Page 3: Course 4 29 October 2012 Adrian Iftene adiftene@info.uaic · 2012-10-28 · IBM Rational Rose Modeler 4 . 5 ... 11 Why model ... 10/28/2012 4:37:38 PM

3

Scoring for these presentations can be considered in the account of the research component

Those interested to do a presentation will contact me, will give a presentation of 10-15 slides that will be give in advance to colleagues to be analyzed

Page 4: Course 4 29 October 2012 Adrian Iftene adiftene@info.uaic · 2012-10-28 · IBM Rational Rose Modeler 4 . 5 ... 11 Why model ... 10/28/2012 4:37:38 PM

Recapitulation courses 1, 2 ◦ SCM

◦ MDD (MDA, AMDD)

◦ TDD

◦ DSL (EMF)

Modeling ◦ EMF

◦ IBM Rational Rose Modeler

4

Page 5: Course 4 29 October 2012 Adrian Iftene adiftene@info.uaic · 2012-10-28 · IBM Rational Rose Modeler 4 . 5 ... 11 Why model ... 10/28/2012 4:37:38 PM

5

Page 6: Course 4 29 October 2012 Adrian Iftene adiftene@info.uaic · 2012-10-28 · IBM Rational Rose Modeler 4 . 5 ... 11 Why model ... 10/28/2012 4:37:38 PM

PIM – platform independent model

DSL – domain specific language

PSM – platform specific model

6

Page 7: Course 4 29 October 2012 Adrian Iftene adiftene@info.uaic · 2012-10-28 · IBM Rational Rose Modeler 4 . 5 ... 11 Why model ... 10/28/2012 4:37:38 PM

7

Page 8: Course 4 29 October 2012 Adrian Iftene adiftene@info.uaic · 2012-10-28 · IBM Rational Rose Modeler 4 . 5 ... 11 Why model ... 10/28/2012 4:37:38 PM

8

Page 9: Course 4 29 October 2012 Adrian Iftene adiftene@info.uaic · 2012-10-28 · IBM Rational Rose Modeler 4 . 5 ... 11 Why model ... 10/28/2012 4:37:38 PM

9

DSL – Domain specific language

Examples: Logo, YACC, SQL, XSLT, Media Wiki, LaTex, BibTex

EMF - Eclipse Modeling Framework

Page 10: Course 4 29 October 2012 Adrian Iftene adiftene@info.uaic · 2012-10-28 · IBM Rational Rose Modeler 4 . 5 ... 11 Why model ... 10/28/2012 4:37:38 PM

10

Who? ◦ Business analysts, engineers, scientists

What is modeling? ◦ A real item that is being built

◦ Scaled mock-ups of airplanes, houses or automobiles

◦ Business financials models, market trading simulations, electrical circuit diagrams

Why model? ◦ The answer has to do with the complexity, the risk and the fact

that original practitioners are not always appropriate or even available for completing the task

◦ While professional architects might build a doghouse without a design diagram, they would never construct a 15-story office building without first developing an array of architectural plans, diagrams and some type of a mock-up for visualization

Page 11: Course 4 29 October 2012 Adrian Iftene adiftene@info.uaic · 2012-10-28 · IBM Rational Rose Modeler 4 . 5 ... 11 Why model ... 10/28/2012 4:37:38 PM

11

Why model software? ◦ Today, software systems have become very complex

◦ They must be integrated with other systems

By modeling software, developers can: ◦ Create and communicate software designs before committing

additional resources

◦ Trace the design back to the requirements, helping to ensure that they are building the right system

◦ Practice iterative development, in which models and other higher levels of abstraction facilitate quick and frequent changes

Page 12: Course 4 29 October 2012 Adrian Iftene adiftene@info.uaic · 2012-10-28 · IBM Rational Rose Modeler 4 . 5 ... 11 Why model ... 10/28/2012 4:37:38 PM

12

To better understand the business or engineering situation at hand (“as-is” model) and to craft a better system (“to-be” model)

To build and design a system architecture

To create visualizations of code and other forms of implementation

Page 13: Course 4 29 October 2012 Adrian Iftene adiftene@info.uaic · 2012-10-28 · IBM Rational Rose Modeler 4 . 5 ... 11 Why model ... 10/28/2012 4:37:38 PM

13

IDEs can be considered an entry point into the practice of MDD

IDEs Tools are language-sensitive editors, wizards, form builders and other GUI controls are not “models” in the more strict sense of the term

They can raise the level of abstraction above source code, make developers more productive, help create more reliable code and enable a more effective maintenance process

Page 14: Course 4 29 October 2012 Adrian Iftene adiftene@info.uaic · 2012-10-28 · IBM Rational Rose Modeler 4 . 5 ... 11 Why model ... 10/28/2012 4:37:38 PM

14

The ability to visualize source code in graphical form

Developers have used graphical forms of abstraction above their code for many years:

◦ Flow charts

◦ Structure charts

◦ Simple block diagrams with arrows

◦ For object-oriented software, boxes typically denote classes and lines between boxes denote relationships

Such depictions do not constitute a “model”, but can be considered a platform-specific model (PSM)

Page 15: Course 4 29 October 2012 Adrian Iftene adiftene@info.uaic · 2012-10-28 · IBM Rational Rose Modeler 4 . 5 ... 11 Why model ... 10/28/2012 4:37:38 PM

15

Visual models are created from a methodological process that begins with requirements and delves into a high-level architectural design model

Developers then create a detailed design model from which skeletal code is generated to an IDE

The IDE is used to complete the detailed coding

Any changes made to the code that affect the design model are synchronized back into the model; any model changes are synchronized into the existing code

Page 16: Course 4 29 October 2012 Adrian Iftene adiftene@info.uaic · 2012-10-28 · IBM Rational Rose Modeler 4 . 5 ... 11 Why model ... 10/28/2012 4:37:38 PM

16

Modeling legacy systems does not necessarily mean that the entire system and all its components must be incorporated

Developers should understand the legacy systems’ architectures, how they work and how they interface with others

Methods: Developers can reverse engineer code into models to understand them, manually model them or use some combination thereof

Page 17: Course 4 29 October 2012 Adrian Iftene adiftene@info.uaic · 2012-10-28 · IBM Rational Rose Modeler 4 . 5 ... 11 Why model ... 10/28/2012 4:37:38 PM

17

The premise is simply to provide highly productive ways to generate and maintain code

RAD, distinct from both code-centric and model-driven development, raises the level of abstraction above the code, but does not use “models”

Page 18: Course 4 29 October 2012 Adrian Iftene adiftene@info.uaic · 2012-10-28 · IBM Rational Rose Modeler 4 . 5 ... 11 Why model ... 10/28/2012 4:37:38 PM

18

First analysts create “as-is” models of how their systems work today

After that, “to-be” models can be built to prescribe how new, improved processes should work

For some application domains, the “to-be” models are specified to such rigor that complete applications can be generated from the models

Page 19: Course 4 29 October 2012 Adrian Iftene adiftene@info.uaic · 2012-10-28 · IBM Rational Rose Modeler 4 . 5 ... 11 Why model ... 10/28/2012 4:37:38 PM

19

Beyond visual modeling - Meta-modeling is the discipline of having “models of models”

Unifying software, data and business modeling - through a combination of multiple, open industry standards that are converging

Modeling across the life cycle - modeling will become applicable to an even broader range of activities across the software development life cycle

Page 20: Course 4 29 October 2012 Adrian Iftene adiftene@info.uaic · 2012-10-28 · IBM Rational Rose Modeler 4 . 5 ... 11 Why model ... 10/28/2012 4:37:38 PM

20

Domain-specific modeling languages - to provide abstractions for specifying problems and solutions in a more productive and effective manner

The business of software development - With today’s technology, the software development has no geographical boundaries. The business of software development will likely continue to be distributed and global

Model-Driven Architecture (MDA) - the next logical step in the evolution of MDD

Page 21: Course 4 29 October 2012 Adrian Iftene adiftene@info.uaic · 2012-10-28 · IBM Rational Rose Modeler 4 . 5 ... 11 Why model ... 10/28/2012 4:37:38 PM

21

EMF is based on Ecore and Genmodel models

Ecore metamodel contains the information about the defined classes

Ecore model elements: ◦ EClass : represents a class (attributes and references)

◦ EAttribute : represents an attribute (name and a type)

◦ EReference : represents one end of an association between two classes

◦ EDataType : represents the type of an attribute, e.g. int, float or java.util.Date

Page 22: Course 4 29 October 2012 Adrian Iftene adiftene@info.uaic · 2012-10-28 · IBM Rational Rose Modeler 4 . 5 ... 11 Why model ... 10/28/2012 4:37:38 PM

22

Page 23: Course 4 29 October 2012 Adrian Iftene adiftene@info.uaic · 2012-10-28 · IBM Rational Rose Modeler 4 . 5 ... 11 Why model ... 10/28/2012 4:37:38 PM

23

Page 24: Course 4 29 October 2012 Adrian Iftene adiftene@info.uaic · 2012-10-28 · IBM Rational Rose Modeler 4 . 5 ... 11 Why model ... 10/28/2012 4:37:38 PM

24

Page 25: Course 4 29 October 2012 Adrian Iftene adiftene@info.uaic · 2012-10-28 · IBM Rational Rose Modeler 4 . 5 ... 11 Why model ... 10/28/2012 4:37:38 PM

25

Page 26: Course 4 29 October 2012 Adrian Iftene adiftene@info.uaic · 2012-10-28 · IBM Rational Rose Modeler 4 . 5 ... 11 Why model ... 10/28/2012 4:37:38 PM

26

Page 27: Course 4 29 October 2012 Adrian Iftene adiftene@info.uaic · 2012-10-28 · IBM Rational Rose Modeler 4 . 5 ... 11 Why model ... 10/28/2012 4:37:38 PM

27

Page 28: Course 4 29 October 2012 Adrian Iftene adiftene@info.uaic · 2012-10-28 · IBM Rational Rose Modeler 4 . 5 ... 11 Why model ... 10/28/2012 4:37:38 PM

28

Page 29: Course 4 29 October 2012 Adrian Iftene adiftene@info.uaic · 2012-10-28 · IBM Rational Rose Modeler 4 . 5 ... 11 Why model ... 10/28/2012 4:37:38 PM

29

Page 30: Course 4 29 October 2012 Adrian Iftene adiftene@info.uaic · 2012-10-28 · IBM Rational Rose Modeler 4 . 5 ... 11 Why model ... 10/28/2012 4:37:38 PM

30

Page 31: Course 4 29 October 2012 Adrian Iftene adiftene@info.uaic · 2012-10-28 · IBM Rational Rose Modeler 4 . 5 ... 11 Why model ... 10/28/2012 4:37:38 PM

31

Page 32: Course 4 29 October 2012 Adrian Iftene adiftene@info.uaic · 2012-10-28 · IBM Rational Rose Modeler 4 . 5 ... 11 Why model ... 10/28/2012 4:37:38 PM

32

Page 33: Course 4 29 October 2012 Adrian Iftene adiftene@info.uaic · 2012-10-28 · IBM Rational Rose Modeler 4 . 5 ... 11 Why model ... 10/28/2012 4:37:38 PM

33

Page 34: Course 4 29 October 2012 Adrian Iftene adiftene@info.uaic · 2012-10-28 · IBM Rational Rose Modeler 4 . 5 ... 11 Why model ... 10/28/2012 4:37:38 PM

34

Page 35: Course 4 29 October 2012 Adrian Iftene adiftene@info.uaic · 2012-10-28 · IBM Rational Rose Modeler 4 . 5 ... 11 Why model ... 10/28/2012 4:37:38 PM

35

Page 36: Course 4 29 October 2012 Adrian Iftene adiftene@info.uaic · 2012-10-28 · IBM Rational Rose Modeler 4 . 5 ... 11 Why model ... 10/28/2012 4:37:38 PM

36

Provides a common modeling language and environment for faster creation of quality software, it offers analysis patterns support based on GOF

Integrates with other IBM Rational lifecycle development tools, can integrate with any SCC-compliant version control system, including IBM Rational Clear Case and delivers Web publish models and reports to improve communication across the extended team

Page 37: Course 4 29 October 2012 Adrian Iftene adiftene@info.uaic · 2012-10-28 · IBM Rational Rose Modeler 4 . 5 ... 11 Why model ... 10/28/2012 4:37:38 PM

37

Modeling tool for analysts and software architects

IBM Rational Rose Data Modeler offers a sophisticated visual modeling environment for database application development

Accelerate your processes by connecting the database designers to the rest of the development team

Page 38: Course 4 29 October 2012 Adrian Iftene adiftene@info.uaic · 2012-10-28 · IBM Rational Rose Modeler 4 . 5 ... 11 Why model ... 10/28/2012 4:37:38 PM

38

We can see how the application accesses the database

Enables the creation of the models (object, data and data storage) and provides the ability to map logical and physical models

Supports round-trip engineering between the data model, object model and defined data language (DDL) file/database management system (DBMS)

Offers a data model-object model comparison wizard, supports forward engineering of an entire database at a time

Provides Web publish models and reports

OS: HP-UX, Solaris (Sun microsystems), Windows

Page 39: Course 4 29 October 2012 Adrian Iftene adiftene@info.uaic · 2012-10-28 · IBM Rational Rose Modeler 4 . 5 ... 11 Why model ... 10/28/2012 4:37:38 PM

39

Diagrams: Class, Component, Deployment, Sequence, Statechart, Use Case, Collaboration

Domains, Windows: UML 1.x

Model-Driven Development: Patterns

Team Support: Merge Changes, Repository / CM

Documentation / Reporting: SoDA Integration, Print Diagrams, Web Publishing and Report Generation

Modeling tool for analysts and software architects

Page 40: Course 4 29 October 2012 Adrian Iftene adiftene@info.uaic · 2012-10-28 · IBM Rational Rose Modeler 4 . 5 ... 11 Why model ... 10/28/2012 4:37:38 PM

40

Page 41: Course 4 29 October 2012 Adrian Iftene adiftene@info.uaic · 2012-10-28 · IBM Rational Rose Modeler 4 . 5 ... 11 Why model ... 10/28/2012 4:37:38 PM

41

Logical Data Model (Import, Modify) => Data Modeler: Database + Schema => Transform to Data Model => New Data Model Diagram

=> Forward Engineer =>

=> DDL file (tables, views, relations, etc.)

Page 42: Course 4 29 October 2012 Adrian Iftene adiftene@info.uaic · 2012-10-28 · IBM Rational Rose Modeler 4 . 5 ... 11 Why model ... 10/28/2012 4:37:38 PM

42

Page 43: Course 4 29 October 2012 Adrian Iftene adiftene@info.uaic · 2012-10-28 · IBM Rational Rose Modeler 4 . 5 ... 11 Why model ... 10/28/2012 4:37:38 PM

43

Page 44: Course 4 29 October 2012 Adrian Iftene adiftene@info.uaic · 2012-10-28 · IBM Rational Rose Modeler 4 . 5 ... 11 Why model ... 10/28/2012 4:37:38 PM

44

Page 45: Course 4 29 October 2012 Adrian Iftene adiftene@info.uaic · 2012-10-28 · IBM Rational Rose Modeler 4 . 5 ... 11 Why model ... 10/28/2012 4:37:38 PM

45

Page 46: Course 4 29 October 2012 Adrian Iftene adiftene@info.uaic · 2012-10-28 · IBM Rational Rose Modeler 4 . 5 ... 11 Why model ... 10/28/2012 4:37:38 PM

46

Select “Database” created at previous step

Page 47: Course 4 29 October 2012 Adrian Iftene adiftene@info.uaic · 2012-10-28 · IBM Rational Rose Modeler 4 . 5 ... 11 Why model ... 10/28/2012 4:37:38 PM

47

Page 48: Course 4 29 October 2012 Adrian Iftene adiftene@info.uaic · 2012-10-28 · IBM Rational Rose Modeler 4 . 5 ... 11 Why model ... 10/28/2012 4:37:38 PM

48

Page 49: Course 4 29 October 2012 Adrian Iftene adiftene@info.uaic · 2012-10-28 · IBM Rational Rose Modeler 4 . 5 ... 11 Why model ... 10/28/2012 4:37:38 PM

49

Page 50: Course 4 29 October 2012 Adrian Iftene adiftene@info.uaic · 2012-10-28 · IBM Rational Rose Modeler 4 . 5 ... 11 Why model ... 10/28/2012 4:37:38 PM

50

Page 51: Course 4 29 October 2012 Adrian Iftene adiftene@info.uaic · 2012-10-28 · IBM Rational Rose Modeler 4 . 5 ... 11 Why model ... 10/28/2012 4:37:38 PM

51

Page 52: Course 4 29 October 2012 Adrian Iftene adiftene@info.uaic · 2012-10-28 · IBM Rational Rose Modeler 4 . 5 ... 11 Why model ... 10/28/2012 4:37:38 PM

52

Page 53: Course 4 29 October 2012 Adrian Iftene adiftene@info.uaic · 2012-10-28 · IBM Rational Rose Modeler 4 . 5 ... 11 Why model ... 10/28/2012 4:37:38 PM

53

Use EMF (Ecore or Genmodel models) or IBM Rational Rose to create an model, and use it in a new project component related to your project theme

Page 54: Course 4 29 October 2012 Adrian Iftene adiftene@info.uaic · 2012-10-28 · IBM Rational Rose Modeler 4 . 5 ... 11 Why model ... 10/28/2012 4:37:38 PM

54

Eclipse Modeling Framework (EMF) – Tutorial http://www.vogella.de/articles/EclipseEMF/article.html

Discover the Eclipse Modeling Framework (EMF) and Its Dynamic Capabilities http://www.devx.com/Java/Article/29093

TDD: http://test.ical.ly/2010/03/31/testgetriebene-entwicklung-tdd-einer-funktion-meines-symfony-plugins/

Eclipse Update Manager: http://www.vogella.de/articles/Eclipse/article.html#updatemanager

Eclipse RCP Tutorial: http://www.vogella.de/articles/EclipseRCP/article.html

Eclipse Plugin Development Tutorial: http://www.vogella.de/articles/EclipsePlugIn/article.html

IBM Rational Rose Data Modeler: http://www-01.ibm.com/software/awdtools/developer/datamodeler/

How to migrate UML models to Rational Software Architect: http:// www.ibm.com/developerworks/rational/library/08/0129_ali_gangulli

Page 55: Course 4 29 October 2012 Adrian Iftene adiftene@info.uaic · 2012-10-28 · IBM Rational Rose Modeler 4 . 5 ... 11 Why model ... 10/28/2012 4:37:38 PM

55

How to migrate Rose UML model subunits to Rational Software Architect: http://www.ibm.com/developerworks/rational/library/10/part2howtomigrateroseumlmodelsubunitstorationalsoftwarearchitect/