Each student receives a copy of |
Object-Oriented Analysis and Design using UMLA Five Day Hands-On Course (RAT102) |
BackgroundThe application of OOA/D techniques has substantial benefits in reducing system development risks and improving the quality of object-oriented software developments. UML (the Unified Modelling Language) has emerged as the de-facto standard for OO modelling techniques. In this intensive hands-on workshop, you will gain practical experience of the major techniques of UML. The workshop culminates in- group project work during which you undertake a small but complete analysis and design project. Pre-requisitesA basic understanding of object oriented principles (encapsulation, inheritance, polymorphism), such as that gained by Ratio's Pragmatic Introduction to Object Oriented Concepts course (RAT100). Who should attendAnalysts, designers and developers who will undertake OOA/D as part of an Overall OO development process, and Who wish to improve the quality of their analysis and design results. Hands-On Exercises include:· developing use cases to tie-down system requirements · building object models for a variety of systems · developing sequence diagrams showing how your systems will be implemented · developing state models to clarify and augment your understand of the system · designing systems using design patterns |
SummaryThis course will give you a practical understanding of the major techniques of the UML object-oriented analysis and design notation, and how these techniques can be applied to improve quality of productivity during the analysis and design of computer systems.
|
A Five Day Hands-On Course (RAT102)
Introduction Gives an overview what will be covered in the course, and explain to students the motivation behind using OOA/D techniques. · Introduction to course. An overview of UML Gives an introductory overview of the major techniques of UML and how they assist in the analysis and design of computer systems. · Use cases · Object modelling · Sequence diagrams · State modelling · Problem domain vs. technical domain Developing object models Gives you practical experience of developing object models · The object model · Objects and classes · Attributes · Associations and multiplicity · Finding objects and relationships · Hands on exercises and review Refining requirements using use case analysis Introduces and to give students practise in the elementary concepts of use case analysis, in the context of understanding and specifying business system requirements. · Why - rationale · Use Cases · Inputs · Outputs · Pre-conditions · Post-conditions · Business steps · ‘Uses’ Use Cases · Iterating between Object Modelling and Use Cases · Separating Use Case and User Interface Design · Hands on exercises · Exercise review and discussion Developing more advanced object models Introduces the more advanced concepts of object modelling, and gives you more practise at using them. · Ensuring you get the model right · Resolving ambiguities · What make a good object model · Model invariants · Qualified associations · Ternary associations · Hands on exercises · Exercise review and discussion Using sequence diagrams to augment design Explains and gives student practise at using sequence diagrams to augment and verify object models and ensure they can provide a correct implementation of requirements. · Why and when – rationale · Description · System boundary · Cross-checking - Confirming you can implement all the Use Cases with the OM · Completeness checking - the Relationship between Sequence Diagrams and the Object Model |
State Transition Modelling Gives you practise at using state models to expand internal class design. · When and why you - rationale · Cross-relationship to Object Model · Transitions and Operations · Guards and Attributes · Actions and Activities · Hands on exercises; review and discussions. Using packages to structure designs Explains how packages may be used to structure large designs · Grouping UML constructs into packages · Package dependencies · Cycles in packages · Removing cycles in packages Undertaking the more technical aspects of design Introduces the technical elements of system design in the context of OOD. · Technical Domain vs. Problem Domain · Technical Domain Issues · Persistence/database interfacing · Graphical User Interfaces · Distribution · Programming language related issues Improving your design with design patterns Gives you hands-on experience of how design patterns can be used to improve system design. · What are patterns · In-depth review of several patterns · Hands-on use of patterns Using OCL to express design constraints Introduces the UML Object Constraint Language showing how it can be used to express business rules and other object constraints. · What is OCL · Expressing constraints (business rules) in OCL · Hands on exercises Implementation and testing Gives a brief overview of implementation and testing related issues in the context of OOD. · Mapping UML to programming languages. · Testing issues. Lifecycle related issues Gives an understanding of project lifecycle issues associated with OOA/D. · Incremental vs. big bang development. · Management issues. Undertake group project The group project gives you the opportunity to bring together the topics taught during the course by taking a complete case study from specification through to design. · Split into groups · Undertake use case analysis for system · Develop conceptual object model · Present use case analysis to class, review, feedback, etc. · Develop specification object model · Present to class, review, feedback, etc. What's next · Where to go for further information |