SlideShare una empresa de Scribd logo
1 de 28
Requirements Engineering

                                      Professor Ian Sommerville




L3 - Requirements Engineering, Critical Systems Engineering, 2011   Slide 1
Requirements and systems



        User                                                         Software-based
        world                                                            system


                                            Requirements




L3 - Requirements Engineering, Critical Systems Engineering, 2011   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.
L3 - Requirements Engineering, Critical Systems Engineering, 2011        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”
L3 - Requirements Engineering, Critical Systems Engineering, 2011           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.

L3 - Requirements Engineering, Critical Systems Engineering, 2011                   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”
L3 - Requirements Engineering, Critical Systems Engineering, 2011   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.
L3 - Requirements Engineering, Critical Systems Engineering, 2011                             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
L3 - Requirements Engineering, Critical Systems Engineering, 2011 stakeholders will not admit to Slide 8
               organisational factors that
Requirements engineering
                      terminology


              Terms that you should understand
                      Stakeholders, viewpoints and
                               concerns




L3 - Requirements Engineering, Critical Systems Engineering, 2011   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

L3 - Requirements Engineering, Critical Systems Engineering, 2011   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

L3 - Requirements Engineering, Critical Systems Engineering, 2011   Slide 11
Stakeholders and viewpoints

            Stakeholde
                rs

                                                            Provide information about



                                                                    VP2
                                                     VP1                      VP4
                                                                    VP3

                      Requirements

L3 - Requirements Engineering, Critical Systems Engineering, 2011                       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)


L3 - Requirements Engineering, Critical Systems Engineering, 2011   Slide 13
Concerns


                                                    Software and
                                                     hardware


                                                   Operators and
                                                    managers

                                                The organisation


                                                        Society


                           Security               Availability      Safety
L3 - Requirements Engineering, Critical Systems Engineering, 2011            Slide 14
Requirements engineering
                      processes


      Different views of the processes involved
              in requirements engineering




L3 - Requirements Engineering, Critical Systems Engineering, 2011   Slide 15
The systems engineering
                         process
      System                                                                                      System
   requirements                                                                                  validation
    engineering

                    Architectural                                                    System
                       design                                                      integration


                                      Requirements                    Sub-system
                                       partitioning                  development

                                                        Software
                                                      requirements
                                                       engineering




L3 - Requirements Engineering, Critical Systems Engineering, 2011                                        Slide 16
RE process context

                        System acquisition




                                    Requirements engineering




                                                                    System design



L3 - Requirements Engineering, Critical Systems Engineering, 2011                   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


L3 - Requirements Engineering, Critical Systems Engineering, 2011                      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.




 L3 - Requirements Engineering, Critical Systems Engineering, 2011                                            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

L3 - Requirements Engineering, Critical Systems Engineering, 2011                                                Slide 20
Requirements engineering
                     problems

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




L3 - Requirements Engineering, Critical Systems Engineering, 2011   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

L3 - Requirements Engineering, Critical Systems Engineering, 2011   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
L3 - Requirements Engineering, Critical Systems Engineering, 2011                     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




L3 - Requirements Engineering, Critical Systems Engineering, 2011         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




L3 - Requirements Engineering, Critical Systems Engineering, 2011                                 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
L3 - Requirements Engineering, Critical Systems Engineering, 2011         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
L3 - Requirements Engineering, Critical Systems Engineering, 2011   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




L3 - Requirements Engineering, Critical Systems Engineering, 2011   Slide 28

Más contenido relacionado

La actualidad más candente

Software Engineering - Ch7
Software Engineering - Ch7Software Engineering - Ch7
Software Engineering - Ch7
Siddharth Ayer
 
Software Requirements
 Software Requirements Software Requirements
Software Requirements
Zaman Khan
 
Software Requirements in Software Engineering SE5
Software Requirements in Software Engineering SE5Software Requirements in Software Engineering SE5
Software Requirements in Software Engineering SE5
koolkampus
 
Requirement Engineering
Requirement EngineeringRequirement Engineering
Requirement Engineering
Slideshare
 
Software requirement enginering
Software requirement engineringSoftware requirement enginering
Software requirement enginering
Wajid Ali
 
Requirement specification
Requirement specificationRequirement specification
Requirement specification
Abdul Basit
 
Requirements Engineering Process
Requirements Engineering ProcessRequirements Engineering Process
Requirements Engineering Process
Jomel Penalba
 

La actualidad más candente (20)

Requirement Analysis & Specification sharbani bhattacharya
Requirement Analysis & Specification sharbani bhattacharyaRequirement Analysis & Specification sharbani bhattacharya
Requirement Analysis & Specification sharbani bhattacharya
 
SRS(software requirement specification)
SRS(software requirement specification)SRS(software requirement specification)
SRS(software requirement specification)
 
requirement engineering
requirement engineeringrequirement engineering
requirement engineering
 
Requirements Engineering Processes
Requirements Engineering ProcessesRequirements Engineering Processes
Requirements Engineering Processes
 
Requirement analysis
Requirement analysisRequirement analysis
Requirement analysis
 
Software Engineering - Ch7
Software Engineering - Ch7Software Engineering - Ch7
Software Engineering - Ch7
 
Software Requirements
 Software Requirements Software Requirements
Software Requirements
 
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
software engineeringsoftware engineering
software engineering
 
Requirement Engineering
Requirement EngineeringRequirement Engineering
Requirement Engineering
 
Requirement analysis
Requirement analysisRequirement analysis
Requirement analysis
 
Software requirement enginering
Software requirement engineringSoftware requirement enginering
Software requirement enginering
 
Software requirements
Software requirementsSoftware requirements
Software requirements
 
Requirement specification
Requirement specificationRequirement specification
Requirement specification
 
Requirement Analysis
Requirement AnalysisRequirement Analysis
Requirement Analysis
 
Software Requirements (3rd Edition) summary
Software Requirements (3rd Edition) summarySoftware Requirements (3rd Edition) summary
Software Requirements (3rd Edition) summary
 
Requirement Analysis - Software Enigneering
Requirement Analysis - Software EnigneeringRequirement Analysis - Software Enigneering
Requirement Analysis - Software Enigneering
 
Requirements Engineering Process
Requirements Engineering ProcessRequirements Engineering Process
Requirements Engineering Process
 
Requirement analysis and specification, software engineering
Requirement analysis and specification, software engineeringRequirement analysis and specification, software engineering
Requirement analysis and specification, software engineering
 
software requirement
software requirement software requirement
software requirement
 

Destacado

System engineering
System engineeringSystem engineering
System engineering
Slideshare
 
Software engineering lecture notes
Software engineering lecture notesSoftware engineering lecture notes
Software engineering lecture notes
Siva Ayyakutti
 
Software engineering
Software engineeringSoftware engineering
Software engineering
faisalwajid
 
Software Requirements Workshop Presentation
Software Requirements Workshop PresentationSoftware Requirements Workshop Presentation
Software Requirements Workshop Presentation
IvarsLenss
 
Software engineering lecture notes
Software engineering   lecture notesSoftware engineering   lecture notes
Software engineering lecture notes
Ammar Shafiq
 

Destacado (20)

Requirement Engineering Lec.1 & 2 & 3
Requirement Engineering Lec.1 & 2 & 3Requirement Engineering Lec.1 & 2 & 3
Requirement Engineering Lec.1 & 2 & 3
 
Requirements engineering process in software engineering
Requirements engineering process in software engineeringRequirements engineering process in software engineering
Requirements engineering process in software engineering
 
CHAPTER 6 REQUIREMENTS MODELING: SCENARIO based Model , Class based moddel
CHAPTER 6 REQUIREMENTS MODELING: SCENARIO based Model , Class based moddelCHAPTER 6 REQUIREMENTS MODELING: SCENARIO based Model , Class based moddel
CHAPTER 6 REQUIREMENTS MODELING: SCENARIO based Model , Class based moddel
 
System engineering
System engineeringSystem engineering
System engineering
 
Software engineering lecture notes
Software engineering lecture notesSoftware engineering lecture notes
Software engineering lecture notes
 
Introduction To Software Engineering
Introduction To Software EngineeringIntroduction To Software Engineering
Introduction To Software Engineering
 
Uml
UmlUml
Uml
 
Sesion6 Procesos de Ingeniería de Requisitos
Sesion6 Procesos de Ingeniería de RequisitosSesion6 Procesos de Ingeniería de Requisitos
Sesion6 Procesos de Ingeniería de Requisitos
 
Software engineering
Software engineeringSoftware engineering
Software engineering
 
Software Architecture: introduction to the abstraction
Software Architecture: introduction to the abstractionSoftware Architecture: introduction to the abstraction
Software Architecture: introduction to the abstraction
 
Qa
QaQa
Qa
 
Using cyclomatic complexity to measure code complexity
Using cyclomatic complexity to measure code complexityUsing cyclomatic complexity to measure code complexity
Using cyclomatic complexity to measure code complexity
 
Decision Table Based Testing
Decision Table Based TestingDecision Table Based Testing
Decision Table Based Testing
 
software engineering
software engineeringsoftware engineering
software engineering
 
Cs419 lec11 bottom-up parsing
Cs419 lec11   bottom-up parsingCs419 lec11   bottom-up parsing
Cs419 lec11 bottom-up parsing
 
Software Requirements Workshop Presentation
Software Requirements Workshop PresentationSoftware Requirements Workshop Presentation
Software Requirements Workshop Presentation
 
SDLC and Software Process Models
SDLC and Software Process ModelsSDLC and Software Process Models
SDLC and Software Process Models
 
Software Engineering Practice
Software Engineering PracticeSoftware Engineering Practice
Software Engineering Practice
 
Unit 8
Unit 8Unit 8
Unit 8
 
Software engineering lecture notes
Software engineering   lecture notesSoftware engineering   lecture notes
Software engineering lecture notes
 

Similar a Requirements Engineering (CS 5032 2012)

CS 5032 L4 requirements engineering 2013
CS 5032 L4 requirements engineering 2013CS 5032 L4 requirements engineering 2013
CS 5032 L4 requirements engineering 2013
Ian Sommerville
 
CS 5032 L1 critical socio-technical systems 2013
CS 5032 L1 critical socio-technical systems 2013CS 5032 L1 critical socio-technical systems 2013
CS 5032 L1 critical socio-technical systems 2013
Ian Sommerville
 
Requirement engineering in S/W Engineering
Requirement engineering in S/W EngineeringRequirement engineering in S/W Engineering
Requirement engineering in S/W Engineering
Mikel Raj
 
Software Evolution_Se lect3 btech
Software Evolution_Se lect3 btechSoftware Evolution_Se lect3 btech
Software Evolution_Se lect3 btech
IIITA
 
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
Ahmad Ammari
 
Software Evolution_Se lect2 btech
Software Evolution_Se lect2 btechSoftware Evolution_Se lect2 btech
Software Evolution_Se lect2 btech
IIITA
 

Similar a Requirements Engineering (CS 5032 2012) (20)

CS 5032 L4 requirements engineering 2013
CS 5032 L4 requirements engineering 2013CS 5032 L4 requirements engineering 2013
CS 5032 L4 requirements engineering 2013
 
CS 5032 L1 critical socio-technical systems 2013
CS 5032 L1 critical socio-technical systems 2013CS 5032 L1 critical socio-technical systems 2013
CS 5032 L1 critical socio-technical systems 2013
 
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
 
Software engineering socio-technical systems
Software engineering   socio-technical systemsSoftware engineering   socio-technical systems
Software engineering socio-technical systems
 
Software Evolution_Se lect3 btech
Software Evolution_Se lect3 btechSoftware Evolution_Se lect3 btech
Software Evolution_Se lect3 btech
 
Software Engineering (Requirements Engineering & Software Maintenance)
Software Engineering (Requirements Engineering  & Software Maintenance)Software Engineering (Requirements Engineering  & Software Maintenance)
Software Engineering (Requirements Engineering & Software Maintenance)
 
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
 
Software Requirements engineering
Software Requirements engineeringSoftware Requirements engineering
Software Requirements engineering
 
Software Evolution_Se lect2 btech
Software Evolution_Se lect2 btechSoftware Evolution_Se lect2 btech
Software Evolution_Se lect2 btech
 
Ooad
OoadOoad
Ooad
 
Socio technical system
Socio technical systemSocio technical system
Socio technical system
 
5 chap - MAINTENANCE
5 chap - MAINTENANCE5 chap - MAINTENANCE
5 chap - MAINTENANCE
 
Requirements Engineering - "Ch2 an introduction to requirements"
Requirements Engineering - "Ch2 an introduction to requirements"Requirements Engineering - "Ch2 an introduction to requirements"
Requirements Engineering - "Ch2 an introduction to requirements"
 
Requirements engineering
Requirements engineeringRequirements engineering
Requirements engineering
 
Requirements Engineering for LSCITS
Requirements Engineering for LSCITSRequirements Engineering for LSCITS
Requirements Engineering for LSCITS
 
Socio technical systems (LSCITS EngD)
Socio technical systems (LSCITS EngD)Socio technical systems (LSCITS EngD)
Socio technical systems (LSCITS EngD)
 
Software Requirements
Software RequirementsSoftware Requirements
Software Requirements
 
Dependability requirements for LSCITS
Dependability requirements for LSCITSDependability requirements for LSCITS
Dependability requirements for LSCITS
 
22-REQUIREMENT.ppt
22-REQUIREMENT.ppt22-REQUIREMENT.ppt
22-REQUIREMENT.ppt
 

Más de Ian Sommerville

Security case buffer overflow
Security case buffer overflowSecurity case buffer overflow
Security case buffer overflow
Ian 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 failure
Ian Sommerville
 
CS5032 Case study Kegworth air disaster
CS5032 Case study Kegworth air disasterCS5032 Case study Kegworth air disaster
CS5032 Case study Kegworth air disaster
Ian Sommerville
 
CS5032 L19 cybersecurity 1
CS5032 L19 cybersecurity 1CS5032 L19 cybersecurity 1
CS5032 L19 cybersecurity 1
Ian Sommerville
 
CS5032 L20 cybersecurity 2
CS5032 L20 cybersecurity 2CS5032 L20 cybersecurity 2
CS5032 L20 cybersecurity 2
Ian Sommerville
 
L17 CS5032 critical infrastructure
L17 CS5032 critical infrastructureL17 CS5032 critical infrastructure
L17 CS5032 critical infrastructure
Ian Sommerville
 
CS5032 Case study Maroochy water breach
CS5032 Case study Maroochy water breachCS5032 Case study Maroochy water breach
CS5032 Case study Maroochy water breach
Ian 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 systems
Ian Sommerville
 
CS5032 L9 security engineering 1 2013
CS5032 L9 security engineering 1 2013CS5032 L9 security engineering 1 2013
CS5032 L9 security engineering 1 2013
Ian Sommerville
 
CS5032 L10 security engineering 2 2013
CS5032 L10 security engineering 2 2013CS5032 L10 security engineering 2 2013
CS5032 L10 security engineering 2 2013
Ian Sommerville
 
CS5032 L11 validation and reliability testing 2013
CS5032 L11 validation and reliability testing 2013CS5032 L11 validation and reliability testing 2013
CS5032 L11 validation and reliability testing 2013
Ian Sommerville
 

Más de Ian Sommerville (20)

Ultra Large Scale Systems
Ultra Large Scale SystemsUltra Large Scale Systems
Ultra Large Scale Systems
 
Resp modellingintro
Resp modellingintroResp modellingintro
Resp modellingintro
 
Resilience and recovery
Resilience and recoveryResilience and recovery
Resilience and recovery
 
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
 
Designing software for a million users
Designing software for a million usersDesigning software for a million users
Designing software for a million users
 
Security case buffer overflow
Security case buffer overflowSecurity case buffer overflow
Security case buffer overflow
 
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
 
CS5032 Case study Kegworth air disaster
CS5032 Case study Kegworth air disasterCS5032 Case study Kegworth air disaster
CS5032 Case study Kegworth air disaster
 
CS5032 L19 cybersecurity 1
CS5032 L19 cybersecurity 1CS5032 L19 cybersecurity 1
CS5032 L19 cybersecurity 1
 
CS5032 L20 cybersecurity 2
CS5032 L20 cybersecurity 2CS5032 L20 cybersecurity 2
CS5032 L20 cybersecurity 2
 
L17 CS5032 critical infrastructure
L17 CS5032 critical infrastructureL17 CS5032 critical infrastructure
L17 CS5032 critical infrastructure
 
CS5032 Case study Maroochy water breach
CS5032 Case study Maroochy water breachCS5032 Case study Maroochy water breach
CS5032 Case study Maroochy water breach
 
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 L9 security engineering 1 2013
CS5032 L9 security engineering 1 2013CS5032 L9 security engineering 1 2013
CS5032 L9 security engineering 1 2013
 
CS5032 L10 security engineering 2 2013
CS5032 L10 security engineering 2 2013CS5032 L10 security engineering 2 2013
CS5032 L10 security engineering 2 2013
 
CS5032 L11 validation and reliability testing 2013
CS5032 L11 validation and reliability testing 2013CS5032 L11 validation and reliability testing 2013
CS5032 L11 validation and reliability testing 2013
 

Último

Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
vu2urc
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
Enterprise Knowledge
 

Último (20)

Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 

Requirements Engineering (CS 5032 2012)

  • 1. Requirements Engineering Professor Ian Sommerville L3 - Requirements Engineering, Critical Systems Engineering, 2011 Slide 1
  • 2. Requirements and systems User Software-based world system Requirements L3 - Requirements Engineering, Critical Systems Engineering, 2011 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. L3 - Requirements Engineering, Critical Systems Engineering, 2011 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” L3 - Requirements Engineering, Critical Systems Engineering, 2011 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. L3 - Requirements Engineering, Critical Systems Engineering, 2011 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” L3 - Requirements Engineering, Critical Systems Engineering, 2011 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. L3 - Requirements Engineering, Critical Systems Engineering, 2011 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 L3 - Requirements Engineering, Critical Systems Engineering, 2011 stakeholders will not admit to Slide 8 organisational factors that
  • 9. Requirements engineering terminology Terms that you should understand Stakeholders, viewpoints and concerns L3 - Requirements Engineering, Critical Systems Engineering, 2011 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 L3 - Requirements Engineering, Critical Systems Engineering, 2011 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 L3 - Requirements Engineering, Critical Systems Engineering, 2011 Slide 11
  • 12. Stakeholders and viewpoints Stakeholde rs Provide information about VP2 VP1 VP4 VP3 Requirements L3 - Requirements Engineering, Critical Systems Engineering, 2011 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) L3 - Requirements Engineering, Critical Systems Engineering, 2011 Slide 13
  • 14. Concerns Software and hardware Operators and managers The organisation Society Security Availability Safety L3 - Requirements Engineering, Critical Systems Engineering, 2011 Slide 14
  • 15. Requirements engineering processes Different views of the processes involved in requirements engineering L3 - Requirements Engineering, Critical Systems Engineering, 2011 Slide 15
  • 16. The systems engineering process System System requirements validation engineering Architectural System design integration Requirements Sub-system partitioning development Software requirements engineering L3 - Requirements Engineering, Critical Systems Engineering, 2011 Slide 16
  • 17. RE process context System acquisition Requirements engineering System design L3 - Requirements Engineering, Critical Systems Engineering, 2011 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 L3 - Requirements Engineering, Critical Systems Engineering, 2011 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. L3 - Requirements Engineering, Critical Systems Engineering, 2011 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 L3 - Requirements Engineering, Critical Systems Engineering, 2011 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 L3 - Requirements Engineering, Critical Systems Engineering, 2011 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 L3 - Requirements Engineering, Critical Systems Engineering, 2011 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 L3 - Requirements Engineering, Critical Systems Engineering, 2011 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 L3 - Requirements Engineering, Critical Systems Engineering, 2011 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 L3 - Requirements Engineering, Critical Systems Engineering, 2011 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 L3 - Requirements Engineering, Critical Systems Engineering, 2011 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 L3 - Requirements Engineering, Critical Systems Engineering, 2011 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 L3 - Requirements Engineering, Critical Systems Engineering, 2011 Slide 28