Software Architecture Design - Download as PowerPoint

Document Sample
Software Architecture Design - Download as PowerPoint Powered By Docstoc
					       Software Requirements:
       Overview and Motivation


Gruia-Catalin Roman and Christopher Gill
                          CSE 436 January 2007
                        Department of Computer
                        Science and Engineering
Overview of Requirements Topics
[1] Software Crisis (the motivation)
[2] Life-Cycle Perspective (the context)
[3] Software Requirements (the ideas)
[4] Processes (applying the approach)
[5] Products (results and artifacts)
[6] Basic Methods (foundational techniques)
[7] Complex Models (advanced techniques)
[8] Reviews (evaluation and feedback)
                                        [ §1 : 2 ]
1. Software Crisis (the motivation)
Overview

   1.1 Symptoms
   1.2 Causes
   1.3 Costs
   1.4 Response



                               [ §1 : 3 ]
1.1 Symptoms
   Systems are being delivered late and over budget
       Denver Airport (losses of $1.1 million/day)
       FAA ($1 billion over budget, five years late)
   Systems under development are canceled
       due to emerging gaps between projected capabilities and
        understood needs
       two out of six major projects suffer this fate




                                                         [ §1 : 4 ]
    1.1 Symptoms, Continued
   Completed systems meet the needs of the user only
    in part
       Some needs may never have been captured
       Capture may not have been rigorous / detailed
       Needs may have been out of scope for $ or time budgets
   Completed systems are never installed
   These problems are not limited to large and complex
    systems




                                                            [ §1 : 5 ]
1.2 Causes
   Complexity
   System requirements
   Weak management controls
   Lack of technical maturity




                                 [ §1 : 6 ]
1.3 Costs
   The cost of correcting an
    error grows very rapidly as   error
                                  correction
    the project moves along its   cost
    life-cycle
   This observation argues for
    early error detection and                         point
                                                          of
    provides the motivation for
                                                  detection
    technical reviews
   The highest cost errors are
    those involving the systems
    requirements formulation



                                               [ §1 : 7 ]
Implications
   Problems relating to the identification and
    documentation of system requirements
       present the highest risk for a project
   Investments in other areas of the software
    development process can be easily undercut
       Costs incurred by problems with the requirements
       … take away time and $ from design,
        implementation, testing, upgrades, etc.


                                                 [ §1 : 8 ]
Implications, Continued
   Meaningful measurement and evaluation
    must consider the key relation between
       error introduction points
       error detection points
   Otherwise errors can persist, even propagate
       Limits effectiveness of the quality assurance
       Introduces weaknesses in development process




                                                [ §1 : 9 ]
1.4 Response
   There is no silver bullet for the very difficult task of
    requirements definition and management
   The state of the art, however, is very much ahead of
    the state of the practice
       What you learn in this course, you can apply with impact
   A standardized framework can be the conduit for
    bridging the gap
       increased awareness
       common terminology
       assimilation of very basic practices


                                                          [ §1 : 10 ]
Capability Maturity Model
   Capability Maturity                             ...
    Model (CMM)                         Software project planning
                                      Requirements management
                                                                                   Optimizing (5)


       A framework designed to                                                Managed (4)
        facilitate the introduction
        of basic sound practices                                          Defined (3)
        across the industry
                                                                Repeatable (2)
   CMM does not solve
    the technical problem                                   Initial (1)

   CMM facilitates the
    adoption of sound
    technical and
    managerial practices

                                                                                   [ §1 : 11 ]
Repeatable Level
Key process areas

     Requirements management
     Software project management
     Software project tracking and oversight
     Software subcontract management
     Software quality assurance
     Software configuration management



                                                [ §1 : 12 ]
Requirements Management
Goals                              Ability to perform
 Requirements are controlled        Responsibility is established
  to establish a baseline for         for analyzing and allocating
  technical and managerial            the requirements
  use
 Plans, products, and               Requirements are
  activities are kept consistent      documented
  with the requirements              Resources are provided for
Commitment to perform                 managing the requirements
 The project follows a written      Training is provided
  organizational policy for
  managing system
  requirements


                                                         [ §1 : 13 ]
Performance
Activities performed
 Requirements are reviewed prior to use

 Requirements are used as a basis for plans,
  products, and activities
 Changes to allocated requirements are
  reviewed




                                       [ §1 : 14 ]
Controls
Measurement and analysis
 Measurements are made and used to determine the
  status of the activities for managing the requirements
Verifying implementation
 Activities for managing requirements are reviewed
  with senior management
 Activities for managing requirements are reviewed
  with the project manager
 The software quality assurance group reviews
  activities and products


                                                [ §1 : 15 ]

				
DOCUMENT INFO
Shared By:
Categories:
Tags:
Stats:
views:0
posted:10/5/2012
language:English
pages:15