Presentation is loading. Please wait.

Presentation is loading. Please wait.

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

Similar presentations

Presentation on theme: "1 Lecture 2: Processes, Requirements, and Use Cases."— Presentation transcript:

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

2 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 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 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)

5 Rational Unified Process 5

6 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

7 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 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 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

10 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 11 Introduction to Requirements A basic but not sole step in inception Types of requirements: FURPS –Functionality –Usability –Reliability –Performance –Supportability

12 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 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 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 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 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 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 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 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 20 Finding Use Cases Elementary Business Processes Identify Actors and their goals Consider meta-roles –system initiation and termination, updates

21 21 Sample Use Case Diagram

22 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 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 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 25 DS Use Case Groupings Use cases by class of user –Member –Administrator –Unauthorized user Use case by member user functionality –GetADate –SetMemberData

26 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

27 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

Download ppt "1 Lecture 2: Processes, Requirements, and Use Cases."

Similar presentations

Ads by Google