Software Engineering (I00094) Marko van Eekelen marko@cs.ru.nl kamer HG02.074



Vergelijkbare documenten
Software Engineering (I00094) College 3:

Tentamen Systeemontwikkeling 1 (I00100)

Handout. Pagina 1. SYSQA B.V. Almere. Capability Maturity Model Integration (CMMI) Technische Universiteit Eindhoven SYSQA SYSQA.

PRINCE2 Symposium: Zin en Onzin van een Methode. PRINCE 2 versus CMMI; raakvlakken, overlap en aanvullingen SYSQA B.V.

Stichting NIOC en de NIOC kennisbank

PRINCE 2 versus CMMI; raakvlakken, overlap en aanvullingen

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

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

Software Engineering (I00094) College 5: Persoonlijke evaluatie Groepsevaluatie Configuratiemanagement

Capability Maturity Model. Een introductie. Algemene informatie voor medewerkers van: SYSQA B.V.

Test rapportage Waarom eigenlijk?

Master Software Engineering. Inhoud, begeleiding, tentamen dr. Anda Counotte Docent en mentor

End-to-End testen: de laatste horde

IT Service CMM. Een introductie. Algemene informatie voor medewerkers van SYSQA B.V.

CMM(I) en CMM-assessments. Henk Westerink LogicaCMG Noord-Nederland SEI Authorized CBA IPI Lead Assessor

B.Sc. Informatica Module 4: Data & Informatie

IT Service CMM. White paper. Frank Niessink. Versie 1.0.2, 30 november Copyright 2001 Software Engineering Research Centre All rights reserved.

Oplossingen voor het testen van objectgeoriënteerde software

Oplossingen voor het testen van objectgeoriënteerde software. Oplossingen voor het testen van. Overzicht. Pieter van den Hombergh.

Inleiding ontwikkelmethoden

TestNet Voorjaarsevenement 2010 Jurian van de Laar 12 mei 2010

Medical device software

Onderdelen module 3 (gesplitst in delen 1 en 2)

Praktische zaken INFOB3SO

Software Engineering (I00094) College 2: Requirements-engineering. Marko van Eekelen kamer HG02.074

Scrumscrumscrumscrumscrumscrum scrumscrumscrumscrumscrumscrum scrumscrumscrumscrumscrumscrum agileagileagileagileagileagileagileagil

IIBA NL Jaarcongres "Business Analyse in Scaled Agile"

CMM 3: levert het wat op?

Aliens?

Leiderschap in een organisatie met technische professionals

Expert level Improving the testing process

Adding value to test tooling

Adding value to test tooling

Curriculum Afkortingen Bachelor Informatica Propedeuse Postpropedeuse Start Vervolg Afsluiting 60,0 Gebonden keuze (8,6 EC) Afsluiting

Evo Evolutionary Project Management. Een introductie. Algemene informatie voor medewerkers van SYSQA B.V.

Curriculum Afkortingen Bachelor Informatica Propedeuse Postpropedeuse Start Vervolg Afsluiting 60,0 Gebonden keuze (8,6 EC) Afsluiting

Wie durft? Kwaliteit rapporteren voor het IT project start! Bart-Jan de Leuw TestNet 10 mei 2011

SMART requirements schrijven

Model Driven Software Development: Geen toekomst maar realiteit. 4 juni 2009, WTC, Amsterdam.

weer wat nieuws KEMA KEMA Reden van verandering KLANT- & PRESTATIEGERICHT! Oude norm was onvoldoende KEMA Quality B.V.

Projectwerk programmeren. met mijlpalen; opdrachtformulering, analyse stappen, code

CMMI voor ontwikkeling. Een introductie. Algemene informatie voor medewerkers van: SYSQA B.V.

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

Ontwikkelmethoden en technieken. Ontwikkelmethoden & Technieken HC 2

TFS als perfecte tool voor Scrum

CMMI voor acquisitie

Software Test Plan. Yannick Verschueren

Factsheet CONTINUOUS VALUE DELIVERY Mirabeau

Introductie tot de cursus

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

Auditen van Agile projecten

Global Project Performance

Software Test Plan. Yannick Verschueren

Continuous Delivery. Sander Aernouts

De brug tussen requirement engineer en gebruiker

Vernieuwing Bacheloropleidingen Informatica en Informatiekunde

De juiste requirements juist

INNOVATION BY MAKING LEARNING BY DOING

Wat drijft het werkveld?

Socio-technisch systemen. Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 2 Slide 1

Process & IT: eerst KIEZEN maakt het DOEN daarna zoveel makkelijker

PROJECT INITIATION DOCUMENT

Tools die je móét hebben voor je (gaat) testen!

Conceptueel Modelleren GEÏNTEGREERD DATA MODELLEREN MET DEMO EN DATA VAULT

IT Service CMM en ASL Een vergelijking

Beoordelingscriteria afstudeervoorstel en voorstel ervaringsstage (opleiding Informatica Breda)

Testen. Presentatie. Open-i Software Services BV, Maarssen Datum : Versie : 1.2

Offshoring & Testing. Verander een uitdaging in een kans. Door Ernst Labruyère. re Consultant ps_testware. 20 september 2007

Business Process Management

Je kunt de presentatie na afloop van elke les downloaden. Ga naar : Kies voor de map Systeemontwikkeling

Hans Jurgen Kroon Industrial HVAC Control Solutions

Agile in Projecten minimalisme of strak pak? Richard Weber PMP

Simultane Product en Productieontwikkeling

Portfolio Innovation Manager & Reisleider in de Digitale Wereld. Copyright 2015 ITpreneurs. All rights reserved.

ISO 9001: Business in Control 2.0

Program overview. Year 2010/2011 Electrical Engineering, Mathematics and Computer Science

ISACA round-table 7 december 2009 Rik Marselis

Ontwikkelmethoden en technieken DSDM POMT HC3

Requirements Management Werkgroep Traceability

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

De beheerrisico s van architectuur

Rik Jan van Hulst Wittenburgergracht ZL Amsterdam

Whitepaper ChainWise bedrijfssoftware

Introductie. NAV performance. Derk Jan Oelemans. Manager Development, BI en E-Business Qurius Business Solutions

Lessons Learnt: de Inzichten

Organisatie van werkzaamheden

Kevin Biront & Niels Doeleman AGNL Zaltbommel, 08 november ARIS Test Designer

Van doemaar naar succesvol projectmanagement, de &-&-& Paradox. Ir. Roel Wessels ESEF maart 2012

De kleine CMMI. voor ontwikkeling. De basisuitrusting voor continue prestatieverbetering. Derde, herziene druk. Jan Jaap Cannegieter Rini van Solingen

Coaching; de brandstof voor je verbeterprogramma

ISO 9001 certificatie in de praktijk

Tips & Tricks: Tip van de maand januari 2009

Vernieuwing Bacheloropleidingen Informatica en Informatiekunde

NAF Opzet Werkgroepen

25 Het CATS CM Maturity Model

Living apart together. Engineering Data Management en Document Control; Document Control-systeem Delen, controleren en goedkeuren

Richtlijnen voor het ontwerpen een Intranetportal Door Bas Fockens

Clean code improves test quality

Testing University. A fool with a tool is still a fool

Transcriptie:

Software Engineering (I00094) Marko van Eekelen marko@cs.ru.nl kamer HG02.074 1

Overzicht Theorie: hoorcollege (2 ects) Practicum: GiPHouse (7 ects) 2

Beoordeling - Practicum (groepswerk) 1. projectbeoordeling a. Klanttevredenheidsrapportage (via manager), b. projectdocumentatie, c. testrapportage, d. projectpresentatie, e. projectevaluatie (manager): product,proces,samenwerking 2. werkstukkenbeoordeling 3. globale indruk a. indruk van de docent b. indruk van de gip-directie (via de gip-directie) c. groepsprojectevaluatie d. eigen projectevaluatie - Tentamen (schriftelijk, individueel) 3

Eindbeoordeling Als beide onderdelen (practicum + tentamen) voldoende beoordeeld zijn, dan is het eindresultaat het maximum van enerzijds het naar studiepunten gewogen gemiddelde en anderzijds het ongewogen gemiddelde van de twee; zo niet dan geldt als eindresultaat de laagste beoordeling van de twee. Bij de weging geldt: 7 ec voor het practicum en 2 ec voor het tentamen. 4

Boeken Verplicht: Software Engineering A practitioner s Approach European Adaptation, sixth edition Roger S. Pressman ISBN 0-07-285318-2 Ook interessant: Software Engineering, sixth edition Ian Sommerville ISBN 0-201-39815-X 5

Hoorcollege Vorm: Presentatie Discussies Werkstukjes Communicatie via blackboardemail Ook actuele informatie op http://www.cs.ru.nl/~marko/onderwijs/se 6

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

College 1: Leerdoelen Hoofdstuk 1,2,3 van Pressman Reflectie betreffende definities van softwaresystemen Zicht op invloed van soort probleem op softwareontwikkeling Definitie Software Engineering Kennen van softwareprocesmodellen (CMM, Waterval, V-model, ) 8

Wat is software? Software is : Computerprogramma s, Executables Assembler? Byte Code? Source code? Bijbehorende documentatie? Data? 9

Wat is software? Software wordt gebruikt wordt onderhouden (veranderd) Software representeert grote hoeveelheden bedrijfskennis is bedrijfskapitaal is gepatenteerd en gelicenseerd 10

Waarin onderscheidt software zich van andere artefacten? Software wordt ontwikkeld; niet gefabriceerd Software is niet tastbaar Software is complex Slijt niet, maar veroudert wel 11

Normale slijtage: bedrijfsmatige productkosten #fouten per maand per product Kinderziekten Slijtage tijd 12

Software slijtage #fouten per Verhoogd #fouten door zijeffecten maand per product wijziging werkelijke curve Geïdealiseerde curve tijd 13

Software-toepassingen Bedrijfstoepassingen Real-time systemen Embedded systemen Web-applicaties Ontwikkelgereedschappen Wetenschappelijke software Systeemsoftware Kunstmatige intelligentie / Kennisgebaseerde systemen 14

Software-ontwikkeling Twee soorten problemen: Tamme problemen Gemene (wicked) problemen 15

Tamme problemen Goed gedefiniëerd Stabiel Duidelijk wanneer klaar Oplossingen zijn eenduidig goed of fout Na een foute oplossing kun je het opnieuw proberen Zijn onderdeel van een probleemklasse Pasklare oplossing 16

De realiteit: Wicked problems Probleemdefinitie vaag; je snapt t pas als je een oplossing hebt Veranderende omgeving (moving target) Onduidelijk wanneer klaar Goed of fout is relatief (klanttevredenheid) Uniek voor omgeving Omgeving verandert door project Geen pasklare oplossingen 17

Hoe ga je om met wicked problems? Het probleem temmen? Vastpinnen, bevriezen Simplificeren Bestuderen Tamme deelproblemen isoleren Doe wat je doen kunt, maar blijf je bewust van de wickedness Zorg voor voortdurende afstemming 18

Software engineering Hoe zet je de beschikbare middelen (tijd en geld) in om optimale functionaliteit en kwaliteit te behalen? geld functionaliteit tijd kwaliteit 19

Software engineering is een systematische, gedisciplineerde en meetbare aanpak van de ontwikkeling, de uitvoering en het beheer van software. Dit vraagt om een gedefiniëerd softwareproces 20

Wat is een softwareproces? Een georganiseerde verzameling activiteiten, methoden, tools gericht op het ontwikkelen, uitvoeren en onderhouden van software 21

Volwassen processen Keyprocessarea s CMM: Capability Maturity Model Carnegie Mellon Software Engineering Institute (SEI) http://www.sei.cmu.edu/cmm/ 22

Key process area s Requirementsmanagement Projectplanning & -tracking Subcontract-management Configuratiemanagement Training Foutpreventie Innovatie Reviews Coördinatie tussen groepen 23

Key process area s Doelen waarnaar wordt gestreefd in een KPA? Commitments welke randvoorwaarden zijn er in de organisatie vervuld om de doelen te bereiken, en hoe leveren die een bewijs van de intentie om naar die doelen te streven? Voorzieningen welke zijn getroffen om de organisatie in staat te stellen de doelen te bereiken? Activiteiten welke zijn nodig om de KPA te laten functioneren? Monitoringsmethoden hoe worden activiteiten bestuurd en beheerst? Verificatiemethoden hoe wordt gecontroleerd of een KPA naar behoren wordt uitgevoerd? 24

Capability Maturity Model Level Focus Key Process Area s 5 Optimizing 4 Managed 3 Defined 2 Repeatable 1 Initial Product- en proceskwaliteit Continue procesverbetering Engineeringproces Projectmanagement Helden procesmatig veranderingsmanagement, technologische innovatie, foutpreventie kwaliteitsmanagement, kwantitatief procesmanagement peer reviews, coördinatie tussen groepen, software product engineering, geïntegreerd software management, trainingsprogramma, organisatieproces definitie/focus Software configuratie management, Software quality assurance, Software subcontract management, Software project tracking Software project planning, Requirements management 25

Gefaseerde technologie Definitie Ontwikkeling Beheer Waarom? Wat? - Informatieanalyse - Requirementsanalyse - Planning Hoe? -Ontwerp - Coderen -Testen Wijzigingen: -Correctie - Adaptatie -Uitbreiding -Preventie Projectbesturing Paraplu-activiteiten Risicomanagement Formele technische reviews Kwaliteitscontrole Documentatie Configuratiemanagement Management van hergebruik Metrieken Kwaliteitsanalyse 26

Softwareprocesmodellen Versimpelde representatie van een softwareproces, vanuit een specifiek perspectief Workflow - sequentie van activiteiten Dataflow - stroom van informatie Role/action - wie doet wat? Generieke procesmodellen Waterval Evolutionaire ontwikkeling Formele transformaties Integratie van herbruikbare componenten 27

Software procesmodellen Lineaire ontwikkeling (klassiek, waterval) V-model Prototyping model Spiraalmodel Rapid Application Development (RAD) Evolutionaire modellen Concurrente ontwikkeling Component-gebaseerde ontwikkeling Formele methoden 4GL Agile Development Open Source Extreme Programming 28

Lineaire ontwikkeling (waterval) Systeem/informatie engineering Analyse Ontwerp Coderen Testen Beheer 29

Fasen Analyse/Specificatie; achterhalen wat het systeem moet doen en wat de randvoorwaarden zijn Ontwerp; uitdetaillering van specificatie + vormgeving Coderen; programmeren, hoe moet de computer dit doen Testen/Valideren; controleren of de software werkt, en voldoet aan de verwachtingen van de klant Beheer/Onderhoud; wijzigen van de software ten behoeve van veranderende eisen uit een veranderende omgeving 30

System s Lifecycle V-Model System maintenance Software refactoring Architectural transformation Initiate Project System Handover System Life Changes to Functional requirements Errors in conception Requirements Analysis Residual errors in business system Acceptance Testing Errors in the acceptance test plan Detailed changes To requirements Errors in analysis Technical System Design Residual errors in technical design Integration Testing Errors in the integration test plan Errors in design Code and Test Program Modules Errors in module testing 31

Prototyping model Luisteren naar de klant Bouw prototype of pas t aan Klant test prototype 32

Spiraalmodel Planning Risicoanalyse Klantcommunicatie Analyse en ontwerp Conceptontwikkeling Ontwikkeling van nieuw product Uitbreiding Beheer Klantevaluatie Constructie/ Implementatie 33

Rationele benadering Eerst Waarom? Als je die vraag niet kunt beantwoorden begin er dan niet aan. Wie worden er blij van? weten die dat ook? Wie begint er om zich heen te slaan als het project stagneert? (stakeholders) En dan pas wat moet het systeem allemaal doen? hoe pakken we dat aan? etc. 34

Rationele benadering (2) Zorg dat je weet (of beter nog: documenteert) waarom je iets doet Doelen Alternatieven Voor- en nadelen Aannamen Risico s Wat is essentieel? Don tcares 35

Kosten van software 15% ontwikkelkosten 10% testen 75% onderhoud De verdeling van de kosten over de verschillende ontwikkelingsfasen is sterk afhankelijk van het model dat wordt gebruikt 36

Kosten van wijzigingen 60-100 Kosten van een wijziging 1 1.5-6 definitie ontwikkeling na oplevering 37

Mythen Onze werkwijze staat uitgebreid beschreven, dus hebben we een goed gedefiniëerd proces. Als we in tijdsnood komen, trekken we even een blik programmeurs open. Een algemene beschrijving van de projectdoelen is voldoende om met de constructie te beginnen, de details komen later wel. Om te kunnen weten of t goed is moeten we eerst zorgen dat t draait. Requirements veranderen voortdurend, maar gelukkig is software flexibel. 38

Voor de volgende keer: Lees hoofdstuk 1,2,3 van het boek Bereid je eerste gesprek met je GiPHouseklant voor. Wat moet jij van de klant weten? Wat moet de klant van jou weten? Maak een lijst met vragen van (1 A4-tje) die je kunt stellen aan je opdrachtgever Denk ook na over, en schrijf iets op over waarom je een vraag stelt, en of je geen belangrijke zaken over het hoofd ziet. E-mail uiterlijk maandag 12 februari met als subject [SE] werkstukopgave1 naar marko@cs.ru.nl Per groep 1 email, vermeld groepsnaam! 39