ch 1 RE-UML1_d28d664a932e7a8417e94e2ff115568a.pdf

Full Transcript

Requirements Engineering From System Goals to UML Models to Software Specifications Axel Van Lamsweerde w...

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: manual handbrake release can be inconvenient in certain situations – 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: problematic part of the real-world, made of – human components: organization units, staff, operators,... – physical components: devices, legacy software, mother Nature,...  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: set of interacting components structuring the problem world  System-as-is: system as it exists before the machine is built into it  System-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, evaluating, documenting, consolidating, revising and adapting the objectives, capabilities, 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, – 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 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: 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: 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

Use Quizgecko on...
Browser
Browser