Requirement Specification SRS document is a contract between the development team and the customer How do we communicate the Requirements to others? Firm.

Slides:



Advertisements
Similar presentations
Software Requirements
Advertisements

Software Quality Assurance Plan
25 February 2009Instructor: Tasneem Darwish1 University of Palestine Faculty of Applied Engineering and Urban Planning Software Engineering Department.
Software Requirements
Software Modeling SWE5441 Lecture 3 Eng. Mohammed Timraz
IT Requirements Capture Process. Motivation for this seminar Discovering system requirements is hard. Formally testing use case conformance is hard. We.
Introduction to Software Engineering Dr. Basem Alkazemi
Requirements Engineering n Elicit requirements from customer  Information and control needs, product function and behavior, overall product performance,
Introduction to Software Engineering
Software Requirements
Analysis Stage (Phase I) The goal: understanding the customer's requirements for a software system. n involves technical staff working with customers n.
Requirements Analysis Concepts & Principles
Software Requirements
Business Area Analysis Focus: Domain View (selected business area) Goals: –Isolate functions and procedures that allow the area to meet its goals –Define.
©Ian Sommerville 2000Software Engineering, 6/e, Chapter 91 Formal Specification l Techniques for the unambiguous specification of software.
Purpose of Requirements Analysis Process of discover, refinement, modeling, and specification o Bridge gap between system level SW allocation and design.
1 Software Requirements Specification Lecture 14.
1 REQUIREMENTS ENGINEERING and SYSTEMS ANALYSIS Elements and Definitions.
SE 555 Software Requirements & Specification Requirements Analysis.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 10 Slide 1 Formal Specification.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 5 Slide 1 Requirements engineering l The process of establishing the services that the.
S R S S ystem R equirements S pecification Specifying the Specifications.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 10 Slide 1 Critical Systems Specification 3 Formal Specification.
S/W Project Management
Lecture 18: Specifications
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.
Requirements Analysis
SE-02 SOFTWARE ENGINEERING LECTURE 3 Today: Requirements Analysis Requirements tell us what the system should do - not how it should do it. Requirements.
1 REQUIREMENT ENGINEERING Chapter 7. 2 REQUIREMENT ENGINEERING Definition Establishing what the customer requires from a software system. OR It helps.
Software System Engineering: A tutorial
ECE450 – Software Engineering II
Software Models (Cont.) 9/22/2015ICS 413 – Software Engineering1 -Component-based software engineering -Formal Development Model.
Requirements Elicitation. Who are the stakeholders in determining system requirements, and how does their viewpoint influence the process? How are non-technical.
Introduction to Formal Methods Based on Jeannette M. Wing. A Specifier's Introduction to Formal Methods. IEEE Computer, 23(9):8-24, September,
Software Requirements Hoang Huu Hanh, Hue University hanh-at-hueuni.edu.vn Lecture 4 & 5.
WXGE6103 Software Engineering Process and Practice Formal Specification.
Approaching a Problem Where do we start? How do we proceed?
9/01RUT1 NASA OSMA SAS '01 R equirements U se case T ool James R. McCoy SRS Information Services NASA Software Assurance Technology Center
Yarmouk University Department of Computer Information Systems CIS 499 Yarmouk University Department of Computer Information Systems CIS 499 Yarmouk University.
1 Software Requirements l Specifying system functionality and constraints l Chapters 5 and 6 ++
L To identify the services that the customer requires from a system and the constraints under which it operates and is developed.
1 Quality Attributes of Requirements Documents Lecture # 25.
Formal Methods in Software Engineering Credit Hours: 3+0 By: Qaisar Javaid Assistant Professor.
Requirement Engineering. Recap Elaboration Behavioral Modeling State Diagram Sequence Diagram Negotiation.
© 2006 Pearson Addison-Wesley. All rights reserved 2-1 Chapter 2 Principles of Programming & Software Engineering.
Software Requirements
Software Requirements Specification (SRS)
System Requirements Specification
Software Requirements Specification Document (SRS)
Requirements Analysis
Requirement engineering & Requirement tasks/Management. 1Prepared By:Jay A.Dave.
21/1/ Analysis - Model of real-world situation - What ? System Design - Overall architecture (sub-systems) Object Design - Refinement of Design.
Software Engineering, COMP201 Slide 1 Software Requirements BY M D ACHARYA Dept of Computer Science.
Software Engineering Lecture 10: System Engineering.
Requirement Elicitation Review – Class 8 Functional Requirements Nonfunctional Requirements Software Requirements document Requirements Validation and.
Introduction to Software Engineering 1. Software Engineering Failures – Complexity – Change 2. What is Software Engineering? – Using engineering approaches.
Dillon: CSE470: ANALYSIS1 Requirements l Specify functionality »model objects and resources »model behavior l Specify data interfaces »type, quantity,
1 Software Requirements Descriptions and specifications of a system.
 System Requirement Specification and System Planning.
Formal Specification.
Chapter 4 – Requirements Engineering
Chapter 4 – Requirements Engineering
Specifications Liskov Chapter 9
System Requirements Specification
Software Requirements analysis & specifications
Requirements Document
Dr. Jiacun Wang Department of Software Engineering Monmouth University
Software Requirements
Software Reviews.
Presentation transcript:

Requirement Specification SRS document is a contract between the development team and the customer How do we communicate the Requirements to others? Firm foundation and baseline for design phase and latter phases Support project management and control evolution of system The SRS document is known as black-box specification SRS have different audiences(Technical and non-technical)

Mapping Requirements to Specifications

Essentials for writing requirements Requirements are read more often than they are written Readers of requirements come from diverse backgrounds Writing clearly and concisely is not easy and is time consuming and cost effective. Different organizations write requirements at different levels of abstraction Writing good requirements requires a lot of analytic thought

Activities of SRS Adopt SRS template Identify sources of requirements Uniquely label each requirement Record business rules Specify functional requirements Specify quality attributes

Specification Principles Separate functionality from implementation Develop model of desired behavior of the system Define the environment in which system operates Create a cognitive model Content & structure of a specifications should be amenable to change

Appropriate Specification Consider two different projects: – A) Tiny project, 1 programmer, 2 months work – programmer talks to customer, then writes up a 2-page memo – B) Large project, 50 programmers, 2 years work – team of analysts model the requirements, then document them in a 500-page SRS Project AProject B Purpose of spec Crystallizes programmer’s understanding; feedback to customer Build-to document; must contain enough detail for all the programmers Management view Spec is irrelevant; have already allocated resources Will use the spec to estimate resource needs and plan the development

Benefits of SRS Forces the users to consider their specific requirements carefully Enhances communication between the Purchaser and System developers Provides a firm foundation for the system design phase Enables planning of validation, verification, and acceptance procedures Enables project planning e.g. estimates of cost and time, resource scheduling Usable during maintenance phase

SRS Standards ANSI/IEEE SRS Standard BS 6719: 1986 European Space Agency Standards (ESA PSS-05-0, Jan 1987) US DoD-Std-7935A NASA Standard Canadian Standard(Z ) Vlore Standard

Specification Techniques Informal Specifications Semi-formal ( graphical, tabular) Formal Specifications Algebraic approach –The system is specified in terms of its operations and their relationships Model-based approach –The system is specified in terms of a state model that is constructed using mathematical constructs such as sets and sequences. –Operations are defined by modifications to the system’s state

Informal Specifications Textual descriptions and informal diagrams are easy for understanding These specifications are often ambiguous, imprecise and lengthy They lack support of abstraction and there is minimal or no automated tool support for such specifications

Semi-formal Specifications Most of the semiformal specifications are based on UML The specifications based on UML are supported by different tools They do not provide information on high level concepts such as intent, usability and consequences

Formal Specifications Formal specification is part of a more general collection of techniques that are known as formal methods Formal specification forces an very details analysis of the system requirements at an early stage. Correcting errors at this stage is cheaper. Formal methods include – Formal specification – Specification analysis and proof – Transformational development – Program verification

Use of formal methods Their principal benefits are in reducing the number of errors in systems so their main area of applicability is critical systems: – Air traffic control information systems, – Railway signalling systems – Spacecraft systems – Medical control systems In this area, the use of formal methods is most likely to be cost-effective

Z (“zed”) Notation Formal specification language –most successful one -> easy to find faults, can prove correctness Requires set theory, functions, & discrete math – difficult to learn because of special symbols Z specifications consists of 4 sections –given sets, data types, and constants sets that get defined in detail –state definition variable declarations & predicates that constrain values –initial state –operations

Specification in Z Scenario: We maintain a membership list and an associated phone database. [Person, Phone] |----PhoneDB |members: P Person (‘set of’ person) |phones : Person  Phone (relation) | |dom phones ⊆ members (invariant) |

Example members  {jim, sue} phones {(jim, 1231), (sue, 3956)} Assign(alice, 1231)

Specification in the software process

Development costs with formal specification

Requirements document structure Preface Introduction Glossary User requirements definition System architecture System requirements specification System models System evolution Appendices Index

Requirement Specification Checklist – Do stated goals and objectives for software remain consistent with system goals and objectives? – Have important interfaces to all system elements been described? – Have all data objects been described? Have all attributes been identified? – Do major functions remain within scope and has each been adequately described? – Have functions been refined (elaborated) to an appropriate level of detail? – Is information flow adequately defined for the problem domain? – Are diagrams clear; can each stand alone without supplementary text? – Is the behavior of the software consistent with the information it must process and the functions it must perform?

Requirement Specification Checklist – Have events and states been identified? – Are design constraints realistic? – Have technological risks been fully defined? – Have alternative software requirements been considered? – Have validation criteria been stated in detail; are they adequate to describe a successful system? – Have inconsistencies, omissions or redundancy been identified and corrected? – Is the customer contact complete? – Has the user reviewed the Preliminary User's Manual or prototype? – How are the Software Project Plan estimates affected?

What not to include in SRS Project development plans Staffing, Methods, Tools etc. Product quality assurance plans – Configuration Management, Verification & Validation Designs information – Requirements and designs have different audiences

Characteristics of good requirement specification documents Complete – Description of all major requirements relating to functionality, performance etc. Consistent – A software requirement specification is consistent if none of the requirements conflict Traceable – Origin and all references are available Unambiguous – Having two or more meanings Verifiable – All requirements are verifiable