Intro to UML - OO Class Diagrams Week 5 CMIS570. Plan for Tonight Object terms Unified Modeling Language history Class Diagrams Intro to Oracle Oracle.

Slides:



Advertisements
Similar presentations
Introduction to Object Orientation System Analysis and Design
Advertisements

Karolina Muszyńska Based on:
Chapter 3 Data Modeling Copyright © 2014 McGraw-Hill Education. All rights reserved. No reproduction or distribution without the prior written consent.
Chapter 22 Object-Oriented Systems Analysis and Design and UML Systems Analysis and Design Kendall and Kendall Fifth Edition.
Object-Oriented Analysis and Design
Chapter 1 Object-Oriented System Development
2-1 © Prentice Hall, 2007 Chapter 2: Introduction to Object Orientation Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph.
Introduction To System Analysis and Design
PowerPoint Presentation for Dennis & Haley Wixom, Systems Analysis and Design Copyright 2000 © John Wiley & Sons, Inc. All rights reserved. Slide 1 The.
Requirements Analysis 1 Use Cases -> Class Diagrams Moving from the user towards the system.
Irwin/McGraw-Hill Copyright © 2004 The McGraw-Hill Companies. All Rights reserved Whitten Bentley DittmanSYSTEMS ANALYSIS AND DESIGN METHODS6th Edition.
Slide 1 Systems Analysis & Design CS183 Spring Semester 2008 Dr. Jonathan Y. Clark Course Website:
Systems Analysis & Design Sixth Edition Systems Analysis & Design Sixth Edition Toolkit Part 5.
©TheMcGraw-Hill Companies, Inc. Permission required for reproduction or display. Chapter 1 Introduction to Object-Oriented Programming and Software Development.
Object Oriented Concepts. Movement toward Objects Instead of data-oriented or process-oriented Analysis, many firms are now moving to object-oriented.
Unified Modeling Language
Chapter 5: Modeling Systems Requirements: Events and Things
Introduction To System Analysis and design
Chapter 13 (Online): Object-Oriented Databases
CMIS 470 Structured Systems Design
Object-oriented methodology object models use case modeling unified modeling language the data dictionary the cornucopia case portfolio project Systems.
Systems Analysis and Design in a Changing World, Tuesday, Feb 27
Systems Analysis and Design in a Changing World, Fifth Edition
1 ER Modeling BUAD/American University Entity Relationship (ER) Modeling.
Prepared by Afra`a Sayah. Introduction. Weekly Tasks. Plane Phase. Analysis Phase. Design Phase. Report Rules. Conclusion. 2.
CMIS 470 Structured Systems Design Object-Oriented Analysis and Design – Sequence Diagrams; BPP details Week 5.
Copyright 2002 Prentice-Hall, Inc. Modern Systems Analysis and Design Third Edition Jeffrey A. Hoffer Joey F. George Joseph S. Valacich Chapter 20 Object-Oriented.
Slide 1 UML Review Chapter 2: Introduction to Object-Oriented Systems Analysis and Design with the Unified Modeling Language, Version 2.0 Alan Dennis,
Database Management System Prepared by Dr. Ahmed El-Ragal Reviewed & Presented By Mr. Mahmoud Rafeek Alfarra College Of Science & Technology Khan younis.
Unified Modeling Language, Version 2.0
5 Systems Analysis and Design in a Changing World, Fourth Edition.
Object-Oriented Sequence Diagrams
Introduction To System Analysis and Design
Use Cases Week 8 CMIS570. Refresher – Class Diagrams Appointment scheduling example Car Rental example E-Commerce example.
System Analysis System Analysis - Mr. Ahmad Al-Ghoul System Analysis and Design.
Copyright 2002 Prentice-Hall, Inc. Chapter 2 Object-Oriented Analysis and Design Modern Systems Analysis and Design Third Edition Jeffrey A. Hoffer Joey.
Structural Modeling. Objectives O Understand the rules and style guidelines for creating CRC cards, class diagrams, and object diagrams. O Understand.
IT 21103/41103 System Analysis & Design. Chapter 05 Object Modeling.
CHAPTER 13: OBJECT-ORIENTED DATA MODELING (OVERVIEW) © 2013 Pearson Education, Inc. Publishing as Prentice Hall 1 Modern Database Management 11 th Edition.
1 Entity-Relationship Diagram. 2 Components of ERD: –Entity –Relationship –Cardinality –Attributes.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 14 Slide 1 Object-oriented Design.
PowerPoint Presentation for Dennis & Haley Wixom, Systems Analysis and Design, 2 nd Edition Copyright 2003 © John Wiley & Sons, Inc. All rights reserved.
Lecture 6: Structural Modeling
PowerPoint Presentation for Dennis, Wixom, & Tegarden Systems Analysis and Design with UML, 3rd Edition Copyright © 2009 John Wiley & Sons, Inc. All rights.
5 Systems Analysis and Design in a Changing World, Fifth Edition.
Slide 1 Systems Analysis and Design With UML 2.0 An Object-Oriented Approach, Second Edition Chapter 2: Introduction to Object-Oriented Systems Analysis.
Unified Modeling Language. Object Oriented Methods ► What are object-oriented (OO) methods?  OO methods provide a set of techniques for analyzing, decomposing,
Object-Oriented Data Modeling
Object-Oriented Modeling: Static Models. Object-Oriented Modeling Model the system as interacting objects Model the system as interacting objects Match.
 Week08.  Review Schedule Weeks 8-14  This week o Review last class o Introduce Class Diagrams o ICE-03 Sheridan SYST Engineering Quality Systems.
Slide 1 Systems Analysis and Design With UML 2.0 An Object-Oriented Approach, Second Edition Chapter 2: Introduction to Object-Oriented Systems Analysis.
1 Unified Modeling Language, Version 2.0 Chapter 2.
OOP Review CS 124.
Chapter 2: Introduction to Object Orientation Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph S. Valacich, Jeffrey A.
OBJECT ORIENTED APPROACH WITH THE UML
Slide 1 Objectives Understand the basic characteristics of object-oriented systems. Be familiar with the Unified Modeling Language (UML),V.2.0.
Basic Characteristics of Object-Oriented Systems
CHAPTER 6 OBJECT ANALYSIS.
Slide 1 Unified Modeling Language, Version 2.0 Object-Oriented SAD.
5 Systems Analysis and Design in a Changing World, Fourth Edition.
Business System Development
Roberta Roth, Alan Dennis, and Barbara Haley Wixom
The Movement To Objects
Systems Analysis and Design
Object-Oriented Analysis and Design
Systems Analysis and Design With UML 2
Chapter 22 Object-Oriented Systems Analysis and Design and UML
Presentation transcript:

Intro to UML - OO Class Diagrams Week 5 CMIS570

Plan for Tonight Object terms Unified Modeling Language history Class Diagrams Intro to Oracle Oracle ERDs

Object-Oriented Analysis & Design Object-oriented analysis Defines all of the types of objects that do the work of the system Shows how objects interact Object-oriented design Defines all additional object types needed to communicate with people and devices in the system Refines each type of object for implementation

Object-Oriented Approach Views information systems as collections of interacting objects that work together to accomplish tasks Objects - things in the computer system that can respond to messages No processes, programs, data entities, or files

Classes and Objects A class is a category of similar objects. Each object is an instance of a class – that is, one specific member of the class. Class is the template – it contains all the shared attributes and behaviors found in each object of the class.

Objects An object is a person, place, event, or thing about which we want to capture data and define processes. Where have you heard this definition before?

Objects versus Entity Objects can have behaviors. Behaviors are methods or operations that serve to specify what actions the object can perform. Object instance is assigned a unique identifier. Entities have primary and foreign keys. However, objects have attributes like entities.

Example! Patient appointment scheduling example

Characteristics of OO Approach Methods and Messages Encapsulation (Information Hiding) Hierarchical Inheritance Polymorphism

Behaviors / Methods / Messages Behaviors specify what the object can do. A method is nothing more than an action or process that an object can perform. Methods are very much like a function or procedure in a traditional programming language. A message is the information sent to objects to trigger methods. Essentially a function or procedure call from one object to another object.

Encapsulation / Information Hiding Combining of processes and data into a single object. All attributes and methods are all together/incorporated in definition of object. Makes it easier to create new object classes – knows what to do when you want to create a new patient.

Hierarchical Inheritance Classes can have “children” Parent is “base” or “super” class Child is “derived” or “sub” class Similar to subtypes and supertypes of entities.

Polymorphism The same message can be interpreted differently by different classes of objects.

Unified Modeling Language (UML) The Three Amigos – Booch, Jacobson, and Rumbaugh Objective was to provide a common vocabulary of object-based terms and diagramming techniques for any systems development project from analysis through implementation.

UML diagrams 9 diagrams Used throughout SDLC Use consistent syntax and notation. Key building block is the use-case.

O-O Diagrams Use-CaseCaptures business requirements for system ClassIllustrates relationships between classes modeled in system ObjectIllustrates relationships between objects; used when actual instances of the classes will better communicate the model SequenceModels the behavior of classes within a use-case (temporal sequence) CollaborationModels the behavior of classes within a use-case (non- temporal sequence) StatechartExamines the behavior of one class within a use-case ActivityIllustrates the flow of activities in a use-case ComponentIllustrates the physical structure of the software DeploymentShows the mapping of software to hardware components

Class Diagrams Static Model During analysis, classes refer to the people, places, events, and things about which the system will capture information. What is this similar to?

Class Diagram vs ERD What would the class diagram contain that the ERD does not?

How to Draw the Class Each class is drawn using three part- rectangles. Let’s draw a class diagram for the Patient Appointment Scheduling System.

Patient Admission system A patient will call in to schedule an appointment or cancel an appointment. The office employee should be able to look up the patient’s name to determine if this is an existing patient. The office employee should also be able to lookup any existing unpaid bills the patient may have with the doctor’s office. The system will look up available times and dates for an appointment. When a day/time works for the patient, the system will add a new appointment. Before available days and times can be recorded, an employee of the doctor’s office will need to create a master schedule. This master schedule will list all the doctor’s schedules and the days and times the office will be open for appointments. The employee may also be able to update other forms, such as a patient’s medical history. A doctor can alter his or her schedule. When this occurs, the doctor will inform the employee of any days/times when he/she is not available. In addition, the doctor can add days/times when he/she is available to see patients.

Three kinds of Methods Constructor Query Update

Relationships in Class Diagram Again, similar to relationship in ERD. However, maintained internally by system rather than by primary keys or foreign keys.

Multiplicity Just another name for cardinality … and a different way to show it

Multiplicity InstanceRepresen- tation Description Exactly one1A department has one and only one boss. Zero or more0..*An employee has zero to many children. One or more1..*A boss is responsible for one or more employees. Zero or one0..1An employee can be married to zero or one spouse. Specified range 2..4An employee can take between two to four vacations each year. Multiple, disjoint range 1..3, 5An employee is a member of one to three or five committees.

Creating a Class Diagram 1. Identify classes 2. Identify attributes and methods 3. Draw relationships between the classes.

Example: Student Fitness class When a student wants to add a new class, the manager will check the fitness class schedule for availability. The manager will notify the student of an opening, and the student will pay the fee if there is an opening. The student is then registered for the class. As new instructors are hired, their availability to teach a class will be recorded. Information on the type of class the instructor is certified to teach as well as the times he/she is available is recorded. At times, the fitness class schedule must be changed. When this occurs, the manager will change the fitness schedule, and will then notify the instructors and students who are affected by the change.

Another example Using the web, customers should be able to search for products and identify if the item is available. They should be able to order the item. The functionality that the system should have is listed below: Search through the inventory of products Place an order Receive marketing material on all products User should be able to place item into shopping cart User should be able to provide customer information including billing information.

One last one… The Cougar Car Rental Agency rents cars to customer at the airport. Customers either call to reserve a rental car for specific dates or come to the Cougar Car Rental desk at the airport to rent a car without a reservation. The car rental agents work behind the counter, taking phone reservations and waiting on customers. When renting a car to a customer, the rental agent fills out the customer and rental car information on a rental contract, has the customer provide a credit card number as a down payment, has the customer sign the rental contract, and provide the customer a copy of the rental contract along with the keys for the rental car. Cougar Agency also has service technicians who clean the cars when customers return them, fill cars with gas, and prepare the cars for the next rental. The service technicians also make sure that the cars receive their regular maintenance, such as oil changes, and schedule other service when the cars are in need of repair. Also, Cougar has only a limited number of each type of vehicle to rent.