Programming Logic and Design Fourth Edition, Comprehensive Chapter 15 System Modeling with the UML.

Slides:



Advertisements
Similar presentations
© 2005 by Prentice Hall Appendix 3 Object-Oriented Analysis and Design Modern Systems Analysis and Design Fourth Edition Jeffrey A. Hoffer Joey F. George.
Advertisements

UML (Sequence Diagrams, Collaboration and State Chart Diagrams) Presentation By - SANDEEP REDDY CHEEDEPUDI (Student No: ) - VISHNU CHANDRADAS (Student.
Object-Oriented Application Development Using VB.NET 1 Chapter 5 Object-Oriented Analysis and Design.
© 2006 ITT Educational Services Inc. SE350 System Analysis for Software Engineers: Unit 9 Slide 1 Appendix 3 Object-Oriented Analysis and Design.
Systems Analysis and Design 8th Edition
Chapter 22 Object-Oriented Systems Analysis and Design and UML Systems Analysis and Design Kendall and Kendall Fifth Edition.
2008/03/25 Unified Modeling Lanauage 1 Introduction to Unified Modeling Language (UML) – Part One Ku-Yaw Chang Assistant Professor.
Department of Computing
Chapter 15: System Modeling with UML
2-1 © Prentice Hall, 2007 Chapter 2: Introduction to Object Orientation Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph.
Chapter 18 Object-Oriented Systems Analysis and Design Using UML
Systems Analysis and Design in a Changing World, Fourth Edition
Lecture 12: Chapter 22 Topics: UML (Contd.) –Relationship Structural Behavioral –Diagram Structural Behavioral.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 8 Slide 1 System models.
Systems Analysis & Design Sixth Edition Systems Analysis & Design Sixth Edition Toolkit Part 5.
© 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.
System Analysis and Design
Unified Modeling Language
Class, Sequence and UML Model.  Has actors and use cases.
Chapter 4 System Models A description of the various models that can be used to specify software systems.
System Modelling with UML objectives
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.
©Ian Sommerville 1995/2000 (Modified by Spiros Mancoridis 1999) Software Engineering, 6th edition. Chapter 7 Slide 1 System models l Abstract descriptions.
1 UML Basic Training. UML Basic training2 Agenda  Definitions: requirements, design  Basics of Unified Modeling Language 1.4  SysML.
Chapter 7 System models.
Modified by Juan M. Gomez Software Engineering, 6th edition. Chapter 7 Slide 1 Chapter 7 System Models.
Systems Analysis and Design in a Changing World, 3rd Edition
1 Devon M. Simmonds University of North Carolina, Wilmington CSC450 Software Engineering WorkFlow Modeling with Activity Diagrams.
Software Engineering, 8th edition Chapter 8 1 Courtesy: ©Ian Somerville 2006 April 06 th, 2009 Lecture # 13 System models.
Sommerville 2004,Mejia-Alvarez 2009Software Engineering, 7th edition. Chapter 8 Slide 1 System models.
Chapter 5 Models and UML Notation for The Object-Oriented Approach.
Systems Analysis & Design 7 th Edition Chapter 5.
To navigate the slide presentation, use the navigation bar on the left OR use your right and left arrow keys. Move your mouse over the key terms throughout.
Systems Analysis and Design 8 th Edition Chapter 6 Object Modeling.
UML diagrams What is UML UML diagrams –Static modeoing –Dynamic modeling 1.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 1 Chapter 7 System Models.
7 Systems Analysis and Design in a Changing World, Fifth Edition.
TAL7011 – Lecture 4 UML for Architecture Modeling.
Design Jon Walker. More UML ● What is UML again?
Software Engineering Software Engineering - Mr. Ahmad Al-Ghoul.
Unified Modeling Language User Guide Section 4 - Basic Behavioral Modeling Chapter 16 - Use Cases Chapter 17 - Use Case Diagrams.
Introduction to UML CS A470. What is UML? Unified Modeling Language –OMG Standard, Object Management Group –Based on work from Booch, Rumbaugh, Jacobson.
CS212: Object Oriented Analysis and Design Lecture 34: UML Activity and Collaboration diagram.
Systems Analysis and Design in a Changing World, Fourth Edition
1 Technical & Business Writing (ENG-715) Muhammad Bilal Bashir UIIT, Rawalpindi.
INFO 620Lecture #71 Information Systems Analysis and Design Design Class Diagrams and others INFO 620 Glenn Booker.
Object-Oriented Application Development Using VB.NET 1 Chapter 5 Object-Oriented Analysis and Design.
Chapter 3: Introducing the UML
 To explain why the context of a system should be modelled as part of the RE process  To describe behavioural modelling, data modelling and object modelling.
Unified Modeling Language. What is UML? Standard language for specifying, visualizing, constructing, and documenting the artifacts of software systems,
Engineering, 7th edition. Chapter 8 Slide 1 System models.
Systems Analysis and Design in a Changing World, Fourth Edition
Business Process and Functional Modeling
Appendix 3 Object-Oriented Analysis and Design
UML Diagrams By Daniel Damaris Novarianto S..
Course Outcomes of Object Oriented Modeling Design (17630,C604)
Object-Oriented Analysis and Design
Unified Modeling Language
UML Diagrams Jung Woo.
Activity Diagrams Activity diagrams describe the workflow behavior of a system.  The diagrams describe the state of activities by showing the sequence.
Business System Development
Systems Analysis and Design With UML 2
CIS 375 Bruce R. Maxim UM-Dearborn
Chapter 5.
Chapter 22 Object-Oriented Systems Analysis and Design and UML
CIS 375 Bruce R. Maxim UM-Dearborn
Appendix 3 Object-Oriented Analysis and Design
Unıfıed modellıng language (uml)
Presentation transcript:

Programming Logic and Design Fourth Edition, Comprehensive Chapter 15 System Modeling with the UML

Programming Logic and Design, Fourth Edition, Comprehensive2 Objectives Understand the need for system modeling Describe the UML Work with use case diagrams Use class and object diagrams Use sequence and communication diagrams

Programming Logic and Design, Fourth Edition, Comprehensive3 Objectives (continued) Use state machine diagrams Use activity diagrams Use component and deployment diagrams Diagram exception handling Decide which UML diagrams to use

Programming Logic and Design, Fourth Edition, Comprehensive4 Understanding the Need for System Modeling Most programs are part of a larger system System design: detailed specification of how all parts of the system are implemented and coordinated Some guidelines: –Large systems are easier to understand when broken down into subsystems –The larger the system, the more important are modeling techniques –Good models promote communication in the development team

Programming Logic and Design, Fourth Edition, Comprehensive5 Understanding the Need for System Modeling (continued) Unified Modeling Language (UML) –Popular design tool –Allows you to break a system into subsystems

Programming Logic and Design, Fourth Edition, Comprehensive6 What is UML? UML –Standard way to specify, construct, and document systems –Modeling language, not a programming language –Creates top-view diagrams of business processes –Designed to be non-technical in nature

Programming Logic and Design, Fourth Edition, Comprehensive7 What is UML? (continued) UML has 13 diagram types in three major categories: –Structure diagrams –Behavior diagrams –Interaction diagrams Each type supports multiple variations

Programming Logic and Design, Fourth Edition, Comprehensive8 What is UML? (continued) Structure diagrams: –Class diagrams –Object diagrams –Component diagrams –Composite structure diagrams –Package diagrams –Deployment diagrams

Programming Logic and Design, Fourth Edition, Comprehensive9 What is UML? (continued) Behavior diagrams –Use case diagrams –Activity diagrams –State machine diagrams Interaction diagrams: –Sequence diagrams –Communication diagrams –Timing diagrams –Interaction overview diagrams

Programming Logic and Design, Fourth Edition, Comprehensive10 Using Use Case Diagrams Use case diagram: –Shows how a business works from the perspective of someone outside the business –Includes users (employees, customers, suppliers) –Represents only the functions that are visible to the system’s actors Analyze the main events in a system to establish use cases

Programming Logic and Design, Fourth Edition, Comprehensive11 Using Use Case Diagrams (continued)

Programming Logic and Design, Fourth Edition, Comprehensive12 Using Use Case Diagrams (continued) Each use case has at least one main scenario, but may also have more that are variations Three variations in use cases: –Extend –Include –Generalization

Programming Logic and Design, Fourth Edition, Comprehensive13 Using Use Case Diagrams (continued) Extend variation –Shows functions beyond those in the base case –Usually an optional activity

Programming Logic and Design, Fourth Edition, Comprehensive14 Using Use Case Diagrams (continued) Stereotype: adds more meaning to the UML vocabulary of shapes –Add “ >” near the relationship line

Programming Logic and Design, Fourth Edition, Comprehensive15 Using Use Case Diagrams (continued) Include variation: –When a case can be part of multiple use cases –Shown with an oval and a dashed arrow

Programming Logic and Design, Fourth Edition, Comprehensive16 Using Use Case Diagrams (continued) Generalization variation: –When you want to substitute a more specific case for a general one –Use open-headed dashed arrows

Programming Logic and Design, Fourth Edition, Comprehensive17 Using Use Case Diagrams (continued) Use case diagrams may show multiple actors

Programming Logic and Design, Fourth Edition, Comprehensive18 Using Use Case Diagrams (continued) Use case diagrams are only tools to aid communication Keep them visually pleasing and not overcrowded Use separate diagrams for different points of view: –Might emphasize actors and their relationships –Might emphasize actions and hide some of the specific actors to keep it simple

Programming Logic and Design, Fourth Edition, Comprehensive19 Using Use Case Diagrams (continued)

Programming Logic and Design, Fourth Edition, Comprehensive20 Using Use Case Diagrams (continued)

Programming Logic and Design, Fourth Edition, Comprehensive21 Using Class and Object Diagrams Class diagrams: –Illustrate names, attributes, and methods –Are more useful to programmers than users Class diagram is a rectangle with three sections: –Top: name of the class –Middle: names of attributes –Bottom: names of methods

Programming Logic and Design, Fourth Edition, Comprehensive22 Using Class and Object Diagrams (continued) Use generalizations with class diagrams to show: –More general (parent) classes –More specific (child) classes that inherit attributes from parents

Programming Logic and Design, Fourth Edition, Comprehensive23 Using Class and Object Diagrams (continued) Association relationship: –Describes the connection between objects –May include information about arithmetic relationships such as cardinality or multiplicity –Shown with a straight line between classes

Programming Logic and Design, Fourth Edition, Comprehensive24 Using Class and Object Diagrams (continued)

Programming Logic and Design, Fourth Edition, Comprehensive25 Using Class and Object Diagrams (continued) Whole-part relationship: –One or more classes make up the parts of a larger whole class –Also called an aggregation –Use open diamond at the “whole part” end of the line –Represents a “has-a” relationship

Programming Logic and Design, Fourth Edition, Comprehensive26 Using Class and Object Diagrams (continued)

Programming Logic and Design, Fourth Edition, Comprehensive27 Using Class and Object Diagrams (continued) Object diagram –Models specific instances of classes –Shows a snapshot of an object at one point in time Can use class diagrams or object diagrams interchangeably to suit your needs

Programming Logic and Design, Fourth Edition, Comprehensive28 Using Class and Object Diagrams (continued)

Programming Logic and Design, Fourth Edition, Comprehensive29 Using Sequence and Communication Diagrams Sequence diagram: –Shows timing of events in a single use case –Horizontal axis represents objects –Vertical axis represents time –Vertical dashed line from x-axis to object shows period of time that the object exists –Horizontal arrows show communication between objects over time

Programming Logic and Design, Fourth Edition, Comprehensive30 Using Sequence and Communication Diagrams (continued)

Programming Logic and Design, Fourth Edition, Comprehensive31 Using Sequence and Communication Diagrams (continued) Communication diagram: –Emphasizes the organization of objects in a system –Contains sequence numbers to show the precise order in which activities occur –Focus on object roles

Programming Logic and Design, Fourth Edition, Comprehensive32 Using Sequence and Communication Diagrams (continued)

Programming Logic and Design, Fourth Edition, Comprehensive33 Using State Machine Diagrams State machine diagram: –Shows the different statuses of a class or object at different points in time –Use rounded rectangles for each state, and labeled arrows to show sequence of events that affect the state –Solid dot indicates start and stop states for a class or object

Programming Logic and Design, Fourth Edition, Comprehensive34 Using State Machine Diagrams (continued)

Programming Logic and Design, Fourth Edition, Comprehensive35 Using Activity Diagrams Activity diagrams: –Resemble flowcharts –Show flow of actions in the system –Use flowchart start and stop symbols (lozenges) to describe actions –Use solid dots to show start and stop states –Use diamonds for decisions, with possible outcomes shown along the branches

Programming Logic and Design, Fourth Edition, Comprehensive36 Using Activity Diagrams (continued)

Programming Logic and Design, Fourth Edition, Comprehensive37 Using Activity Diagrams (continued) Forks and joins: –Used to show simultaneous activities –Indicated by thick straight lines Fork: –Defines a branch in which all paths are followed simultaneously Join: –Reunites the flow of control after a fork

Programming Logic and Design, Fourth Edition, Comprehensive38 Using Activity Diagrams (continued)

Programming Logic and Design, Fourth Edition, Comprehensive39 Using Activity Diagrams (continued) Time signal: –Indicates that a specific amount of time has passed before an action is started –Shaped like an hourglass

Programming Logic and Design, Fourth Edition, Comprehensive40 Using Component and Deployment Diagrams Component diagram: –Used to emphasize files, databases, documents and components used by a system’s software Deployment diagram: –Focuses on a system’s hardware

Programming Logic and Design, Fourth Edition, Comprehensive41 Using Component and Deployment Diagrams (continued)

Programming Logic and Design, Fourth Edition, Comprehensive42 Using Component and Deployment Diagrams (continued)

Programming Logic and Design, Fourth Edition, Comprehensive43 Diagramming Exception Handling Program code uses try-catch blocks to trap errors and handle them Protected node: –A try block in UML –Uses a rounded rectangle –Exceptions that may be thrown are shown as lightning bolts Handler body node: a catch block in UML

Programming Logic and Design, Fourth Edition, Comprehensive44 Diagramming Exception Handling (continued)

Programming Logic and Design, Fourth Edition, Comprehensive45 Deciding Which UML Diagrams to Use Each type of UML diagram provides a different view of a system No view is superior to the others Most complete picture is achieved by several views UML diagrams are a communication tool

Programming Logic and Design, Fourth Edition, Comprehensive46 Summary UML allows programmers and businesspeople to communicate about system design UML has 13 diagram types Use case diagram shows how business works from the standpoint of those who use the business Class diagram illustrates the names, attributes, and methods of a class or set of classes Object diagram models a specific instance of a class at one point in time

Programming Logic and Design, Fourth Edition, Comprehensive47 Summary (continued) Sequence diagram shows the timing of events in a single use case Communication diagram shows the organization of objects in a system State machine diagram shows status of a class or object at a specific point in time Activity diagram shows the flow of actions Use forks and joins to depict simultaneous activities

Programming Logic and Design, Fourth Edition, Comprehensive48 Summary (continued) Component diagram emphasizes the files, database tables, documents and other components in a system Each diagram represents a different view of the system