Course Overview | Course Objectives | Course Contents | Workshop Benefits
Who Should Attend | Delivery Method | Trainers Profile
Object Oriented Analysis and Design using UML
December 15 - 17, 2008 @Bangalore, INDIA
February 16 - 18, 2009 @ Bangalore, INDIA
Workshop shall concentrate on the principles of Object Orientation and Principles of Design 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
Ravikumar R. Murthy has a career spanning over 20 years in Design, Development and Implementation of Application software projects. He is equipped with an impressive work exposure, from various reputed multinational companies, such as Motorola, Fannie Mae, Dow Jones, Home Shopping Network, and Norwest Mortgage in USA.
A highly self-motivated and hardworking individual, Mr. Murthy has experience in a wide range of platforms such as HP, SUN, Silicon Graphics and Pentium.
Mr. Murthy has been conducting corporate trainings in the areas of OOPS, OOAD, UML, RUP, JAVA, UNIX, DESIGN PATTERNS AND WEB TECHNOLOGIES, to multinationals and private sectors across India. Having also conducted trainings at various companies such as Motorola India, Hewlett-Packard, IBM, Texas Instruments India, BPL Telecom, DSL, Tata, Novel, Siemens, Ericsson, Optech Solutions, Planetasia.com, Intel, Telesoft,Tektronics to name a few, Mr. Murthy’s experience and expertise has only grown stronger over the years.
Mr. Murthy holds a Masters in Mechanical Engineering from IIT, New Delhi, India.
Mr. Ravikumar R. Murthy is presently working with ATOI, his previous track-record involves working with various firms like:
- ATOI Software Systems - Bangalore, India - (till date)
- Motorola Inc. - Boynton Beach FL, U.S.A
- Norwest Mortgage - Minneapolis MN, U.S.A
- Fannie Mae - Washington D.C, U.S.A
- Bell Atlantic - Silver Spring MD, U.S.A
- Dow Jones - Planinsboro NJ, U.S.A
- Precision Software Inc. - ClearWater FL, U.S.A
- HCL - Bangalore, India
- Telco - Pune, India
Job profile / Accreditations
- Involved in guiding software development projects in commercial software for various overseas organizations and in-house developments.
- Designed and developed GUI module to provide a fool-proof scan-verification system for packing and shipping the Motorola pagers to the ultimate customers and distribution centers. System supports most of the carrier world wide. Jyacc/JAM Application development tool was used to provide the graphical front-end.
- Re-engineered and developed a client/server based Shipping and Distribution system using the state-of-the-art Information Bus technology using the TIB communication protocol under Unix,C,C++ environment.
- Designed and developed c-function libraries to be used by the application developers to upload and download data into/from the database. The functions would perform the security check , verify authenticity of the user, and then allow secured access to the database.
- Designed and developed a customized module over the Networker Backup software package to remotely backup the database servers directly over the network on to the Juke-box.
- Based on the requirement study and the user specification , arrived at the design of the IVR package to be operated by the Health representatives . The GUI based front-end was designed and developed using the JYACC/JAM application development tool. The GUI system was fully integrated with the voice database located on the SUN server (SYBASE). Extensive development of the stored procedures and c-functions libraries was created to support the full functionality of the on-line system.
- Developed c-libraries to be called by the GUI application to allow secure access of the information from different traders using the history database maintained by the Dow Jones. The protocol to communicate between various systems was developed to provide secure access to the clients. The client / server package is fully optimized to minimize the data loss and speedy access.
- Designed and developed client/server modules to communicate between the STRATUS and the Audio Work Station (AWS).
- Designed and developed GUI front-end system using the JYACC/JAM application developer to access the voice database on the stratus system. Extensive usage of the stored procedures have been done to transact with the Sybase database.
- Preparation of training material ,user guides and conducting Technical seminars on these advanced Mechanical engineering packages and Educating users to use the above applications software.
- Design and development of TeleDraft - Mechanical engineering drafting package, featuring creating and editing of geometric, dimension, annotation entities. Development involved for understanding the specific requirements of the Design engineers , and made flexible to customize the menu structure to suit different departments.
