Software Engineering (I00094) College 2: Requirements-engineering. Marko van Eekelen marko@cs.ru.nl kamer HG02.074



Vergelijkbare documenten
Software Engineering (I00094) College 3:

ARE methodiek Het ontwikkelen van Informatie Elementen

Tentamen Systeemontwikkeling 1 (I00100)

Ontwikkelmethoden en technieken DSDM POMT HC3

Product Risico Analyse

De brug tussen requirement engineer en gebruiker

Portal Planning Process

Vereenvoudigd sjabloon requirementsdocument. <<Organisatie>>

NFR & Architectuur: Twee handen op één buik. Remco de Boer

Continuous Requirements Engineering

Handout. Hoe testers de kwaliteit van requirements kunnen beïnvloeden. Slechte requirements zijn overal. Testnet thema-avond Requirements.

Aliens?

Software Test Plan. Yannick Verschueren

Projectplan overzicht (deel 1)(ja, mits)

Continuous Requirements Engineering

Agile in Projecten minimalisme of strak pak? Richard Weber PMP

service design workshop

De tester als bruggenbouwer

VU BWI Bedrijfscase. Cursus Project management deel 1. Introductie. Henk Magré. BWI Bedrijfscase Projectmanagement deel 1

UML. From weblog Dennis Snippert

Succes = Noodzaak x Visie x Draagvlak 2. Case: Implementatie Requirements Lifecycle management bij Rabobank International

vanuit de technische en organisatorische omgeving, werk-verdeling, budget, planning, en hergebruik van componenten. Het documenteren van SA dient

Olde Bijvank Advies Organisatieontwikkeling & Managementcontrol. Datum: dd-mm-jj

bedrijfsprocessen en vormt daarmee de kapstok voor de producten van andere disciplines. Het PAM is geen RUP concept.

2IO35 OGO 2.2 Software Specificatie

Duurzaam Product. Ecodesign methode van Tischner

BUSINESS CASE. < naam substitutie van zorg> <Ambitie en validiteit> <datum> <naam> <nummer> <naam> <naam> Doel. Paraaf akkoord Paraaf akkoord.

Ontwikkeling informatiesysteem

Richtlijnen voor het ontwerpen een Intranetportal Door Bas Fockens

notitie Systems Engineering Lesplan Requirements Engineering (RE) Werkgroep opleidingen Definitief; vastgesteld Stuurgroep 4P

Oplossingsvrij specificeren

J-STD-016. Documentatiestandaard

Test rapportage Waarom eigenlijk?

SMART requirements schrijven

Geef de titel van het wijzigingsverzoek zo kort mogelijk weer.

Meer grip en betere resultaten

Software Test Plan. Yannick Verschueren

Bewaren van digitale informatie: hoe kom je tot een goede beslissing?

Een Inleiding tot Software Engineering. Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 1 Slide 1

Business Case. <<Naam project>>

Inhoud. Deel A Inleiding

Systems Engineering en de Modelgebaseerde aanpak. Eric Burgers

Subwerkgroep Methoden. Toelichting inhoud en voortgang tot nu toe

Software Processen. Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 4 Slide 1. Het software proces

HOE ONTWIKKEL JE EHEALTH MET PATIËNTEN?

Voor en nadelen (spatieel) gedistribueerd

SPC360: specificeren, programmeren en contracteren. SPC360 en AT Osborne 2016 Q1

Doelen stellen. Stellen van doelen is belangrijk!! Doel + Prestatie bepaald namelijk of je tevreden bent over de prestatie

Wij testen..maar....wat test jij?

aan Plan van aanpak Vroege herkenning en behandeling van de vitaal bedreigde patiënt Pub.nr

1. Business Proces Modeling

Checklist (re)design website

Toekomstbestending maken van selectie tool Rekening houdend met strikte privacy wetgeving

Agenda: Informatiemanagement: brug naar de toekomst.

2de bach HIB. Systeemanalyse. Volledige samenvatting. uickprinter Koningstraat Antwerpen ,70

Agenda. Introductie Aan het werk Conclusie / restrospective

Teststrategie met behulp van heuristieken

Social Media Strategie Plan

BUSINESS CASE. < naam substitutie van zorg> <Ambitie en validiteit> <datum> <naam> <nummer> <naam> <naam> Doel. Paraaf akkoord Paraaf akkoord.

Auditen van Agile projecten

Het belang van. Data Modellering. GEMINIT Training. Data Modellering. Frédéric BARBIER

INNOVATION BY MAKING LEARNING BY DOING

RUM. requirements Management. SPIder session Project. driven by requirements 25th april. Risk assessed User

Met dit whitepaper bieden we u een overzicht we een aantal soorten (product-) toetsing. Dit overzicht is niet volledig!

Document engineering voor grote assets Verebus Engineering

UW VERDIENMODEL ANDERS AANKLEDEN, EEN CREATIEVE VERKENNING.

VOICE OF THE CUSTOMER

STAKEHOLDERS. Hoe gaan we daar mee om? Jacques van Unnik Manager Personnel Certification & Training 3 december 2015 BUSINESS ASSURANCE

ISO 9001: Business in Control 2.0

Eibert Dijkgraaf Kijk verder dan je test neus lang is: Life Cycle Testing Scan Voorjaarsevent Testnet: 30 juni 2008

Methoden van het Wetenschappelijk Onderzoek: Deel II Vertaling pagina 83 97

Doe eens gek! Houd rekening met de mensen in uw organisatie bij het implementeren van ICT oplossingen.

Voorbeeld projectplan

Introductie ArchiMate

Hoe stel je goede online marketingdoelen op? checklist

Projectopdracht TOOL- BOX

Op de computer kan naar eigen inzicht software op worden geïnstalleerd, een andere besturingssysteem is mogelijk.

Rapport over het werkprofiel van Software engineer (sr)

De informatie adapter vormt de basis voor uitwisseling van digitale informatie in projecten waarbij de volgende uitgangspunten gekozen worden:

Workshop 12 ART-DECOR en Acute overdracht. Michael Tan Kai Heitmann Maarten Ligtvoet

Competentie niveaus HHS TIS opleiding Werktuigbouwkunde

Stappenplan Social Return on Investment. Onderdeel van de Toolkit maatschappelijke business case ehealth

Functioneel specificeren: de weg naar economisch meest haalbare oplossing. H.L. ter Huerne en K.Th. Veenvliet

Business Rules: het scheiden van kennis en processen 17 september 2014

Compleet, Eenduidig en Projectspecifiek

DEMO: De theorie. DEMO: de theorie. Toepassing bij de Koninklijke Marechaussee: KOWA. Ervaringen in de praktijk. Vragen

Testen bij DWH-projecten

Vraag Ondersteuning door Virtuele Experts

Meten is weten: Inzicht krijgen in de opbrengsten van jouw inspanningen in de buurt

1. Goal-directed design

Jaarproject programmeren bij LORE

Projectplan overzicht (deel 1)

Handleiding projectdossier Ouderen in Actie

Scrumscrumscrumscrumscrumscrum scrumscrumscrumscrumscrumscrum scrumscrumscrumscrumscrumscrum agileagileagileagileagileagileagileagil

Assessment centers: wanneer wel, wanneer niet? Jo Verbeken

Profielen. Inhoud. 1. Het profielwerkstuk. Stappenplan, tips en ideeën Profielwerkstuk

Businesscase: titel. Businesscase. Titel. Auteur: Versie: Datum: Pagina 1 van 5

B.Sc. Informatica Module 4: Data & Informatie

Integrale productontwikkeling wearable products BNO FHI bijeenkomst Utrecht, 4 november Michaël Hoonakker

DATAMODELLERING BEGRIPPENBOOM

Transcriptie:

Software Engineering (I00094) College 2: Requirements-engineering Marko van Eekelen marko@cs.ru.nl kamer HG02.074 1

Inhoud 1. 6 feb: Het systeemontwikkelproces 2. 13 feb: Requirements-analyse 3. 6 mar: Documentatie, Kwaliteit 4.... : Architectuur, Object-oriëntatie 5.... : Ontwerp 6. : Menselijke factoren 7. : Testen 8. :... 9. : 2

College 2: Leerdoelen Hoofdstuk 7 van Pressman Wat is requirements-engineering? Waarom is het belangrijk? Welke stappen? Hoe weet je dat je t goed gedaan hebt? 3

Requirements Meetbare uitspraken over de diensten die een systeem verwacht wordt aan te bieden, en de condities waaronder deze moeten worden uitgevoerd 4

Soorten requirements Functionele requirements wat het systeem moet doen Niet-functionele requirements Bijv. performance karakteristieken, Randvoorwaarden t.a.v. ontwikkeling/beheer Gebruik van standaarden 5

Niet-functionele requirements Product Efficientie (performance, geheugen) Bruikbaarheid Betrouwbaarheid Portabiliteit Organisatie Oplevering Implementatie Standaarden Extern Ethisch Interoperatibiliteit Juridisch (privacy, veiligheid) 6

Requirements formuleren In natuurlijke taal, maar pas op: Wees helder, Maak duidelijk onderscheid tussen functionele en niet-functionele requirements, doelstellingen en ontwerpinformatie, Kies het juiste abstractieniveau, Houd verschillende requirements duidelijk gescheiden (voeg geen verschillende requirements samen) 7

Vb. van slecht requirement Om te helpen bij het positioneren van onderdelen van een diagram, kan de gebruiker een grid in cm of inches aanzetten via een optie in het controlpanel. Initieel staat het grid uit. Te allen tijde kan het grid aan of uit worden gezet, en kan er worden overgegaan van cm naar inches of andersom. De gridoptie is ook van toepassing op de reduce-to-fit view, maar dan kan het aantal gridlijnen gereduceerd worden om te voorkomen dat het grid te fijnmazig wordt. 8

Software requirements specification Voorwoord doelgroep, versiehistorie Introductie doelstellingen, context, scope Glossary definitie van technische termen Globale requirements begrijpelijk voor gebruikers Systeemarchitectuur globaal overzicht van de functionaliteit over componenten Gedetailleerde requirements Systeemmodellen relatie systeem, componenten en omgeving; object modellen; data modellen; Systeemevolutie geanticipeerde wijzigingen Appendices Index 9

Requirement beschrijving Beschrijf alleen extern gedrag Meetbaar, testbaar Rationale Bron 10

RE lijkt zo eenvoudig maar is moeilijk! Vraagt heel veel communicatie Mis-interpretaties Dubbelzinnigheid I know you believe you understood what you think I said, but I am not sure you realize that what you heard is not what I meant 11

Moeilijk! Scope vage afbakening van grenzen, of te veel detail Begrip Uiteindelijk oplossing is moeilijk voor te stellen Taalverschil gebruiker - ontwikkelaar Huidig vs toekomstig systeem ( vastgeroeste eisen en wensen) Denken in behoeften versus oplossingen Voor-de-hand-liggende zaken worden verzwegen Volledigheid Wicked problems geen eenduidige oplossing Vluchtigheid requirements veranderen in de tijd Conflicterende eisen bij gebruikers Verschil tussen opdrachtgever en gebruiker (bijv. budget) Verschil tussen nice-to-have en kritische functionaliteit 12

Valkuil Software-centrischperspectief Neem alle elementen van een systeem in ogenschouw voordat je je op de software gaat concentreren. Mensen Procedures Bedrijfsdoelen 13

Van geheel naar detail Beginmet begrip opbouwen van het bedrijf of organisatie als geheel, en zoom dan in op bepaalde delen ervan 14

Kritische succesfactoren Beoordeel business en technische haalbaarheid Identificeer stakeholders, en verzeker je van hun commitment. Bijv. opdrachtgever, gebruikers(- vertegenwoordigers) Identificeer de personen die requirements kunnen vaststellen (met mandaat én kennis) Betrek zoveel mogelijk verschillende partijen in het proces Definieer technische omgeving (architectuur, operating system, netwerkomgeving) Identificeer domain constraints die de functionaliteit en performance van het systeem beïnvloeden Kiesmethodendie gebruikt worden om de requirements boven water te krijgen (interviews, workshops, prototyping) Documenteer de rationale achter elk requirement 15

Requirements engineering Het systematisch gebruik van bewezen principes, technieken, talen en gereedschappen voor een kosten-effectieve analyse, documentatie, en voortschrijdende evolutie van gebruikersbehoeften en de specificatie van het gedrag van een systeem afgestemd op die behoeften. Focus op wat?, niet op hoe? 16

Requirements engineering het proces Haalbaarheidsstudie Requirements elicitation and analysis Requirements Specification Requirements Validation Haalbaarheidsrapport Systeemmodellen Requirements Requirementsdocument 17

Haalbaarheidsstudie Beantwoord in ieder geval de volgende vragen: Draagt het systeem bij aan de doelstellingen van het bedrijf of de organisatie? Kan het systeem worden geïmplementeerd met de beoogde technologie en binnen het opgegeven budget en tijdsframe? Kan het systeem worden geïntegreerd binnen de bestaande omgeving? 18

Haalbaarheidsstudie Vragen die ook kunnen worden gesteld: Hoe redt de organisatie het zonder het systeem? Wat zijn de problemen die het systeem op moet lossen? Kan de benodigde informatie uit de bestaande systemen worden overgedragen naar het nieuwe systeem? Moet er gebruik worden gemaakt van technologie die nog niet eerder in de organisatie is toegepast? Watmoet er wel en wat niet worden ondersteund door het systeem? 19

Requirements elicitation Het boven water krijgen van de eisen, wensen en behoeften t.a.v. het systeem Functioneel Niet-functioneel 20

Requirementselicitatie en -analyse Domeinbegrip Requirements verzamelen Requirementsspecificatie Requirementscontroleren Requirementsdocument Klassificeren Prioriteren Onderhandelen 21

Requirements-analyse Consistentie met algemene doelstelling Juiste niveau van abstractie Maak onderscheid tussen essentiele requirements en nice-to-haves Rationale en bron (persoon) van requirements Conflicterende requirements Haalbaarheid binnen de technische context Testbaarheid van requirements Ondubbelzinnig SMART (Specifiek, Meetbaar, Acceptabel, Realistisch, Tijdgebonden) 22

Onderhandelen Bij conflicterende requirements moet worden onderhandeld Ga op zoek naar achterliggende belangen Onderscheid essentiële zaken en implementatiedetails Stel prioritering op 23

Prioritering Zorg dat je van alle requirements weet welk belang erachter zit; hoe belangrijk ze zijn MoSCoW Must have, Should have, Could have, Won t have 24

Requirements-validatie Zijn de requirements Smart, consistent, etc? Methoden: Formele technische reviews Prototyping Test-cases genereren Automatische consistentie-analyse 25

Systeemmodellering Informatiemodellering Data-flow Gedrag Use-cases 26

Use-cases Scenario s over typische interacties met het systeem beschreven vanuit actor-perspectief Actor is bijv. gebruiker of device Beschrijft Taken/functies van een actor Informatiedie wordt verkregen, gegeven, of gewijzigd door een actor Toestandsveranderingen van het systeem (Onverwachte) events waarvan de actor op de hoogte moet zijn 27

Requirements engineering een sociaal leerproces Ga een relatie aan met de klant Wees je bewust van wij/zij-denken Creëer een sfeer van samenwerken 28

De eerste verkenning Algemene vragen Wie heeft de opdrachtomschrijving opgesteld? Wie zal de software gaan gebruiken? Wat zijn de economische voordelen van een succesvol systeem? Inzoomen; detailvragen Hoe ziet goede output eruit? Welke problemen lost het op? Hoe ziet de omgeving eruit? Performance? Randvoorwaarden? 29

De eerste verkenning Meta-vragen Juiste persoon? Hoe officieel zijn je antwoorden? Zijn mijn vragen relevant? Stel ik teveel vragen? Zijn er vragen die ik nog zou moeten stellen? Zijn er nog anderen die zinvolle informatie hebben? Wat is essentieel aan een requirement? 30

Workshops Vermijd vraag-antwoordformat (interviews), behalve evt. bij een eerste contact. Zijn de juiste personen aanwezig? Faciliteer samen probleemoplossen, samen onderhandelen, samen specificeren Brainstorm, creatief proces Maak de discussie zichtbaar (flapover, postits, diagrammen, ) 31

Requirements-documentatie Beschrijft de systeembehoefte en de haalbaarheid; Begrenzing, scope; Een lijst met stakeholders (klant, gebruikers), die geholpen hebben om de requirements boven water te krijgen; De technische omgeving van het systeem; Een lijst met functionele en niet-functionele requirements; Een verzameling gebruiksscenario s (use-cases); Beschrijving van gebruikte prototypes 32

Traceerbaarheid De relatie tussen requirements en bedrijfsdoelstellingen dient helder te zijn. De relatie tussen ontwerpbeslissingen en requirements dient helder te zijn. Requirements vormen het waarom voor ontwerpbeslissingen. 33

Werkstuk 2 (van de 3): Lees hoofdstuk 7 van het boek. Maak requirementsdocumentatie zoals hiervoor beschreven (ongeveer 20 bladzijden). Ook voor de klant leesbaar Let hierbij ook op de traceerbaarheid. E-mail streefdatum maandag 5 maart met als subject [SE] werkstukopgave2 naar marko@cs.ru.nl Per groep 1 email, vermeld groepsnaam! 34