1 Software Requirements l Specifying system functionality and constraints l Chapters 5 and 6 ++

Slides:



Advertisements
Similar presentations
Software Requirements
Advertisements

Requirements Engineering Process
Software Requirements
Software Requirements
Introduction to Software Engineering Dr. Basem Alkazemi
Introduction to Software Engineering
SWE Introduction to Software Engineering
Software Requirements
7M701 1 Software Engineering Software Requirements Sommerville, Ian (2001) Software Engineering, 6 th edition: Chapter 5
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 6 Slide 1 Software Requirements.
Software Requirements
1 To introduce the concepts of user and system requirements To introduce the concepts of user and system requirements To describe functional and non- functional.
Overview of Software Requirements
7M822 Software Requirements Introduction 7 September 2010.
Software Requirements
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 5 Slide 1 Requirements engineering l The process of establishing the services that the.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 6 Slide 1 Chapter 6 Requirements Engineering Process.
Chapter 4 – Requirements Engineering
المحاضرة الثالثة. Software Requirements Topics covered Functional and non-functional requirements User requirements System requirements Interface specification.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 5 Slide 1 Software Requirements l Descriptions and specifications of a system.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 6 Slide 1 Software Requirements.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 6 Slide 1 Software Requirements.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 6 Slide 1 Requirements Engineering Processes l Processes used to discover, analyse and.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 6 Slide 1 Requirements Engineering Processes l Processes used to discover, analyze and.
©Ian Sommerville Software Engineering Slide 1 Software Requirements l Definition: Description and Specifications of a system l Topics covered: Functional.
Dr. Tom WayCSC Software Requirements CSC 4700 Software Engineering Lecture 2 Based on Sommerville, Chapter 6.
AGU COE/COC Software Engineering CSE 402 / CSC 308 Slide 1 Requirements engineering l The process of establishing the services that the customer requires.
Software Requirements Presented By Dr. Shazzad Hosain.
소프트웨어공학 강좌 1 Chap 4. Software Requirements - Descriptions and specifications of a system - Soo-Mi Choi
Chapter 4 – Requirements Engineering 1Chapter 4 Requirements engineering.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 7 Slide 1 Requirements Engineering Processes.
Chapter 4 – Requirements Engineering Lecture 3 1Chapter 4 Requirements engineering.
Software Requirements Hoang Huu Hanh, Hue University hanh-at-hueuni.edu.vn Lecture 4 & 5.
Requirements Reference: Chapters 5, 6, & 8. CMSC 345, Fall Objectives To introduce the concepts of user and system requirements To explain functional.
Yarmouk University Department of Computer Information Systems CIS 499 Yarmouk University Department of Computer Information Systems CIS 499 Yarmouk University.
Requirements Engineering Overview Senior Design Don Evans.
IS550: Software requirements engineering Dr. Azeddine Chikh 2. Functional and non-functional requirements.
Chapter 6+7 in textbook 1 Chapter 4 Software Requirements 1.
Chapter 4 Software Requirements
SOFTWARE REQUIREMENT ANALYSIS AND SPECIFICATION. What is a requirement? It may range from a high-level abstract statement of a service or of a system.
L To identify the services that the customer requires from a system and the constraints under which it operates and is developed.
Requirements Engineering Lesson 2. Terminologies:  Software Acquisition is where requirement engineering significantly meets business strategy.  Software.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 7 Slide 1 Requirements Engineering Processes.
Week 3: Requirement Analysis & specification
Requirements Analysis
Requirements engineering The process of establishing the services that the customer requires from a system and the constraints under which it operates.
CS223: Software Engineering Lecture 7: Requirement Engineering.
Chapter 4 – Requirements Engineering Lecture 1 The hardest part of the software task is arriving at a complete and consistent specification, and much of.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 5 Slide 1 Software Requirements l Descriptions and specifications of a system.
Chapter 4 Requirements Engineering (1/3) Yonsei University 2 nd Semester, 2015 Sanghyun Park.
Software Engineering, COMP201 Slide 1 Software Requirements BY M D ACHARYA Dept of Computer Science.
Requirement Elicitation Review – Class 8 Functional Requirements Nonfunctional Requirements Software Requirements document Requirements Validation and.
 The processes used for RE vary widely depending on the application domain, the people involved and the organisation developing the requirements.  However,
1 Software Requirements Descriptions and specifications of a system.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 6 Slide 1 Software Requirements (utvalgte foiler fra Kap 6 og 7 i Sommerville)
Lecturer: Eng. Mohamed Adam Isak PH.D Researcher in CS M.Sc. and B.Sc. of Information Technology Engineering, Lecturer in University of Somalia and Mogadishu.
Chapter 4 Requirements engineering 1 Chapter 4 – Requirements Engineering.
Software Engineering, COMP201 Slide 1 Software Requirements.
Pepper modifying Sommerville's Book slides
Chapter 4 – Requirements Engineering
Requirements Engineering Process
Chapter 4 – Requirements Engineering
Presentation on Software Requirements Submitted by
Chapter 4 Requirements Engineering (1/3)
Chapter 4 – Requirements Engineering
Chapter 5 – Requirements Engineering
Software Requirements
SNS College of Engineering Coimbatore
Chapter 4 Software Requirements
Subject Name: SOFTWARE ENGINEERING Subject Code:10IS51
Presentation transcript:

1 Software Requirements l Specifying system functionality and constraints l Chapters 5 and 6 ++

2 Requirements engineering l Requirements engineering (or requirements analysis) is the process of establishing: the services that the customer requires from a system the constraints under which it operates and is developed l A requirement may range from a high-level abstract statement of a service or constraint to a detailed mathematical expression l Failure here is a major cause of software development failures.

3 Types of requirements l User requirements statements in natural language plus diagrams written for customers l System requirements detailed, structured descriptions of system services written as a contract between client and contractor l Software design specification even more detail – can serve as a basis for a design written for developers

4 Requirement classification l Functional requirements statements of services the system should provide they describe how the system should react to particular inputs and how it should behave in particular situations might include user interface issues l Constraints constraints on the services offered by the system timing constraints, standards, development processes

5 Functional requirements examples l The user shall be able to search either all of the initial set of databases or select a subset from that set to search. l The system shall provide the viewers listed in Appendix B: Supported Viewer Software, for the user to read documents in the document store. l Every order shall be allocated a unique identifier which the user shall be able to copy to the account’s permanent storage area.

6 Process activities l Domain understanding l Requirements discovery or elicitation l Analysis and conflict resolution l Classification, Prioritization l Specification l Verification

7 Requirements Discovery l Involves technical staff working with customers to find out about the application domain, the services that the system should provide and the system’s operational constraints l May involve various stakeholders: end-users, managers, engineers involved in maintenance, domain experts, trade unions, etc.

8 Why is it difficult? l Client doesn’t know what they really want l Client underestimates importance l Client makes assumptions l Producer not familiar with application area l Different stakeholders may have conflicting requirements l Difficult client/producer chemistry l The requirements change during the analysis process

9 Be wary of runaway requirements l Do not allow scope creep l Be aware of “kitchen sink” user approach l Elicit justification of requirements l Reject if not plausible or cost/benefit high

10 Methods of Discovery Should use a well-defined methodical approach: l Introspection l Elicitation Interviews Observation (Ethnography) Protocol Analysis l Viewpoint Oriented l Prototypes

11 The requirements document l The requirements document is the official statement of what is required of the system developers l It is read by a variety of stakeholders (people interested in the system and its development) l It is not a design document l As much as possible, it should specify what the system should do rather than how it should do it

12 IEEE requirements standard l Defines a generic structure for a requirements specification: Introduction Purpose, Scope, Definitions, References, Overview General description Perspective, Functions, User, Constraints Specific requirements Appendices Index

13 Specific Requirements (IEEE) l Include functional, interface, performance, design constraints, quality attributes, etc. l Each functional should include overview inputs processing outputs exceptions

14 Alternatives to natural language l Structured natural language standard templates l Program design language (PDL) like a programming language, but more abstract l Graphical notation diagrams with text annotations l Mathematical specification formal and precise (ex: finite state machine)

15 Form-based specification

16 Structured presentation

17 The VORD process model l Viewpoint identification l Viewpoint structuring l Viewpoint documentation l Viewpoint-system mapping

18 Scenarios l Scenarios are descriptions of how a system is used in practice l They are helpful in requirements elicitation as people can relate to these more readily than abstract statement of what they require from a system l Scenarios can be included in a user oriented requirements document.

19 Scenario descriptions l The description of a scenario includes: System state at the beginning of the scenario Normal flow of events in the scenario What can go wrong and how this is handled Other concurrent activities System state on completion of the scenario

20 Use cases l Use cases are a scenario-based technique in UML which identify the actors in an interaction and which describe the interaction itself l A set of use cases should describe all possible interactions with the system l Sequence diagrams may be used to add detail to use cases by showing the sequence of event processing in the system

21 Catalog management

22 Desirable Properties of the SRS and of requirements themselves l Usable l Complete and Consistent l Well structured l Traceable and Verifiable l Annotated in appropriate ways l Good technical writing used

23 Usable l Correct! l Understandable l Achievable l Design Independent l At Right Level of Detail

24 Complete and Consistent l In principle requirements should be both complete and consistent l Complete – they should include descriptions of all facilities required l Consistent – there should be no conflicts or contradictions in the descriptions l In practice, for large systems, it is almost impossible to produce a complete and consistent requirements document

25 Well Structured l Standard organization l Modifiable Layout Limit Redundancy l Indexed (automated?)

26 Traceable l Traceability is concerned with the relationships between requirements, their sources and the design l Source traceability Links from requirements to stakeholders who proposed these requirements l Requirements traceability Links between dependent requirements l Design traceability Design Document can reference the requirements separately

27 Verifiable l Goals can be fuzzy. Requirements should not be. There should exist a finite, cost-effective way to check each one. l A system goal The system should be easy to use by experienced controllers and should be organized in such a way that user errors are minimized. l A verifiable non-functional requirement Experienced controllers shall be able to use all the system functions after a total of two hours training. After this training, the average number of errors made shall not exceed two per day. l Defining verifiable requirements can be difficult.

28 Requirements measures

29 Annotated Appropriately l by relative importance must, should, could l by relative stability l by version

30 Use Good Technical Writing l Unambiguous l Concise l and so on …..