Computer Science CS425/CS6258/23/20011 The Architecting Phase Class diagrams are further refined in this phase of development Object diagrams are created.

Slides:



Advertisements
Similar presentations
Ch:8 Design Concepts S.W Design should have following quality attribute: Functionality Usability Reliability Performance Supportability (extensibility,
Advertisements

Interaction Diagrams CSCI Interaction Diagrams Two Types of Interaction diagrams defined in UML Collaboration Diagram –Emphasizes the structural.
OOAD Using the UML - Use-Case Analysis, v 4.2 Copyright  Rational Software, all rights reserved 1/18 Use Case Analysis – continued Control Classes.
Department of Informatics, UC Irvine SDCL Collaboration Laboratory Software Design and sdcl.ics.uci.edu 1 Informatics 43 Introduction to Software Engineering.
Chapter 15: System Modeling with UML
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.
L4-1-S1 UML Overview © M.E. Fayad SJSU -- CmpE Software Architectures Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I.
Chapter 1 Software Development. Copyright © 2005 Pearson Addison-Wesley. All rights reserved. 1-2 Chapter Objectives Discuss the goals of software development.
© Copyright Eliyahu Brutman Programming Techniques Course.
Chapter 10 Class and Method Design
Sharif University of Technology1 Design and Use-case Realization Software Engineering Laboratory Fall 2006.
© 2006 Pearson Addison-Wesley. All rights reserved2-1 Chapter 2 Principles of Programming & Software Engineering.
SE 555 Software Requirements & Specification Requirements Analysis.
SE-565 Software System Requirements More UML Diagrams.
Object-Oriented Analysis and Design
Chapter 3 Object-Oriented Analysis of Library Management System(LMS)
UML Sequence Diagrams Michael L. Collard, Ph.D. Department of Computer Science Kent State University.
Chapter 7: The Object-Oriented Approach to Requirements
What is Software Architecture?
UML Collaboration Diagram. Recap System Sequence Diagrams (SSD) UML for SSD Examples.
Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 8: Modelling Interactions and Behaviour.
Liang, Introduction to Java Programming, Sixth Edition, (c) 2007 Pearson Education, Inc. All rights reserved Chapter 12 Object-Oriented.
1 Phase Implementation. Janice Regan, Overview of Implementation phase Create Class Skeletons Define Implementation Plan (+ determine subphases)
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.
1 CMPT 275 Phase: Design. Janice Regan, Map of design phase DESIGN HIGH LEVEL DESIGN Modularization User Interface Module Interfaces Data Persistance.
Chapter 5 Class Design. The Deliverables of the Class Design Process Class diagrams are further refined in this phase of development Object diagrams are.
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.
1 Object orientation. 2 What benefits does OO give? Primarily –Encapsulation (Associates data & operations) –Types & specialisation –Software re-use.
1 Sub-Phase Low Level Design (cont). Janice Regan, Map of design phase DESIGN HIGH LEVEL DESIGN Modularization User Interface Module Interfaces.
Programming in Java Unit 3. Learning outcome:  LO2:Be able to design Java solutions  LO3:Be able to implement Java solutions Assessment criteria: 
Practical Object-Oriented Design with UML 2e Slide 1/1 ©The McGraw-Hill Companies, 2004 PRACTICAL OBJECT-ORIENTED DESIGN WITH UML 2e Chapter 9: Interaction.
Copyright 2002 Prentice-Hall, Inc. Chapter 2 Object-Oriented Analysis and Design Modern Systems Analysis and Design Third Edition Jeffrey A. Hoffer Joey.
Lab 04.
Computer Science 340 Software Design & Testing UML Sequence Diagrams.
Lecture 3 Uses Cases Topics UML Use Cases pop quiz Readings: Chapter 3 January 24, 2008 CSCE 492 Software Engineering.
CS3773 Software Engineering Lecture 04 UML Class Diagram.
Unit 1 INTRODUCTION TO MODELING AND CLASS MODEL Ref : L7-UML.PDF.
Department of Informatics, UC Irvine SDCL Collaboration Laboratory Software Design and sdcl.ics.uci.edu 1 Informatics 43 Introduction to Software Engineering.
Class Design Phases. Where Are We? We’ve done our Product Design resulting in –Use Cases/Use Case diagrams –Class diagrams (initial) –State diagrams –Deployment.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 14 Slide 1 Object-oriented Design.
1 Software Development Software Engineering is the study of the techniques and theory that support the development of high-quality software The focus is.
Chapter 16 Applying UML and Patterns Craig Larman
1 CMPT 275 Software Engineering Requirements Analysis Phase Requirements Analysis activity Janice Regan,
Fall 2010 CS4310 Requirements Engineering A Brief Review of UML & OO Dr. Guoqiang Hu Department of Computer Science UTEP 1.
An Introduction to the Unified Modeling Language
The Unified Modeling Language Part II Omar Meqdadi SE 2730 Lecture 9 Department of Computer Science and Software Engineering University of Wisconsin-Platteville.
Part VII: Design Continuous
1-1 Software Development Objectives: Discuss the goals of software development Identify various aspects of software quality Examine two development life.
Ch- 8. Class Diagrams Class diagrams are the most common diagram found in modeling object- oriented systems. Class diagrams are important not only for.
© 2006 Pearson Addison-Wesley. All rights reserved2-1 Chapter 2 Principles of Programming & Software Engineering.
Chapter 2 Object-Oriented Paradigm Overview. Getting Acquainted with the Class Project Read the requirements specification carefully Make note of any.
© 2006 Pearson Addison-Wesley. All rights reserved 2-1 Chapter 2 Principles of Programming & Software Engineering.
Architecture View Models A model is a complete, simplified description of a system from a particular perspective or viewpoint. There is no single view.
Software Engineering and Object-Oriented Design Topics: Solutions Modules Key Programming Issues Development Methods Object-Oriented Principles.
Chapter 3: Introducing the UML
4+1 View Model of Software Architecture
Chapter 7 Classes and Methods III: Static Methods and Variables Lecture Slides to Accompany An Introduction to Computer Science Using Java (2nd Edition)
Sub-Phase Low Level Design (cont)
From Use Cases to Implementation 1. Structural and Behavioral Aspects of Collaborations  Two aspects of Collaborations Structural – specifies the static.
Communication Diagrams Lecture 8. Introduction  Interaction Diagrams are used to model system dynamics  How do objects change state?  How do objects.
1 Kyung Hee University Interaction Diagrams Spring 2001.
ITEC1301 Object-Oriented Systems Construction Lecture Notes #4 1.
From Use Cases to Implementation 1. Mapping Requirements Directly to Design and Code  For many, if not most, of our requirements it is relatively easy.
UNIT-IV Designing Classes – Access Layer ‐ Object Storage ‐ Object Interoperability.
Roberta Roth, Alan Dennis, and Barbara Haley Wixom
Object-Oriented Analysis
Interactions.
Chapter 20 Object-Oriented Analysis and Design
Analysis models and design models
Copyright 2007 Oxford Consulting, Ltd
Presentation transcript:

Computer Science CS425/CS6258/23/20011 The Architecting Phase Class diagrams are further refined in this phase of development Object diagrams are created Interaction diagrams are created Class skeletons are created to embody all analysis and design information created to this point in the development process

Computer Science CS425/CS6258/23/20012 Class Skeletons We will preview class skeletons to better understand the objectives of design Class skeletons are partial class definitions Class skeletons should be heavily commented, so that the purpose of all attributes, methods, and constructors is clear Class skeletons are the basis for the implementation phase of development

Computer Science CS425/CS6258/23/20013 Contents of Class Skeletons A list of the roles the class plays within the system Information concerning when objects of the class are created and deleted (information maintenance) For each role, the semantics of the class All attributes with access modifiers, types, names, and semantics For all constructors and methods, their signature, semantics, preconditions and postconditions

Computer Science CS425/CS6258/23/20014 LMS Class Skeleton

Computer Science CS425/CS6258/23/20015 System Decomposition Adds detail to the previous system representation Can be done iteratively or in a traditional, waterfall manner Each phase in the system development decomposes the system further Leads to a blueprint for implementation

Computer Science CS425/CS6258/23/20016 More UML Access Modifiers + means public - means private # means protected Constraints (restriction on the class) { } E.g {Students may check out at most 25 items} Tagged values also use { } E.g. {Requirement #5}

Computer Science CS425/CS6258/23/20017 More UML: Multiplicity Multiplicity or cardinality is represented above by the 0..1 and 0..* The above diagram indicates that a resource is checked out by 0 or 1 patrons and that each patron may check out 0 to many resources PatronResource 0..1 checks out 0..* Borrower

Computer Science CS425/CS6258/23/20018 More UML: Aggregation Patron Resource The solid diamond indicates that the Overdue form letter class consists of Patron and Resource objects. Solid diamond indicates that Patron and Resource classes exist in their own right Overdue form letter

Computer Science CS425/CS6258/23/20019 Aggregation Example from LMS where classes do not exist independent from aggregating class?

Computer Science CS425/CS6258/23/ Interaction Diagrams Interaction diagrams model dynamic aspects of the system by specifying the interaction among objects to produce a particular behavior Two types of interaction diagrams are defined in UML –Collaboration diagrams, which emphasize the structural organization of objects that send and receive messages –Sequence diagrams, which emphasize the time ordering of the messages passed between objects

Computer Science CS425/CS6258/23/ Notational Elements of Interaction Diagrams Object Link Message method(parameters) Object: class The object name is optional in the depiction of an object in UML notation An object is distinguished from a class in UML notation by the colon and underlining of the class name

Computer Science CS425/CS6258/23/ LMS: Collaboration Diagram : Patron : Library System : LibraryDatabase Checkout(ResourceID) validatePatron(MemDate) update(Patron) create(LibraryDatabase) getResource(ResourceID) getPatron(PatronID)

Computer Science CS425/CS6258/23/ Steps for Creating Collaboration Diagrams Identify a behavior to model Identify participating class and their relevant interrelationships Identify a specific scenario to model determine necessary message passing to carry out the behavior Introduce solution for object persistence, if needed

Computer Science CS425/CS6258/23/ Sequence Diagrams Like collaboration diagrams, sequence diagrams model dynamic aspects of the system by specifying the interaction among objects to produce a particular behavior Sequence diagrams specify the time ordering of messages Sequence diagrams show the life span of each object

Computer Science CS425/CS6258/23/ Check out resource Sequence Diagram : Patron : Library System : LibraryDatabase create(LibraryDatabase) getResource(ResourceID) getPatron(PatronID) validatePatron(MemDate)

Computer Science CS425/CS6258/23/ Evaluating Design Modeling software helps us produce correct, well- structured systems The resultant models can also be scrutinized for potential data integrity problems For example, in the LMS system, having update methods execute separately for the Patron and Resource objects may result in data integrity errors if system failure occurs between the initiation of the first method and the termination of the second method

Computer Science CS425/CS6258/23/ Object Diagrams Models a set of objects and their interrelationships during a system snapshot A system snapshot is the state of the software system at a selected moment of time Object diagrams model another static perspective of the system Unlike other diagrams, object diagrams may contain multiple instances of the same class

Computer Science CS425/CS6258/23/ LMS Case Study: Object Diagram (partial) currentP: Student: List name=“Gert Stein” libraryID= homephone= workphone= membership= expire= :Book name = “SOTY” author=“b. hooks” ISBN=... :Book name = “FOF” author=“Ehrenreich” ISBN=...

Computer Science CS425/CS6258/23/ Steps for Creating Object Diagrams Identify a system snapshot within a scenario to model Identify participating classes and their interrelationships Identify all allocated objects at the time of the snapshot Show the state of each object in the snapshot Determine all interobject links

Computer Science CS425/CS6258/23/ Code Reuse Collaboration diagrams are of particular use in pattern scavenging Pattern scavenging involves studying the various diagrams produced during analysis and class design to identify patterns of class interaction Once such patterns are found, they should be evaluated to determine if they can be effectively reused

Computer Science CS425/CS6258/23/ Reuse in LMS Resource Checkable Resource Reserve Resource BookElectronic Media

Computer Science CS425/CS6258/23/ Guidelines for Class Design Always keep data private Always initialize data in a constructor Do not use too many related primitives Not all attributes need individual accessor or mutator methods Order elements comprising class definitions consistently Break up overly complex classes into multiple classes Name classes, methods and attributes well

Computer Science CS425/CS6258/23/ Verification of the Class Design All system requirements developed during analysis must be addressed during design –All design documents must cross reference requirements from the requirements specification All required attributes and methods must be used properly –Eg data integrity of attributes must be enforced by update methods The modules comprising the system must work together properly

Computer Science CS425/CS6258/23/ Next Distributed systems –Corba, Java-RMI Design Documents – Reviews Implementation – Reviews Testing Integration Project Presentations