Requirements - Introduction

Software Engineering
1.0x

Requirements - Introduction

Created 3 years ago

Duration 0:03:27
lesson view count 525
Select the file type you wish to download
Slide Content
  1. Requirements Introduction

    Slide 1 - Requirements Introduction

    • Emerson Murphy-Hill
  2. Scope of Software Project Failures

    Slide 2 - Scope of Software Project Failures

    • WHY PROJECTS FAIL %
    • 1. Incomplete Requirements 13.1
    • 2. Lack of user involvement 12.4
    • 3. Lack of resources 10.6
    • 4. Unrealistic Expectations 9.9
    • 5. Lack of executive support 9.3
    • 6. Changing requirements 8.7
    • 7. Lack of planning 8.1
    • 8. Didn’t need it any longer 7.5
    • 9. Lack of IT management 6.2
    • 10. Technology illiteracy 4.3
    • Jim Johnson, The Standish Group International Project Leadership
    • Conference, May 1995, Chicago
  3. Relative Cost to Fix an Error

    Slide 3 - Relative Cost to Fix an Error

    • Boehm’s analysis of 63 s/w development projects (IBM, GTE, TRW, etc.) to
    • Determine ranges in cost for errors created by false assumptions in req’ts phase
    • But not detected till later phases
  4. Requirements

    Slide 4 - Requirements

    • Software Requirement: condition or capability needed by a user to solve a problem or achieve an objective that must be met or possessed by a system or system component to satisfy a contract, standard, specification, or other formally imposed document
    • Description of what the customers want
    • Bad news: May be buried beneath layers of assumptions, misconceptions, and politics
  5. Requirements Engineering

    Slide 5 - Requirements Engineering

    • Systematic way of developing requirements through an iterative process
    • Results in a specification of the system that stakeholders understands
    • natural language
    • easy to understand pictures (UML Diagrams)
    • A stakeholder is a key representative of the groups who have a vested interest in your system and direct or indirect influence on its requirements.
  6. Requirements Engineering (2)

    Slide 6 - Requirements Engineering (2)

    • Analysis: studying user needs to generate system definition that users understand
    • Fact-finding
    • Communication
    • Fact-validation
    • Modeling: translating requirements the user understands to a form that software engineers understand
    • Representation
    • Organization
  7. Types of Requirements

    Slide 7 - Types of Requirements

    • Functional requirements: requirements that specify a function that a system or system component must be able to perform
    • The watch shall display the time.
    • Non-functional requirements: not specifically concerned with the functionality of a system but place restrictions on the product being developed
    • User visible aspects of the system not directly related to functional behavior
    • Usability; reliability; privacy; security; availability; performance
    • Best to translate non-functional to measurable.
    • The response time must be less than 1 second
    • Constraints (“Pseudo requirements”): not user-visible; imposed by the client that restricts the implementation of the system or the development process
    • The implementation language must be Java.
    • Unit tests must be written in JUnit.