Requirements Analysis and Specification. Importance of Good Requirements Analysis

Similar documents
Requirements Engineering

version NDIA CMMI Conf 3.5 SE Tutorial RE - 1

What are requirements? Basics of Requirement Engineering. Definition of a Stakeholder. Stated Vs. Real Requirements. Stated Vs.

Requirements Engineering Processes. Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 7 Slide 1

Software Architecture and Engineering Requirements Elicitation Peter Müller

Requirements Organisation, Analysis. Software Requirements & Project Management CITS3220

Software Architecture and Engineering Requirements Elicitation Peter Müller

Organising Requirements

REQUIREMENTS ENGINEERING

Requirements Elicitation

Introduction to Software Engineering

Requirements Engineering. Massimo Felici Room 1402, JCMB, KB

VANCOUVER Chapter Study Group. BABOK Chapter 6 Requirements Analysis

Functional and non functional requirements. Requirements elicitation Requirements analysis Requirements validation Requirements management

Requirements Engineering: Part I. Software Requirements & Project Management CITS3220

Managing Customer Specific Projects Tomas Nyström

CSEB233: Fundamentals of Software Engineering. Software Requirements Part 1 Understanding Requirements Engineering

Introduction to Project Management

WORK PLAN AND IV&V METHODOLOGY Information Technology - Independent Verification and Validation RFP No IVV-B

CMMI-DEV V1.3 CMMI for Development Version 1.3 Quick Reference Guide

What are Requirements? SENG1031 Software Engineering Workshop 1. My Notes. System Overview: The Big Picture

Sommerville Chapter 4. Requirements Basics The Document and The Requirements

Chapter 1: Introduction

Volere Requirements: How to Get Started

O. C. Ferrell Michael D. Hartline

Product Requirements. Requirements. Get it Right ASAP. Why Requirements are Difficult. Types of S/W Requirements. Levels of S/W Requirements

SOFTWARE REQUIREMENTS. / / N A ' Practical techniques for gathering and managing requirements throughout the product development cycle.

Flying with IT through Market Turbulence

8/30/2010. Lecture 1. Topics covered. Functional and non-functional requirements The software requirements document Requirements specification

Requirements Engineering Unit 4: Requirements modeling, specification & prioritization

Requirements engineering

CGEIT ITEM DEVELOPMENT GUIDE

Critical Skills for Writing Better Requirements (Virtual Classroom Edition)

Project Manager s Roadmap We re all smarter together

Global Journal of Engineering Science and Research Management

Markel Programs. 22 best practices of a program administrator. 1. Actuarial. 2. Underwriting. 3. Marketing. markelprograms.com

WHITE PAPER. Optimize Your Customer Engagement with Customer Communications Management (CCM)

10 STEPS TO FINDING THE RIGHT CLASS MANAGEMENT SOFTWARE FOR YOUR SCHOOL

Software Requirements. CSCE Lecture 4-08/30/2016

Lecture 5: Requirements Engineering II. COSI 120b, Principles of Software Engineering

Buyer's Guide How to select your POS Software

Requirements elicitation: Finding the Voice of the Customer

Core Design Requirements At the start of a project, it is important to specify those parameters and properties that:

Lecture 1. In practice, most large systems are developed using a. A software process model is an abstract representation

Evaluation of the Software Requirement Tools

EECS 581 Fall 2018 Team 9 Project Proposal Book Trader 22 October 2018 Siluo Feng Robert Goss

SINGLE WINDOW AND TRADE FACILITATION

CMMI-SVC V1.3 CMMI for Services Version 1.3 Quick Reference Guide

PMP Exam Preparation Workshop. Chapter # 5 Project Scope Management

REQUEST FOR PROPOSAL (RFP) FOR CONTRACT MANAGEMENT SYSTEM ISSUED BY THE RFP INFORMATION

making money from customer use of kiosk attracting more customers to the store saving money if the kiosk replaces manual operations

EDI Solutions Your guide to getting started -- and ensuring smooth transactions anthem.com/edi

E Learning BSLC, by: Argyasiany

Requirements Basics. CSCE Lecture 4-09/02/2015

Passit4Sure.OG Questions. TOGAF 9 Combined Part 1 and Part 2

Software Processes 1

T Software Testing and Quality Assurance Test Planning

PART THREE: Work Plan and IV&V Methodology (RFP 5.3.3)

Software Engineering Fall 2014

Requirements Validation and Negotiation

Software Engineering Fall 2014

E-Procurement Systems. Presenter: Cornelia K. Sabiiti Public Procurement and Disposal of Public Assets Authority 28 February 2017

Because you re reading this book, we can safely assume that the products

Oi Requirements Communication in New Product Development

Agent-Based Electronic MarketPlace System Design Document

Requirements Analysis and Design Definition. Chapter Study Group Learning Materials

QUALITY ASSURANCE PLAN OKLAHOMA DEPARTMENT OF HUMAN SERVICES ENTERPRISE SYSTEM (MOSAIC PROJECT)

Administrative Services About Administrative Services

Deliverable: 1.4 Software Version Control and System Configuration Management Plan

Retail Channel Management and Corporate Operations. Microsoft Dynamics AX 2012 R3

Requirements Architecture - Agility

EDI Solutions Your guide to getting started -- and ensuring smooth transactions anthem.com/edi

CSCC40 Analysis and Design of Information Systems mid-term exam

THE INSTITUTE OF CHARTERED ACCOUNTANTS (GHANA) SOLUTION: BUSINESS INFORMATION SYSTEMS, NOVEMBER, 2014

Appendix Project Management Templates

REUTERS/TOBIAS SCHWARZ AUMENTUM TAX ALL YOU LL EVER NEED

Darshan Institute of Engineering & Technology for Diploma Studies Rajkot Unit-1

IBM Rational RequisitePro

Verification and Validation

Practical Agile: Hands-on application of agile principles and practices to turn business concepts into deliverable, value based components

Judge Assessment. Oregon Region: OR Fri Jul :26 PM

1. Introduction Purpose Scope Definitions and Acronyms References Documents Figures and models 4

Chapter 3 Agile Software Development

Version 1.0. The Contract Management Standard Final Edition. Version 1.0

MICROSOFT BUSINESS SOLUTIONS GREAT PLAINS. Release 7.5 Extensions

Explore Comparative Analysis Software Development Life Cycle Models

Product Requirements. Requirements. Get it Right ASAP. Why Requirements are Difficult. Levels of S/W Requirements. Types of S/W Requirements

Internet Society (ISOC) Membership System. Request for Proposals

Chapter 3 Prescriptive Process Models

Course : Software Engineering and Project Management. Unit 2 Software Requirements Engineering & Analysis

The Role of Technology in Markets for Environmental Tradable Permits

PIEDMONT VIRGINIA COMMUNITY COLLEGE VII. FISCAL POLICIES AND PROCEDURES VII 3.0 PURCHASING INFORMATION VII 3.3 PURCHASING & CONTRACTING POLICY

Software Development

ACS 3907 E-Commerce. Instructor: Kerry Augustine January 24 th Bowen Hui, Beyond the Cube Consulting Services Ltd.

alotsoldvehicleauction.com FIND YOUR PERFECT CAR

QuEST Forum. TL 9000 Quality Management System. Requirements Handbook

Functional requirements and acceptance testing

Requirements Analysis. Overview

Version 1.0. The Contract Management Standard Final Edition. Version 1.0

Transcription:

Analysis and Specification References: G. Kotonya and I. Sommerville, Engineering--Processes and Techniques, John Wiley, 1997. S. Pfleeger and J. Atlee, Software Engineering-- Theory and Practice, Third Edition, Prentice Hall, 2006, Chapter 4. Importance of Good Analysis Standish Group Report, 1995: The Scope of Software Failures: Examined 8000 software projects at 350 companies 31% cancelled before completion Only 9% of large projects completed at budgeted time and cost Only 16% of small projects delivered at budgeted time and cost Importance of Analysis--Continued Standish Group Report: Causes of project failure: Incomplete : 13.1% Lack of user involvement: 12.4% Unrealistic expectations: 9.9% Lack of executive support: 9.3% Changing and specifications: 8.7% Lack of planning: 8.1% System no longer needed: 7.5% The Case for Careful Analysis Boehm and Papaccio, Understanding and controlling software costs, IEEE Trans. On Software Eng., 14(10), October 1988. 1000 100 10 1 1 time 3-6 times 10 times 15-40 times 30-70 times 40-1000 times Req. Design Code Unit Test Int. Test Field 1

--What are They? A requirement is a description of a system feature, capability, or constraint. generally focus on what a system should do, rather than how it should do it. Classes of : functional nonfunctional (constraints) Priority essential ( shalls ) highly desirable ( shoulds ) desirable but low priority Existing systems information Stakeholder needs Organizational standards Regulations Domain information Engineering Engineering Process Agreed System specification System models Engineering Process-- A Spiral Model Decision point: accept document or re-enter spiral document and validation elicitation validation Informal statement of Start analysis and negotiation Agreed documentation Boehm s WinWin Approach to Negotiation 1. Identify next-level stakeholders 7.Review, commitment 6. Validate product, process definitions 2. Identify stakeholders needs (win conditions) 5. Define next level of product and process-- including partitions 3. Reconcile win conditions. Establish next level objectives, constraints, alternatives. 4. Evaluate product and process alternatives. Resolve risks. Draft document 2

Stakeholders System stakeholders: people or organizations who will be affected by system and therefore have a stake in system end-users managers developers marketers maintainers regulators/certifiers etc. Stakeholders Needs Informal Capture desired system properties from the perspective of various stakeholder groups Provide a basis for formal Stakeholders Needs--Continued The intent is to capture stakeholders general expectations No need to be rigorous or precise Should aim for completeness can always scale back expectations later Why Bother With Stakeholders Needs Analysis Makes sure that needs of all important constituencies have been considered Provides a validation check for necessity and completeness of system can map from stakeholders needs to to check completeness cam map from to stakeholders needs to check necessity 3

Stakeholder Needs Example Stakeholders Needs Analysis An example Own An On-Line Auction House Your customers will marvel at the Custom auction categories Custom news groups and chat rooms Easy registration Credit card security Easy sale submission Easy bidding A history of their personal transactions Auction Administrator Enforce fair payment policies Collect auction fees Track customer profiles and transactions Manage auctions, chat rooms and new groups 4

Auction Administrator Check for credit card fraud Document your revenue stream Add links and advertisements to key web pages Profile the popularity of every clickable item on your site Recovery software for server failures and power loss Stakeholders in Both Net Franchise Corp and Auction Owner Management leadership Sales Engineering Information systems Support services Financial Legal Additional Customers Sellers of Merchandise Buyers of Merchandise Federal, State, and Local Governments Net Franchise Corp Needs Management Leadership Minimize capital investment by manufacturing no hardware Outsource software development to keep workforce costs low Highly responsive customer support staff 5

Sales Net Franchise Corp Needs Demonstrate Net Auctioneer to Customer over the web on a lap top computer Tailor auction type and chat rooms as demonstrations to customer Customer success stories Net Franchise Corp Needs Engineering Well defined extensible software architecture with interfaces that minimize the cost of future changes Both Unix and Windows server compatible Use commercially available and widely supported application frameworks Independence from hardware Net Franchise Corp Needs Engineering SQL database for long term, large data stores Allow for growth in number of customers, number of servers, sizes for databases, and performance Use third party software components when feasible The best development, testing, and component integration tools available Net Franchise Corp Needs Information Systems Access to franchise sites all over the world Franchise data collection, tracking and reporting To know the trends in customers, revenue, and types of auctions for each franchise Produce accounting and billing records for every franchise 6

Net Franchise Corp Needs Information Systems Provide trend and summary reports for all franchises Timely billing for franchise licenses, custom software, training and services Problem reporting system and help desk support Net Franchise Corp Needs Support Services Easy to use interfaces for customer administration of their franchise Problem reporting system with help desk 24 hours a day Net Franchise Corp Needs Financial Accounting Number of franchises active, contracts, data on franchise owners Current and projected revenue from each franchise For each auction, the number of auctions and each gross auction revenue Service and custom software contracts Installation costs for each franchise Net Franchise Corp Needs Legal Services Access contracts and ownership information for each franchise Notification of legal problems History of previous agreements 7

Net Auctioneer Customers Management Leadership 100 times increase in auction revenue High reliability with quick fixes when problems occur Move from manual auctions to on-line auctions Increase auction customer base Minimize installation and service costs Avoid legal entanglements Net Auctioneer Customers Auction Administration Interface with existing databases of buyers and sellers Rapid definition of new auction categories and policies for those auctions Customize the look of the web-pages Change and upgrade the customer interface Net Auctioneer Customers Auction Administration Provide historical search data for the customers Reports on the success of auctions and analysis of what makes them successful Policing of auctions for underhanded sellers Ability to hold money for buyers until transaction is complete Financial reports Net Auctioneer Customers Auction Administration Creation and management of news or chat groups Profile customers Plug -in advertising selection, profiling, and display components Switch database support systems Interface with existing customer and accounts databases Increase the hardware performance for communication, dial-in, and the servers 8

Sales Net Auctioneer Customers On-line tutorials for selling and buying Easy to use interfaces for registration, selling, and purchasing Reliability without misrepresentation Net Auctioneer Customers Engineering Integration with existing databases Use of standard platforms and installation tools Identification of problems that can be fixed locally Help-line from vendor Ability to design web site, add links, add advertising, etc Integrate third party web applications Bring new versions on line seamlessly Net Auctioneer Customers Information Systems Track financial data with audit trails Access history and profiles of customers Produce reports for taxes Project growth of revenues Net Auctioneer Customers Financial Accounting Audit auction records Track transactions, fees, and margin from sales Predict net and gross revenues Automatic transfer of financial data to/from Net Franchise Corp 9

Net Auctioneer Customers Legal Services Secure records of sales and purchases Conformity to all federal and state regulations Establish objectives Business goals Problem Statement System constraints Eliciting Understand background Organizational structure Application domain Existing systems Organize knowledge Stakeholder identification Goal prioritization Domain knowledge filtering Collect Stakeholder Domain Organizational Analysis and Negotiation Analysis Necessity checking Unnecessary discussion Consistency/ completeness checking negotiation Conflicting/ incomplete priortization Feasibility checking Infeasible Agreement Analysis and Negotiation--Continued Analysis Checklist Items From: Kotonya & Sommerville, Engineering, Jon Wiley, 1998 premature design combined unnecessary use of non-standard hardware conformance with business goals ambiguity realism testability 10

Analyzing --Continued Checklist Items From: Pfleeger, Software Engineering Theory and Practice, Prentice hall, 1998. Correct? Consistent? Complete? Realistic? Needed? Verifiable? Traceable? Analysis Example: Consider the following : The system shall provide real-time response to queries. Accuracy shall be sufficient to support mission planning The system shall maintain records of all library materials, including books, newspapers and magazines, and CDs. The system shall allow users to search for an item by author, title, or ISBN. What is wrong with each of these? Documenting Documents go by various names: document specification document system specification (SRS) Sometimes there will be two documents definition--customer-oriented specification--developer oriented Documentation-- Continued Elements of a typical document Preface/Introduction intended purpose and audience product background problem statement and rationale context Glossary definition of technical terms abbreviations and acronyms 11

Documentation--Continued Elements of a Document-- Continued Functional May be organized by Stakeholder Nonfunctional Reliability, performance, etc System Architecture (we will do this in a separate document) Hardware Specification (We will leave this to the architecture document) Mapping to/from Stakeholder Needs Appendices Index Validation Validation is the process of establishing that the specification is is accurate, consistent, and complete with respect to the stakeholders needs. Note that it is not possible to formally validate a specification with respect to the stakeholders expectations The most common form of validation is a Review. Formal meeting similar to a walkthrough review team made up of various stakeholders Validation--Inputs and Outputs Document Organizational Knowledge Organizational Standards Validation List of Problems Action Items for Problem Resolution Informal Validation General problems to look for incompleteness ambiguity violation of standards redundancy inconsistency (conflict) traceability is this requirement traceable to one or more stakeholder needs testability in most cases it is a good idea to define tests as part of the generation process 12

Validation--Continued Some types of are difficult to validate General system Exclusive exclude some specific type of behavior e.g. system failure shall never corrupt the database Nonfunctional e.g. reliability These should be identified up front, and validation criteria should be negotiated with stakeholders --Common Problems Failure to completely capture functional transfer of control ownership window resizing tracking of mouse movement Failure to define terms --Common Problems (continued) Vagueness The system shall be reliable. The code shall be easily readable. The system shall support remote access The system shall allow the user to store and open files. --Common Problems (Continued) Overly constraining The system shall be platform-independent The system shall update the display within one second. Failure to prioritize 13

Engineering--Feature Set Control Feature creep is one of the most common causes of schedule and cost overrun and/or project failure. Feature creep is insidious and hard to prevent. All stakeholders, including development team, may contribute to the problem. Control requires discipline and effective management. Feature Set Control Early project control define feature set consistent with project budget and schedule Mid-project control avoid feature creep Late project control trim or delay lower priority features to meet schedule or budget. Feature Set Control--Early Project Minimal Specification Scrubbing Versioned Development Feature Set Control--Early Project Minimal Specification Find the proper level of detail that captures the essential without overspecifying the system. examples of overspecification: specifying details or characteristics that are unimportant to the user/customer. Specifying features or technologies that are known to be subject to change. Overly constraining design. It is essential that the goals and objectives of the project are made crystal-clear. 14

Minimal Specification--Some Suggestions Start with a vision statement that describes both what the product is and is not. Consider using a User Manual or On-line Help system as the spec. Consider using GUI prototypes or storyboards in lieu of (or in addition to) prose specification. Make sure developers clearly understand the goals and objectives of the project. Minimal Specification--McConnell s Keys to Success Use only when are flexible. Note that keeping the initial flexible may itself be a key to success in some projects. Don t use as an excuse for not doing careful analysis r.e. specification items: When in doubt, leave it out. Make sure that you DO capture the essential. Use with flexible development approach. Feature Set Control--Early Project Scrubbing: Eliminate all that are not absolutely essential. Simplify overly complicated. Substitute cheaper options where possible. Be careful. Remember that reinstating at a later development stage will cost much more. Feature Set Control--Early Project Versioned Development Defer some to later versions. Use evolutionary or staged development process. Success of this approach requires a strong architectural perspective that accommodates the addition of deferred features. 15

Feature Set Control--Mid-Project Controlling feature creep Having lean-and-mean doesn t protect against feature creep. All stakeholders are potential contributors to this problem. Some common sources of feature creep: Killer-app syndrome Vague, overly-ambitious goals Gold-plating of unimportant details Controlling Feature Creep In most projects, some volatility of is inevitable. Customers don t know what they want Markets change rapidly. Technology changes rapidly Developers may need latitude-c.f. earlier discussion of Minimal Specification Errors or incompleteness may be found in the specification. Classes of Volatility From: Kotonya and Sommerville, Engineering, John Wiley, 1997 Mutable subject to changes in environment e.g. tax software subject to changes in tax laws. Emergent Cannot be completely defined at specification time. Consequential based upon usage assumptions that may be wrong. Compatibility depend on other systems that may change. Controlling Changes Plan for change--have a Change-Management Plan Some goals of a Change-Management Plan: Critically assess proposed changes w.r.t. impact on schedule, budget, and product. Involve all affected stakeholders in the decisionmaking process. Provide an audit trail of change decisions A Change-Control Board may be effective. 16

Feature Set Control--Late Project Eliminating low-priority features is often a good way of managing schedule and budget risks. This requires good up-front priortization Good approach: Start with scrubbed + prioritized list of additional features Add new features as time an budget permit. Management Principal elements: managing changes to agreed-upon managing interdependencies among managing dependencies between document and other documents produced during the development process (traceability) Managing Changes to Identified problem Problem analysis and change specification Change analysis and costing Change implementation Revised Change Analysis and Costing Change request Check request validity Propose changes Customer information Rejected request Find directly affected change list Assess costs of change Rejected request Find dependent Assess cost acceptability Customer information Accepted request Cost information Rejected request 17

Tracing Four types of traceability Backward-from links to stakeholder needs Forward-from links to design and implementation components Backward-to links design and implementation components back to. Forward-to links stakeholder needs to relevant Backward and Forward Traceability Stakeholder Needs/Business Plan Forward-to Backward-from Document Forward-from Backward-to Design Document Other Types of Traceability -to- links dependent two way: dependent and is-dependent-on -to/from-architecture -to/from interfaces Keeping Track of Traceability Relationships Traceability tables record relationships in matrix form generally practical only for simple systems Case-tools automated change request process database with change management process. 18