programming logic and design fourth edition, comprehensive chapter 15 system modeling with the uml
TRANSCRIPT
![Page 1: Programming Logic and Design Fourth Edition, Comprehensive Chapter 15 System Modeling with the UML](https://reader031.vdocument.in/reader031/viewer/2022032206/56649f005503460f94c16b30/html5/thumbnails/1.jpg)
Programming Logic and Design
Fourth Edition, Comprehensive
Chapter 15System Modeling with the UML
![Page 2: Programming Logic and Design Fourth Edition, Comprehensive Chapter 15 System Modeling with the UML](https://reader031.vdocument.in/reader031/viewer/2022032206/56649f005503460f94c16b30/html5/thumbnails/2.jpg)
Programming Logic and Design, Fourth Edition, Comprehensive 2
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
![Page 3: Programming Logic and Design Fourth Edition, Comprehensive Chapter 15 System Modeling with the UML](https://reader031.vdocument.in/reader031/viewer/2022032206/56649f005503460f94c16b30/html5/thumbnails/3.jpg)
Programming Logic and Design, Fourth Edition, Comprehensive 3
Objectives (continued)
• Use state machine diagrams• Use activity diagrams• Use component and deployment diagrams• Diagram exception handling• Decide which UML diagrams to use
![Page 4: Programming Logic and Design Fourth Edition, Comprehensive Chapter 15 System Modeling with the UML](https://reader031.vdocument.in/reader031/viewer/2022032206/56649f005503460f94c16b30/html5/thumbnails/4.jpg)
Programming Logic and Design, Fourth Edition, Comprehensive 4
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
![Page 5: Programming Logic and Design Fourth Edition, Comprehensive Chapter 15 System Modeling with the UML](https://reader031.vdocument.in/reader031/viewer/2022032206/56649f005503460f94c16b30/html5/thumbnails/5.jpg)
Programming Logic and Design, Fourth Edition, Comprehensive 5
Understanding the Need for System Modeling (continued)
• Unified Modeling Language (UML)– Popular design tool– Allows you to break a system into subsystems
![Page 6: Programming Logic and Design Fourth Edition, Comprehensive Chapter 15 System Modeling with the UML](https://reader031.vdocument.in/reader031/viewer/2022032206/56649f005503460f94c16b30/html5/thumbnails/6.jpg)
Programming Logic and Design, Fourth Edition, Comprehensive 6
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
![Page 7: Programming Logic and Design Fourth Edition, Comprehensive Chapter 15 System Modeling with the UML](https://reader031.vdocument.in/reader031/viewer/2022032206/56649f005503460f94c16b30/html5/thumbnails/7.jpg)
Programming Logic and Design, Fourth Edition, Comprehensive 7
What is UML? (continued)
• UML has 13 diagram types in three major categories:– Structure diagrams– Behavior diagrams– Interaction diagrams
• Each type supports multiple variations
![Page 8: Programming Logic and Design Fourth Edition, Comprehensive Chapter 15 System Modeling with the UML](https://reader031.vdocument.in/reader031/viewer/2022032206/56649f005503460f94c16b30/html5/thumbnails/8.jpg)
Programming Logic and Design, Fourth Edition, Comprehensive 8
What is UML? (continued)
• Structure diagrams:– Class diagrams– Object diagrams– Component diagrams– Composite structure diagrams– Package diagrams– Deployment diagrams
![Page 9: Programming Logic and Design Fourth Edition, Comprehensive Chapter 15 System Modeling with the UML](https://reader031.vdocument.in/reader031/viewer/2022032206/56649f005503460f94c16b30/html5/thumbnails/9.jpg)
Programming Logic and Design, Fourth Edition, Comprehensive 9
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
![Page 10: Programming Logic and Design Fourth Edition, Comprehensive Chapter 15 System Modeling with the UML](https://reader031.vdocument.in/reader031/viewer/2022032206/56649f005503460f94c16b30/html5/thumbnails/10.jpg)
Programming Logic and Design, Fourth Edition, Comprehensive 10
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
![Page 11: Programming Logic and Design Fourth Edition, Comprehensive Chapter 15 System Modeling with the UML](https://reader031.vdocument.in/reader031/viewer/2022032206/56649f005503460f94c16b30/html5/thumbnails/11.jpg)
Programming Logic and Design, Fourth Edition, Comprehensive 11
Using Use Case Diagrams (continued)
![Page 12: Programming Logic and Design Fourth Edition, Comprehensive Chapter 15 System Modeling with the UML](https://reader031.vdocument.in/reader031/viewer/2022032206/56649f005503460f94c16b30/html5/thumbnails/12.jpg)
Programming Logic and Design, Fourth Edition, Comprehensive 12
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
![Page 13: Programming Logic and Design Fourth Edition, Comprehensive Chapter 15 System Modeling with the UML](https://reader031.vdocument.in/reader031/viewer/2022032206/56649f005503460f94c16b30/html5/thumbnails/13.jpg)
Programming Logic and Design, Fourth Edition, Comprehensive 13
Using Use Case Diagrams (continued)
• Extend variation– Shows functions beyond those in the base case– Usually an optional activity
![Page 14: Programming Logic and Design Fourth Edition, Comprehensive Chapter 15 System Modeling with the UML](https://reader031.vdocument.in/reader031/viewer/2022032206/56649f005503460f94c16b30/html5/thumbnails/14.jpg)
Programming Logic and Design, Fourth Edition, Comprehensive 14
Using Use Case Diagrams (continued)
• Stereotype: adds more meaning to the UML vocabulary of shapes – Add “<<extend>>” near the relationship line
![Page 15: Programming Logic and Design Fourth Edition, Comprehensive Chapter 15 System Modeling with the UML](https://reader031.vdocument.in/reader031/viewer/2022032206/56649f005503460f94c16b30/html5/thumbnails/15.jpg)
Programming Logic and Design, Fourth Edition, Comprehensive 15
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
![Page 16: Programming Logic and Design Fourth Edition, Comprehensive Chapter 15 System Modeling with the UML](https://reader031.vdocument.in/reader031/viewer/2022032206/56649f005503460f94c16b30/html5/thumbnails/16.jpg)
Programming Logic and Design, Fourth Edition, Comprehensive 16
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
![Page 17: Programming Logic and Design Fourth Edition, Comprehensive Chapter 15 System Modeling with the UML](https://reader031.vdocument.in/reader031/viewer/2022032206/56649f005503460f94c16b30/html5/thumbnails/17.jpg)
Programming Logic and Design, Fourth Edition, Comprehensive 17
Using Use Case Diagrams (continued)• Use case diagrams may show multiple actors
![Page 18: Programming Logic and Design Fourth Edition, Comprehensive Chapter 15 System Modeling with the UML](https://reader031.vdocument.in/reader031/viewer/2022032206/56649f005503460f94c16b30/html5/thumbnails/18.jpg)
Programming Logic and Design, Fourth Edition, Comprehensive 18
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
![Page 19: Programming Logic and Design Fourth Edition, Comprehensive Chapter 15 System Modeling with the UML](https://reader031.vdocument.in/reader031/viewer/2022032206/56649f005503460f94c16b30/html5/thumbnails/19.jpg)
Programming Logic and Design, Fourth Edition, Comprehensive 19
Using Use Case Diagrams (continued)
![Page 20: Programming Logic and Design Fourth Edition, Comprehensive Chapter 15 System Modeling with the UML](https://reader031.vdocument.in/reader031/viewer/2022032206/56649f005503460f94c16b30/html5/thumbnails/20.jpg)
Programming Logic and Design, Fourth Edition, Comprehensive 20
Using Use Case Diagrams (continued)
![Page 21: Programming Logic and Design Fourth Edition, Comprehensive Chapter 15 System Modeling with the UML](https://reader031.vdocument.in/reader031/viewer/2022032206/56649f005503460f94c16b30/html5/thumbnails/21.jpg)
Programming Logic and Design, Fourth Edition, Comprehensive 21
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
![Page 22: Programming Logic and Design Fourth Edition, Comprehensive Chapter 15 System Modeling with the UML](https://reader031.vdocument.in/reader031/viewer/2022032206/56649f005503460f94c16b30/html5/thumbnails/22.jpg)
Programming Logic and Design, Fourth Edition, Comprehensive 22
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
![Page 23: Programming Logic and Design Fourth Edition, Comprehensive Chapter 15 System Modeling with the UML](https://reader031.vdocument.in/reader031/viewer/2022032206/56649f005503460f94c16b30/html5/thumbnails/23.jpg)
Programming Logic and Design, Fourth Edition, Comprehensive 23
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
![Page 24: Programming Logic and Design Fourth Edition, Comprehensive Chapter 15 System Modeling with the UML](https://reader031.vdocument.in/reader031/viewer/2022032206/56649f005503460f94c16b30/html5/thumbnails/24.jpg)
Programming Logic and Design, Fourth Edition, Comprehensive 24
Using Class and Object Diagrams (continued)
![Page 25: Programming Logic and Design Fourth Edition, Comprehensive Chapter 15 System Modeling with the UML](https://reader031.vdocument.in/reader031/viewer/2022032206/56649f005503460f94c16b30/html5/thumbnails/25.jpg)
Programming Logic and Design, Fourth Edition, Comprehensive 25
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
![Page 26: Programming Logic and Design Fourth Edition, Comprehensive Chapter 15 System Modeling with the UML](https://reader031.vdocument.in/reader031/viewer/2022032206/56649f005503460f94c16b30/html5/thumbnails/26.jpg)
Programming Logic and Design, Fourth Edition, Comprehensive 26
Using Class and Object Diagrams (continued)
![Page 27: Programming Logic and Design Fourth Edition, Comprehensive Chapter 15 System Modeling with the UML](https://reader031.vdocument.in/reader031/viewer/2022032206/56649f005503460f94c16b30/html5/thumbnails/27.jpg)
Programming Logic and Design, Fourth Edition, Comprehensive 27
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
![Page 28: Programming Logic and Design Fourth Edition, Comprehensive Chapter 15 System Modeling with the UML](https://reader031.vdocument.in/reader031/viewer/2022032206/56649f005503460f94c16b30/html5/thumbnails/28.jpg)
Programming Logic and Design, Fourth Edition, Comprehensive 28
Using Class and Object Diagrams (continued)
![Page 29: Programming Logic and Design Fourth Edition, Comprehensive Chapter 15 System Modeling with the UML](https://reader031.vdocument.in/reader031/viewer/2022032206/56649f005503460f94c16b30/html5/thumbnails/29.jpg)
Programming Logic and Design, Fourth Edition, Comprehensive 29
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
![Page 30: Programming Logic and Design Fourth Edition, Comprehensive Chapter 15 System Modeling with the UML](https://reader031.vdocument.in/reader031/viewer/2022032206/56649f005503460f94c16b30/html5/thumbnails/30.jpg)
Programming Logic and Design, Fourth Edition, Comprehensive 30
Using Sequence and Communication Diagrams (continued)
![Page 31: Programming Logic and Design Fourth Edition, Comprehensive Chapter 15 System Modeling with the UML](https://reader031.vdocument.in/reader031/viewer/2022032206/56649f005503460f94c16b30/html5/thumbnails/31.jpg)
Programming Logic and Design, Fourth Edition, Comprehensive 31
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
![Page 32: Programming Logic and Design Fourth Edition, Comprehensive Chapter 15 System Modeling with the UML](https://reader031.vdocument.in/reader031/viewer/2022032206/56649f005503460f94c16b30/html5/thumbnails/32.jpg)
Programming Logic and Design, Fourth Edition, Comprehensive 32
Using Sequence and Communication Diagrams (continued)
![Page 33: Programming Logic and Design Fourth Edition, Comprehensive Chapter 15 System Modeling with the UML](https://reader031.vdocument.in/reader031/viewer/2022032206/56649f005503460f94c16b30/html5/thumbnails/33.jpg)
Programming Logic and Design, Fourth Edition, Comprehensive 33
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
![Page 34: Programming Logic and Design Fourth Edition, Comprehensive Chapter 15 System Modeling with the UML](https://reader031.vdocument.in/reader031/viewer/2022032206/56649f005503460f94c16b30/html5/thumbnails/34.jpg)
Programming Logic and Design, Fourth Edition, Comprehensive 34
Using State Machine Diagrams (continued)
![Page 35: Programming Logic and Design Fourth Edition, Comprehensive Chapter 15 System Modeling with the UML](https://reader031.vdocument.in/reader031/viewer/2022032206/56649f005503460f94c16b30/html5/thumbnails/35.jpg)
Programming Logic and Design, Fourth Edition, Comprehensive 35
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
![Page 36: Programming Logic and Design Fourth Edition, Comprehensive Chapter 15 System Modeling with the UML](https://reader031.vdocument.in/reader031/viewer/2022032206/56649f005503460f94c16b30/html5/thumbnails/36.jpg)
Programming Logic and Design, Fourth Edition, Comprehensive 36
Using Activity Diagrams (continued)
![Page 37: Programming Logic and Design Fourth Edition, Comprehensive Chapter 15 System Modeling with the UML](https://reader031.vdocument.in/reader031/viewer/2022032206/56649f005503460f94c16b30/html5/thumbnails/37.jpg)
Programming Logic and Design, Fourth Edition, Comprehensive 37
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
![Page 38: Programming Logic and Design Fourth Edition, Comprehensive Chapter 15 System Modeling with the UML](https://reader031.vdocument.in/reader031/viewer/2022032206/56649f005503460f94c16b30/html5/thumbnails/38.jpg)
Programming Logic and Design, Fourth Edition, Comprehensive 38
Using Activity Diagrams (continued)
![Page 39: Programming Logic and Design Fourth Edition, Comprehensive Chapter 15 System Modeling with the UML](https://reader031.vdocument.in/reader031/viewer/2022032206/56649f005503460f94c16b30/html5/thumbnails/39.jpg)
Programming Logic and Design, Fourth Edition, Comprehensive 39
Using Activity Diagrams (continued)• Time signal:
– Indicates that a specific amount of time has passed before an action is started
– Shaped like an hourglass
![Page 40: Programming Logic and Design Fourth Edition, Comprehensive Chapter 15 System Modeling with the UML](https://reader031.vdocument.in/reader031/viewer/2022032206/56649f005503460f94c16b30/html5/thumbnails/40.jpg)
Programming Logic and Design, Fourth Edition, Comprehensive 40
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
![Page 41: Programming Logic and Design Fourth Edition, Comprehensive Chapter 15 System Modeling with the UML](https://reader031.vdocument.in/reader031/viewer/2022032206/56649f005503460f94c16b30/html5/thumbnails/41.jpg)
Programming Logic and Design, Fourth Edition, Comprehensive 41
Using Component and Deployment Diagrams (continued)
![Page 42: Programming Logic and Design Fourth Edition, Comprehensive Chapter 15 System Modeling with the UML](https://reader031.vdocument.in/reader031/viewer/2022032206/56649f005503460f94c16b30/html5/thumbnails/42.jpg)
Programming Logic and Design, Fourth Edition, Comprehensive 42
Using Component and Deployment Diagrams (continued)
![Page 43: Programming Logic and Design Fourth Edition, Comprehensive Chapter 15 System Modeling with the UML](https://reader031.vdocument.in/reader031/viewer/2022032206/56649f005503460f94c16b30/html5/thumbnails/43.jpg)
Programming Logic and Design, Fourth Edition, Comprehensive 43
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
![Page 44: Programming Logic and Design Fourth Edition, Comprehensive Chapter 15 System Modeling with the UML](https://reader031.vdocument.in/reader031/viewer/2022032206/56649f005503460f94c16b30/html5/thumbnails/44.jpg)
Programming Logic and Design, Fourth Edition, Comprehensive 44
Diagramming Exception Handling (continued)
![Page 45: Programming Logic and Design Fourth Edition, Comprehensive Chapter 15 System Modeling with the UML](https://reader031.vdocument.in/reader031/viewer/2022032206/56649f005503460f94c16b30/html5/thumbnails/45.jpg)
Programming Logic and Design, Fourth Edition, Comprehensive 45
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
![Page 46: Programming Logic and Design Fourth Edition, Comprehensive Chapter 15 System Modeling with the UML](https://reader031.vdocument.in/reader031/viewer/2022032206/56649f005503460f94c16b30/html5/thumbnails/46.jpg)
Programming Logic and Design, Fourth Edition, Comprehensive 46
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
![Page 47: Programming Logic and Design Fourth Edition, Comprehensive Chapter 15 System Modeling with the UML](https://reader031.vdocument.in/reader031/viewer/2022032206/56649f005503460f94c16b30/html5/thumbnails/47.jpg)
Programming Logic and Design, Fourth Edition, Comprehensive 47
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
![Page 48: Programming Logic and Design Fourth Edition, Comprehensive Chapter 15 System Modeling with the UML](https://reader031.vdocument.in/reader031/viewer/2022032206/56649f005503460f94c16b30/html5/thumbnails/48.jpg)
Programming Logic and Design, Fourth Edition, Comprehensive 48
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