Download presentation
Presentation is loading. Please wait.
2
TCS2411 Software Engineering1 Software Requirements Specification “Writing down the requirements”
3
TCS2411 Software Engineering2 Lecture Objectives zTo describe different methods of specifying the software requirements zTo illustrate the use of technical methods for specifying certain types of requirements zTo describe the properties of good software requirement specifications
4
TCS2411 Software Engineering3 Software Requirements Specification zFrom our understanding of the problem, we now write down what the customer wants from the software zDocumentation of what the software is supposed to be zMany companies regard it as ‘contract’ between customer and developer zThe basis for validation and verification
5
TCS2411 Software Engineering4 Using Natural Language zMore than 50% of the content of the specifications are usually written using plain English, Bahasa, Chinese, etc. zEasy to produce zEasy for customer to understand zCan be improved by using structured form, using fields and description placed in fields
6
TCS2411 Software Engineering5 Examples of Specifications zThe printout of outstanding creditors are done monthly at the end of each month. zPurchase orders are automatically generated when the item quantity reaches below the reorder level. zUsually the report is produced based on the code given.
7
TCS2411 Software Engineering6 Problems of Natural Language zLack of clarity yWords such as “some”, “usually”, “probably” zAmbiguity ySome words have more than one meaning zContext dependency ySame word in different sentences have different meaning yDepends on whole paragraph/page/document
8
TCS2411 Software Engineering7 Using Diagrams Graphical representation of the analysis can present the information better using: zEntity-Relationship Diagrams zData Flow Diagrams zState Transition Diagrams yevent table, action table zDecision Tables zDecision Trees
9
TCS2411 Software Engineering8 Decision Tables zRepresentation of logic that is part of the processing zBased on a set of conditions, different actions will be performed zCan be simplified by removing impossible actions
10
TCS2411 Software Engineering9 Structure of Decision Table
11
TCS2411 Software Engineering10 Example of Decision Table
12
TCS2411 Software Engineering11 Constructing Decision Table zName the conditions and the values each condition can assume zName all possible actions that can occur zList all possible rules zDefine the actions for each rule zSimplify the decision table
13
TCS2411 Software Engineering12 Simplified Decision Table
14
TCS2411 Software Engineering13 Decision Trees zGraphical technique representing decisions using a series of nodes and branches zEach node is a decision point - a choice has to be made zEach branch has a corresponding value to the decision choice zSubsequent action is the result
15
TCS2411 Software Engineering14 Example of Decision Tree 1 2 3 Pay base salary Pay hourly wage; Absence report Pay hourly wage Pay hourly wage; Pay overtime wage Yes No Legend: 1) Salaried? 2) Hours worked < 40? 3) Hours worked > 40?
16
TCS2411 Software Engineering15 Mathematical Methods zImplicit Equations ySpecific equations relevant to software yIncludes other equation details e.g. data type, matrix size, algorithm zRegular Expressions yTo specify syntactic structure of string codes yExample: ::= x ::= x ::= 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9
17
TCS2411 Software Engineering16 Mathematical Methods (Continued) zRecurrence Relations yConsist of initial part and one or more recursive parts yExample: Fibonacci sequence xF(0) = 1 xF(1) = 1 xF(N) = F(N-1) + F(N-2) N>=2 yUseful for generation of repeated items, e.g. account number
18
TCS2411 Software Engineering17 Advanced Mathematical Methods zAxiomatic Definition yspecify basic system properties (axioms) and how the system generate new properties yExample: xREPLACE(stk,itm) = if EMPTY(stk) then error else (PUSH(POP(stk),itm) zFormal specifications yUse of mathematically based techniques ySets, Operators, Sequences, Logic Operators
19
TCS2411 Software Engineering18 Good Specifications zCorrect zComplete zConsistent zUnambiguous zFunctional zVerifiable zTraceable zEasily changed
20
TCS2411 Software Engineering19 Traceability Methods zAll requirements should be assigned a unique number zRequirements should explicitly identify related requirements by referring to their number zEach requirement should contain a cross- reference matrix showing related requirements
21
TCS2411 Software Engineering20 References z“Software Engineering: A Practitioner’s Approach” 5th Ed. by Roger S. Pressman, Mc-Graw-Hill, 2001 z“Software Engineering” by Ian Sommerville, Addison-Wesley, 2001 z“Modern Systems Analysis and Design” by Jeffrey A. Hoffer, Joey F. George & Joseph S. Valacich, Benjamin/Cummings, 1996
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.