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

Slides:



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

Chapter 7: Software production process Refers to the activities that are used for building, delivering, deploying, and evolving a software product, from.
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--
The System and Software Development Process Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
CS487 Software Engineering Omar Aldawud
Chapter 4 Quality Assurance in Context
Object-Oriented Analysis and Design
Rational Unified Process
NJIT From Inception to Elaboration Chapter 8 Applying UML and Patterns Craig Larman.
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.
Requirements - Why What and How? Sriram Mohan. Outline Why ? What ? How ?
Introduction to Software Design Chapter 1. Chapter 1: Introduction to Software Design2 Chapter Objectives To become familiar with the software challenge.
1 Lecture 2: Elaboration Tasks and Domain Modeling.
Software Development Overview CPSC 315 – Programming Studio Spring 2009.
1 Lecture 1: Processes, Requirements, and Use Cases.
Copyright W. Howden1 Lecture 2: Elaboration Tasks and Domain Modeling.
Copyright W. Howden1 Lecture 4: Elaboration Tasks and Domain Modeling.
Iterative development and The Unified process
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.
Unified Software Practices v 5.0-D Copyright  1998 Rational Software, all rights reserved 1 /26 RUP Architecture.
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.
-Nikhil Bhatia 28 th October What is RUP? Central Elements of RUP Project Lifecycle Phases Six Engineering Disciplines Three Supporting Disciplines.
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.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software Processes.
Agile Methodologies: Comparative Study and Future Direction 林佳蓁 資工 4B.
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.
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.
Object-oriented Analysis and Design Stages in a Software Project Requirements Writing Analysis Design Implementation System Integration and Testing Maintenance.
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.
© Bennett, McRobb and Farmer Avoiding the Problems Based on Chapter 3 of Bennett, McRobb and Farmer: Object Oriented Systems Analysis and Design.
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,
The System and Software Development Process Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
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.
The principles of an object oriented software development process Week 04 1.
The System and Software Development Process Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
CSPC 464 Fall 2014 Son Nguyen. 1. The Process of Software Architecting, Peter Eeles, Peter Cripss 2. Software Architecture for Developers, Simon Brown.
Ivar Jacobson, Grady Booch, and James Rumbaugh The Unified Software Development Process Addison Wesley, : James Rumbaugh's OOMD 1992: Ivar Jacobson's.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 4 Slide 1 Software Processes.
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.
CS 160 and CMPE/SE 131 Software Engineering February 18 Class Meeting Department of Computer Science Department of Computer Engineering San José State.
7 Systems Analysis – ITEC 3155 The Object Oriented Approach – Use Cases.
RUP RATIONAL UNIFIED PROCESS Behnam Akbari 06 Oct
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 Engineering cosc 4359 Spring 2017.
Software Development Framework
Iterative development and The Unified process
TK2023 Object-Oriented Software Engineering
Process 4 Hours.
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
Object Oriented Analysis and Design
Teaching slides Chapter 1.
Chapter 2 – Software Processes
SOFTWARE LIFE-CYCLES Beyond the Waterfall.
Presentation transcript:

1 Lecture 2: 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

Process and the Waterfall Method Components (requirements, design, code, tests maintenance) not developed in a linear fashion –cycle back to earlier deliverable if defect found –test development started in the requirements stage 3

4 Rational Unified Process Multiple iterations: –Development cycle: a release for each iteration –Iteration phases: Inception, Elaboration, Construction, Transition –Phase activities: Business Modeling, Requirements, Design, Implementation, Test, Deployment, Configuration & Change, Project Management, Environment (tools, process design)

Rational Unified Process 5

Phases – Inception and Elaboration Inception: basic use cases, project plan, core requirements, initial risk assessment, quality goals Elaboration: problem domain analysis, system architecture, mostly complete use cases, development plan (e.g. iterations), updated risk assessments, possible prototypes for technical risk items 6

Phases – Construction and Transition Construction: component construction, bulk of detailed design and coding, initial release Transition: end user considerations, training, beta testing, quality consistent 7

8 Factors for Success and the RUP (Product Development Practices that Work, MIT Sloan Management Review, 42:2, 2001) –Iterations: 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 Confirms iterative processes like the RUP

9 Lightweight vs Heavyweight Process Lightweight –Extreme Programming, Agile processes. SCRUM Heavyweight: strict phases with defined formal documentation, often not iterative –older MilSpec standards RUP: –for each project design a process using the basic RUP structure and components

Some Inception and Elaboration Activities Requirements Use Cases System increments/iterations –selection of subsets of use cases –selection of parts of a use case 10

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

12 Some OO Terminology Responsibility – function that must be performed. E.g. finding a date, adding a new member Role – abstract entity that carries out the responsibility –E.g. administrator, member Actor – concrete entity that plays a role E.g. Fred Bloggs

13 Actors and RUP Actor –An external object that interacts with system external = assumed, already given Causes input events, receives output Examples from DS: administrator, member of DS

14 Use Cases Elementary business processes Steps are "intentional" rather than "concrete“ e.g. user identifies himself versus user enters card, then enters PIN Yields an “observable product of value to a particular actor” (actually, use cases associated with roles not actors) Scenarios –sometimes used as a synonym –others: a particular ways of achieving use case goal

15 Use Case Table - Example Dater (Role)System 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

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

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

18 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

19 Happy Cases E.g. Finding a Date –Main Flow: normal or main flow of control in a use case (happy case) –Alternatives: minor success flows, error flows, exceptions (not happy) e.g. asking for date and not getting one –Main flow and alternative sometimes considered scenarios for general use case

20 Finding Use Cases Elementary Business Processes Identify Actors and their goals Consider meta-roles –system initiation and termination, updates

21 Sample Use Case Diagram

22 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

23 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

24 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

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

26 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 to run it

Assignment 2 Construct a complete set of use cases for your project –document using tables do not need details such as stakeholders, pre and post conditions each use case is associated with a role Define what will be included in iteration/increment/phase 1 and 2 27