Chapter 22 Object-Oriented Systems Analysis and Design and UML Systems Analysis and Design Kendall and Kendall Fifth Edition.

Slides:



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

Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall A.1.
Object-Oriented Analysis and Design
2-1 © Prentice Hall, 2007 Chapter 2: Introduction to Object Orientation Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph.
Introduction To System Analysis and Design
Chapter 18 Object-Oriented Systems Analysis and Design Using UML
Lecture 12: Chapter 22 Topics: UML (Contd.) –Relationship Structural Behavioral –Diagram Structural Behavioral.
L4-1-S1 UML Overview © M.E. Fayad SJSU -- CmpE Software Architectures Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I.
Irwin/McGraw-Hill Copyright © 2004 The McGraw-Hill Companies. All Rights reserved Whitten Bentley DittmanSYSTEMS ANALYSIS AND DESIGN METHODS6th Edition.
Lecture 11: Chapter 22 Topics –Object Oriented Modeling –UML –Use case.
C++ Training Datascope Lawrence D’Antonio Lecture 11 UML.
Copyright 2004 Prentice-Hall, Inc. Essentials of Systems Analysis and Design Second Edition Joseph S. Valacich Joey F. George Jeffrey A. Hoffer Appendix.
Object-Oriented Systems Analysis and Design Using UML
Use Case Modeling.
2-1 © Prentice Hall, 2004 Chapter 2: Introduction to Object Orientation (Adapted) Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra,
Unified Modeling Language
The Unified Modeling Language (UML) Class Diagrams.
Chapter 7: The Object-Oriented Approach to Requirements
Introduction To System Analysis and design
Object-Oriented Systems Analysis and Design Using UML
Object-oriented methodology object models use case modeling unified modeling language the data dictionary the cornucopia case portfolio project Systems.
Systems Analysis and Design in a Changing World, Fifth Edition
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.
Database Management System Prepared by Dr. Ahmed El-Ragal Reviewed & Presented By Mr. Mahmoud Rafeek Alfarra College Of Science & Technology Khan younis.
Unified Modeling Language, Version 2.0
5 Systems Analysis and Design in a Changing World, Fourth Edition.
Introduction To System Analysis and Design
System Analysis System Analysis - Mr. Ahmad Al-Ghoul System Analysis and Design.
Copyright 2002 Prentice-Hall, Inc. Chapter 2 Object-Oriented Analysis and Design Modern Systems Analysis and Design Third Edition Jeffrey A. Hoffer Joey.
Chapter 18 Object-Oriented Systems Analysis and Design Using UML
Structural Modeling. Objectives O Understand the rules and style guidelines for creating CRC cards, class diagrams, and object diagrams. O Understand.
Systems Analysis and Design in a Changing World, 3rd Edition
Chapter 5 Models and UML Notation for The Object-Oriented Approach.
IT 21103/41103 System Analysis & Design. Chapter 05 Object Modeling.
Programming Logic and Design Fourth Edition, Comprehensive Chapter 15 System Modeling with the UML.
UML diagrams What is UML UML diagrams –Static modeoing –Dynamic modeling 1.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 14 Slide 1 Object-oriented Design.
ניתוח מערכות מידע 1 Unified Modeling Language (UML) § § The Unified Modeling Language (UML) is the industry-standard language for: Specifying, Visualizing,
L6-S1 UML Overview 2003 SJSU -- CmpE Advanced Object-Oriented Analysis & Design Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College.
Lecture 6: Structural Modeling
5 Systems Analysis and Design in a Changing World, Fifth Edition.
TAL7011 – Lecture 4 UML for Architecture Modeling.
Object-Oriented Systems Analysis and Design Using UML
CIS 112 Exam Review. Exam Content 100 questions valued at 1 point each 100 questions valued at 1 point each 100 points total 100 points total 10 each.
©2007 · Georges Merx and Ronald J. NormanSlide 1 Chapter 15 The Unified Modeling Language: a Primer.
 Building Block Building Block  Things in the UML Things in the UML  Structural Things Structural Things  Behavioral Things Behavioral Things  Grouping.
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 Technical & Business Writing (ENG-715) Muhammad Bilal Bashir UIIT, Rawalpindi.
1 Unified Modeling Language, Version 2.0 Chapter 2.
Copyright © 2011 Pearson Education, Inc. Publishing as Prentice Hall Object-Oriented Systems Analysis and Design Using UML Systems Analysis and Design,
Chapter 2: Introduction to Object Orientation Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph S. Valacich, Jeffrey A.
Copyright © 2009 Pearson Education, Inc. Publishing as Prentice Hall Appendix A Object-Oriented Analysis and Design A.1.
Basic Characteristics of Object-Oriented Systems
Slide 1 Unified Modeling Language, Version 2.0 Object-Oriented SAD.
5 Systems Analysis and Design in a Changing World, Fourth Edition.
UML Diagrams By Daniel Damaris Novarianto S..
Roberta Roth, Alan Dennis, and Barbara Haley Wixom
The Movement To Objects
Object-Oriented Analysis and Design
Systems Analysis and Design With UML 2
Unified Modeling Language
UML Diagrams Jung Woo.
Chapter 20 Object-Oriented Analysis and Design
Appendix A Object-Oriented Analysis and Design
Chapter 22 Object-Oriented Systems Analysis and Design and UML
Appendix A Object-Oriented Analysis and Design
Appendix A Object-Oriented Analysis and Design
Presentation transcript:

Chapter 22 Object-Oriented Systems Analysis and Design and UML Systems Analysis and Design Kendall and Kendall Fifth Edition

Kendall & Kendall Copyright © 2002 by Prentice Hall, Inc Major Topics Object-oriented programming concepts Object-oriented terminology Five-layer model CRC Cards Unified Modeling Language Use case and other UML diagrams Relationships

Kendall & Kendall Copyright © 2002 by Prentice Hall, Inc Object-Oriented Overview Object-oriented techniques work well in situations where complicated systems are undergoing continuous maintenance, adaptation, and design There are two ways to model object- oriented systems Coad and Yourdon methodology The Unified Modeling Language

Kendall & Kendall Copyright © 2002 by Prentice Hall, Inc Object-Oriented Programming Six ideas characterize object-oriented programming: An object, which represents a real-world thing or event A class, or group of related objects Messages, sent between objects Encapsulation, only an object makes changes through its own behavior

Kendall & Kendall Copyright © 2002 by Prentice Hall, Inc Object-Oriented Programming Six ideas characterize object-oriented programming (continued): Inheritance, a new class created from another class Polymorphism, meaning that a derived class behavior may be different from the base class

Kendall & Kendall Copyright © 2002 by Prentice Hall, Inc Terminology Class refers to a template for a group of individual objects with common attributes and common behavior The difference between an Object and a Class is that the class defines shared attributes and behaviors of objects An object is an instance or occurrence of a class

Kendall & Kendall Copyright © 2002 by Prentice Hall, Inc Terminology Another name for property is attribute Another name for method is operation Interface means the behavior of a class or component that is noticeable from outside the class or component

Kendall & Kendall Copyright © 2002 by Prentice Hall, Inc Encapsulation Encapsulation changes the manner in which data is updated by programs because data can only be changed via the services that encapsulate the data

Kendall & Kendall Copyright © 2002 by Prentice Hall, Inc Inheritance The two types of classes are involved in any inheritance relationship are the base class and the derived class Multiple inheritance means there will be multiple occurrences of the base type of class in the inheritance relationship Polymorphism only occurs where there is inheritance

Kendall & Kendall Copyright © 2002 by Prentice Hall, Inc Five-Layer Model Object oriented analysis and design is based on a five-layer model: Class/object layer notes the classes and objects Structure layer captures various structures of classes and objects, such as one-to- many relationships and inheritance Attribute layer details the attributes of classes

Kendall & Kendall Copyright © 2002 by Prentice Hall, Inc Five-Layer Model Five-layer model, continued Service layer notes messages and object behaviors Subject layer divides the design into implementation units or team assignments

Kendall & Kendall Copyright © 2002 by Prentice Hall, Inc Five General Types of Objects There are five general types of objects: Tangible things Roles Incidents Interactions Specifications details

Kendall & Kendall Copyright © 2002 by Prentice Hall, Inc Criteria to Determine Need for a New Class of Objects Criteria to determine whether a new class of objects is justified There is a need to remember the object There is a need for certain behaviors of the object An object has multiple attributes A class has more than one object instantiation Unless it is a base class

Kendall & Kendall Copyright © 2002 by Prentice Hall, Inc Criteria to Determine Need for a New Class of Objects Criteria, continued Attributes have a meaningful value for each object in a class Services behave the same for every object in a class Objects implement requirements that are derived from the problem setting

Kendall & Kendall Copyright © 2002 by Prentice Hall, Inc Criteria to Determine Need for a New Class of Objects Criteria, continued Objects do not duplicate attributes and services that could be derived from other objects in the system

Kendall & Kendall Copyright © 2002 by Prentice Hall, Inc Basic Types of Structures There are two basic types of structures that might be imposed on classes and objects: Generalization-Specialization structure (Gen-Spec), which connect class-to-class Whole-Part structure which are collections of different objects that compose another whole object

Kendall & Kendall Copyright © 2002 by Prentice Hall, Inc Instance Connections Instance connections are references between objects such as associations or relationships indicated by a single line between objects using the same cardinality notation as Whole-Part structures

Kendall & Kendall Copyright © 2002 by Prentice Hall, Inc Methods Services (or methods or procedures) must be analyzed. Activities are Object state analysis, showing changes of state Service specification: creating, storing, retrieving, connecting, accessing, and deleting objects Message specification, consisting of control and data flow

Kendall & Kendall Copyright © 2002 by Prentice Hall, Inc Major Components of Object- Oriented Design Activities Object-oriented design activities are grouped into four major components: The problem domain component The human interface component The data management component The task management component

Kendall & Kendall Copyright © 2002 by Prentice Hall, Inc Problem Domain Component The problem domain component consists of Reuse design Implementation structures Language accommodation

Kendall & Kendall Copyright © 2002 by Prentice Hall, Inc CRC Cards Class, responsibilities, and collaborators (CRC) cards are used to represent the responsibilities of classes and the interaction between the classes

Kendall & Kendall Copyright © 2002 by Prentice Hall, Inc Creating CRC Cards Analysts create CRC cards by Finding all the nouns and verbs in a problem statement Create scenarios that are actually walkthroughs of system functions Identify and refine responsibilities into smaller and smaller tasks, if possible

Kendall & Kendall Copyright © 2002 by Prentice Hall, Inc Creating CRC Cards Creating CRC cards, continued The group determines how tasks are fulfilled by objects or interacting with other things Responsibilities evolve into methods or operations

Kendall & Kendall Copyright © 2002 by Prentice Hall, Inc The Unified Modeling Language (UML) UML (Unified Modeling Language) is the result of a collaboration of individual object-oriented methods that has been adopted as a standard for modeling object-oriented systems It differs from the Coad and Yourdon OOA-OOD in the way that it breaks down objects and their relationships

Kendall & Kendall Copyright © 2002 by Prentice Hall, Inc The Unified Modeling Language (UML) UML has three categories: Things, the objects Relationships, the glue that holds things together Diagrams, categorized as either structure or behavioral

Kendall & Kendall Copyright © 2002 by Prentice Hall, Inc Use Case A use case describes three things: An actor (user) that initiates an event An event that triggers a use case The use case that performs the actions triggered by the event

Kendall & Kendall Copyright © 2002 by Prentice Hall, Inc Kinds of Use Cases There are two kinds of use cases: Primary, the standard flow of events within a system that describe a standard system behavior Use case scenarios that describe variations of the primary use case

Kendall & Kendall Copyright © 2002 by Prentice Hall, Inc Steps for Creating a Use Case Model The steps required to create a use case model are Review the business specifications and identify the actors within the problem domain Identify the high-level events and develop the primary use cases that describe the events and how actors initiate them

Kendall & Kendall Copyright © 2002 by Prentice Hall, Inc Steps for Creating a Use Case Model Creating a use case model, continued Review each primary use case to determine possible variations of flow through the use case Develop the use case documents for all primary use cases and all important use case scenarios Move to UML diagramming techniques to complete the systems analysis and design

Kendall & Kendall Copyright © 2002 by Prentice Hall, Inc Two General Groupings of Things There are two general groupings of things in UML: Structural things that define the conceptual and physical structures of an O-O system and are described by nouns Behavioral things, the verbs of a UML model that represent the behavior of the system and the states of the system before, during, and after the behaviors occur

Kendall & Kendall Copyright © 2002 by Prentice Hall, Inc Categories of Structural Things There are seven categories of structural things The first five are conceptual or logical The last two are physical in nature Component Node

Kendall & Kendall Copyright © 2002 by Prentice Hall, Inc Categories of Structural Things Seven categories of structural things: Classes, which have properties or attributes and methods or operations Interfaces, the behavior of a class or component of a system that is noticeable from outside the class or component

Kendall & Kendall Copyright © 2002 by Prentice Hall, Inc Categories of Structural Things Seven categories, continued Collaborations, which describe the interactions of two or more things in a system that perform a behavior that is more than any one of the things can do alone Use cases, which describe a series of actions that demonstrate a distinct behavior of the system and its interactions with the actors

Kendall & Kendall Copyright © 2002 by Prentice Hall, Inc Categories of Structural Things Seven categories, continued Control or active classes A control class can initiate and control an independent flow of activity within the system Components, which are a physical part of a system that represents the services and interfaces implemented by the elements contained within that component, including software code

Kendall & Kendall Copyright © 2002 by Prentice Hall, Inc Categories of Structural Things Seven categories, continued Nodes, which represent a piece of hardware on which your system executes Components are physically deployed on nodes

Kendall & Kendall Copyright © 2002 by Prentice Hall, Inc Behavioral Things Behavioral things consist of Interactions, or messages sent between a set of objects within the system to perform a specific task State machine, a series of states that an object goes through in response to actions within the system

Kendall & Kendall Copyright © 2002 by Prentice Hall, Inc Packages Packages are groups of things They can be physical subsystems

Kendall & Kendall Copyright © 2002 by Prentice Hall, Inc Types of Relationships There are two types of relationships that hold things together: Structural Behavioral

Kendall & Kendall Copyright © 2002 by Prentice Hall, Inc Types of Structural Relationships There are four types of structural relationships: Dependencies, where one thing affects another thing that uses it Aggregations, which show how the whole object is composed of the sum of its parts Associations that describe structural connections between things

Kendall & Kendall Copyright © 2002 by Prentice Hall, Inc Types of Structural Relationships Four types of structural relationships, continued Generalizations, which describe a relationship between a general kind of thing and a more specific kind of thing, used for modeling class inheritance and specialization

Kendall & Kendall Copyright © 2002 by Prentice Hall, Inc Types of Active Behavioral Relationships There are four active behavioral relationships: Communicates is used to connect an actor to a use case Includes describes the situation where a use case contains a behavior that is common to more than one use case

Kendall & Kendall Copyright © 2002 by Prentice Hall, Inc Types of Active Behavioral Relationships Types of active behavioral relationships, continued Extends describes the situation where one use case possesses the behavior that allows the new use case to handle a variation or exception Generalizes implies that one thing is more typical than the other thing

Kendall & Kendall Copyright © 2002 by Prentice Hall, Inc UML Structural Diagrams UML structural diagrams include Class diagrams used to model the static structural design of a system Object diagrams portray the state of class instances and their relationships at a point in time

Kendall & Kendall Copyright © 2002 by Prentice Hall, Inc UML Structural Diagrams UML structural diagrams, continued Component diagrams show an overview of the system architecture A deployment diagram illustrates the physical implementation of the system, including the hardware

Kendall & Kendall Copyright © 2002 by Prentice Hall, Inc Behavioral Diagrams Behavioral diagrams describe the interaction between people and a use case

Kendall & Kendall Copyright © 2002 by Prentice Hall, Inc Behavioral Diagrams Behavioral Diagrams include Use case diagrams, showing the actors and the use cases Sequence diagrams that depict a succession of interactions between object instances over time and they show the processing described in use case scenarios Activity diagrams show the flow of activities within a process

Kendall & Kendall Copyright © 2002 by Prentice Hall, Inc Behavioral Diagrams Behavioral Diagrams, continued Collaboration diagrams illustrate a sequence of object interactions showing the organization of the objects during the interactions State chart diagrams show the states of an object and the events and conditions that trigger a transition from one state to another

Kendall & Kendall Copyright © 2002 by Prentice Hall, Inc Steps Used in UML The steps used in UML are Define the use case model Define the object model Continue UML diagramming to model the system during the systems analysis phase Begin system design by refining UML diagrams and using them to derive classes and their properties and methods