尊敬的 微信汇率:1円 ≈ 0.046166 元 支付宝汇率:1円 ≈ 0.046257元 [退出登录]
SlideShare a Scribd company logo
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

More Related Content

What's hot

Formal Specification in Software Engineering SE9
Formal Specification in Software Engineering SE9Formal Specification in Software Engineering SE9
Formal Specification in Software Engineering SE9
koolkampus
 
PRESCRIPTIVE PROCESS MODEL(SOFTWARE ENGINEERING)
PRESCRIPTIVE PROCESS MODEL(SOFTWARE ENGINEERING)PRESCRIPTIVE PROCESS MODEL(SOFTWARE ENGINEERING)
PRESCRIPTIVE PROCESS MODEL(SOFTWARE ENGINEERING)
IrtazaAfzal3
 
Organization and team structures
Organization and team structuresOrganization and team structures
Organization and team structures
Nur Islam
 
Waterfall model
Waterfall modelWaterfall model
Waterfall model
BHARGAV VISANI
 
Designing Techniques in Software Engineering
Designing Techniques in Software EngineeringDesigning Techniques in Software Engineering
Designing Techniques in Software Engineering
kirupasuchi1996
 
Fundamental design concepts
Fundamental design conceptsFundamental design concepts
Fundamental design concepts
srijavel
 
Function Oriented Design
Function Oriented DesignFunction Oriented Design
Function Oriented Design
Sharath g
 
Software maintenance Unit5
Software maintenance  Unit5Software maintenance  Unit5
Software maintenance Unit5
Mohammad Faizan
 
Spiral model presentation
Spiral model presentationSpiral model presentation
Spiral model presentation
SayedFarhan110
 
Software Requirement Specification
Software Requirement SpecificationSoftware Requirement Specification
Software Requirement Specification
Niraj Kumar
 
Software requirement and specification
Software requirement and specificationSoftware requirement and specification
Software requirement and specification
Aman Adhikari
 
Introduction to Software Engineering
Introduction to Software EngineeringIntroduction to Software Engineering
Introduction to Software Engineering
Saqib Raza
 
Software engineering project management
Software engineering project managementSoftware engineering project management
Software engineering project management
jhudyne
 
Software testing ppt
Software testing pptSoftware testing ppt
Software testing ppt
Heritage Institute Of Tech,India
 
Software project management
Software project managementSoftware project management
Software project management
R A Akerkar
 
Software Requirements in Software Engineering SE5
Software Requirements in Software Engineering SE5Software Requirements in Software Engineering SE5
Software Requirements in Software Engineering SE5
koolkampus
 
Software Engineering : Requirement Analysis & Specification
Software Engineering : Requirement Analysis & SpecificationSoftware Engineering : Requirement Analysis & Specification
Software Engineering : Requirement Analysis & Specification
Ajit Nayak
 
Software engineering a practitioners approach 8th edition pressman solutions ...
Software engineering a practitioners approach 8th edition pressman solutions ...Software engineering a practitioners approach 8th edition pressman solutions ...
Software engineering a practitioners approach 8th edition pressman solutions ...
Drusilla918
 
Software engineering lecture notes
Software engineering lecture notesSoftware engineering lecture notes
Software engineering lecture notes
Siva Ayyakutti
 
Use Case Diagram
Use Case DiagramUse Case Diagram
Use Case Diagram
Kumar
 

What's hot (20)

Formal Specification in Software Engineering SE9
Formal Specification in Software Engineering SE9Formal Specification in Software Engineering SE9
Formal Specification in Software Engineering SE9
 
PRESCRIPTIVE PROCESS MODEL(SOFTWARE ENGINEERING)
PRESCRIPTIVE PROCESS MODEL(SOFTWARE ENGINEERING)PRESCRIPTIVE PROCESS MODEL(SOFTWARE ENGINEERING)
PRESCRIPTIVE PROCESS MODEL(SOFTWARE ENGINEERING)
 
Organization and team structures
Organization and team structuresOrganization and team structures
Organization and team structures
 
Waterfall model
Waterfall modelWaterfall model
Waterfall model
 
Designing Techniques in Software Engineering
Designing Techniques in Software EngineeringDesigning Techniques in Software Engineering
Designing Techniques in Software Engineering
 
Fundamental design concepts
Fundamental design conceptsFundamental design concepts
Fundamental design concepts
 
Function Oriented Design
Function Oriented DesignFunction Oriented Design
Function Oriented Design
 
Software maintenance Unit5
Software maintenance  Unit5Software maintenance  Unit5
Software maintenance Unit5
 
Spiral model presentation
Spiral model presentationSpiral model presentation
Spiral model presentation
 
Software Requirement Specification
Software Requirement SpecificationSoftware Requirement Specification
Software Requirement Specification
 
Software requirement and specification
Software requirement and specificationSoftware requirement and specification
Software requirement and specification
 
Introduction to Software Engineering
Introduction to Software EngineeringIntroduction to Software Engineering
Introduction to Software Engineering
 
Software engineering project management
Software engineering project managementSoftware engineering project management
Software engineering project management
 
Software testing ppt
Software testing pptSoftware testing ppt
Software testing ppt
 
Software project management
Software project managementSoftware project management
Software project management
 
Software Requirements in Software Engineering SE5
Software Requirements in Software Engineering SE5Software Requirements in Software Engineering SE5
Software Requirements in Software Engineering SE5
 
Software Engineering : Requirement Analysis & Specification
Software Engineering : Requirement Analysis & SpecificationSoftware Engineering : Requirement Analysis & Specification
Software Engineering : Requirement Analysis & Specification
 
Software engineering a practitioners approach 8th edition pressman solutions ...
Software engineering a practitioners approach 8th edition pressman solutions ...Software engineering a practitioners approach 8th edition pressman solutions ...
Software engineering a practitioners approach 8th edition pressman solutions ...
 
Software engineering lecture notes
Software engineering lecture notesSoftware engineering lecture notes
Software engineering lecture notes
 
Use Case Diagram
Use Case DiagramUse Case Diagram
Use Case Diagram
 

Similar to 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 engineering
JavedKhan524377
 
Software engineering lecture 1
Software engineering  lecture 1Software engineering  lecture 1
Software engineering lecture 1
JusperKato
 
Software Requirements
Software RequirementsSoftware Requirements
Software Requirements
Nethan Shaik
 
Requirements engineering
Requirements engineeringRequirements engineering
Requirements engineering
Ayaz Ahmed
 
Requirements engineering
Requirements engineeringRequirements engineering
Requirements engineering
Ayaz Shariff
 
Un it 2-se-mod-staff
Un it 2-se-mod-staffUn it 2-se-mod-staff
Un it 2-se-mod-staff
vijisvs2012
 
SE Unit 2(1).pptx
SE Unit 2(1).pptxSE Unit 2(1).pptx
SE Unit 2(1).pptx
aryan631999
 
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
Jayanthi Kannan MK
 
Software Requrement
Software RequrementSoftware Requrement
Software Requrement
Seif Shaame
 
Software engg unit 2
Software engg unit 2 Software engg unit 2
Software engg unit 2
Vivek Kumar Sinha
 
SE-Unit II.pdf
SE-Unit II.pdfSE-Unit II.pdf
SE-Unit II.pdf
AMITKUMARSINGH756828
 
04 fse understandingrequirements
04 fse understandingrequirements04 fse understandingrequirements
04 fse understandingrequirements
Mohesh Chandran
 
Software Engineering- Requirement Elicitation and Specification
Software Engineering- Requirement Elicitation and SpecificationSoftware Engineering- Requirement Elicitation and Specification
Software Engineering- Requirement Elicitation and Specification
Nishu Rastogi
 
Software requirement and specification
Software requirement and specificationSoftware requirement and specification
Software requirement and specification
Aman Adhikari
 
Software Requirements engineering
Software Requirements engineeringSoftware Requirements engineering
Software Requirements engineering
Md. Shafiuzzaman Hira
 
8 requirements engineering1
8 requirements engineering18 requirements engineering1
8 requirements engineering1
Lilia Sfaxi
 
Requirement Analysis
Requirement AnalysisRequirement Analysis
Requirement Analysis
gowasat
 
Ch 2 types of reqirement
Ch 2  types of reqirementCh 2  types of reqirement
Ch 2 types of reqirement
Fish 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 gathering
Fareeha Iftikhar
 
INTRODUCTION to software engineering requirements specifications
INTRODUCTION to software engineering requirements specificationsINTRODUCTION to software engineering requirements specifications
INTRODUCTION to software engineering requirements specifications
kylan2
 

Similar to 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
 
Software Requirements
Software RequirementsSoftware Requirements
Software Requirements
 
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 Engineering- Requirement Elicitation and Specification
Software Engineering- Requirement Elicitation and SpecificationSoftware Engineering- Requirement Elicitation and Specification
Software Engineering- Requirement Elicitation and Specification
 
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
 

More from 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.pdf
Dr. Loganathan R
 
IoT Sensing and Actuation.pdf
 IoT Sensing and Actuation.pdf IoT Sensing and Actuation.pdf
IoT Sensing and Actuation.pdf
Dr. Loganathan R
 
Ch 4 Emergence of IoT.pdf
Ch 4 Emergence of IoT.pdfCh 4 Emergence of IoT.pdf
Ch 4 Emergence of IoT.pdf
Dr. 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 pointers
Dr. 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-3
Dr. 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-2
Dr. 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-3
Dr. 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-2
Dr. 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-3
Dr. 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-2
Dr. 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-1
Dr. 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-3
Dr. 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-2
Dr. 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-1
Dr. 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-4
Dr. 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-3
Dr. 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-2
Dr. 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-1
Dr. Loganathan R
 
Introduction to Information Security
Introduction to Information SecurityIntroduction to Information Security
Introduction to Information Security
Dr. Loganathan R
 

More from 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
 

Recently uploaded

Decolonizing Universal Design for Learning
Decolonizing Universal Design for LearningDecolonizing Universal Design for Learning
Decolonizing Universal Design for Learning
Frederic Fovet
 
8+8+8 Rule Of Time Management For Better Productivity
8+8+8 Rule Of Time Management For Better Productivity8+8+8 Rule Of Time Management For Better Productivity
8+8+8 Rule Of Time Management For Better Productivity
RuchiRathor2
 
A Quiz on Drug Abuse Awareness by Quizzito
A Quiz on Drug Abuse Awareness by QuizzitoA Quiz on Drug Abuse Awareness by Quizzito
A Quiz on Drug Abuse Awareness by Quizzito
Quizzito The Quiz Society of Gargi College
 
How to Create User Notification in Odoo 17
How to Create User Notification in Odoo 17How to Create User Notification in Odoo 17
How to Create User Notification in Odoo 17
Celine George
 
Science-9-Lesson-1-The Bohr Model-NLC.pptx pptx
Science-9-Lesson-1-The Bohr Model-NLC.pptx pptxScience-9-Lesson-1-The Bohr Model-NLC.pptx pptx
Science-9-Lesson-1-The Bohr Model-NLC.pptx pptx
Catherine Dela Cruz
 
(T.L.E.) Agriculture: "Ornamental Plants"
(T.L.E.) Agriculture: "Ornamental Plants"(T.L.E.) Agriculture: "Ornamental Plants"
(T.L.E.) Agriculture: "Ornamental Plants"
MJDuyan
 
CapTechTalks Webinar Slides June 2024 Donovan Wright.pptx
CapTechTalks Webinar Slides June 2024 Donovan Wright.pptxCapTechTalks Webinar Slides June 2024 Donovan Wright.pptx
CapTechTalks Webinar Slides June 2024 Donovan Wright.pptx
CapitolTechU
 
The Rise of the Digital Telecommunication Marketplace.pptx
The Rise of the Digital Telecommunication Marketplace.pptxThe Rise of the Digital Telecommunication Marketplace.pptx
The Rise of the Digital Telecommunication Marketplace.pptx
PriyaKumari928991
 
How to Create a Stage or a Pipeline in Odoo 17 CRM
How to Create a Stage or a Pipeline in Odoo 17 CRMHow to Create a Stage or a Pipeline in Odoo 17 CRM
How to Create a Stage or a Pipeline in Odoo 17 CRM
Celine George
 
Contiguity Of Various Message Forms - Rupam Chandra.pptx
Contiguity Of Various Message Forms - Rupam Chandra.pptxContiguity Of Various Message Forms - Rupam Chandra.pptx
Contiguity Of Various Message Forms - Rupam Chandra.pptx
Kalna College
 
220711130100 udita Chakraborty Aims and objectives of national policy on inf...
220711130100 udita Chakraborty  Aims and objectives of national policy on inf...220711130100 udita Chakraborty  Aims and objectives of national policy on inf...
220711130100 udita Chakraborty Aims and objectives of national policy on inf...
Kalna College
 
Interprofessional Education Platform Introduction.pdf
Interprofessional Education Platform Introduction.pdfInterprofessional Education Platform Introduction.pdf
Interprofessional Education Platform Introduction.pdf
Ben Aldrich
 
Ethiopia and Eritrea Eritrea's journey has been marked by resilience and dete...
Ethiopia and Eritrea Eritrea's journey has been marked by resilience and dete...Ethiopia and Eritrea Eritrea's journey has been marked by resilience and dete...
Ethiopia and Eritrea Eritrea's journey has been marked by resilience and dete...
biruktesfaye27
 
220711130088 Sumi Basak Virtual University EPC 3.pptx
220711130088 Sumi Basak Virtual University EPC 3.pptx220711130088 Sumi Basak Virtual University EPC 3.pptx
220711130088 Sumi Basak Virtual University EPC 3.pptx
Kalna College
 
nutrition in plants chapter 1 class 7...
nutrition in plants chapter 1 class 7...nutrition in plants chapter 1 class 7...
nutrition in plants chapter 1 class 7...
chaudharyreet2244
 
220711130095 Tanu Pandey message currency, communication speed & control EPC ...
220711130095 Tanu Pandey message currency, communication speed & control EPC ...220711130095 Tanu Pandey message currency, communication speed & control EPC ...
220711130095 Tanu Pandey message currency, communication speed & control EPC ...
Kalna College
 
Slides Peluncuran Amalan Pemakanan Sihat.pptx
Slides Peluncuran Amalan Pemakanan Sihat.pptxSlides Peluncuran Amalan Pemakanan Sihat.pptx
Slides Peluncuran Amalan Pemakanan Sihat.pptx
shabeluno
 
Post init hook in the odoo 17 ERP Module
Post init hook in the  odoo 17 ERP ModulePost init hook in the  odoo 17 ERP Module
Post init hook in the odoo 17 ERP Module
Celine George
 
INTRODUCTION TO HOSPITALS & AND ITS ORGANIZATION
INTRODUCTION TO HOSPITALS & AND ITS ORGANIZATION INTRODUCTION TO HOSPITALS & AND ITS ORGANIZATION
INTRODUCTION TO HOSPITALS & AND ITS ORGANIZATION
ShwetaGawande8
 
What are the new features in the Fleet Odoo 17
What are the new features in the Fleet Odoo 17What are the new features in the Fleet Odoo 17
What are the new features in the Fleet Odoo 17
Celine George
 

Recently uploaded (20)

Decolonizing Universal Design for Learning
Decolonizing Universal Design for LearningDecolonizing Universal Design for Learning
Decolonizing Universal Design for Learning
 
8+8+8 Rule Of Time Management For Better Productivity
8+8+8 Rule Of Time Management For Better Productivity8+8+8 Rule Of Time Management For Better Productivity
8+8+8 Rule Of Time Management For Better Productivity
 
A Quiz on Drug Abuse Awareness by Quizzito
A Quiz on Drug Abuse Awareness by QuizzitoA Quiz on Drug Abuse Awareness by Quizzito
A Quiz on Drug Abuse Awareness by Quizzito
 
How to Create User Notification in Odoo 17
How to Create User Notification in Odoo 17How to Create User Notification in Odoo 17
How to Create User Notification in Odoo 17
 
Science-9-Lesson-1-The Bohr Model-NLC.pptx pptx
Science-9-Lesson-1-The Bohr Model-NLC.pptx pptxScience-9-Lesson-1-The Bohr Model-NLC.pptx pptx
Science-9-Lesson-1-The Bohr Model-NLC.pptx pptx
 
(T.L.E.) Agriculture: "Ornamental Plants"
(T.L.E.) Agriculture: "Ornamental Plants"(T.L.E.) Agriculture: "Ornamental Plants"
(T.L.E.) Agriculture: "Ornamental Plants"
 
CapTechTalks Webinar Slides June 2024 Donovan Wright.pptx
CapTechTalks Webinar Slides June 2024 Donovan Wright.pptxCapTechTalks Webinar Slides June 2024 Donovan Wright.pptx
CapTechTalks Webinar Slides June 2024 Donovan Wright.pptx
 
The Rise of the Digital Telecommunication Marketplace.pptx
The Rise of the Digital Telecommunication Marketplace.pptxThe Rise of the Digital Telecommunication Marketplace.pptx
The Rise of the Digital Telecommunication Marketplace.pptx
 
How to Create a Stage or a Pipeline in Odoo 17 CRM
How to Create a Stage or a Pipeline in Odoo 17 CRMHow to Create a Stage or a Pipeline in Odoo 17 CRM
How to Create a Stage or a Pipeline in Odoo 17 CRM
 
Contiguity Of Various Message Forms - Rupam Chandra.pptx
Contiguity Of Various Message Forms - Rupam Chandra.pptxContiguity Of Various Message Forms - Rupam Chandra.pptx
Contiguity Of Various Message Forms - Rupam Chandra.pptx
 
220711130100 udita Chakraborty Aims and objectives of national policy on inf...
220711130100 udita Chakraborty  Aims and objectives of national policy on inf...220711130100 udita Chakraborty  Aims and objectives of national policy on inf...
220711130100 udita Chakraborty Aims and objectives of national policy on inf...
 
Interprofessional Education Platform Introduction.pdf
Interprofessional Education Platform Introduction.pdfInterprofessional Education Platform Introduction.pdf
Interprofessional Education Platform Introduction.pdf
 
Ethiopia and Eritrea Eritrea's journey has been marked by resilience and dete...
Ethiopia and Eritrea Eritrea's journey has been marked by resilience and dete...Ethiopia and Eritrea Eritrea's journey has been marked by resilience and dete...
Ethiopia and Eritrea Eritrea's journey has been marked by resilience and dete...
 
220711130088 Sumi Basak Virtual University EPC 3.pptx
220711130088 Sumi Basak Virtual University EPC 3.pptx220711130088 Sumi Basak Virtual University EPC 3.pptx
220711130088 Sumi Basak Virtual University EPC 3.pptx
 
nutrition in plants chapter 1 class 7...
nutrition in plants chapter 1 class 7...nutrition in plants chapter 1 class 7...
nutrition in plants chapter 1 class 7...
 
220711130095 Tanu Pandey message currency, communication speed & control EPC ...
220711130095 Tanu Pandey message currency, communication speed & control EPC ...220711130095 Tanu Pandey message currency, communication speed & control EPC ...
220711130095 Tanu Pandey message currency, communication speed & control EPC ...
 
Slides Peluncuran Amalan Pemakanan Sihat.pptx
Slides Peluncuran Amalan Pemakanan Sihat.pptxSlides Peluncuran Amalan Pemakanan Sihat.pptx
Slides Peluncuran Amalan Pemakanan Sihat.pptx
 
Post init hook in the odoo 17 ERP Module
Post init hook in the  odoo 17 ERP ModulePost init hook in the  odoo 17 ERP Module
Post init hook in the odoo 17 ERP Module
 
INTRODUCTION TO HOSPITALS & AND ITS ORGANIZATION
INTRODUCTION TO HOSPITALS & AND ITS ORGANIZATION INTRODUCTION TO HOSPITALS & AND ITS ORGANIZATION
INTRODUCTION TO HOSPITALS & AND ITS ORGANIZATION
 
What are the new features in the Fleet Odoo 17
What are the new features in the Fleet Odoo 17What are the new features in the Fleet Odoo 17
What are the new features in the Fleet Odoo 17
 

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
  翻译: