Logical View. 1. Overview 2. Static Structures 3. Interactions 4. Dynamic Behavior 5. Example: Logical View for the ATM. Implementation View

Similar documents
ATM Case Study OBJECTIVES Pearson Education, Inc. All rights reserved Pearson Education, Inc. All rights reserved.

Object Oriented Programming. Risk Management

Introduction. UML = Unified Modeling Language It is a standardized visual modeling language.

Using UML Part One Structural Modeling Diagrams

Writing Use Case Scenarios for Model Driven Development

ATM Case Study Part 1

Case Study: ATM machine I. Amalia Foka CEID - University of Patras Object Oriented Programming II (C++) Fall

System Modeling / Class Diagra Diagr m a Week 6

Chap 1. Introduction to Software Architecture

Using UML Part Two Behavioral Modeling Diagrams

Requirements engineering

UML TUTORIALS THE USE CASE MODEL

Case studies: Outline. Requirement Engineering. Case Study: Automated Banking System. UML and Case Studies ITNP090 - Object Oriented Software Design

IRA 423/08. Designing the SRT control software: Notes to the UML schemes. Andrea Orlati 1 Simona Righini 2

UML TUTORIALS THE COMPONENT MODEL

Questions? Assignment. Techniques for Gathering Requirements. Gathering and Analysing Requirements

Implementation Workflow

Interaction Diagrams. Use Cases and Actors INTERACTION MODELING

How To Develop Software

CPS122 Lecture: State and Activity Diagrams in UML

A UML Introduction Tutorial

Requirements Document for the Banking System. Lecture # 40

Object-Oriented Design Guidelines

Lab Manual: Using Rational Rose

Software Engineering. System Models. Based on Software Engineering, 7 th Edition by Ian Sommerville

UML Tutorial: Part 1 -- Class Diagrams.

Chapter 4 Software Lifecycle and Performance Analysis

Decomposition into Parts. Software Engineering, Lecture 4. Data and Function Cohesion. Allocation of Functions and Data. Component Interfaces

Contents. Introduction and System Engineering 1. Introduction 2. Software Process and Methodology 16. System Engineering 53

Sequence Diagram Tutorial. From: UML Distilled, Third Edition, Chapter 4 M. Fowler

Sequence Diagrams. Massimo Felici. Massimo Felici Sequence Diagrams c

Announcements. SE 1: Software Requirements Specification and Analysis. Review: Use Case Descriptions

Example Use Case Specification:

How to Make a Domain Model. Tutorial

Object-Oriented Systems Analysis and Design

Aspect Oriented Strategy to model the Examination Management Systems

Tutorial - Building a Use Case Diagram

Designing Real-Time and Embedded Systems with the COMET/UML method

Analysis and Design with UML

UML Diagram Types. Use Cases do the Following. Use Case Diagram

Types of UML Diagram. UML Diagrams OOAD. Computer Engineering Sem -IV

Developing SOA solutions using IBM SOA Foundation

Business Modeling with UML

Use Cases. Massimo Felici. Massimo Felici Use Cases c

Requirements engineering and quality attributes

UML basics. Part II: The activity diagram. The activity diagram's purpose. by Donald Bell IBM Global Services

Umbrello UML Modeller Handbook

Software Engineering. System Modeling

Chapter 1 Modeling and the UML

Communication Diagrams

Enterprise Architecture: Practical Guide to Logical Architecture

Use-Case Analysis. ! What is it? ! From where did it come? ! Now part of UML

Systematization of Requirements Definition for Software Development Processes with a Business Modeling Architecture

Zen of VISIO Leona Rubin WebTechNY User Group Date: September, 2008

Design and UML Class Diagrams

Diagramming Techniques:

3SL. Requirements Definition and Management Using Cradle

Development Methodologies. Types of Methodologies. Example Methodologies. Dr. James A. Bednar. Dr. David Robertson

Menouer Boubekeur, Gregory Provan

A Guide to Process Mapping

Software Architecture Document

The Role of Use Cases in Requirements and Analysis Modeling

RUP Design. Purpose of Analysis & Design. Analysis & Design Workflow. Define Candidate Architecture. Create Initial Architecture Sketch

How to make a good Software Requirement Specification(SRS)

Model Simulation in Rational Software Architect: Business Process Simulation

Unit I Page No. 1 System Development Object Basics Development Life Cycle Methodologies Patterns Frameworks Unified Approach UML

UML basics: An introduction to the Unified Modeling Language

How To Use The Uniml To Modeling And Understand A Court Case

Compliance and Requirement Traceability for SysML v.1.0a

In this Lecture you will Learn: Systems Development Methodologies. Why Methodology? Why Methodology?

A technical discussion on modeling with UML 06/11/03 Entity Relationship Modeling with UML

Object Oriented Software Models

Scenario-based Requirements Engineering and User-Interface Design

Using Use Cases on Agile Projects

The Business Process Model

Use Cases. Reference: Craig Larman, Applying UML and Patterns, Ch. 6

Visual Paradigm product adoption roadmap

UML-based Test Generation and Execution

Automatically Detecting and Tracking Inconsistencies in Software Design Models

Business Process Redesign and Modelling

Enterprise Application Development Using UML, Java Technology and XML

RUP. Development Process. Iterative Process (spiral) Waterfall Development Process. Agile Development Process. Well-known development processes

The Expressive Power of UML-based Web Engineering 1

Section C. Requirements Elicitation

Generating Enterprise Applications from Models

Applying 4+1 View Architecture with UML 2. White Paper

11 November

Designing a Home Alarm using the UML. And implementing it using C++ and VxWorks

The role of integrated requirements management in software delivery.

CREDIT CARD PROCESSING

Rational Software White Paper

A technical discussion of UML 06/11/03 Relational Modeling with UML

Graphical Systems Modeling with UML / SysML Class diagrams

Rose Data Modeler (logical)

The SPES Methodology Modeling- and Analysis Techniques

i. Node Y Represented by a block or part. SysML::Block,

UML Activities & Actions. Charles ANDRE - UNSA

Design and UML Class Diagrams. Suggested reading: Practical UML: A hands on introduction for developers

Using Rational Rose to Create Object-Oriented Diagrams

MODERN OBJECT-ORIENTED SOFTWARE DEVELOPMENT

Transcription:

Logical View 1. Overview 2. Static Structures 3. Interactions 4. Dynamic Behavior 5. Example: Logical View for the ATM Logical View Process View Classes, interfaces, collaborations Implementation View Use cases Use Case View Deployment View Process,Threads Source, binary, executable components Nodes

1. Overview -The purpose of the logical view is to specify the functional requirements of the system. The main artifact of the logical view is the design model: The design model gives a concrete description of the functional behavior of the system. It is derived from the analysis model. The analysis model gives an abstract description of the system behavior based on the use case model. In general only the design model is maintained in the logical view, since the analysis model provides a rough sketch, which is later refined into design artifacts. Design Model -The design model consists of collaborating classes, organized into subsystems. -Artifacts involved in the design model may include: class, interaction, and state diagrams the subsystems and their interfaces

2. Static Structures Notion of Class a description of a group of objects with: common properties (attributes), common behavior (operations), common relationships to other objects, and common semantics. in the UML classes are represented as compartmentalized rectangles: top compartment contains the name of the class middle compartment contains the structure of the class (attributes) bottom compartment contains the behavior of the class (operations) Visibility: + public # protected - private

Extensibility Mechanisms Stereotype Tagged value Constraint Notion of Stereotype provides the capability to create a new kind of modeling element. we can create new kinds of classes by defining stereotypes for classes. the stereotype for a class is shown below the class name enclosed in guillemets (<< >>). examples of class stereotypes: exception, utility etc.

Boundary, Entity, and Control Classes The Rational Unified Process advocates for finding the classes for a system by looking for boundary, control, and entity classes. Entity classes: model information and associated behavior that is generally long lived may reflect a real-world entity, or may be needed to perform tasks internal to the system are application independent: may be used in more than one application. Boundary classes: handle the communication between the system surroundings and the inside of the system can provide the interface to a user or another system Control classes: model sequencing behavior specific to one or more use cases. typically are application-dependent classes.

Relationships Provide the conduit for object interaction Several kinds of relationships: Association Dependency Realization Aggregation Inheritance Truck Vehicle Car

Class Diagram Purpose Provide a picture or view of some or all the classes/interfaces in the model Static design view of the system

Object Diagram Shows a set of objects and their relationships at a point in time Shows instances and links Built during analysis and design (address the static design view) Purpose Illustrate data/object structures Specify snapshots

Static Structure Diagrams Subsystem: Independent unit of functionality that consists of a collection of related classes and/or other subsystems. Offer interfaces and uses interfaces provided by other subsystems. In the UML, subsystems are represented as folders/packages: People Information Dependency Relationships: provides and uses relationships Uses relationship, shown as a dashed arrow to the used interface. Provides relationship, shown as a straight line to the provided interface. Subsystem A is dependent on subsystem B implies that one or more classes in A initiates communication with one or more public classes in B: A is called the client and B the supplier. Transfer DirectBanking AccountService

3. Interactions Use Case Realization the functionality of a use case is defined by describing the scenarios involved. a scenario is an instance of a use case: it is one path through the flow of events for the use case. each use case is a web of scenarios: primary scenarios (the normal flow for the use case) and secondary scenarios (the what-if logic of the use case). scenarios help identify the objects, the classes, and the object interactions needed to carry out a piece of the functionality specified by the use case. the flow of events for a use case is captured in text, whereas scenarios are captured in interaction diagrams. two types of interaction diagrams: sequence diagrams collaboration diagrams

Sequence Diagram Shows object interactions arranged in time sequence Purpose Model flow of control Illustrate typical scenarios Depicts the objects and classes involved in the scenario and the sequence of messages exchanged between the objects needed to carry out the functionality of the scenario.

Collaboration Diagram Shows object interactions organized around the objects and their links to each other (Arranged to emphasize structural organization) Purpose Model flow of control Illustrate coordination of object structure and control Alternate way to describe a scenario A collaboration diagram contains: -objects drawn as rectangles -links between objects shown as lines connecting the linked objects -messages shown as text and an arrow that points from the client to the supplier.

4. Dynamic Behavior Statechart Diagram Use cases and scenarios provide a way to describe system behavior, that is the interaction between objects in the system. A state transition diagram allows the modeling of the behavior inside a single object. It shows the events or messages that cause a transition from one state to another, and the actions that result from a state change. It is created only for classes with significant dynamic behavior, like control classes.

State: a condition during the life of an object when it satisfies some condition, performs some action, or waits for an event found by examining the attributes and links defined for the object represented as a rectangle with rounded corners Transitions: represents a change from an originating state to a successor state (that may be the same as the originating state). may have an action and/or a guard condition associated with it, and may also trigger an event.

Activity Diagram Captures dynamic behavior (activity-oriented) Behavior that occurs within the state is called an activity: starts when the state is entered and either completes or is interrupted by an outgoing transition. Purpose -Model business workflow -Model operations

5. Example: Logical View for the ATM Withdraw Money Use case 2:requestWithdrawal :CashierInterface :Withdrawal 1:identify Customer 5:dispense money :Dispenser 4:authorizeDispense 3:validate and withdraw :Account

Deposit Use Case 1:identify :CashierInterface 2:requestDeposit :Deposit 5: deposit Customer 3:putMoney :MoneyReceptor 4:moneyReception :Account

Transfer Use Case A1:Account 1:identify :CashierInterface 4:transfer 2:requestTransfer 3:validate A2:Account :Transfer

Class Diagram <<boundary>> Dispenser authorizedispense() <<control>> Withdrawal requestwithdrawal() <<boundary>> CashierInterface identify() <<control>> Transfer requesttransfer() <<entity>> Account validate() deposit() transfer() withdraw() <<boundary>> MoneyReceptor putmoney() <<control>> Deposit requestdeposit() moneyreception()

(Refined) Class diagram providing a view of the classes involved in withdraw Money use case (design model) CardReader Display Transaction Manager Customer KeyPad Dispenser Feeder Client Manager Withdrawal Persistent Class Dispenser Sensor Cash Counter Account Manager Account

Traceability (Withdraw use case) nalysis CashierInterface Dispenser Withdrawal Account esign <<trace>> <<trace>. <<trace>> <<trace>> Display Cash Counter KeyPad CardReader Client Manager Dispenser Feeder Dispenser Sensor Withdrawal Transaction Manager Account Persistent Class Account Manager

A Scenario of the Withdraw Money Use Case (Design Model) :CardReader :Display :KeyPad :Client Manager :Cash Counter :Transaction Manager Insert card Card inserted (ID) Show request Ask for PIN code Specify PIN code Show request PIN code (PIN) Ask for amount to withdraw Request PIN validation (PIN) Specify amount Amount (A) Request cash availability (A) Request amount withdrawal (A)

Statechart Modeling Dynamic Behavior of Account Class AccountState debit [amount<=balance]/balance-=amount deposit [amount<=-balance]/ balance+=amount-1 withdraw [amount>balance]/balance-=amount [amount>-balance]/ balance+=amount-1 credit deposit/balance+=amount public class Account { private int balance; public void deposit (int amount) { if (balance > 0) balance = balance + amount; else balance = balance + amount 1; // transaction fee } public void withdraw (amount) { if (balance>0) balance = balance amount; }}

Static Structure Diagram Withdrawal Customer ATM Interface Transaction Mgt Transfers Account Mgt ATM Interface UDisplay Dispenser Classes CardReader, Display, KeyPad, ClientMgr DispenserFeeder, DispenserSensor, CashCounter Withdrawal, TransactionMgr Subsystems UDisplay/ATM Interface Dispenser/ATM Interface TransactionMgt Account, PersistentClass, AccountMgr AccountMgt

Structuring Using Layer Architectural Pattern <<layer>> Application-specific Subsystems Layers <<layer>> Application-general ATM Interface Transaction Mgt, Account Mgt Applicationgeneral Applicationspecific Middleware System-software <<layer>> Middleware <<layer>> System-software

Requirements Design Coding ATM Interface UML use case descriptions and diagrams Transaction Mgt Java.awt Requirements Specification Scenarios Java Virtual Machine UML Activity UML State Diagrams Diagrams Account Mgt Java.rmi UML Class Diagrams UML Sequence Diagrams TCP/IP UML Object Diagrams UML Collaboration Diagrams Application-specific layer STATES UML Package Application-general layer Diagrams CLASS STRUCTURE UML Component Middleware layer Diagrams INTERACTIONS UML Deployment Diagrams System-software layer