[06] Software Requirements

download [06] Software Requirements

of 22

Transcript of [06] Software Requirements

  • 8/12/2019 [06] Software Requirements

    1/22

    Software Engineering

    Chapter 6

    Software requirements

    Ku-Yaw Chang

    [email protected]

    Assistant ProfessorDepartment of Computer Science and Information Engineering

    Da-Yeh University

    mailto:[email protected]:[email protected]
  • 8/12/2019 [06] Software Requirements

    2/22

    2Ku-Yaw Chang Software Requirements

    Objectives

    Understand the concepts of user requirements

    and system requirements and why these

    requirements should be written in different ways

    Understand the differences between functionaland non-functional software requirements

    Understand how requirements may be

    organized in a software requirements document

  • 8/12/2019 [06] Software Requirements

    3/22

    3Ku-Yaw Chang Software Requirements

    Preamble

    Requirements

    Descriptions of the services provided by the system

    and its operational constraints

    Requirements engineering (RE) The process of finding out, analyzing, documenting

    and checking these services and constraints

  • 8/12/2019 [06] Software Requirements

    4/22

    4Ku-Yaw Chang Software Requirements

    Preamble

    Different level of descriptions

    User requirements

    Statements of what services the system is expected to

    provide and the constraints under which it must operate

    In a natural language plus diagrams

    System requirements

    Set out the systems functions, services and operational

    constraints in detail

    Should be precise, also called functional specification

    Define exactly what is to be implemented

  • 8/12/2019 [06] Software Requirements

    5/22

    5Ku-Yaw Chang Software Requirements

    Preamble

    User requirement definition

    1. LIBSYS shall keep track of all data required

    by copyright licensing agencies in the UK and

    elsewhere

  • 8/12/2019 [06] Software Requirements

    6/22

    6Ku-Yaw Chang Software Requirements

    Preamble

    System requirement definition1.1 On making a request for a document from LIBSYS, the

    requestor shall be presented with a form that records details ofthe user and the request made.

    1.2 LIBSYS request forms shall be stored on the system for fiveyears from the date of the request.

    1.3 All LIBSYS request forms must be indexed by user, by thename of the material requested and by the supplier of therequest.

    1.4 LIBSYS shall maintain a log of all requests that have been

    made to the system.1.5 For material where authors lending rights apply, loan details

    shall be sent monthly to copyright licensing agencies that haveregistered with LIBSYS.

  • 8/12/2019 [06] Software Requirements

    7/22

    7Ku-Yaw Chang Software Requirements

    Readers of

    different types of specification

    User

    requirements

    Client managers

    System end-users

    Client engineers

    Contractor managersSystem architects

    Systemrequirements

    System end-users

    Client engineersSystem architects

    Software developers

  • 8/12/2019 [06] Software Requirements

    8/22

    8Ku-Yaw Chang Software Requirements

    Contents

    6.1 Functional and non-functional requirements

    6.2 User requirements

    6.3 System requirements

    6.4 Interface specification

    6.5 The software requirements document

    6.6 Exercises

  • 8/12/2019 [06] Software Requirements

    9/22

    9Ku-Yaw Chang Software Requirements

    6.1 Functional and non-functional

    requirements

    Functional requirements Statements of services

    the system should provide

    how the system should react to particular inputs

    how the system should behave in particular situationsNon-functional requirements Constraints on the services or functions offered by the

    systemtiming constraints

    constraints on the development process, standards, etc.Domain requirements From the application domain of the system and that

    reflect characteristics of that domain

  • 8/12/2019 [06] Software Requirements

    10/22

    10Ku-Yaw Chang Software Requirements

    6.1.1 Functional requirements

    Examples for a university library system called

    LIBSYS

    1. The user shall be able to search either all of the initial

    set of databases or select a subset from it.2. The system shall provide appropriate viewers for the

    user to read documents in the document store.

    3. Every order shall be allocated a unique identifier

    (ORDER_ID), which the user shall be able to copy tothe accounts permanent storage area.

  • 8/12/2019 [06] Software Requirements

    11/22

    11Ku-Yaw Chang Software Requirements

    6.1.2 Non-functional requirements

    Performance

    requir e ments

    Space

    requir ements

    Usability

    re quir em ents

    Effic iency

    requir ements

    Re lia bility

    re quir em ents

    Portab ility

    requir e ments

    Inter oper a bility

    requir e ments

    Ethical

    requir ements

    Legislative

    requir e ments

    Im plem enta tion

    requir e ments

    Sta ndar ds

    requir e ments

    Delivery

    requir e ments

    Safety

    requir e ments

    Privacy

    requir ements

    Product

    re quir em ents

    Org anisa tional

    requir e ments

    External

    requir ements

    Non-f unctiona l

    requir e ments

  • 8/12/2019 [06] Software Requirements

    12/22

    12Ku-Yaw Chang Software Requirements

    Examples of

    non-functional requirementsProduct requirement 8.1 The user interface for LIBSYS shall be

    implemented as simple HTML without frames or javaapplets

    Organizational requirement 9.3.2 The system development process and

    deliverable documents shall conform to the processand deliverables defined in XYZCo-SP-STAN-95.

    External requirement 10.6 The system shall not disclose any personal

    information about system users apart from their nameand library reference number to the library staff whouse the system.

  • 8/12/2019 [06] Software Requirements

    13/22

    13Ku-Yaw Chang Software Requirements

    Metrics for specifying

    non-functional requirementsPrope rty Me asure

    Speed Processed transactions/second

    User/Event response time

    Screen refresh time

    Size M Bytes

    Number of ROM chips

    Ease of use Training timeNumber of help frames

    Reliability Mean time to failure

    Probability of unavailability

    Rate of failure occurrence

    Availability

    Robustness T ime to restart after failure

    Percentage of events causing failure

    Probability of data corruption on failure

    Portability Percent age of target dependent st atements

    Number of target systems

  • 8/12/2019 [06] Software Requirements

    14/22

    14Ku-Yaw Chang Software Requirements

    6.1.3 Domain requirements

    Be derived from the application domain Not from the specific needs of system users

    Reflect fundamentals of the application domain

    Examples There shall be a standard user interface to all

    databases that shall be based on the Z39.50 standard.

    Because of copyright restrictions, some documentsmust be deleted immediately on arrival. Depending onthe user requirements, these documents will either beprinted locally on the system server for manualforwarding to the user or routed to a network printer.

  • 8/12/2019 [06] Software Requirements

    15/22

    15Ku-Yaw Chang Software Requirements

    Contents

    6.1 Functional and non-functional requirements

    6.2 User requirements

    6.3 System requirements

    6.4 Interface specification

    6.5 The software requirements document

    6.6 Exercises

  • 8/12/2019 [06] Software Requirements

    16/22

    16Ku-Yaw Chang Software Requirements

    User requirements

    Describe the functional and non-functional

    requirements

    Be understandable by system users without detailed

    technical knowledgeShould

    Simple language, simple tables and forms and

    intuitive diagrams

    Should not Software jargon, structured notations or formal

    notations, system implementation

  • 8/12/2019 [06] Software Requirements

    17/22

    17Ku-Yaw Chang Software Requirements

    User requirements

    Various problems

    Lack of clarity

    Requirements confusion

    Requirements amalgamation

  • 8/12/2019 [06] Software Requirements

    18/22

    18Ku-Yaw Chang Software Requirements

    A user requirement for

    an accounting system in LIBSYS

    4.5

    LIBSYS shall provide a financial accounting

    system that maintains records of all payments

    made by users of the system. System managersmay configure this system so that regular users

    may receive discounted rates.

  • 8/12/2019 [06] Software Requirements

    19/22

    19Ku-Yaw Chang Software Requirements

    Contents

    6.1 Functional and non-functional requirements

    6.2 User requirements

    6.3 System requirements

    6.4 Interface specification

    6.5 The software requirements document

    6.6 Exercises

  • 8/12/2019 [06] Software Requirements

    20/22

    20Ku-Yaw Chang Software Requirements

    Contents

    6.1 Functional and non-functional requirements

    6.2 User requirements

    6.3 System requirements

    6.4 Interface specification

    6.5 The software requirements document

    6.6 Exercises

  • 8/12/2019 [06] Software Requirements

    21/22

    21Ku-Yaw Chang Software Requirements

    Contents

    6.1 Functional and non-functional requirements

    6.2 User requirements

    6.3 System requirements

    6.4 Interface specification

    6.5 The software requirements document

    6.6 Exercises

  • 8/12/2019 [06] Software Requirements

    22/22

    22Ku-Yaw Chang Software Requirements

    Contents

    6.1 Functional and non-functional requirements

    6.2 User requirements

    6.3 System requirements

    6.4 Interface specification

    6.5 The software requirements document

    6.6 Exercises