System Requirements Phase (See also Sommerville Section 6.3)

Slides:



Advertisements
Similar presentations
Andrea Maurino Web Service Design Methodology Batini, De Paoli, Maurino, Grega, Comerio WP2-WP3 Roma 24/11/2005.
Advertisements

Technical System Options
Project Analysis Course ( ) Final Project Report Overview.
Figures – Chapter 4.
Software Quality Assurance Plan
Software Modeling SWE5441 Lecture 3 Eng. Mohammed Timraz
CS 411W - Notes Product Development Documentation.
WKES 3202 SOFTWARE REQUIREMENTS ENGINEERING SEMESTER 1 SESSION 2004/2005.
Analysis Stage (Phase I) The goal: understanding the customer's requirements for a software system. n involves technical staff working with customers n.
A summary of the PSS-05 URD template
Software Engineering CSE470: Requirements Analysis 1 Requirements Analysis Defining the WHAT.
1 Lecture 5 Introduction to Software Engineering Overview  What is Software Engineering  Software Engineering Issues  Waterfall Model  Waterfall Model.
SE 555 – Software Requirements & Specifications Introduction
1 REQUIREMENTS ENGINEERING and SYSTEMS ANALYSIS Elements and Definitions.
1 CMPT 275 Software Engineering Requirements Analysis Process Janice Regan,
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.
Requirements Engineering
Introduction to Computer Technology
Requirements Elicitation. Requirement: a feature or constraint that the system must satisfy Requirements Elicitation: specification of the system that.
Introduction to Software Quality Assurance (SQA)
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.
Chapter 4 – Requirements Engineering
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.
An Introduction to Software Architecture
Requirements Engineering How do we keep straight what we are supposed to be building?
Software Requirements Engineering CSE 305 Lecture-2.
Software Engineering – University of Tampere, CS DepartmentJyrki Nummenmaa REQUIREMENT SPECIFICATION Today: Requirements Specification.
Product Documentation Chapter 5. Required Medical Device Documentation  Business proposal  Product specification  Design specification  Software.
Approaching a Problem Where do we start? How do we proceed?
Lecture 7: Requirements Engineering
1 15 quality goals for requirements  Justified  Correct  Complete  Consistent  Unambiguous  Feasible  Abstract  Traceable  Delimited  Interfaced.
Systems Analysis and Design in a Changing World, Fourth Edition
1 Software Requirements l Specifying system functionality and constraints l Chapters 5 and 6 ++
CONTENTS OF THE SRS REPORT. Software Requirements Specification (SRS) template The SRS document describes recommended approaches for the specification.
LESSON 3. Properties of Well-Engineered Software The attributes or properties of a software product are characteristics displayed by the product once.
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.
Architecture View Models A model is a complete, simplified description of a system from a particular perspective or viewpoint. There is no single view.
System Requirements Specification
Software Requirements Specification Document (SRS)
Requirements Analysis
21/1/ Analysis - Model of real-world situation - What ? System Design - Overall architecture (sub-systems) Object Design - Refinement of Design.
Software Development Process CS 360 Lecture 3. Software Process The software process is a structured set of activities required to develop a software.
Dillon: CSE470: ANALYSIS1 Requirements l Specify functionality »model objects and resources »model behavior l Specify data interfaces »type, quantity,
Testing throughout Lifecycle Ljudmilla Karu. Verification and validation (V&V) Verification is defined as the process of evaluating a system or component.
 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.
Chapter 4 – Requirements Engineering Lecture 2 1Chapter 4 Requirements engineering.
Daniel Amyot, University of Ottawa Based on slides by Gunter Mussbacher (2009) and Stéphane Somé (2008) with material from these standards: IEEE ,
Pepper modifying Sommerville's Book slides
Chapter 4 Requirements Engineering (2/3)
Chapter 4 – Requirements Engineering
SOFTWARE TESTING Date: 29-Dec-2016 By: Ram Karthick.
Classifications of Software Requirements
Software Requirements
Course Outcomes of Object Oriented Modeling Design (17630,C604)
Rumbaugh’s Objectmodeling Technique
Quality Management Perfectqaservices.
CSC480 Software Engineering
System Requirements Specification
Engineering Processes
Software Requirements Specification Document
An Introduction to Software Architecture
Software Requirements Specification (SRS) Template.
Requirements Document
Software Requirements
Presentation transcript:

System Requirements Phase (See also Sommerville Section 6.3)

System Requirements Specification A URD is a user-centric description of a product to be developed. In the next phase of a waterfall lifecycle we need a developer-centric description of the product. This is the next phase of our project work.

System Requirements: What? SR is an expanded version of the UR SR add detail and explain how URs can be achieved from a developers perspective The language of SRs is often very technical, class diagrams, sequence diagrams, statecharts etc Can be used as part of the contract

System Requirements: How Ideally SRs should describe the black-box behaviour of the system in terms of its data model and/or API What – but not how (no design) For complex systems this is almost impossible: An initial architecture may be needed to structure discussion and presentation, explore possibilities External systems impose constraints along specific interfaces Non-functional requirements like performance may simply demand specific architectures.

How (continued) Natural language is the basis for reporting, however: – ambiguous “shoes must be worn”, “dogs must be carried” subjective meanings! – overflexible : when are two statements the same? – non-modular: no clear interfaces between text sections, difficult to trace impact of change.

UML We will use UML static notations to describe architecture and data models – Class diagrams – Package diagrams – Use case diagrams We will use UML dynamic models to describe functional behaviour and performance – Sequence diagrams – statecharts

Example:Form-Based Requirement NameCompute Insulin Dose: Safe sugar level DescriptionComputes the does of insulin to be delivered when the current measured sugar level is in the safe zone between 3 and 7 units InputsCurrent sugar level (r2), the previous two readings (r1 and r0) Source Current sugar reading from sensor. Other readings from memory OutputsCompDose – the dose of insulin to be delivered Destination Main control loop ActionCompDose is zero if the sugar level is stable or falling, or if the level is increasing, but the rate of increase is decreasing. If the level is increasing and the rate of increase is increasing then CompDose is computed by dividing the difference between the current sugar level and the previous level by 4 and rounding the result. If the result is rounded to zero then CompDose is set to the minimum dose that can be delivered. RequiresTwo previous readings so that the rate of change of sugar level can be computed. Readings must be taken at fixed regular time intervals of H hours PreConditionThe insulin reservoir contains at least the maximum allowed single dose of insulin PostConditionnew r0 and r1 are replaced by old r1 and r2 respectively ExceptionPatient has special medical condition then raise exception “manual intervention needed” Traceability URD version 1.2: Requirement CompDose and American Physicians Society Insulin Dosage recommendation version 9.1 (1996)

PSS-05 SRD Format (Section 1) SRD table of contents 1 Introduction. Similar to URD Section 1, but set in the context of this SRD report. 1.1 Purpose. See URD Section Scope of the software. May be revised from URD Section 1.2 and updated in the light of feasibility study outcomes, project planning etc. Deviations from the URD (aka. RFCs) must be included and flagged Definitions, acronyms and abbreviations. May extend/delete information from URD Section 1.3. Deviations from the URD must be included and flagged References. May extend/delete information from URD Section Overview of the document. Similar to URD Section 1.5. but describes the SRD. It shall not be assumed that the reader is an end-user. It shall be assumed that the reader is a development team member.

PSS-05 SRD Format (Section 2) 2 General Description 2.1 Relation to current projects. Describes the relationship with other current projects (either customer side or developer side). Customer side could be outsourced component of a larger project. Developer side could be related to similar development work allowing synergies in work, software re-use, etc. 2.2 Relation to predecessor and successor projects. Describes the relationship with past and future projects (either customer side or developer side). Similar to 2.1 above. 2.3 Function and purpose. Describes the main functions the product must perform, gives an overview. (Details are set out in Section 3) Takes a developer-centric approach. 2.4 Environmental considerations. Describes where the product will be used (business environment and/or geographical location), who will use it (job roles, skill levels), who will operate and maintain it, hardware it will run on, operating system required.

PSS-05 SRD Format (Section 2 continued) 2.5 Relation to other systems. Describes related external systems and subsystems. (A revision of URD Section 2.1.) 2.6 General constraints. Describes the main constraints that apply and why they exist. (A revision of URD Section 2.3.) 2.7 Model description. Describes the logical or conceptual model using a recognized analysis method (including a data model). Description shall provide a top level or global description of the model. (Details can be presented in Section 3) This shall be precise: for example the results of an object-oriented analysis of the user requirements from the URD using UML, with data dictionary, role identification, use case analysis and object models/class diagrams. Description may include other kinds of model, such as state machines, flow diagrams, business process analysis, abstract data type model, XML DTDs, tables, formal specifications, etc etc.

PSS-05 SRD Format (Section 3) 3 Specific Requirements. Here we list specific requirements, classified by their attribute type. (Alternatively we can list by functional component type, and group around non-functional attributes of each functional component). This is a matter of taste. 3.1 Functional requirements. Each functional component and what it does. See previous template proposal above. 3.2 Performance requirements. Time, space, load, reliability aspects of relevant functional components. 3.3 Interface requirements. Proposal for global system interface, including GUI. Information organization, product workflow analysis, design philosophy, (may include prototype designs). 3.4 Operational requirements. Minimum levels of functionality and performance to be provided by external systems and subsystems (if any). 3.5 Resource requirements. Platform, OS, network, browser requirements, etc.

PSS-05 SRD Format (Section 3 continued) 3.6 Verification requirements. Plan and methods for internally verifying and validating the system against the SRD based on user evaluation, testing and if necessary formal verification. 3.7 Acceptance testing requirements. Plan and methods for externally verifying that the final system meets the end-user requirements as specified by the URD. 3.8 Documentation requirements. Proposal for a system documentation approach suitable for the job roles and skill levels identified for end users. 3.9 Security requirements. Requirements on data security, global access security, security of external system and overall environment. May include firewall and cryptology techniques, password protection, data encryption, underlying OS security etc.

PSS-05 SRD Format (Section 3 continued) 3.10 Portability requirements. Cross platform compatibility Quality requirements. Includes design quality, software quality, performance quality, report quality, documentation quality, usability quality. Plans and methods to impose quality. Standards for measurement and reporting Reliability requirements. Includes uptime, mean time to failure, accessibility, loading, average performance, worst case performance, etc Maintainability requirements. Standards for code documentation, maintenance handbooks, software commenting standards needed to maintain, repair and upgrade the code Safety requirements. Hazard situations, plans and methods to avoid system failure under hazard. Levels of safety assurance.

PSS-05 SRD Format (Section 3) 4 Traceability matrix. Give a table cross referencing software requirements to user requirements, show influence. UR-1UR-2UR-3UR-4… SR-1x SR-2x SR-3x SR-4x SR-5x SR-6x …