 |
Customer Service or Enrol: 0800 282 353 or +44 1372 364610 |
 |
|
 |
| |
You Will Learn How To
- Capture user requirements in use cases and transform them into detailed designs
- Exploit the rich object-oriented modelling provided by Unified Modeling Language (UML)
- Adapt to changing requirements with iterative techniques and component-based design
- Design agile solutions optimised for modern object-oriented languages and platforms
- Refactor design models by applying proven design patterns
- Verify implemented designs with automated unit and system tests
Course Benefits Object-oriented (OO) analysis and design is the principal industry-proven method for developing reliable, modular, testable programs and systems. This course provides practical skills in the latest OO requirements gathering, analysis, design, and testing methods. Intensive hands-on exercises offer you a working knowledge that turns concepts into practice.
Who Should Attend Anyone involved in developing systems on modern object-oriented platforms. Project teams benefit greatly by sharing the same methodology with codevelopers or with supportive management. Familiarity with basic OO concepts is helpful, but not assumed.
Hands-on Training Hands-on exercises provide experience using industry-standard UML case tools. Exercises and demonstrations include:
- Capturing and refining use case requirements
- Producing class and communication diagrams as part of an analysis model
- Transforming analysis behavioural models into design sequence diagrams
- Investigating round-trip engineering of source code
- Refactoring UML designs by applying design patterns
- Sharing models between developers using a repository
Course Content
- Use case diagrams
- Object models
- Packages and subsystems
- Interaction diagrams
- Classes, objects and attributes
- Encapsulation and interfaces
- Associations and multiplicity
- Inheritance and aggregation
- Polymorphism and collections
- The object-oriented software life cycle
- Use case-driven and architecture-centric features
- Iterative and incremental development
- Finding primary and secondary use cases
- Refining use cases with Include and Extend dependencies
- Modelling user interface requirements
- Validating user interfaces against use cases
- Mapping ontological data structures onto a UML data model
- Building a class description database
- Finding analysis classes
- Managing analysis complexity with packages and subsystems
- Analysis model vs. design model classes
- Categorising classes: entity, boundary and control
- Modelling associations and collections
- Preserving referential integrity
- Isolating reusable base classes
- Reuse through delegation
- Improving reuse with design patterns
- Sequence diagrams, object lifelines and message types
- Refining sequence diagrams
- Sharing models in a version controlled repository
- States, events and actions
- Nested machines and concurrency
- Capturing state machines from sequence diagrams
- Modifying the object model to facilitate states
- Modelling methods with activity diagrams
- Swimlanes, concurrency and synchronisation
- Restructuring using polymorphism and delegation
- Improving robustness using constraints, dependencies and the Object Constraint Language (OCL)
- Designing and evaluating methods
- Synchronising dependent attributes
- Normalising classes with dependent data
- Partitioning systems for deployment
- Persisting objects to databases
- Mapping designs to concurrent systems
- Distributing applications with Web services
- Applying component technology
- Deploying applications using components
- Improving architecture, analysis models
- Achieving reuse, robustness and flexibility
- Achieving user interface independence
- Patterns for persistence
- Improving designs by refactoring
- Creational, behavioural and structural patterns
- Unit testing classes against their specifications
- Instituting automated object-oriented regression testing
- Validating implemented behavioural requirements
- Writing test scenarios from use case descriptions
|
UML and Unified Modeling Language are trademarks of the Object Management Group.
|
|
|
|
|
| |
| Customer Service or Enrol: 0800 282 353 or +44 1372 364610 |
 |
|