SlideShare uma empresa Scribd logo
1 de 48
Baixar para ler offline
Software Requirements

               Loganathan R
Objectives
• To introduce the concepts of user requirements
  and system requirements
• To describe functional and non-functional
  requirements
• To explain how software requirements may be
  organised in a requirements document



                 Prof. Loganathan R., CSE, HKBKCE   2
Requirements engineering
• The process of finding out, analysing,
  documenting, and checking the services that the
  customer requires from a system and its
  operational constraints is called RE.
• Requirement may range from a high-level abstract
  statement of a service or of a system constraint to
  a detailed mathematical functional specification.


                   Prof. Loganathan R., CSE, HKBKCE   3
Requirements abstraction (Davis)
“If a company wishes to let a contract for a large software
development project, it must define its needs in a
sufficiently abstract way that a solution is not pre-defined.
The requirements must be written so that several
contractors can bid for the contract, offering, perhaps,
different ways of meeting the client organisation’s needs.
Once a contract has been awarded, the contractor must
write a system definition for the client in more detail so
that the client understands and can validate what the
software will do. Both of these documents may be called
the requirements document for the system.”
                     Prof. Loganathan R., CSE, HKBKCE      4
Types of requirement
• User requirements (high level abstract requirements)
   – Statements in natural language plus diagrams of what
     services the system provides and its operational
     constraints. Written for customers.
• System requirements (description of what system should do)
   – A structured document(also called functional specification)
     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.

                       Prof. Loganathan R., CSE, HKBKCE         5
Definitions and specifications
User requirement Definition

1. LIBSYS shall keep track of all data required by copyright licensing
  1. agencies in INDIA and elsewhere

System Requirements Specification

1.1 On making a request for a document from LIBSYS, the requestor shall be
   presented with a form that records details of user and the request made
                    .
1.2 LIBSYS request forms shall be stored on the system for 5 years from the
   date of the request.
1.3 All LIBSYS request forms must be indexed by user, by the name of the
                     .
   material requested and by the supplier of the request
                                             .
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 have registered with LIBSYS.

                              Prof. Loganathan R., CSE, HKBKCE                    6
Requirements readers

                         Client Managers
                         System End-Users
   User
                         Client Engineers
Requirements
                         Contractor Managers
                         System Architect


                         System End-Users
  System                 Client Engineers
Requirements             System Architect
                         Software Developers




          Prof. Loganathan R., CSE, HKBKCE     7
Functional and non-functional requirements
 • Software system requirements are classified as:
 • 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(and sometimes what it
      should NOT do).
 • Non-functional requirements
    – constraints on the services or functions offered by the system
      such as timing constraints, constraints on the development
      process, standards, etc. Apply to the system as whole.
 • Domain requirements
    – Requirements that come from the application domain of the
      system and that reflect characteristics of that domain.
                        Prof. Loganathan R., CSE, HKBKCE           8
Functional requirements
• Describe what the system should do.
• 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, its i/o, exceptions
  and so on.
                  Prof. Loganathan R., CSE, HKBKCE   9
Example: The LIBSYS system
• A library system that provides a single interface to
  a number of databases of articles in different
  libraries.
• Users can search for, download and print these
  articles for personal study.




                   Prof. Loganathan R., CSE, HKBKCE   10
Examples of functional requirements of 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.
                   Prof. Loganathan R., CSE, HKBKCE   11
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.

                   Prof. Loganathan R., CSE, HKBKCE    12
Requirements completeness and consistency
 • In principle, requirements should be both
   complete and consistent.
 • Completeness
    – All services required by the user should be defined.
 • Consistent
    – Requirements should NOT have                          conflicts   or
      contradictions in the descriptions.
 • In practice, it is impossible to produce a complete and consistent
   requirements document.


                         Prof. Loganathan R., CSE, HKBKCE               13
Non-functional requirements
• Related to emergent properties and constraints .
  Emergent properties are reliability, response time,
  storage requirements and so on. Constraints are
  I/O device capability, data representations, etc.
• Process requirements may also be specified
  mandating a particular CASE system, programming
  language or development method.
• Non-functional requirements may be more critical
  than functional requirements. If these are not
  met, the system is useless.

                   Prof. Loganathan R., CSE, HKBKCE   14
Non-functional requirement types
• Product requirements
  – Specify product behaviour. E.g. execution speed, memory
    required, reliability (failure rate), portability requirements,
    usability requirements, etc.
• Organisational requirements
  – Derived from customer and developer organisational policies
    and procedures. e.g. process standards used, implementation
    requirements, delivery requirements, etc.
• External requirements
  – Derived from factors which are external to the system and its
    development process e.g. interoperability requirements,
    legislative requirements, ethical requirements etc.
                      Prof. Loganathan R., CSE, HKBKCE           15
Non-functional requirement types
                                                    Non-functional
                                                    Requirements




                           Product                  Organisational                  External
                         Requirements               Requirements                  Requirements




          Efficiency      Reliability     Portability          Interoperability      Ethical
         Requirements    Requirements    Requirements           Requirements      Requirements




  Usability                         Delivery        Implementation      Standards           Legislative
Requirements                      Requirements       Requirements      Requirements        Requirements




 Performance        Space                                                    Privacy          Safety
 Requirements    Requirements                                              Requirements    Requirements
                                 Prof. Loganathan R., CSE, HKBKCE                                 16
LIBSYS Non-functional requirements
• 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.




                              Prof. Loganathan R., CSE, HKBKCE                     17
Problems in non-functional requirements
 • Non-functional requirements may be very difficult to
   state precisely and imprecise requirements may be
   difficult to verify.
 • Goal
    – A general intention of the user such as ease of use, recovery
      from failure, etc.
 • Verifiable non-functional requirement
    – A statement using some measure that can be objectively tested.
 • Goals are helpful to developers as they convey the
   intentions of the system users.

                        Prof. Loganathan R., CSE, HKBKCE           18
Examples
• A system goal
   – The system should be easy to use by experienced controllers and should be
     organised in such a way that user errors are minimised.
• 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 by experienced users shall not exceed two per day.




                            Prof. Loganathan R., CSE, HKBKCE                     19
Requirements Measures
Property      Measure
              Processed transactions/second
Speed         User/Event response time
              Screen refresh time
              M Bytes
Size
              Number of ROM chips
              Training time
Ease of use
              Number of help frames
              Mean time to failure
              Probability of unavailability
Reliability
              Rate of failure occurrence
              Availability
              Time to restart after failure
Robustness    Percentage of events causing failure
              Probability of data corruption on failure
              Percentage of target dependent statements
Portability
              Number of target systems

              Prof. Loganathan R., CSE, HKBKCE            20
Requirements interaction
• Conflicts between different non-functional
  requirements are common in complex systems.
• Example :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?
                   Prof. Loganathan R., CSE, HKBKCE   21
Domain requirements
• Derived from the application domain and describe
  system characteristics and features that reflect the
  domain.
• Domain requirements be new functional
  requirements,      constraints      on      existing
  requirements or define specific computations.
• If domain requirements are not satisfied, the
  system may be unworkable.

                   Prof. Loganathan R., CSE, HKBKCE   22
Example of LIBSYS domain requirements
• There shall be a standard user interface to all
  databases which shall be based on the Z39.50
  standard.
• Because of copyright restrictions, some
  documents must be deleted immediately on
  arrival. Depending on the user’s requirements,
  these documents will either be printed locally on
  the system server for manually forwarding to the
  user or routed to a network printer.

                  Prof. Loganathan R., CSE, HKBKCE   23
Example : Train protection system
• Computation of deceleration to stop the train:
  The deceleration of the train shall be computed as:
  Dtrain = Dcontrol + Dgradient
  where Dgradient is 9.81ms2 * compensated gradient/alpha
  and where the values of 9.81ms2 /alpha are known for
  different types of train.
• Problem: Since it is written in application domain
  language its difficult to understand by s/w
  engineers.
                           Prof. Loganathan R., CSE, HKBKCE   24
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.

                   Prof. Loganathan R., CSE, HKBKCE   25
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.


                Prof. Loganathan R., CSE, HKBKCE   26
Problems with natural language(UR)
• 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.

                    Prof. Loganathan R., CSE, HKBKCE   27
A user requirement for 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 managers
may configure this system so that regular users
may receive discounted rates.




                Prof. Loganathan R., CSE, HKBKCE   28
A user requirement for Editor grid in LIBSYS

  2.6 Grid facilities To assist in the positioning of entities on a
  diagram, the user may turn on a grid in either centimetres or
  inches, via an option on the control panel. Initially, the grid is off.
  The grid may be turned on and off at any time during an editing
  session and can be toggled between inches and centimetres at
  any time. A grid option will be provided on the reduce-to-fit view
  but the number of grid lines shown will be reduced to avoid
  filling the smaller diagram with grid lines.




                           Prof. Loganathan R., CSE, HKBKCE            29
Requirement problems
• Database requirements includes both conceptual and
  detailed information
  – Describes the concept of a financial accounting system that is to
    be included in LIBSYS;
  – However, it also includes the detail that managers can configure
    this system - this is unnecessary at this level.
• Grid requirement mixes three different kinds of
  requirement
  – Conceptual functional requirement is the need for a grid. It
    presents rationale for this
  – Non-functional requirement of grid units (inches/cm)
  – Non-functional UI requirement grid switching(on/off)

                       Prof. Loganathan R., CSE, HKBKCE            30
Definition of an editor grid facility
    • Grid requirements are rewritten to focus on the
      essential system feature
2.6.1 Grid facilities
The editor shall provide a grid facility where a matrix of horizontal
and vertical lines provide a background to the editor window. This
grid shall be a passive grid where the alignment of entities is the user's
responsibility.
    Rationale: A grid helps the user to create a tidy diagram with well-
    spaced entities. Although an active grid, where entities 'snap-to'
    grid lines can be useful, the positioning is imprecise. The user is the
    best person to decide where entities should be positioned.
Specification: ECLIPSE/WS/Tools/DE/FS Section 5.6
Source: Ray Wilson, Glasgow Office
                           Prof. Loganathan R., CSE, HKBKCE              31
Guidelines for writing User 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(Bold, Italic or Colour) to
   identify key parts of the requirement.
 • Avoid the use of computer jargon.

                  Prof. Loganathan R., CSE, HKBKCE   32
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.
• Natural Language(NL) is often used to write
  system requirements specification as well as user
  requirements.

                  Prof. Loganathan R., CSE, HKBKCE   33
Inseparable : Requirements and design
• In principle, requirements should state what the
  system should do and the design should describe
  how it does this.
• In practice, requirements and design are
  inseparable
  – A system architecture may be designed to structure the
    requirements;
  – The system may inter-operate with other systems that
    generate design requirements;
  – The use of a specific design may be a domain
    requirement.
                    Prof. Loganathan R., CSE, HKBKCE    34
Problems with NL specification(Sys Req.)
• Ambiguity
  – The readers and writers of the requirement must
    interpret the same words in the same way. NL is
    naturally ambiguous so this is very difficult.
• Over-flexibility
  – The same thing may be said in a number of different
    ways in the specification.
• Lack of modularisation
  – NL structures are inadequate to structure system
    requirements.

                     Prof. Loganathan R., CSE, HKBKCE   35
Notations for requirements specification
 • These can be used as alternatives to NL specification
 Notation              Description
 Structured natural    This approach depends on defining standard forms or templates to express the
 language              requirements specification.
 Design description    This approach uses a language like a programming language but with more
 languages             abstract features to specify the requirements by defining an operational model
                       of the system. This approach is not now widely used although it can be useful
                       for interface specifications.
 Graphical notations   A graphical language, supplemented by text annotations is used to define the
                       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
 specifications        machines or 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.
                                     Prof. Loganathan R., CSE, HKBKCE                           36
Structured Language Specifications
• The freedom of the requirements writer is limited
  by a predefined template for requirements.
• All requirements are written in a standard way.
• The terminology used in the description may be
  limited.
• The advantage is that the most of the
  expressiveness of natural language is maintained
  but a degree of uniformity is imposed on the
  specification.

                  Prof. Loganathan R., CSE, HKBKCE   37
Form-based Approach
• One or more standard forms/templates are
  designed to express the requirements. It should
  include the following information.
  – Description of the function or entity.
  – Description of inputs and where they come from.
  – Description of outputs and where they go to.
  – Indication of what other entities required.
  – Description of action to be taken.
  – Pre and post conditions what must be true before & after function call(if
    appropriate).
  – Description the side effects (if any) of the function.


                          Prof. Loganathan R., CSE, HKBKCE                 38
Form-based specification Example
Insulin Pump/Control Software/SRS/3.3.2
Function         Compute insulin dose: Safe sugar level
Description      Computes the dose of insulin to be delivered when the current measured sugar level is
                 in the safe zone between 3 and 7 units
Inputs           Current sugar reading (r2), the previous two readings (r0 and r1)
Source           Current sugar reading from sensor. Other readings from memory.
Outputs          CompDose – the dose in insulin to be delivered
Destination      Main control loop
Action           CompDose is zero if the sugar level is stable or falling or if the level is increasing but the
                 rate of increase is decreasing. If the level is increasing and the rate of increase is
                 increasing, then CompDose is computed by dividing the difference between the current
                 sugar level and the previous level by 4 and rounding the result. If the result, is rounded
                 to zero then CompDose is set to the minimum dose that can be delivered.
Requires         Two previous readings so that the rate of change of sugar level can be computed.
Pre-condition    The insulin reservoir contains at least the maximum allowed single dose of insulin
Post-condition   r0 is replaced by r1 then r1 is replaced by r2
Side-effects     None
                                      Prof. Loganathan R., CSE, HKBKCE                                      39
Tabular specification
• Used to supplement natural language.
• Particularly useful when you have to define a number of possible
  alternative courses of action.
• Example : Tabular specification of computation
 Condition                                            Action
 Sugar level falling (r2 < r1)                        CompDose = 0
 Sugar level stable (r2 = r1)                         CompDose = 0
 Sugar level increasing and rate of increase
                                                      CompDose = 0
 decreasing ((r2-r1)<(r1-r0))
                                                      CompDose = round ((r2-r1)/4)
 Sugar level increasing and rate of increase
                                                      If rounded result = 0 then
 stable or increasing. ((r2-r1) ≥ (r1-r0))
                                                      CompDose = MinimumDose

                                 Prof. Loganathan R., CSE, HKBKCE                    40
Graphical models
• Graphical models are most useful when you need to show
  how state changes or where you need to describe a
  sequence of actions.
• Example Sequence diagrams
• These show the sequence of events that take place during
  some user interaction with a system.
• Read them from top to bottom to see the order of the
  actions that take place.
• Cash withdrawal from an ATM
   – Validate card : By checking the card number and user’s PIN
   – Handle request : user requests are handled. Query database for withdrawal
   – Complete transaction: return the card and deliver cash & receipt.
                           Prof. Loganathan R., CSE, HKBKCE                      41
Sequence diagram of ATM withdrawal
                         ATM                     Database


          Card
                                 Card number
                                  Card OK
       PIN request
           PIN
       Option menu                                          Validate card
      <<exception>>
        invalid card

      Withdraw request          Balance request
                                  Balance
      Amount request
         Amount                                             Handle request
                               Debit (amount)

      <<exception>>
                                Debit response
     Insufficient cash

          Card

        Card removed
                                                              Complete
          Cash                                               transaction
      Cash removed
        Receipt
                                                                             42
                     Prof. Loganathan R., CSE, HKBKCE
Interface specification
• Most systems must operate with other systems
  and the operating interfaces must be specified as
  part of the requirements.
• Three types of interface may have to be defined
  – Procedural interfaces : APIs;
  – Data structures : Passed from one subsystem to another
  – Data representations (ordering of bits) : for existing
    subsystem
• Formal notations(Program Design Language - PDL)
  are an effective technique for interface
  specification.
                    Prof. Loganathan R., CSE, HKBKCE     43
PDL interface description
interface PrintServer {
// defines an abstract printer server
// requires: interface Printer, interface PrintDoc
// provides: initialize, print, displayPrintQueue, cancelPrintJob, switchPrinter
          void initialize ( Printer p ) ;
          void print ( Printer p, PrintDoc d ) ;
          void displayPrintQueue ( Printer p ) ;
          void cancelPrintJob (Printer p, PrintDoc d) ;
          void switchPrinter (Printer p1, Printer p2, PrintDoc d) ;
} //PrintServer




                             Prof. Loganathan R., CSE, HKBKCE                      44
The Software 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

                   Prof. Loganathan R., CSE, HKBKCE   45
Users of a requirements document
                             Specify the requirements and
                             read them to check that they
       System                   meet their needs. They
      Customers                 specify changes to the
                                     requirements



                                 Use the requirements
                              document to plan a bid for
      Managers                the system and to plan the
                             system development process



                              Use the requirements to
       System               understand what system is to
      Engineers                    be developed


                               Use the requirements to
     System Test              develop validation tests for
      Engineers                       the system


                             Use the requirements to help
       System
                              understand the system and
     Maintenance
                             the relationships between its
      Engineers                           parts

                                                             46
                   Prof. Loganathan R., CSE, HKBKCE
IEEE requirements standard
• Defines a structure for a requirements document.
  1.    Introduction.
       1.1 Purpose of the requirements document
       1.2 Scope of the product
       1.3 Definition, acronyms & abbreviations
       1.4 References
       1.5 Overview of the remainder of the document
  2.    General description.
       2.1 Product perspective
       2.2 Product functions
       2.3 User characteristics
       2.4 General constraints
       2.5 Assumptions & dependencies
  3.    Specific requirements.(covers functional, non-functional & interface requirements)
  4.    Appendices.
  5.    Index.

                                 Prof. Loganathan R., CSE, HKBKCE                            47
Requirements document structure
• Organisation for a requirements document based on IEEE standard
   – Preface : Defines expected readership, version history & changes in each version
   – Introduction : Describes the needs of the system
   – Glossary : Defines technical terms used in the document
   – User requirements definition : Describes services provided & non-
        functional requirements
    – System architecture : Presents high level overview of system
    – System requirements specification : Describes functional & non-
        functional requirements in detail
    –   System models : Provides 1 or more system models
    –   System evolution : Describes anticipated changes
    –   Appendices
    –   Index
                               Prof. Loganathan R., CSE, HKBKCE                     48

Mais conteúdo relacionado

Mais procurados

Requirement Engineering
Requirement EngineeringRequirement Engineering
Requirement EngineeringSlideshare
 
Requirements analysis
Requirements analysisRequirements analysis
Requirements analysisasimnawaz54
 
Requirement specification (SRS)
Requirement specification (SRS)Requirement specification (SRS)
Requirement specification (SRS)kunj desai
 
Requirements prioritization
Requirements prioritizationRequirements prioritization
Requirements prioritizationSyed Zaid Irshad
 
Software Engineering- Requirement Elicitation and Specification
Software Engineering- Requirement Elicitation and SpecificationSoftware Engineering- Requirement Elicitation and Specification
Software Engineering- Requirement Elicitation and SpecificationNishu Rastogi
 
Software Requirements
Software RequirementsSoftware Requirements
Software RequirementsNethan Shaik
 
Software Quality Attributes
Software Quality AttributesSoftware Quality Attributes
Software Quality AttributesHayim Makabee
 
Software Process Models
Software Process ModelsSoftware Process Models
Software Process ModelsHassan A-j
 
Software maintenance
Software maintenance Software maintenance
Software maintenance Rajeev Sharan
 
Software testing & Quality Assurance
Software testing & Quality Assurance Software testing & Quality Assurance
Software testing & Quality Assurance Webtech Learning
 
Requirement analysis and specification
Requirement analysis and specificationRequirement analysis and specification
Requirement analysis and specificationM.E. at GTU- PG School
 
Non Functional Requirement.
Non Functional Requirement.Non Functional Requirement.
Non Functional Requirement.Khushboo Shaukat
 

Mais procurados (20)

Requirement Engineering
Requirement EngineeringRequirement Engineering
Requirement Engineering
 
Requirements analysis
Requirements analysisRequirements analysis
Requirements analysis
 
Requirement specification (SRS)
Requirement specification (SRS)Requirement specification (SRS)
Requirement specification (SRS)
 
Requirements prioritization
Requirements prioritizationRequirements prioritization
Requirements prioritization
 
Software Engineering- Requirement Elicitation and Specification
Software Engineering- Requirement Elicitation and SpecificationSoftware Engineering- Requirement Elicitation and Specification
Software Engineering- Requirement Elicitation and Specification
 
Software development process models
Software development process modelsSoftware development process models
Software development process models
 
Software Requirements
Software RequirementsSoftware Requirements
Software Requirements
 
Unit 2
Unit 2Unit 2
Unit 2
 
software engineering
software engineeringsoftware engineering
software engineering
 
Software process
Software processSoftware process
Software process
 
Software Quality Attributes
Software Quality AttributesSoftware Quality Attributes
Software Quality Attributes
 
Software Process Models
Software Process ModelsSoftware Process Models
Software Process Models
 
software characteristics
software characteristicssoftware characteristics
software characteristics
 
System testing
System testingSystem testing
System testing
 
Software maintenance
Software maintenance Software maintenance
Software maintenance
 
Software testing & Quality Assurance
Software testing & Quality Assurance Software testing & Quality Assurance
Software testing & Quality Assurance
 
Software Metrics
Software MetricsSoftware Metrics
Software Metrics
 
Requirement analysis and specification
Requirement analysis and specificationRequirement analysis and specification
Requirement analysis and specification
 
Functional and non functional
Functional and non functionalFunctional and non functional
Functional and non functional
 
Non Functional Requirement.
Non Functional Requirement.Non Functional Requirement.
Non Functional Requirement.
 

Semelhante a Software requirements

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
 
Software engineering lecture 1
Software engineering  lecture 1Software engineering  lecture 1
Software engineering lecture 1JusperKato
 
Requirements engineering
Requirements engineeringRequirements engineering
Requirements engineeringAyaz Ahmed
 
Requirements engineering
Requirements engineeringRequirements engineering
Requirements engineeringAyaz Shariff
 
Un it 2-se-mod-staff
Un it 2-se-mod-staffUn it 2-se-mod-staff
Un it 2-se-mod-staffvijisvs2012
 
SE Unit 2(1).pptx
SE Unit 2(1).pptxSE Unit 2(1).pptx
SE Unit 2(1).pptxaryan631999
 
2nd MODULE Software Requirements _ SW ENGG 22CSE141.pdf
2nd MODULE  Software Requirements   _ SW ENGG  22CSE141.pdf2nd MODULE  Software Requirements   _ SW ENGG  22CSE141.pdf
2nd MODULE Software Requirements _ SW ENGG 22CSE141.pdfJayanthi Kannan MK
 
Software Requrement
Software RequrementSoftware Requrement
Software RequrementSeif Shaame
 
04 fse understandingrequirements
04 fse understandingrequirements04 fse understandingrequirements
04 fse understandingrequirementsMohesh Chandran
 
Software requirement and specification
Software requirement and specificationSoftware requirement and specification
Software requirement and specificationAman Adhikari
 
8 requirements engineering1
8 requirements engineering18 requirements engineering1
8 requirements engineering1Lilia Sfaxi
 
Requirement Analysis
Requirement AnalysisRequirement Analysis
Requirement Analysisgowasat
 
Ch 2 types of reqirement
Ch 2  types of reqirementCh 2  types of reqirement
Ch 2 types of reqirementFish Abe
 
W4 lecture 7&amp;8 - requirements gathering
W4 lecture 7&amp;8 - requirements gatheringW4 lecture 7&amp;8 - requirements gathering
W4 lecture 7&amp;8 - requirements gatheringFareeha Iftikhar
 
INTRODUCTION to software engineering requirements specifications
INTRODUCTION to software engineering requirements specificationsINTRODUCTION to software engineering requirements specifications
INTRODUCTION to software engineering requirements specificationskylan2
 
software requirement specifcation.pptx
software requirement specifcation.pptxsoftware requirement specifcation.pptx
software requirement specifcation.pptxSACHINMAURYA57
 
Requirements engineering
Requirements engineeringRequirements engineering
Requirements engineeringSutha31
 

Semelhante a Software requirements (20)

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 engineering lecture 1
Software engineering  lecture 1Software engineering  lecture 1
Software engineering lecture 1
 
Requirements engineering
Requirements engineeringRequirements engineering
Requirements engineering
 
Requirements engineering
Requirements engineeringRequirements engineering
Requirements engineering
 
Un it 2-se-mod-staff
Un it 2-se-mod-staffUn it 2-se-mod-staff
Un it 2-se-mod-staff
 
SE Unit 2(1).pptx
SE Unit 2(1).pptxSE Unit 2(1).pptx
SE Unit 2(1).pptx
 
2nd MODULE Software Requirements _ SW ENGG 22CSE141.pdf
2nd MODULE  Software Requirements   _ SW ENGG  22CSE141.pdf2nd MODULE  Software Requirements   _ SW ENGG  22CSE141.pdf
2nd MODULE Software Requirements _ SW ENGG 22CSE141.pdf
 
Software Requrement
Software RequrementSoftware Requrement
Software Requrement
 
Software engg unit 2
Software engg unit 2 Software engg unit 2
Software engg unit 2
 
SE-Unit II.pdf
SE-Unit II.pdfSE-Unit II.pdf
SE-Unit II.pdf
 
04 fse understandingrequirements
04 fse understandingrequirements04 fse understandingrequirements
04 fse understandingrequirements
 
Software requirement and specification
Software requirement and specificationSoftware requirement and specification
Software requirement and specification
 
Software Requirements engineering
Software Requirements engineeringSoftware Requirements engineering
Software Requirements engineering
 
8 requirements engineering1
8 requirements engineering18 requirements engineering1
8 requirements engineering1
 
Requirement Analysis
Requirement AnalysisRequirement Analysis
Requirement Analysis
 
Ch 2 types of reqirement
Ch 2  types of reqirementCh 2  types of reqirement
Ch 2 types of reqirement
 
W4 lecture 7&amp;8 - requirements gathering
W4 lecture 7&amp;8 - requirements gatheringW4 lecture 7&amp;8 - requirements gathering
W4 lecture 7&amp;8 - requirements gathering
 
INTRODUCTION to software engineering requirements specifications
INTRODUCTION to software engineering requirements specificationsINTRODUCTION to software engineering requirements specifications
INTRODUCTION to software engineering requirements specifications
 
software requirement specifcation.pptx
software requirement specifcation.pptxsoftware requirement specifcation.pptx
software requirement specifcation.pptx
 
Requirements engineering
Requirements engineeringRequirements engineering
Requirements engineering
 

Mais de Dr. Loganathan R

Ch 6 IoT Processing Topologies and Types.pdf
Ch 6 IoT Processing Topologies and Types.pdfCh 6 IoT Processing Topologies and Types.pdf
Ch 6 IoT Processing Topologies and Types.pdfDr. Loganathan R
 
IoT Sensing and Actuation.pdf
 IoT Sensing and Actuation.pdf IoT Sensing and Actuation.pdf
IoT Sensing and Actuation.pdfDr. Loganathan R
 
Program in ‘C’ language to implement linear search using pointers
Program in ‘C’ language to implement linear search using pointersProgram in ‘C’ language to implement linear search using pointers
Program in ‘C’ language to implement linear search using pointersDr. Loganathan R
 
Implement a queue using two stacks.
Implement a queue using two stacks.Implement a queue using two stacks.
Implement a queue using two stacks.Dr. Loganathan R
 
Bcsl 033 data and file structures lab s5-3
Bcsl 033 data and file structures lab s5-3Bcsl 033 data and file structures lab s5-3
Bcsl 033 data and file structures lab s5-3Dr. Loganathan R
 
Bcsl 033 data and file structures lab s5-2
Bcsl 033 data and file structures lab s5-2Bcsl 033 data and file structures lab s5-2
Bcsl 033 data and file structures lab s5-2Dr. Loganathan R
 
Bcsl 033 data and file structures lab s4-3
Bcsl 033 data and file structures lab s4-3Bcsl 033 data and file structures lab s4-3
Bcsl 033 data and file structures lab s4-3Dr. Loganathan R
 
Bcsl 033 data and file structures lab s4-2
Bcsl 033 data and file structures lab s4-2Bcsl 033 data and file structures lab s4-2
Bcsl 033 data and file structures lab s4-2Dr. Loganathan R
 
Bcsl 033 data and file structures lab s3-3
Bcsl 033 data and file structures lab s3-3Bcsl 033 data and file structures lab s3-3
Bcsl 033 data and file structures lab s3-3Dr. Loganathan R
 
Bcsl 033 data and file structures lab s3-2
Bcsl 033 data and file structures lab s3-2Bcsl 033 data and file structures lab s3-2
Bcsl 033 data and file structures lab s3-2Dr. Loganathan R
 
Bcsl 033 data and file structures lab s3-1
Bcsl 033 data and file structures lab s3-1Bcsl 033 data and file structures lab s3-1
Bcsl 033 data and file structures lab s3-1Dr. Loganathan R
 
Bcsl 033 data and file structures lab s2-3
Bcsl 033 data and file structures lab s2-3Bcsl 033 data and file structures lab s2-3
Bcsl 033 data and file structures lab s2-3Dr. Loganathan R
 
Bcsl 033 data and file structures lab s2-2
Bcsl 033 data and file structures lab s2-2Bcsl 033 data and file structures lab s2-2
Bcsl 033 data and file structures lab s2-2Dr. Loganathan R
 
Bcsl 033 data and file structures lab s2-1
Bcsl 033 data and file structures lab s2-1Bcsl 033 data and file structures lab s2-1
Bcsl 033 data and file structures lab s2-1Dr. Loganathan R
 
Bcsl 033 data and file structures lab s1-4
Bcsl 033 data and file structures lab s1-4Bcsl 033 data and file structures lab s1-4
Bcsl 033 data and file structures lab s1-4Dr. Loganathan R
 
Bcsl 033 data and file structures lab s1-3
Bcsl 033 data and file structures lab s1-3Bcsl 033 data and file structures lab s1-3
Bcsl 033 data and file structures lab s1-3Dr. Loganathan R
 
Bcsl 033 data and file structures lab s1-2
Bcsl 033 data and file structures lab s1-2Bcsl 033 data and file structures lab s1-2
Bcsl 033 data and file structures lab s1-2Dr. Loganathan R
 
Bcsl 033 data and file structures lab s1-1
Bcsl 033 data and file structures lab s1-1Bcsl 033 data and file structures lab s1-1
Bcsl 033 data and file structures lab s1-1Dr. Loganathan R
 
Introduction to Information Security
Introduction to Information SecurityIntroduction to Information Security
Introduction to Information SecurityDr. Loganathan R
 

Mais de Dr. Loganathan R (20)

Ch 6 IoT Processing Topologies and Types.pdf
Ch 6 IoT Processing Topologies and Types.pdfCh 6 IoT Processing Topologies and Types.pdf
Ch 6 IoT Processing Topologies and Types.pdf
 
IoT Sensing and Actuation.pdf
 IoT Sensing and Actuation.pdf IoT Sensing and Actuation.pdf
IoT Sensing and Actuation.pdf
 
Ch 4 Emergence of IoT.pdf
Ch 4 Emergence of IoT.pdfCh 4 Emergence of IoT.pdf
Ch 4 Emergence of IoT.pdf
 
Program in ‘C’ language to implement linear search using pointers
Program in ‘C’ language to implement linear search using pointersProgram in ‘C’ language to implement linear search using pointers
Program in ‘C’ language to implement linear search using pointers
 
Implement a queue using two stacks.
Implement a queue using two stacks.Implement a queue using two stacks.
Implement a queue using two stacks.
 
Bcsl 033 data and file structures lab s5-3
Bcsl 033 data and file structures lab s5-3Bcsl 033 data and file structures lab s5-3
Bcsl 033 data and file structures lab s5-3
 
Bcsl 033 data and file structures lab s5-2
Bcsl 033 data and file structures lab s5-2Bcsl 033 data and file structures lab s5-2
Bcsl 033 data and file structures lab s5-2
 
Bcsl 033 data and file structures lab s4-3
Bcsl 033 data and file structures lab s4-3Bcsl 033 data and file structures lab s4-3
Bcsl 033 data and file structures lab s4-3
 
Bcsl 033 data and file structures lab s4-2
Bcsl 033 data and file structures lab s4-2Bcsl 033 data and file structures lab s4-2
Bcsl 033 data and file structures lab s4-2
 
Bcsl 033 data and file structures lab s3-3
Bcsl 033 data and file structures lab s3-3Bcsl 033 data and file structures lab s3-3
Bcsl 033 data and file structures lab s3-3
 
Bcsl 033 data and file structures lab s3-2
Bcsl 033 data and file structures lab s3-2Bcsl 033 data and file structures lab s3-2
Bcsl 033 data and file structures lab s3-2
 
Bcsl 033 data and file structures lab s3-1
Bcsl 033 data and file structures lab s3-1Bcsl 033 data and file structures lab s3-1
Bcsl 033 data and file structures lab s3-1
 
Bcsl 033 data and file structures lab s2-3
Bcsl 033 data and file structures lab s2-3Bcsl 033 data and file structures lab s2-3
Bcsl 033 data and file structures lab s2-3
 
Bcsl 033 data and file structures lab s2-2
Bcsl 033 data and file structures lab s2-2Bcsl 033 data and file structures lab s2-2
Bcsl 033 data and file structures lab s2-2
 
Bcsl 033 data and file structures lab s2-1
Bcsl 033 data and file structures lab s2-1Bcsl 033 data and file structures lab s2-1
Bcsl 033 data and file structures lab s2-1
 
Bcsl 033 data and file structures lab s1-4
Bcsl 033 data and file structures lab s1-4Bcsl 033 data and file structures lab s1-4
Bcsl 033 data and file structures lab s1-4
 
Bcsl 033 data and file structures lab s1-3
Bcsl 033 data and file structures lab s1-3Bcsl 033 data and file structures lab s1-3
Bcsl 033 data and file structures lab s1-3
 
Bcsl 033 data and file structures lab s1-2
Bcsl 033 data and file structures lab s1-2Bcsl 033 data and file structures lab s1-2
Bcsl 033 data and file structures lab s1-2
 
Bcsl 033 data and file structures lab s1-1
Bcsl 033 data and file structures lab s1-1Bcsl 033 data and file structures lab s1-1
Bcsl 033 data and file structures lab s1-1
 
Introduction to Information Security
Introduction to Information SecurityIntroduction to Information Security
Introduction to Information Security
 

Último

Salient Features of India constitution especially power and functions
Salient Features of India constitution especially power and functionsSalient Features of India constitution especially power and functions
Salient Features of India constitution especially power and functionsKarakKing
 
Graduate Outcomes Presentation Slides - English
Graduate Outcomes Presentation Slides - EnglishGraduate Outcomes Presentation Slides - English
Graduate Outcomes Presentation Slides - Englishneillewis46
 
ICT Role in 21st Century Education & its Challenges.pptx
ICT Role in 21st Century Education & its Challenges.pptxICT Role in 21st Century Education & its Challenges.pptx
ICT Role in 21st Century Education & its Challenges.pptxAreebaZafar22
 
Sensory_Experience_and_Emotional_Resonance_in_Gabriel_Okaras_The_Piano_and_Th...
Sensory_Experience_and_Emotional_Resonance_in_Gabriel_Okaras_The_Piano_and_Th...Sensory_Experience_and_Emotional_Resonance_in_Gabriel_Okaras_The_Piano_and_Th...
Sensory_Experience_and_Emotional_Resonance_in_Gabriel_Okaras_The_Piano_and_Th...Pooja Bhuva
 
Google Gemini An AI Revolution in Education.pptx
Google Gemini An AI Revolution in Education.pptxGoogle Gemini An AI Revolution in Education.pptx
Google Gemini An AI Revolution in Education.pptxDr. Sarita Anand
 
General Principles of Intellectual Property: Concepts of Intellectual Proper...
General Principles of Intellectual Property: Concepts of Intellectual  Proper...General Principles of Intellectual Property: Concepts of Intellectual  Proper...
General Principles of Intellectual Property: Concepts of Intellectual Proper...Poonam Aher Patil
 
Holdier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdfHoldier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdfagholdier
 
Single or Multiple melodic lines structure
Single or Multiple melodic lines structureSingle or Multiple melodic lines structure
Single or Multiple melodic lines structuredhanjurrannsibayan2
 
Wellbeing inclusion and digital dystopias.pptx
Wellbeing inclusion and digital dystopias.pptxWellbeing inclusion and digital dystopias.pptx
Wellbeing inclusion and digital dystopias.pptxJisc
 
Unit 3 Emotional Intelligence and Spiritual Intelligence.pdf
Unit 3 Emotional Intelligence and Spiritual Intelligence.pdfUnit 3 Emotional Intelligence and Spiritual Intelligence.pdf
Unit 3 Emotional Intelligence and Spiritual Intelligence.pdfDr Vijay Vishwakarma
 
Beyond_Borders_Understanding_Anime_and_Manga_Fandom_A_Comprehensive_Audience_...
Beyond_Borders_Understanding_Anime_and_Manga_Fandom_A_Comprehensive_Audience_...Beyond_Borders_Understanding_Anime_and_Manga_Fandom_A_Comprehensive_Audience_...
Beyond_Borders_Understanding_Anime_and_Manga_Fandom_A_Comprehensive_Audience_...Pooja Bhuva
 
Accessible Digital Futures project (20/03/2024)
Accessible Digital Futures project (20/03/2024)Accessible Digital Futures project (20/03/2024)
Accessible Digital Futures project (20/03/2024)Jisc
 
How to Manage Global Discount in Odoo 17 POS
How to Manage Global Discount in Odoo 17 POSHow to Manage Global Discount in Odoo 17 POS
How to Manage Global Discount in Odoo 17 POSCeline George
 
SOC 101 Demonstration of Learning Presentation
SOC 101 Demonstration of Learning PresentationSOC 101 Demonstration of Learning Presentation
SOC 101 Demonstration of Learning Presentationcamerronhm
 
How to setup Pycharm environment for Odoo 17.pptx
How to setup Pycharm environment for Odoo 17.pptxHow to setup Pycharm environment for Odoo 17.pptx
How to setup Pycharm environment for Odoo 17.pptxCeline George
 
HMCS Max Bernays Pre-Deployment Brief (May 2024).pptx
HMCS Max Bernays Pre-Deployment Brief (May 2024).pptxHMCS Max Bernays Pre-Deployment Brief (May 2024).pptx
HMCS Max Bernays Pre-Deployment Brief (May 2024).pptxEsquimalt MFRC
 
Towards a code of practice for AI in AT.pptx
Towards a code of practice for AI in AT.pptxTowards a code of practice for AI in AT.pptx
Towards a code of practice for AI in AT.pptxJisc
 
Understanding Accommodations and Modifications
Understanding  Accommodations and ModificationsUnderstanding  Accommodations and Modifications
Understanding Accommodations and ModificationsMJDuyan
 
Fostering Friendships - Enhancing Social Bonds in the Classroom
Fostering Friendships - Enhancing Social Bonds  in the ClassroomFostering Friendships - Enhancing Social Bonds  in the Classroom
Fostering Friendships - Enhancing Social Bonds in the ClassroomPooky Knightsmith
 

Último (20)

Salient Features of India constitution especially power and functions
Salient Features of India constitution especially power and functionsSalient Features of India constitution especially power and functions
Salient Features of India constitution especially power and functions
 
Graduate Outcomes Presentation Slides - English
Graduate Outcomes Presentation Slides - EnglishGraduate Outcomes Presentation Slides - English
Graduate Outcomes Presentation Slides - English
 
ICT Role in 21st Century Education & its Challenges.pptx
ICT Role in 21st Century Education & its Challenges.pptxICT Role in 21st Century Education & its Challenges.pptx
ICT Role in 21st Century Education & its Challenges.pptx
 
Sensory_Experience_and_Emotional_Resonance_in_Gabriel_Okaras_The_Piano_and_Th...
Sensory_Experience_and_Emotional_Resonance_in_Gabriel_Okaras_The_Piano_and_Th...Sensory_Experience_and_Emotional_Resonance_in_Gabriel_Okaras_The_Piano_and_Th...
Sensory_Experience_and_Emotional_Resonance_in_Gabriel_Okaras_The_Piano_and_Th...
 
Google Gemini An AI Revolution in Education.pptx
Google Gemini An AI Revolution in Education.pptxGoogle Gemini An AI Revolution in Education.pptx
Google Gemini An AI Revolution in Education.pptx
 
General Principles of Intellectual Property: Concepts of Intellectual Proper...
General Principles of Intellectual Property: Concepts of Intellectual  Proper...General Principles of Intellectual Property: Concepts of Intellectual  Proper...
General Principles of Intellectual Property: Concepts of Intellectual Proper...
 
Holdier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdfHoldier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdf
 
Single or Multiple melodic lines structure
Single or Multiple melodic lines structureSingle or Multiple melodic lines structure
Single or Multiple melodic lines structure
 
Wellbeing inclusion and digital dystopias.pptx
Wellbeing inclusion and digital dystopias.pptxWellbeing inclusion and digital dystopias.pptx
Wellbeing inclusion and digital dystopias.pptx
 
Unit 3 Emotional Intelligence and Spiritual Intelligence.pdf
Unit 3 Emotional Intelligence and Spiritual Intelligence.pdfUnit 3 Emotional Intelligence and Spiritual Intelligence.pdf
Unit 3 Emotional Intelligence and Spiritual Intelligence.pdf
 
Beyond_Borders_Understanding_Anime_and_Manga_Fandom_A_Comprehensive_Audience_...
Beyond_Borders_Understanding_Anime_and_Manga_Fandom_A_Comprehensive_Audience_...Beyond_Borders_Understanding_Anime_and_Manga_Fandom_A_Comprehensive_Audience_...
Beyond_Borders_Understanding_Anime_and_Manga_Fandom_A_Comprehensive_Audience_...
 
Accessible Digital Futures project (20/03/2024)
Accessible Digital Futures project (20/03/2024)Accessible Digital Futures project (20/03/2024)
Accessible Digital Futures project (20/03/2024)
 
How to Manage Global Discount in Odoo 17 POS
How to Manage Global Discount in Odoo 17 POSHow to Manage Global Discount in Odoo 17 POS
How to Manage Global Discount in Odoo 17 POS
 
SOC 101 Demonstration of Learning Presentation
SOC 101 Demonstration of Learning PresentationSOC 101 Demonstration of Learning Presentation
SOC 101 Demonstration of Learning Presentation
 
How to setup Pycharm environment for Odoo 17.pptx
How to setup Pycharm environment for Odoo 17.pptxHow to setup Pycharm environment for Odoo 17.pptx
How to setup Pycharm environment for Odoo 17.pptx
 
Mehran University Newsletter Vol-X, Issue-I, 2024
Mehran University Newsletter Vol-X, Issue-I, 2024Mehran University Newsletter Vol-X, Issue-I, 2024
Mehran University Newsletter Vol-X, Issue-I, 2024
 
HMCS Max Bernays Pre-Deployment Brief (May 2024).pptx
HMCS Max Bernays Pre-Deployment Brief (May 2024).pptxHMCS Max Bernays Pre-Deployment Brief (May 2024).pptx
HMCS Max Bernays Pre-Deployment Brief (May 2024).pptx
 
Towards a code of practice for AI in AT.pptx
Towards a code of practice for AI in AT.pptxTowards a code of practice for AI in AT.pptx
Towards a code of practice for AI in AT.pptx
 
Understanding Accommodations and Modifications
Understanding  Accommodations and ModificationsUnderstanding  Accommodations and Modifications
Understanding Accommodations and Modifications
 
Fostering Friendships - Enhancing Social Bonds in the Classroom
Fostering Friendships - Enhancing Social Bonds  in the ClassroomFostering Friendships - Enhancing Social Bonds  in the Classroom
Fostering Friendships - Enhancing Social Bonds in the Classroom
 

Software requirements

  • 1. Software Requirements Loganathan R
  • 2. Objectives • To introduce the concepts of user requirements and system requirements • To describe functional and non-functional requirements • To explain how software requirements may be organised in a requirements document Prof. Loganathan R., CSE, HKBKCE 2
  • 3. Requirements engineering • The process of finding out, analysing, documenting, and checking the services that the customer requires from a system and its operational constraints is called RE. • Requirement may range from a high-level abstract statement of a service or of a system constraint to a detailed mathematical functional specification. Prof. Loganathan R., CSE, HKBKCE 3
  • 4. Requirements abstraction (Davis) “If a company wishes to let a contract for a large software development project, it must define its needs in a sufficiently abstract way that a solution is not pre-defined. The requirements must be written so that several contractors can bid for the contract, offering, perhaps, different ways of meeting the client organisation’s needs. Once a contract has been awarded, the contractor must write a system definition for the client in more detail so that the client understands and can validate what the software will do. Both of these documents may be called the requirements document for the system.” Prof. Loganathan R., CSE, HKBKCE 4
  • 5. Types of requirement • User requirements (high level abstract requirements) – Statements in natural language plus diagrams of what services the system provides and its operational constraints. Written for customers. • System requirements (description of what system should do) – A structured document(also called functional specification) 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. Prof. Loganathan R., CSE, HKBKCE 5
  • 6. Definitions and specifications User requirement Definition 1. LIBSYS shall keep track of all data required by copyright licensing 1. agencies in INDIA and elsewhere System Requirements Specification 1.1 On making a request for a document from LIBSYS, the requestor shall be presented with a form that records details of user and the request made . 1.2 LIBSYS request forms shall be stored on the system for 5 years from the date of the request. 1.3 All LIBSYS request forms must be indexed by user, by the name of the . material requested and by the supplier of the request . 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 have registered with LIBSYS. Prof. Loganathan R., CSE, HKBKCE 6
  • 7. Requirements readers Client Managers System End-Users User Client Engineers Requirements Contractor Managers System Architect System End-Users System Client Engineers Requirements System Architect Software Developers Prof. Loganathan R., CSE, HKBKCE 7
  • 8. Functional and non-functional requirements • Software system requirements are classified as: • 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(and sometimes what it should NOT do). • Non-functional requirements – constraints on the services or functions offered by the system such as timing constraints, constraints on the development process, standards, etc. Apply to the system as whole. • Domain requirements – Requirements that come from the application domain of the system and that reflect characteristics of that domain. Prof. Loganathan R., CSE, HKBKCE 8
  • 9. Functional requirements • Describe what the system should do. • 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, its i/o, exceptions and so on. Prof. Loganathan R., CSE, HKBKCE 9
  • 10. Example: The LIBSYS system • A library system that provides a single interface to a number of databases of articles in different libraries. • Users can search for, download and print these articles for personal study. Prof. Loganathan R., CSE, HKBKCE 10
  • 11. Examples of functional requirements of 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. Prof. Loganathan R., CSE, HKBKCE 11
  • 12. 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. Prof. Loganathan R., CSE, HKBKCE 12
  • 13. Requirements completeness and consistency • In principle, requirements should be both complete and consistent. • Completeness – All services required by the user should be defined. • Consistent – Requirements should NOT have conflicts or contradictions in the descriptions. • In practice, it is impossible to produce a complete and consistent requirements document. Prof. Loganathan R., CSE, HKBKCE 13
  • 14. Non-functional requirements • Related to emergent properties and constraints . Emergent properties are reliability, response time, storage requirements and so on. Constraints are I/O device capability, data representations, etc. • Process requirements may also be specified mandating a particular CASE system, programming language or development method. • Non-functional requirements may be more critical than functional requirements. If these are not met, the system is useless. Prof. Loganathan R., CSE, HKBKCE 14
  • 15. Non-functional requirement types • Product requirements – Specify product behaviour. E.g. execution speed, memory required, reliability (failure rate), portability requirements, usability requirements, etc. • Organisational requirements – Derived from customer and developer organisational policies and procedures. e.g. process standards used, implementation requirements, delivery requirements, etc. • External requirements – Derived from factors which are external to the system and its development process e.g. interoperability requirements, legislative requirements, ethical requirements etc. Prof. Loganathan R., CSE, HKBKCE 15
  • 16. Non-functional requirement types Non-functional Requirements Product Organisational External Requirements Requirements Requirements Efficiency Reliability Portability Interoperability Ethical Requirements Requirements Requirements Requirements Requirements Usability Delivery Implementation Standards Legislative Requirements Requirements Requirements Requirements Requirements Performance Space Privacy Safety Requirements Requirements Requirements Requirements Prof. Loganathan R., CSE, HKBKCE 16
  • 17. LIBSYS Non-functional requirements • 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. Prof. Loganathan R., CSE, HKBKCE 17
  • 18. Problems in non-functional requirements • Non-functional requirements may be very difficult to state precisely and imprecise requirements may be difficult to verify. • Goal – A general intention of the user such as ease of use, recovery from failure, etc. • Verifiable non-functional requirement – A statement using some measure that can be objectively tested. • Goals are helpful to developers as they convey the intentions of the system users. Prof. Loganathan R., CSE, HKBKCE 18
  • 19. Examples • A system goal – The system should be easy to use by experienced controllers and should be organised in such a way that user errors are minimised. • 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 by experienced users shall not exceed two per day. Prof. Loganathan R., CSE, HKBKCE 19
  • 20. Requirements Measures Property Measure Processed transactions/second Speed User/Event response time Screen refresh time M Bytes Size Number of ROM chips Training time Ease of use Number of help frames Mean time to failure Probability of unavailability Reliability Rate of failure occurrence Availability Time to restart after failure Robustness Percentage of events causing failure Probability of data corruption on failure Percentage of target dependent statements Portability Number of target systems Prof. Loganathan R., CSE, HKBKCE 20
  • 21. Requirements interaction • Conflicts between different non-functional requirements are common in complex systems. • Example :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? Prof. Loganathan R., CSE, HKBKCE 21
  • 22. Domain requirements • Derived from the application domain and describe system characteristics and features that reflect the domain. • Domain requirements be new functional requirements, constraints on existing requirements or define specific computations. • If domain requirements are not satisfied, the system may be unworkable. Prof. Loganathan R., CSE, HKBKCE 22
  • 23. Example of LIBSYS domain requirements • There shall be a standard user interface to all databases which shall be based on the Z39.50 standard. • Because of copyright restrictions, some documents must be deleted immediately on arrival. Depending on the user’s requirements, these documents will either be printed locally on the system server for manually forwarding to the user or routed to a network printer. Prof. Loganathan R., CSE, HKBKCE 23
  • 24. Example : Train protection system • Computation of deceleration to stop the train: The deceleration of the train shall be computed as: Dtrain = Dcontrol + Dgradient where Dgradient is 9.81ms2 * compensated gradient/alpha and where the values of 9.81ms2 /alpha are known for different types of train. • Problem: Since it is written in application domain language its difficult to understand by s/w engineers. Prof. Loganathan R., CSE, HKBKCE 24
  • 25. 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. Prof. Loganathan R., CSE, HKBKCE 25
  • 26. 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. Prof. Loganathan R., CSE, HKBKCE 26
  • 27. Problems with natural language(UR) • 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. Prof. Loganathan R., CSE, HKBKCE 27
  • 28. A user requirement for 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 managers may configure this system so that regular users may receive discounted rates. Prof. Loganathan R., CSE, HKBKCE 28
  • 29. A user requirement for Editor grid in LIBSYS 2.6 Grid facilities To assist in the positioning of entities on a diagram, the user may turn on a grid in either centimetres or inches, via an option on the control panel. Initially, the grid is off. The grid may be turned on and off at any time during an editing session and can be toggled between inches and centimetres at any time. A grid option will be provided on the reduce-to-fit view but the number of grid lines shown will be reduced to avoid filling the smaller diagram with grid lines. Prof. Loganathan R., CSE, HKBKCE 29
  • 30. Requirement problems • Database requirements includes both conceptual and detailed information – Describes the concept of a financial accounting system that is to be included in LIBSYS; – However, it also includes the detail that managers can configure this system - this is unnecessary at this level. • Grid requirement mixes three different kinds of requirement – Conceptual functional requirement is the need for a grid. It presents rationale for this – Non-functional requirement of grid units (inches/cm) – Non-functional UI requirement grid switching(on/off) Prof. Loganathan R., CSE, HKBKCE 30
  • 31. Definition of an editor grid facility • Grid requirements are rewritten to focus on the essential system feature 2.6.1 Grid facilities The editor shall provide a grid facility where a matrix of horizontal and vertical lines provide a background to the editor window. This grid shall be a passive grid where the alignment of entities is the user's responsibility. Rationale: A grid helps the user to create a tidy diagram with well- spaced entities. Although an active grid, where entities 'snap-to' grid lines can be useful, the positioning is imprecise. The user is the best person to decide where entities should be positioned. Specification: ECLIPSE/WS/Tools/DE/FS Section 5.6 Source: Ray Wilson, Glasgow Office Prof. Loganathan R., CSE, HKBKCE 31
  • 32. Guidelines for writing User 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(Bold, Italic or Colour) to identify key parts of the requirement. • Avoid the use of computer jargon. Prof. Loganathan R., CSE, HKBKCE 32
  • 33. 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. • Natural Language(NL) is often used to write system requirements specification as well as user requirements. Prof. Loganathan R., CSE, HKBKCE 33
  • 34. Inseparable : Requirements and design • In principle, requirements should state what the system should do and the design should describe how it does this. • In practice, requirements and design are inseparable – A system architecture may be designed to structure the requirements; – The system may inter-operate with other systems that generate design requirements; – The use of a specific design may be a domain requirement. Prof. Loganathan R., CSE, HKBKCE 34
  • 35. Problems with NL specification(Sys Req.) • Ambiguity – The readers and writers of the requirement must interpret the same words in the same way. NL is naturally ambiguous so this is very difficult. • Over-flexibility – The same thing may be said in a number of different ways in the specification. • Lack of modularisation – NL structures are inadequate to structure system requirements. Prof. Loganathan R., CSE, HKBKCE 35
  • 36. Notations for requirements specification • These can be used as alternatives to NL specification Notation Description Structured natural This approach depends on defining standard forms or templates to express the language requirements specification. Design description This approach uses a language like a programming language but with more languages abstract features to specify the requirements by defining an operational model of the system. This approach is not now widely used although it can be useful for interface specifications. Graphical notations A graphical language, supplemented by text annotations is used to define the 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 specifications machines or 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. Prof. Loganathan R., CSE, HKBKCE 36
  • 37. Structured Language Specifications • The freedom of the requirements writer is limited by a predefined template for requirements. • All requirements are written in a standard way. • The terminology used in the description may be limited. • The advantage is that the most of the expressiveness of natural language is maintained but a degree of uniformity is imposed on the specification. Prof. Loganathan R., CSE, HKBKCE 37
  • 38. Form-based Approach • One or more standard forms/templates are designed to express the requirements. It should include the following information. – Description of the function or entity. – Description of inputs and where they come from. – Description of outputs and where they go to. – Indication of what other entities required. – Description of action to be taken. – Pre and post conditions what must be true before & after function call(if appropriate). – Description the side effects (if any) of the function. Prof. Loganathan R., CSE, HKBKCE 38
  • 39. Form-based specification Example Insulin Pump/Control Software/SRS/3.3.2 Function Compute insulin dose: Safe sugar level Description Computes the dose of insulin to be delivered when the current measured sugar level is in the safe zone between 3 and 7 units Inputs Current sugar reading (r2), the previous two readings (r0 and r1) Source Current sugar reading from sensor. Other readings from memory. Outputs CompDose – the dose in insulin to be delivered Destination Main control loop Action CompDose is zero if the sugar level is stable or falling or if the level is increasing but the rate of increase is decreasing. If the level is increasing and the rate of increase is increasing, then CompDose is computed by dividing the difference between the current sugar level and the previous level by 4 and rounding the result. If the result, is rounded to zero then CompDose is set to the minimum dose that can be delivered. Requires Two previous readings so that the rate of change of sugar level can be computed. Pre-condition The insulin reservoir contains at least the maximum allowed single dose of insulin Post-condition r0 is replaced by r1 then r1 is replaced by r2 Side-effects None Prof. Loganathan R., CSE, HKBKCE 39
  • 40. Tabular specification • Used to supplement natural language. • Particularly useful when you have to define a number of possible alternative courses of action. • Example : Tabular specification of computation Condition Action Sugar level falling (r2 < r1) CompDose = 0 Sugar level stable (r2 = r1) CompDose = 0 Sugar level increasing and rate of increase CompDose = 0 decreasing ((r2-r1)<(r1-r0)) CompDose = round ((r2-r1)/4) Sugar level increasing and rate of increase If rounded result = 0 then stable or increasing. ((r2-r1) ≥ (r1-r0)) CompDose = MinimumDose Prof. Loganathan R., CSE, HKBKCE 40
  • 41. Graphical models • Graphical models are most useful when you need to show how state changes or where you need to describe a sequence of actions. • Example Sequence diagrams • These show the sequence of events that take place during some user interaction with a system. • Read them from top to bottom to see the order of the actions that take place. • Cash withdrawal from an ATM – Validate card : By checking the card number and user’s PIN – Handle request : user requests are handled. Query database for withdrawal – Complete transaction: return the card and deliver cash & receipt. Prof. Loganathan R., CSE, HKBKCE 41
  • 42. Sequence diagram of ATM withdrawal ATM Database Card Card number Card OK PIN request PIN Option menu Validate card <<exception>> invalid card Withdraw request Balance request Balance Amount request Amount Handle request Debit (amount) <<exception>> Debit response Insufficient cash Card Card removed Complete Cash transaction Cash removed Receipt 42 Prof. Loganathan R., CSE, HKBKCE
  • 43. Interface specification • Most systems must operate with other systems and the operating interfaces must be specified as part of the requirements. • Three types of interface may have to be defined – Procedural interfaces : APIs; – Data structures : Passed from one subsystem to another – Data representations (ordering of bits) : for existing subsystem • Formal notations(Program Design Language - PDL) are an effective technique for interface specification. Prof. Loganathan R., CSE, HKBKCE 43
  • 44. PDL interface description interface PrintServer { // defines an abstract printer server // requires: interface Printer, interface PrintDoc // provides: initialize, print, displayPrintQueue, cancelPrintJob, switchPrinter void initialize ( Printer p ) ; void print ( Printer p, PrintDoc d ) ; void displayPrintQueue ( Printer p ) ; void cancelPrintJob (Printer p, PrintDoc d) ; void switchPrinter (Printer p1, Printer p2, PrintDoc d) ; } //PrintServer Prof. Loganathan R., CSE, HKBKCE 44
  • 45. The Software 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 Prof. Loganathan R., CSE, HKBKCE 45
  • 46. Users of a requirements document Specify the requirements and read them to check that they System meet their needs. They Customers specify changes to the requirements Use the requirements document to plan a bid for Managers the system and to plan the system development process Use the requirements to System understand what system is to Engineers be developed Use the requirements to System Test develop validation tests for Engineers the system Use the requirements to help System understand the system and Maintenance the relationships between its Engineers parts 46 Prof. Loganathan R., CSE, HKBKCE
  • 47. IEEE requirements standard • Defines a structure for a requirements document. 1. Introduction. 1.1 Purpose of the requirements document 1.2 Scope of the product 1.3 Definition, acronyms & abbreviations 1.4 References 1.5 Overview of the remainder of the document 2. General description. 2.1 Product perspective 2.2 Product functions 2.3 User characteristics 2.4 General constraints 2.5 Assumptions & dependencies 3. Specific requirements.(covers functional, non-functional & interface requirements) 4. Appendices. 5. Index. Prof. Loganathan R., CSE, HKBKCE 47
  • 48. Requirements document structure • Organisation for a requirements document based on IEEE standard – Preface : Defines expected readership, version history & changes in each version – Introduction : Describes the needs of the system – Glossary : Defines technical terms used in the document – User requirements definition : Describes services provided & non- functional requirements – System architecture : Presents high level overview of system – System requirements specification : Describes functional & non- functional requirements in detail – System models : Provides 1 or more system models – System evolution : Describes anticipated changes – Appendices – Index Prof. Loganathan R., CSE, HKBKCE 48