SlideShare ist ein Scribd-Unternehmen logo
1 von 28
IF2036 Rekayasa Perangkat Lunak
           Software Requirement
                  Sem II 2012/2013
Requirements Engineering
    helps software engineers better understand the problems they
     are trying to solve
    produce a written understanding of the customer's problem
    begins during the software engineering communication activity
     and continues into the modeling activity




    * SEPA 6th ed, Roger S. Pressman


            2                          IF2036 RPL - SW Requirement
What is a Requirement ?
   It may range from a high-level abstract statement of a service or of a
    system constraint to a detailed mathematical functional specification
   Requirements may serve a dual function:
     May be the basis for a bid for a contract - therefore must be open to
      interpretation
     May be the basis for the contract itself - therefore must be defined in detail

    Both these statements may be called requirements




                                                * Software Engineering 7th ed, Ian Sommerville


         3                            IF2036 RPL - SW Requirement
Types of Requirement
   User requirements
       Statements in natural language plus diagrams of the services the system
        provides and its operational constraints
       Written for customers
   System requirements
       A structured document setting out detailed descriptions of the system’s
        functions, services and operational constraints
       Defines what should be implemented so may be part of a contract
        between client and contractor




                                             * Software Engineering 7th ed, Ian Sommerville


        4                          IF2036 RPL - SW Requirement
Definitions and Specifications
      User requir ement definition

        1. The softw are m ust pr ovide a means of representing and
        1. accessing e xternal files cr ea ted b y other tools .


      Sy stem requir ements specification

        1.1 The user should be pr ovided with facilities to define the ty pe of
        1.2 external files .
        1.2 Each e xternal file ty pe ma y have an associa ted tool w hich m a y be
        1.2 applied to the file .
        1.3 Each e xternal file ty pe ma y be repr esented as a specific icon on
        1.2 the user’ s displa y.
        1.4 Facilities should be pr o vided for the icon r epresenting an
        1.2 external file ty pe to be defined b y the user .
        1.5 When a user selects an icon r epr esenting an e xternal file, the
        1.2 effect of that selection is to apply the tool associated with the ty pe of
        1.2 the external file to the file represented by the selected icon.



                                                    * Software Engineering 7th ed, Ian Sommerville
  5                                    IF2036 RPL - SW Requirement
User Requirements
 Should describe functional and non-functional
  requirements in such a way that they are understandable
  by system users who don’t have detailed technical
  knowledge
 User requirements are defined using natural language,
  tables and diagrams as these can be understood by all
  users



                                   * Software Engineering 7th ed, Ian Sommerville


     6                   IF2036 RPL - SW Requirement
Problems with natural language
   Lack of clarity
       Precision is difficult without making the document difficult to read
   Requirements confusion
       Functional and non-functional requirements tend to be mixed-up
   Requirements amalgamation
       Several different requirements may be expressed together




                                            * Software Engineering 7th ed, Ian Sommerville


          7                       IF2036 RPL - SW Requirement
System Requirements
   More detailed specifications of system functions, services and
    constraints than user requirements
   They are intended to be a basis for designing the system
   They may be incorporated into the system contract
   System requirements may be defined or illustrated using system
    models




                                      * Software Engineering 7th ed, Ian Sommerville


     8                      IF2036 RPL - SW Requirement
Functional and Non-Functional Requirements
   Functional requirements
       Statements of services the system should provide, how the system should
        react to particular inputs and how the system should behave in particular
        situations
   Non-functional requirements
       constraints on the services or functions offered by the system such as timing
        constraints, constraints on the development process, standards, etc
   Domain requirements
       Requirements that come from the application domain of the system and that
        reflect characteristics of that domain




                                                * Software Engineering 7th ed, Ian Sommerville


          9                           IF2036 RPL - SW Requirement
Functional Requirements
   Describe functionality or system services
   Depend on the type of software, expected users and
    the type of system where the software is used
   Functional user requirements may be high-level
    statements of what the system should do but
    functional system requirements should describe the
    system services in detail



                                 * Software Engineering 7th ed, Ian Sommerville


      10               IF2036 RPL - SW Requirement
Functional Requirement – Examples
(Library System – LIBSYS)
   The user shall be able to search either all of the initial set of
    databases or select a subset from it
   The system shall provide appropriate viewers for the user to read
    documents in the document store
   Every order shall be allocated a unique identifier (ORDER_ID),
    which the user shall be able to copy to the account’s permanent
    storage area




        11                     IF2036 RPL - SW Requirement
Non-functional Requirements Examples
    (Library System – LIBSYS)
   Product requirement
     8.1 The user interface for LIBSYS shall be implemented as simple HTML
         without frames or Java applets
   Organisational requirement
     9.3.2 The system development process and deliverable documents shall
          conform to the process and deliverables defined in XYZCo-SP-STAN-95
   External requirement
     7.6.5 The system shall not disclose any personal information about customers
          apart from their name and reference number to the operators of the
          system


                                             * Software Engineering 7th ed, Ian Sommerville


        12                         IF2036 RPL - SW Requirement
NF Requirements Measures
Property      Measure
Speed         Processed transactions/second
              User/Event response time
              Screen refresh time
Size          M Bytes
              Number of ROM chips
Ease of use   Training time
              Number of help frames
Reliability   Mean time to failure
              Probability of unavailability
              Rate of failure occurrence
              Availability
Robustness    Time to restart after failure
              Percentage of events causing failure
              Probability of data corruption on failure
Portability   Percentage of target dependent statements
              Number of target systems

                                         * Software Engineering 7th ed, Ian Sommerville

13                         IF2036 RPL - SW Requirement
Requirements Interaction
   Conflicts between different non-functional requirements
    are common in complex systems
   Spacecraft system
            To minimise weight, the number of separate chips in the
             system should be minimised.
            To minimise power consumption, lower power chips should
             be used.
            However, using low power chips may mean that more chips
             have to be used. Which is the most critical requirement?



                                           * Software Engineering 7th ed, Ian Sommerville


        14                       IF2036 RPL - SW Requirement
Domain Requirements
 Derived from the application domain and describe
  system characteristics and features that reflect the
  domain
 Domain requirements can be a new functional
  requirements, constraints on existing requirements or
  define specific computations
 If domain requirements are not satisfied, the system
  may be unworkable


                                 * Software Engineering 7th ed, Ian Sommerville


    15                 IF2036 RPL - SW Requirement
Domain Requirements Problems
   Understandability
        Requirements are expressed in the language of the application
         domain
        This is often not understood by software engineers developing
         the system
   Implicitness
        Domain specialists understand the area so well that they do not
         think of making the domain requirements explicit



                                        * Software Engineering 7th ed, Ian Sommerville


    16                        IF2036 RPL - SW Requirement
Requirements Completeness and Consistency

    In principle, requirements should be both complete and consistent
         Complete; they should include descriptions of all facilities
          required
         Consistent; there should be no conflicts or contradictions in
          the descriptions of the system facilities
    In practice, it is impossible to produce a complete and consistent
     requirements document




                                      * Software Engineering 7th ed, Ian Sommerville


     17                     IF2036 RPL - SW Requirement
Requirements Imprecision
    Problems arise when requirements are not precisely stated
    Ambiguous requirements may be interpreted in different ways by
     developers and users
    Consider the term ‘appropriate viewers’
        User intention - special purpose viewer for each different document type
        Developer interpretation - Provide a text viewer that shows the contents of
         the document




                                              * Software Engineering 7th ed, Ian Sommerville


         18                         IF2036 RPL - SW Requirement
Guidelines for Writing Requirements
 Invent a standard format and use it for all requirements
 Use language in a consistent way. Use shall for mandatory
  requirements, should for desirable requirements
 Use text highlighting to identify key parts of the
  requirement
 Avoid the use of computer jargon




                                   * Software Engineering 7th ed, Ian Sommerville


      19                 IF2036 RPL - SW Requirement
Alternatives to NL specification
Notation             Description
Structured natural   This approach depends on defining standard forms or templates to express the
language             requirements specification.
Design               This approach uses a language like a programming language but with more abstract
description          features to specify the requirements by defining an operational model of the system.
languages            This approach is not now widely used although it can be useful for interface
                     specifications.
Graphical            A graphical language, supplemented by text annotations is used to define the
notations            functional requirements for the system. An early example of such a graphical
                     language was SADT. Now, use-case descriptions and sequence diagrams are
                     commonly used .
Mathematical         These are notations based on mathematical concepts such as finite-state machines or
specifications       sets. These unambiguous specifications reduce the arguments between customer and
                     contractor about system functionality. However, most customers don’t understand
                     formal specifications and are reluctant to accept it as a system contract.

                                                     * Software Engineering 7th ed, Ian Sommerville


     20                                  IF2036 RPL - SW Requirement
The Requirements Document
 The requirements document is the official statement of
  what is required of the system developers
 Should include both a definition of user requirements and
  a specification of the system requirements
 It is NOT a design document.
       As far as possible, it should set of WHAT the system should do
        rather than HOW it should do it




                                           * Software Engineering 7th ed, Ian Sommerville


         21                      IF2036 RPL - SW Requirement
Users of a Requirements Document
                                                    Specify the requirem ents and
                                                    read them to check that they
                                  Sy stem
                                 customers             meet their needs. T hey
                                                       specify changes to the
                                                            requirements



                                                         Use the requirements
                                                     docum ent to plan a bid for
                                 Managers
                                                     the sy stem and to plan the
                                                    sy stem development process



                                  Sy stem              Use the requirem ents to
                                 eng ineers         understand what sy stem is to
                                                            be developed



                                Sy stem test          Use the requirem ents to
                                 eng ineers          develop validation tests for
                                                             the sy stem



                                  Sy stem           Use the requirements to help
                                maintenance          understand the sy stem and
                                 eng ineers         the relationships between its
                                                                  par ts

* Software Engineering 7th ed, Ian Sommerville
            22                                   IF2036 RPL - SW Requirement
IEEE Requirements Standard
   Defines a generic structure for a requirements document that
    must be instantiated for each specific system
       Introduction
       General description
       Specific requirements
       Appendices
       Index




                                          * Software Engineering 7th ed, Ian Sommerville


          23                    IF2036 RPL - SW Requirement
Requirements Document
Structure
      Preface
      Introduction
      Glossary
      User requirements definition
      System architecture
      System requirements specification
      System models
      System evolution
      Appendices
      Index
                                   * Software Engineering 7th ed, Ian Sommerville


  24                     IF2036 RPL - SW Requirement
Requirement Engineering Tasks
   Inception
       software engineers use context-free questions to establish a basic
        understanding of the problem, the people who want a solution, the nature of
        the solution, and the effectiveness of the collaboration between customers and
        developers
   Elicitation
       find out from customers what the product objectives are, what is to be done,
        how the product fits into business needs, and how the product is used on a day
        to day basis
   Elaboration
       focuses on developing a refined technical model of software functions, features,
        and constraints using the information obtained during inception and elicitation




                                                             * SEPA 6th ed, Roger S. Pressman

          25                           IF2036 RPL - SW Requirement
Requirement Engineering Tasks
(2)
     Negotiation
         requirements are categorized and organized into subsets, relations among
          requirements identified, requirements reviewed for correctness,
          requirements prioritized based on customer needs
     Specification
         written work products produced describing the function, performance,
          and development constraints for a computer-based system
     Requirements validation
         formal technical reviews used to examine the specification work products
          to ensure requirement quality and that all work products conform to
          agreed upon standards for the process, project, and products




  26                             IF2036 RPL - SW Requirement
Requirements Checking
      Validity. Does the system provide the functions which best
       support the customer’s needs?
      Consistency. Are there any requirements conflicts?
      Completeness. Are all functions required by the customer
       included?
      Realism. Can the requirements be implemented given available
       budget and technology
      Verifiability. Can the requirements be checked?



                                      * Software Engineering 7th ed, Ian Sommerville


   27                       IF2036 RPL - SW Requirement
Requirements Validation Techniques
     Requirements reviews
          Systematic manual analysis of the requirements
     Prototyping
          Using an executable model of the system to check requirements
     Test-case generation
          Developing tests for requirements to check testabilitys




                                          * Software Engineering 7th ed, Ian Sommerville


      28                        IF2036 RPL - SW Requirement

Weitere ähnliche Inhalte

Was ist angesagt?

The Requirements Process Workshop Presentation
The Requirements Process Workshop PresentationThe Requirements Process Workshop Presentation
The Requirements Process Workshop PresentationIvarsLenss
 
Software Requirements
Software RequirementsSoftware Requirements
Software RequirementsBala Ganesh
 
Sw Requirements Engineering
Sw Requirements EngineeringSw Requirements Engineering
Sw Requirements Engineeringjonathan077070
 
Srs (software requirement specification) in software engineering basics by ra...
Srs (software requirement specification) in software engineering basics by ra...Srs (software requirement specification) in software engineering basics by ra...
Srs (software requirement specification) in software engineering basics by ra...Ram Paliwal
 
Ch19-Software Engineering 9
Ch19-Software Engineering 9Ch19-Software Engineering 9
Ch19-Software Engineering 9Ian Sommerville
 
Software Requrement
Software RequrementSoftware Requrement
Software RequrementSeif Shaame
 
Kelis king - introduction to s.e.
Kelis king -  introduction to s.e.Kelis king -  introduction to s.e.
Kelis king - introduction to s.e.KelisKing
 
Software requirement specification
Software requirement specificationSoftware requirement specification
Software requirement specificationAndhra University
 
Software Requirement Specification Master Template
Software Requirement Specification Master TemplateSoftware Requirement Specification Master Template
Software Requirement Specification Master TemplateWayne Chen
 
software requirement specification
software requirement specificationsoftware requirement specification
software requirement specificationmaliksiddique1
 
Software requirement specification
Software requirement specificationSoftware requirement specification
Software requirement specificationshiprashakya2
 
Non-functional requirements
Non-functional requirements Non-functional requirements
Non-functional requirements Rohela Raouf
 
Cs2 ah0405 softwarerequirements
Cs2 ah0405 softwarerequirementsCs2 ah0405 softwarerequirements
Cs2 ah0405 softwarerequirementsjayyu123
 

Was ist angesagt? (18)

The Requirements Process Workshop Presentation
The Requirements Process Workshop PresentationThe Requirements Process Workshop Presentation
The Requirements Process Workshop Presentation
 
Software Requirements
Software RequirementsSoftware Requirements
Software Requirements
 
Sw Requirements Engineering
Sw Requirements EngineeringSw Requirements Engineering
Sw Requirements Engineering
 
Srs (software requirement specification) in software engineering basics by ra...
Srs (software requirement specification) in software engineering basics by ra...Srs (software requirement specification) in software engineering basics by ra...
Srs (software requirement specification) in software engineering basics by ra...
 
Ch19-Software Engineering 9
Ch19-Software Engineering 9Ch19-Software Engineering 9
Ch19-Software Engineering 9
 
Srs
SrsSrs
Srs
 
Software Requrement
Software RequrementSoftware Requrement
Software Requrement
 
Srs template 1
Srs template 1Srs template 1
Srs template 1
 
Kelis king - introduction to s.e.
Kelis king -  introduction to s.e.Kelis king -  introduction to s.e.
Kelis king - introduction to s.e.
 
Software requirement specification
Software requirement specificationSoftware requirement specification
Software requirement specification
 
Software Requirement Specification Master Template
Software Requirement Specification Master TemplateSoftware Requirement Specification Master Template
Software Requirement Specification Master Template
 
Software Requirement Specification
Software Requirement SpecificationSoftware Requirement Specification
Software Requirement Specification
 
Se lec-uosl-8
Se lec-uosl-8Se lec-uosl-8
Se lec-uosl-8
 
Sample SRS format
Sample SRS formatSample SRS format
Sample SRS format
 
software requirement specification
software requirement specificationsoftware requirement specification
software requirement specification
 
Software requirement specification
Software requirement specificationSoftware requirement specification
Software requirement specification
 
Non-functional requirements
Non-functional requirements Non-functional requirements
Non-functional requirements
 
Cs2 ah0405 softwarerequirements
Cs2 ah0405 softwarerequirementsCs2 ah0405 softwarerequirements
Cs2 ah0405 softwarerequirements
 

Andere mochten auch

Requirements engineering
Requirements engineeringRequirements engineering
Requirements engineeringAyaz Shariff
 
Adhoc frames conceptual graphs
Adhoc frames conceptual graphsAdhoc frames conceptual graphs
Adhoc frames conceptual graphsAyaz Shariff
 
LetsGrow Non-functional requirements
LetsGrow Non-functional requirementsLetsGrow Non-functional requirements
LetsGrow Non-functional requirementsPatrick Kalkman
 
Restaurant management presentation
Restaurant management presentationRestaurant management presentation
Restaurant management presentationjoilrahat
 
Restaurent management system
Restaurent management systemRestaurent management system
Restaurent management systemSmit Patel
 
Student management system
Student management systemStudent management system
Student management systemGaurav Subham
 
Medical Store Management System Software Engineering Project
Medical Store Management System Software Engineering ProjectMedical Store Management System Software Engineering Project
Medical Store Management System Software Engineering Projecthani2253
 
Use Case Diagram
Use Case DiagramUse Case Diagram
Use Case DiagramAshesh R
 
Customer ordering system
Customer ordering systemCustomer ordering system
Customer ordering systemSuriey Tafar
 
Business requirements gathering and analysis
Business requirements gathering and analysisBusiness requirements gathering and analysis
Business requirements gathering and analysisMena M. Eissa
 
Hospital management system project
Hospital management system projectHospital management system project
Hospital management system projectHimani Chopra
 

Andere mochten auch (15)

Rancangan perangkat lunak
Rancangan perangkat lunakRancangan perangkat lunak
Rancangan perangkat lunak
 
Requirements engineering
Requirements engineeringRequirements engineering
Requirements engineering
 
Adhoc frames conceptual graphs
Adhoc frames conceptual graphsAdhoc frames conceptual graphs
Adhoc frames conceptual graphs
 
LetsGrow Non-functional requirements
LetsGrow Non-functional requirementsLetsGrow Non-functional requirements
LetsGrow Non-functional requirements
 
Software requirements
Software requirementsSoftware requirements
Software requirements
 
Ch4 req eng
Ch4 req engCh4 req eng
Ch4 req eng
 
Restaurant management presentation
Restaurant management presentationRestaurant management presentation
Restaurant management presentation
 
Ppt of medical store
Ppt of medical storePpt of medical store
Ppt of medical store
 
Restaurent management system
Restaurent management systemRestaurent management system
Restaurent management system
 
Student management system
Student management systemStudent management system
Student management system
 
Medical Store Management System Software Engineering Project
Medical Store Management System Software Engineering ProjectMedical Store Management System Software Engineering Project
Medical Store Management System Software Engineering Project
 
Use Case Diagram
Use Case DiagramUse Case Diagram
Use Case Diagram
 
Customer ordering system
Customer ordering systemCustomer ordering system
Customer ordering system
 
Business requirements gathering and analysis
Business requirements gathering and analysisBusiness requirements gathering and analysis
Business requirements gathering and analysis
 
Hospital management system project
Hospital management system projectHospital management system project
Hospital management system project
 

Ähnlich wie If2036 sw requirement

software recq.ppt
software recq.pptsoftware recq.ppt
software recq.pptkarinaabyys
 
Wireless communication.ppt
Wireless communication.pptWireless communication.ppt
Wireless communication.pptssuser183d67
 
Software Requirements.pptx
Software Requirements.pptxSoftware Requirements.pptx
Software Requirements.pptxPrem Chandrakar
 
Software Engineering - Ch6
Software Engineering - Ch6Software Engineering - Ch6
Software Engineering - Ch6Siddharth Ayer
 
Lecture-5-Requirements Analysis and Specification.pptx
Lecture-5-Requirements Analysis and Specification.pptxLecture-5-Requirements Analysis and Specification.pptx
Lecture-5-Requirements Analysis and Specification.pptxYaseenNazir3
 
2.software requirement specification
2.software requirement specification2.software requirement specification
2.software requirement specificationDeepak Sharma
 
Cs2 ah0405 softwarerequirements
Cs2 ah0405 softwarerequirementsCs2 ah0405 softwarerequirements
Cs2 ah0405 softwarerequirementsMISHAQ6
 
Requirements engineering
Requirements engineeringRequirements engineering
Requirements engineeringJennifer Polack
 
SE - Software Requirements
SE - Software RequirementsSE - Software Requirements
SE - Software RequirementsJomel Penalba
 
chapter_3_8 of software requirements engineering
chapter_3_8 of software requirements engineeringchapter_3_8 of software requirements engineering
chapter_3_8 of software requirements engineeringJavedKhan524377
 
Ch 2 types of reqirement
Ch 2  types of reqirementCh 2  types of reqirement
Ch 2 types of reqirementFish Abe
 
Software Requirements in Software Engineering SE5
Software Requirements in Software Engineering SE5Software Requirements in Software Engineering SE5
Software Requirements in Software Engineering SE5koolkampus
 
CS8494 SOFTWARE ENGINEERING Unit-2
CS8494 SOFTWARE ENGINEERING Unit-2CS8494 SOFTWARE ENGINEERING Unit-2
CS8494 SOFTWARE ENGINEERING Unit-2SIMONTHOMAS S
 
Ch 1-Introduction.ppt
Ch 1-Introduction.pptCh 1-Introduction.ppt
Ch 1-Introduction.pptbalewayalew
 

Ähnlich wie If2036 sw requirement (20)

software recq.ppt
software recq.pptsoftware recq.ppt
software recq.ppt
 
Reqmt_Engn.ppt
Reqmt_Engn.pptReqmt_Engn.ppt
Reqmt_Engn.ppt
 
Wireless communication.ppt
Wireless communication.pptWireless communication.ppt
Wireless communication.ppt
 
Software Requirements.pptx
Software Requirements.pptxSoftware Requirements.pptx
Software Requirements.pptx
 
Software Engineering - Ch6
Software Engineering - Ch6Software Engineering - Ch6
Software Engineering - Ch6
 
Lecture-5-Requirements Analysis and Specification.pptx
Lecture-5-Requirements Analysis and Specification.pptxLecture-5-Requirements Analysis and Specification.pptx
Lecture-5-Requirements Analysis and Specification.pptx
 
Se week 4
Se week 4Se week 4
Se week 4
 
2.software requirement specification
2.software requirement specification2.software requirement specification
2.software requirement specification
 
Cs2 ah0405 softwarerequirements
Cs2 ah0405 softwarerequirementsCs2 ah0405 softwarerequirements
Cs2 ah0405 softwarerequirements
 
Requirements engineering
Requirements engineeringRequirements engineering
Requirements engineering
 
SE - Software Requirements
SE - Software RequirementsSE - Software Requirements
SE - Software Requirements
 
SECh56
SECh56SECh56
SECh56
 
chapter_3_8 of software requirements engineering
chapter_3_8 of software requirements engineeringchapter_3_8 of software requirements engineering
chapter_3_8 of software requirements engineering
 
Software engg unit 2
Software engg unit 2 Software engg unit 2
Software engg unit 2
 
Lec srs
Lec srsLec srs
Lec srs
 
Ch 2 types of reqirement
Ch 2  types of reqirementCh 2  types of reqirement
Ch 2 types of reqirement
 
Software Requirements in Software Engineering SE5
Software Requirements in Software Engineering SE5Software Requirements in Software Engineering SE5
Software Requirements in Software Engineering SE5
 
SE UNIT 2.pdf
SE UNIT 2.pdfSE UNIT 2.pdf
SE UNIT 2.pdf
 
CS8494 SOFTWARE ENGINEERING Unit-2
CS8494 SOFTWARE ENGINEERING Unit-2CS8494 SOFTWARE ENGINEERING Unit-2
CS8494 SOFTWARE ENGINEERING Unit-2
 
Ch 1-Introduction.ppt
Ch 1-Introduction.pptCh 1-Introduction.ppt
Ch 1-Introduction.ppt
 

If2036 sw requirement

  • 1. IF2036 Rekayasa Perangkat Lunak Software Requirement Sem II 2012/2013
  • 2. Requirements Engineering  helps software engineers better understand the problems they are trying to solve  produce a written understanding of the customer's problem  begins during the software engineering communication activity and continues into the modeling activity * SEPA 6th ed, Roger S. Pressman 2 IF2036 RPL - SW Requirement
  • 3. What is a Requirement ?  It may range from a high-level abstract statement of a service or of a system constraint to a detailed mathematical functional specification  Requirements may serve a dual function:  May be the basis for a bid for a contract - therefore must be open to interpretation  May be the basis for the contract itself - therefore must be defined in detail Both these statements may be called requirements * Software Engineering 7th ed, Ian Sommerville 3 IF2036 RPL - SW Requirement
  • 4. Types of Requirement  User requirements  Statements in natural language plus diagrams of the services the system provides and its operational constraints  Written for customers  System requirements  A structured document setting out detailed descriptions of the system’s functions, services and operational constraints  Defines what should be implemented so may be part of a contract between client and contractor * Software Engineering 7th ed, Ian Sommerville 4 IF2036 RPL - SW Requirement
  • 5. Definitions and Specifications User requir ement definition 1. The softw are m ust pr ovide a means of representing and 1. accessing e xternal files cr ea ted b y other tools . Sy stem requir ements specification 1.1 The user should be pr ovided with facilities to define the ty pe of 1.2 external files . 1.2 Each e xternal file ty pe ma y have an associa ted tool w hich m a y be 1.2 applied to the file . 1.3 Each e xternal file ty pe ma y be repr esented as a specific icon on 1.2 the user’ s displa y. 1.4 Facilities should be pr o vided for the icon r epresenting an 1.2 external file ty pe to be defined b y the user . 1.5 When a user selects an icon r epr esenting an e xternal file, the 1.2 effect of that selection is to apply the tool associated with the ty pe of 1.2 the external file to the file represented by the selected icon. * Software Engineering 7th ed, Ian Sommerville 5 IF2036 RPL - SW Requirement
  • 6. User Requirements  Should describe functional and non-functional requirements in such a way that they are understandable by system users who don’t have detailed technical knowledge  User requirements are defined using natural language, tables and diagrams as these can be understood by all users * Software Engineering 7th ed, Ian Sommerville 6 IF2036 RPL - SW Requirement
  • 7. Problems with natural language  Lack of clarity  Precision is difficult without making the document difficult to read  Requirements confusion  Functional and non-functional requirements tend to be mixed-up  Requirements amalgamation  Several different requirements may be expressed together * Software Engineering 7th ed, Ian Sommerville 7 IF2036 RPL - SW Requirement
  • 8. System Requirements  More detailed specifications of system functions, services and constraints than user requirements  They are intended to be a basis for designing the system  They may be incorporated into the system contract  System requirements may be defined or illustrated using system models * Software Engineering 7th ed, Ian Sommerville 8 IF2036 RPL - SW Requirement
  • 9. Functional and Non-Functional Requirements  Functional requirements  Statements of services the system should provide, how the system should react to particular inputs and how the system should behave in particular situations  Non-functional requirements  constraints on the services or functions offered by the system such as timing constraints, constraints on the development process, standards, etc  Domain requirements  Requirements that come from the application domain of the system and that reflect characteristics of that domain * Software Engineering 7th ed, Ian Sommerville 9 IF2036 RPL - SW Requirement
  • 10. Functional Requirements  Describe functionality or system services  Depend on the type of software, expected users and the type of system where the software is used  Functional user requirements may be high-level statements of what the system should do but functional system requirements should describe the system services in detail * Software Engineering 7th ed, Ian Sommerville 10 IF2036 RPL - SW Requirement
  • 11. Functional Requirement – Examples (Library System – LIBSYS)  The user shall be able to search either all of the initial set of databases or select a subset from it  The system shall provide appropriate viewers for the user to read documents in the document store  Every order shall be allocated a unique identifier (ORDER_ID), which the user shall be able to copy to the account’s permanent storage area 11 IF2036 RPL - SW Requirement
  • 12. Non-functional Requirements Examples (Library System – LIBSYS)  Product requirement 8.1 The user interface for LIBSYS shall be implemented as simple HTML without frames or Java applets  Organisational requirement 9.3.2 The system development process and deliverable documents shall conform to the process and deliverables defined in XYZCo-SP-STAN-95  External requirement 7.6.5 The system shall not disclose any personal information about customers apart from their name and reference number to the operators of the system * Software Engineering 7th ed, Ian Sommerville 12 IF2036 RPL - SW Requirement
  • 13. NF Requirements Measures Property Measure Speed Processed transactions/second User/Event response time Screen refresh time Size M Bytes Number of ROM chips Ease of use Training time Number of help frames Reliability Mean time to failure Probability of unavailability Rate of failure occurrence Availability Robustness Time to restart after failure Percentage of events causing failure Probability of data corruption on failure Portability Percentage of target dependent statements Number of target systems * Software Engineering 7th ed, Ian Sommerville 13 IF2036 RPL - SW Requirement
  • 14. Requirements Interaction  Conflicts between different non-functional requirements are common in complex systems  Spacecraft system  To minimise weight, the number of separate chips in the system should be minimised.  To minimise power consumption, lower power chips should be used.  However, using low power chips may mean that more chips have to be used. Which is the most critical requirement? * Software Engineering 7th ed, Ian Sommerville 14 IF2036 RPL - SW Requirement
  • 15. Domain Requirements  Derived from the application domain and describe system characteristics and features that reflect the domain  Domain requirements can be a new functional requirements, constraints on existing requirements or define specific computations  If domain requirements are not satisfied, the system may be unworkable * Software Engineering 7th ed, Ian Sommerville 15 IF2036 RPL - SW Requirement
  • 16. Domain Requirements Problems  Understandability  Requirements are expressed in the language of the application domain  This is often not understood by software engineers developing the system  Implicitness  Domain specialists understand the area so well that they do not think of making the domain requirements explicit * Software Engineering 7th ed, Ian Sommerville 16 IF2036 RPL - SW Requirement
  • 17. Requirements Completeness and Consistency  In principle, requirements should be both complete and consistent  Complete; they should include descriptions of all facilities required  Consistent; there should be no conflicts or contradictions in the descriptions of the system facilities  In practice, it is impossible to produce a complete and consistent requirements document * Software Engineering 7th ed, Ian Sommerville 17 IF2036 RPL - SW Requirement
  • 18. Requirements Imprecision  Problems arise when requirements are not precisely stated  Ambiguous requirements may be interpreted in different ways by developers and users  Consider the term ‘appropriate viewers’  User intention - special purpose viewer for each different document type  Developer interpretation - Provide a text viewer that shows the contents of the document * Software Engineering 7th ed, Ian Sommerville 18 IF2036 RPL - SW Requirement
  • 19. Guidelines for Writing Requirements  Invent a standard format and use it for all requirements  Use language in a consistent way. Use shall for mandatory requirements, should for desirable requirements  Use text highlighting to identify key parts of the requirement  Avoid the use of computer jargon * Software Engineering 7th ed, Ian Sommerville 19 IF2036 RPL - SW Requirement
  • 20. Alternatives to NL specification Notation Description Structured natural This approach depends on defining standard forms or templates to express the language requirements specification. Design This approach uses a language like a programming language but with more abstract description features to specify the requirements by defining an operational model of the system. languages This approach is not now widely used although it can be useful for interface specifications. Graphical A graphical language, supplemented by text annotations is used to define the notations functional requirements for the system. An early example of such a graphical language was SADT. Now, use-case descriptions and sequence diagrams are commonly used . Mathematical These are notations based on mathematical concepts such as finite-state machines or specifications sets. These unambiguous specifications reduce the arguments between customer and contractor about system functionality. However, most customers don’t understand formal specifications and are reluctant to accept it as a system contract. * Software Engineering 7th ed, Ian Sommerville 20 IF2036 RPL - SW Requirement
  • 21. The Requirements Document  The requirements document is the official statement of what is required of the system developers  Should include both a definition of user requirements and a specification of the system requirements  It is NOT a design document.  As far as possible, it should set of WHAT the system should do rather than HOW it should do it * Software Engineering 7th ed, Ian Sommerville 21 IF2036 RPL - SW Requirement
  • 22. Users of a Requirements Document Specify the requirem ents and read them to check that they Sy stem customers meet their needs. T hey specify changes to the requirements Use the requirements docum ent to plan a bid for Managers the sy stem and to plan the sy stem development process Sy stem Use the requirem ents to eng ineers understand what sy stem is to be developed Sy stem test Use the requirem ents to eng ineers develop validation tests for the sy stem Sy stem Use the requirements to help maintenance understand the sy stem and eng ineers the relationships between its par ts * Software Engineering 7th ed, Ian Sommerville 22 IF2036 RPL - SW Requirement
  • 23. IEEE Requirements Standard  Defines a generic structure for a requirements document that must be instantiated for each specific system  Introduction  General description  Specific requirements  Appendices  Index * Software Engineering 7th ed, Ian Sommerville 23 IF2036 RPL - SW Requirement
  • 24. Requirements Document Structure  Preface  Introduction  Glossary  User requirements definition  System architecture  System requirements specification  System models  System evolution  Appendices  Index * Software Engineering 7th ed, Ian Sommerville 24 IF2036 RPL - SW Requirement
  • 25. Requirement Engineering Tasks  Inception  software engineers use context-free questions to establish a basic understanding of the problem, the people who want a solution, the nature of the solution, and the effectiveness of the collaboration between customers and developers  Elicitation  find out from customers what the product objectives are, what is to be done, how the product fits into business needs, and how the product is used on a day to day basis  Elaboration  focuses on developing a refined technical model of software functions, features, and constraints using the information obtained during inception and elicitation * SEPA 6th ed, Roger S. Pressman 25 IF2036 RPL - SW Requirement
  • 26. Requirement Engineering Tasks (2)  Negotiation  requirements are categorized and organized into subsets, relations among requirements identified, requirements reviewed for correctness, requirements prioritized based on customer needs  Specification  written work products produced describing the function, performance, and development constraints for a computer-based system  Requirements validation  formal technical reviews used to examine the specification work products to ensure requirement quality and that all work products conform to agreed upon standards for the process, project, and products 26 IF2036 RPL - SW Requirement
  • 27. Requirements Checking  Validity. Does the system provide the functions which best support the customer’s needs?  Consistency. Are there any requirements conflicts?  Completeness. Are all functions required by the customer included?  Realism. Can the requirements be implemented given available budget and technology  Verifiability. Can the requirements be checked? * Software Engineering 7th ed, Ian Sommerville 27 IF2036 RPL - SW Requirement
  • 28. Requirements Validation Techniques  Requirements reviews  Systematic manual analysis of the requirements  Prototyping  Using an executable model of the system to check requirements  Test-case generation  Developing tests for requirements to check testabilitys * Software Engineering 7th ed, Ian Sommerville 28 IF2036 RPL - SW Requirement