Вы находитесь на странице: 1из 51

BY Touseef Tahir touseeftahir@ciitlahore.edu.

pk

What are software requirements Why software requirements are important Levels of software requirements Categories of software requirements Requirement elicitation techniques Requirement specification in natural language

CIIT Lahore

3/24/2013

Software engineering Software engineering phases Software development life cycle

CIIT Lahore

3/24/2013

A set or arrangements of elements that are organized to accomplish some predefined goal by processing information. And the goal may be a business function or to develop a product function.

3/24/2013

Business Engineering Product Engineering ****System**** Requirement Engineering

Ananalysis
3/24/2013 5

What are the system elements?


Software Hardware People Database Documentation Procedures

3/24/2013

World View (Domains)


Domain View (Elements) Elements View( Sub elements)

3/24/2013

1)
2) 3) 4)

Vision Definition Development Maintenance


Vision Definition

focus focus focus focus

on on on on

why what how change


Maintenance

Development

CIIT Lahore

3/24/2013

Requirements are ... A specification of what should be implemented. They are descriptions of how the system should behave, or of a system property or attribute. They may be a constraint on the development process of the system. - Somerville 1997

CIIT Lahore

3/24/2013

Requirements definition
A statement in natural language plus diagrams of the services the system provides and its operational constraints. Written for customers

Requirements specification

A structured document setting out detailed descriptions of the system services. Written as a contract between client and contractor.

For customers + developers

CIIT Lahore

3/24/2013

10

Requirement Elicitation Requirement Analysis & Negotiation Requirement Specification System Modeling Requirement Validation Requirement Management

3/24/2013

11

Project Planning Construction Process Project Tracking

Software Requirements

User Documentation

Change Control

System Testing
3/24/2013 12

Business Requirements

Vision and Scope Document

User Requirements

Quality Attributes

Use Case Document

Other Non Functional Requirements

System Requirements

Functional Requirements

Constraints

Functional Specification Document

3/24/2013

13

A survey on 8000 software projects


Most of the projects failed due to incomplete requirements

Cost to fix software errors


Requirements Design code Testing 1.0 5.0 10.0 30.0

CIIT Lahore

3/24/2013

14

CIIT Lahore

3/24/2013

15

Business

requirements

User/customer

requirements

Functional requirements Non-functional requirements

CIIT Lahore

3/24/2013

16

Business Requirements

Represent high level objectives of the organization or customer requesting the system or product Captured in a document describing the project vision and scope. All user requirements must align with business requirements

CIIT Lahore

3/24/2013

17

An embedded system is to be developed for a kiosk (booth). This system will be sold to the retail stores and will be used by the store customers.

For example, a business requirement to generate maximum revenue from the kiosk would imply the early implementation of features directly associated with selling more products or services to the customer, rather than glitzy features that appeal to only a subset of customers.

CIIT Lahore

3/24/2013

19

BR user will be able to correct spelling errors in a document efficiently.


UR finding spelling errors in the document and decide whether to replace each misspelled word with the one chosen from a list of suggested words. FR
find and highlight misspelled words. Display a dialog box with suggested replacements Making global replacements Spell checker is included as a feature

NFR It must be integrated into the existing wordprocessor which runs on windows platform.
3/24/2013 20

Functional Requirements
Define the software functionalities the developers must build into the product.

CIIT Lahore

3/24/2013

21

Non-Functional Requirements
Regulations Standards Quality attributes

CIIT Lahore

3/24/2013

22

CIIT Lahore

3/24/2013

23

CIIT Lahore

3/24/2013

24

CIIT Lahore

3/24/2013

25

Bespoke requirements

Particular customer

Market Driven Requirements

market segments

CIIT Lahore

3/24/2013

26

...the process of discovering the requirements for a system by communication with stakeholders and through the observation of them in their domain (Tony Gorschek)

CIIT Lahore

3/24/2013

27

Interviews

+ Getting to know the present (domain, problems) and ideas for future systems - Hard to see the goals and critical issues, subjective

Group interviews
+ Stimulate each other, complete each other. - Censorship, domination (some people may not get attention)

CIIT Lahore

3/24/2013

28

Observation

+ Map current work, practices, processes - Critical issues seldom captured (e.g. you have to be observing when something goes wrong), usability issues seldom captured, time consuming

CIIT Lahore

3/24/2013

29

Task

demonstrations

+ Clarify what is done and how, current work. - Your presence and questions may influence the user, critical issues seldom captured, usability problems hard to capture

CIIT Lahore

3/24/2013

30

Questionnaires
+ Gather information from many users (statistical indications, views, opinions) - Difficult to construct good questionnaires, questions often interpreted differently, hard to classify answers in open questions and closed questions may be too narrow

CIIT Lahore

3/24/2013

31

Brainstorming

+ Many ideas (none are rejected) - Many ideas (have to be sorted and prioritized), hard to create a good atmosphere, hard to get everybody involved, small groups, time consuming

CIIT Lahore

3/24/2013

32

Use

cases and Scenarios

+ Concentration on the specific (rather than the general) which can give greater accuracy - Solution oriented (rather than problem oriented),can result in a premature design of the interface between the problem domain and the solution

CIIT Lahore

3/24/2013

33

Prototyping
+ Visualization, stimulate ideas, usability centered, (can be combined with e.g. use cases) - Solution oriented (premature design), is it already done?!

CIIT Lahore

3/24/2013

34

Natural language specification


RFC(Request For Comments) 2119

Memorandum published by the Internet Engineering Task Force (IETF) Internet Engineering Task Force

CIIT Lahore

3/24/2013

35

Requirement specification in natural language pose some problems which include Lack of clarity Requirements confusion Requirements amalgamation

CIIT Lahore

3/24/2013

36

Complete Feasible Unambiguous Verifiable prioritized Traceable Consistent Not design Not combined Correct

CIIT Lahore

3/24/2013

37

Requirement
The system shall play the sound alarm when the door is opened. The system shall play the sound C:\alarm.wav once, at the highest volume setting in the main speaker for the building X when the door Y opens.

CIIT Lahore

3/24/2013

38

Requirement (Amalgamation)
When a user has entered the building, this shall be registered in the entry log and the users computer shall be booted. When a user has entered the building, this shall be registered in the entry log. When a user has entered the building, the users computer shall be booted. The system shall register in the entry log when a user has entered the building.

CIIT Lahore

3/24/2013

39

Implementable with current technical support Reality check while requirement elicitation

CIIT Lahore

3/24/2013

40

Assign an implementation priority Releases and software versions


Microsoft word and notepad

Methods of prioritization
E-g 100 dollar method

CIIT Lahore

3/24/2013

41

Requirement
The system shall respond quickly to user interaction. The system shall respond to user interaction within maximum 2 seconds, minimum 0.2 seconds, average 1 second (with a CPU load of 0.5).

CIIT Lahore

3/24/2013

42

Requirement
R11: When a user enters a correct code, the door shall open. When a user enters the code associated with him/her on keypad K2 the door D2 shall unlock and remain unlocked for 30 seconds.

CIIT Lahore

3/24/2013

43

Backward-traceability Links requirements to their sources in other documents or people Forward-traceability Links requirements to the design and implementation components

CIIT Lahore

3/24/2013

44

No conflict
Example
System must monitor all temperatures in a chemical reactor. System should only monitor and log temperatures below -200 C and above 4000 C.

CIIT Lahore

3/24/2013

45

Any two reader understand the requirement in same way.


Example words such as "always," "never," "all, "or "every. Incomplete lists ending with "etc.," "and/or," and "TBD. Vague words and phrases such as "generally," "normally," "to the greatest extent," and "where practicable."

CIIT Lahore

3/24/2013

46

Software requirements objects and states by Justice Gul M.LIB. Software engineering (7th edition)by Sommerville Human aspects of software engineering by James E. Tomayko and Orit hazzan Introduction to software engineering by ronald J.Leach Software engineering theory and practice(2nd edition) by Shari Lawrence Pfleeger Requirements engineering processes and techniques by Gerald kotonya and Ian sommerville
CIIT Lahore 3/24/2013 47

Assignment 1 Make the group of five members and conduct the interview of a Head librarian. I will act as a head librarian and you will have to ask me the questions in order to know the problems. During a meeting with a customer (me) you shall acquire information about which system the customer wants, and what requirements that the customer poses on this system. You shall plan the customer meeting and prepare how you intend to get the required information from the customer. You shall conduct the meeting in a professional manner. You shall bring a printed paper to the meeting where the names and rollno of all participants are listed.
Assignment 2 Make the observations about the working of manual library system. Identify different stakeholders and different scenarios of working.

CIIT Lahore

3/24/2013

48

Write the requirements (in natural language) for system described. You are designing the software for a railway crossing. A sensor on the rails detects when a train is arriving and lowers the bars over the road. The bars remains lowered until another sensor detects that the train has passed or until a signal from the Railway Control Centre (RCC) is received. If the sensors malfunction, or if the connection to the RCC is lost, the bars are lowered and shall remain lowered until everything is working again and they are reset from the RCC. While the bar is being lowered or raised and while the bar is in its lowered position, lights will flash and a bell will ring

CIIT Lahore

3/24/2013

49

CIIT Lahore

3/24/2013

50

Thank

you

CIIT Lahore

3/24/2013

51

Вам также может понравиться