Introduction to Software Engineering: Requirements

Similar documents
Software Requirements Specification. <Project> for. Version 1.0 approved. Prepared by <author(s)> <Organization> <Date created>

Choosing the Right Usability Tool (the right technique for the right problem)

Ch 4: Requirements Engineering. What are requirements?

Chapter 4 Requirements Elicitation

Requirements Elicitation

Requirements Validation and Negotiation

Requirements engineering

Requirements Validation and Negotiation (cont d)

ATTENTION TO COME/ISE 491/492 STUDENT

Software Requirements Specification. <Project> for. Version 1.0 approved. Prepared by <author> <organization> <date created>

Requirement Analysis

Business Analysis for Practitioners - Requirements Elicitation and Analysis (Domain 3)

Chapter 2 Web Development Overview

Business Requirements Document (BRD) Template

Software Engineering Fall 2015 (CSC 4350/6350) TR. 5:30 pm 7:15 pm. Rao Casturi 09/17/2015

Requirements. Requirements. Types of Requirement. What Is a Requirement?

Technical Writing Process An Overview

Examination Questions Time allowed: 1 hour 15 minutes

RE Process. Lawrence Chung Department of Computer Science The University of Texas at Dallas

Foundation Level Syllabus Usability Tester Sample Exam

Development Methodology TM

Product. e ss. P roc. so get the right requirements. Garbage in garbage out,

White Paper. Incorporating Usability Experts with Your Software Development Lifecycle: Benefits and ROI Situated Research All Rights Reserved

Requirements Specifications & Standards

BCS Certificate in Requirements Engineering Extended Syllabus Version 2.5 May 2017

TERMINOLOGY MANAGEMENT DURING TRANSLATION PROJECTS: PROFESSIONAL TESTIMONY

MELISSA CRADDOCK USER EXPERIENCE PRODUCT DESIGN LEAD

Chapter 4 Requirements Elicitation

Requirement Engineering within an Agile Environment BY KEJI GIWA. Digital Bananas Technology

Professional (CBAP) version 3

WEBSITE CREATION: PLANNING A WEBSITE

TASKS IN THE SYSTEMS DEVELOPMENT LIFE CYCLE

SWEN 444 Human Centered Requirements and Design Project Breakdown

THINGS YOU NEED TO KNOW ABOUT USER DOCUMENTATION DOCUMENTATION BEST PRACTICES

Testing and Inspection Report

Design Prototyping & An Exercise in Design Creativity. Joe Mertz M. Bernardine Dias Fall 2007

Scenario-Based Analysis. Scenario-Based Analysis (example) Form analysis

QA Best Practices: A training that cultivates skills for delivering quality systems

For presentation at the Fourth Software Engineering Institute (SEI) Software Architecture Technology User Network (SATURN) Workshop.

CS3205: Task Analysis and Techniques

Usable Privacy and Security Introduction to HCI Methods January 19, 2006 Jason Hong Notes By: Kami Vaniea

Secure Services 2018

Concepts of Usability. Usability Testing. Usability concept ISO/IS What is context? What is context? What is usability? How to measure it?

Cognitive Disability and Technology: Universal Design Considerations

a publication of the health care compliance association MARCH 2018

SM 3511 Interface Design. Institutionalizing interface design

CHAPTER 18: CLIENT COMMUNICATION

Best Practices for Collecting User Requirements

Strategy Conceptual Design

SWEN 444 Human Centered Requirements and Design Project Breakdown

Sample Exam Syllabus

h(p://ihm.tumblr.com/post/ /word- cloud- for- hci- human- computer- interacbon CS5340 Human-Computer Interaction ! January 31, 2013!

Shree.Datta Polytechnic College,Dattanagar, Shirol. Class Test- I

Assignments. Assignment 2 is due TODAY, 11:59pm! Submit one per pair on Blackboard.

Incident Response Lessons From the Front Lines. Session 276, March 8, 2018 Nolan Garrett, CISO, Children s Hospital Los Angeles

Chapter 4 Objectives

IPM 15/16 T2.1 Prototyping

Design, prototyping and construction

Manager, Infrastructure Services. Position Number Community Division/Region Yellowknife Technology Service Centre

Web Content Management

5 Object Oriented Analysis

Software Engineering (CSC 4350/6350) Rao Casturi

How To Create Apps For Internal Communications

Portfolio. Mihai Marin

Lecture 8 Requirements Engineering

1. Introduction and overview

1. WHAT AREAS OF LEARNING DOES THIS ASSESSMENT ADDRESS? 2. WHY IS THE COMPLETION OF THIS ASSESSMENT IMPORTANT?

The software lifecycle and its documents

Setting Usability Requirements For A Web Site Containing A Form Sarah Allen Miller and Caroline Jarrett

User-centered design in technical communication

Tracking System for Job Applicants Sprint Schedule and Overview. By Erik Flowers

13.f Toronto Catholic District School Board's IT Strategic Review - Draft Executive Summary (Refer 8b)

Module 9: Audience Analysis, Usability, and Information Architecture COM 420

USER-CENTERED DESIGN KRANACK / DESIGN 4

CIS 890: Safety Critical Systems

DON T COMPROMISE IT IS TO LAUNCH. AlyssaMediaCipta. Assist With Personal Touch. Alyssa Media Cipta, All Rights Reserved

IBM Software Group. Mastering Requirements Management with Use Cases Module 8: Refine the System Definition

Table of contents. TOOLKIT for Making Written Material Clear and Effective

Rapid Software Testing Guide to Making Good Bug Reports

Prototyping. Oct 3, 2016

Perfect Timing. Alejandra Pardo : Manager Andrew Emrazian : Testing Brant Nielsen : Design Eric Budd : Documentation

A Proposal for Work. Getting To Know Us. Proposed Project Timeline. Project Goals Discussion Week 1

Exemplar for Internal Achievement Standard. Technology Level 1

Exemplar candidate work. Introduction

DRAFT. TRAC User Guide. Revised: October 6, 2008 Revision: 1.0

Unit Testing as Hypothesis Testing

Design Better. Reduce Risks. Ease Upgrades. Protect Your Software Investment

NATIONAL CYBER DEFENSE COMPETITION. Competition Rules

Foundation Level Syllabus Usability Tester Sample Exam Answers

Unit 3 Building a basic client website

CS/ISE 5714 Spring 2013

Introduction to Assurance

Requirements. Chapter Learning objectives of this chapter. 2.2 Definition and syntax

KM COLUMN. How to evaluate a content management system. Ask yourself: what are your business goals and needs? JANUARY What this article isn t

BCS Certificate in Requirements Engineering Syllabus

Overview of the course. User-Centred Design. Group. Practical issue. Writting the report. Project work. Fang Chen

TESTING. Overview Slide 6.2. Testing (contd) Slide 6.4. Testing Slide 6.3. Quality issues Non-execution-based testing

Unit Testing as Hypothesis Testing

INCOMMON FEDERATION: PARTICIPANT OPERATIONAL PRACTICES

Requirements. CxOne Standard

Transcription:

Introduction to Software Engineering: Requirements John T. Bell Department of Computer Science University of Illinois, Chicago Based on materials from Bruegge & DuToit 3e and Robertson & Robertson 3e. What are Requirements? Specific, detailed, unambiguous specifications of the features and other properties of SW. Often used as a form of contract between software developers and clients, customers, or third-party contract programmers. Also useful ( sometimes vital ) for ensuring everyone working on the project has the same clear exact idea of what is being built. 3 1

What Kinds of Requirements Are There? Functional Requirements specify features ( functionalities ) the SW must have / perform. Example: The system must produce daily reports summarizing all transactions for a 24 hr period. Non-Functional Requirements specify other properties the system must have. Example: The system must be available at least 96% of the time. WHAT the product does versus HOW it does it. 5 2

How do Constraints relate to Requirements? Constraints are a special form of requirement, set in stone by the client before the project starts. Examples: Delivery dates, budgets, operating platform, language of development, compatibility with other software packages, security clearances. Some authors list constraints separately in the requirements document, and others include them with the rest of the requirements. 6 How do Design Goals relate to Requirements? Requirements are concrete specifications that must be met for the product to be acceptable. Example: The system must be able to process at least 1000 transactions per hour. Design Goals are properties that it is desirable to optimize, without specific limits. Example: The system should process as many transactions per hour as possible. Note that the same property may appear in both. 7 3

Requirements Phase in CS 440 Requirements Use Cases Use Case Diagram Functional Requirements Project Description Entry Flow 1 ---- 2 ---- 3 ---- 4 ---- Exit F1 ---- + F1 F2 ---- F3 ---- Checklists Non-Functional Requirements N1 ---- F1 N2 ---- N3 ---- + Snow Cards 9 One Potential Use Case Template List as NA if not applicable. The following may be added: related use cases or scenarios associated tests, systems, classes, etc. revision history references to other documents author(s) notes Alternatives and Exceptions may be listed either as separate use cases or as notes to a base case. For regularly occurring periodic events, "time" can be listed as the initiating actor. 10 4

Functional Requirements One of the easiest ways to determine functional requirements is to look at the actions the system must take during a use case: Use Case Step: Then the system presents a form for the user to enter personal data. Obvious Requirement: The system must present a form for the user to enter personal data. Better Requirement: The system must provide a means for users to submit personal data. Related: The system must verify proper e-mail format. 11 Requirements describe the system, not the user. Wrong: The user must enter their data. Right: The system must provide a means for the user to enter their data. Wrong: The user must have a high-school education. Right: The system must be designed for users having a high school education. 12 5

Well-written requirements include three major components: 1. Description - States the requirement in a brief, easy-to-understand sentence, often beginning with The system must... 2. Rationale - Describes why this requirement is necessary, often clarifying description. 3. Fit Criterion - Further clarifies requirement, and provides a means of determining whether or not it has been met. 13 The Volere snow card documents additional information for each requirement 14 6

Non-Functional Requirements Less obvious. Therefore harder to develop. Usually done with the aid of a checklist. FURPS+: Functional, Usability, Reliability, Performance, Supportability, + Implementation, Interface, Operations, Packaging, and Legal. Volere Template: Data, Performance, Dependability, Maintainability & Supportability, Security, Usability & Humanity, Look & Feel, Operational & Environmental, Cultural & Political, and Legal. 19 7

Usability ( & Humanity ) Specifies the ease with which users use the product correctly, and the difficulty with which they use it incorrectly. Example: The system must be easy for new users to use. Fit Criteria: 90% of new users will create a new document in less than 10 minutes without instruction. Example: The system must not require experienced users to consult documentation more than once per hour. 20 Reliability ( Dependability ) May have many different metrics: Percentage availability ( uptime ). Maximum duration of a service outage. Percentage of time yielding correct behavior. Number of service outages per time period. No loss of data in the event of ( power ) failure. Always fail in a safe manner. Ability of the system to continue in the face of problems. Some may include security in this category. 21 8

Performance May include: Speed, operations per time or time per operation. Lag, i.e. time between a command and execution. Capacity, e.g. number of files, records, etc. Maximum ( file size ) supported. Space required for installation. 22 Supportability & Maintainability Ease of fixing problems. Ease of expanding the program in the future. May require that the system be developed using a certain language or CASE tools. May depend on who will maintain the system in the future the developers or the client. May require a source code escrow, in the event the developers go out of business. 23 9

Implementation May include installation and distribution. May require backing up information from the old system, and/or transferring it to the new systems. May require a break-in / training period, during which developers are available to assist users learning to use the new system, and to resolve any bugs found in first N months. 24 Interface The most obvious is the user interface. ( CS 422/522. See also Usability / Humanity and Look and Feel. ) May also specify interface to external HW and SW, in terms of data types, data structures, connector types, communication protocols, etc. May refer to established standards, e.g. ADA, HDMI, html, RS-232, Ethernet, Jpeg, Excel, etc. 25 10

Operations How the system is to be operated in practice. Who is responsible for routine maintenance, such as performing backups. Is there any ongoing support, such as user training or a help desk of some kind? What environment must the system operate in weather, radio interference, radiation, etc. 26 Packaging How is the product to be distributed / marketed? Shrinkwrap? Download? Other. What format is it to be distributed on, e.g. CD? Packaging colors and styles relate to Look and Feel. What extras are to be bundled together with the product? ( or NOT? ) 27 11

Legal Are there any special laws that must be considered and/or observed? Information privacy is a big one in software, particularly with medical data. ( HIPAA ) IRB Applies to all testing involving human subjects, including software and surveys. If the product is to be marketed internationally, all laws must be considered. Fit criteria: Approval by the legal department. 28 Non-Functional Requirements Less obvious. Therefore harder to develop. Usually done with the aid of a checklist. FURPS+: Functional, Usability, Reliability, Performance, Supportability, + Implementation, Interface, Operations, Packaging, and Legal. Volere Template: Data, Performance, Dependability, Maintainability & Supportability, Security, Usability & Humanity, Look & Feel, Operational & Environmental, Cultural & Political, and Legal. 30 12

Data ( Related ) Requirements May specify units, e.g metric, or data types. May define new types, e.g. Account, Record May specify compatibility, e.g. Excel format. May place restrictions on acceptable data input, e.g. dates, e-mail, addresses, etc., or allowable ranges of certain variables. May specify compression or encryption. May place restrictions on data completeness, consistency, etc. 31 Security More than just user accounts and passwords. May involve hardware as well as software. May involve different levels of secure authorization for specific data items or tools. May be required to meet federally defined standards, e.g. C2 Medical, financial, and military applications often require high security. Don t overdo security where not needed. (games.) 32 13

Look and Feel Defines the appearance of the product, and the impression it gives to users. Examples: The product must appear professional / friendly / trustworthy / cool. May require corporate branding, etc. Fit criteria may be based on survey results, and/or approval by corporate PR department. 33 Operational and Environmental Especially important if the product must be used in an unusual or harsh environment. E.g. outdoors in all weather, underwater, around power lines, in dusty areas. May depend on user s activities - while driving, when hands are occupied, etc. May also describe interactions with other hardware or software, e.g. compatibility. 34 14

Cultural and Political Do the users have particular norms that must be observed? Do they interpret things or respond to things differently? Will the product be used in an international setting, such as an airport? Cultural groups are not always by nationality or ethnic background. Consider for example children, teenagers, or the elderly. 35 15

Quality Requirements I High quality requirements must be: Traceable Maintain connections between requirements and sources, code, tests, etc. Verifiable Any requirement that cannot be tested is useless. Quality assurance of the final product begins during requirements development ( or earlier. ) In particular, acceptance tests are often derived as part of the requirements development process. 37 Quality Requirements II In addition to being traceable and verifiable, high quality requirements must also be: Clear and unambiguous. Realistic Specifying unattainable requirements guarantees they won t be met. Correct Not containing errors. Measurable ( Related to verifiable. Use #s. ) 38 16

Requirements Gathering Techniques Business Events / UC Product Use Cases Volere Snow Cards / XL Interviewing Essence Current situation modeling Apprenticing Brainstorming Mind mapping Personas Low-fidelity prototypes High-fidelity prototypes Document archaeology The murder book Others 40 17

Different techniques are most applicable to different project types Rabbit projects are the most agile Small increments, very dynamic, short lived. Horse projects are fast, strong, and dependable. Requires a certain level of formality and documentation. Medium lived. Elephant projects are strong and solid, with a long life and a long memory. Require full documentation, approvals, sign-offs, etc. 41 Business Events / Use Cases A good way to start understanding a business is to first identify the external events to which the business must respond, and to develop business use cases describing each response. These events / use cases then help to organize all future work, and to compartmentalize the overall problem into manageable pieces. 42 18

Product Use Cases / Scenarios Product use cases describe instances of using the proposed product, as opposed to business use cases which describe business responses. Functional requirements often derive directly from the steps of a product use case. It can be helpful to maintain traceability between requirements and the use cases that inspired them. 43 Interviewing Probably the most commonly used method of requirements gathering / development. Try to reach all stakeholders, not just the client. Beware that stakeholders may not really know their true needs, or express them well. Try to get rationale and/or fit criteria for each req. Be prepared for conflicting requests, and/or hidden agendas. 44 19

Essence After gathering information regarding what stakeholders say they want, a good analyst must determine what they really need. Never forget the true goal is to improve the client s business / life in some manner. Example: Our elevators need to be faster. Reduce customer complaints over slow elevators. 46 20

Current Situation Modeling Modeling the current situation ( how now ) helps to understand it. Flaws in the model identify areas where more questions need to be asked. ( Figure out what you don t know. ) Verify your understanding. 47 Apprenticing Work on site as a volunteer / employee, getting trained from current users. Covers details not brought up in discussions. Try to learn why tasks are done they way they are Reasons may be lost or out of date. a.k.a. Job Shadowing. 48 21

Brainstorming Goal is to come up with as many ideas as possible, not just good ones. Crazy ideas often inspire valid variations. ( Space aliens Falling objects, intruders. ) No filtering or criticism allowed. May use initiators, such as random words from a dictionary. 49 Mind Mapping 50 22

Personas Wrong Right 51 23

Low-Fidelity Prototypes ( Sketches ) Focuses on functionality, not appearance. 53 High-Fidelity Prototypes Generated with SW to look like a finished product. Useful for modeling the system and for HCI issues. 54 24

Document Archaeology Archaeology Learning about people by studying their things. 55 The Murder Book Murder investigators never know what minute piece of evidence or information may eventually prove to be vitally important. Therefore they save every little scrap, just in case it becomes important later. Requirements analysts can do the same, saving items in binders, boxes, or thumb drives. Don t throw anything away. 56 25

Other Techniques Business use case workshops Gather together stakeholders to develop BUC collectively. Creativity workshops Gather team to develop innovative solutions. ( Brainstorming, mind-mapping, outsider perspectives. ) Wikis Modern approach for gathering input from a wide audience. ( Questionnaires, etc. ) 57 26

Quality Requirements III Besides individual requirement quality standards, a set of requirements must also be: Complete Don t overlook any use cases, maintenance related issues, or boundary cases ( e.g. startup & shutdown, etc. ) Consistent No subset of the requirement set can contradict each other or make other requirements unattainable. 59 27

Additional Concepts SW Engineering projects may come in 3 types: Greenfield Engineering Starting from a green field, i.e. a clean blank slate. Reengineering Reworking an existing system to increase functionality, maintainability, supportability, reliability, or other properties. Interface Engineering Upgrading the interface between the system and users (usu.), without changing the underlying functionality. 61 ARENA Case Study Bruegge & Dutoit have a long-running case study involving ARENA, a system for managing a wide variety of games ( e.g. tictac-toe, chess, etc. ) with online leagues, tournaments, advertisers, spectators, etc. One complication is that different games have different rules, different tournament styles, etc. 62 28

Requirements Gathering Techniques Business Events / UC Product Use Cases Volere Snow Cards / XL Interviewing Essence Current situation modeling Apprenticing Brainstorming Mind mapping Personas Low-fidelity prototypes High-fidelity prototypes Document archaeology The murder book Others 65 29