Course Overview | Course Objectives | Course Contents | Workshop Benefits
Who Should Attend | Delivery Method
Object Oriented Analysis and Design using UML
April 13 - 15, 2009 @ Bangalore, INDIA
Workshop shall concentrate on the principles of Object Orientation and Principles ofDesign to make the Designer produce a flexible, extendable and easy maintainable Design.
Participants shall learn to design based on principles rather than arbitrary intuitions, so that they can communicate their design in a formal design language.
Day 1
Topic: Software Engineering1. Object Oriented Thinking
1.1. Why Objects
1.2. Introduction to Object Orientation
1.3. Abstraction, Encapsulation, Modularity, Hierarchy
1.4. Three Minor elements
1.5. Typing, Concurrency and Persistency
1.6. Basic OO Concepts
1.7. Define OOA, OD
1.8. Introduction to UML and benefit of Visually Modelling Software using UMLTopic: Requirements analysis - OOA
2. Use Case View
2.1. Define and identify Actor from the Problem Statement
2.2. Know who is involved in the above process
2.3. Identifying the Scope of the Project
2.4. Define and identify Use Cases
2.5. Relationships to be used b/w Actor and a Use Case, Use Case with another Use Case
2.6. Learn about Association, Generalization in Context, When to Use them
2.7. Stereotypes, What is their relevance w.r.t Modeling
2.8. Use Case Documentation, Basic Description, Flow of events, Preconditions and Post Conditions
2.9. What is Activity Diagram? How is it useful in the development process?
2.10.Representation of Activity Diagram3. Practical Session:
3.1. Case Study
3.2. Drawing the use case diagram, Expanded use-case to help the next artifact creation
Day 2
1. System Sequence Diagram and Operations Contracts
1.1. Responsibility
1.2. Precondition
1.3. Post-conditions2. System Architecture
2.1. Introduction
2.2. Model-View-Controller3. Subsystems:
3.1. How do you identify Subsystems
3.2. What is the Usage of Subsystems in OO
3.3. What is an Interface, How Subsystems is related to interface
3.4. How it is represented in UML
3.5. How do you group your project or product ?
3.6. How to create components
3.7. How to represent the same in UML ?Practical Session:
Learn to draw above discussed topics from a problem statement using Rose 2000 as the tool Case Studies will be generic and will help people to think in terms of OO.
Day 3
Topic: Logical Solution - OOD1. Classes
1.1. Analysis level Classes (ALC)
1.2. Given Use Case, how do find Boundary, Entity and Control Classes
1.3. How Analysis Classes drives the System?
1.4. Design Level Classes (DLC)
1.5. How to find Attributes and Operations?
1.6. Split or Merger Analysis Classes ALC to DLC
1.7. Aggregation, Composition
1.8. When to Use Aggregation and Composition
1.8. Dependency, Generalization
1.8. Summary of Good Class design2. State Machine View
2.1. What is a State, Learn about Transitions, Actions
2.2. How to Identify Dynamic Class to represent Status
2.3. Special States, Nested States3. Deployment View
3.1. How do you deploy Components or Process physically?
3.2. Learn to draw Deployment diagram4. Practical Session:
4.1. Continue with Case Study and find out ALC, Map a chart from ASLC to DLC
4.2. Identify dynamic Class and represent State Chart Diagrams
4.3. Day 3 will help you think in terms of ALC and how to convert them into DLC5. TEST ( optional )
Benefits/Takeaways / Workshop Motivation
- Learn to design Based on Well Know principles
- Easy and effective way to Communicate Design
- Introduction to GRASP & GOF patterns
- Business Analysts, Data Analysts, Designer, Product Leads, Product/Project Managers
- Interactive Case Study driven approach
- Team work
Pre-requisite
- Should be familiar with UML basic Notations
- Should have at least 2 yrs of Design experience
- Should be familiar with OO Concepts
- Discrete Mathematical principles – particularly FSM concepts
- Understanding of Linear & Non-linear Data Structures, and associated algorithms


