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
The benefits of buying summaries with Stuvia:
Guaranteed quality through customer reviews
Stuvia customers have reviewed more than 700,000 summaries. This how you know that you are buying the best documents.
Quick and easy check-out
You can quickly pay through credit card or Stuvia-credit for the summaries. There is no membership needed.
Focus on what matters
Your fellow students write the study notes themselves, which is why the documents are always reliable and up-to-date. This ensures you quickly get to the core!
Frequently asked questions
What do I get when I buy this document?
You get a PDF, available immediately after your purchase. The purchased document is accessible anytime, anywhere and indefinitely through your profile.
Satisfaction guarantee: how does it work?
Our satisfaction guarantee ensures that you always find a study document that suits you well. You fill out a form, and our customer service team takes care of the rest.
Who am I buying these notes from?
Stuvia is a marketplace, so you are not buying this document from us, but from seller EHB. Stuvia facilitates payment to the seller.
Will I be stuck with a subscription?
No, you only buy these notes for $5.89. You're not tied to anything after your purchase.