Session 12 Applying the Class Diagram to the Case Study Written by Thomas A. Pender Published by Wiley Publishing, Inc. October 12, 2011 Presented by Hyewon.

Slides:



Advertisements
Similar presentations
Qualitative and Observational Research
Advertisements

© 2011 Pearson Education, Inc. Publishing as Prentice Hall 1 Chapter 3: The Enhanced E-R Model Modern Database Management 10 th Edition Jeffrey A. Hoffer,
Karolina Muszyńska Based on:
Object-oriented modeling Class/Object Diagrams
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.
Session 18 Modeling the Dynamic View: The Collaboration Diagram Written by Thomas A. Pender Published by Wiley Publishing, Inc. October 20, 2011 Presented.
UML Class Diagram. UML Class Diagrams2 Agenda What is a Class Diagram? Essential Elements of a UML Class Diagram Tips.
Irwin/McGraw-Hill Copyright © 2004 The McGraw-Hill Companies. All Rights reserved Whitten Bentley DittmanSYSTEMS ANALYSIS AND DESIGN METHODS6th Edition.
Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 7 Data Modeling Using the Entity- Relationship (ER) Model.
The Software Product Life Cycle. Views of the Software Product Life Cycle  Management  Software engineering  Engineering design  Architectural design.
Unified Modeling Language
The chapter will address the following questions:
Session 24 Modeling the Development Environment Written by Thomas A. Pender Published by Wiley Publishing, Inc. October 27, 2011 Presented by Hyewon Lim.
MVC and MVP. References enter.html enter.html
SOFTWARE ENGINEERING BIT-8 APRIL, 16,2008 Introduction to UML.
SE-280 Dr. Mark L. Hornick Design Review Issues. SE-280 Dr. Mark L. Hornick 2 Many expensive defects are a result of design problems Software applications.
ArchiMate Authors : eSchoolink Group - ITNLU. Contents 1. What’s ArchiMate ? 2. Why ArchiMate ? 3. Main Benefits of ArchiMate 4. Layers of ArchiMate 5.
Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 7 Data Modeling Using the Entity- Relationship (ER) Model.
Session 11 The Class Diagram: Aggregation and Generalization Written by Thomas A. Pender Published by Wiley Publishing, Inc. October 12, 2011 Presented.
CSC 213 – Large Scale Programming Lecture 3: Object-Oriented Analysis.
Presented by: CHAN LAI SAN ( ) REBAH DAW SARREB ( ) FIDA AL-OBAISI ( ) 08 April 2008 (Tuesday 6pm – 7:30pm)
Object-Oriented Analysis and Design An Introduction.
Session 26 Modeling the Static View: The Deployment Diagram Written by Thomas A. Pender Published by Wiley Publishing, Inc. October 27, 2011 Presented.
R McFadyen Chapter 7 Conceptual Data Modeling.
Chapter 3 – The Analysis Workflow CSC532: Fall 2003 Original presentation by Joshua Hughes Zehra Raoshan Kiran Balagani Guang Li This presentation will.
Copyright 2002 Prentice-Hall, Inc. Chapter 2 Object-Oriented Analysis and Design Modern Systems Analysis and Design Third Edition Jeffrey A. Hoffer Joey.
Distributed Java Programming Distributed Java Programming Class #2 August 22, 2002.
Session 21 Applying the Basic Statechart to the Case Study Written by Thomas A. Pender Published by Wiley Publishing, Inc. October 27, 2011 Presented by.
Session 22 Modeling the Extended Features of the Statechart Written by Thomas A. Pender Published by Wiley Publishing, Inc. October 27, 2011 Presented.
1 Software Engineering: A Practitioner’s Approach, 6/e Chapter 8: Analysis Modeling Software Engineering: A Practitioner’s Approach, 6/e Chapter.
Kyung Hee University System Functional Model OOSD 담당조교 석사과정 이정환.
Session 4 Defining Requirements for the Case Study Written by Thomas A. Pender Published by Wiley Publishing, Inc. October 5, 2011 Presented by Kang-Pyo.
UML diagrams What is UML UML diagrams –Static modeoing –Dynamic modeling 1.
INFO 620Lecture #81 Information Systems Analysis and Design Class Diagram Refinement INFO 620 Glenn Booker.
Chapter 8 Analysis & Modeling. Data Modeling examines data objects independently of processing focuses attention on the data domain creates a model at.
UML Diagrams A tool for presentation of Architecture.
Session 28 Analysis and Architectural Design of a Web Application Written by Thomas A. Pender Published by Wiley Publishing, Inc. November 2, 2011 Presented.
CSC 395 – Software Engineering Lecture 14: Object-Oriented Analysis –or– Ripping the Band-Aid Off Quickly.
PowerPoint Presentation for Dennis & Haley Wixom, Systems Analysis and Design, 2 nd Edition Copyright 2003 © John Wiley & Sons, Inc. All rights reserved.
UML The Unified Modeling Language A Practical Introduction Al-Ayham Saleh Aleppo University
CIS 112 Exam Review. Exam Content 100 questions valued at 1 point each 100 questions valued at 1 point each 100 points total 100 points total 10 each.
Design Jon Walker. More UML ● What is UML again?
Design? !… When it needs? To understand, to communicate with customers Complex problem What is good design? Separate What to do?(Policy) and How to do(mechanism)
Part VII: Design Continuous
Design Model Lecture p6 T120B pavasario sem.
UML Weekend Crash Course Ch.11~20 Park, Hyoung-woo SNU OOPSLA Lab. Thomas A. Pender, Wiley
Slide 1 Systems Analysis and Design with UML Version 2.0, Second Edition Alan Dennis, Barbara Wixom, and David Tegarden Chapter 9: Moving on to Design.
Object-Oriented Analysis and Design CHAPTERS 9, 31: DOMAIN MODELS 1.
Lab 5 CPIT 250 System Analysis and Design.
Chapter 16 UML Class Diagrams 1CS6359 Fall 2012 John Cole.
Session 3 How to Approach the UML Written by Thomas A. Pender Published by Wiley Publishing, Inc. October 5, 2011 Presented by Kang-Pyo Lee.
22 August, 2007Information System Design IT60105, Autumn 2007 Information System Design IT60105 Lecture 8 Use Case Diagrams.
Chapter 2: Introduction to Object Orientation Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph S. Valacich, Jeffrey A.
UML Course Instructor: Rizwana Noor. Overview  Modeling  What is UML?  Why UML?  UML Diagrams  Use Case  Components  Relationships  Notations.
Session 1 What Is the UML? Written by Thomas A. Pender Published by Wiley Publishing, Inc. October 5, 2011 Presented by Kang-Pyo Lee.
McGraw-Hill/Irwin© 2008 The McGraw-Hill Companies, All Rights Reserved Chapter 17 Object-Oriented Design and Modeling Using the UML.
Kyung Hee University Class Diagramming Notation OOSD 담당조교 석사과정 이정환.
Kyung Hee University System Functional Model OOSD 담당조교 석사과정 이정환.
Session 29 Design of a Web Application Written by Thomas A. Pender Published by Wiley Publishing, Inc. November 2, 2011 Presented by Hyewon Kim.
Software Modelling Class Diagram. Class Diagrams The main building block in object oriented modeling They are used both for general conceptual modeling.
1 Chapter 13: Class Diagram Chapter 19 in Applying UML and Patterns Book.
UML Diagrams: Class Diagrams The Static Analysis Model
UML Diagrams By Daniel Damaris Novarianto S..
Business System Development
UML Diagrams Jung Woo.
Systems Analysis and Design With UML 2
Entity – Relationship Model
Chapter 22 Object-Oriented Systems Analysis and Design and UML
UML  UML stands for Unified Modeling Language. It is a standard which is mainly used for creating object- oriented, meaningful documentation models for.
Presentation transcript:

Session 12 Applying the Class Diagram to the Case Study Written by Thomas A. Pender Published by Wiley Publishing, Inc. October 12, 2011 Presented by Hyewon Lim

Contents  Modeling the Inventory Control System for the Case Study  Understanding UML Notation for Design Patterns  Using Design Patterns in the Class Diagram 2

Modeling the Inventory Control System for the Case Study (1/3)  Problem statement: for the inventory control system 3 Our system is designed to inventory and ship uniquely identified products. These products may be purchased directly from vendors and resold as is, or we can package vendor products together to make our own custom product. Customers place orders for one or more items, but we acknowledge interested customers in the system whether they have purchased yet or not. Each item corresponds to a product. We identify each product using a unique serial number. The Customer may inquire on the status of his Orders using the order number. Shipments of products from vendors are received and placed into inventory. Each product is assigned to a location so that we can easily find it later when filling orders. Each location has a unique location identifier. Customer orders are shipped as the products become available, so there may be more than one shipment to satisfy a single customer order. But a single shipment may contain products from multiple orders. Any items that have not been shipped are placed on a backorder with a reference to the original order.

Modeling the Inventory Control System for the Case Study (2/3)  Building the Class diagram 1.Identify the classes, name them, and define them so you know why they are part of the model 2.Identify name, and define the associations between pairs of classes Watch out for reflexive associations as well Assign multiplicity and constraints where needed 3.Evaluate each association to determine where it should be defined as aggregation If it is aggregation, then could it be composition? 4.Evaluate the classes for possible specialization or generalization 4

Modeling the Inventory Control System for the Case Study (3/3) 5

Contents  Modeling the Inventory Control System for the Case Study  Understanding UML Notation for Design Patterns  Using Design Patterns in the Class Diagram 6

Understanding UML Notation for Design Patterns (1/5)  Patterns –Help architects work more easily with complex structures –E.g., Kitchen? 7

Understanding UML Notation for Design Patterns (2/5)  If everyone knows what a kitchen is, does that mean that all kitchens are identical? No!!! –Kitchen is only a pattern, the concept of kitchen can be implemented in literally thousands of different ways  Four basic elements for defining a pattern 8

Understanding UML Notation for Design Patterns (3/5)  A pattern is that they define a concept, not the code –A concept designed to help developers communicate common solutions to common problems  E.g., Observer design pattern –Addresses the problem where one object needs to know when something happens to another object so that it can respond immediately to the change 9

Understanding UML Notation for Design Patterns (4/5)  E.g., Observer design pattern 10

Understanding UML Notation for Design Patterns (5/5)  UML refers to a pattern as a collaboration –An oval shape containing the pattern name –Draw dashed lines from the collaboration to the classes that implement the pattern –Place the role that the class plays in the implementation of the pattern 11

Contents  Modeling the Inventory Control System for the Case Study  Understanding UML Notation for Design Patterns  Using Design Patterns in the Class Diagram 12

Using Design Patterns in the Class Diagram (1/5)  Managing complex state-specific behavior –When you checked the attribute values in the conditional logic, you were actually checking the object’s state –When the implementation of the methods depends on changes in the attribute values (state changes), the code can quickly become very complicated to write and difficult to maintain ⇨ state design pattern offers a solution! 13

Using Design Patterns in the Class Diagram (2/5)  State design pattern 14

Using Design Patterns in the Class Diagram (3/5)  State design pattern in a Class diagram 15

Using Design Patterns in the Class Diagram (4/5)  Pattern notation –Explains their communication, the methods they need to support, and the attributes they will need in order to support the relationship and the communication –Using the design pattern notation in the Class diagram can streamline the review process  To learn patterns, keep in mind the four element listed in this session –Learn to identify the problems that the patterns are designed to address –Know when not to use a pattern 16

Using Design Patterns in the Class Diagram (5/5)  Caution about patterns –Patterns improve your ability to share common solutions with your teammates  If you throw lots of new patterns into your design and your teammates have no idea what you’re doing, then what have you gained? –Some patterns are refined so much that they aren’t very easy to understand 17

The End