UML 2.0, Entreprise Modeling Training
- Participants / Prerequisite
UML (Unified Modelling Language) is the standard notation that has become indispensable for modelling information systems. It makes it possible to specify, view, construct and document all the artefacts of the system, and is suited just as well to information systems as it is to software, technical, business or real-time systems. This course will allow you to acquire the knowledge required to use UML and to implement the best practices of object analysis and design. Examples and actual case studies reveal UML's technical details and the different steps in constructing an IT solution. At the end of this course, the participants will be able to evaluate the benefits obtained from using UML and object-oriented design in project development.
- Review of the programming paradigms (logic, imperative, object, etc).
- Objects: identity, state and behaviour. Relationship to the real world and information systems.
- The popularity and advantages of the Object-Oriented approach.
- Abstraction, encapsulation, classification. Classes and instances. Abstract classes. The concept of inheritance.
- Methods and sending messages between objects. Polymorphism. Overloading and re-definition.
■ Understanding the main notions of the object approach
- The application area and modelling an IT solution. The model, a central artefact of the project procedure.
- Analysing and designing an IT solution. The impacts of programming languages.
- Changing over to Object analysis/design. Advantages.
- The background, changes and objectives. Architect's views.
- The core of UML: the different types of diagrams. The differences between static and dynamic diagrams.
- Presentation of several modelling approaches.
- UML extensions: stereotype, profiles, constraints, etc.
■ Why model? Learning about the analysis and design spectrum
■ General presentation of UML
- The main objectives and use. Describing the functionalities of the system.
- The elements of the diagram: use cases, players and the system boundary.
- Steps in constructing the use case model.
- How do you identify the players? How do you describe a use case? The scenarios.
- Formats, pre-conditions, post-conditions, relationships (use, inclusion, extension).
■ Capturing and describing the application's functional needs
- Class diagram: its role and its use. Examples.
- How do you identify useful classes?
- A class in UML: name, attributes and operations. Visibility (public, private, and protected).
- Formalism and notation.
- Relationships between classes (association, generalisation, aggregation and composition).
- Multiplicities, roles, constraints, etc.
- Abstract classes, interfaces, packages.
- Diagram of class instances and objects.
■ Showing a view of the whole system, these elements and their relationships
- Sequence diagram: interactions between objects over time. Message (synchronous and asynchronous).
- Collaboration diagram: role of the objects, interactions, competing processes, etc
- Transition state diagram: possible states of an object and events triggering the transitions.
- Activity diagram: flow of activities to carry out an operation, the objects in charge of these activities.
- Notations and examples.
■ Showing how the system changes and the interactions between objects
- Architecture models. Organisation in layers. Sub-systems.
- Packets and their relationships.
- Component diagram: organising the code in modules, dependencies.
- Deployment diagram: the physical deployment of the system (machines, networks, etc).
■ The system's software and hardware architecture
- Data models. Object/Relational Mapping. Other models.
- Designing HMI screens.
- Responding to recurrent problems
- Design Patterns (e.g.: singleton, adapter, proxy, facade, etc), their role in design.
- Frameworks, re-use.
- Generating reports, code. Creating stereotypes, etc.
- XMI format for exchanging UML models between AGLs.
- Various approaches. Integrating UML.
- Introduction to Rational Unified Process (RUP), iterations, phases and activities.
- Other possibilities (XP, etc.).