Advanced
Object-Oriented Analysis and Design Using Rational
Software Architect (RSA) |
Duration: 5 days |
|
|
- Analysts
- Architects
- Designers
- Developers
- Technical managers
- Any stakeholder in an organization applying technology who wants to understand the object-oriented promise.
|
|
Experience
with object-oriented analysis & design. Preferably,
the students should have attended our Object-Oriented
Analysis and Design Using RSA course. |
|
|
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 (RSA) 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. Emphasizing productivity
and quality, the course concludes with advanced
aspects of the RSA use: patterns, transformations
and profiles. |
|
Objectives |
This course
teaches a set of skills necessary to create and deliver well designed real-world applications. On completion, attendees 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
- 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 RSA effectively to document, design, implement
and convey design ideas
|
|
Course Outline |
Object-Oriented Analysis and Design (Optional Review)
- Domain Modeling
- Object-Oriented Analysis
- Object-Oriented Design
- Analysis and Design Models using RSA
Precise Specifications
- UML and Object Constraint Language
- Values and Types
- Objects and Properties
- Collections
- Use of Precise Specifications
- How to use OCL in RSA
Design by Contract
- Preconditions
- Post conditions
- Invariant's
- Contracts in Programming Languages
- Correct use of Inheritance
- How to manage pre- and post conditions in RSA
State Modeling
- Finite State Machines
- Events
- States
- Statecharts
- Nested States
- History Connectors
- Correspondence of States and Other Models
- Orthogonal State Machines
- State models in RSA
Modeling Multiple Views
- Multiple Views on Systems
- Synthesis of Models
- Combining Specifications
- Issues in Synthesis
- Managing multiple views in RSA
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
Objects and Rules
- Business Rules
- Rules and Objects
- Implementation of Rules
RSA
Patterns and Transformations
- Design Patterns in RSA
- Applying Existing RSA Patterns
- Applying J2EE Patterns
- Enterprise Patterns
- Creating Patterns / Extending RSA
Reverse
Engineering in RSA
- Reverse Engineering Java Code
- Class Diagrams
- Sequence Diagrams
- Exploring Systems
UML
Profiles
- UML Profiles and RSA
- Creating Custom Profiles in RSA
- Profile Validation
- Applying Profiles
- Applying Stereotypes
|
|