1 Lecture 1: Processes, Requirements, and Use Cases.

Slides:



Advertisements
Similar presentations
FROM INCEPTION TO ELABORATION Use Cases, Domain Models & SSDs Oh My!
Advertisements

Unified process(UP) UP is an OO system development methodology offered by Rational(Rational Rose) s/w, now a part of IBM Developed by Booach,Rambaugh,Jacobson--
1 Lecture 2: Processes, Requirements, and Use Cases.
Chapter 4 Quality Assurance in Context
© 2010 Bennett, McRobb and Farmer1 Use Case Description Supplementary material to support Bennett, McRobb and Farmer: Object Oriented Systems Analysis.
Actors and use cases Use-case diagram Brief notation Prioritization Fully dressed notation Requirements Functional requirements  Use-cases.
Object-Oriented Analysis and Design
CS3773 Software Engineering Lecture 03 UML Use Cases.
COMP 350: Object Oriented Analysis and Design Lecture 3 Case Studies, Inception & Use Cases References: Craig Larman Chapters 3-6.
Chapter Extension 19 Alternative Development Techniques © 2008 Pearson Prentice Hall, Experiencing MIS, David Kroenke.
Fall 2007CS 225 Introduction to Software Design Chapter 1.
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.
Introduction to Requirements (Chapters 1-3 of the requirements text) CSSE 371, Software Requirements and Specification Don Bagert, Rose-Hulman Institute.
Copyright W. Howden1 Lecture 13: Programming by Contract.
1 SOFTWARE LIFE-CYCLES Beyond the Waterfall. 2 Requirements System Design Detailed Design Implementation Installation & Testing Maintenance The WATERFALL.
Requirements - Why What and How? Sriram Mohan. Outline Why ? What ? How ?
Use Cases & Requirements Analysis By: Mostafa Elbarbary.
Introduction to Software Design Chapter 1. Chapter 1: Introduction to Software Design2 Chapter Objectives To become familiar with the software challenge.
Copyright W. Howden1 Lecture 4: Sequence Interaction Diagrams.
Understanding Requirements
1 Lecture 2: Elaboration Tasks and Domain Modeling.
Copyright ©2004 Cezary Z Janikow 1 Use Cases n Within Requirements discipline/workflow n Verbal descriptions of important functional (behavioral, transactional,
Copyright W. Howden1 Lecture 2: Elaboration Tasks and Domain Modeling.
Copyright W. Howden1 Lecture 4: Elaboration Tasks and Domain Modeling.
COMP 350: Object Oriented Analysis and Design Lecture 2
Spring 2009CS 225 Introduction to Software Design Chapter 1.
The Software Product Life Cycle. Views of the Software Product Life Cycle  Management  Software engineering  Engineering design  Architectural design.
Introduction to Software Design Chapter 1. Chapter 1: Introduction to Software Design2 Chapter Objectives To become familiar with the software challenge.
The first step in getting what you want is to decide what you want.
Chapter 3 Object-Oriented Analysis of Library Management System(LMS)
RUP Requirements RUP Artifacts and Deliverables
® IBM Software Group © 2006 IBM Corporation Writing Good Use Cases Module 4: Detailing a Use Case.
Introduction to RUP Spring Sharif Univ. of Tech.2 Outlines What is RUP? RUP Phases –Inception –Elaboration –Construction –Transition.
Rational Unified Process (Part 1) CS3300 Fall 2015.
Software Waterfall Life Cycle Requirements Construction Design Testing Delivery and Installation Operations and Maintenance Concept Exploration Prototype.
Introduction to Software Design Chapter 1. Chapter Objectives  To become familiar with the software challenge and the software life cycle  To understand.
 CS 5380 Software Engineering Chapter 2 – Software Processes Chapter 2 Software Processes1.
4 2009/10 Object Oriented Technology 1 Topic 4: The Object-Oriented Approach to Requirements Adopted from: Ch.7 The Object-Oriented Approach to Requirements.
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.
Key Takeaway Points A use case is a business process; it begins with an actor, ends with the actor, and accomplishes a business task for the actor. Use.
SOFTWARE DESIGN AND ARCHITECTURE LECTURE 20. Review Software Requirements Requirements Engineering Process.
Lecture 3 Uses Cases Topics UML Use Cases pop quiz Readings: Chapter 3 January 24, 2008 CSCE 492 Software Engineering.
 Development is organized in a series of short, fixed-length mini-projects called iterations  Iterations are also incremental  Successive enlargement.
Requirements Analysis and Design Engineering Southern Methodist University CSE 7313.
7 Systems Analysis and Design in a Changing World, Fifth Edition.
REQUIREMENTS - WHY WHAT AND HOW? Steve Chenoweth & Chandan Rupakheti CSSE 371 Chapters Requirements Text. Question 6.
Rational Unified Process Mr Hisham AlKhawar. Iterative versus Waterfall  We need to use a life cycle model in order to approach developing a system easily,
1 Modeling System Requirements with Use Cases. 2 Why Do We Need Use Cases? Primary challenge in a system design process –ability to elicit correct and.
Requirements Management with Use Cases Module 10: Requirements Across the Product Lifecycle Requirements Management with Use Cases Module 10: Requirements.
The Rational Unified Process 1 EECS810: Software Engineering.
Systems Analysis and Design in a Changing World, Fourth Edition
Ivar Jacobson, Grady Booch, and James Rumbaugh The Unified Software Development Process Addison Wesley, : James Rumbaugh's OOMD 1992: Ivar Jacobson's.
Larman chapter 61 Use cases Larman chapter 6. 2 Fig. 6.1.
Refining the Use Cases 1. How Use Cases Evolve  Early efforts typically define most of the major use cases.  The refining stages complete the process.
Use Case Diagrams. Introduction In the previous Lecture, you saw a brief review of the nine UML diagrams. Now that you have the clear, you'll start to.
7 Systems Analysis – ITEC 3155 The Object Oriented Approach – Use Cases.
RATIONAL UNIFIED PROCESS PROCESS FRAMEWORK OVERVIEW.
Software Development. The Software Life Cycle Encompasses all activities from initial analysis until obsolescence Analysis of problem or request Analysis.
Software Development Framework
TK2023 Object-Oriented Software Engineering
Software Development.
Lecture 4: Elaboration Tasks and Domain Modeling
CSC 355 – Newer Approaches to System Development Life Cycles & Processes, Spring 2017 March 2017 Dr. Dale Parson.
Introduction to Software Engineering
COMP 350: Object Oriented Analysis and Design Lecture 2
Chapter 2 – Software Processes
Lecture 4: Sequence Interaction Diagrams
SOFTWARE LIFE-CYCLES Beyond the Waterfall.
CSCI 360: Software Architecture & Design
Presentation transcript:

1 Lecture 1: Processes, Requirements, and Use Cases

2 Development Processes Early Days: evolve a system –Build and fix –Leads to chaos –Need for intelligent design Waterfall Model –Requirements, Design, Code, Tests, Maintenance

3 Rational Unified Process Iterative, incremental development: –Development cycle: results in a release –Iteration phases: Inception, Elaboration, Construction, Transition –Phase activities: Business Modeling, Requirements, Design, Implementation, Test, Deployment, Configuration & Change, Project Management, Environment (tools, process design)

4 Factors for Success and the RUP Iterative development: develop part of the functionality, explore designs such as GUI Daily builds: incorporate new code into (partially) complete system; rapid feedback via testing Team experience in shipping multiple products Early focus on building and evaluating a cohesive system architecture (Product Development Practices that Work, MIT Sloan Management Review, 42:2, 2001)

5 Lightweight vs Heavyweight Process Formal, heavyweight: strict phases with defined formal documentation, often not iterative Agile: adjust to application, activities in one phase differently weighted Extreme programming: smaller projects, all staff eye to eye, paired programming, tests as specifications -> little formal documentation other than code

6 Introduction to Requirements Basic but not sole step in inception Types of requirements: FURPS –Functionality –Usability –Reliability –Performance –Supportability

7 Some OO Terminology Responsibility – function that must be performed. E.g. hiring personal, searching a data base for a record Role – abstract entity that performs the role –E.g. project leader, DB class Actor – concrete entity that plays a role to fulfill some responsibility. E.g. Fred Bloggs, DB class instance

8 Actors and RUP External object that interacts with system - external = assumed, already given Causes input events, receives output Examples from POS: cashier, customer, product info database (assumed external)

9 Use Cases Story of system usage, basic RUP requirements method; Functionality aspect of requirements Scenario: Specific use of a system, interaction between actors and system Use case: collection of related scenarios Use case documentation –Individual use cases: tables, paragraphs –Actors / Use case interactions: use case diagrams

10 Use Case Table - Example DaterSystem responsibility 1. Log in2. Determine valid 3. Display dater menu 4. Choose get-date5. Display criteria input form 6. Enter prefs7. Find date 8. Display date data 7. Logs out

11 Paragraph Style - Sections Primary Actor(s) Stakeholders and interests Preconditions Postconditions Happy Case Alternative Cases Special Requirements Variations (technology, data) Frequency Open Issues

12 Stakeholders Developers, users, marketing, customers, regulators Use case describes part of contract between stakeholders and developers E.g. Dating system –daters, administrator, developers

13 Pre-conditions and Post- conditions Preconditions –What we will assume to be true before a system use Postconditions –What we guarantee to be true afterwards Contracts: pre and post conditions

14 Happy Cases Main Flow: normal or main flow of control in a use case Alternatives: minor success flows, error flows, exceptions –Branches or subcases of main flow –Refinements of abstract functionality

15 Finding Use Cases Not single steps, not whole complex processes. –E.g. Dating system: not log on, not DS usage, but Dater Asks for a Date Elementary Business Process Abstract from concrete to intentional –E.g. concrete: enter card, enter PIN intentional: user identifies himself Use cases satisfy user/actor goals

16 Finding Actors/Roles Types of Actors –Primary, supporting, and offstage actors MetaRoles: system initiation and termination, updates Events and who causes them

17 Use Case Diagrams Show actors/roles and use cases they interact with Shows relationships between use cases –Alternative subcases e.g. administrator updates DS database –Delete a member, Add a member –Uses subcase e.g. member/administrator uses system –Log on sub use case –Data-base component

18 Sample Use Case Diagram

19 Tips Do not get caught up constructing Use Case Diagrams Use intentional use cases during requirements, concrete during design Avoid tables if they are too restrictive Accept that inception use cases will be incomplete or some will lack detail

20 System Increments System increments  Horizontal: one layer or tier at at time  Vertical: one or more “threads” or complete functional uses Use Cases and system increments –Choose a subset of the uses cases

21 Use Cases and System Increments Initial and subsequent increments Selection Factors –Risk: of remaining, are some complex, ambiguous, uncertain usability –Coverage: want to touch on all major functionality in early iterations, principal data flows, happy cases –Criticality: critical to business enterprise –Architectural: start up, stripped down vertical functionality

22 DS Use Case Groupings Use cases by class of user –Member –Administrator –Unauthorized user Use case by member user functionality –GetADate –SetMemberData

23 DS First Increment Choice Use Case: member logs on and asks to get a date, system returns a date from DB or reports no date present Rationale –Criticality –Coverage Missing supporting functionality –Administrator enters members –Members enter their properties –Will need to preload the DB with data