Object-Oriented Analysis and Design (OOAD). Presented By Zubair Azmat Omer bin Asad M. Daniyal Shafiq. Object-Orientation?. What is Object-Orientation & Object-Oriented (OO) Methods? (C++, Java,Oracle??) What is OO methods used for? What are the features of OO methods?
Omer bin Asad
“If class B inherits class A, then both operations and the information structure described in class A will become part of class B”
Note: In UML inheritance is 'upwards' in contrast to 'downwards'.
1. The actor or actors involved. An actor is a type of user (for example, cardholder) that interacts with the system.
2. The system being used.
3. The functional goal that the actor achieves using the system . the reason for using the system.
Note: An actor is an external entity to the system (may or may not be a Human.
Note: UI Design’s purpose is to enhance user involvement in earlier stages of the ISD cycle.
UML has Special Notation for Use Cases:
Actors: Represented as a Stick men
Use Case: Drawn as an Oval, with the name inside the oval.
Line is drawn to show the communication of the actor and the use case.
System boundary is drawn, keeping the actor outside the boundary (the actor is always outside the boundary.
Best Example RUP(Rational Unified Process)
OMG Acceptance, Nov 1997
Final Submission to OMG, Sep ‘97
First submission to OMG, Jan ‘97
Unified Method 0.8
“The Challenge over the next 20 years will not be speed or cost or performance; it will be a question of complexity”
Bill Raduchell, Chief Strategy Officer, Sun Microsystems
“Our enemy is complexity, and it’s our goal to kill it”
“A Use Case Diagram depicts actions by people and systems outside your system, along with what your system does in response. It’s useful for depicting the functional requirements of your system. ”
2- What does the KMS do when the care giver checks a pet out?
3- What action or actions by the care giver will cause the KMS to
update a kennel assignment?
4- What action or actions by the Care Giver will involve the
“An Activity Diagram depicts the detailed behavior inside a single functional requirement, including a primary scenario and a number of alternate scenarios. It’s useful for ensuring that you thoroughly understand a given functionality.”
1- What is the sequence of steps the system performs when assigning a pen to a pet that has visited previously?
2- What additional steps are performed for a pet that is new to the kennel?
“A Component Diagram depicts the deployable units of your system—executables, components, data stores, among others—and the interfaces through which they interact. It’s useful for exploring the architecture of your system. ”
1- The Care Giver Center is the Web page that the care giver uses to enter information about a pet. What interface does it use to provide data to the KMS?
2- What other components provide data to the KMS, and through what interfaces?
3- What types of contacts can be made through the Comm Center component?
“A Class Diagram depicts the classes and interfaces within the design of your system, as well as the relations between them. It’s useful for defining the internal, Object-Oriented structure of your code.”
1- What three classes are associated with the Kennel Assignment class?
2- What operations can objects of the Kennel Assignment class perform?
3- What attributes describe an object of the Pet Record class?
4- What attributes describe an object of the Kennel Space class?
“A Statechart Diagram depicts how the state of your system changes in response to internal and external events. It’s useful for ensuring that each event is handled properly no matter what state your system may be in.”
1- What event causes a kennel space, or pen, to enter the Defined state?
2- What events (from which states) cause a pen to enter the Available state?
3- What state does a pen enter when it’s currently in the Available state, and a Dismantled event occurs?
4- How can a pen go from the In Use state to the Deconstructed state?
“A Deployment Diagram depicts how the deployable units of your system—applications, components, data stores, etc.—are assigned to various nodes, as well as how the nodes communicate with each other and with devices. It’s useful both as a map of your system and as a means for studying the load across your system.”
2- How does the owner’s PC access pet information on the KMS server?
3- How does information go from the care giver station to the reception station?
“A Package Diagram depicts how related elements of your design are grouped together, as well as how the groups depend upon each other. It’s useful for dividing a complex design into multiple, more manageable smaller designs. ”
1- Which packages make use of information from the KMS Interfaces package?
2- Which packages does the KMS Central Classes package make use of?