SlideShare a Scribd company logo
1 of 28
Requirements Engineering

                                 Professor Ian Sommerville




Requirements Engineering, 2013                               Slide 1
Requirements and systems



       User                                      Software-based
       world                                         system


                                 Requirements




Requirements Engineering, 2013                  Photo © Liam Quinn   Slide 2
What are system requirements?
  •      Requirements are defined during the early stages of
         a system development as a specification of what
         should be implemented or as a constraint of some
         kind on the system.
  •      They may be:
        –      a user-level facility description,
        –      a detailed specification of expected system behaviour,
        –      a general system property,
        –      a specific constraint on the system,
        –      information on how to carry out some computation,
        –      a constraint on the development of the system.
Requirements Engineering, 2013                                          Slide 3
Examples of requirements
  •      Functional requirements
               “If a patient is known to be allergic to a particular
               medication, then prescription of that medication shall result in
               a warning message being issued to to the prescriber”

  •      Non-functional requirements
               “The system shall be available to all clinics during normal
               working hours (Mon-Fri, 0830-1730). Downtime during
               normal working hours shall not exceed 5 seconds in any one
               day”

  •      Domain requirements
               “The system shall implement patient privacy provisions as set
               out in the 1998 Data Protection Act”
Requirements Engineering, 2013                                           Slide 4
What is requirements
                          engineering?
                                 •   Requirements engineering covers
                                     all of the activities involved in
                                     discovering, documenting, and
                                     maintaining a set of requirements
                                     for a computer-based system.
                                 •   The use of the term „engineering‟
                                     implies that systematic and
                                     repeatable techniques should be
                                     used to ensure that system
                                     requirements are complete,
                                     consistent, relevant, etc.

Requirements Engineering, 2013                                     Slide 5
Are requirements important?
  •      European Software Process Improvement Training
         Initiative (1996)
         “The principal problem areas in software
         development and production are the requirements
         specification and the management of customer
         requirements”
  •      In a study of errors in embedded systems, it was
         found that:
         “... difficulties with requirements are the key root-
         cause of the safety-related software errors that have
         persisted until integration and system testing”
Requirements Engineering, 2013                              Slide 6
What happens if the requirements are
                    wrong?
                                 •   The system may be delivered late
                                     and cost more than originally
                                     expected.
                                 •   The customer and end-users are not
                                     satisfied with the system. They may
                                     not use its facilities or may even
                                     decide to scrap it altogether.
                                 •   The system may be unreliable in use
                                     with regular system errors and
                                     crashes disrupting normal operation.
                                 •   If the system continues in use, the
                                     costs of maintaining and evolving the
                                     system are very high.
Requirements Engineering, 2013                                       Slide 7
Why is RE difficult?
 •    Changing environments
     –    Businesses operate in a rapidly changing environment so
          their requirements for system support are constantly
          changing.

 •    Differing views
     –    Multiple stakeholders with different goals and priorities are
          involved in the requirements engineering process.

 •    Unclear opinions
     –    System stakeholders do not have clear ideas about the
          system support that they need.

 •    Politics and people
     –         Requirements are often influenced by political and
               organisational factors that stakeholders will not admit to Slide 8
Requirements Engineering, 2013
Requirements engineering
                     terminology


              Terms that you should understand
                     Stakeholders, viewpoints and
                              concerns




Requirements Engineering, 2013                      Slide 9
Stakeholders
  •      People or roles who are affected, in some way, by a
         system and so who can contribute requirements or
         knowledge to help you understand the requirements
  •      Example – medical system stakeholders
        –      Doctors
        –      Nurses
        –      Patients
        –      Hospital managers
        –      Administrators
        –      Owners of other connected systems

Requirements Engineering, 2013                           Slide 10
Viewpoints
  •      Viewpoints are a way of organising and grouping
         requirements that have been elicited from
         stakeholders
  •      The requirements generally represent the views and
         needs of a class or type of stakeholder
  •      Examples of viewpoints
        –      End-user viewpoint
        –      Managerial viewpoint
        –      System administration viewpoint
        –      Engineering viewpoint

Requirements Engineering, 2013                             Slide 11
Stakeholders and viewpoints

           Stakeholde
               rs

                                    Provide information about



                                           VP2
                                 VP1                  VP4
                                           VP3

                     Requirements

Requirements Engineering, 2013                                  Slide 12
Concerns
  •      Are issues that an organisation must pay attention to
         and that are systemic i.e. they apply to the system as
         a whole
  •      They are cross-cutting issues that may affect all
         system stakeholders and the requirements from
         these stakeholders
  •      Concerns help bridge the gap between organisational
         goals (what the organisation has to achieve) and
         system requirements (how a system contributes to
         these goals)


Requirements Engineering, 2013                               Slide 13
Concerns


                                      Software and
                                       hardware


                                     Operators and
                                      managers

                                    The organisation


                                        Society


                         Security    Availability      Safety
Requirements Engineering, 2013                                  Slide 14
Requirements engineering
                     processes


      Different views of the processes involved
              in requirements engineering




Requirements Engineering, 2013              Slide 15
The systems engineering
                        process
     System                                                                            System
  requirements                                                                        validation
   engineering

                   Architectural                                          System
                      design                                            integration


                                 Requirements              Sub-system
                                  partitioning            development

                                             Software
                                           requirements
                                            engineering




Requirements Engineering, 2013                                                                Slide 16
RE process context

                       System acquisition




                                 Requirements engineering




                                                   System design



Requirements Engineering, 2013                                     Slide 17
RE process inputs and outputs

         Existing
         systems
       information

      Stakeholder                                         Agreed
         needs                                         requirements

                                    Requirements         System
     Organisational              engineering process
       standards                                       specification

                                                         System
      Regulations                                        models


        Domain
      information


Requirements Engineering, 2013                                     Slide 18
RE process activities


 Requirements                     Requirements   Requirements
                                  analysis and                                   Requirements
  elicitation                                    documentation                    validation
                                   negotiation



  User needs
    domain                                                       Requirements
 information,                                                     document
                                                                                           Agreed
existing system                                                    System               requirements
 information,                                                    specification
  regulations,
standards, etc.




 Requirements Engineering, 2013                                                           Slide 19
RE process iteration
                                                    Informal statement of
                Decision point:                         requirements
                Accept document
                or re-enter spiral




                             Requirements elicitation                Requirements analysis and
                                                                            negotiation


 Requirements                                       START
 document and                                                                                            Agreed
   validation                                                                                         requirements
     report

                            Requirements validation                      Requirements documentation




                                                    Draft requirements
                                                        document

Requirements Engineering, 2013                                                                                 Slide 20
Requirements engineering
                    problems

           Fundamental issues that mean that establishing
           requirements for complex systems will always be a
              difficult technical and organisational problem




Requirements Engineering, 2013                           Slide 21
Requirements change
  •      System requirements reflect the world outside of the
         system. As this is constantly changing then the
         requirements will inevitably also change
        –      Technology changes
        –      Organisational changes
        –      Market changes
        –      Economic changes
        –      Political and legal changes

  •      It is often difficult to understand the implications of
         changes for the requirements as a whole

Requirements Engineering, 2013                                 Slide 22
Stakeholder perspectives

                                              Technical perspective
Social perspective                                     Objects
                                                       Functions
                                                       Roles ...



Certification                    The problem and              Customer
perspective                      the required system          perspective



User perspective
             Interactions
             Usability
                                              Management perspective
Requirements Engineering, 2013                                     Slide 23
Stakeholder uncertainty
  •      Key stakeholders have other jobs to do!
        –      Developing detailed requirements for future systems often
               cannot be given a high priority by the senior people who will
               be affected by these requirements.
        –      They therefore are unable to express their requirements
               except as vague, high-level descriptions




Requirements Engineering, 2013                                           Slide 24
How good are the
                                  requirements?
                                      •   There are no objective ways to
                                          compare alternative sets of
                                          requirements
                                          –   The impact of a system on a
                                              business is very hard to
                                              understand so therefore we
                                              cannot tell which might be the
                                              „best‟ system for any particular
                                              business




Requirements Engineering, 2013                                              Slide 25
Process variability
  •      The level of detail required in a requirements
         specification differs greatly depending on the type of
         product that is being developed
        –      A railway signalling system is a very detailed specification
               that can be validated by authorities outside of the
               organisation procuring the software
        –      A computer game specification is a storyboard with pictures
               and examples

  •      They use completely different processes involving
         different types of people to derive these specifications
  •      Scope for process standardisation and support is
         therefore limited
Requirements Engineering, 2013                                           Slide 26
Politics and people
  •      Many system requirements are influenced by the
         politics in an organisation. Decisions on requirements
         are not made on a rational basis but are made
         because of the personal goals of stakeholders
  •      Requirements engineers may not understand the
         politics and, even when they do, they may not be able
         to challenge the „political‟ requirements
  •      People providing requirements for a system may not
         be convinced that the system is necessary or may
         feel that other systems should have a higher priority.
         They may actively or passively refuse to cooperate in
         the requirements engineering process
Requirements Engineering, 2013                            Slide 27
Summary
  •      Requirements engineering is a key component of
         system development processes.
  •      If we pay attention to requirements, we reduce later
         problems in system development and operation
  •      Requirements engineering will always be difficult
         because the requirements are reflections of a rapidly
         changing business environment




Requirements Engineering, 2013                            Slide 28

More Related Content

What's hot

CS 5032 L12 security testing and dependability cases 2013
CS 5032 L12  security testing and dependability cases 2013CS 5032 L12  security testing and dependability cases 2013
CS 5032 L12 security testing and dependability cases 2013Ian Sommerville
 
CS5032 L20 cybersecurity 2
CS5032 L20 cybersecurity 2CS5032 L20 cybersecurity 2
CS5032 L20 cybersecurity 2Ian Sommerville
 
Designing software for a million users
Designing software for a million usersDesigning software for a million users
Designing software for a million usersIan Sommerville
 
CS5032 L9 security engineering 1 2013
CS5032 L9 security engineering 1 2013CS5032 L9 security engineering 1 2013
CS5032 L9 security engineering 1 2013Ian Sommerville
 
Security case buffer overflow
Security case buffer overflowSecurity case buffer overflow
Security case buffer overflowIan Sommerville
 
Security Engineering 2 (CS 5032 2012)
Security Engineering 2 (CS 5032 2012)Security Engineering 2 (CS 5032 2012)
Security Engineering 2 (CS 5032 2012)Ian Sommerville
 
Reliability and security specification (CS 5032 2012)
Reliability and security specification (CS 5032 2012)Reliability and security specification (CS 5032 2012)
Reliability and security specification (CS 5032 2012)Ian Sommerville
 
Security Engineering 1 (CS 5032 2012)
Security Engineering 1 (CS 5032 2012)Security Engineering 1 (CS 5032 2012)
Security Engineering 1 (CS 5032 2012)Ian Sommerville
 
Safety specification (CS 5032 2012)
Safety specification (CS 5032 2012)Safety specification (CS 5032 2012)
Safety specification (CS 5032 2012)Ian Sommerville
 
Software security engineering
Software security engineeringSoftware security engineering
Software security engineeringaizazhussain234
 
Ch11-Software Engineering 9
Ch11-Software Engineering 9Ch11-Software Engineering 9
Ch11-Software Engineering 9Ian Sommerville
 
Critical systems specification
Critical systems specificationCritical systems specification
Critical systems specificationAryan Ajmer
 
Software Security Engineering
Software Security EngineeringSoftware Security Engineering
Software Security EngineeringMuhammad Asim
 
Better security through IT operations
Better security through IT operationsBetter security through IT operations
Better security through IT operationsslighltyanon
 

What's hot (20)

CS 5032 L12 security testing and dependability cases 2013
CS 5032 L12  security testing and dependability cases 2013CS 5032 L12  security testing and dependability cases 2013
CS 5032 L12 security testing and dependability cases 2013
 
CS5032 L20 cybersecurity 2
CS5032 L20 cybersecurity 2CS5032 L20 cybersecurity 2
CS5032 L20 cybersecurity 2
 
Designing software for a million users
Designing software for a million usersDesigning software for a million users
Designing software for a million users
 
CS5032 L9 security engineering 1 2013
CS5032 L9 security engineering 1 2013CS5032 L9 security engineering 1 2013
CS5032 L9 security engineering 1 2013
 
Security case buffer overflow
Security case buffer overflowSecurity case buffer overflow
Security case buffer overflow
 
Security Engineering 2 (CS 5032 2012)
Security Engineering 2 (CS 5032 2012)Security Engineering 2 (CS 5032 2012)
Security Engineering 2 (CS 5032 2012)
 
Reliability and security specification (CS 5032 2012)
Reliability and security specification (CS 5032 2012)Reliability and security specification (CS 5032 2012)
Reliability and security specification (CS 5032 2012)
 
Security Engineering 1 (CS 5032 2012)
Security Engineering 1 (CS 5032 2012)Security Engineering 1 (CS 5032 2012)
Security Engineering 1 (CS 5032 2012)
 
Safety specification (CS 5032 2012)
Safety specification (CS 5032 2012)Safety specification (CS 5032 2012)
Safety specification (CS 5032 2012)
 
Ch13 security engineering
Ch13 security engineeringCh13 security engineering
Ch13 security engineering
 
Software security engineering
Software security engineeringSoftware security engineering
Software security engineering
 
Ch11-Software Engineering 9
Ch11-Software Engineering 9Ch11-Software Engineering 9
Ch11-Software Engineering 9
 
Ch12 safety engineering
Ch12 safety engineeringCh12 safety engineering
Ch12 safety engineering
 
Barqa Edinburgh Final
Barqa Edinburgh FinalBarqa Edinburgh Final
Barqa Edinburgh Final
 
Ch3
Ch3Ch3
Ch3
 
Critical systems specification
Critical systems specificationCritical systems specification
Critical systems specification
 
Software Security Engineering
Software Security EngineeringSoftware Security Engineering
Software Security Engineering
 
Security engineering
Security engineeringSecurity engineering
Security engineering
 
Ch14 resilience engineering
Ch14 resilience engineeringCh14 resilience engineering
Ch14 resilience engineering
 
Better security through IT operations
Better security through IT operationsBetter security through IT operations
Better security through IT operations
 

Viewers also liked

CS5032 Case study Kegworth air disaster
CS5032 Case study Kegworth air disasterCS5032 Case study Kegworth air disaster
CS5032 Case study Kegworth air disasterIan Sommerville
 
CS 5032 L18 Critical infrastructure 2: SCADA systems
CS 5032 L18 Critical infrastructure 2: SCADA systemsCS 5032 L18 Critical infrastructure 2: SCADA systems
CS 5032 L18 Critical infrastructure 2: SCADA systemsIan Sommerville
 
CS5032 Case study Maroochy water breach
CS5032 Case study Maroochy water breachCS5032 Case study Maroochy water breach
CS5032 Case study Maroochy water breachIan Sommerville
 
CS5032 L19 cybersecurity 1
CS5032 L19 cybersecurity 1CS5032 L19 cybersecurity 1
CS5032 L19 cybersecurity 1Ian Sommerville
 
Critical national infrastructure
Critical national infrastructureCritical national infrastructure
Critical national infrastructuresommerville-videos
 
Agile and plan based development processes
Agile and plan based development processesAgile and plan based development processes
Agile and plan based development processessommerville-videos
 
CS 5032 L3 socio-technical systems 2013
CS 5032 L3 socio-technical systems 2013CS 5032 L3 socio-technical systems 2013
CS 5032 L3 socio-technical systems 2013Ian Sommerville
 
Requirements engineering challenges
Requirements engineering challengesRequirements engineering challenges
Requirements engineering challengessommerville-videos
 

Viewers also liked (13)

CS5032 Case study Kegworth air disaster
CS5032 Case study Kegworth air disasterCS5032 Case study Kegworth air disaster
CS5032 Case study Kegworth air disaster
 
CS 5032 L18 Critical infrastructure 2: SCADA systems
CS 5032 L18 Critical infrastructure 2: SCADA systemsCS 5032 L18 Critical infrastructure 2: SCADA systems
CS 5032 L18 Critical infrastructure 2: SCADA systems
 
CS5032 Case study Maroochy water breach
CS5032 Case study Maroochy water breachCS5032 Case study Maroochy water breach
CS5032 Case study Maroochy water breach
 
CS5032 L19 cybersecurity 1
CS5032 L19 cybersecurity 1CS5032 L19 cybersecurity 1
CS5032 L19 cybersecurity 1
 
Critical national infrastructure
Critical national infrastructureCritical national infrastructure
Critical national infrastructure
 
Critical systems intro
Critical systems introCritical systems intro
Critical systems intro
 
Critical systems engineering
Critical systems engineeringCritical systems engineering
Critical systems engineering
 
System dependability
System dependabilitySystem dependability
System dependability
 
Agile and plan based development processes
Agile and plan based development processesAgile and plan based development processes
Agile and plan based development processes
 
CS 5032 L3 socio-technical systems 2013
CS 5032 L3 socio-technical systems 2013CS 5032 L3 socio-technical systems 2013
CS 5032 L3 socio-technical systems 2013
 
Availability and reliability
Availability and reliabilityAvailability and reliability
Availability and reliability
 
Requirements engineering challenges
Requirements engineering challengesRequirements engineering challenges
Requirements engineering challenges
 
System security
System securitySystem security
System security
 

Similar to Requirements Engineering Fundamentals

Requirements Engineering (CS 5032 2012)
Requirements Engineering (CS 5032 2012)Requirements Engineering (CS 5032 2012)
Requirements Engineering (CS 5032 2012)Ian Sommerville
 
Introduction to Critical Systems Engineering (CS 5032 2012)
Introduction to Critical Systems Engineering (CS 5032 2012)Introduction to Critical Systems Engineering (CS 5032 2012)
Introduction to Critical Systems Engineering (CS 5032 2012)Ian Sommerville
 
Requirement engineering in S/W Engineering
Requirement engineering in S/W EngineeringRequirement engineering in S/W Engineering
Requirement engineering in S/W EngineeringMikel Raj
 
Requirements Engineering for LSCITS
Requirements Engineering for LSCITSRequirements Engineering for LSCITS
Requirements Engineering for LSCITSIan Sommerville
 
Dependability requirements for LSCITS
Dependability requirements for LSCITSDependability requirements for LSCITS
Dependability requirements for LSCITSIan Sommerville
 
Software Evolution_Se lect3 btech
Software Evolution_Se lect3 btechSoftware Evolution_Se lect3 btech
Software Evolution_Se lect3 btechIIITA
 
Cis 2303 lo1 part 1_weeks_1_2 - student ver
Cis 2303 lo1 part 1_weeks_1_2 - student verCis 2303 lo1 part 1_weeks_1_2 - student ver
Cis 2303 lo1 part 1_weeks_1_2 - student verAhmad Ammari
 
IT1204 - Software Engineering - L4
IT1204 - Software Engineering - L4IT1204 - Software Engineering - L4
IT1204 - Software Engineering - L4BakerTilly US
 
Requirements engineering
Requirements engineeringRequirements engineering
Requirements engineeringSutha31
 
Socio technical systems (LSCITS EngD)
Socio technical systems (LSCITS EngD)Socio technical systems (LSCITS EngD)
Socio technical systems (LSCITS EngD)Ian Sommerville
 
Model-Based Systems Requirements
Model-Based Systems RequirementsModel-Based Systems Requirements
Model-Based Systems RequirementsJean-Michel Bruel
 
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
 
Principles of software architecture design
Principles of software architecture designPrinciples of software architecture design
Principles of software architecture designLen Bass
 
9 requirements engineering2
9 requirements engineering29 requirements engineering2
9 requirements engineering2Lilia Sfaxi
 
Software Requirements
Software RequirementsSoftware Requirements
Software RequirementsNethan Shaik
 
Designing Complex Systems for Recovery (LSCITS EngD 2011)
Designing Complex Systems for Recovery (LSCITS EngD 2011)Designing Complex Systems for Recovery (LSCITS EngD 2011)
Designing Complex Systems for Recovery (LSCITS EngD 2011)Ian Sommerville
 

Similar to Requirements Engineering Fundamentals (20)

Requirements Engineering (CS 5032 2012)
Requirements Engineering (CS 5032 2012)Requirements Engineering (CS 5032 2012)
Requirements Engineering (CS 5032 2012)
 
Intro to requirements eng.
Intro to requirements eng.Intro to requirements eng.
Intro to requirements eng.
 
Introduction to Critical Systems Engineering (CS 5032 2012)
Introduction to Critical Systems Engineering (CS 5032 2012)Introduction to Critical Systems Engineering (CS 5032 2012)
Introduction to Critical Systems Engineering (CS 5032 2012)
 
Requirement engineering in S/W Engineering
Requirement engineering in S/W EngineeringRequirement engineering in S/W Engineering
Requirement engineering in S/W Engineering
 
Requirements Engineering for LSCITS
Requirements Engineering for LSCITSRequirements Engineering for LSCITS
Requirements Engineering for LSCITS
 
Dependability requirements for LSCITS
Dependability requirements for LSCITSDependability requirements for LSCITS
Dependability requirements for LSCITS
 
Software Evolution_Se lect3 btech
Software Evolution_Se lect3 btechSoftware Evolution_Se lect3 btech
Software Evolution_Se lect3 btech
 
Cis 2303 lo1 part 1_weeks_1_2 - student ver
Cis 2303 lo1 part 1_weeks_1_2 - student verCis 2303 lo1 part 1_weeks_1_2 - student ver
Cis 2303 lo1 part 1_weeks_1_2 - student ver
 
IT1204 - Software Engineering - L4
IT1204 - Software Engineering - L4IT1204 - Software Engineering - L4
IT1204 - Software Engineering - L4
 
Requirements engineering
Requirements engineeringRequirements engineering
Requirements engineering
 
Socio technical systems (LSCITS EngD)
Socio technical systems (LSCITS EngD)Socio technical systems (LSCITS EngD)
Socio technical systems (LSCITS EngD)
 
3. 1 req elicitation
3. 1 req elicitation3. 1 req elicitation
3. 1 req elicitation
 
Resilience and recovery
Resilience and recoveryResilience and recovery
Resilience and recovery
 
Model-Based Systems Requirements
Model-Based Systems RequirementsModel-Based Systems Requirements
Model-Based Systems Requirements
 
Software Requirements engineering
Software Requirements engineeringSoftware Requirements engineering
Software Requirements engineering
 
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
 
Principles of software architecture design
Principles of software architecture designPrinciples of software architecture design
Principles of software architecture design
 
9 requirements engineering2
9 requirements engineering29 requirements engineering2
9 requirements engineering2
 
Software Requirements
Software RequirementsSoftware Requirements
Software Requirements
 
Designing Complex Systems for Recovery (LSCITS EngD 2011)
Designing Complex Systems for Recovery (LSCITS EngD 2011)Designing Complex Systems for Recovery (LSCITS EngD 2011)
Designing Complex Systems for Recovery (LSCITS EngD 2011)
 

More from Ian Sommerville

Ultra Large Scale Systems
Ultra Large Scale SystemsUltra Large Scale Systems
Ultra Large Scale SystemsIan Sommerville
 
Conceptual systems design
Conceptual systems designConceptual systems design
Conceptual systems designIan Sommerville
 
An introduction to LSCITS
An introduction to LSCITSAn introduction to LSCITS
An introduction to LSCITSIan Sommerville
 
Internet worm-case-study
Internet worm-case-studyInternet worm-case-study
Internet worm-case-studyIan Sommerville
 
CS5032 Case study Ariane 5 launcher failure
CS5032 Case study Ariane 5 launcher failureCS5032 Case study Ariane 5 launcher failure
CS5032 Case study Ariane 5 launcher failureIan Sommerville
 
L17 CS5032 critical infrastructure
L17 CS5032 critical infrastructureL17 CS5032 critical infrastructure
L17 CS5032 critical infrastructureIan Sommerville
 

More from Ian Sommerville (9)

Ultra Large Scale Systems
Ultra Large Scale SystemsUltra Large Scale Systems
Ultra Large Scale Systems
 
Resp modellingintro
Resp modellingintroResp modellingintro
Resp modellingintro
 
LSCITS-engineering
LSCITS-engineeringLSCITS-engineering
LSCITS-engineering
 
Requirements reality
Requirements realityRequirements reality
Requirements reality
 
Conceptual systems design
Conceptual systems designConceptual systems design
Conceptual systems design
 
An introduction to LSCITS
An introduction to LSCITSAn introduction to LSCITS
An introduction to LSCITS
 
Internet worm-case-study
Internet worm-case-studyInternet worm-case-study
Internet worm-case-study
 
CS5032 Case study Ariane 5 launcher failure
CS5032 Case study Ariane 5 launcher failureCS5032 Case study Ariane 5 launcher failure
CS5032 Case study Ariane 5 launcher failure
 
L17 CS5032 critical infrastructure
L17 CS5032 critical infrastructureL17 CS5032 critical infrastructure
L17 CS5032 critical infrastructure
 

Recently uploaded

Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostZilliz
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embeddingZilliz
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
Vector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesVector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesZilliz
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piececharlottematthew16
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfRankYa
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 

Recently uploaded (20)

Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embedding
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
Vector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesVector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector Databases
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piece
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdf
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 

Requirements Engineering Fundamentals

  • 1. Requirements Engineering Professor Ian Sommerville Requirements Engineering, 2013 Slide 1
  • 2. Requirements and systems User Software-based world system Requirements Requirements Engineering, 2013 Photo © Liam Quinn Slide 2
  • 3. What are system requirements? • Requirements are defined during the early stages of a system development as a specification of what should be implemented or as a constraint of some kind on the system. • They may be: – a user-level facility description, – a detailed specification of expected system behaviour, – a general system property, – a specific constraint on the system, – information on how to carry out some computation, – a constraint on the development of the system. Requirements Engineering, 2013 Slide 3
  • 4. Examples of requirements • Functional requirements “If a patient is known to be allergic to a particular medication, then prescription of that medication shall result in a warning message being issued to to the prescriber” • Non-functional requirements “The system shall be available to all clinics during normal working hours (Mon-Fri, 0830-1730). Downtime during normal working hours shall not exceed 5 seconds in any one day” • Domain requirements “The system shall implement patient privacy provisions as set out in the 1998 Data Protection Act” Requirements Engineering, 2013 Slide 4
  • 5. What is requirements engineering? • Requirements engineering covers all of the activities involved in discovering, documenting, and maintaining a set of requirements for a computer-based system. • The use of the term „engineering‟ implies that systematic and repeatable techniques should be used to ensure that system requirements are complete, consistent, relevant, etc. Requirements Engineering, 2013 Slide 5
  • 6. Are requirements important? • European Software Process Improvement Training Initiative (1996) “The principal problem areas in software development and production are the requirements specification and the management of customer requirements” • In a study of errors in embedded systems, it was found that: “... difficulties with requirements are the key root- cause of the safety-related software errors that have persisted until integration and system testing” Requirements Engineering, 2013 Slide 6
  • 7. What happens if the requirements are wrong? • The system may be delivered late and cost more than originally expected. • The customer and end-users are not satisfied with the system. They may not use its facilities or may even decide to scrap it altogether. • The system may be unreliable in use with regular system errors and crashes disrupting normal operation. • If the system continues in use, the costs of maintaining and evolving the system are very high. Requirements Engineering, 2013 Slide 7
  • 8. Why is RE difficult? • Changing environments – Businesses operate in a rapidly changing environment so their requirements for system support are constantly changing. • Differing views – Multiple stakeholders with different goals and priorities are involved in the requirements engineering process. • Unclear opinions – System stakeholders do not have clear ideas about the system support that they need. • Politics and people – Requirements are often influenced by political and organisational factors that stakeholders will not admit to Slide 8 Requirements Engineering, 2013
  • 9. Requirements engineering terminology Terms that you should understand Stakeholders, viewpoints and concerns Requirements Engineering, 2013 Slide 9
  • 10. Stakeholders • People or roles who are affected, in some way, by a system and so who can contribute requirements or knowledge to help you understand the requirements • Example – medical system stakeholders – Doctors – Nurses – Patients – Hospital managers – Administrators – Owners of other connected systems Requirements Engineering, 2013 Slide 10
  • 11. Viewpoints • Viewpoints are a way of organising and grouping requirements that have been elicited from stakeholders • The requirements generally represent the views and needs of a class or type of stakeholder • Examples of viewpoints – End-user viewpoint – Managerial viewpoint – System administration viewpoint – Engineering viewpoint Requirements Engineering, 2013 Slide 11
  • 12. Stakeholders and viewpoints Stakeholde rs Provide information about VP2 VP1 VP4 VP3 Requirements Requirements Engineering, 2013 Slide 12
  • 13. Concerns • Are issues that an organisation must pay attention to and that are systemic i.e. they apply to the system as a whole • They are cross-cutting issues that may affect all system stakeholders and the requirements from these stakeholders • Concerns help bridge the gap between organisational goals (what the organisation has to achieve) and system requirements (how a system contributes to these goals) Requirements Engineering, 2013 Slide 13
  • 14. Concerns Software and hardware Operators and managers The organisation Society Security Availability Safety Requirements Engineering, 2013 Slide 14
  • 15. Requirements engineering processes Different views of the processes involved in requirements engineering Requirements Engineering, 2013 Slide 15
  • 16. The systems engineering process System System requirements validation engineering Architectural System design integration Requirements Sub-system partitioning development Software requirements engineering Requirements Engineering, 2013 Slide 16
  • 17. RE process context System acquisition Requirements engineering System design Requirements Engineering, 2013 Slide 17
  • 18. RE process inputs and outputs Existing systems information Stakeholder Agreed needs requirements Requirements System Organisational engineering process standards specification System Regulations models Domain information Requirements Engineering, 2013 Slide 18
  • 19. RE process activities Requirements Requirements Requirements analysis and Requirements elicitation documentation validation negotiation User needs domain Requirements information, document Agreed existing system System requirements information, specification regulations, standards, etc. Requirements Engineering, 2013 Slide 19
  • 20. RE process iteration Informal statement of Decision point: requirements Accept document or re-enter spiral Requirements elicitation Requirements analysis and negotiation Requirements START document and Agreed validation requirements report Requirements validation Requirements documentation Draft requirements document Requirements Engineering, 2013 Slide 20
  • 21. Requirements engineering problems Fundamental issues that mean that establishing requirements for complex systems will always be a difficult technical and organisational problem Requirements Engineering, 2013 Slide 21
  • 22. Requirements change • System requirements reflect the world outside of the system. As this is constantly changing then the requirements will inevitably also change – Technology changes – Organisational changes – Market changes – Economic changes – Political and legal changes • It is often difficult to understand the implications of changes for the requirements as a whole Requirements Engineering, 2013 Slide 22
  • 23. Stakeholder perspectives Technical perspective Social perspective Objects Functions Roles ... Certification The problem and Customer perspective the required system perspective User perspective Interactions Usability Management perspective Requirements Engineering, 2013 Slide 23
  • 24. Stakeholder uncertainty • Key stakeholders have other jobs to do! – Developing detailed requirements for future systems often cannot be given a high priority by the senior people who will be affected by these requirements. – They therefore are unable to express their requirements except as vague, high-level descriptions Requirements Engineering, 2013 Slide 24
  • 25. How good are the requirements? • There are no objective ways to compare alternative sets of requirements – The impact of a system on a business is very hard to understand so therefore we cannot tell which might be the „best‟ system for any particular business Requirements Engineering, 2013 Slide 25
  • 26. Process variability • The level of detail required in a requirements specification differs greatly depending on the type of product that is being developed – A railway signalling system is a very detailed specification that can be validated by authorities outside of the organisation procuring the software – A computer game specification is a storyboard with pictures and examples • They use completely different processes involving different types of people to derive these specifications • Scope for process standardisation and support is therefore limited Requirements Engineering, 2013 Slide 26
  • 27. Politics and people • Many system requirements are influenced by the politics in an organisation. Decisions on requirements are not made on a rational basis but are made because of the personal goals of stakeholders • Requirements engineers may not understand the politics and, even when they do, they may not be able to challenge the „political‟ requirements • People providing requirements for a system may not be convinced that the system is necessary or may feel that other systems should have a higher priority. They may actively or passively refuse to cooperate in the requirements engineering process Requirements Engineering, 2013 Slide 27
  • 28. Summary • Requirements engineering is a key component of system development processes. • If we pay attention to requirements, we reduce later problems in system development and operation • Requirements engineering will always be difficult because the requirements are reflections of a rapidly changing business environment Requirements Engineering, 2013 Slide 28