| |
| |
| |
|
|
|
Rational Software Architect 6.x for Object-Oriented Analysis and Design
|
|
Duration:
Five days
|
|
|
This course is built for software architects, designers and developers.
-
Developers
-
Designers
-
Architects
-
Consultants
| |
Audience should have an understanding of software development.
|
|
|
Description
|
This course covers advanced aspects of object technology.
The course teaches a variety of approaches to advanced issues important
in real world applications. Particular attention is given to topics that
improve the precision and quality of developed systems. The course
shows how to use Rational Software Architect to document and aid the advanced design concepts.
The course covers a variety of techniques encountered
in complex mission critical applications today and guides students
through the best practices of complex system development. Particular
attention is given to topics that present the most productive solutions
and identify approaches that may cause deficiencies during the lifetime
of the system. In addition, the course covers areas of object storage
and retrieval, distributed systems, business rules and objects and introduces
architecture for supportable systems. Emphasizing productivity and quality,
the course concludes with pragmatic guidelines on how to incorporate testing and
quality assurance into the development process of object-oriented systems.
At least 60% of the time will be devoted to labs.
|
|
Objectives
|
Upon completion, students will be able to:
-
Identify advanced concepts of object technology
-
Add precision to analysis and design models
-
Deploy design by contract and create highly reliable and reusable components
-
Use state modeling for describing behavior of complex systems
-
Decouple objects using a variety of techniques, improving on flexibility and maintainability
-
Deal with multiple inheritance correctly
-
Choose and implement connectivity to relational and OO databases
-
Select and design applications with distribution and component mechanisms
-
Apply business rules and select their implementation
-
Identify issues in construction of supportable and modifiable systems
-
Incorporate object-oriented testing and quality assurance as a pervasive activity
-
Use Rational Software Architect effectively to document, design, implement and convey design ideas
|
|
Course Outline
|
Course Outline
Object-Oriented Analysis and Design (Optional Review)
-
Domain Modeling
-
Object-Oriented Analysis
-
Object-Oriented Design
-
Analysis and Design Models in Rational Software Architect
Precise Specifications
-
UML and Object Constraint Language
-
Values and Types
-
Objects and Properties
-
Collections
-
Use of Precise Specifications
-
How to use OCL in Rational Software Architect
Design by Contract
-
Preconditions
-
Post conditions
-
Invariant's
-
Contracts in Programming Languages
-
Correct use of Inheritance
-
How to manage pre- and post conditions in Rational Software Architect
State Modeling
-
Finite State Machines
-
Events
-
States
-
Statecharts
-
Nested States
-
History Connectors
-
Correspondence of States and Other Models
-
Orthogonal State Machines
-
State models in Rational Software Architect
Modeling Multiple Views
-
Multiple Views on Systems
-
Synthesis of Models
-
Combining Specifications
-
Issues in Synthesis
-
Managing multiple views in Rational Software Architect
Creation of Objects
-
Problems in Object Construction
-
Type and Class Dependencies
-
Factories
-
Template Method
-
Prototype
Decoupling
-
Kinds of Coupling
-
Identity Coupling
-
Type Coupling
-
Interfaces and Implementations
-
Adapting Interfaces
-
Implementation Coupling
-
Decoupling with Command Objects
| |
Multiple Inheritance
-
Multiple Inheritance
-
Repeated Inheritance
-
Multiple Inheritance of Implementations
-
Mapping Multiple to Single Inheritance
Persistence
-
Storing Objects in Files
-
Object Serialization
-
Objects and Relational Databases
-
Persistent Storage Engines
-
Object-Oriented Databases
Distribution
-
Distributed Applications
-
RPC
-
Proxy Objects
-
DCOM
-
CORBA
-
RMI
-
Interface Definition Language
-
Object Adapters
-
CORBA Services
Objects and Rules
-
Business Rules
-
Rules and Objects
-
Implementation of Rules
Design for Supportable Systems
-
Issues of Supportable Systems
-
Architecture for Supportability
-
Observable Components
-
Maintenance Issues
-
Modifications in the Field
-
Dynamic Configurations
-
Framework for Supportability
Testing Object-Oriented Systems
-
Testing, Quality and Objects
-
Risk Analysis Fundamentals
-
Testing Specifications: Verification
-
Code Verification
-
Design for Testability
-
Component Validation
-
Test Framework Architectures
-
Component Testing Techniques
-
Testing Contracts and Functionality
-
Testing States
-
Testing Interactions
-
Testing Subclasses
-
Testing Frameworks and System Components
-
Testing Exceptions
-
System Testing
|
|
|
|