Software Requirements elicitation and natural language specification - PowerPoint PPT Presentation

About This Presentation
Title:

Software Requirements elicitation and natural language specification

Description:

BY Touseef Tahir touseeftahir_at_ciitlahore.edu.pk Ask a user to perform a task and observe and study what is done, ask questions during. * Gathering of stakeholders and ... – PowerPoint PPT presentation

Number of Views:184
Avg rating:3.0/5.0
Slides: 51
Provided by: Eni75
Category:

less

Transcript and Presenter's Notes

Title: Software Requirements elicitation and natural language specification


1
Software Requirements elicitation and natural
language specification
  • BY
  • Touseef Tahir
  • touseeftahir_at_ciitlahore.edu.pk

2
Lecture Agenda
  • 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

3
Background knowledge
  • Software engineering
  • Software engineering phases
  • Software development life cycle

4
System Definition
  • 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.

5
System Engineering
  • Business Engineering

Product Engineering
System
Requirement Engineering
Ananalysis
6
System Elements
  • What are the system elements?
  • Software
  • Hardware
  • People
  • Database
  • Documentation
  • Procedures

7
System Hierarchy
  • World View (Domains)
  • Domain View (Elements)
  • Elements View( Sub elements)

8
Software Engineering Phases
  • Vision focus on why
  • Definition focus on what
  • Development focus on how
  • Maintenance focus on change

Vision
Definition
Development
Maintenance
9
Software Requirements - Definition
  • 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

10
Requirements Parts (1)
  • 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

11
Requirement Engineering Phases
  • Requirement Elicitation
  • Requirement Analysis Negotiation
  • Requirement Specification
  • System Modeling
  • Requirement Validation
  • Requirement Management

12
Role of Requirements
13
Relationship of Software Requirements
14
Why requirement engineering is important
  • A survey on 8000 software projects
  • Most of the projects failed due to incomplete
    requirements
  • Cost to fix software errors

Requirements 1.0
Design 5.0
code 10.0
Testing 30.0
15
Software Requirement in natural language
16
Levels of software requirements
  • Business requirements
  • User/customer requirements
  • Functional requirements
  • Non-functional requirements

17
An Example of Business Requirements
  • 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.

18
An Example of Business Requirements
  • 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.

19
Kinds of requirements (Spell Checker)
  • BR user will be able to correct spelling errors
    in a document efficiently.
  • Spell checker is included as a feature
  • 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
  • NFR It must be integrated into the existing
    word-processor which runs on windows platform.

20
Levels of software requirements(Cont..)
  • Functional Requirements
  • Define the software functionalities the
    developers must build into the product.

21
Levels of software Requirements(Cont..)
  • Non-Functional Requirements
  • Regulations
  • Standards
  • Quality attributes

22
Non-Functional Requirements(Cont..)
23
Levels of software Requirements(Cont..)
24
Levels of software Requirements(Cont..)
25
Categories of software requirements
  • Bespoke requirements
  • Market Driven Requirements

Particular customer
market segments
26
Software Requirements Elicitation
  • ...the process of discovering the requirements
    for a system by communication with stakeholders
    and through the observation of them in their
    domain
  • (Tony Gorschek)

27
Elicitation Techniques
  • 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)

28
Elicitation techniques (Cont)
  • 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

29
Elicitation techniques (Cont)
  • 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

30
Elicitation techniques (Cont)
  • 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

31
Elicitation techniques (Cont)
  • 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

32
Elicitation techniques (Cont)
  • 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

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

34
Software Requirement Specification
  • Natural language specification
  • RFC(Request For Comments) 2119
  • Memorandum published by the Internet Engineering
    Task Force (IETF)

35
Problems with Natural Languages - 1
  • Requirement specification in natural language
    pose some problems which include
  • Lack of clarity
  • Requirements confusion
  • Requirements amalgamation

36
Software requirement properties
  • Complete
  • Feasible
  • Unambiguous
  • Verifiable
  • prioritized
  • Traceable
  • Consistent
  • Not design
  • Not combined
  • Correct

37
Complete
  • 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.

38
complete(Cont..)
  • 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.

39
Feasible
  • Implementable with current technical support
  • Reality check while requirement elicitation

40
Prioritization
  • Assign an implementation priority
  • Releases and software versions
  • Microsoft word and notepad
  • Methods of prioritization
  • E-g 100 dollar method

41
Verifiable
  • 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).

42
verifiable(Cont..)
  • 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.

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

44
Consistent
  • 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.

45
unambiguous
  • 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."

46
References
  • 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

47
Assignment
  • 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.

48
Assignment
  • 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

49
Questions ?
50
  • Thank you
Write a Comment
User Comments (0)
About PowerShow.com