WA1446 Mastering Rational Software Architect v6 Training and Courseware Course Outline |
|
| 1. Introduction to RSA |
|
- Basic purpose of the tool
- Getting online help -
- Other sources of information
- Workspace
- Perspective, Views and Editors
- Importing and exporting files
- Searching
- Tutorials and samples
|
|
| 2. Model driven software development (MDD) |
|
- What is model driven development?
- Models as blueprints
- Automation from a well defined model
- Use of patterns
- Artifacts derived from a model
- Code - Documentation
- Test artifacts
- Build and deployment scripts
- Benefits of MDD
- Detail concepts
- Abstraction
- Precise modeling
- Automation
- Architectural style
- Role of UML
- Patterns
- Quality and consistency
- Platform independence
- Layered modeling
- How RSA supports MDD
- Basics
- UML 2.0 Editor
- UML profile support
- RSA Patterns
- RSA Transformations
- Software lifecycle in MDD
|
|
| 3. Basic Modeling in RSA |
|
- What is a model in RSA?
- Relationship between model project, model, model element and diagrams
- Creating new Modeling Projects
- Adding a new model to a project
- Basic operations
- Saving models
- Importing and exporting models
- Move, delete and rename models
- Opening external model files
- Adding model elements to a model
- Structural model elements
- Such as actors, classes, components, and nodes
- Behavioral model elements
- Activities, decisions, messages, objects, and states. -
- Organizational model elements
- Annotational model elements
- Relationship basics
|
|
| 4. Using Diagrams |
|
- What is a diagram?
- Relationship between a diagram and a model
- Types of diagrams available
- Detail description of each diagram type
- Activity - Browse - Class
- Communication
- Component
- Composite structure
- Deployment
- Freeform
- Interaction overview
- Object
- Package
- Sequence
- State machine
- Timing
- Topic
- Use case
- Creating a diagram for a model
- Creating a diagram for a model element
- Basic operations
- Opening
- Saving
- Export as image
- Printing. Page breaks.
- Viewing all or part of the diagram
- Linking diagrams
- Why link diagrams?
- Adding link for a diagram in another
- Linking from a note
- Adding elements to a diagram
- Connecting elements.
|
|
| 5. Relationship details |
|
- How is relationship used in a model?
- Types of relationships. Describe in details and show
- How to model them in RSA.
- Abstraction
- Aggregation
- Binding - Composition
- Dependency
- Directed association
- Implementation
- Realization
- Usage
- Include
- Extend
- Extension point
- Exploring relationship
- Topic diagram
- Browse diagram
- Analyzing relationship using tracability
|
|
| 6. Advanced modeling |
|
- Types of model you should create
- Capturing application requirements in a use case model
- Capturing application domain in an analysis model
- Capturing application architecture in a design model
- Using stereotypes and constraints
- Examining inheritence hierarchy
- Validating and repairing models
- Searching in a model
- Customizing modeling preferences
|
|
| 7. Publishing models |
|
- Introduction
- Publish to a web site
- Model report
- Viewing and printing reports
- Customize report data selection
|
|
| 8. Transform Model to Code |
|
- Motivation behind code generation
- Basic capabilities of RSA
- Creating and modifying transformation configuration.
- Generating Java classes from a model
- Generating C++ classes from a model
|
|
| 9. Developing Applications based on a Model |
|
- How to build a complex modern application based on a model.
- Cover the basic methodology for Java, Web and EJB
- Discovering patterns in code
- Developing a Java application.
- Developing a Web based application.
- Developing an EJB based application.
- Basics of software development, debugging and testing in RSA
|
|
| 10. Developing Resuable Artifacts |
|
- Introduction and motivation
- Creating patterns
- Testing patterns
- Publishing patterns
- RAS Assets
- Managing RAS assets
- Documenting RAS assets
- Importing and exporting RAS assets
|
|
| 11. Team Development |
|
- Challenges of developing a model by a team
- Partitioning a model
- Comparing versions of a model
- Conflicts and merging conflicts
|
|
|