Support

Object Oriented Analysis & Design with UML Course

6 sessions available starting from $2,200.00

Subject: Information Technology

Ages: All ages

Skill level: All difficulty levels

Object-orientation has evolved as a means to manage the complexity of software systems. The purpose of this course is to ensure that the participants understand the fundamentals of the object-oriented paradigm, and to equip them with techniques for designing object-oriented systems.

Unified Modelling Language (UML) diagrams are used to document the design. The diagrams that are covered are:

* Behavioural
-Use case diagrams
-Activity diagrams
-State machine diagrams
* Interaction
-Sequence diagrams
-Communication diagrams
* Structure
-Class diagrams
-Object diagrams
-Package diagrams

Note that the timing, interaction overview, component, composite structure and deployment diagrams are not covered.

This course covers use cases through to a fully specified model ready to...

see more

Object-orientation has evolved as a means to manage the complexity of software systems. The purpose of this course is to ensure that the participants understand the fundamentals of the object-oriented paradigm, and to equip them with techniques for designing object-oriented systems.

Unified Modelling Language (UML) diagrams are used to document the design. The diagrams that are covered are:

* Behavioural
-Use case diagrams
-Activity diagrams
-State machine diagrams
* Interaction
-Sequence diagrams
-Communication diagrams
* Structure
-Class diagrams
-Object diagrams
-Package diagrams

Note that the timing, interaction overview, component, composite structure and deployment diagrams are not covered.

This course covers use cases through to a fully specified model ready to pass to the programmers.

Intended For

This course is aimed at those people who need to learn the techniques of object-oriented systems design. It is also suitable for individuals and teams who already use object-orientation but who are seeking a more formalised approach.

This course is not for those who need to learn object oriented techniques for a specific OO programming language. This is not a programming course.

While the course addresses requirements issues, some design topics are covered to a greater depth than typically needed by a user requirements analyst.

Prerequisites

This course is aimed at people who already have experience of system development.

Note that prior experience with object-orientation is not necessary.

Learning Outcomes

At the end of the course, participants will:

* Be familiar with standard UML notation.
* Understand how to model the requirements with use cases.
* Be able to describe the dynamic behaviour and structure of the design.

Content

Object-Orientation

Abstraction and modularity are the best “tools” that we have to manage the complexity of the systems we develop. Object-orientation is the next step in the evolution of these tools. The SOLID principles are introduced to highlight good OO practices.

UML

The UML is a formal means to represent a design. It is not a process to discover that design, merely a way to formally document it. The various diagram styles of the UML provide different views of the design.

Requirements

B4 is a technique that helps identify requirements. Use cases and/or user stories focus requirements from a user's perspective without getting caught up with the internal system implementation.

High-Level dynamic modelling

Activity diagrams are a powerful means to model the steps and behaviour of an implementation at a high level.

Low-level dynamic modelling

Sequence and communication diagrams model the internal behaviour in terms of interactions between objects. Applying the stereotypes of boundary, controller and entity aid this process.

Low-level structural modelling

Class diagrams model the static structure of the system. It is the primary input to the developer. This structure can be largely derived from the dynamic model.

State machines

State machine diagrams model how the behaviour of an individual object (based on its class) changes over its lifetime according to the “state” it is in. This model provides verification of the dynamic and structural models against the requirements while providing implementation information for the developer.

Database modelling

While class diagrams model the class/object structure in the computer's memory, entity-relationship (ER) diagrams model the structure of the database, the persistent repository of the information used by the objects. Relational databases have no basis in object-oriented concepts, so various techniques are required to map an object-oriented model to a relational database.

Encapsulation

Every class needs to be specified in terms of its attributes and operations and also its relationships to other classes. Refactoring may also be required to ensure that the Single-Responsibility and Interface-Segregation principles are followed and to address various qualitative requirements.

Inheritance and polymorphism

These techniques provide a lot of power, particularly in the form of the Open-Closure and Dependency-Inversion principles. However, there are caveats to their use, such as the Liskov-Substitution principle.

High-level structural modelling

Larger systems require a higher-level structure that manages the low-level classes. Package diagrams provide a means to model that structure, but also impose constraints on the design.

Architecture

Larger systems are more susceptible to the problem of software entropy over the lifetime of the system. More up-front design is then needed to anticipate the sorts of issues that will be faced and ensure that the quality of the system is maintained. Multiple perspectives of the system are required in order to manage the complexity. This architectural work is not externally visible and has no obvious business value, yet neglecting this leads to technical debt that will need to be repaid in the future.

Method Used

An exercise follows each topic to illustrate the concepts covered. An additional case study at the end ties the individual topics together and reinforces the learning.

Exercises are done in small groups, providing the chance to learn from each other and to fully explore the range and implications of each topic.

Pen and paper are used for the exercises, rather than a case tool. This ensures that the learning is not hindered by the distraction of a case tool.

see less

Choose from 6 available sessions:

When

Please contact us for upcoming dates and/or more information about this class.

Where

  • Melbourne, VIC 2000

Price: $2,200.00

When

Please contact us for upcoming dates and/or more information about this class.

Where

  • Brisbane, QLD

Price: $2,200.00

When

Please contact us for upcoming dates and/or more information about this class.

Where

  • Canberra, ACT

Price: $2,200.00

When

Please contact us for upcoming dates and/or more information about this class.

Where

  • Adelaide, SA

Price: $2,200.00

When

Please contact us for upcoming dates and/or more information about this class.

Where

  • Melbourne, VIC

Price: $2,200.00

When

Please contact us for upcoming dates and/or more information about this class.

Where

  • Melbourne, VIC 2000

Price: $2,200.00




My Other Listings

Software Project Management Course
Software Project Management Course
12 sessions available starting from $2,200.00
Introduction to SQL Course
Introduction to SQL Course
7 sessions available starting from $990.00
Advanced Business Analysis Course
Advanced Business Analysis Course
10 sessions available starting from $2,585.00

see all listings »


Found In