REQUIREMENTS ANALYSIS - C1. Plan project Integrate & test system Analyze requirements Design Maintain Test unitsImplement Identify corporate practices.

Slides:



Advertisements
Similar presentations
Requirements gathering
Advertisements

Chapter 11 Designing the User Interface
Database Systems: Design, Implementation, and Management Tenth Edition
Use Case & Use Case Diagram
© 2010 Bennett, McRobb and Farmer1 Use Case Description Supplementary material to support Bennett, McRobb and Farmer: Object Oriented Systems Analysis.
Describing Process Specifications and Structured Decisions Systems Analysis and Design, 7e Kendall & Kendall 9 © 2008 Pearson Prentice Hall.
1 Software Engineering: A Practitioner’s Approach, 6/e Chapter 12b: User Interface Design Software Engineering: A Practitioner’s Approach, 6/e Chapter.
Objectives Detailed Object-Oriented Requirements Definitions
25 October. The UI Iceberg Visuals InteractionTechniques Object Model Feel 30% Look 10% The things you use 60%  Toolkits and style guides help with.
Copyright © 2011 Pearson Education, Inc. Publishing as Prentice Hall Process Specifications and Structured Decisions Systems Analysis and Design, 8e Kendall.
Human Computer Interface. HCI and Designing the User Interface The user interface is a critical part of an information system -- it is what the users.
Chapter 9 Describing Process Specifications and Structured Decisions
User Interfaces 6 February. IBM Career and Internship Presentation Monday, February 12 th Sitterson 011 6pm Enjoy Pizza! And (Soft)Drinks! And… Learn.
Unit 211 Requirements Phase The objective of this section is to introduce software system requirements and to explain different ways of expressing these.
Task Analysis Analyzing and representing the activities of your users.
Software Engineering CSE470: Requirements Analysis 1 Requirements Analysis Defining the WHAT.
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by.
18 January Writing a Functional Spec. Administrivia How many teams will want departmental web space vs links to your own space? Please send me your CS.
Principles and Methods
Chapter 9 Using Data Flow Diagrams
3 REQUIREMENTS ANALYSIS I. Plan project Integrate & test system Analyze requirements Design Maintain Test unitsImplement Identify corporate practices.
Chapter 2 Accountants as Business Analysts
S R S S ystem R equirements S pecification Specifying the Specifications.
Chapter 13: Designing the User Interface
User Interface Design Chapter 11. Objectives  Understand several fundamental user interface (UI) design principles.  Understand the process of UI design.
Kendall & KendallCopyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 9 Kendall & Kendall Systems Analysis and Design, 9e Process Specifications.
S/W Project Management
Systems Analysis – Analyzing Requirements.  Analyzing requirement stage identifies user information needs and new systems requirements  IS dev team.
Typical Software Documents with an emphasis on writing proposals.
PowerPoint Presentation for Dennis, Wixom & Tegarden Systems Analysis and Design Copyright 2001 © John Wiley & Sons, Inc. All rights reserved. Slide 1.
Lecture 6 Unified Modeling Language (UML)
Chapter 6 System Engineering - Computer-based system - System engineering process - “Business process” engineering - Product engineering (Source: Pressman,
Copyright 2002 Prentice-Hall, Inc. Chapter 1 The Systems Development Environment 1.1 Modern Systems Analysis and Design.
14 Chapter 11: Designing the User Interface. 14 Systems Analysis and Design in a Changing World, 3rd Edition 2 Identifying and Classifying Inputs and.
REQUIREMENTS ANALYSIS. Initialize Use Case for Encounter Encounter foreign character player designer Set rules actors Encounter Travel to adjacent area.
SWE 316: Software Design and Architecture – Dr. Khalid Aljasser Objectives Lecture 7 Requirements and Domain Classes SWE 316: Software Design and Architecture.
10/12/ Recall The Team Skills 1. Analyzing the Problem (with 5 steps) 2. Understanding User and Stakeholder Needs 1. Interviews & questionnaires.
Describing Process Specifications and Structured Decisions Systems Analysis and Design, 7e Kendall & Kendall 9 © 2008 Pearson Prentice Hall.
Approaching a Problem Where do we start? How do we proceed?
PowerPoint Presentation for Dennis, Wixom, & Tegarden Systems Analysis and Design with UML, 3rd Edition Copyright © 2009 John Wiley & Sons, Inc. All rights.
Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall 5.1.
Actors and Use Case Diagrams Month Day, Year. Agenda Training Plan Overview Review Detailing Requirements with Requisite Pro Concepts Setting Up XDE Integration.
1 15 quality goals for requirements  Justified  Correct  Complete  Consistent  Unambiguous  Feasible  Abstract  Traceable  Delimited  Interfaced.
2131 Structured System Analysis and Design By Germaine Cheung Hong Kong Computer Institute Lecture 8 (Chapter 7) MODELING SYSTEM REQUIREMENTS WITH USE.
ANU comp2110 Software Design lecture 5 COMP2110 Software Design in 2003 lecture 5 Requirements Specifications lecture 3 of 3 The Encounter game case study.
Use Case Diagram The purpose is to communicate the system’s functionality and behaviour to the customer or end user. Mainly used for capturing user requirements.
1 COSC 4406 Software Engineering COSC 4406 Software Engineering Haibin Zhu, Ph.D. Dept. of Computer Science and mathematics, Nipissing University, 100.
Requirements Management with Use Cases Module 10: Requirements Across the Product Lifecycle Requirements Management with Use Cases Module 10: Requirements.
Software Engineering Modern Approaches Eric Braude and Michael Bernstein 1.
7 October. Announcements  Requirement process grade Includes responsiveness to comments ○ Web site ○ Functional spec  Will give you until 9 pm October.
System Requirements Specification
Task Analysis Lecture # 8 Gabriel Spitz 1. Key Points  Task Analysis is a critical element of UI Design  It specifies what functions the user will need.
User Interfaces System Models 8 February. Designing an Interface Fundamental Concepts What the user needs to do The order that he does it Is it natural?
Capturing Requirements. Questions to Ask about Requirements 1)Are the requirements correct? 2)Consistent? 3)Unambiguous? 4)Complete? 5)Feasible? 6)Relevant?
CSC480 Software Engineering Lecture 7 September 16, 2002.
Chapter 6: Structuring Requirements: Use Case Description and Diagrams Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph.
Software Engineering Modern Approaches Eric Braude and Michael Bernstein 1.
Chapter 7 Part II Structuring System Process Requirements MIS 215 System Analysis and Design.
Copyright © 2011 Pearson Education Process Specifications and Structured Decisions Systems Analysis and Design, 8e Kendall & Kendall Global Edition 9.
Dillon: CSE470: ANALYSIS1 Requirements l Specify functionality »model objects and resources »model behavior l Specify data interfaces »type, quantity,
3 REQUIREMENTS ANALYSIS I. Plan project Integrate & test system Analyze requirements Design Maintain Test unitsImplement Identify corporate practices.
CSC 480 Software Engineering
CMPE 280 Web UI Design and Development August 29 Class Meeting
Use Case Model.
Unified Modeling Language
Software Engineering: A Practitioner’s Approach, 6/e Chapter 12 User Interface Design copyright © 1996, 2001, 2005 R.S. Pressman & Associates, Inc.
CSC480 Software Engineering
4 REQUIREMENTS ANALYSIS CASE STUDY
Chapter 5 Determining System Requirements
Chapter 6: Principles of Requirements Analysis
Presentation transcript:

REQUIREMENTS ANALYSIS - C1

Plan project Integrate & test system Analyze requirements Design Maintain Test unitsImplement Identify corporate practices Obtain customer ’ s wants and needs (C-requirements) Express C-requirements prose use cases state diagrams data-flow diagrams Refine requirements (next chapter) Adapted from Software Engineering: An Object-Oriented Perspective by Eric J. Braude (Wiley 2001), with permission. Software Engineering Roadmap: Chapter 3 Focus

Chapter Learning Goals Distinguish C- (Customer) requirements from D- (Detailed) requirements Express C-requirements –exploit use cases –exploit state diagrams –exploit data flow diagrams –sketch user interfaces Be able to write first part of a SRS - Software Requirements Specification Adapted from Software Engineering: An Object-Oriented Perspective by Eric J. Braude (Wiley 2001), with permission.

Introduction to requirements analysis

C- vs D-Requirements SRS (IEEE) 1. Introduction 2. Overall description 3. Specific requirements 4. Supporting information C- requirements D- requirements Adapted from Software Engineering: An Object-Oriented Perspective by Eric J. Braude (Wiley 2001), with permission.Graphics reproduced with permission from Corel.

Why Must Requirements be Written Down? Define the goals of the project Sets customer expectations Basis of the contract between customer and supplier Writing is thinking Allows thorough inspection and testing Can be kept up to date Allows tracking - estimates/actuals Team communication tool

To Be Performed With Each Requirement Each requirement must be …  expressed properly,  made easily accessible,  numbered,  accompanied by tests that verify it,  provided for in the design,  accounted for by code,  tested in isolation,  tested in concert with other requirements, and  validated by testing after the application has been built. Adapted from Software Engineering: An Object-Oriented Perspective by Eric J. Braude (Wiley 2001), with permission.

For all stages,track metrics, e.g., time spent quantity accomplished pages of C-requirements mins. of customer interaction per pg. self-assessed quality (1-10 scale) defect rates from inspections Typical RoadMap for Customer ( “ C- ” ) Requirements 1. Identify “ the customer ” -- see section Interview customer representatives identify wants and needs exploit tools for expression (section ) sketch GUI ’ s (section 3.5 ) identify hardware 3. Write C-requirements in standard document form (see case study) 4. Inspect C-requirements 5. Build D-requirements (next chapter) On customer approval... Review with customer Adapted from Software Engineering: An Object-Oriented Perspective by Eric J. Braude (Wiley 2001), with permission.

IEEE SRS Table of Contents 1. Introduction 1.1.Purpose 1.2.Scope 1.3.Definitions, acronyms & abbreviations 1.4.References 1.5.Overview 2. Overall description 2.1.Product perspective System interfaces User interfaces Hardware interfaces Software interfaces Communications interfaces Memory constraints Operations Site adaptation requirements 2.2.Product functions 2.3.User characteristics 2.4.Constraints 2.5.Assumptions and dependencies 2.6.Apportioning of requirements 3. Specific requirements -- see chapter four Supporting information -- see chapter four -- tbd: get copyright permission from IEEE

Requirements: Necessity not Luxury A defective requirement is times more expensive to repair at end of a project than at beginning ($100 -> $ ) Requirements analysis is something we must afford to due So why do we not do it? So why do we not do it well? Instead … code and test, code and test

Customer interaction

Project Stakeholders StakeholderPerspective Owner Scope UsersRequirements (what) DesignersArch./Design (how) BuildersImplementation/Testing What the Designers and Builders developed What the Owners are willing to pay What the Users wanted

Relatively high Relatively low Sources of Requirements: People vs. Other Approximate % of requirements gathered from people Type of application highly constrained unconstrained missile guidance system flight control system for airliner enhancement to corporate accounting system manufacturing control system corporate accounting system Encounter video game decision support system for military tactics

Summary of C-Reqs for Encounter (1/2) Role-playing game which simulates all or part of the lifetime of the player's character. Game characters not under the player ’ s control are called "foreign" characters. Game characters have a number of qualities such as strength, speed, patience etc. Each quality has a value Characters "encounter" each other when in the same area, and may then "engage" each other. Adapted from Software Engineering: An Object-Oriented Perspective by Eric J. Braude (Wiley 2001), with permission.

Summary of C-Reqs for Encounter (2/2) The result of the engagement depends on the values of their qualities and on the area in which the engagement takes place. Player characters may reallocate their qualities, except while a foreign character is present. Reallocation taking effect after a delay, during which the player may be forced to engage. Success is measured … by the "life points" maximum attained by the player - or - by living as long as possible. Adapted from Software Engineering: An Object-Oriented Perspective by Eric J. Braude (Wiley 2001), with permission.

What needs to be done with these requirements? Enhance / refine / remove ambiguities via communications with customer Determine the musts, wants and nice to haves Organizing and numbering the requirements for tracability

Before interview: 1. List and prioritize “ customer ” interviewees –most likely to determine project ’ s success 2. Schedule interview with fixed start and end times –at least two from development team should attend –prepare to tape? At interview: 3. Concentrate on listening Don ’ t be passive: probe and encourage –persist in understanding wants and exploring needs –walk through use cases, also data flow? state diagrams? Take thorough notes 4. Schedule follow-up meeting After interview: 5. Draft SRS C-requirements using a standard 6. customer for comments Handle Interviews

4. Describing customer (C-) requirements Objective – To capture the application model or “concept of operation” as desired by the customer/user.

Modeling Tools for Capturing Requirements List of requirements Use case diagrams Entity relationship diagrams (ERD) Data flow diagrams State (transition) diagrams Screen prototyping (story-boards)

Initialize Use Case for Encounter Encounter foreign character player designer Set rules actors Encounter Travel to adjacent area Initialize 1. System displays player ’ s main character in the dressing room. 2. System displays a window for setting his character's qualities. 3. Player allocates the qualities of his main character. 4. Player chooses an exit from the dressing room. 5. System moves player ’ s main character into the area on the other side of the exit. Initialize Use case Use case details Adapted from Software Engineering: An Object-Oriented Perspective by Eric J. Braude (Wiley 2001), with permission.

Engage Foreign Character Use Case player designer Initialize Use case Encounter Travel to adjacent area Set rules Engage Foreign Character 1. System displays the foreign character in the same area as the player ’ s. 2. System exchanges quality values between the two characters. 3. System displays the results of the engagement. 4. System displays player ’ s character in a random area. Engage foreign character Use case details Adapted from Software Engineering: An Object-Oriented Perspective by Eric J. Braude (Wiley 2001), with permission.

Conceptual Model of the System Player EncounterGame Area MainCharacter ForeignCharacter 1 1 n n Plays Has Engagement 1 n Has Takes place in 1 1 Entity Relationship Model or Object Model

Data Flow Diagram: Explanation of Symbols Account # & deposit Get deposit Check deposit Processing element Data type Direction of data flow

Data Flow Diagram: Explanation of Symbols Account # & deposit balance query User account database account data Get deposit Create account summary Check deposit Printer Input Output Processing element Data type Direction of data flow Data store …... Adapted from Software Engineering: An Object-Oriented Perspective by Eric J. Braude (Wiley 2001), with permission.

Partial Data Flow Diagram for ATM Application account # & deposit balance query account # & deposit account # User Make inquiry account database deposit transaction account data Get deposit Get inquiry Validate inquiry Do deposit transaction Create account summary Validate deposit error Printer member banks bank name Display account account # account data account display Adapted from Software Engineering: An Object-Oriented Perspective by Eric J. Braude (Wiley 2001), with permission.

Partial Encounter State-Transition Diagram Setting up Preparing Waiting Complete setup Foreign character enters area Engaging Player clicks qualities menu Adapted from Software Engineering: An Object-Oriented Perspective by Eric J. Braude (Wiley 2001), with permission.

Using Conditions in State-Transition Diagrams Engaging Waiting [foreign character absent] [foreign character present] Player moves to adjacent area event condition state Adapted from Software Engineering: An Object-Oriented Perspective by Eric J. Braude (Wiley 2001), with permission.

Setting qualities Sketch of Encounter State-Transition Diagram Setting up Engaging Waiting Player completes setup Player dismisses report window Reporting Foreign character enters area Encounter completed Player dismisses set qualities widow Player requests status Player requests to set qualities Foreign character enters area [foreign character absent] [foreign character present] Player moves to adjacent area Player quits Adapted from Software Engineering: An Object-Oriented Perspective by Eric J. Braude (Wiley 2001), with permission.

Conceptualizing a System in terms of the User Interface Customers/Users often conceive a system in terms of its user interface Screen prototyping and story boarding (screen facade but no code) works well in connection with Use Case

Step 1: Know your user (C) ‡ Step 2: Understand the business function in question (C) Step 3: Apply principles of good screen design (C, D) Step 4: Select the appropriate kind of windows (C, D) Step 5: Develop system menus (C, D) Step 6: Select the appropriate device-based controls (C) Step 7: Choose the appropriate screen-based controls (C) Step 8: Organize and lay out windows (C, D) Step 9: Choose appropriate colors (D) Step 10: Create meaningful icons (C, D) Step 11: Provide effective message, feedback, & guidance (D) Steps for Constructing User Interfaces* * adapted from Galitz [Ga2] ‡ a C-requirement process

Level of knowledge and experience –computer literacy (high; moderate; low) –system experience (high; moderate; low) –experience with similar applications (high; moderate; low) –education (high school; college; advanced degree) –reading level (>12 year ’ s schooling; 5-12; < 5) –typing skill (135 wpm; 55 wpm; 10 wpm) Characteristics of the user ’ s tasks and jobs –Type of use of this application (mandatory; discretionary) –Frequency of use (continual; frequent; occasional; once-in-a-lifetime) –Turnover rate for employees (high; moderate; low) –Importance of task (high; moderate; low) –Repetitiveness of task (high; moderate; low) –Training anticipated (extensive; self-training through manuals; none) –Job category (executive; manager; professional; secretary; clerk etc.) Psychological characteristics of the user –Probable attitude towards job (positive; neutral; negative) –Probable motivation (high; moderate; low) –Cognitive style (verbal vs. spatial; analytic vs. intuitive; concrete vs. abstract) Physical characteristics of the user –Age (young; middle aged; elderly) –Gender (male; female) –Handedness (left; right; ambidextrous) –Physical handicaps (blind; defective vision; deaf; motor handicap) Know Your Users* * adapted from Galitz [Ga2]

Ensure consistency among the screens of designated applications, and among screens within each –conventions; procedures; look-and-feel; locations Anticipate where the user will usually start –frequently upper left -- place “ first ” element there Make navigation as simple as possible –align like elements –group like elements –consider borders around like elements Apply a hierarchy to emphasize order of importance Apply principles of pleasing visuals -- usually: –balance; symmetry; regularity; predictability –simplicity; unity; proportion; economy Provide captions Principles of Good Screen Design* * see Galitz [Ga2]

Applying Principles of Good Screen Design: “ Before ” * see Galitz [Ga2] TypecheckingsavingmmfCD BranchMain St. Elm St.High St. Privilegesnewsletter discountsquick loans First name Middle name Last name Street City State/county OKApply CancelHelp Adapted from Software Engineering: An Object-Oriented Perspective by Eric J. Braude (Wiley 2001), with permission. New Customers

checking OKApplyCancelHelp Account typePrivileges saving mmf CD newsletter discounts quick loans Branch Main St. Elm St. High St. New Customers Name First Middle Last Address Street City State/county Adapted from Software Engineering: An Object-Oriented Perspective by Eric J. Braude (Wiley 2001), with permission. Applying Principles of Good Screen Design: “ Before ”

How Principles of Good Screen Design Were Applied checking OKApplyCancelHelp Account typePrivileges saving mmf CD newsletter discounts quick loans Branch Main St. Elm St. High St. New Customers Name First Middle Last Address Street City State/county Ensure consistency Anticipate start Align like elements Group like elements Border around like elements SymmetryBalance Proportion Use Captions Adapted from Software Engineering: An Object-Oriented Perspective by Eric J. Braude (Wiley 2001), with permission.

Provide a main menu / home page Display all relevant alternatives Menu structure should match application tasks Minimize the number of menu levels Develop System UI Structure

Hand Sketch User Interfaces 16 Adapted from Software Engineering: An Object-Oriented Perspective by Eric J. Braude (Wiley 2001), with permission.

Preliminary Encounter Screen Shot Name of adjacent area Name of adjacent area Name of adjacent area Name of adjacent area Adapted from Software Engineering: An Object-Oriented Perspective by Eric J. Braude (Wiley 20001), with permission.Graphics reproduced with permission from Corel.

Express Customer Requirements 1/2 If the requirement is simple, and stands alone, express it in clear sentences within an appropriate section of the SRS If the requirement is an interaction between the user and the application, express via a use case. 1. Name the use case 2. Identify the “ actor ” the external user role-- usually a person 3. Write the sequence of user - application actions Minimize branching Use general form. Avoid specific names and values as in “ Ed enters $300 ”. Instead, say “ customer enters deposit amount ”. Adapted from Software Engineering: An Object-Oriented Perspective by Eric J. Braude (Wiley 2001), with permission.

If the requirement involves process elements, each taking inputs, and producing outputs, use data flow. 1. Identify the processing elements (usually high level); show as circles or rectangles 2. Identify the data sources & destinations; show as names between two horizontal lines 3. Show the data paths among processing elements. Indicate types of data flowing on each If the requirement involves states that the application can be in (or parts can be in) 1. Identify the states (each a passive verb, e.g., “ waiting ” ); show as rounded rectangles 2. Show initial state with special arrow 3. Identify the events (happenings external to the unit) that cause transitions among the states; show as labeled arrows 4. Identify sub-states; show as rectangles within rectangles Express Customer Requirements 2/2