DOC PREVIEW
Toronto CSC 340 - Lecture 5 - Requirements Specifications

This preview shows page 1 out of 4 pages.

Save
View full document
View full document
Premium Document
Do you want full access? Go Premium and unlock all 4 pages.
Access to all documents
Download any document
Ad free experience
Premium Document
Do you want full access? Go Premium and unlock all 4 pages.
Access to all documents
Download any document
Ad free experience

Unformatted text preview:

1University of TorontoDepartment of Computer Science© Easterbrook 20041Lecture 5:Requirements Specifications Why we need to write specifications Purpose and audience Choosing an appropriate size and formality Desiderata for Specifications Properties of good specifications Typical problems What not to include Structure of a requirements document IEEE standardUniversity of TorontoDepartment of Computer Science© Easterbrook 20042Software Requirements Specification Purpose Communicates an understanding ofthe requirementsexplains both the application domainand the system to be developed ContractualMay be legally binding!Expresses agreement and a commitment Baseline for evaluating subsequentproductssupports system testing, verificationand validationenough information to verify whetherdelivered system meets requirements Baseline for change controlrequirements change, software evolves Audience Users, PurchasersMost interested in system requirementsNot generally interested in detailedsoftware requirements Systems Analysts, RequirementsAnalystsWrite various specifications that inter-relate Developers, ProgrammersHave to implement the requirements TestersDetermine that the requirements havebeen met Project ManagersMeasure and control the analysis anddevelopment processes How do we communicate the Requirements to others? It is common practice to capture them in an SRS But an SRS doesn’t need to be a single paper document...University of TorontoDepartment of Computer Science© Easterbrook 20043Appropriate Specification Consider two different projects:A) Tiny project, 1 programmer, 2 months workprogrammer talks to customer, then writes up a 5-page memoB) Large project, 50 programmers, 2 years workteam of analysts model the requirements, then document them in a 500-page SRSProject AProject BPurpose of spec?Crystalizes programmer’sunderstanding; feedbackto customerBuild-to document; mustcontain enough detail forall the programmersManagementview?Spec is irrelevant; havealready allocatedresourcesWill use the spec toestimate resource needsand plan the developmentReaders?Primary: Spec author;Secondary: CustomerPrimary: programmers,testers, managers;Secondary: customersUniversity of TorontoDepartment of Computer Science© Easterbrook 20044A complication: Procurement An ‘SRS’ may be written by… …the procurer: SRS is really a call for proposals Must be general enough to yield a good selection of bids… …and specific enough to exclude unreasonable bids …the bidders: SRS is a proposal to implement a system to meet the CfP must be specific enough to demonstrate feasibility and technical competence …and general enough to avoid over-commitment …the selected developer: reflects the developer’s understanding of the customers needs forms the basis for evaluation of contractual performance …or by an independent RE contractor! Choice over what point to compete the contract Early (conceptual stage) can only evaluate bids on apparent competence & ability Late (detailed specification stage) more work for procurer; appropriate RE expertise may not be available in-house IEEE Standard recommends SRS jointly developed by procurer & developer2University of TorontoDepartment of Computer Science© Easterbrook 20045Desiderata for Specifications Valid (or “correct”) Expresses only the real needs of thestakeholders (customers, users,…) Doesn’t contain anything that isn’t“required” Unambiguous Every statement can be read inexactly one way Complete Specifies all the things the systemmust do… ...and all the things it must not do! Conceptual Completeness E.g. responses to all classes of input Structural Completeness E.g. no TBDs!!! Understandable (Clear) E.g. by non-computer specialists Consistent Doesn’t contradict itself I.e. is satisfiable Uses all terms consistently Ranked Must indicate the importance and/orstability of each requirement Verifiable A process exists to test satisfactionof each requirement“every requirement is specifiedbehaviorally” Modifiable Can be changed without difficulty Good structure and cross-referencing Traceable Origin of each requirement is clear Facilitates referencing ofrequirements in future documentationSource: Adapted from IEEE-STD-830-1998University of TorontoDepartment of Computer Science© Easterbrook 20046There is no Perfect SRS!incompleteincompleteincompletenot understandablenot understandablenot understandableambiguousambiguousambiguousredundantredundantredundantinconsistentinconsistentinconsistentaddexplanationsresolvereduceexpandexpandcondenseformalize…etc!University of TorontoDepartment of Computer Science© Easterbrook 20047SRS Contents Software Requirements Specification should address: Functionality. What is the software supposed to do? External interfaces. How does the software interact with people, the system's hardware, otherhardware, and other software? Performance. What is the speed, availability, response time, recovery time of various softwarefunctions, and so on? Attributes. What are the portability, correctness, maintainability, security, and otherconsiderations? Design constraints imposed on an implementation. Are there any required standards in effect, implementation language, policies fordatabase integrity, resource limits, operating environment(s) and so on?University of TorontoDepartment of Computer Science© Easterbrook 20048SRS should not include… Project development plans cost, staffing, schedules, methods, tools, etc Lifetime of SRS is until the software is made obsolete Lifetime of development plans is much shorter Product assurance plans CM, V&V, test, QA, etc Different audiences Different lifetimes Designs Requirements and designs have different audiences Analysis and design are different areas of expertise I.e. requirements analysts shouldn’t do design!Except where application domain constrains the design e.g. limited communication between different subsystems for security reasons.Source: Adapted fromDavis, 1990, p1833University of TorontoDepartment of Computer Science© Easterbrook 20049Typical mistakes Noise text that carries no relevant informationto any feature of the


View Full Document

Toronto CSC 340 - Lecture 5 - Requirements Specifications

Documents in this Course
Scoping

Scoping

10 pages

Load more
Download Lecture 5 - Requirements Specifications
Our administrator received your request to download this document. We will send you the file to your email shortly.
Loading Unlocking...
Login

Join to view Lecture 5 - Requirements Specifications and access 3M+ class-specific study document.

or
We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view Lecture 5 - Requirements Specifications 2 2 and access 3M+ class-specific study document.

or

By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?