Writing requirements specifications. Why we need requirements specifications To give structure to your desires To avoid waste of resources To avoid slippage.

Slides:



Advertisements
Similar presentations
4th Module: Information Systems Development and Implementation:
Advertisements

Project Procurement Management
1 2 Tips for Tenders Presented by: Rebecca Clarkson Director of Fundraising and Business Development Hackney CVS Training Team.
Software Requirements
Chapter 2 – Software Processes
Chapter 7: Key Process Areas for Level 2: Repeatable - Arvind Kabir Yateesh.
Evaluating Requirements. Outline Brief Review Stakeholder Review Requirements Analysis Summary Activity 1.
ISO 9001 : 2000.
Chapter 3 Project Initiation
Introduction to Software Engineering Dr. Basem Alkazemi
SOFTWARE QUALITY ASSURANCE Maltepe University Faculty of Engineering SE 410.
Requirements Analysis CS 414 – Software Engineering I Donald J. Bagert Rose-Hulman Institute of Technology January 7, 2003.
Introduction to Software Engineering
Lecture 5: Requirements Specifications
Requirements Specification
CSC 402 Requirements Engineering 1. 2 Problem Definition Requirements Definition informal statement of need for system natural language statement of what.
Software Requirements
Unit 211 Requirements Phase The objective of this section is to introduce software system requirements and to explain different ways of expressing these.
Analysis Stage (Phase I) The goal: understanding the customer's requirements for a software system. n involves technical staff working with customers n.
CS 425/625 Software Engineering Software Requirements
Software Requirements
1 To introduce the concepts of user and system requirements To introduce the concepts of user and system requirements To describe functional and non- functional.
Major Exam II Reschedule 5:30 – 7:30 pm in Tue Dec 5 th.
Overview of Software Requirements
NJIT Inception is not the Requirements Phase Chapter 4 Applying UML and Patterns Craig Larman.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 5 Slide 1 Requirements engineering l The process of establishing the services that the.
RESUME WRITING TIPS FEA Career Development Center.
SYSTEM ANALYSIS AND DESIGN
Lecture 18: Specifications
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 6 Slide 1 Software Requirements.
Copyright 2002 Prentice-Hall, Inc. Modern Systems Analysis and Design Third Edition Jeffrey A. Hoffer Joey F. George Joseph S. Valacich Chapter 6 Initiating.
ECE450 – Software Engineering II
Dr. Tom WayCSC Software Requirements CSC 4700 Software Engineering Lecture 2 Based on Sommerville, Chapter 6.
What is a Business Analyst? A Business Analyst is someone who works as a liaison among stakeholders in order to elicit, analyze, communicate and validate.
Software Requirements Engineering: What, Why, Who, When, and How
Product Documentation Chapter 5. Required Medical Device Documentation  Business proposal  Product specification  Design specification  Software.
Lecture 7: Requirements Engineering
Requirements Reference: Chapters 5, 6, & 8. CMSC 345, Fall Objectives To introduce the concepts of user and system requirements To explain functional.
Chapter 4 Software Requirements
L To identify the services that the customer requires from a system and the constraints under which it operates and is developed.
Software Requirements: A More Rigorous Look 1. Features and Use Cases at a High Level of Abstraction  Helps to better understand the main characteristics.
Requirements Management with Use Cases Module 10: Requirements Across the Product Lifecycle Requirements Management with Use Cases Module 10: Requirements.
Requirements Engineering Lesson 2. Terminologies:  Software Acquisition is where requirement engineering significantly meets business strategy.  Software.
(SRS) SOFTWARE REQUIREMENT SPECIFICATION(SRS) 1. Topics to be discussed.. What is an SRS? Purpose of an SRS Who reads the SRS? Who writes the SRS? Characteristics.
Systems Development Life Cycle
Chapter 2 – Software Processes Lecture 1 Chapter 2 Software Processes1.
Business Analysis. Business Analysis Concepts Enterprise Analysis ► Identify business opportunities ► Understand the business strategy ► Identify Business.
Requirements Validation
Software Project Management Iterative Model & Spiral Model.
Evaluating Requirements
1 The Requirements Problem Chapter 1. 2 Standish Group Research Research paper at:  php (1994)
Software Requirements Specification Document (SRS)
Requirements Analysis
Requirements engineering The process of establishing the services that the customer requires from a system and the constraints under which it operates.
ANALYSIS PHASE OF BUSINESS SYSTEM DEVELOPMENT METHODOLOGY.
Search Engine Optimization © HiTech Institute. All rights reserved. Slide 1 Click to edit Master title style What is Business Analysis Body of Knowledge?
Software Engineering, COMP201 Slide 1 Software Requirements BY M D ACHARYA Dept of Computer Science.
Requirements in the product life cycle Chapter 7.
1 Software Requirements Descriptions and specifications of a system.
Getting Ready for the NOCTI test April 30, Study checklist #1 Analyze Programming Problems and Flowchart Solutions Study Checklist.
Rob Connatser NSS Instrument Work Packages and XLPM.
 System Requirement Specification and System Planning.
Applying UML and Patterns
Software Requirements
Software Requirements
Assess Plan Do Review Resource 1. Resources
Subject Name: SOFTWARE ENGINEERING Subject Code:10IS51
Software Reviews.
How to Scope a Project.
INTRODUCTION OF REQUIREMENT ENGINEERING Chapter- one.
Presentation transcript:

Writing requirements specifications

Why we need requirements specifications To give structure to your desires To avoid waste of resources To avoid slippage and project creep Reality check Is the basis of an agreement to provide a specific service within a budget and time frame Because you can’t trust anyone not even yourself!

IEEE Std : External object template

Technical Purpose of Requirements Spec’s Communicates an understanding of the requirements explains both the application domain and the system to be developed Contractual May be legally binding! Expresses an agreement and a commitment Baseline for evaluating subsequent products supports system testing, verification and validation activities should contain enough information to verify whether the delivered system meets requirements Baseline for change control requirements change, software evolves

Audiences for Requirement Spec’s Procurement, users, stakeholders, salespersons Most interested in system requirements Not often interested in detailed software requirements Systems analysts Write various specifications that interrelate Developers, programmers Implementers of the requirements Quality Assurance, validation team Determine that the requirements have been met Project Managers Control the analysis and development processes

Who writes the requirement spec? You - the procurer the Req. Spec becomes a call for bids and proposals Thus must be general enough to enable people to bid but specific enough to do the job and exclude unreasonable bids The marketplace a proposal to implement a system to meet a call for proposals are recieved must be specific enough to demonstrate capabilities and technical competence but they tend to be general enough to avoid over- commitment

Who writes the requirement spec? The winner – i.e. the selected developer will reflect the developer’s understanding of the customers needs will form the basis for evaluation of contractual performance must be checked very rigorously preferably by an expert independent of either party

Timing the competition With all these possible contributors then a choice over when to offer a chance to compete for the work must be made. There are pro’s and con’s to this: If done early then can only evaluate bids on apparent competence & ability against a concept you have not tested If done late with a detailed specification then lots of work for you need to be very sure indeed of what you want what you want may not be available in the market the appropriate analysis and Req Spec writing skills may not be available in-house.

How to think about the content for the Spec 1 Express the real needs of the stakeholders Specify all the things the system must do Specify all the things it must not do! Conceptual Completeness think about all inputs and outputs – have they been accounted for Structural Completeness ensure there are no “to be decided” for the system structure – must be architecturally complete Necessity – ensure everything requested is necessary

How to think about the content for the Spec 2 Be consistent and ensure you don’t contradict yourself Uses all terms consistently Note that inconsistency is hard to detect especially over timescales, system performance and legal requirements Clarity Every statement must only be interpretable in exactly one way Clearly define confusing or specialist terms try to make it readable to a non-expert

How to think about the content for the Spec 3 Quality Assurance and validation Ensure a process exists to test satisfaction of each requirement think about user behaviours and ensure tests exist that reflect these Modifiable Can be changed without difficulty Good structure and cross-referencing It must be kept up to date!

Do not include: Money that is part of the tender process and should be kept separate from the Req. Spec. Call for Proposals or Invitation to Tenders can state these instead Management or project plans Timescales Design concepts unless the design idea would constrain performance or development keep as separate information document to balance function with design

Common mistakes (1) Chaff text not relevant to a feature of the problem Invisible features desired feature not in the Spec Over-specification describing the solution not the problem Contradiction defining a feature or need in several contradictory ways

Common mistakes (2) Jigsaw puzzle referring to a term or feature that has yet to be defined in the text distributing key information all over the place ”Would be nice if” asking for things you cannot possibly validate Invented terminology optical digital rendering device Defensive writing write for the positive reader not the hostile ones!

The IEEE specification