1 / 44

Object Oriented Analysis and Design Using the UML

Object Oriented Analysis and Design Using the UML. Basic Concepts of Object Orientation. Object Class Attribute Operation Interface (Polymorphism) Component Package Subsystem Relationships. Truck. Chemical Process. Linked List. What is an Object?.

eitan
Download Presentation

Object Oriented Analysis and Design Using the UML

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Object Oriented Analysis and Design Using the UML

  2. Basic Concepts of Object Orientation • Object • Class • Attribute • Operation • Interface (Polymorphism) • Component • Package • Subsystem • Relationships

  3. Truck Chemical Process Linked List What is an Object? • Informally, an object represents an entity, either physical, conceptual, or software • Physical entity • Conceptual entity • Software entity

  4. A More Formal Definition • An object is a concept or thing with sharp boundaries and meaning for an application • An object is something that has: • State • Behavior • Identity

  5. Representing Objects • An object is represented as rectangles with underlined names Professor :Professor LAL Object Name Only Class Name Only

  6. What is a Class? • A class is a description of a group of objects with same properties (attributes), behavior (operations), relationships, and semantics • An object is an instance of a class OO Principle: Abstraction

  7. Sample Class Class Course Properties Name Location Days offered Credit hours Start time End time Behavior Add a student Delete a student Get course roster Determine if it is full a + b = 10

  8. Representing Classes • A class is represented using a compartmented rectangle a + b = 10 Professor Professor Simran

  9. Class Name Professor name Attributes empID Operations create( ) save( ) delete( ) change( ) Class Compartments • A class is comprised of three sections • The first section contains the class name • The second section shows the structure (attributes) • The third section shows the behavior (operations)

  10. CourseOffering :CourseOffering :CourseOffering number = 101 startTime = 900 endTime = 1100 number = 104 startTime = 1300 endTime = 1500 number startTime endTime What is an Attribute? Object Class Attribute Attribute Value

  11. CourseOffering addStudent deleteStudent getStartTime getEndTime What is an Operation? Class Operation

  12. What is a Package? • A package is a general purpose mechanism for organizing elements into groups • A model element which can contain other model elements • Package is rendered as a tabbed folder including name and sometimes, its contents. OO Principle:Modularity Package Name

  13. Basic Concepts of Object Orientation • Object • Class • Attribute • Operation • Interface (Polymorphism) • Component • Package • Subsystem • Relationships

  14. Relationships • Association • Aggregation • Composition • Dependency • Generalization

  15. Association Name Works for Professor University Professor University Association Class Relationships: Association • Models a semantic connection among classes Role Names Employee Employer

  16. Association • Association represents binary relationship between classes * enroll * Student Course advisee * * teach 1 1 Faculty adviser

  17. Student Schedule Relationships: Aggregation • A special form of association that models a whole-part relationship between an aggregate (the whole) and its parts Whole Part Aggregation

  18. Aggregation and Compositon • Aggregation is a special form of association • Has-a or part-whole relationship • Composition is a stronger form of aggregation

  19. Student Schedule • A form of aggregation with strong ownership and coincident lifetimes • The parts cannot survive the whole/aggregate Part Whole Aggregation

  20. Association: Multiplicity and Navigation • Multiplicity defines how many objects participate in a relationships • The number of instances of one class related to ONE instance of the other class • Specified for each end of the association • Associations and aggregations are bi-directional by default, but it is often desirable to restrict navigation to one direction • If navigation is restricted, an arrowhead is added to indicate the direction of the navigation

  21. 0..* 1..* 0..1 2..4 2, 4..6 Association: Multiplicity • Unspecified • Exactly one • Zero or more (many, unlimited) • One or more • Zero or one • Specified range • Multiple, disjoint ranges 1

  22. Student Schedule Example: Multiplicity and Navigation Multiplicity 1 0..* Navigation

  23. Example 1 1 1 * * * University College Department Student 1 1 Chairman-of Member-of 1 1..* Faculty

  24. Relationships: Dependency • A relationship between two model elements where a change in one may cause a change in the other. Client Supplier Component Class Supplier Client Package Dependency relationship ClientPackage SupplierPackage Dependency relationship

  25. Dependency is a relationship between entities such that the proper operation of one entity depends on the presence of the other entity, and changes in one entity would affect the other entity.

  26. Relationships: Generalization • A relationship between superclass and subclass. • Defines a hierarchy of abstractions in which a subclass inherits from one or more superclasses. • Single inheritance • Multiple inheritance • Generalization is an “is-a-kind of” relationship

  27. Account balance name number Withdraw() CreateStatement() Savings Checking GetInterest() Withdraw() Withdraw() Example: Single Inheritance Ancestor • One class inherits from another Superclass (parent) Generalization Relationship Subclasses Descendents

  28. Example: Multiple Inheritance • A class can inherit from several other classes FlyingThing Animal multiple inheritance Airplane Helicopter Bird Wolf Horse Use multiple inheritance only when needed, and always with caution !

  29. Person Trailer Example: What Gets Inherited GroundVehicle owner weight Superclass (parent) 0..* 1 licenseNumber register( ) generalization Truck Car size Subclass tonnage getTax( )

  30. UMLUnified Modeling Language

  31. What is UML? • UML is a language for • Visualizing • Specifying • Constructing • Documenting

  32. Building Blocks of UML • Things -- abstraction • Relations -- tie things together • Diagrams -- group interesting collections of things

  33. To view the static parts of a system using one of four following diagrams: • Class diagrams • To represent classes and interfaces • Object diagrams • To represent Objects • Component diagrams • To represent different components • Deployment diagrams • To represent different nodes of the system

  34. To view the dynamic parts of a system using one of five following diagrams: • Use Case Diagrams • Organizes the behavior of the system • Sequence Diagrams • Focused on the time ordering of messages • Collaboration Diagrams • Focused on the structural organization of objects that send and receive messages • State Chart Diagrams • Focused on the changing state of the system driven by events • Activity Diagrams • Focused on the flow of control from activity to activity

  35. Use Case Diagrams

  36. It models dynamic aspects of system. • Shows set of use cases ,actors and their relationships. • Contents • Use cases • Actors • relationships

  37. Use Case Diagrams • Use Case diagrams show the various activities the users can perform on the system. • They model the dynamic aspects of the system.

  38. Use Case Diagrams • A set of ACTORS : roles users can play in interacting with the system. • An actor is used to represent something that users our system. • A set of USE CASES: each describes a possible kind of interaction between an actor and the system. • Uses cases are actions that a user takes on a system • A number of RELATIONSHIPS between these entities (Actors and Use Cases). • Relationships are simply illustrated with a line connecting actors to use cases.

  39. Use Case Diagrams - Actors • An actor is a user of the system playing a particular role. • Actor is shown with a stick figure. employer employee client

  40. Reserve Borrow Use Case Diagrams – Use Cases • Use case is a particular activity a user can do on the system. • Is represented by an ellipse. • Following are two use cases for a library system.

  41. Use Case Diagram for Student Assessment Management System Grade system Record grades Student View grades Teacher Distribute Report cards Create report cards Printing administrator

  42. University Record System (URS) • A University record system should keep information about its students and academic staff. • Records for all university members are to include their id number, surname, given name, email, address, date of birth, and telephone number. • Students and academic staff each have their own unique ID number: studN (students), acadN (academic employee), where N is an integer (N>0). • In addition to the attributes mentioned above: • Students will also have a list of subjects they are enrolled in. A student cannot be enrolled in any more than 10 subjects. • Academic employees will have a salary, and a list of subjects they teach. An academic can teach no more than 3 subjects.

  43. Some Actions Supported by URS • The system should be able to handle the following commands. • Add and remove university members (students, and academic staff) • Add and Delete subjects • Assign and Un-assign subjects to students • Assign and Un-assign subjects to academic staff.

  44. student Use Case Diagram - URS System URS add member del member system user academic add subject del subject assg subject unass subject enrol subject unenrol subject

More Related