RUP Concept and Training

Course Description:
The course teaches the theory and practice of RUP. Our approach of teaching RUP is the hands-on approach, where students will have a small project to work with. This helps students grasp the overwhelming RUP material that has to be covered in the course. The students work as a team of developers and clients going through each of the development stages. Each student is assigned a role as a client, developer, analyst, manager and so on.

Course Objectives:

        1. Help make RUP concept easier by hands-on development of a software package
        2. Introduce design concept and terminology
        3. Introduce development phases and processes
        4. Introduce Object Modeling
        5. Help students think in RUP
        6. Develop a software product using RUP and Rational Rose Software
        7. Introduce Rapid Application Development

Who should take this course?

        1. Clients
        2. Testers
        3. Developers-programmers
        4. Managers
        5. Analysts & Architects

Prerequisite

        We do recommend that the students should have both technical and/or business
        backgrounds. Our instructors have the ability to teach both technical and non-technical
        students. Clients can decide on which way the course should go based on the students
        background.

Recommended Text Books

        We provide the text material for this course.

Topic Outline

Due to the overwhelming RUP material that has to be covered in the course and students background, the length and the pace of this course may vary. We may recommend a pace for the client based on our experience, but the students have the final decision in the matter. The following is the syllabus for the RUP course.
Phases – First Visit:
Inception
Elaboration
Construction
Transition
Iteration – First Visit:
What is an iteration?
Why iterate?
Iteration and phases
Core Process Workflows - First Visit:
Business Modeling
Requirements
Analysis
Design
Implementation
Test
Deployment
Core Supporting Workflows
Environment
Project Management
Configuration & Change Management
Overview Analysis & Design
Analysis Class
Aggregation
Association
Capsule
Class Diagram
Collaboration Diagram
Data Model
Design Classes
Design Model
Design Package
Design Subsystem
Designing Classes in Java
Generalization
Import Dependency in Design
Interfaces
Layering
Reverse-Engineering Relational Databases
Sequence Diagram
Software Architecture Document
Statechart Diagram
Subscribes-Association
Use-Case Realization
Inception:
Business Modeling
Requirements
Analysis
Design
Implementation
Test
Deployment
Core Supporting Workflows
Environment
Project Management
Configuration & Change Management
Elaboration:
Business Modeling
Requirements
Analysis
Design
Implementation
Test
Deployment
Core Supporting Workflows
Environment
Project Management
Configuration & Change Management
Construction:
Business Modeling
Requirements
Analysis
Design
Implementation
Test
Deployment
Core Supporting Workflows
Environment
Project Management
Configuration & Change Management
Transition:
Business Modeling
Requirements
Analysis
Design
Implementation
Test
Deployment
Core Supporting Workflows
Environment
Project Management
Configuration & Change Management
Iteration:
Inception
Elaboration
Construction
Transition
Management Role:
Open Discussion