Chapter 1 , 2 , 3 and 4 Applying UML and Patterns -Craig Larman

Slides:



Advertisements
Similar presentations
Chapter 4: Inception is Not the Requirements Phase
Advertisements

Use Case Modeling SJTU. Unified Modeling Language (UML) l Standardized notation for object-oriented development l Needs to be used with an analysis and.
UNIFIED PROCESS.
Actors and use cases Use-case diagram Brief notation Prioritization Fully dressed notation Requirements Functional requirements  Use-cases.
Writing Use Cases: Requirements in Context
Use cases.
CS3773 Software Engineering Lecture 03 UML Use Cases.
ATM User Interface Design. Requirements A bank customer is able to access his or her account using an automatic teller machine. To be able to use an ATM.
Conversation Form l One path through a use case that emphasizes interactions between an actor and the system l Can show optional and repeated actions l.
COMP 350: Object Oriented Analysis and Design Lecture 3 Case Studies, Inception & Use Cases References: Craig Larman Chapters 3-6.
Use-case Modeling.
Development Processes UML just is a modeling technique, yet for using it we need to know: »what do we model in an analysis model? »what do we model in.
Fall 2009ACS-3913 Ron McFadyen1 Use Cases Used to capture functional requirements – there are other requirements categories such as usability, reliability,
Use Cases & Requirements Analysis By: Mostafa Elbarbary.
Understanding Requirements
Copyright ©2004 Cezary Z Janikow 1 Use Cases n Within Requirements discipline/workflow n Verbal descriptions of important functional (behavioral, transactional,
Object Oriented Analysis and Design Chapter 1 Applying UML and Patterns -Craig Larman.
1 Lecture 1: Processes, Requirements, and Use Cases.
From Inception to Elaboration Chapter 8 Applying UML and Patterns -Craig Larman.
7. 2Object-Oriented Analysis and Design with the Unified Process Objectives  Detailed Object-Oriented Requirements Definitions  System Processes—A Use.
NJIT Inception is not the Requirements Phase Chapter 4 Applying UML and Patterns Craig Larman.
Use Case Modeling. Use case diagram For each use case we develop  Object class diagram (with attributes only)  System sequence diagram (analysis) 
RUP Requirements RUP Artifacts and Deliverables
® IBM Software Group © 2006 IBM Corporation Writing Good Use Cases Module 4: Detailing a Use Case.
® IBM Software Group © 2006 IBM Corporation Rational Software France Object-Oriented Analysis and Design with UML2 and Rational Software Modeler 06. Requirements.
Rational Unified Process (Part 1) CS3300 Fall 2015.
Requirements Functional requirements  Use-cases
Developing Use Cases in a Group Carolyn L. Cukierman Face-to-Face Technology Conference March 27, 2000.
Last lecture. What is a Use Case Use cases are stories (scenarios) of how actors use (interact with) the system to fulfill his goal. Examples Process.
1 CMPT 275 Software Engineering Requirements Analysis Phase Requirements Analysis Activity (Identifying Objects, Scenarios) Janice Regan,
10/12/ Recall The Team Skills 1. Analyzing the Problem (with 5 steps) 2. Understanding User and Stakeholder Needs 1. Interviews & questionnaires.
Chapter 6 Use Cases. Use Cases: –Text stories Some “actor” using system to achieve a goal –Used to discover and record requirements –Serve as input to.
Iterative development and The Unified process Chapter 2 Applying UML and Patterns -Craig Larman.
IntellAgile Copyright © 2002 Craig Larman. All rights reserved. Writing Use Cases: Requirements in Context.
Requirements Artifacts Precursor to A & D. Objectives: Requirements Overview  Understand the basic Requirements concepts and how they affect Analysis.
Object-Oriented Analysis and Design Jan 14, 2009.
Chapter 7 Applying UML and Patterns Craig Larman
Submitted By: Memon Khurshed (Group Leader) Hamed Abdollahpur
 Development is organized in a series of short, fixed-length mini-projects called iterations  Iterations are also incremental  Successive enlargement.
Practical Object-Oriented Design with UML 2e Slide 1/1 ©The McGraw-Hill Companies, 2004 PRACTICAL OBJECT-ORIENTED DESIGN WITH UML 2e Chapter 4: Restaurant.
Rational Requirements Management with Use Cases v5.5 Copyright © Rational Software, all rights reserved 1 Requirements Management with Use Cases.
1 Object-Oriented Modeling Using UML CS 3331 Section 2.4 Modeling Requirements with Use Cases.
1 Objectives  Define key concepts of use-case modeling.  List the benefits of use-case modeling.  Find actors and use cases.  Describe their relationships.
A Use Case Primer 1. The Benefits of Use Cases  Compared to traditional methods, use cases are easy to write and to read.  Use cases force the developers.
Faculty of Applied Engineering and Urban Planning Software Engineering Department Software Engineering Lab Use Cases Faculty of Information system Technology.
Inception Chapter 4 Applying UML and Patterns -Craig Larman.
Business Analysis with For PG MDI, Gurgaon Kamna Malik, Ph.D.
Rational Unified Process Fundamentals Module 3: Disciplines I.
Requirements Engineering for Web Applications. SR: System Vision Document Written by key stakeholders Written by key stakeholders An executive summary.
Software Engineering 1 Object-oriented Analysis and Design Applying UML and Patterns An Introduction to Object-oriented Analysis and Design and Iterative.
1 Graph Coverage (6). Reading Assignment P. Ammann and J. Offutt “Introduction to Software Testing” ◦ Section
Object Oriented Analysis and Design Chapter 1 Applying UML and Patterns -Craig Larman.
PRESENTATION ON USE CASE. Use Case Modeling Use case diagrams describe what a system does from the standpoint of an external observer. The emphasis is.
Ivar Jacobson, Grady Booch, and James Rumbaugh The Unified Software Development Process Addison Wesley, : James Rumbaugh's OOMD 1992: Ivar Jacobson's.
Inception is not Requirement phasee Chapter 3 and 4 Applying UML and Patterns -Craig Larman.
IntellAgile Copyright © 2002 Craig Larman. All rights reserved. Writing Use Cases: Requirements in Context.
UML - Development Process 1 Software Development Process Using UML.
Larman chapter 61 Use cases Larman chapter 6. 2 Fig. 6.1.
Chapter 6: Structuring Requirements: Use Case Description and Diagrams Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph.
Requirements capture: Using UML Use Cases David Millard and Yvonne Howard {dem,
Jan Ron McFadyen1 Use Cases Used to capture functional requirements – there are other requirements categories such as usability, reliability,
Engineering Quality Software Week02 J.N.Kotuba1 SYST Engineering Quality Software.
Elaboration popo.
CMPE 280 Web UI Design and Development August 29 Class Meeting
Recall The Team Skills Analyzing the Problem (with 5 steps)
UML Use Case Diagrams.
Start at 17th March 2012 end at 31th March 2012
Object Oriented Analysis and Design
Other System Requirements
Use cases Dr. X.
Presentation transcript:

Chapter 1 , 2 , 3 and 4 Applying UML and Patterns -Craig Larman Last lecture Chapter 1 , 2 , 3 and 4 Applying UML and Patterns -Craig Larman

The Unified Process A standardized approach to analysis and design helps to ensure that all necessary tasks are understood and completed in software development. The course, will focus on the Unified Process developed at Rational Software by Ivar Jacobsen, Grady Boch, Jim Rumbaugh, and others.

Applying UML UML is just a standard diagramming notation. It is just a tool. Knowing UML helps you communicate with others in creating software NB: Goal of this class: Learning Object-Oriented Analysis and Design, not how to draw diagrams.

The Most Important Concept Each iteration will include requirements, analysis, design, and implementation. Iterations are timeboxed. Incremental : system grows over time

Example: Building a House Incremental: Start with a modest house, keep adding rooms and upgrades to it. Iterative: On each iteration, the house is re-designed and built a new.

Rational Unified Process Phases Process Workflows Inception Elaboration Construction Transition Business Modeling Requirements Analysis & Design Implementation Test Deployment Supporting Workflows Configuration Mgmt Management Environment Preliminary Iteration(s) Iter. #1 Iter. #2 Iter. #n Iter. #n+1 Iter. #n+2 Iter. #m Iter. #m+1 Iterations within phases

Iterations

Another approach :Waterfall Model All or most of the requirements are defined before development begins Requirements Design Implementation Test

Example Questions in Inception Ask questions such as: What is the vision and business case for this project? Feasible? Buy and/or build? Buy components and glue them together or from scratch? Estimate potential risks Rough estimate of cost: Is it $10K-100K or in the millions? Should we proceed or stop? If the answer is YES …..

What Artifacts (documents or model) may start in Inception? Vision and Business Case: describes the high-level goals and constraints, provides an executive summary; Use Case Model (chap 6 Today): describes the fundamental requirements: during inception identify the names of the use cases and analyse perhaps 10% of the them; Supplementary specification (chap 7 Today ): describe non-functional requirements, look-and-feel, atmosphere etc. 10

What artifacts (documents or model) may start in Inception? Glossary (Chap 7 today): keeping track to key terms; Risk list and risk management plan: describe the risks (business, technical, resource, schedule) and ideas for their mitigation; Prototypes and proof-of-concepts: to clarify the vision, and validate technical ideas; Iteration Plan : Describes what to do in the first elaboration iteration, and overall goals of the elaboration phase; IMPORTANT : Artifacts will be partial at this stage. Will be refined in later iterations.

Any question before we go on with new topic?

Chapter 5 and 6 Applying UML and Patterns -Craig Larman Use Cases Chapter 5 and 6 Applying UML and Patterns -Craig Larman

Program for today What is a Use case? How find stakeholders ? Find Use cases Prioritize Use Cases Detailled Use cases Organize the use case Model

Use Cases Use cases are stories (scenarios) of how actors use (interact with) the system to fulfill his goal. Use cases are ‘tasks’ done by the system and has observable value to the actor Process sale Place Order Loan book A full description of a use case includes: a basic course of events; a number of alternative and exceptional courses.

Use Case 1 Use case Text documents, not diagrams Use case modeling is writing text, not drawing diagrams. Nothing object-oriented about use cases; Use cases are a key requirements input to classic OOA/D. Functional requirements that indicate what the system will do. 16

The purpose of use cases Uncover and describe all tasks that need doing in a system (of both human and system actors) Give a clear and consistent description of what the system should do. Provide a basis for performing tests that verify the system delivers the functionality stated. To analyse what functionality that need developing for the system

Use cases documented in two ways Verbal description Describes the content of each use case Typically uses a pre-defined template Use Case diagrams Give an overview of visible use scenarios in the system Describes what actors that interact with the system Describes any linkages between use cases

Use Case Formats (verbal description) Brief Terse one-paragraph summary, usually the main success scenario. During early requirements analysis Casual Informal, multiple paragraphs that cover various scenarios. Fully dressed The most elaborate. All steps and variations are written in detail and there are supporting sections with preconditions etc.

Use case diagram Boundary of the system (1) Actor (2) Linkage between use cases (4) Use case (3)

Actors - stakeholders Actor: external entity interacts (behavior) with system, such as a person (identified by role), computer system, or organization; for example, a cashier. 21

Actors - stakeholders Three kind of Actors - Stakeholders Primary actor has user goals fulfilled through using services. (e.g., the cashier). Supporting actor provides a service (e.g., the automated payment authorization service is an example). Often a computer system, but could be an organization or person (external interfaces) (e.g. : tax calculation ) Offstage actor has an interest in the behavior of the use case, but is not primary or supporting (e.g., a government tax agency). 22

How to find actors (stakeholders) ? Who will use the system? Good Habits: keep a few individuals (two or three) in mind and make sure that the actors you identify cover their needs. Usefull questions to have in mind : Who will supply, use, or remove information? Who will use this functionality? Who is interested in a certain requirement? Where in the organization is the system used? Who will support and maintain the system? What are the system's external resources? What other systems will need to interact with this one?

How to find Use cases ? Choose the system boundary Recommended procedure: Choose the system boundary Find the primary actors Find the primary actor´s goals Define a use case for each How? Ask: what are your goals?

Case Study

How to find Use cases ? Stakeholders Goals Use case Primary actor Receptionist Xxxxx Xxxxxx Xxxxxxx Head waiter xxxxxxxxx To be able to record booking To be able to cancel booking To be able to record arrival To be able to make table transfer Record Booking Cancel Booking Record Arrival Transfer table Supporting actors Tax calculator Yyyyyyyy Offstage actor Sale tax agency Zzzzzz

Basic (normal/happy)path UC1 : Record Booking Receptionist enters date of requested reservation; System displays bookings for that date; There is a suitable table available: Receptionist enters details (customer’s name, phone number, time of booking, number of covers, table number); System records and displays new booking. 4/22/2017 CPSC-4360-01, CPSC-5360-01, Lecture 3

Other Use Case Description Template Actor System Receptionist enters date of requested reservation; there is a suitable table available: Receptionist enters details (customer’s name, phone number, time of booking, number of covers, table number); System displays bookings for that date. System records and displays new booking. 4/22/2017 CPSC-4360-01, CPSC-5360-01, Lecture 3

Alternative path Alternative flows, if no table is available UC1 : Record Booking – No Table Available: Alternative path Receptionist enters date; System displays bookings; no table available: end of use case. 4/22/2017 CPSC-4360-01, CPSC-5360-01, Lecture 3

Detailled verbal description

Use Case - verbal description There is no standardised notation for how a use case is described, verbally The description typically includes: Use Case name (use imperative verbs! e.g . Process Sale) Purpose Actors Start conditions : What needs to be done for the use case to begin? Description of the use case steps What does the actor do ? How does the system react? Any exceptions Any variants End conditions (result) : What is the result of the use case?

Preconditions and Postconditions Example: A precondition for the use case Cash Withdrawal in the ATM machine: The customer has a personally-issued card that fits in the card reader, has been issued a PIN number, and is registered with the banking system.Balance is + A postcondition for the use case Cash Withdrawal in the ATM machine: At the end of the use case, all account and transaction logs are balanced, communication with the banking system is reinitialized and the customer has withdrawn cash and been returned his card.

Detailled Use Case Examples

Use case #1 : Add Book Primary actor : Librarian Description : Create a new book in library Pre-conditions : Library logged in. Post-condition : new book is added to the library system Basic Course: The use case begins when the librarian wants to add new books The system display the ”create book” form The librarian enters book details (ISBN nr, Title, Author, Publication year , publisher and genre) and clicks on the ”create” button.

Use case #1 : Add Book The new book is created and added to the book list steps 2 ,3 and 4 are repeated as long as the librarian wants to add more books. The system displays the list of books and the use case ends. Alternate Course A : ISBN already exists A.5 . The system asks the user to enter a valid ISBN A.6 The new book is created and added to the book list A.7 The system displays the list of books and the use case ends.

Use case #2 : Search Book Primary actor : Librarian Description : search book based on title or author Pre-conditions : Book exists in the library. Post-condition : Book is found Basic Course: The use case begins when the librarian wants to search a book The system display the ”search book” screen. The librarian enters book title/author and clicks on the ”search” button.

Use case #2 : Search Book The system search for the book and displays the list of found books , then the use case ends. Alternate Course A : No book of this title exists What to do ?

Use case #3 : register Unemployed Use case: book work-shop Primary actor : Unemployed Description : Record booking transactions and satisfy the unemployed´s interests. Precondition : no specific pre-conditions Postcondition : work-shops are allocated to the customer   Unemployed enter : www.ABC.dk Unemployed enters the period , work-shop type and click search System display a list of work-shops Unemployed click on the work-shop link to read its detail System display work-shop details Unemployed clicks “book button” Step 4, 5 and 6 are repeated as long as the unemployed wants to participate to a work-shop System display payment form Customer enter his details and his billing info and click submit. System validates billing info and display the result

What we did so far ?

Thank you for your attention! Questions? 4/22/2017 CPSC-4360-01, CPSC-5360-01, Lecture 3