Lecture 5 Introduction to Use Case Analysis and the Analysis Model Introduction to the UML.

Slides:



Advertisements
Similar presentations
Lecture 4 Process and Method: An Introduction to the Rational Unified Process.
Advertisements

Use Case Diagrams.
Chapter 22 Object-Oriented Systems Analysis and Design and UML Systems Analysis and Design Kendall and Kendall Fifth Edition.
OOAD Using the UML - Use-Case Analysis, v 4.2 Copyright  Rational Software, all rights reserved 1/18 Use Case Analysis – continued Control Classes.
2-1 © Prentice Hall, 2007 Chapter 2: Introduction to Object Orientation Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph.
Use-case Modeling.
Drawing System Sequence Diagrams
Lecture 12: Chapter 22 Topics: UML (Contd.) –Relationship Structural Behavioral –Diagram Structural Behavioral.
The Unified Software Development Process - Workflows Ivar Jacobson, Grady Booch, James Rumbaugh Addison Wesley, 1999.
SE 555 Software Requirements & Specification1 Use-Case Modeling: Overview and Context.
Modified from Sommerville’s originalsSoftware Engineering, 7th edition. Chapter 8 Slide 1 System models.
Modified from Sommerville’s originalsSoftware Engineering, 7th edition. Chapter 8 Slide 1 System models.
C++ Training Datascope Lawrence D’Antonio Lecture 11 UML.
NJIT Drawing System Sequence Diagrams Chapter 10 Applying UML and Patterns Craig Larman Presented by Anuradha Dharani.
Objectives Explain the purpose and objectives of object- oriented design Develop design class diagrams Develop interaction diagrams based on the principles.
Use Case Analysis – continued
Why Analysis Process Refer to earlier chapters Models what the system will do makes it easier for understanding no environment considered (hence, system.
UML - Development Process 1 Software Development Process Using UML (2)
® IBM Software Group © 2006 IBM Corporation Rational Software France Object-Oriented Analysis and Design with UML2 and Rational Software Modeler 06. Requirements.
Chapter 5 Analysis Model. Analysis model (AM) The first step in describing how the system will implement the requirements specification The first step.
ANALYSIS REQUIREMENT ANALYSIS DESIGN IMPLEMENTATION TEST.
Software Engineering Chapter 8 Fall Analysis Extension of use cases, use cases are converted into a more formal description of the system.Extension.
Requirement Engineering. Review of Last Lecture Problems with requirement Requirement Engineering –Inception (Set of Questions) –Elicitation (Collaborative.
UML Diagrams: Class Diagrams The Static Analysis Model Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
Copyright 2002 Prentice-Hall, Inc. Chapter 2 Object-Oriented Analysis and Design Modern Systems Analysis and Design Third Edition Jeffrey A. Hoffer Joey.
Approaching a Problem Where do we start? How do we proceed?
Systems Analysis and Design in a Changing World, 3rd Edition
CS3773 Software Engineering Lecture 04 UML Class Diagram.
Requirements as Usecases Capturing the REQUIREMENT ANALYSIS DESIGN IMPLEMENTATION TEST.
Chapter 5 Models and UML Notation for The Object-Oriented Approach.
Programming Logic and Design Fourth Edition, Comprehensive Chapter 15 System Modeling with the UML.
Requirements Capture. Four Steps of requirements capture List candidate requirements Understand system context Capture functional requirements Capture.
UML-1 3. Capturing Requirements and Use Case Model.
The Static Analysis Model Class Diagrams Prof. Hany H. Ammar, CSEE, WVU, and Dept. of Computer Science, Faculty of Computers and Information, Cairo University.
Fall 2010 CS4310 Requirements Engineering A Brief Review of UML & OO Dr. Guoqiang Hu Department of Computer Science UTEP 1.
UML-1 8. Capturing Requirements and Use Case Model.
® IBM Software Group © 2006 IBM Corporation Writing Good Use Cases Module 1: Introduction to Use-Case Modeling.
Faculty of Applied Engineering and Urban Planning Software Engineering Department Software Engineering Lab Use Cases Faculty of Information system Technology.
ANALYSIS - II REQUIREMENT ANALYSIS DESIGN IMPLEMENTATION TEST.
1 Use Case Diagrams Use Case Actor Use case description Use case realization (Scenario) Use case relationships –Extends –Uses.
1 Structuring Systems Requirements Use Case Description and Diagrams.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Slide 1 Use Case Diagrams.
1 Capturing Requirements As Use Cases To be discussed –Artifacts created in the requirements workflow –Workers participating in the requirements workflow.
UML-1 4. Architecture. UML-2 Artifact: Analysis Class Abstraction of one or several classes or subsystems –Focuses on handling functional requirements.
1 Capturing Requirements As Use Cases To be discussed –Artifacts created in the requirements workflow –Workers participating in the requirements workflow.
CS 772: Global Knowledge Networks V. “Juggy” Jagannathan CSEE, West Virginia University.
Chapter 2 The Rational Unified Process. Outline Waterfall Process Rational Unified Process RUP Best Practices Iterative and Incremental Development Process.
Object-Oriented Modeling: Static Models. Object-Oriented Modeling Model the system as interacting objects Model the system as interacting objects Match.
Software Engineering Software Engineering - Mr. Ahmad Al-Ghoul.
CSC480 Software Engineering Lecture 8-9 September 20, 2002.
Introduction to OOAD and the UML
Analysis Yaodong Bi. Introduction to Analysis Purposes of Analysis – Resolve issues related to interference, concurrency, and conflicts among use cases.
UML - Development Process 1 Software Development Process Using UML.
Use Case Model Use case description.
UML Course Instructor: Rizwana Noor. Overview  Modeling  What is UML?  Why UML?  UML Diagrams  Use Case  Components  Relationships  Notations.
 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.
Chapter 6: Structuring Requirements: Use Case Description and Diagrams Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph.
Gerhard Dueck -- CS3013Analysis 1. Gerhard Dueck -- CS3013Analysis 2 Why analysis?  Yield a more precise specification of the requirements.  Introduce.
1 BTS330 Visual Modeling. What is Visual Modeling? 2 Copyright © 1997 by Rational Software Corporation Computer System Business Process Order Item Ship.
1 After the scenarios are formulated Find all the use cases in the scenario Describe each of these use cases in more detail Participating actors Describe.
1 Team Skill 3 Defining the System Part 1: Use Case Modeling Noureddine Abbadeni Al-Ain University of Science and Technology College of Engineering and.
UML Diagrams: Class Diagrams The Static Analysis Model
Use Case Model Use case description.
Unified Modeling Language
Use Case Model Use case diagram – Part 2.
Software Analysis.
Design Yaodong Bi.
Chapter 22 Object-Oriented Systems Analysis and Design and UML
Introduction to OOAD and the UML
Software Development Process Using UML Recap
Presentation transcript:

Lecture 5 Introduction to Use Case Analysis and the Analysis Model Introduction to the UML

Elaboration Phase in Detail 4 Use Case Analysis –Find and understand 80% of architecturally significant use cases and actors by the end of the Elaboration Phase –Prototype User Interfaces –Prioritize Use Cases within the Use Case Model –Detail the architecturally significant Use Cases (write and review them) 4 Prepare Domain Model of architecturally significant classes, and identify their responsibilities and central interfaces (View of Participating Classes)

Use Case Analysis 4 What is a Use Case? –A sequence of actions a system performs that yields a valuable result for a particular actor. 4 What is an Actor? –A user or outside system that interacts with the system being designed in order to obtain some value from that interaction 4 Use Cases describe scenarios that describe the interaction between users of the system and the system itself. 4 Use Cases describe WHAT the system will do, but never HOW it will be done.

What’s in a Use Case? 4 Define the start state and any preconditions that accompany it 4 Define when the Use Case starts 4 Define the order of activity in the Main Flow of Events 4 Define any Alternative Flows of Events 4 Define any Exceptional Flows of Events 4 Define any Post Conditions and the end state 4 Mention any design issues as an appendix 4 Accompanying diagrams: State, Activity, Sequence Diagrams 4 View of Participating Objects (relevant Analysis Model Classes) 4 Logical View: A View of the Actors involved with this Use Case, and any Use Cases used or extended by this Use Case

Use Cases Describe Function not Form 4 Use Cases describe WHAT the system will do, but never HOW it will be done. 4 Use Cases are Analysis Products, not Design Products.

Use Cases Describe Function not Form 4 Use Cases describe WHAT the system should do, but never HOW it will be done 4 Use cases are Analysis products, not design products

Benefits of Use Cases 4 Use cases are the primary vehicle for requirements capture in RUP 4 Use cases are described using the language of the customer (language of the domain which is defined in the glossary) 4 Use cases provide a contractual delivery process (RUP is Use Case Driven) 4 Use cases provide an easily-understood communication mechanism 4 When requirements are traced, they make it difficult for requirements to fall through the cracks 4 Use cases provide a concise summary of what the system should do at an abstract (low modification cost) level.

Difficulties with Use Cases 4 As functional decompositions, it is often difficult to make the transition from functional description to object description to class design 4 Reuse at the class level can be hindered by each developer “taking a Use Case and running with it”. Since UCs do not talk about classes, developers often wind up in a vacuum during object analysis, and can often wind up doing things their own way, making reuse difficult 4 Use Cases make stating non-functional requirements difficult (where do you say that X must execute at Y/sec?) 4 Testing functionality is straightforward, but unit testing the particular implementations and non-functional requirements is not obvious

Use Case Model Survey 4 The Use Case Model Survey is to illustrate, in graphical form, the universe of Use Cases that the system is contracted to deliver. 4 Each Use Case in the system appears in the Survey with a short description of its main function. –Participants: Domain Expert Architect Analyst/Designer (Use Case author) Testing Engineer

Sample Use Case Model Survey

Analysis Model 4 In Analysis, we analyze and refine the requirements described in the Use Cases in order to achieve a more precise view of the requirements, without being overwhelmed with the details 4 Again, the Analysis Model is still focusing on WHAT we’re going to do, not HOW we’re going to do it (Design Model). But what we’re going to do is drawn from the point of view of the developer, not from the point of view of the customer 4 Whereas Use Cases are described in the language of the customer, the Analysis Model is described in the language of the developer: –Boundary Classes –Entity Classes –Control Classes

Why spend time on the Analysis Model, why not just “face the cliff”? 4 By performing analysis, designers can inexpensively come to a better understanding of the requirements of the system 4 By providing such an abstract overview, newcomers can understand the overall architecture of the system efficiently, from a ‘bird’s eye view’, without having to get bogged down with implementation details. 4 The Analysis Model is a simple abstraction of what the system is going to do from the point of view of the developers. By “speaking the developer’s language”, comprehension is improved and by abstracting, simplicity is achieved 4 Nevertheless, the cost of maintaining the AM through construction is weighed against the value of having it all along.

Boundary Classes 4 Boundary classes are used in the Analysis Model to model interactions between the system and its actors (users or external systems) 4 Boundary classes are often implemented in some GUI format (dialogs, widgets, beans, etc.) 4 Boundary classes can often be abstractions of external APIs (in the case of an external system actor) 4 Every boundary class must be associated with at least one actor:

Entity Classes 4 Entity classes are used within the Analysis Model to model persistent information 4 Often, entity classes are created from objects within the business object model or domain model

Control Classes 4 The Great Et Cetera 4 Control classes model abstractions that coordinate, sequence, transact, and otherwise control other objects 4 In Smalltalk MVC mechanism, these are controllers 4 Control classes are often encapsulated interactions between other objects, as they handle and coordinate actions and control flows.

Relationships in UML 4 Dependency 4 Association 4 Generalization 4 Realization

The Dependency Relationship 4 A dependency is a semantic relationship between two things, where a change in interface affects the dependent 4 One object is dependent on the interface of another, either because: –it instantiates the other object (constructor dependence), cf. A factory –it parameterizes the other class (interface dependence) 4 Dependency relationships are usually short-lived in terms of lifespan

The Association Relationship 4 An association is a structural relationship between two things, indicating some type of relationship exists between the two things 4 Two types: –generic association –aggregation (whole/part)

Aggregation 4 Aggregation specifies a particular type of relationship, one where one class aggregates, or contains, another. 4 Aggregation specifies a whole/part relationship 4 Aggregation specifies a has a relationship, one thing has another –A Department has Instructors –A School has Students (is a collection of students) 4 Lifespan association indeterminate

Composition 4 A stronger form of aggregation, which implies: –that the lifetimes of the whole and part are simultaneous (implicit construction/destruction of parts with whole) –the nonshareability of parts belonging to a single whole (No my dear, that’s my hand you’re holding!) 4 Longest lifespan relationship

Generalization Relationship 4 Specifies an inheritance of type relationship 4 Specifies an is-a relationship 4 States that a reference to a base class can stand for any derived type at any time. Or, objects of a derived type can be used anywhere the parent type is used. This is polymorphism.

Realization Relationship 4 A realization is a semantic relationship between classes, stating that one class contracts to implement the interface of another. 4 In RUP, a class can realize the interface of another, a design can realize a Use Case, and the Design Model can realize the Use Case Model