TCS2411 Software Engineering1 Software Requirements Specification “Writing down the requirements”

Slides:



Advertisements
Similar presentations
Chapter 9 Structuring System Requirements: Logic Modeling
Advertisements

Chapter 8 Logic Requirements
Modeling Logic with Decision Tables and Trees. 2 Decision Trees and Decision Tables Often our problem solutions require decisions to be made according.
Introducing Formal Methods, Module 1, Version 1.1, Oct., Formal Specification and Analytical Verification L 5.
TCS2411 Software Engineering1 Software Life Cycle “What happens in the ‘life’ of software”
Alternative Approach to Systems Analysis Structured analysis
Describing Process Specifications and Structured Decisions Systems Analysis and Design, 7e Kendall & Kendall 9 © 2008 Pearson Prentice Hall.
Lecture 4 Logic Modeling
TCS2411 Software Engineering1 Software Design Principles “Producing the software blueprint”
L ECTURE 12 – P ROCESS S PECIFICATION Definition, Motivation and Elements Structured English Decision Tables Decision trees Software Project Management.
TCS2411 Software Engineering1 System Engineering and Analysis “What is the role of the software product?”
Data-Flow Oriented Design
TCS2411 Software Engineering1 Software Maintenance “Taking care of the software”
TCS2411 Software Engineering1 Project Plan “What are you going to do in the project?”
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by.
7M701 1 Software Engineering Software Requirements Sommerville, Ian (2001) Software Engineering, 6 th edition: Chapter 5
TCS2411 Software Engineering1 Monitoring & Controlling Projects “Do you know what’s happening in the project?”
Jump to first page Chapter 2c System Analysis - Logic Modeling.
TCS2411 Software Engineering1 Software Requirements Analysis “What does the customer want?”
Kendall & KendallCopyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall 9 Kendall & Kendall Systems Analysis and Design, 9e Process Specifications.
TCS2411 Software Engineering1 Functional and Behavioural Modeling “What is the software supposed to do?”
Process Descriptions: Logic Modeling
TCS2411 Software Engineering1 Software Design Notations “Documenting the software blueprint”
System Analysis System Analysis - Mr. Ahmad Al-Ghoul System Analysis and Design.
Chapter 18 Testing Conventional Applications
TCS2411 Software Engineering1 Software Configuration Management “The only constant is change...”
© 2005 by Prentice Hall Chapter 9 Structuring System Requirements: Logic Modeling Modern Systems Analysis and Design Fourth Edition.
TCS2411 Software Engineering1 Improving the Design “Can the design be better?”
Logic Modeling MIS 322. Why do we need Logic Modeling? Lets look at the following DFD.
Chapter 9 Structuring System Requirements: Logic Modeling
© 2005 by Prentice Hall Chapter 8 Structuring System Logical Requirements Modern Systems Analysis and Design Fourth Edition Jeffrey A. Hoffer Joey F. George.
Information Systems System Analysis 421 Class Eight.
MBI 630: Class 6 Logic Modeling 9/7/2015. Class 6: Logic Modeling Logic Modeling Broadway Entertainment Co. Inc., Case –Group Discussion (Handout) –Logic.
Chapter 8 Structuring System Requirements: Logic Modeling
Logic Modeling Logic and timing are not represented on data flow diagrams or entity-relationship diagrams Processes contain logic - what happens under.
© 2006 ITT Educational Services Inc. SE350 System Analysis for Software Engineers: Unit 8 Slide 1 Chapter 8 Structuring System Logical Requirements.
8. PROCESS DESCRIPTION System Analysis And Design Program: BSCS II (Advent Semester – 2014) Lecturer: Rebecca Asiimwe
Describing Process Specifications and Structured Decisions Systems Analysis and Design, 7e Kendall & Kendall 9 © 2008 Pearson Prentice Hall.
Chapter 8 Structuring System Logical Requirements.
Copyright 2002 Prentice-Hall, Inc. Chapter 2 Object-Oriented Analysis and Design Modern Systems Analysis and Design Third Edition Jeffrey A. Hoffer Joey.
9-1 © Prentice Hall, 2007 Chapter 9: Analysis Classes Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph S. Valacich, Jeffrey.
ICS 253: Discrete Structures I Induction and Recursion King Fahd University of Petroleum & Minerals Information & Computer Science Department.
Cis339 Modern Systems Analysis and Design Fifth Edition Chapter 8 Structuring System Logic Requirements: 8.1.
7-1 © Prentice Hall, 2007 Topic 7: Analysis Classes Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph S. Valacich, Jeffrey.
© 2005 by Prentice Hall Chapter 9 Structuring System Requirements: Logic Modeling Modern Systems Analysis and Design Fourth Edition Jeffrey A. Hoffer Joey.
1 CEN 4020 Software Engineering PPT4: Requirement analysis.
1 Information System Analysis Topic-3. 2 Entity Relationship Diagram \ Definition An entity-relationship (ER) diagram is a specialized graphic that illustrates.
1 Software Engineering: A Practitioner’s Approach, 6/e Chapter 11b: Component-Level Design Software Engineering: A Practitioner’s Approach, 6/e Chapter.
1 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by.
Modern Systems Analysis and Design Fourth Edition Chapter 8 Structuring System Logical Requirements (process description)
Copyright 2002 Prentice-Hall, Inc. Modern Systems Analysis and Design Third Edition Jeffrey A. Hoffer Joey F. George Joseph S. Valacich Chapter 9 Structuring.
 Problem Analysis  Coding  Debugging  Testing.
Chapter 8 Structuring System Logical Requirements
Business System Development
Chapter 9 Structuring System Requirements: Logic Modeling
Chapter 9 Structuring System Requirements: Logic Modeling
Chapter 9 Structuring System Requirements: Logic Modeling
Chapter 8 Logic Requirements
Chapter 9 Structuring System Requirements: Logic Modeling
Chapter 9 Structuring System Requirements: Logic Modeling
Logic Modeling Logic and timing are not represented on data flow diagrams or entity-relationship diagrams Processes contain logic - what happens under.
Chapter 9 Structuring System Requirements: Logic Modeling
Information Systems Development MIS331
Chapter 8 Structuring System Logical Requirements
Chapter 9 Structuring System Requirements: Logic Modeling
Chapter 9 Structuring System Requirements: Logic Modeling
UNIT-II CHAPTER-4 SOFTWARE REQUIREMENT DEFINITION
COMPILER CONSTRUCTION
Presentation transcript:

TCS2411 Software Engineering1 Software Requirements Specification “Writing down the requirements”

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

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

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

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.

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

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

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

TCS2411 Software Engineering9 Structure of Decision Table

TCS2411 Software Engineering10 Example of Decision Table

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

TCS2411 Software Engineering12 Simplified Decision Table

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

TCS2411 Software Engineering14 Example of Decision Tree 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?

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

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

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

TCS2411 Software Engineering18 Good Specifications zCorrect zComplete zConsistent zUnambiguous zFunctional zVerifiable zTraceable zEasily changed

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

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