lecture 1: sign-up, introductionfileadmin.cs.lth.se/cs/education/ets170/lect/2015/l1.pdf · re...

53
Welcome to ETS170 Requirements Engineering (Kravhantering) http://cs.lth.se/ETS170/ Lecture 1: Sign-up, Introduction Björn Regnell Course head Lectures Examination Elizabeth Bjarnason Course coordinator, Exercises, Project, Lab Examination Lena Ohlsson Course secretary Room E:2179 09:30 - 11:30 12:45 - 13:30 Johan Linåker Project, Lab

Upload: others

Post on 04-Jul-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Lecture 1: Sign-up, Introductionfileadmin.cs.lth.se/cs/Education/ETS170/lect/2015/L1.pdf · RE means to ..... dig up, understand, write down, check, ... • reqT&Scala tutorial Th

Welcome toETS170 Requirements Engineering (Kravhantering)http://cs.lth.se/ETS170/

Lecture 1:Sign-up, Introduction

Björn RegnellCourse headLecturesExamination

ElizabethBjarnasonCourse coordinator, Exercises,Project, LabExamination

Lena OhlssonCourse secretaryRoom E:217909:30 - 11:3012:45 - 13:30

JohanLinåkerProject,Lab

Page 2: Lecture 1: Sign-up, Introductionfileadmin.cs.lth.se/cs/Education/ETS170/lect/2015/L1.pdf · RE means to ..... dig up, understand, write down, check, ... • reqT&Scala tutorial Th

Recent cs.th.se doctoral theses in Requirements Engineering supervised by Professor Björn Regnell

Elizabeth BjarnasonIntegrated Requirements Engineering – Understanding and Bridging Gaps within Software DevelopmentDoctoral Dissertation, 2013, ISBN 978-91-7473-732-5

Krzysztof Wnuk Visualizing, Analyzing and Managing the Scope ofSoftware Releases in Large-Scale Requirements EngineeringDoctoral Dissertation, 2012, ISBN 978-91-976939-7-4

Richard Berntsson Svensson Supporting Release Planning of Quality Requirements: The Quality Performance ModelDoctoral Dissertation, 2011, ISBN 978-91-976939-4-3

Page 3: Lecture 1: Sign-up, Introductionfileadmin.cs.lth.se/cs/Education/ETS170/lect/2015/L1.pdf · RE means to ..... dig up, understand, write down, check, ... • reqT&Scala tutorial Th

Requirements Engineering (RE)RE means to ...

... dig up, understand, write down, check, prioritize, decide, follow up…

... the features of (software) products

… innebär att

gräva fram, förstå, skrivaner, kolla, prioritera, besluta om, följa upp …

... (mjukvaru-) produktersegenskaper

Kravhantering

Page 4: Lecture 1: Sign-up, Introductionfileadmin.cs.lth.se/cs/Education/ETS170/lect/2015/L1.pdf · RE means to ..... dig up, understand, write down, check, ... • reqT&Scala tutorial Th

You will soon be working as an engineer…

Page 5: Lecture 1: Sign-up, Introductionfileadmin.cs.lth.se/cs/Education/ETS170/lect/2015/L1.pdf · RE means to ..... dig up, understand, write down, check, ... • reqT&Scala tutorial Th

Hannes Lindbeck Requirements specialist, Project Manager, Outsourcing specialistat Sogeti

- I took the requirements engineering course at LTH in 2004, and it was so interesting that I have focused my entire career on requirements and project management. Lessons from the course text book

and my experiences from the course project are still with me every day :)

Page 6: Lecture 1: Sign-up, Introductionfileadmin.cs.lth.se/cs/Education/ETS170/lect/2015/L1.pdf · RE means to ..... dig up, understand, write down, check, ... • reqT&Scala tutorial Th

Economic consequences of requirements engineering problems

[Davis, 1992]

Cos

t of c

orre

ctin

g a

prob

lem

Req Design Coding SystemTesting

AcceptanceTesting

Operation

Page 7: Lecture 1: Sign-up, Introductionfileadmin.cs.lth.se/cs/Education/ETS170/lect/2015/L1.pdf · RE means to ..... dig up, understand, write down, check, ... • reqT&Scala tutorial Th

Course contents 7,5 credit points8 lectures (W1 Mon+Thu, W2 Mon+Thu, W3, W4, W5, W7)

Give overview and structure (not all theory is covered)Scala crash course + reqT scripting L4 in W2Guest lecturer: Hampus Jacobsson L5 in W3Mandatory project examination L8 in W7

5 exercises (W1-5 Tue or Wed, sign-up list today)How to use the theory in the project, prepare for the written examSign up for one exercise time slot – ideally with your project team!

Computer Lab sessions (W3, W5, sign-up list later)Focus on computer tools, preparations mandatory

Project (3 credit points ~ 80 h per person, 6-8 persons, sign-up list today)Purpose: to apply theory in practical workYou act as both customers AND developers

Written exam on all literature (4,5 credit points)Literature: Lauesen + compendiumCompendium is sold at the CS expedition by Lena Ohlsson 12:45

60 SEK – please bring even moneyBonus points for the exam, based on 2 optional hand-ins.

Max 10 bonus points on first exam if you hand in good exam problems proposals

Hand-outs: course program + introduction survey

Hand in surveyafter the break

Page 8: Lecture 1: Sign-up, Introductionfileadmin.cs.lth.se/cs/Education/ETS170/lect/2015/L1.pdf · RE means to ..... dig up, understand, write down, check, ... • reqT&Scala tutorial Th

Examination

Project grade (Fail,3,4,5); groups based grade Labs (Fail, Pass); graded in pairs based on

preparations and examination at the lab Written exam; individual grade.

Total 100p; 50p is required for pass 2 optional hand-ins of exam problem proposals, in

groups, can bring max 10 bonus points to the written exam if good

Final grade (Fail,3,4,5); mapped from exam points with limits based on project grade...

Page 9: Lecture 1: Sign-up, Introductionfileadmin.cs.lth.se/cs/Education/ETS170/lect/2015/L1.pdf · RE means to ..... dig up, understand, write down, check, ... • reqT&Scala tutorial Th

Final grade

Page 10: Lecture 1: Sign-up, Introductionfileadmin.cs.lth.se/cs/Education/ETS170/lect/2015/L1.pdf · RE means to ..... dig up, understand, write down, check, ... • reqT&Scala tutorial Th

0102030405060708090

100

1 3 5 7 9 11 13 15 17 19 21 23 25 27 29 31 33 35 37 39 41 43 45 47 49 51 53 55 57 59 61

ETS170 HT2014 Tenta

Tenta BonusUK8% 3

10%

439%

543%

Page 11: Lecture 1: Sign-up, Introductionfileadmin.cs.lth.se/cs/Education/ETS170/lect/2015/L1.pdf · RE means to ..... dig up, understand, write down, check, ... • reqT&Scala tutorial Th

http://reqT.org• A scalable requirements modeling tool• Turns requirements models into structured code• Especially developed for this course• Implements important concepts from the literature• Produces documents for hand-ins via auto-generated html, latex, pdf• Integrates with Google docs, Excel, Word etc via txt, html and csv• Integrates with version mgmt. cloud services, e.g GitHub, Bitbucket• Implemented in the Scala language enabling powerful scripting• reqT&Scala tutorial Th W2 @10-12 in MA:05• Used at labs: (1) Reqts Modelling, (2) Reqts Prio+Release Planning• Discuss in your project if/how you want to use reqT

Page 12: Lecture 1: Sign-up, Introductionfileadmin.cs.lth.se/cs/Education/ETS170/lect/2015/L1.pdf · RE means to ..... dig up, understand, write down, check, ... • reqT&Scala tutorial Th

Inlärningsmål:Kunskapsmål

1. definiera grundläggande begrepp och principer inom kravhantering

2. redogöra för ett flertal olika typer av krav3. redogöra för och värdera ett flertal olika metoder och

tekniker för kravhantering4. beskriva och relatera olika delprocesser inom kravhantering5. beskriva kravhanteringsprocessens relation till övriga

processer i produktlivscykeln6. redogöra för kravhanteringens relation till

marknadsorienterad produktledning7. diskutera några forskningsresultat inom

kravhanteringsområdet

English version in course program

Page 13: Lecture 1: Sign-up, Introductionfileadmin.cs.lth.se/cs/Education/ETS170/lect/2015/L1.pdf · RE means to ..... dig up, understand, write down, check, ... • reqT&Scala tutorial Th

Inlärningsmål:Färdighetsmål

1. kunna välja lämplig kravhanteringsteknik för sammanhanget

kunna använda flera olika tekniker för att ...2. elicitera (identifiera)3. specificera4. validera5. prioritera... krav

English version in course program

Page 14: Lecture 1: Sign-up, Introductionfileadmin.cs.lth.se/cs/Education/ETS170/lect/2015/L1.pdf · RE means to ..... dig up, understand, write down, check, ... • reqT&Scala tutorial Th

Inlärningsmål:Attitydmål

1. medvetet kunna välja arbetssätt efter hur kravbilden ser ut2. visa prov på ett systematiskt och långsiktigt arbetssätt3. medvetet kunna problematisera över kravkvalitetens påverkan

på slutproduktens kvalitet4. på ett adekvat sätt kunna involvera användare i kravprocessen5. medvetet kunna problematisera över kravhanteringens relation

till ekonomiska aspekter i produktutveckling

English version in course program

Page 15: Lecture 1: Sign-up, Introductionfileadmin.cs.lth.se/cs/Education/ETS170/lect/2015/L1.pdf · RE means to ..... dig up, understand, write down, check, ... • reqT&Scala tutorial Th

Kursinnehåll1. Krav på olika abstraktionsnivåer och i olika sammanhang2. Kravhanteringens delprocesser och deras relation3. Specificering av datakrav, t ex med virtuella fönster och

datamodeller4. Specificering av funktionella krav, t ex med egenskapskrav och

uppgiftsbeskrivningar5. Specificering av olika typer av kvalitetskrav (icke-funktionella

krav), t ex användbarhet, prestanda, och tillförlitlighet6. Olika tekniker för elicitering, t ex fokusgrupper, prototyper7. Olika tekniker för validering, t ex granskningar8. Olika tekniker för prioritering, t ex parvisa jämförelser9. Marknadsorienterad kravhantering, produktledning och

prioritering

English version in course program

Page 16: Lecture 1: Sign-up, Introductionfileadmin.cs.lth.se/cs/Education/ETS170/lect/2015/L1.pdf · RE means to ..... dig up, understand, write down, check, ... • reqT&Scala tutorial Th

Project organization

Another team isyour developer

Another team isyour customer

System Requirements

Project Mission

Work as customer 20%Work as developer 80%

Project Supervisor

Your team

System Requirements

Project Mission

Page 17: Lecture 1: Sign-up, Introductionfileadmin.cs.lth.se/cs/Education/ETS170/lect/2015/L1.pdf · RE means to ..... dig up, understand, write down, check, ... • reqT&Scala tutorial Th

Project 6-8 persons per project Sign-up list for project teams during the break Mandatory project exam L7, Mon W7, starting 10:05 sharp This week W1 you shall create a Project Mission to be delivered latest this

Friday at 09.00 via email To: [email protected] ; [email protected] ; [email protected] ;Subject: [ETS170] Team X: PM v1

The Project Mission shall fit on one A4 page an be in .pdf-format It shall contain a project title and name + email of all group members Check out examples from previous years at the course web site All subsequent project hand-ins are sent to your project supervisor assigned

to your group by Monday W2 Next Monday at lecture L3 you will choose Project Mission.

♦ The choice order is randomized. You cannot choose your own PM.

Page 18: Lecture 1: Sign-up, Introductionfileadmin.cs.lth.se/cs/Education/ETS170/lect/2015/L1.pdf · RE means to ..... dig up, understand, write down, check, ... • reqT&Scala tutorial Th

What is a good Project Mission?

You have a deep knowledge of the domain You have a genuine interest in the system You can evaluate detailed requirements on the system The mission has a large scope of interesting possibilities

As customer you act as:Key Customer Your are one of many potential customer.

The development team owns the product and decides on priorities and product content, while your team gives input and provides feedback.

Page 19: Lecture 1: Sign-up, Introductionfileadmin.cs.lth.se/cs/Education/ETS170/lect/2015/L1.pdf · RE means to ..... dig up, understand, write down, check, ... • reqT&Scala tutorial Th

Project deadlines

Iteration 1R1Project

Mission v1PMv2

Iteration 2R2

Iteration 3R3

W4Mon

W6Mon

W7Fri

W1Fri

W3Mon

W2

Meeting w supervisor

Meeting w supervisor

Meeting w supervisor

Page 20: Lecture 1: Sign-up, Introductionfileadmin.cs.lth.se/cs/Education/ETS170/lect/2015/L1.pdf · RE means to ..... dig up, understand, write down, check, ... • reqT&Scala tutorial Th

Project Roles

P3RM Project, Process, Prioritization, and Release Manager (1)

SCCVM Stakeholder, Customer Communication and Validation Manager (1)

TDEVM Tools, Documents, Experiences and Version Manager (1-2)

EPM Elicitation and Prototyping Manager (1-2)

QRM Quality Requirements Manager (1)

DRM Data Requirements Manager (1)

Page 21: Lecture 1: Sign-up, Introductionfileadmin.cs.lth.se/cs/Education/ETS170/lect/2015/L1.pdf · RE means to ..... dig up, understand, write down, check, ... • reqT&Scala tutorial Th

Discussion to activate prior knowledge

Vad var realistiskt eller orealistiskt med den kravhantering ni varit med om i tidigare projekt (tex i PUSS-kursen)?

Vilka olika sorters krav stötte ni på?

What was realistic or unrealistic with the requirements engineering you did in previous project courses?

What different types of requirements did you encounter?

Page 22: Lecture 1: Sign-up, Introductionfileadmin.cs.lth.se/cs/Education/ETS170/lect/2015/L1.pdf · RE means to ..... dig up, understand, write down, check, ... • reqT&Scala tutorial Th

Actions during the brake

1. Sign up on a project team2. Sign up on exercises (whole team!)3. Fill in the introductory survey and

hand it in after the break

Page 23: Lecture 1: Sign-up, Introductionfileadmin.cs.lth.se/cs/Education/ETS170/lect/2015/L1.pdf · RE means to ..... dig up, understand, write down, check, ... • reqT&Scala tutorial Th

Intro to the theory part of the course

Motivation The role of Requirements

Engineering (RE) Basic concepts Different types of RE Different types of requirements (reqs) Reqs at different abstraction levels

Lau Compendium

Motivering Kravhanteringens roll Grundläggande begrepp Olika sorters kravhantering Olika sorters krav Krav på olika

abstraktionsnivå

2014

Page 24: Lecture 1: Sign-up, Introductionfileadmin.cs.lth.se/cs/Education/ETS170/lect/2015/L1.pdf · RE means to ..... dig up, understand, write down, check, ... • reqT&Scala tutorial Th

READ THE TEXT BOOKREAD THELITERATURE

!!!

Page 25: Lecture 1: Sign-up, Introductionfileadmin.cs.lth.se/cs/Education/ETS170/lect/2015/L1.pdf · RE means to ..... dig up, understand, write down, check, ... • reqT&Scala tutorial Th

READ THE TEXT BOOKGO TO EXERCISES

!!!

Page 26: Lecture 1: Sign-up, Introductionfileadmin.cs.lth.se/cs/Education/ETS170/lect/2015/L1.pdf · RE means to ..... dig up, understand, write down, check, ... • reqT&Scala tutorial Th

Basic terminology

Lausen: “A requirement specification is a document that describes what the system should do.”

What is “what” and what is “how”?Always a “document”?What is “the system”? How much about the domain?

Page 27: Lecture 1: Sign-up, Introductionfileadmin.cs.lth.se/cs/Education/ETS170/lect/2015/L1.pdf · RE means to ..... dig up, understand, write down, check, ... • reqT&Scala tutorial Th

Definition enl. IEEE [1990]

A requirement is:(1) A condition or capability needed by a user to solve a problem or

achieve an objective.(2) A condition or capability that must be met or possessed by a

system or system component to satisfy a contract, standard, specification, or other formally imposed document.

(3) A documented representation of a condition or capability as in (1) or (2).

Page 28: Lecture 1: Sign-up, Introductionfileadmin.cs.lth.se/cs/Education/ETS170/lect/2015/L1.pdf · RE means to ..... dig up, understand, write down, check, ... • reqT&Scala tutorial Th

What are requirements?

Requirements are similar to shopping lists

You often want things you don't need ...

You can't always getwhat you want ...

Page 29: Lecture 1: Sign-up, Introductionfileadmin.cs.lth.se/cs/Education/ETS170/lect/2015/L1.pdf · RE means to ..... dig up, understand, write down, check, ... • reqT&Scala tutorial Th

What is a req?MåsteMust

ÖnskemålWish

BehovNeed

ProduktProdukt-egenskapFeature

Dokumenterad

representation

DokumenteradrepresentationDocumentedrepresentation

?BeslutDecision

KvalitetQuality

FunktionFunction

IdéIdea

BegränsningConstraint

Page 30: Lecture 1: Sign-up, Introductionfileadmin.cs.lth.se/cs/Education/ETS170/lect/2015/L1.pdf · RE means to ..... dig up, understand, write down, check, ... • reqT&Scala tutorial Th

Requirements Entities Examples from the reqT metamodel

Product, Interface, Stakeholder,Idea, Goal, Feature, Data, Function, State, Event, Quality, Design, Scenario, Story, UseCase, Risk, Release, Issue, Test, Variant, Req

Page 31: Lecture 1: Sign-up, Introductionfileadmin.cs.lth.se/cs/Education/ETS170/lect/2015/L1.pdf · RE means to ..... dig up, understand, write down, check, ... • reqT&Scala tutorial Th

Requirements Engineering

Important sub-processes:Elicitation – to identify the requirementsSpecification – to document the requirementsValidation – to check the requirementsPrioritization – to select the best requirementsThese processes are interdependent and are best done iteratively, in parallel and continuously.When are we ready?

Page 32: Lecture 1: Sign-up, Introductionfileadmin.cs.lth.se/cs/Education/ETS170/lect/2015/L1.pdf · RE means to ..... dig up, understand, write down, check, ... • reqT&Scala tutorial Th

The Requirements Engineering process is also a…

... Learning process... Intelligence process

... Decision process... Innovation process

Page 33: Lecture 1: Sign-up, Introductionfileadmin.cs.lth.se/cs/Education/ETS170/lect/2015/L1.pdf · RE means to ..... dig up, understand, write down, check, ... • reqT&Scala tutorial Th

Example: MOBILE VENDOR X

Where do requirements come from?Who are the stakeholders?

Page 34: Lecture 1: Sign-up, Introductionfileadmin.cs.lth.se/cs/Education/ETS170/lect/2015/L1.pdf · RE means to ..... dig up, understand, write down, check, ... • reqT&Scala tutorial Th

External stakeholdersCustomers

Direct customersOperators

Global customersRegional customersOther key customers

RetailersIndirect customers

ConsumersMarket segments

Service providersContent providers

Product providersDirect Competitors

Mobile phone developersIndirect Competitors

CamerasMobile music players… consumer wallet competition

Platform providersOperating SystemsTechnical Platforms

Network system providersStandardization bodiesLegislation and authorities

NationalInternational

Manufacturing sub-contractorsComponent providers…

Internal stakeholdersMarketing

Long term brandingCustomer relations

Product managementProduct planningRoadmapping and portfolios

Product developmentHardware design

ElectronicsAnalogDigital

MechanicsSoftware design

User interfaceService logicNetwork accessCodecs

Platform developmentMother, daughters, clusterGlobal functions

Sub-contracting managementTechnical platforms Operating systemsOriginal Design Manufacturing

Technology forecastingMarket researchCustomer Services

SupportRepair

LegalSourcingAccessories…

… find the right person to talk to …… get the deep domain knowledge …

Page 35: Lecture 1: Sign-up, Introductionfileadmin.cs.lth.se/cs/Education/ETS170/lect/2015/L1.pdf · RE means to ..... dig up, understand, write down, check, ... • reqT&Scala tutorial Th

SW Value chains are getting more and more complex...

Page 36: Lecture 1: Sign-up, Introductionfileadmin.cs.lth.se/cs/Education/ETS170/lect/2015/L1.pdf · RE means to ..... dig up, understand, write down, check, ... • reqT&Scala tutorial Th

Software Ecosystems

Page 37: Lecture 1: Sign-up, Introductionfileadmin.cs.lth.se/cs/Education/ETS170/lect/2015/L1.pdf · RE means to ..... dig up, understand, write down, check, ... • reqT&Scala tutorial Th

Orders of magnitude in Requirements Engineering

Abrev. Level Order of magnitude

Managing a complete set of interdependencies…

SSRE Small-ScaleRequirementsEngineering

~10 reqs requires small effort.

MSRE Medium-Scale RequirementsEngineering

~ 100 reqs is feasible but requires large effort.

LSRE Large-Scale RequirementsEngineering

~1000 reqs is practically unfeasible, but feasible among small bundles of requirements.

VLSRE Very Large-Scale RequirementsEngineering

~10000 reqs among small bundles of requirements is unfeasible in practice.

Page 38: Lecture 1: Sign-up, Introductionfileadmin.cs.lth.se/cs/Education/ETS170/lect/2015/L1.pdf · RE means to ..... dig up, understand, write down, check, ... • reqT&Scala tutorial Th

Dealing with very large sets of requirements

Profitable?

Expensive?

Ambiguous?Related?

Group?Complete? Split?

Reject?

Strategic?

RequirementsDatabaseToo

much

Page 39: Lecture 1: Sign-up, Introductionfileadmin.cs.lth.se/cs/Education/ETS170/lect/2015/L1.pdf · RE means to ..... dig up, understand, write down, check, ... • reqT&Scala tutorial Th

Different contexts and project types In-house – Internutveckling för egna behov Product Development – Produktutveckling för öppen marknad, t.ex.

inbyggda system, generella appar för en marknad (COTS), etc. Time & Materials – Utveckling på löpande räkning, rörligt pris Commercial Off-The-Shelf software (COTS) purchase

– Inköp av generisk (hyll-) programvara Customization – Kundspecifik anpassning av generisk programvara Tender – Anbudsförfrågan

♦ Customer specific: för upphandling av kundspecifik utveckling♦ Generic (COTS): för upphandling av generisk programvara

Contract development – Kontraktsbaserad utveckling med fast/rörligt pris Sub-contracting – Underleverantörskontrakt med fast/rörligt pris Unknown, pre-study – Okänd, förstudie för att utreda lämplig projekttyp Hybrid – kombinationer av ovanstående ... ?The context is critical to the requirements engineering!

Page 40: Lecture 1: Sign-up, Introductionfileadmin.cs.lth.se/cs/Education/ETS170/lect/2015/L1.pdf · RE means to ..... dig up, understand, write down, check, ... • reqT&Scala tutorial Th

Fig 1.2 Project types

Project types Customer SupplierIn-house User dept. IT dept.Prod. devel. Marketing SW dept.Time & materials Company SW houseCOTS purchase Company (Vendor)Tender Company SupplierContract devel. Company SW houseSub-contracting Supplier SW houseUnknown Inhouse?

COTS?

From: Soren Lauesen: Software Requirements© Pearson / Addison-Wesley 2002

Internutveckling för egna behov (In-house) Produktutveckling för öppen marknad

(Product Dev.) Utveckling på löpande räkning

(Time&Materials) Inköp av generisk (hyll-)programvara

(COTS purchase) Kundspecifik anpassning av generisk

programvara Anbudsförfrågan (Tender)

♦ för upphandling av kundspecifik utveckling♦ för upphandling av generisk programvara

Kontraktsbaserad utveckling med fast/rörligt pris

Underleverantörskontrakt med fast/rörligt pris

Okänd – förstudie för att utreda lämplig projekttyp

Hybrider – kombinationer av ovanstående

Sammanhanget är avgörande för kravhanteringen!

Page 41: Lecture 1: Sign-up, Introductionfileadmin.cs.lth.se/cs/Education/ETS170/lect/2015/L1.pdf · RE means to ..... dig up, understand, write down, check, ... • reqT&Scala tutorial Th

Mutual relationshipcustomer - supplier

Who has the power?Who has the knowledge?

Who takes the biggest risk?Wo takes the biggest profit?

In the short term?In the long run?

Mutual benefit?

Page 42: Lecture 1: Sign-up, Introductionfileadmin.cs.lth.se/cs/Education/ETS170/lect/2015/L1.pdf · RE means to ..... dig up, understand, write down, check, ... • reqT&Scala tutorial Th

Contract

Analysis

Reqspec

Op & maint

Design

Program

Test

Fig 1.1 The role of requirements

DemandsElicitation

Stakeholders Tacitdemands

& reqs

Tracing:Forwards . . .Backwards . . .

Req. management:Changing reqs

From: Soren Lauesen: Software Requirements© Pearson / Addison-Wesley 2002

Page 43: Lecture 1: Sign-up, Introductionfileadmin.cs.lth.se/cs/Education/ETS170/lect/2015/L1.pdf · RE means to ..... dig up, understand, write down, check, ... • reqT&Scala tutorial Th

Functional requirements, each interface:Record, compute, transform, transmitTheory: F(input, state) -> (output, state)Function list, pseudocode, activity diagramScreen prototype, support tasks xx to yy

System

Platform:HW, OS, DBSpreadsheet

Ext. products:Sensors, dev.Special SW

Fig 1.3 Contents of ReqSpec

User groups

Quality reqs:PerformanceUsabilityMaintainability. . .

Other deliverables:DocumentationInstall, convert,train . . .

Managerial reqs:Delivery timeLegalDevelopment process . . .

Helping the reader:Business goalsDefinitionsDiagrams . . .

Interfaces

Data requirements:System state: Database, comm. statesInput/output formats

From: Soren Lauesen: Software Requirements© Pearson / Addison-Wesley 2002

Page 44: Lecture 1: Sign-up, Introductionfileadmin.cs.lth.se/cs/Education/ETS170/lect/2015/L1.pdf · RE means to ..... dig up, understand, write down, check, ... • reqT&Scala tutorial Th

Requirements versus design

Product Architecture

A B

C D

L2L1

DB

GUI

REQ

REQ REQ

REQ

Cost?Value?Long-term versus short term? Different types of requirements?

REQ

Page 45: Lecture 1: Sign-up, Introductionfileadmin.cs.lth.se/cs/Education/ETS170/lect/2015/L1.pdf · RE means to ..... dig up, understand, write down, check, ... • reqT&Scala tutorial Th

Product

Platform

Controlcomputers

Fig 1.5A Domain and product level

User activities

Domain

DomainI/O Product

I/O

Product-level reqs:The product shall accept the following input: . . .

Clients

“Business” domain Actors?

Elevators

Domain-level req:The product shall support the following user activities: . . .

From: Soren Lauesen: Software Requirements© Pearson / Addison-Wesley 2002

Page 46: Lecture 1: Sign-up, Introductionfileadmin.cs.lth.se/cs/Education/ETS170/lect/2015/L1.pdf · RE means to ..... dig up, understand, write down, check, ... • reqT&Scala tutorial Th

Product

Controlcomputers

Fig 1.5B Redefined limits

User activities

Domain

Clients

“Business”domain

From: Soren Lauesen: Software Requirements© Pearson / Addison-Wesley 2002

Beware: the word “domain” is used in many ways

Beroende på hur situationen ser ut kan ett nytt system innebära att domängränserna ritas om. Kanske sker en upphandling där styrsystemet ingår i produkten och då blir hissarna aktörer som kommunicerar direkt med systemet.

Mycket av affärsutveckling handlar om att skaka om I domängränserna och tex låta användaren göra mer själv. Exempel: COOP Forums shop express. SAS web check-in.

Page 47: Lecture 1: Sign-up, Introductionfileadmin.cs.lth.se/cs/Education/ETS170/lect/2015/L1.pdf · RE means to ..... dig up, understand, write down, check, ... • reqT&Scala tutorial Th

Fig 1.6A The goal-design scale

R1. Our pre-calculations shall hit within 5%

R2. Product shall support cost recording and quotation with experience data

R3. Product shall have recording and retrieval functions for experience data

R4. System shall have screen pictures as shown in app. xx

Goal-levelrequirement

Domain-levelrequirement

Product-levelrequirement

Design-levelrequirement

Which requirement to choose?

If the supplier isA vendor of business applications?A software house - programmers?PriceWaterhouseCoopers?From: Soren Lauesen: Software Requirements

© Pearson / Addison-Wesley 2002

Mål-nivå bakomliggande syfte, affärsmål, användarnytta, effekt, vinst

Domän-nivå sammanhang, omgivning, hur användarna och produkten samverkar för att ge nytta

Produkt-nivå externt observerbara funktioner och egenskaper

Design-nivå specifik utformning av produktens innehåll

Page 48: Lecture 1: Sign-up, Introductionfileadmin.cs.lth.se/cs/Education/ETS170/lect/2015/L1.pdf · RE means to ..... dig up, understand, write down, check, ... • reqT&Scala tutorial Th

Evolving mix of levels of detail & quality in continuous requirements engineering

Level of detail, specification quality

Page 49: Lecture 1: Sign-up, Introductionfileadmin.cs.lth.se/cs/Education/ETS170/lect/2015/L1.pdf · RE means to ..... dig up, understand, write down, check, ... • reqT&Scala tutorial Th

The goal-design scale in reqTModel(

Goal("accuracy") hasSpec("Our pre-calculations shall hit within 5%"),

Feature("quotation") hasSpec("Product shall support cost recording and

quotation with experience data"), Function("experienceData") has

Spec("Product shall have recording and retrieval functions for experience data"),

Design("screenX") hasSpec("System shall have screen pictures as shown

in Fig. X"))

Page 50: Lecture 1: Sign-up, Introductionfileadmin.cs.lth.se/cs/Education/ETS170/lect/2015/L1.pdf · RE means to ..... dig up, understand, write down, check, ... • reqT&Scala tutorial Th

Product("reqT") has Feature("toHtml")

Page 51: Lecture 1: Sign-up, Introductionfileadmin.cs.lth.se/cs/Education/ETS170/lect/2015/L1.pdf · RE means to ..... dig up, understand, write down, check, ... • reqT&Scala tutorial Th

Product("reqT") has Feature("toTable")

Page 52: Lecture 1: Sign-up, Introductionfileadmin.cs.lth.se/cs/Education/ETS170/lect/2015/L1.pdf · RE means to ..... dig up, understand, write down, check, ... • reqT&Scala tutorial Th

Product("reqT") has Feature("toGraph")

Model(Feature("f1") has (Spec("The system shall..."), Status(IMPLEMENTED)),

Story("s1") has (Gist("As a user I want..."), Status(ELICITED)),

Story("s1") requires Feature("f1"))

Metamodel:EntityRelationAttribute

Page 53: Lecture 1: Sign-up, Introductionfileadmin.cs.lth.se/cs/Education/ETS170/lect/2015/L1.pdf · RE means to ..... dig up, understand, write down, check, ... • reqT&Scala tutorial Th

To do … Hand in the introduction survey if not done it already Get the book (e.g. AdLibris) and the compendium (12:45 at the dep. SEK60) Read Lauesen Chapter 1 – a very important chapter of the book Exercise 1. Bring Lauesen’s book!!! Read about the project in course program (also on course web) Meet with your project group and get going as soon as possible Assign project management roles Extra first-week Lecture 2: Thursday 10-12 in E:B on Elicitation & Specification Project Mission before Friday 09:00 (see prev. instructions on email&subject) See mission examples for inspiration from previous years on the course web You get the week-end to study all Project Missions

♦ Arrive at a consensus in your group about a priority order of all missions♦ You get to choose in random order per project on Monday

You will be assigned a project supervisor by Monday♦ Book meeting time with your project supervisor for W2, W4, W6