ch 1 RE-UML1_d28d664a932e7a8417e94e2ff115568a.ppt
Document Details
Uploaded by TougherPigeon
2009
Tags
Full Transcript
Requirements Engineering From System Goals to UML Models to Software Specifications Axel Van Lamsweerde www.wileye...
Requirements Engineering From System Goals to UML Models to Software Specifications Axel Van Lamsweerde www.wileyeurope.com/college/van lamsweerde Chap.1: Setting the Scene © 2009 John Wiley and Sons 1 Fundamentals of RE Chapter 1 Setting the Scene www.wileyeurope.com/college/van lamsweerde Chap.1: Setting the Scene © 2009 John Wiley and Sons 2 The Problem World and the Machine Solution To make sure a software solution “correctly” solves some real- world problem, we must first fully understand and define... – what problem needs to be solved in the real world – the context in which the problem arises Example: car control – Problem: Problem manual handbrake release can be inconvenient in certain situations – Context: Context car driving, braking, driver ’s intent, safety rules,... www.wileyeurope.com/college/van lamsweerde Chap.1: Setting the Scene © 2009 John Wiley and Sons 3 The Problem World and the Machine Solution World: World problematic part of the real-world, made of – human components: organization units, staff, operators,... – physical components: devices, legacy software, mother Nature,... Machine: Machine what needs to be installed to solve the problem – software to be developed and/or purchased – hardware/software implementation platform, associated input/output devices (e.g. sensors & actuators) Requirements engineering (RE) is concerned with... – the desired machine’s effect on the problem world – the assumptions and relevant properties about this world www.wileyeurope.com/college/van lamsweerde Chap.1: Setting the Scene © 2009 John Wiley and Sons 4 The Problem World and the Machine Solution The world and the machine have their own phenomena while sharing others RE is solely concerned with world phenomena, including shared ones [Jackson95] – unlike software design, concerned with machine phenomena World Shared Machine MotorRaising phenomena phenomena phenomena DriverWantsToStart motor.Regime = ‘up’ stateDatabase updated errorCode = 013 HandbrakeReleased handBrakeCtrl = ‘off’ World Machine www.wileyeurope.com/college/van lamsweerde Chap.1: Setting the Scene © 2009 John Wiley and Sons 5 The problem world involves two system versions: System: System set of interacting components structuring the problem world System-as-is: as-is system as it exists before the machine is built into it System-to-be: to-be system as it should be when the machine will operate into it Concepts, phenomena, rules Car about car handbraking Brake Driver System-as-is Concepts, phenomena, rules about automated handbraking System-to-be Machine www.wileyeurope.com/college/van lamsweerde Chap.1: Setting the Scene © 2009 John Wiley and Sons 6 RE: A Preliminary Definition Coordinated set of activities... – for exploring, exploring evaluating, evaluating documenting, documenting consolidating, consolidating revising and adapting the objectives, objectives capabilities, capabilities qualities, qualities constraints & assumptions on a software- intensive system – based on problems raised by the system-as-is and opportunities provided by new technologies www.wileyeurope.com/college/van lamsweerde Chap.1: Setting the Scene © 2009 John Wiley and Sons 7 What others have said... Ross'77 Requirements definition must say... – why a new system is needed, based on current or foreseen conditions, – what system features will satisfy this context, – how the system is to be constructed Zave'97 RE is concerned with the real-world goals for, functions of, constraints on software systems; and with their – link to precise specifications of software behavior, behavior – evolution over time and families www.wileyeurope.com/college/van lamsweerde Chap.1: Setting the Scene © 2009 John Wiley and Sons 8 System Requirements vs. Software Requirements Software-to-be: Software-to-be software to be developed - part of the machine, component of the system-to-be Environment: all other components of the system-to-be, including people, devices, pre-existing software, etc. System requirements: requirements what the system-to-be should meet; formulated in terms of phenomena in the environment “The handbrake shall be released when the driver wants to start.” Software requirements: requirements what the software-to-be should meet on its own; formulated in terms of phenomena shared by the software and the environment “The software output variable handBrakeCtrl shall have the value off when the software input variable motorRegime gets the value up.” www.wileyeurope.com/college/van lamsweerde Chap.1: Setting the Scene © 2009 John Wiley and Sons 9 The Scope of RE: the WHY, WHAT, WHO Dimensions System-as-is System-to-be problems, WHY opportunities, Objectives a new system? system knowledge satisfy requirements, constraints, WHAT assumptions services? assignment WHO will be responsible for what ? www.wileyeurope.com/college/van lamsweerde Chap.1: Setting the Scene © 2009 John Wiley and Sons 10 ? The WHY Dimension Identify, analyze, refine the system-to-be’s objectives – to address analyzed deficiencies of the system-as-is – in alignment with business objectives – taking advantage of technology opportunities Example: airport train control “Serve more passengers” “Reduce transfer time among terminals” Difficulties – Acquire domain knowledge – Evaluate alternative options (e.g. alternative ways of satisfying the same objective) – Match problems-opportunities, and evaluate these: implications, associated risks – Handle conflicting objectives www.wileyeurope.com/college/van lamsweerde Chap.1: Setting the Scene © 2009 John Wiley and Sons 11 ? The WHAT Dimension Identify & define the system-to-be’s functional services (software services, associated manual procedures) – to satisfy the identified objectives – according to quality constraints: security, performance,... – based on realistic assumptions about the environment Example: airport train control “Computation of safe train accelerations” “Display of useful information for passengers inside trains” Difficulties – Identify the right set of features – Specify these precisely for understanding by all parties – Ensure backward traceability to system objectives www.wileyeurope.com/college/van lamsweerde Chap.1: Setting the Scene © 2009 John Wiley and Sons 12 ? The WHO Dimension Assign responsibilities for the objectives, services, constraints among system-to-be components – based on their capabilities and on the system’s objectives – yielding the software-environment boundary Example: airport train control – “Safe train acceleration”... under direct responsibility of software-to- be (driverless option) or of driver following software indications ? – “Accurate estimation of train speed/position”... under responsibility of tracking system or of preceding train ? Difficulties – Evaluate alternative options to decide on the right degree of automation www.wileyeurope.com/college/van lamsweerde Chap.1: Setting the Scene © 2009 John Wiley and Sons 13 Setting the Scene What is Requirements Engineering? – The problem world & the machine solution – The scope of RE: the WHY, WHAT and WHO dimensions – Types of statements involved: descriptive vs. prescriptive – Categories of requirements: functional vs. non-functional – The requirements lifecycle: actors, processes, products – Target qualities and defects to avoid – Types of software projects – Requirements in the software lifecycle – Relationship to other disciplines www.wileyeurope.com/college/van lamsweerde Chap.1: Setting the Scene © 2009 John Wiley and Sons 14