Groot Software Project Informatica 2004-2005 Maarten Boasson

Slides:



Advertisements
Verwante presentaties
Hoe beleef je toetsen? HANovatie Themadag 6 november 2009 Saskia Weijzen.
Advertisements

Wideband Delphi methode
INTERACTION DESIGN Week 3.
“Een reis naar Licht”.
Project Software Engineering
Stijn Hoppenbrouwers Software Engineering les 1 Algemene inleiding en Requirements Engineering.
OOS Object geOrienteerd Software-ontwerp
Portfolio Website Tim Klijn Klas: MBI m1 Datum: 21 november 2007
Mobiliteits Academie Formule V Htas Project Formule V.
Thinkquest2 versie 2013 info: vanaf februari 2013.
Marktonderzoek als proces
Kritisch leren kijken naar de praktijk en theorie:
Gegevensbeheer Karin Diederiks KOAC•NPC.
Techniek Eigen inhoud rekening houdend met de toepassingsgebieden:
Expertisegroep Haptotherapie en Topsport (Sjoerd van Daalen), voor NOC*NSF, 3 april 2013.
1212 /mhj Quo vadis, (Bio) Medisch Ingenieur? Biomedische Technologie Technische Universiteit Eindhoven in samenwerking met Universiteit Maastricht Dick.
Drama als eindexamenvak Iets voor mij?. Wie herkent zichzelf in de volgende stellingen? Ik ga later toch niet naar een toneelschool of zo, dus waarom.
Kwaliteit en betrouwbaarheid van simulaties ir. Rudolf van Mierlo Efectis Nederland BV.
‘Ik moet meer lezen met mijn ogen en minder met mijn hart.’
Het stellen van kwaliteitseisen aan mentoringprojecten.
Background Subtraction for Urban Traffic Monitoring using Webcams Master Thesis Verdediging Begeleider: Rein van den Boomgaard door: Mark Smids 19 maart.
Software Engineering Informatiekunde Prof. Maarten Boasson
Inleiding Software Engineering
1 Orientatie InformatieSystemen K.M.van Hee hgl. architectuur van informatiesystemen dir. Deloitte & Touche Bakkenist TU/e 2001.
Projectmanagement (SBC) 19 november 2009
INTERACTION DESIGN Week 2. VANDAAG Wat hebben we ook al weer gedaan Usecase vormen Bouwstenen Spelregels Briefing voor werkcolleges Q & A.
Zullen we het ooit leren? Maarten Boasson Quaerendo Invenietis bv Universiteit van Amsterdam.
Hoofdstuk 7 Procesmanagement.
Marktonderzoek als proces
Designing Knowledge Systems b Hoofdstuk 11 van Knowledge Engineering and Management. The CommonKADS Methodology. b A.Th. Schreiber, J.M. Akkermans, A.A.Anjewierder,
Proces en Product.
The art of game design Hoofdstuk 20 en 21.
Presentatie op Flitsbijeenkomst ICO Taal & Rekenen
Iedereen coach naar Jef Clement.
Introductie/Agenda 1 Cor Verbaas 1.Business Analist. 2.Werkzaam bij AEP sinds juni Verantwoordelijk voor de business applicaties binnen AEP. 4.MFGPro.
Functieprofiel en beoordeling
Een Module over Model Checking voor het VWO Frits Vaandrager1, David Jansen1 & Els Koopmans2 1Radboud Universiteit Nijmegen 2Olympus College Arnhem.
Reflectie.
HBO-I Conference Tour RUP| versie 1.0 | 18 maart 2010 RUP toegepast binnen DUO Een korte impressie hoe we binnen DUO RUP ingevoerd hebben (aan het.
Rekenproblemen en Dyscalculie
Module 7 – Hoofdstuk 3 Unified Modeling Language.
Het parelspel fu rni ture jeroen j van beele 19 maart 2004.
LauwersCollege Buitenpost Informatica
OO Analyse in de praktijk OO Analyse in de praktijk V Enkele Design Patterns.
Quality Function Deployment
© de vries business consultancy, 2008
Ontwerpen van Digitale Systemen
Foutvrij Productontwerpen met IDOLLSS
Van probleem naar programma
CanDo Coaching.
Docentendag Intelligente Systemen dr.ir. Michael Franssen Faculteit Wiskunde & Informatica Software Engineering & Technology.
PREVENTIE VAN WERKSTRESS. IEDER BEDRIJF HEEFT ER MEE TE MAKEN 30% van de nieuwe WAO-gevallen wordt veroorzaakt door psychische klachten 40% daarvan is.
Ontwerp van constructivistische leeromgevingen met ICT
Plan van Aanpak (PvA) = Projectplan
Seminarie Software Open Bestandsformaten Open Versus Gesloten Software.
Introductie Systems Engineering
Een methode voor het werken met ‘radicale’ opvattingen
123 Belangrijke voordelenWat is het? End-to-end mogelijkheden Creëer en versterk autonome flexibele teams Plaats kwaliteit centraal in alles wat u doet.
WHTSNXT? PROCESGERICHT, ACTUEEL EN LEERLINGGESTUURD FANTASTIC VOYAGE.
Even voorstellen Hennie Lüers, coach Kim Veldhuis, P&O.
1 Challenge the future Afstudeerpresentatie Verbetering van TPM implementatiebeheersing bij de Heineken Brouwerij Zoeterwoude.
Powerpoint presentatie.
Workshop RAOS conferentie Het evidence beest: welkom in het onderwijs?! Mathilde Plender MSc / Marloes Hoencamp MSc.
Groepswerk Eén werk! = Eén cijfer?.
Visie en strategie Les 3: Visie verdieping.
Architectuur.
Toelichting bij ''Backward designing'' uit de kennisbank
Rapportage van voortgang of status
Is testen een project op zich?
Software Development fundamentals
Transcript van de presentatie:

Groot Software Project Informatica Maarten Boasson

Wat beoogt dit vak? Een beeld schetsen van de problemen van het bouwen van echte software-intensieve systemen Enigszins wegwijs maken in de gebruikte technieken Gevoel geven voor wat het betekent een complex software systeem te bouwen: er moet op “industriële” wijze een product gemaakt worden.

Wat niet? Onderwijs in methoden en tools –dat staat allemaal in vele boeken, oa, McConnell, Pfleeger, Pressman, Sommerville, van Vliet –jullie kunnen allemaal lezen...

Informatie over vak Blackboard carol.science.uva.nl/~boasson –Groot Software Project –Er staat niet veel Oude beschrijving van het ontwerpprobleem Een leerzaam artikel over een experiment student assistent –Simon Pauw

Spelregels Iedereen doet enthousiast mee –Geen spijbelen –Waarschuwing bij verhindering en alleen met goede reden –Zelfwerkzaamheid Geen tentamen –Wel beoordeling van participatie kwaliteit van geleverde prestaties Samenwerking in teamverband

Inhoud hoorcolleges Weet ik nog niet helemaal Mogelijk gastsprekers –Specialisten op verschillende gebieden Testen, programmamanagement, formele methoden,... allen met praktijkervaring

Doel werkcolleges Thuis geraken in software engineering –dwz boeken lezen Team bouwen –Verdeling van taken en verantwoordelijkheden –Onderlinge communicatie –... Requirements analyse van ET probleem Plan van aanpak

E-ticketing

Engineering idee specificatie ontwerp productiedata geen engineering engineering

Engineering in het algemeen Methode om van ontwerp tot realisatie te komen, waarbij: –methode aangeeft welke stappen worden gezet –theorie bestaat om vast te stellen dat we het goed doen Engineering gaat over de productie van artefacten!

Methode geeft aan welke stappen worden gezet: –na elke stap moet het op te lossen probleem kleiner geworden zijn –methode bevat vuistregels die ervaring codificeren –Civiele techniek: bruggen, wegen, spoorlijnen, etc –Chemische techniek: raffinaderijen, medicijnen, kunstsoffen,... –Vliegtuigbouw, auto’s, enz –Verschillende optimalisatiecriteria: value engineering, safety, duurzaamheid, enz

Theorie is nodig om juistheid van gemaakte keuzes vast te stellen: – natuurkunde, scheikunde, sterkteleer (statisch en dynamisch), aerodynamica,... –bijvoorbeeld: een brug kan (bijna) helemaal worden uitgerekend; het gedrag van een auto onder de meest uiteenlopende omstandigheden kan worden berekend in de chemie worden experimenten gedaan om de theorie te valideren (proeffabrieken)

Essentie van engineering Van ontwerp naar productie Vuistregels –Beperken de zoekruimte –Garanderen voortgang: het op te lossen probleem wordt gaandeweg kleiner Theorie –Maakt verificatie van genomen beslissingen mogelijk: we weten tegenwoordig zonder experiment dat een nieuw vliegtuig luchtwaardig is! Leereffect –Analyse van mislukte projecten –Opstellen van nieuwe vuistregels –Goed inzicht in wat wel en wat niet kan

Waarom software engineering? In 1968 was er een NATO workshop over de software crisis: Projecten –duurden langer dan voorzien –waren duurder dan begroot –leverden niet de beoogde kwaliteit

Tijdens die workshop is de term “software engineering” bedacht naar analogie van traditionele engineering en is er een plan opgesteld om in ca 10 jaar tot het beoogde resultaat te komen.

Waar zijn we nu? Software projecten –lopen nog steeds uit (en meer dan toen) –zijn nog steeds veel duurder dan begroot –leveren nog steeds onvoldoende kwaliteit en toch is er ruim 30 jaar onderzoek gedaan... en erg veel geld uitgegeven aan tools

Voorbeelden FAA: air traffic control systeem USA –loopt al 10 (20?) jaar –heeft miljarden $$ gekost –werkt nog steeds niet: er worden regelmatig delen in bedrijf gesteld die worden spoorslags weer gestopt

UK Nimrod (radar vliegtuig, cf AWACS) –heeft honderden miljoenen gekost –project is gestaakt zonder resultaat

Reserveringssysteem van een grote US airline –2 hubs: NW en ZO –semi-autonoom systeem in iedere hub –synchronisatie van beide systemen –synchronisatie bleek niet te bouwen  $70M weg

C2000 (communicatie politie, brandweer, etc) –heeft nu al miljoenen meer gekost dan begroot –is ruim over tijd en nog steeds niet in bedrijf –gaat nog veel geld kosten

Waar gaat software engineering over? Idee! software engineering

Software Engineering gangbare visie idee specificatie If then else While Loop call ontwerp

software engineering requirements (eisen) specificatie design (ontwerp) implementatie testen maintenance kunnen we niet

Requirements Door beoogde gebruikers geformuleerde eigenschappen van het systeem –in termen van applicatiedomein –meetbare grootheden –stabiel tijdens realisatie van het systeem

Specificatie Technische eisen voor het systeem –systeem dat voldoet aan de specificatie moet het in gebruikerseisen beschreven gedrag vertonen –relatie tussen requirements en specificatie vastleggen dmv (belangrijkste) technische functies –minimaal, zodat voor realisatie voldoende keuzes blijven bestaan (“wat”, niet “hoe”) –grens tussen eisen en specificatie niet altijd duidelijk

Design (ontwerp) Beschrijft hoe het systeem in elkaar zit –moet aantoonbaar de specificatie realiseren –traceability –beschrijving op niveau van functies en hun interacties, interfaces –niet noodzakelijkerwijs executeerbaar

Implementatie Executeerbare code met de in het ontwerp bepaalde structuur, die de spec realiseert –te beschouwen als ontwerp op steeds gedetailleerder niveau –verschil tussen ontwerp en implementatie niet altijd duidelijk

Testen Verificatie dat geproduceerde code een systeem vormt dat aan de eisen voldoet –criteria nodig voor beslissingen –onmogelijk alle denkbare situaties te testen combinatorische explosie van mogelijkheden historie bij ontstaan van fouten belangijk

Maintenance Varieert van bug-fixes tot implementatie van nieuwe requirements –niemand vindt het leuk: wordt beschouwd als 2e-rangs werk –veroorzaakt “slijtage” oorspronkelijke ontwerp niet bekend/begrepen moet met te weinig middelen: onverstandige shortcuts

Is software maken wel engineering? Software –kent geen productiefase in de huidige praktijk –is vergelijkbaar met ontwerpfase die voorafgaat aan engineering in andere disciplines –traditionele engineeering taken (value engineering etc) zijn verweven met ontwerp

Huidige praktijk van SE Blind vertrouwen in de laatste mode –we leren niet van het verleden –we vergeten verworvenheden en vinden het wiel steeds opnieuw uit (en steeds weer 6- of 8-hoekig) –gedomineerd door Guru’s Tools –zonder duidelijke theoretische ondergrond –als resultaat uitblijft/onvoldoende: meer tools Proces belangrijker dan inhoud –weer een valse analogie – software is geen productie! Ongebreideld optimisme –We nemen alles aan, beloven gouden bergen en men trapt er nog in ook Ondanks 30 jaar onderzoek is er nauwelijks iets verbeterd...

Mode verschijnselen SP PSE OO UML CMM XP Agents Software architectuur ADL MBA Heeft iemand ooit het nut onderzocht? Op zich nuttige begrippen verwateren tot het punt dat ze geen betekenis meer hebben en dan komt er dus iets nieuws

Engineering is niet zo eenvoudig...