Object-Oriented Analysis and Design with UML_ Patterns and the

Document Sample
Object-Oriented Analysis and Design with UML_ Patterns and the Powered By Docstoc
					                                 Mike King Courses (Metadata Training)
Object Oriented Analysis and Design with UML & Patterns                                                  Page 1 of 3

                        Object-Oriented Analysis and Design
                    with UML, Patterns and the Unified Process
UML is the notation used through-         Thedelegates then trace the mes-        The book ‘Applying UML and
  out the course. This stands for        sages between a system of objects          Patterns: An Introduction to
Unified Modelling Language, the          intended to simulate the behavior         Object-Oriented Analysis and
  standard adopted by the Object         of queues at a counter being serv-           Design and the Unified
   Management Group (OMG).                        iced by clerks.                  Process’ by Craig Larmen, is
Since there are over 800 organisa-                                                used as the main guide, supple-
tions making up the OMG, this is                                                  mented with the lecturer’s own
 expected to become the interna-                                                    knowledge and experience.
          tional standard.                                                         The following quote from the
                                                                                  book characterizes the course:
The basic concepts of class, attrib-
 ute, method, object, constructor,                                                “More important than follow-
 association and multiplicity are                                                 ing an official process or
 presented. These are illustrated                                                 method is that a developer ac-
 with examples drawn from busi-                                                   quire skill in how to create a
              ness.                                                               good design, and that organi-
                                                                                  zations foster this kind of skill
It is shown how encapsulation and                                                 development. This comes from
  information hiding both protect                                                 mastering a set of principles
 the business information and pro-
                                                                                  and heuristics related to iden-
          vide flexibility.
                                                                                  tifying and abstracting suit-
                                         This exercise facilitates a change       able objects and to assigning
Inheritance is then discussed and
                                          in the mindset from procedure-          responsibilities to them.”
 also illustrated with business ex-
                                         oriented programming to object-
amples. The use of inheritance to
                                         oriented programming. It illus-
extend system functionality is il-
  lustrated using the Java GUI li-
        brary as an example.                                                     The Development Process (UP)
                                         • the animation principle;
 Examples of all the concepts are        • the nature of object systems as      Inception     Elaboration    Construction
presented in the Java language. It          systems of collaborating ob-
 is shown how associations with             jects;
multiplicity greater than 1 require      • the relatively simple handling
  the use of collections to imple-          of complex systems by delegat-                                        ...
                                                                                Iteration 1   Iteration 2
ment them. This is compared with            ing responsibility down to the
the single valued restriction of re-        lowest natural level of object;        Refine        Refine            Refine
          lational tables.                                                          Plan          Plan              Plan
                                         • the way in which any number of          Sync.         Sync.             Sync.
Once this base has been laid, a fi-         objects of a class may be instan-     Artifacts     Artifacts         Artifacts
nal discussion is held about the es-        tiated and act independently,                       Analyze           Analyze
    sential paradigms of Object             yet according to the same rules;
            Orientation:                 • the way in which individual ob-         Design        Design            Design
                                            jects then collaborate by send-
•   Encapsulation                           ing messages to each other;          Implement     Implement         Implement

•   Instantiation                        • the fact that there are no proce-        Test          Test                  Test
•   Messaging                               dures except those embodied in
                                            the methods of the objects.
•   Inheritance                                                                   The development of a point of
•   Polymorphism                         This course advocates the unified        sale terminal system is used as
                                         process. This is use-case driven,         the simple case study to teach
•   Interface                            architecture centred and itera-            the principles and heuristics.
                                             tive and incremental.                In parallel with this, the course

Tel:     +27 (0)82 465 8793            E-mail:               
Fax:     +27 (0)86 670 0162                                       Web page:
                                 Mike King Courses (Metadata Training)
Object Oriented Analysis and Design with UML & Patterns                                             Page 2 of 3

 delegates practice these ideas by       entitled ‘The Development Proc-        • Use-Case chunks and their
 doing the analysis and design of                   ess (UP)’).                     allocation to development
     another different system.                                                      cycles;
                                          The course guides the delegates
 Although, as implied in the pre-           through the production of:          • Conceptual model (classes,
ceding quote, the focus is not on a                                                 associations, attributes);
 particular methodology, the pro-        • Specification of requirements;       •   System sequence diagrams;
  cess used in the course is the
 Unified Process (see the diagram        • Use-cases;                           •   System operations;
                                                                                •   Operation contracts;
                                                                                •   Collaboration diagrams;
                                                                                •   Packaging of the classes.

After the course the delegate will          from the system sequence dia-       • Understand how to use itera-
           be able to                       grams;                                  tive development to obtain
                                         • Set up a contract for each sys-          early and continuous meas-
• Set up use-cases with their sce-          tem operation, with its pre- and        urable, demonstrable prog-
   narios, to represent the require-        post-conditions;                        ress towards the project
   ments (Even better, enlist the                                                   completion (no show-stop-
   end users to set up their own         • Set up a collaboration diagram           ping surprises near the
   use-cases);                              that satisfies the contract for         project end);
                                            each system operation;
• Create and evolve the model of                                                • Use the UML (the new stan-
   classes, associations and attrib-     • Use patterns (proven ways of                      dard for model-
   utes;                                    doing things effectively) to al-                  ling);
                                            locate responsibili-
• Understand how to use inheri-             ties to the            is  that                 • Understand the
   tance structures;
                                                   Des ign iven!                               influence of each
                                             sis & e-Case Dr                                deliverable on the
                                        Analy Y Us
• Check completeness of the de-
   sign class model by                                                                other deliverables;
   testing its support of
   the use-cases;
                                        TRUL            most suit-
                                                                      •             Understand the importance
                                                                                    of always designing to the
                                                        able objects (in par-       interface to create modifi-
• Plan a series of itera-                    ticular the patterns called ‘Ex-
   tions that lead to a continuous                                                  able systems.
                                            pert’, ‘Creator’, ‘Controller’,
   delivery of tested functionality         ‘Low Coupling’, ‘High Cohe-
   rather than a big bang failure,          sion’);
   and that probe areas of risk
   early in the project;                 • Group the classes into packages
                                            to create a robust architecture;
• Derive system sequence dia-
   grams from the use-cases;             • Understand and use the patterns
                                            that separate the ‘model’ from
• Identify system events and                the ‘view’ instead of being
   therefore system operations              dominated by GUI thinking;

                       Project Deliverables dealt with in the Course:
• Use-cases and use-case dia-            • System operation contracts;          • Object-oriented code (only
   grams;                                • Collaboration diagrams;                  some Java samples fitting
• Class diagrams (both concep-                                                      the case study).
                                         • The use of patterns to achieve a
   tual and design);                        good design;
• System sequence diagrams;              • Architecture     package     dia-
• System operations;                        grams;

Tel:     +27 (0)82 465 8793            E-mail:               
Fax:     +27 (0)86 670 0162                                       Web page:
                                   Mike King Courses (Metadata Training)
Object Oriented Analysis and Design with UML & Patterns                                            Page 3 of 3

    Because the object-oriented          In particular the course is relevant   •   Developers;
 framework results in significant                        for:
benefits of effectiveness and cost,                                             •   Programmers;
 it is now rapidly replacing tradi-      •   Project leaders;                   •   Quality assurers;
 tional system architectures. It is                                             •   Testers;
  therefore essential for you and        •   Systems architects;
your organization to acquire skills      •   Systems designers;                 •   User interface designers.
            in this area.                •   Systems analysts;

The subject is dealt with from 1st       There are no prerequisites for this
          principles.                                 course.

                                       Lecturer’s Background:
Mike King has specialized in the         Many organisations (listed on a        • been an IT Architect in a
database, data administration and        separate page) have used his serv-         very large Enterprise Appli-
methodology areas since 1974 and         ices and continue to do so.                cation Integration project.
in Object Orientation since the                                                 • applied UML (now UML 2)
early 1980’s.                            Amongst other experiences he has           to the development of sys-
His career includes the posts of         • given numerous talks at meet-        • Kept up to date with
                                             ings of the Computer Society of
• Lecturer in Physics at the Uni-            South Africa, and was one of       – J2EE
   versity of the Witwatersrand;             the first to introduce the rela-
                                             tional data model to South Af-     – Patterns
• Leader of Operations Research;             rica.
• Chief Systems Analyst;                                                        – Object Constraint Lan-
                                         • been interested in object orien-         guage
• Lecturer in Business Data Proc-            tation since its early days, and
   essing at the University of the           has used Simula 67, Smalltalk,     – UML 2
   Witwatersrand;                            Delphi and Java (Jbuilder and
                                             Netbeans).                         – The application of the Uni-
• Senior Chief Research Officer                                                     fied Process to COTS envi-
   at the Council for Scientific and     • audited a large multi-million            ronments (EPIC)
   Industrial Research;                      Rand project (the use of the
• Director of a software com-                Unified Process, the Object-       – Refactoring
   pany;                                     Oriented methods, the deliver-
                                             ables).                            – Component Based Devel-
• Consultant.                                                                       opment
• Trainer                                                                       – Model Driven Architecture

             5 Days

Tel:       +27 (0)82 465 8793          E-mail:                
Fax:       +27 (0)86 670 0162                                      Web page: