Ch4: Software Architecture and Design. 1 The role of analysis and design  Software construction may be partitioned into the following phases:  Req.

Slides:



Advertisements
Similar presentations
UML an overview.
Advertisements

ARCH-05 Application Prophecy UML 101 Peter Varhol Principal Product Manager.
Karolina Muszyńska Based on:
Chapter 4 - Object-Oriented Analysis and Design in a Nutshell1 Chapter 4 Object-Oriented Analysis and Design in a Nutshell.
Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall A.1.
A Brief Introduction. Acknowledgements  The material in this tutorial is based in part on: Concurrency: State Models & Java Programming, by Jeff Magee.
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
Introduction To System Analysis and Design
Chapter 14 (Web): Object-Oriented Data Modeling
© Wolfgang Pelz Introduction Object-Oriented Methods: Analysis, Design & Programming Dr. Wolfgang Pelz Dr. Yingcai Xiao The University of Akron.
© Copyright Eliyahu Brutman Programming Techniques Course.
Copyright 2004 Prentice-Hall, Inc. Essentials of Systems Analysis and Design Second Edition Joseph S. Valacich Joey F. George Jeffrey A. Hoffer Appendix.
Itntroduction to UML, page 1 Introduction to UML.
Developed by Reneta Barneva, SUNY Fredonia Component Level Design.
Chapter 13 (Online): Object-Oriented Databases
UML Unified Markup Language Ziya Karakaya Atılım University, Computer Engineering
CIT UPES | Sept 2013 | Unified Modeling Language - UML.
Introduction to the Unified Modeling Language “The act of drawing a diagram does not constitute analysis or design. … Still, having a well-defined and.
Copyright 2001 Prentice-Hall, Inc. Essentials of Systems Analysis and Design Joseph S. Valacich Joey F. George Jeffrey A. Hoffer Appendix A Object-Oriented.
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.
Unified Modeling Language, Version 2.0
1 SYS366 Lecture Visual Modeling and Business Use Case Diagrams.
Introduction To System Analysis and Design
Object-Oriented Software Development F Software Development Process F Analyze Relationships Among Objects F Class Development F Class Design Guidelines.
UML What Is the UML? The Unified Modeling Language (UML) is the successor to the wave of object- oriented analysis and design (OOA&D) methods.
4. UML. CPSC 333: Foundations of Software EngineeringJ. Denzinger 4.1. Motivation The Unified Modeling Language tries to integrate older approaches Developed.
© 2009 Pearson Education, Inc. Publishing as Prentice Hall 1 Chapter 15: Object-Oriented Data Modeling Modern Database Management 9 h Edition Jeffrey A.
Unified Modeling Language* Keng Siau University of Nebraska-Lincoln *Adapted from “Software Architecture and the UML” by Grady Booch.
1 COMP 350: Object Oriented Analysis and Design Lecture 1Introduction References: Craig Larman Chapter 1.
UML Use Case Diagramming Guidelines. What is UML? The Unified Modeling Language (UML) is a standard language for specifying, visualizing, constructing,
2 2009/10 Object Oriented Technology 1 Topic 2: Introduction to Object-Oriented Approach Reference: u Ch.16 Current Trends in System Development (Satzinger:
UML as a Specification Language for Embedded Systems. By, Mir Ahmed Ali, Asst. Professor, ECM department, SNIST. By, Prof. Narsiah sir, Director of School.
1/26 On-demand Learning Series Software Engineering of Web Application - Object-Oriented Development & UML Hunan University, Software School.
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,
Introduction to UML CS A470. What is UML? Unified Modeling Language –OMG Standard, Object Management Group –Based on work from Booch, Rumbaugh, Jacobson.
The Unified Modeling Language (UML)
Lecture 9-1 : Intro. to UML (Unified Modeling Language)
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.
UML Review of Use case diagrams. 2 Unified Modeling Language The Unified Modeling Language™ (UML) was developed jointly by Grady Booch, Ivar Jacobson,
CSCI 3428: Software Engineering Tami Meredith UML Unified Modeling Language.
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.
Copyright © 2009 Pearson Education, Inc. Publishing as Prentice Hall Appendix A Object-Oriented Analysis and Design A.1.
Object Oriented Programming and Data Abstraction Earl Huff Rowan University.
1 SYS366 Week 2 - Lecture 2 Visual Modeling & UML.
Basic Characteristics of Object-Oriented Systems
Chapter 11 Inheritance © 2008 Pearson Education Inc., Upper Saddle River, NJ. All rights reserved. Marilyn Bohl/Maria Rynn Tools for Structured and Object-Oriented.
UML. Model An abstract representation of a system. Types of model 1.Use case model 2.Domain model 3.Analysis object model 4.Implementation model 5.Test.
UA. Unified Approach ( UA ) It combines best practices, methods process, guidelines & methodology (Rumbaugh, Booch and Jacobson) along with UML notations.
SWE 214 (071) Introduction to UML Slide 1 Introduction to UML.
Modified from Sommerville’s originalsSoftware Engineering, 7th edition. Chapter 14 Slide 1 Object-Oriented Design.
1 An Overview of UML. 2 The Unified Modeling Language UML is a graphical language used by software engineers to model software systems during development.
Slide 1 Unified Modeling Language, Version 2.0 Object-Oriented SAD.
Modeling with UML – Class Diagrams
UNIT 1.
Introduction to the Unified Modeling Language
Systems Analysis and Design With UML 2
Introduction to Unified Modeling Language (UML)
Introduction to Object Oriented Analysis, Design and Unified Modeling Language (UML) Shanika Karunasekera.
Introduction to UML.
Appendix A Object-Oriented Analysis and Design
Introduction to the Unified Modeling Language
Software Design Lecture : 15.
Appendix A Object-Oriented Analysis and Design
Appendix A Object-Oriented Analysis and Design
Presentation transcript:

Ch4: Software Architecture and Design

1 The role of analysis and design  Software construction may be partitioned into the following phases:  Req. analysis:  S/w architecture:  High-level/early design:  Detailed design:  Implementation:  Testing:

2 The Role of Analysis and Design  Analysis:  OO Analysis:  Design:  OO design:

3 Guidelines for designing classes Specifying “Good” Classes  Identifying a good class is hard work  A well-defined class is:

4 Guidelines for design of classes (contd..) Understanding the utility of classes  Three categories of software in application:  Domain independent (20%):  Domain-specific (65%):  Application-specific (15%):  Organizations must strive for domain and organization specific reuse.

5 Guidelines for designing classes  Containment vs. inheritance  Class D “Is-A-Kind-Of” class C:  Class D “Has-A” class C:  Choose How and when to apply reuse, relationship among classes. Need discussion, communication and cooperation among engineers.

6 History of OO design  Booch: The Booch method  Object-Oriented Design with Application,” Benjamin/Cummings,  Rumbaugh: OMT  “Object-Oriented Modeling and Design,” Prentice-Hall,  Meyer: Client/Server contract approach  “Object-Oriented Software Construction,” Prentice-Hall,  Jacobson: Use-cases and software engineering  “Object-Oriented Software Engineering: A Use Case Driven Approach,” Addison-Wesley, 1992.

7 History of OO design (contd..)  Coleman: The Fusion method  “Object-Oriented Development - The Fusion Method,” Prentice- Hall,  Lieberherr: Adaptive OO software  “Adaptive OO Software: The Demeter Method with Propagation Patterns,” PWS,  Gamma: Design Patterns  “Design Patterns: Elements of Reusable Object-Oriented Software,” Addison-Wesley,  Booch and Rumbaugh: UML Predecessor  “Unified Method for Object-Oriented Development,” Rational TR, 1995

8 The emergence of UML  The Unified Modeling Language (UML) is the object-oriented analysis and design equivalent of Java  UML is a language for  Web address:  UML unifies:  Object-oriented analysis and design: Grady Booch approach.  Object-oriented modeling and design: Jim Rumbaugh  Object-oriented SE, A use case drive approach: Jacobson  A modeling language provides:

9 Seven goals of UML  Ready-to-use, expressive visual modeling language that promotes development/exchange  Extensibility/specialization of core concepts  Independent of programming languages and development processes  Formal basis for understanding language  Encourage growth of OO tools market  Support higher level design concepts:  Collaborations, frameworks, etc.  Collaborations, frameworks, ptterns, etc.  Integrate the best practices of all OOD

10 Characteristics of UML  Generic syntax:  Syntax is independent of:  Flexible syntax:

11 UML modeling constructs/diagrams  User interaction diagrams  Use-case diagrams  Static structure diagrams  Class diagrams  Object diagrams  Behavior diagrams  Statechart diagrams  Activity diagrams  Interaction diagrams  Sequence diagram  Collaboration diagram  Implementation diagrams  Component diagram  Deployment diagram

12 Class diagrams  Class in UML:  Representation of classes:  Designer develops classes as sets of compartments that grow over time to incrementally add functionality and features

13 Example class diagram CustomerAccount + Account: Int + Name: String + Address: String + Balance: Float + AddCustomer() + DeleteCustomer() + GetBalance() Name Attributes Operations “+” indicates that the attribute/operation is public “-” indicates that the attribute/operation is private “#” indicates that the attribute/operation is protected

14 Relationships among classes  Inheritance  Association  Aggregation

15 Generalization/Specialization (Inheritance) BankAccount CheckAccount SavAccount Checking Account and Savings Account are special cases of Bank Account

16 Generalization/Specialization (Inheritance) Employee Admin_staff Tech_staff Administrative Staff and Technical Staff are special cases of the class Employee

17 Association Course 1 * Instructor Multiplicity constraints indicate how many objects participate in the association. May be specified as -- upper_bound….lower_bound 1, 1:1 – Only one object *, 1:* - At least one object * -- any number of objects between 0 and infinity Relationship among instances of objects of one class and instances of objects among other classes. Represent using a line, label each end With how many objects participate in the association.

18 Association (contd..) Multiplicity 1:3 indicates that each Instructor teaches at least one course but no more than three courses. Course 1 1:3 Instructor

19 Association (contd..) * 1 TechStaff Manager 1 Project 1…* project_member manages

20 Aggregation Store Depts. 5 Objects are composed of simpler objects. Triangle consists of three points.

21 Class Diagram: High Tech SuperMarket System Consider the process of updating the inventory in the high-tech supermarket system. Central to the process is an inventory order. An inventory assistant in the HTSS is responsible for managing a inventory order. In addition, each inventory assistant may be involved in managing several inventory orders. An inventory order is associated with a list of items. Each item in the list can be of three types, namely, snack item, liquor item, and canned item. Each inventory order is submitted to three wholesale stores. Each wholesale store caters to a specific set of items. For example, the Liquor Store is responsible for delivering liquor items. These three wholesale stores, are, namely, Liquor Store, Produce Store, and Snack Store. Construct a UML class diagram to model the process of inventory update in the HTSS.

22 Class diagram: HTSS InvenOrder InvenAssist WholeStore ItemList Item LiqStore ProdStore SnStore PerishItem NPerishItem 1 * * …3 1

23 UML tools  Argo UML   Object Domain   Rational Rose:   Microsoft Visio