Object-Oriented Systems Analysis and Design Using UML

Similar documents
Chapter 10. Object-Oriented Analysis and Modeling Using the UML. McGraw-Hill/Irwin

Introduction to UML. Danang Wahyu utomo

Chapter 5: Structural Modeling

Basic Structural Modeling. Copyright Joey Paquet,

MCQS for Midterm cs504 Combined by Anees Ahmad

06. Analysis Modeling

CS 370 REVIEW: UML Diagrams D R. M I C H A E L J. R E A L E F A L L

Unified Modeling Language (UML)

Suggested answers are provided below. These answers are presented top-down, left to right.

Object-Oriented Analysis and Design Using UML (OO-226)

Practical UML - A Hands-On Introduction for Developers

LABORATORY 1 REVISION

The Unified Modeling Language. Asst.Prof.Dr. Supakit Nootyaskool IT-KMITL

SOFTWARE MODELING AND DESIGN. UML, Use Cases, Patterns, and. Software Architectures. Ki Cambridge UNIVERSITY PRESS. Hassan Gomaa

For 100% Result Oriented IGNOU Coaching and Project Training Call CPD TM : ,

Ans 1-j)True, these diagrams show a set of classes, interfaces and collaborations and their relationships.

OO Techniques & UML Class Diagrams

Lesson 11. W.C.Udwela Department of Mathematics & Computer Science

Practical UML : A Hands-On Introduction for Developers

UML Fundamental. OutLine. NetFusion Tech. Co., Ltd. Jack Lee. Use-case diagram Class diagram Sequence diagram

Object-Oriented Design

Introducing the UML Eng. Mohammed T. Abo Alroos

SOFTWARE ENGINEERING UML FUNDAMENTALS. Saulius Ragaišis.

UML Tutorial. Unified Modeling Language UML Tutorial

Unified Modeling Language (UML) Class Diagram

Modeling with UML. (1) Use Case Diagram. (2) Class Diagram. (3) Interaction Diagram. (4) State Diagram

Architecture and the UML

Hippo Software BPMN and UML Training

OO System Models Static Views

Object Oriented Design. Program Design. Analysis Phase. Part 2. Analysis Design Implementation. Functional Specification

Software Engineering Lab Manual

Object Oriented Software Development CIS Today: Object Oriented Analysis

UML UNIFIED MODELLING LANGUAGE EXEMPLIFIED ON BLACKJACK. Object Oriented Programming (Samy Zafrany)

UML Views of a System

Oral Questions. Unit-1 Concepts. Oral Question/Assignment/Gate Question with Answer

Object-Oriented and Classical Software Engineering

OBJECT ORIENTED DESIGN with the Unified Process. Use Case Realization

MAHARASHTRA STATE BOARD OF TECHNICAL EDUCATION (Autonomous) (ISO/IEC Certified) MODEL ANSWER

Interactions A link message

Object-Oriented Design

Object-Oriented Systems Development: Using the Unified Modeling Language

Objectives. Explain the purpose and objectives of objectoriented. Develop design class diagrams

OBJECT ORIENTED DESIGN with the Unified Process. Use Case Realization

Introduction to Software Engineering. 5. Modeling Objects and Classes

Darshan Institute of Engineering & Technology for Diploma Studies

S T R U C T U R A L M O D E L I N G ( M O D E L I N G A S Y S T E M ' S L O G I C A L S T R U C T U R E U S I N G C L A S S E S A N D C L A S S D I A

Chapter 10 Object-Oriented Design Principles

*ANSWERS * **********************************

Lab Manual. Object Oriented Analysis And Design. TE(Computer) VI semester

INTERNAL ASSESSMENT TEST III Answer Schema

Patterns and Testing


SOFTWARE DESIGN COSC 4353 / Dr. Raj Singh

SE Assignment III. 1. List and explain primitive symbols used for constructing DFDs. Illustrate the use of these symbols with the help of an example.

UML Component Diagrams A.Y 2018/2019

Accessibility. EEC 521: Software Engineering. Classes and Objects. Inheritance. Classes and Objects (OO Analysis)

IS 0020 Program Design and Software Tools

Class diagrams. Modeling with UML Chapter 2, part 2. Class Diagrams: details. Class diagram for a simple watch

MAHARASHTRA STATE BOARD OF TECHNICAL EDUCATION (Autonomous) (ISO/IEC Certified)

Chapter 3 System Models

Object-Oriented Concepts and Principles (Adapted from Dr. Osman Balci)

History of object-oriented approaches

Modellistica Medica. Maria Grazia Pia, INFN Genova. Scuola di Specializzazione in Fisica Sanitaria Genova Anno Accademico

University of Calgary Department of Electrical and Computer Engineering. SENG : Object Oriented Analysis and Design Behrouz Homayoun Far

Unit Wise Questions. Unit-1 Concepts

ITEC420: Software Engineering Lecture 3: Recap OO/UML Requirement Workflow

UML 2.0 UML 2.0. Scott Uk-Jin Lee. Division of Computer Science, College of Computing Hanyang University ERICA Campus

Chapter 1: Principles of Programming and Software Engineering

Activity Diagram Written Date : September 02, 2016

Inheritance and Polymorphism

Design Engineering. Dr. Marouane Kessentini Department of Computer Science

Chapter 5 System modeling

COSC 3351 Software Design. An Introduction to UML (I)

Object-Oriented Design

Object- Oriented Design with UML and Java Part I: Fundamentals

CHAPTER 9 DESIGN ENGINEERING. Overview

Chapter : Analysis Modeling

Appendix A - Glossary(of OO software term s)

CSE 403: Software Engineering, Spring courses.cs.washington.edu/courses/cse403/15sp/ UML Class Diagrams. Emina Torlak

How and Why to Use the Unified Modeling Language. among software components, architectural-based

Object Oriented Analysis is popular approach that sees a system from the viewpoint of the objects themselves as they function and interact

Software Service Engineering

The Essence of Object Oriented Programming with Java and UML. Chapter 2. The Essence of Objects. What Is an Object-Oriented System?

UML Unified Modeling Language

Rekayasa Perangkat Lunak 2 (IN043): Pertemuan 6. Moving on to Design

Unified Modeling Language (UML)

Advanced Software Engineering

22/09/2012 INFO2110. Copyright Warning. Revision of class diagram. Overview. Purpose of class diagram. Generalization Relationship

Chapter 2: The Object-Oriented Design Process

Progress Report. Object-Oriented Software Development: Requirements elicitation (ch. 4) and analysis (ch. 5) Object-oriented software development

Class Diagram. Classes consist of. Note that class diagrams contain only classes, not objects.

Object Oriented Modeling

12 Tutorial on UML. TIMe TIMe Electronic Textbook

Technology in Action. Chapter Topics. Scope creep occurs when: 3/20/2013. Information Systems include all EXCEPT the following:

Introduction to System Analysis and Design

Chapter 4. Capturing the Requirements. 4th Edition. Shari L. Pfleeger Joanne M. Atlee

Introduction to Software Engineering: Analysis

Course 3 7 March

Design. Eric McCreath

MechEng SE3 Lecture 7 Domain Modelling

Transcription:

10 Object-Oriented Systems Analysis and Design Using UML Systems Analysis and Design, 8e Kendall & Kendall Copyright 2011 Pearson Education, Inc. Publishing as Prentice Hall

Learning Objectives Understand what object-oriented systems analysis and design is and appreciate its usefulness. Comprehend the concepts of unified modeling language (UML), the standard approach for modeling a system in the object-oriented world. Apply the steps used in UML to break down the system into a use case model and then a class model. Diagram systems with the UML toolset so they can be described and properly designed. Document and communicate the newly modeled object-oriented system to users and other analysts. Kendall & Kendall Copyright 2011 Pearson Education, Inc. Publishing as Prentice Hall 10-2

Object-Oriented Analysis and Design Works well in situations where complicated systems are undergoing continuous maintenance, adaptation, and design Objects, classes are reusable The Unified Modeling Language (UML) is an industry standard for modeling object-oriented systems. Kendall & Kendall Copyright 2011 Pearson Education, Inc. Publishing as Prentice Hall 10-3

Object-Oriented Analysis and Design (Continued) Reusability Recycling of program parts should reduce the costs of development in computerbased systems. Maintaining systems Making a change in one object has a minimal impact on other objects. Kendall & Kendall Copyright 2011 Pearson Education, Inc. Publishing as Prentice Hall 10-4

Major Topics Object-oriented concepts CRC cards and object think Unified Modeling Language Use case and other UML diagrams Packages Using UML Kendall & Kendall Copyright 2011 Pearson Education, Inc. Publishing as Prentice Hall 10-5

Object-Oriented Concepts Objects Classes Inheritance Kendall & Kendall Copyright 2011 Pearson Education, Inc. Publishing as Prentice Hall 10-6

Objects Persons, places, or things that are relevant to the system being analyzed May be customers, items, orders, and so on May be GUI displays or text areas on a display Kendall & Kendall Copyright 2011 Pearson Education, Inc. Publishing as Prentice Hall 10-7

Classes Defines the set of shared attributes and behaviors found in each object in the class Should have a name that differentiates it from all other classes Instantiate is when an object is created from a class. An attribute describes some property that is possessed by all objects of the class. A method is an action that can be requested from any object of the class. Kendall & Kendall Copyright 2011 Pearson Education, Inc. Publishing as Prentice Hall 10-8

An Example of a UML Class: A Class Is Depicted as a Rectangle Consisting of the Class Name, Attributes, and Methods (Figure 10.1) Kendall & Kendall Copyright 2011 Pearson Education, Inc. Publishing as Prentice Hall 10-9

Inheritance When a derived class inherits all the attributes and behaviors of the base class Reduces programming labor by using common objects easily A feature only found in object-oriented systems Kendall & Kendall Copyright 2011 Pearson Education, Inc. Publishing as Prentice Hall 10-10

A Class Diagram Showing Inheritance (Figure 10.2) Car and truck are specific examples of vehicles and inherit the characteristics of the more general class vehicle. Kendall & Kendall Copyright 2011 Pearson Education, Inc. Publishing as Prentice Hall 10-11

CRC Cards and Object Think CRC Class Responsibilities Collaborators CRC cards are used to represent the responsibilities of classes and the interaction between the classes. Kendall & Kendall Copyright 2011 Pearson Education, Inc. Publishing as Prentice Hall 10-12

Four CRC Cards for Course Offerings Show How Analysts Fill in the Details for Classes, Responsibilities, and Collaborators, as well as for Object Think Statements and Property Names (Figure 10.3) Kendall & Kendall Copyright 2011 Pearson Education, Inc. Publishing as Prentice Hall 10-13

Interacting during a CRC Session Identify all the classes you can. Create scenarios. Identify and refine responsibilities. Kendall & Kendall Copyright 2011 Pearson Education, Inc. Publishing as Prentice Hall 10-14

The Unified Modeling Language (UML) Concepts and Diagrams Things Relationships Diagrams Kendall & Kendall Copyright 2011 Pearson Education, Inc. Publishing as Prentice Hall 10-15

Things Structural things are Classes, interfaces, use cases, and other elements that provide a way to create models They allow the user to describe relationships Behavioral things Describe how things work Interactions and state machines Group things Used to define boundaries Annotational things Can add notes to the diagrams Kendall & Kendall Copyright 2011 Pearson Education, Inc. Publishing as Prentice Hall 10-16

Relationships Structural relationships Tie things together in structural diagrams Behavioral relationships Used in behavioral diagrams Kendall & Kendall Copyright 2011 Pearson Education, Inc. Publishing as Prentice Hall 10-17

Structural Relationships Dependencies Aggregations Associations Generalizations Kendall & Kendall Copyright 2011 Pearson Education, Inc. Publishing as Prentice Hall 10-18

Behavioral Relationships Communicates Includes Extends Generalizes Kendall & Kendall Copyright 2011 Pearson Education, Inc. Publishing as Prentice Hall 10-19

Diagrams Structural diagrams Used to describe the relation between classes Behavior diagrams Used to describe the interaction between people (actors) and a use case (how the actors use the system) Kendall & Kendall Copyright 2011 Pearson Education, Inc. Publishing as Prentice Hall 10-20

Structural Diagrams Class diagrams Object diagrams Component diagrams Deployment diagrams Kendall & Kendall Copyright 2011 Pearson Education, Inc. Publishing as Prentice Hall 10-21

Behavioral Diagrams Use case diagrams Sequence diagrams Collaboration diagrams Statechart diagrams Activity diagrams Kendall & Kendall Copyright 2011 Pearson Education, Inc. Publishing as Prentice Hall 10-22

An Overall View of UML and its Components: Things, Relationships, and Diagrams (Figure 10.4) Kendall & Kendall Copyright 2011 Pearson Education, Inc. Publishing as Prentice Hall 10-23

Commonly Used UML Diagrams Use case diagram Describing how the system is used The starting point for UML modeling Use case scenario A verbal articulation of exceptions to the main behavior described by the primary use case Activity diagram Illustrates the overall flow of activities Kendall & Kendall Copyright 2011 Pearson Education, Inc. Publishing as Prentice Hall 10-24

Commonly Used UML Diagrams (Continued) Sequence diagrams Show the sequence of activities and class relationships. Class diagrams Show classes and relationships. Statechart diagrams Show the state transitions. Kendall & Kendall Copyright 2011 Pearson Education, Inc. Publishing as Prentice Hall 10-25

An Overview of UML Diagrams Showing How Each Diagram Leads to the Development of Other UML Diagrams (Figure 10.5) Kendall & Kendall Copyright 2011 Pearson Education, Inc. Publishing as Prentice Hall 10-26

Use Case Modeling Describes what the system does, without describing how the system does it Based on the interactions and relationships of individual use cases Use case describes Actor Event Use case Kendall & Kendall Copyright 2011 Pearson Education, Inc. Publishing as Prentice Hall 10-27

A Use Case Example of Student Enrollment (Figure 10.6) Kendall & Kendall Copyright 2011 Pearson Education, Inc. Publishing as Prentice Hall 10-28

A Use Case Scenario Is Divided into Three Sections: Identification and Initiation, Steps Performed, and Conditions, Assumptions, and Questions (Figure 10.7) Kendall & Kendall Copyright 2011 Pearson Education, Inc. Publishing as Prentice Hall 10-29

Activity Diagrams Show the sequence of activities in a process, including sequential and parallel activities, and decisions that are made. Symbols Rectangle with rounded ends Arrow Diamond Long, flat rectangle Filled-in circle Black circle surrounded by a white circle Swimlanes Kendall & Kendall Copyright 2011 Pearson Education, Inc. Publishing as Prentice Hall 10-30

Specialized Symbols Are Used to Draw an Activity Diagram (Figure 10.8) Kendall & Kendall Copyright 2011 Pearson Education, Inc. Publishing as Prentice Hall 10-31

Creating Activity Diagrams Created by asking what happens first, what happens second, and so on Must determine what activities are done in sequence or in parallel The sequence of activities can be determined from physical data flow diagrams. Can be created by examining all the scenarios for a use case Kendall & Kendall Copyright 2011 Pearson Education, Inc. Publishing as Prentice Hall 10-32

Swimlanes Useful to show how the data must be transmitted or converted Help to divide up the tasks in a team Makes the activity diagram one that people want to use to communicate with others Kendall & Kendall Copyright 2011 Pearson Education, Inc. Publishing as Prentice Hall 10-33

This Activity Diagram Shows Three Swimlanes: Client Web Page, Web Server, and Mainframe (Figure 10.9) Kendall & Kendall Copyright 2011 Pearson Education, Inc. Publishing as Prentice Hall 10-34

Activity Diagrams and Test Plans Activity diagrams may be used to construct test plans. Each event must be tested to see if the system goes to the next state. Each decision must be tested. Kendall & Kendall Copyright 2011 Pearson Education, Inc. Publishing as Prentice Hall 10-35

Activity Diagrams Not Created for All Use Cases Use an activity diagram when: It helps to understand the activities of a use case The flow of control is complex There is a need to model workflow When all scenarios for a use case need to be shown Kendall & Kendall Copyright 2011 Pearson Education, Inc. Publishing as Prentice Hall 10-36

Sequence Diagrams Illustrate a succession of interactions between classes or object instances over time Often used to show the processing described in use case scenarios Used to show the overall pattern of the activities or interactions in a use case Kendall & Kendall Copyright 2011 Pearson Education, Inc. Publishing as Prentice Hall 10-37

Specialized Symbols Used to Draw a Sequence Diagram (Figure 10.10) Kendall & Kendall Copyright 2011 Pearson Education, Inc. Publishing as Prentice Hall 10-38

A Sequence Diagram for Student Admission: Sequence Diagrams Emphasize the Time Ordering of Messages (Figure 10.11) Kendall & Kendall Copyright 2011 Pearson Education, Inc. Publishing as Prentice Hall 10-39

Communication Diagrams Describes the interactions of two or more things in the system that perform a behavior that is more than any one of the things can do alone Shows the same information as a sequence diagram, but may be more difficult to read Emphasizes the organization of objects Made up of objects, communication links, and the messages that can be passed along those links Kendall & Kendall Copyright 2011 Pearson Education, Inc. Publishing as Prentice Hall 10-40

A Communication Diagram for Student Admission (Figure 10.12) Communication diagrams show the same information that is depicted in a sequence diagram but emphasize the organization of objects rather than the time ordering. Kendall & Kendall Copyright 2011 Pearson Education, Inc. Publishing as Prentice Hall 10-41

Class Diagrams Show the static features of the system and do not represent any particular processing. Show the nature of the relationships between classes. Show data storage requirements as well as processing requirements. Kendall & Kendall Copyright 2011 Pearson Education, Inc. Publishing as Prentice Hall 10-42

Class Diagrams (Continued) Classes Attributes Private Public Protected Methods Standard Custom Kendall & Kendall Copyright 2011 Pearson Education, Inc. Publishing as Prentice Hall 10-43

A Class Diagram for Course Offerings: The Filled-In Diamonds Show Aggregation and the Empty Diamond Shows a Whole-Part Relationship (Figure 10.13) Kendall & Kendall Copyright 2011 Pearson Education, Inc. Publishing as Prentice Hall 10-44

Method Overloading Including the same method (or operation) several times in a class The same method may be defined more than once in a given class, as long as the parameters sent as part of the message are different. Kendall & Kendall Copyright 2011 Pearson Education, Inc. Publishing as Prentice Hall 10-45

Types of Classes Entity classes Interface classes Abstract classes Control classes Kendall & Kendall Copyright 2011 Pearson Education, Inc. Publishing as Prentice Hall 10-46

Entity Classes Represent real-world items The entities represented on an entityrelationship diagram Kendall & Kendall Copyright 2011 Pearson Education, Inc. Publishing as Prentice Hall 10-47

Interface or Boundary Classes Provide a means for users to work with the system. Human interfaces may be a display, window, Web form, dialogue box, touch-tone telephone, or other way for users to interact with the system. System interfaces involve sending data to or receiving data from others. Kendall & Kendall Copyright 2011 Pearson Education, Inc. Publishing as Prentice Hall 10-48

Abstract Classes Linked to concrete classes in a generalization/specialization relationship Cannot be directly instantiated Kendall & Kendall Copyright 2011 Pearson Education, Inc. Publishing as Prentice Hall 10-49

Control Classes Used to control the flow of activities Many small control classes can be used to achieve classes that are reusable. Kendall & Kendall Copyright 2011 Pearson Education, Inc. Publishing as Prentice Hall 10-50

Presentation, Business, and Persistence Layers Sequence diagrams may be discussed using three layers: Presentation layer, what the user sees, corresponding to the interface or boundary classes. Business layer, containing the unique rules for this application, corresponding roughly to control classes. Persistence or data access layer, for obtaining and storing data, corresponding to the entity classes. Kendall & Kendall Copyright 2011 Pearson Education, Inc. Publishing as Prentice Hall 10-51

Defining Messages and Methods Each message may be defined using a notation similar to that described for the data dictionary. The methods may have logic defined using structured English, a decision table, or a decision tree. Kendall & Kendall Copyright 2011 Pearson Education, Inc. Publishing as Prentice Hall 10-52

A Sequence Diagram for Using Two Web Pages: One for Student Information, One for Course Information (Figure 10.15 ) Kendall & Kendall Copyright 2011 Pearson Education, Inc. Publishing as Prentice Hall 10-53

Create Sequence Diagrams Include the actor from the use case diagram. Define one or more interface classes for each actor. Each use case should have one control class. Examine the use case to see what entity classes are required. The sequence diagram may be modified when doing detailed design. Kendall & Kendall Copyright 2011 Pearson Education, Inc. Publishing as Prentice Hall 10-54

Creating a Test Plan from a Sequence Diagram Does each method return correct results? Ensure that entity classes store or obtain the correct attribute values. Verify that all JavaScript paths work correctly. Ensure that the server control classes work correctly. Ask, What may fail? Determine what to do if something can fail. Kendall & Kendall Copyright 2011 Pearson Education, Inc. Publishing as Prentice Hall 10-55

Relationships The connections between classes Associations Whole/part Kendall & Kendall Copyright 2011 Pearson Education, Inc. Publishing as Prentice Hall 10-56

An Example of an Associative Class in Which a Particular Section Defines the Relationship between a Student and a Course (Figure 10.18) Kendall & Kendall Copyright 2011 Pearson Education, Inc. Publishing as Prentice Hall 10-57

Associations The simplest type of relationship Association classes are those that are used to break up a many-to-many association between classes. An object in a class may have a relationship to other objects in the same class, called a reflexive association. Kendall & Kendall Copyright 2011 Pearson Education, Inc. Publishing as Prentice Hall 10-58

Whole/Part Relationships When one class represents the whole object, and other classes represent parts Categories Aggregation Collection Composition Kendall & Kendall Copyright 2011 Pearson Education, Inc. Publishing as Prentice Hall 10-59

Aggregation A has a relationship Provides a means of showing that the whole object is composed of the sum of its parts Kendall & Kendall Copyright 2011 Pearson Education, Inc. Publishing as Prentice Hall 10-60

Collection Consists of a whole and its members Members may change, but the whole retains its identity A weak association Kendall & Kendall Copyright 2011 Pearson Education, Inc. Publishing as Prentice Hall 10-61

Composition The whole has a responsibility for the parts, and is a stronger relationship. If the whole is deleted, all parts are deleted. Kendall & Kendall Copyright 2011 Pearson Education, Inc. Publishing as Prentice Hall 10-62

An Example of Whole-Part and Aggregation Relationships (Figure 10.19) Kendall & Kendall Copyright 2011 Pearson Education, Inc. Publishing as Prentice Hall 10-63

Generalization/Specialization Diagrams Generalization Inheritance Polymorphism Abstract classes Messages Kendall & Kendall Copyright 2011 Pearson Education, Inc. Publishing as Prentice Hall 10-64

Generalization Describes a relationship between a general kind of thing and a more specific kind of thing Described as an is a relationship Used for modeling class inheritance and specialization General class is a parent, base, or superclass Specialized class is a child, derived, or subclass Kendall & Kendall Copyright 2011 Pearson Education, Inc. Publishing as Prentice Hall 10-65

Inheritance Helps to foster reuse Helps to maintain existing program code Kendall & Kendall Copyright 2011 Pearson Education, Inc. Publishing as Prentice Hall 10-66

Polymorphism The capability of an object-oriented program to have several versions of the same method with the same name within a superclass/subclass relationship The subclass method overrides the superclass method. When attributes or methods are defined more than once, the most specific one is used. Kendall & Kendall Copyright 2011 Pearson Education, Inc. Publishing as Prentice Hall 10-67

Abstract Classes Abstract classes are general classes. No direct objects or class instances, and is only used in conjunction with specialized classes Usually have attributes and may have a few methods Kendall & Kendall Copyright 2011 Pearson Education, Inc. Publishing as Prentice Hall 10-68

A Generalization/Specification Diagram Is a Refined Form of a Class Diagram (Figure 10.20) Kendall & Kendall Copyright 2011 Pearson Education, Inc. Publishing as Prentice Hall 10-69

Finding Classes During interviewing or JAD sessions During facilitated team sessions During brainstorming sessions Analyzing documents and memos Examining use cases, looking for nouns Kendall & Kendall Copyright 2011 Pearson Education, Inc. Publishing as Prentice Hall 10-70

Determining Class Methods Standard methods Examine a CRUD matrix Kendall & Kendall Copyright 2011 Pearson Education, Inc. Publishing as Prentice Hall 10-71

Messages Used to send information by an object in one class to an object in another class Acts as a command, telling the receiving class to do something Consists of the name of the method in the receiving class, as well as the attributes that are passed with the method name May be thought of as an output or an input Kendall & Kendall Copyright 2011 Pearson Education, Inc. Publishing as Prentice Hall 10-72

Statechart Diagrams Used to examine the different states that an object may have Created for a single class Objects are created, go through changes, and are deleted or removed. Objects States Events Signals or asynchronous messages Synchronous Temporal events Kendall & Kendall Copyright 2011 Pearson Education, Inc. Publishing as Prentice Hall 10-73

Statechart Diagrams (Continued) Created when: A class has a complex life cycle. An instance of a class may update its attributes in a number of ways through the life cycle. A class has an operational life cycle. Two classes depend on each other. The object s current behavior depends on what happened previously. Kendall & Kendall Copyright 2011 Pearson Education, Inc. Publishing as Prentice Hall 10-74

A Statechart Diagram Showing How a Student Progresses from a Potential Student to a Graduated Student (Figure 10.22) Kendall & Kendall Copyright 2011 Pearson Education, Inc. Publishing as Prentice Hall 10-75

Packages Containers for other UML things Show system partitioning Can be component packages Can be physical subsystems Use a folder symbol May have relationships Kendall & Kendall Copyright 2011 Pearson Education, Inc. Publishing as Prentice Hall 10-76

Use Cases Can Be Grouped into Packages (Figure 10.23) Kendall & Kendall Copyright 2011 Pearson Education, Inc. Publishing as Prentice Hall 10-77

Putting UML to Work The steps used in UML are: Define the use case model. Continue UML diagramming to model the system during the systems analysis phase. Develop the class diagrams. Draw statechart diagrams. Begin systems design by refining the UML diagrams. Document your system design in detail. Kendall & Kendall Copyright 2011 Pearson Education, Inc. Publishing as Prentice Hall 10-78

Summary Object-oriented systems Objects Classes Inheritance CRC cards UML and use case modeling Components of UML Things Relationships Diagrams Kendall & Kendall Copyright 2011 Pearson Education, Inc. Publishing as Prentice Hall 10-79

Summary (Continued) UML diagrams Use case diagrams Activity diagrams Sequence diagrams Communication diagrams Class diagrams Statechart diagrams Using UML Kendall & Kendall Copyright 2011 Pearson Education, Inc. Publishing as Prentice Hall 10-80

All rights reserved. No part of this publication may be reproduced, stored in a retrieval system, or transmitted, in any form or by any means, electronic, mechanical, photocopying, recording, or otherwise, without the prior written permission of the publisher. Printed in the United States of America. Copyright 2011 Pearson Education, Inc. Publishing as Prentice Hall 10-81