Volledige samenvatting van 77 pagina's.
Examenvragen van juni 2015 zijn te vinden op 't laatste pagina.
Handelt alle belangrijke informatie per hoofdstuk.
Met dit samenvatting hoef je niet meer een dik boek te lezen.
Dit samenvatting kan ook gebruikt worden voor Software Design Advanced (2de jaar)
...
Wat is software engeneering?
Software engeneering = nadenken en redeneren over ontwerp!
Best Practices!
Zonder software engineering...
• Software te laat geleverd
• Budgetten overschrijden
• Bugs
• Gebruikers/business behoeften niet gehaald
• Modules die niet integreren
• Slechte performantie onder grote belasting
• Fatale fouten
• Overdosis straling patiënten (Therac 25)
• Ariane 5: 7 miljard $
• …
Waarom SE?
• Complexiteit
• ...van het toepassingsgebied
• ...van de communicatie klant/programmeur
• ...van het werken met natuurlijke taal
• ...van de grootte van het project
• Beheersen van deze complexiteit
• Organisatie en structuur
Eerdere technieken
• Gestructureerd programmeren: GOTO
• Functionele decompositie
• Gestructureerde analyse en ontwerp
• Gegevensgericht model: ER
• Object-georiënteerd model
• Nu: component en agent georiënteerd model
,Best practice 1: ontwikkel iteratief
• Software niet ineens volledig ‘af’
• Ontwikkelen in stadia
• Afstappen van klassieke waterfall model (zie
later)
• Snel risico’s inschatten
• Snelle user feedback
• Continu testen/integratie
• Gedeeltelijke implementatie
Best practice 2: requirements managen
• In 1998
• 74% van software projecten te laat, gecancelled, over budget, …
• Requirements managen wil zeggen
• Juiste probleem oplossen
• Juiste systeem ontwerpen
• Hoe?
• Organiseren, documenteren en managen van de requirements (vereisten)
,Best practice 3: gebruik componenten
• Basis voor herbruikbaarheid
• Hergebruik van
componenten/architectuur
• Basis voor project management
• Planning, personeel, aflevering
• Basis voor “intellectuele controle”
• Complexiteit aankunnen
• Integriteit handhaven
Best practice 4: modelleer visueel
• Een model geeft een gedeeltelijke weergave van de realiteit weer, gezien vanuit een
bepaald perspectief.
• Modellen zijn nodig om de complexiteit van het geheel de baas te kunnen
• ~bouwplan voor een huis
• Taal bij uitstek: UML (Unified Modeling Language)
• 1 standaardtaal, geen twijfel over betekenis
Best practice 5: continue kwaliteitscontrole
• Testing kan 30%-50% van project
inhouden!
• Redenen voor bugs in release
• Testen blijft enorm moeilijk
• Testen gebeurt dikwijls ad hoc,
zonder methodologie
, Best practice 6: verandering managen
• Grootste uitdaging
• Met meer programmeurs tegelijk werken, op verschillende locaties, op
verschillende builds, platformen, releases, …
• Problemen
• Simultane update (2 programmeurs op zelfde code)
• Niet iedereen is op de hoogte van wijzigingen
• Multiple versions
RUP: de oplossing?
RUP = Rational Unified Process
• = gestandaardiseerd proces om software te ontwikkelen
• Voordelen van het gebruik van een proces
• Gids voor ontwikkelen van kwaliteitssoftware
• Verminderen van risico’s en verbeteren voorspelbaarheid
• Gedeelde visie en cultuur voor ontwikkeling
• Is doorspekt met best practices
RUP bestaat uit 4 fases
• Inception
• Elaboration
• Construction
• Transition
,2: Concepten
Levenscyclus van software
I. Beeldvorming (vereisten)
II. Specificatie
III. Ontwerp (representatie)
IV. Implementatie
V. Integratie
VI. Onderhoud
VII. Buiten werking stellen
Opmerkingen
• Geen testfase!
• Gebeurt gedurende ganse project
• Geen documentatiefase!
• Gebeurt gedurende ganse project
Specificatie = Contract tussen klant en informaticus
• Geen dubbelzinnigheden
• Volledig
• Dikwijls met behulp van juristen
• Documenteren!
Ontwerp:
Produktontwerp
- Architectuur, database, ...
Architecturaal ontwerp
- Modules, Pakketten
Gedetailleerd ontwerp
- Leunt zeer dicht aan bij implementatie
- UML schema’s
- “Testen!”
Implementatie:
Ontwerp omzetten in code
- Coderingsstandaarden
Testen!
Documenteren!
Integratie:
Interne integratie
- Combineer modules en check product
Externe integratie
- Installatie van hardware, software, opleiding van de klant, finale review van
klant
- Testen zeer belangrijk
- Opnemen in documentatie
, Onderhoud:
= eender welke verandering
• Na acceptatie van de klant!
Groot probleem in huidige projecten
Regressietesten
Buiten werking stellen:
Eerder uitzonderlijk
• Drastische veranderingen
• Totaal nieuwe platformen ingebruiknemen
• Geen of foute documentatie
• “Maak jezelf niet onmisbaar...”
Software levenscycli modellen
1. Build & repair model
Maak een eerste versie
- Pas aan tot klant tevreden
Slechtste model!
2. Waterfall
Volgende stap kan pas als vorige stap afgewerkt
Idee
• Veel tijd spenderen aan initiële fasen, bespaart
veel geld!
• Fout in later stadium (bv.
implementatiefase) zorgt inderdaad
voor veel problemen
• Deze situatie is niet realistisch
-> Met trugkoppeling
Voordelen van het kopen van samenvattingen bij Stuvia op een rij:
√ Verzekerd van kwaliteit door reviews
Stuvia-klanten hebben meer dan 700.000 samenvattingen beoordeeld. Zo weet je zeker dat je de beste documenten koopt!
Snel en makkelijk kopen
Je betaalt supersnel en eenmalig met iDeal, Bancontact of creditcard voor de samenvatting. Zonder lidmaatschap.
Focus op de essentie
Samenvattingen worden geschreven voor en door anderen. Daarom zijn de samenvattingen altijd betrouwbaar en actueel. Zo kom je snel tot de kern!
Veelgestelde vragen
Wat krijg ik als ik dit document koop?
Je krijgt een PDF, die direct beschikbaar is na je aankoop. Het gekochte document is altijd, overal en oneindig toegankelijk via je profiel.
Tevredenheidsgarantie: hoe werkt dat?
Onze tevredenheidsgarantie zorgt ervoor dat je altijd een studiedocument vindt dat goed bij je past. Je vult een formulier in en onze klantenservice regelt de rest.
Van wie koop ik deze samenvatting?
Stuvia is een marktplaats, je koop dit document dus niet van ons, maar van verkoper EHB. Stuvia faciliteert de betaling aan de verkoper.
Zit ik meteen vast aan een abonnement?
Nee, je koopt alleen deze samenvatting voor €5,48. Je zit daarna nergens aan vast.