Software Engineering – University of Tampere, CS DepartmentJyrki Nummenmaa REQUIREMENT SPECIFICATION Today: Requirements Specification.

Slides:



Advertisements
Similar presentations
CSC 402 Requirements Engineering 1. 2 Problem Definition Requirements Definition informal statement of need for system natural language statement of what.
Advertisements

Analysis Stage (Phase I) The goal: understanding the customer's requirements for a software system. n involves technical staff working with customers n.
Karolina Muszyńska Based on
1 REQUIREMENTS ENGINEERING and SYSTEMS ANALYSIS Elements and Definitions.
Requirements Gathering : Determining the scope of the system 1. Elicitiation – fact finding 2. Specification 3. Validation.
Software Requirements and the Requirements Engineering Process Chapters 5 and 6.
S R S S ystem R equirements S pecification Specifying the Specifications.
Problem Solving Methodology
The Software Development Life Cycle: An Overview
SOFTWARE REQUIREMENTS SPECIFICATION (SRS)
S/W Project Management
Software Requirements Specification (SRS) Complete description of external behavior of software system Complete description of external behavior.
Typical Software Documents with an emphasis on writing proposals.
Software Engineering – University of Tampere, CS DepartmentJyrki Nummenmaa USE CASES In this lecture: Use cases - What are use.
TESTING.
Software Engineering 2003 Jyrki Nummenmaa 1 REQUIREMENT SPECIFICATION Today: Requirements Specification Requirements tell us what the system should.
Requirements specification Copyright, 2001 © Jerzy R. Nawrocki Quality Management.
SE-02 SOFTWARE ENGINEERING LECTURE 3 Today: Requirements Analysis Requirements tell us what the system should do - not how it should do it. Requirements.
المحاضرة الثالثة. Software Requirements Topics covered Functional and non-functional requirements User requirements System requirements Interface specification.
ITEC224 Database Programming
Software Engineering 2003 Jyrki Nummenmaa 1 CASE Tools CASE = Computer-Aided Software Engineering A set of tools to (optimally) assist in each.
OHTO -99 SOFTWARE ENGINEERING LECTURE 5 Today: - An overview to OO Analysis and OO Design - Introduction of Assignment 2.
1 Chapter 15 Methodology Conceptual Databases Design Transparencies Last Updated: April 2011 By M. Arief
Standard SRS Copyright, 2001 © Jerzy R. Nawrocki Requirements Engineering Lecture.
Some Sub-Activities within Requirements Engineering 1.Prototyping 2.Requirements Documentation 3.Requirements Validation 4.Requirements Measurements 5.Requirements.
Lecture 7: Requirements Engineering
The Systems Development Life Cycle
Requirements as Usecases Capturing the REQUIREMENT ANALYSIS DESIGN IMPLEMENTATION TEST.
9/01RUT1 NASA OSMA SAS '01 R equirements U se case T ool James R. McCoy SRS Information Services NASA Software Assurance Technology Center
CS 4850: Senior Project Fall 2014 Object-Oriented Design.
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.
Requirements Collection By Dr. Gabriel. Requirements A requirement is any function, constraint, or property that the system must provide, meet, or satisfy.
1 Software Requirements l Specifying system functionality and constraints l Chapters 5 and 6 ++
CMSC 345 Fall 2000 Requirements Overview. Work with customers to elicit requirements by asking questions, demonstrating similar systems, developing prototypes,
(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
OHTO -01 SOFTWARE ENGINEERING LECTURE 3 Today: Requirements Analysis Requirements tell us what the system should do - not how it should do it.
Requirements Validation
Requirement Engineering. Recap Elaboration Behavioral Modeling State Diagram Sequence Diagram Negotiation.
Topic 4 - Database Design Unit 1 – Database Analysis and Design Advanced Higher Information Systems St Kentigern’s Academy.
Software Requirements Specification (SRS)
Winter 2007SEG2101 Chapter 31 Chapter 3 Requirements Specifications.
System Requirements Specification
Software Requirements Specification Document (SRS)
ANALYSIS PHASE OF BUSINESS SYSTEM DEVELOPMENT METHODOLOGY.
21/1/ Analysis - Model of real-world situation - What ? System Design - Overall architecture (sub-systems) Object Design - Refinement of Design.
CSC480 Software Engineering Lecture 7 September 16, 2002.
1 SYS366 Week 1 - Lecture 1 Introduction to Systems.
Your Interactive Guide to the Digital World Discovering Computers 2012 Chapter 12 Exploring Information System Development.
Requirement Elicitation Review – Class 8 Functional Requirements Nonfunctional Requirements Software Requirements document Requirements Validation and.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 6 Slide 1 Software Requirements (utvalgte foiler fra Kap 6 og 7 i Sommerville)
Software Engineering Developing Requirements. © Lethbridge/Laganière 2001 Chapter 4: Developing requirements2 4.1 Domain Analysis The process by which.
Advanced Higher Computing Science
An Overview of Requirements Engineering Tools and Methodologies*
Software Requirements and the Requirements Engineering Process
Fundamentals of Information Systems, Sixth Edition
Requirements Engineering (continued)
SYSTEM ANALYSIS AND DESIGN
Systems Analysis and Design
CSC480 Software Engineering
System Requirements Specification
Software Requirements Specification Document
Software Requirements Specification (SRS) Template.
Requirements Engineering Process – 1
Lecture # 7 System Requirements
Requirements Document
Dr. Jiacun Wang Department of Software Engineering Monmouth University
Requirement Analysis.
Requirements Engineering Lecture 6
Presentation transcript:

Software Engineering – University of Tampere, CS DepartmentJyrki Nummenmaa REQUIREMENT SPECIFICATION Today: Requirements Specification Requirements tell us what the system should do - not how it should do it. Requirements are independent of the implementation tools, programming paradigm, etc. However, the requirements are then analysed with the intended implementation methodology in mind.

Software Engineering – University of Tampere, CS DepartmentJyrki Nummenmaa Requirement specification – motivation and basics Requirement specification is generally a crucial phase of an average software project - if it succeeds then a complete failure is unlikely. The requirements specification can be used as a basis for a contract. The requirements specification can (and should) also be eventually used to evaluate if the software fulfills the requirements. As users generally can not work with formal specifications, natural language specifications must or should often be used.

Software Engineering – University of Tampere, CS DepartmentJyrki Nummenmaa Typical Documents Basic textual document, e.g. according to the ANSI/IEEE Standard 830 – will be discussed later. A conceptual model of the domain, which may be already available or built separately. A description of the processes, e.g. a data flow diagram. A textual description of the use cases – will be discussed later.

Software Engineering – University of Tampere, CS DepartmentJyrki Nummenmaa Formal Languages? Usually much too difficult to understand even for an above average user. You may be able to verify the system, but how can you verify the requirements? They are usually used for critical well-defined systems and/or concurrent processing, which is notoriously difficult to handle.

Software Engineering – University of Tampere, CS DepartmentJyrki Nummenmaa Graphical Languages? Examples: - Entity-Relationship (ER) model for conceptual description - Data Flow diagrams for process description - These are, however, often more suitable for analysis and design tasks. Simple languages (like the above) work well in practice In requirement specification, they should be used to model the application domain and the processes. If a domain conceptual model exists, it should be used to accompany the requirements.

Software Engineering – University of Tampere, CS DepartmentJyrki Nummenmaa Good Requirements Specification Qualities Complete Accurate Unambiguous Verifiable (How can you verify ”user friendliness”?) Consistent Modifiable (also the requirements change) Traceable (where has each requirement come from?)

Software Engineering – University of Tampere, CS DepartmentJyrki Nummenmaa Ansi/IEEE Standard Introduction 1.1. Purpose 1.2. Scope 1.3. Definitions, Acronyms and Abbreviations 1.4. References 1.5. Overview 2. General Description 2.1. Product Perspective 2.2. Product Functions 2.3. User Characteristics 2.4. General Constraints 2.5. Assumptions and Dependencies 3. Specific Requirements

Software Engineering – University of Tampere, CS DepartmentJyrki Nummenmaa ANSI/IEEE: Specific requirements 3. Specific requirements 3.1. Functional Requirements 3.2. External Interface Requirements 3.3. Performance Requirements 3.4 Design Constraints Standards Compliance Hardware Limitations … 3.5. Attributes Security Maintainability … 3.6. Other Requirements Data Base …

Software Engineering – University of Tampere, CS DepartmentJyrki Nummenmaa ANSI/IEEE: Specific requirements 3. Specific requirements 3.1. Functional Requirements 3.2. External Interface Requirements 3.3. Performance Requirements 3.4 Design Constraints Standards Compliance Hardware Limitations … 3.5. Attributes Security Maintainability … 3.6. Other Requirements Data Base … 4. Extensions (acceptance criteria, other material...)

Software Engineering – University of Tampere, CS DepartmentJyrki Nummenmaa ANSI/IEEE: Functional Requirements 3.1. Functional Requirements Functional Requirement Introduction Inputs Processing Outputs Functional Requirement 2 … 3.1.n Functional Requirement n A typical way to express the requirements is ”The system shall” – ”Järjestelmän on...” Use cases (coming later) describe functionalities

Software Engineering – University of Tampere, CS DepartmentJyrki Nummenmaa An Alternative Template Go to Pressman’s book’s web pages ( and from their choose ”professional resources” and then and from there you can find work product templates. The one we are looking for is called ”System specification”. Ok, you can go to rspa pages directly as well, but it may be a good idea to check up pressman’s pages as well.

Software Engineering – University of Tampere, CS DepartmentJyrki Nummenmaa Techniques For Getting The Requirements From Users Asking - Interview - Questionnaire - ”Brainstorming” sessions Analysing an existing system - We must understand how the new system will differ from any old such system Analysing the environment - e.g. process analysis Prototyping - Gives best feedback and more formal specifications but can be expensive

Software Engineering – University of Tampere, CS DepartmentJyrki Nummenmaa What can go wrong? / 1 Missing specifications - Happens often - Experience helps - Sometimes it is impossible to notice Contradictions - Do not document the same thing many times - Integrate different users’ views with the users - Sometimes the users disagree strongly. Noise - Do not include material which does not contain relevant information

Software Engineering – University of Tampere, CS DepartmentJyrki Nummenmaa What can go wrong? / 2 Documenting a solution rather than the problem - If the users know some information technology, they want to start solving the problem as they express it. - Many formal (also graphical) methods tend to direct the process into this. Unrealistic requirements - Although we model the problem rather than the solution, it is good to have some idea of what is possible.

Software Engineering – University of Tampere, CS DepartmentJyrki Nummenmaa Who should do requirement specification? Someone who can communicate with the users Someone who has experience Someone who knows similar systems and/or the application area Someone who knows what is possible and how (and how much work is roughly needed).