12/24/2015B.Ramamurthy1 Analysis and Design with UML: Discovering Classes Bina Ramamurthy.

Slides:



Advertisements
Similar presentations
Database Systems: Design, Implementation, and Management Tenth Edition
Advertisements

Chapter 22 Object-Oriented Systems Analysis and Design and UML Systems Analysis and Design Kendall and Kendall Fifth Edition.
UML: Use Cases Michael L. Collard, Ph.D. Department of Computer Science Kent State University.
Object-Oriented Analysis and Design
Department of Informatics, UC Irvine SDCL Collaboration Laboratory Software Design and sdcl.ics.uci.edu 1 Informatics 43 Introduction to Software Engineering.
1 SWE Introduction to Software Engineering Lecture 13 – System Modeling.
Practical Object-Oriented Design with UML 2e Slide 1/1 ©The McGraw-Hill Companies, 2004 PRACTICAL OBJECT-ORIENTED DESIGN WITH UML 2e Chapter 5: Restaurant.
UML – Class Diagrams.
Essentials of class models. 2 A very simple class model In UML, a class is shown in a class diagram as a rectangle giving its name.
Lecture 4 Class Responsibility Collaboration Cards
COST G9 - Work group 2 Cadastral science meeting Aalborg, Dk Modeling methodology for real estate transactions Radoš Šumrada Faculty.
C++ Training Datascope Lawrence D’Antonio Lecture 11 UML.
Classes Chapter 4. Terms and Concepts A class is a description of a set of objects that share the same attributes, operations, relationships, and semantics.
Unified Modeling Language 7/12/2015B.Ramamurthy1 The Unified Modeling Language™ (UML) was developed jointly by Grady Booch, Ivar Jacobson, and Jim Rumbaugh.
03/12/2001 © Bennett, McRobb and Farmer Use Case Diagrams Based on Chapter 6 of Bennett, McRobb and Farmer: Object Oriented Systems Analysis and.
Com S 362: Object-Oriented Analysis and Design Class, Responsibilities, Collaborations, CRC Cards Com S 362: Object-Oriented Analysis and Design Oct 18,
Introduction To System Analysis and design
CSE314 Database Systems Data Modeling Using the Entity- Relationship (ER) Model Doç. Dr. Mehmet Göktürk src: Elmasri & Navanthe 6E Pearson Ed Slide Set.
OO Analysis and Design CMPS OOA/OOD Cursory explanation of OOP emphasizes ▫ Syntax  classes, inheritance, message passing, virtual, static Most.
Unified Modeling Language User Guide Section 2—Basic Structural Modeling Chapter 4—Classes.
SOFTWARE ENGINEERING BIT-8 APRIL, 16,2008 Introduction to UML.
The Unified Modeling Language Part I Omar Meqdadi SE 2730 Lecture 6 Department of Computer Science and Software Engineering University of Wisconsin-Platteville.
High-Level Design With Sequence Diagrams COMP314 (based on original slides by Mark Hall)
Introduction To System Analysis and Design
Object-Oriented Analysis and Design An Introduction.
11 Partnership for Performance How to hear this lecture Click on the icon: to hear the narration for each slide.
Other UML Diagramming Techniques CS 124. UML Diagramming Techniques Class Diagrams Use Case Diagrams Interaction Diagrams Sequence diagrams Collaboration.
CS3773 Software Engineering Lecture 04 UML Class Diagram.
Requirements as Usecases Capturing the REQUIREMENT ANALYSIS DESIGN IMPLEMENTATION TEST.
Chapter Two The UML – Unified Modeling Language Ku-Yaw Chang Assistant Professor, Department of Computer Science and Information.
1 COMP 350: Object Oriented Analysis and Design Lecture 1Introduction References: Craig Larman Chapter 1.
1 Class Diagrams: The Essentials. 2 Terms and Concepts A class is... The most important building block of any object-oriented system. A description of.
1 Class Diagrams: Advanced Concepts. 2 Overview Class diagrams are the most commonly used diagrams in UML. Class diagrams are the most commonly used diagrams.
Lecture 6: Structural Modeling
Data flow diagrams IPT data flow diagrams A data flow diagram provides more detail at a lower then a context diagram. Data flow diagrams represent.
Introduction To OOP 1.0 Fundamentals Of Java Programming Language 2.0 Exception Handling 3.0 Classes, Inheritance And Polymorphism © 2011 | PN AZRINA.
1 What is OO Design? OO Design is a process of invention, where developers create the abstractions necessary to meet the system’s requirements OO Design.
UML as a Specification Language for Embedded Systems. By, Mir Ahmed Ali, Asst. Professor, ECM department, SNIST. By, Prof. Narsiah sir, Director of School.
ITEC324 Principle of CS III Chapter 2 (Horstmann’s Book) – Part 1 The Object-Oriented Design Process Hwajung Lee.
Use Case Textual Analysis
1 Introduction to Classes. 2 Terms and Concepts A class is... –The most important building block of any object- oriented system. –A description of a set.
Chapter 1 Data Abstraction: The Walls CS Data Structures Mehmet H Gunes Modified from authors’ slides.
UML Review of Use case diagrams. 2 Unified Modeling Language The Unified Modeling Language™ (UML) was developed jointly by Grady Booch, Ivar Jacobson,
Chapter 6: System Models Omar Meqdadi SE 273 Lecture 6 Department of Computer Science and Software Engineering University of Wisconsin-Platteville.
Object and Class Structuring Chapter 9 Part of Analysis Modeling Designing Concurrent, Distributed, and Real-Time Applications with UML Hassan Gomaa (2001)
Your Interactive Guide to the Digital World Discovering Computers 2012 Chapter 12 Exploring Information System Development.
High Level Design Use Case Textual Analysis SE-2030 Dr. Mark L. Hornick 1.
Identification of Classes. Object Oriented Analysis (OOA) OOA is process by which we identify classes that play role in achieving system goals & requirements.
Chapter 2 (Horstmann’s Book) – Part 1 The Object-Oriented Design Process Hwajung Lee.
Object-Oriented Analysis and Design
Analysis and Design with UML: Discovering Classes and Relationships
Introduction to Unified Modeling Language (UML)
Analysis and Design with UML: Discovering Classes and Relationships
Unified Modeling Language
Dynamic Modeling: Defining Classes
Advanced Java Programming
Analysis and Design with UML: Discovering Classes and Relationships
Real-time (OO) Systems Design Using UML
Understand and Use Object Oriented Methods
Other UML Diagramming Techniques
Unified Modeling Language
Review CSE116 2/21/2019 B.Ramamurthy.
Copyright 2007 Oxford Consulting, Ltd
Analysis and Design with UML: Classes and Relationships
Chapter 22 Object-Oriented Systems Analysis and Design and UML
Classes and Objects B.Ramamurthy 5/9/2019 B.Ramamurthy.
ITEC324 Principle of CS III
From Class Diagram to Contract Diagram
Chapter 4 Sequence Diagrams
Presentation transcript:

12/24/2015B.Ramamurthy1 Analysis and Design with UML: Discovering Classes Bina Ramamurthy

12/24/2015B.Ramamurthy2 Introduction Purpose of this part is to transform the requirement analysis represented by the use- case diagram(s) to design diagrams using static analysis. The result of this phase is UML class diagrams consisting of classes and relationship among them. We will study techniques to discover classes and the UML notations for representing class diagrams.

12/24/2015B.Ramamurthy3 Topics for Discussion Classes, Responsibility, Collaboration (CRC) method for discovering classes and assigning responsibility. Class-based Analysis and Design: UML notations, class diagrams. Case Studies.

12/24/2015B.Ramamurthy4 CRC Card Method Although proponents of the object paradigm often say that identifying objects is a simple and intuitive process, a number of noted experts admit that this is not always true! … The solution is to use the CRC process to determine the classes necessary to the system as part of the design process for the application. CRC (classes, responsibility, and collaboration) cards can be used to visualize and test different class- based models during the design phase. It is a proven technique used and advocated by leading methodologists.

12/24/2015B.Ramamurthy5 CRC Card Class Name Responsibilities Collaborations

12/24/2015B.Ramamurthy6 CRC Card Example Weather Station 1.Select 24hr/Current 2.Set Date Time 3.Display Current 1.Temp(T) 2.Wind (W) 3.Pressure (P) 4.Humidity (H) 4.Display 24hours 1.Hi/Lo for (TWPH) 5.Display Trends in TWPH 6.Calibrate Responsibilities Collaborations User Interface(UI) Date Time Temp Wind Pressure Humidity Calibrator

12/24/2015B.Ramamurthy7 CRC Card: UserInterface UserInterface 1.Input date 2.Input time 3.Input selection 4.Display data Responsibilities Collaborators Keypad Display Temp Wind Pressure Humidity

12/24/2015B.Ramamurthy8 CRC Card: Keypad Keypad Responsibilities 1.Store date 2.Store time 3.Store selection Collaborators Date Time Selection

12/24/2015B.Ramamurthy9 CRC Card: Temperature Temperature Responsibilities 1.Measure and Record temperature 2.Determine and record Hi/Lo 3.Determine trend Collaborations T.Device StatDataBase Date Time

12/24/2015B.Ramamurthy10 Class Discovery The entries in the collaborations column are possible classes or non-software entities. In this case these are: UserInterface, Display, Tempertaure, Wind, Pressure, Humidity, StatDataBase, Selection, Date, Time, Keypad, Callibrator. The responsibility of designing one or more of these classes can be assigned to the members of the group who participated in this discovery process. On to relations among classes and class diagrams.

12/24/2015B.Ramamurthy11 Classes OO paradigm supports the view that a system is made up of objects interacting by message passing. Classes represent collection of objects of the same type. An object is an instance of a class. A class is defined by its properties and its behaviors. A class diagram describes the static view of a system in terms of classes and relationships among the classes.

12/24/2015B.Ramamurthy12 Discovering Classes (Alternative) Underline the nouns in a problem statement. Using the problem context and general knowledge about the problem domain decide on the important nouns. Design and implement classes to represent the nouns. Underline the verbs. Verbs related to a class may represent the behavior of the class.

12/24/2015B.Ramamurthy13 Examples Drawing package: Design a user interface for drawing various shapes: circle, square, rectangle. Football scores: Keep track of football score. General purpose counter: To keep of track of count for various applications. Library: Books, different categories of books, details of student borrower, library personnel.

12/24/2015B.Ramamurthy14 Summary We looked at Class Diagrams which is very important part of UML Model, perhaps the only model used in many design representation. We also looked at two methods for class discovery(/analysis): CRC Card Method and Nouns-Verbs. Class diagrams directly represent the implementation (code) classes and the relationship among them.