System Requirements Specification

Slides:



Advertisements
Similar presentations
Software Quality Assurance Plan
Advertisements

1 Information Systems Development (ISD) Systems Development Life Cycle Overview of Analysis Phase Overview of Design Phase CP2236: Information Systems.
8/28/2005ECEN5543 Req Elicitation1 Targets of Requirements Engineering ECEN 5543 SW Engineering of Standalone Programs University of Colorado, Boulder.
Capturing the requirements
Business Area Analysis Focus: Domain View (selected business area) Goals: –Isolate functions and procedures that allow the area to meet its goals –Define.
Major Exam II Reschedule 5:30 – 7:30 pm in Tue Dec 5 th.
SE 555 – Software Requirements & Specifications Introduction
1 Software Requirements Specification Lecture 14.
1 REQUIREMENTS ENGINEERING and SYSTEMS ANALYSIS Elements and Definitions.
S R S S ystem R equirements S pecification Specifying the Specifications.
Gregor v. Bochmann, University of Ottawa Based on Powerpoint slides by Gunter Mussbacher (2009) with material from: IEEE Standard, Daniel Amyot.
The Software Development Life Cycle: An Overview
Database System Development Lifecycle © Pearson Education Limited 1995, 2005.
CS 4310: Software Engineering Lecture 3 Requirements and Design.
Typical Software Documents with an emphasis on writing proposals.
Software Engineering 2003 Jyrki Nummenmaa 1 REQUIREMENT SPECIFICATION Today: Requirements Specification Requirements tell us what the system should.
SE-02 SOFTWARE ENGINEERING LECTURE 3 Today: Requirements Analysis Requirements tell us what the system should do - not how it should do it. Requirements.
Topics Covered: Software requirement specification(SRS) Software requirement specification(SRS) Authors of SRS Authors of SRS Need of SRS Need of SRS.
Software System Engineering: A tutorial
Requirements Engineering How do we keep straight what we are supposed to be building?
FCS - AAO - DM COMPE/SE/ISE 492 Senior Project 2 System/Software Test Documentation (STD) System/Software Test Documentation (STD)
Requirements Engineering CSE-305 Requirements Engineering Process Tasks Lecture-5.
Standard SRS Copyright, 2001 © Jerzy R. Nawrocki Requirements Engineering Lecture.
Software Engineering – University of Tampere, CS DepartmentJyrki Nummenmaa REQUIREMENT SPECIFICATION Today: Requirements Specification.
Requirements Documentation CSCI 5801: Software Engineering.
Software Development Cycle What is Software? Instructions (computer programs) that when executed provide desired function and performance Data structures.
Lecture 7: Requirements Engineering
Intro to Software System Modeling
Yarmouk University Department of Computer Information Systems CIS 499 Yarmouk University Department of Computer Information Systems CIS 499 Yarmouk University.
1 15 quality goals for requirements  Justified  Correct  Complete  Consistent  Unambiguous  Feasible  Abstract  Traceable  Delimited  Interfaced.
1 Software Requirements l Specifying system functionality and constraints l Chapters 5 and 6 ++
(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
1 Quality Attributes of Requirements Documents Lecture # 25.
OHTO -01 SOFTWARE ENGINEERING LECTURE 3 Today: Requirements Analysis Requirements tell us what the system should do - not how it should do it.
Requirement Engineering. Recap Elaboration Behavioral Modeling State Diagram Sequence Diagram Negotiation.
Smart Home Technologies
System Requirements Specification
Software Requirements Specification Document (SRS)
Requirement engineering & Requirement tasks/Management. 1Prepared By:Jay A.Dave.
Capturing Requirements. Questions to Ask about Requirements 1)Are the requirements correct? 2)Consistent? 3)Unambiguous? 4)Complete? 5)Feasible? 6)Relevant?
1 CEN 4020 Software Engineering PPT4: Requirement analysis.
Software Engineering Lecture 10: System Engineering.
SwCDR (Peer) Review 1 UCB MAVEN Particles and Fields Flight Software Critical Design Review Peter R. Harvey.
Requirement Elicitation Review – Class 8 Functional Requirements Nonfunctional Requirements Software Requirements document Requirements Validation and.
 System Requirement Specification and System Planning.
I&C Lab Seminar Procedure for the Software Requirements Specification for Safety Critical Systems Seo Ryong Koo Korea Advanced Institute Science.
Daniel Amyot, University of Ottawa Based on slides by Gunter Mussbacher (2009) and Stéphane Somé (2008) with material from these standards: IEEE ,
Chapter 4 Requirements Engineering (2/3)
Chapter 4 – Requirements Engineering
An Overview of Requirements Engineering Tools and Methodologies*
Chapter 4 – Requirements Engineering
Chapter 5 – Requirements Engineering
Developing Information Systems
Requirements Elicitation and Elaboration
CSC480 Software Engineering
Software Requirements analysis & specifications
UNIT II.
Software Requirements Specification Document
Chapter 6: Principles of Requirements Analysis
Software Requirements Specification (SRS) Template.
Lecture # 7 System Requirements
Requirements Document
Dr. Jiacun Wang Department of Software Engineering Monmouth University
Software Requirements
Requirement Analysis.
Information Systems Development (ISD) Systems Development Life Cycle
Subject Name: SOFTWARE ENGINEERING Subject Code:10IS51
Requirements Engineering Lecture 6
Software Reviews.
Presentation transcript:

System Requirements Specification Specifying the Specifications

Review from last class Requirements Engineering Tasks Inception Elicitation Elaboration - next brief topic Negotiation Specification - main topic tonight Validation Management

Modeling What are the benefits of building a model? So, what needs to be modeled?

System Modeling Function & Information Flow Model Data Model what we will do with the data Data Model structure of the information Behavior Model how we interact with the system

Functional and Information Flow Modeling Data Flow Diagrams compiler source code characters machine instructions object code Syntax Analysis Semantic Analysis characters tokens yadda yadda machine instructions DFDs also require a Data Dictionary

Data Modeling Data Objects, Attributes, Relationships Formatted as Lists or Tables Entity Relationship Diagrams security system sensor monitors enables/disables tests programs is programmed by

State Transition Diagram Behavior Modeling State Transition Diagram start done file name 1 2 3 save msg read msg send compose 4

Combining Info Flow & Behavior Use Cases http://www.evanetics.com/Articles/ar_usecases/uc_valueofucd.htm

Specification Requirements Engineering Tasks Inception Elicitation Elaboration Negotiation Specification Validation Management

Technically Speaking, "requirement" ≠ "specification" Requirement – understanding between customer and supplier Specification – what the software must do Requirements that are not in the SRS Costs Delivery dates Acceptance procedures etc

Uses of the SRS Design Validation Customer Contract – rarely

IEEE 830 Role of SRS “The SRS must correctly define all of the software requirements, but no more.” “The SRS should not describe design, verification, or project management details, except for required design constraints.”

Characteristics of a Good SRS IEEE 830 Characteristics of a Good SRS Unambiguous Complete Verifiable Consistent Modifiable Traceable Usable during the Operation and Maintenance Phase

Desired SRS Characteristics Complete Consistent Changeable Traceable

Ambiguousness – example one The control total is taken from the last record. The total is taken from the record at the end of the file. The total is taken from the latest record. The total is taken from the previous record. IEEE 830

Ambiguousness – example two All customers have the same control field. All customers have the same value in their control field. All control fields have the same format. One control field is issued for all customers. IEEE 830

Ambiguousness – example three When a user fails to authenticate after a number of times, send a notification to IT. http://stackoverflow.com/questions/626737/how-do-you-resolve-ambiguities-in-specification

Clear, Complete Unclear Clearer The system shall be able to read updates from MedImg The system shall be able to provide historical reports The system shall be able to import new tumor patient data supplied by MedImg to the radiology management system, for evaluating the tumor to be malignant or benign The system shall be able to provide patient tumor data for the past five calendar years http://www.healthcareguy.com/

Expressing Requirements Through input/output specs aka IEEE 830 Format Use of Representative Examples Specification through Models IEEE 830

SRS Table of Contents Introduction General Description Purpose Scope Definitions References Overview General Description Product Perspective Product Functions User Characteristics General Constraints Assumptions and Dependencies Specific Requirements IEEE 830

3. Specific Requirements 3.1 Functional Requirements 3.1.1 Func Req 1 3.1.1.1 Introduction 3.1.1.2 Inputs 3.1.1.3 Processing 3.1.1.4 Outputs 3.1.2 Func Req 2 … 3.2 External Interface Requirements 3.2.1 User Interface 3.2.2 Hardware Interfaces 3.2.3 Software Interfaces 3.2.4 Communication Interfaces 3.3 Performance Requirements 3.4 Design Constraints 3.4.1 Standards Compliance 3.4.2 Hardware Limitations 3.5 Attributes 3.5.1 Security 3.5.2 Maintainability 3.6 Other Requirements 3.6.1 Database IEEE 830

Non-830-Style Requirements User stories encourage the team to defer collecting details. An initial place-holding goal-level story ("A Recruiter can post a new job opening") can be written and then replaced with more detailed stories once it becomes important to have the details. This technique makes user stories perfect for time-constrained projects. A team can very quickly write a few dozen stories to give them an overall feel for the system. They can then plunge into the details on a few of the stories and can be coding much sooner than a team that feels compelled to complete an IEEE 830–style software requirements specification. Quote from "Advantages of User Stories for Requirements" By Mike Cohn http://www.awprofessional.com/articles/article.asp?p=342885&seqNum=3

Other Specification Techniques Use Cases Formal Specification Languages e.g. Petri Nets http://www.cs.indiana.edu/classes/p465/Lect/Images/petri-img-10.jpg

Next Classes Agile Development Risk Analysis and Management Metrics Managing the Testing Process