Over the last ten
years the IT industry has seen a resurgence in CASE technology. Software
projects have become more and more complex and the need to manage and
understand these systems is more pronounced than ever before. Object
technology has shown itself to be the critical element in the majority
of new tools and development methods we use today. With the new tools
and more and more complex projects a mass of development techniques
and notations have emerged, some only applicable within individual companies,
others being used across a wide spectrum of companies. Some ten years
ago three leading gurus in OO methods began to work on a mechanism to
unify the industry and with the help of many leading companies released
an iconic language for describing Object Oriented software systems.
"UML And Architectures" builds on the successful "UML By Experience"
and designed to introduce and clarify the meaning of this iconic language
from an architectural perspective. Designed and used by software developers,
architects and analysts for software developers, architects and analysts.
The course aims to bring to the software team a pragmatic architectural
view of the language through theoretical study and workshops.
If your project
is driven from a strong architecture, you should choose those course
over "UML By Experience". If you are involved in any part of that software
development process then you should attend this course. The course is
not designed just for software developers, but anyone who has a stake
in the project. Analysts should attend to ensure that they can represent
the problem domain in a unified manner. Architects should attend so
that they can represent their structural ideas in a unified manner to
ensure continuity from the architecture to the implementation. Software
developers should attend so that the internal logical elements of the
systems they construct can be seen without looking at the code. Managers
should attend so that they develop a sense of confidence in this tool.
This is a unifying tool. On projects where all groups have used it,
conceptual continuity has been maintained.
This is an intense
five day course. All those who attend should be alert and ready to assimilate
a large amount of information. A basic understanding of software principles
is necessary. Some OO background would be useful, but is not essential.
You do not need to be a software developer, but a basic appreciation
of software concepts is essential i.e. functions, variables and data
- Software engineering
- Developing Use
cases from architectural views in theory and pragmatically
system and domain partitioning and using UML to capture architectural
concepts, developing use cases based upon domain partitions
- Developing Activity
diagrams from architectural views; basic syntax and benefits of use,
domain to domain communication
- Developing Sequence
diagrams from architectural views; basic syntax and simple flow control,
branching, synchronous versus asynchronous modelling, capturing state
on sequence diagrams, partitioning large flow controls into smaller
diagrams for domain to domain communication
- Developing Class
diagrams from architectural views; basic syntax, how to read and draw
diagrams in a consistent manner, associations, aggregation, inheritance,
roles, class in state, metamorphic modelling, interfaces and packaging
- State diagrams;
basic syntax, nested states, state concurrency and synchronisation,
- Each of the above
topics is supported by an equivalent workshop
- On completion
of the study notes, there is a one workshop using all of the ideas
from the course
doesn't the course cover?
"UML and Architectures"
does not try to be an analysis or design process course. Its focus is
on the language as tool that can be used for the architecture, analysis
or design of systems.