title | link |
---|---|
Analyse I |
- Tijd
- Communicatie: Team-verband
- Geld
Meer mensen betekent niet betere software. Communicatie neemt ook toe waardoor communicatie moeilijker wordt. Neemt polynomiaal toe.
Tamme Problemen | Wicked Problemen |
---|---|
(Goed gedefinieerd + makkelijke oplossing) | (Moeilijke oplossing) |
Budget op | Weten wat de klant wilt |
Tijd op | |
Werknemer ziek | |
Netwerk probleem | |
Hardware | |
Eisen v.d. klant wijzigen |
Een kader dat vastlegt hoe een softwareproject wordt aangepakt.
Een methode om de activiteiten in verband met creatie, oplevering en onderhoud van softwaresystemen te organiseren.
Opeenvolgend process
- Analyse: Requirements achterhalen. Taal verstaanbaar voor klant & programmeur
- Ontwerp: Onderdelen van het te bouwen systeem (Classes & Objects)
- Implementatie: Coderen & organiseren, unit testen schrijven
- Testen: Requirements testen (use cases)
- Integratie: Samen werken met andere systemen (API’s)
- Onderhoud: features & optimalisatie.
Simpel process (Voor kleinere software projecten)
—> Problemen:
- Weinig flexibiliteit, houdt geen rekening met veranderende eisen van de klant.
- Verlies van informatie: gespecialiseerde personen verlaten het project na hun respectievelijke fase)
- Testen op het einde: fouten worden pas op het einde ontdekt.
Oplossing:
Iteratieve en incrementele ontwikkelmethode
—> Per iteratie een milestone (= documentatie)
Iteratie:
- Software opdelen in time boxes waarbij elke iteratie het proces Analyse, Ontwerp, Implementatie, Testen, Integratie doorlopen en dus uitbreiden.
- We gaan domeinmodel per iteratie (en dus Use Case) opbouwen.
Incrementeel: functionaliteit dat werkt (een werkend geheel)
- Iteratieve, incrementele ontwikkeling
- think big, develop small: werk in iteraties
- Een iteratie bevat steeds dezelfde activiteiten
- De tijdsbesteding aan iedere activiteit zal gaandeweg tijdens het project veranderen (in het begin meer analyse…)
- Iteraties duren meestal 2 tot 6 weken.
Agile (Een voorbeeld van een RUP)
Agile Manifesto:
over | ||
---|---|---|
Individualsand interactions | processes and tools | |
working software | comprehensive documentation | |
customer collaboration | contract negotiation | |
responding to change | following a plan |
Object georiënteerde Analyse/Design
Klasse:
- parameters (attributen)
- methodes
Object:
- Audi A4 (Instantie)
Use cases != object georiënteerde analyse/design (maar wordt gebruikt)
Unified Modelling Language (Notatie wijze)
Voordelen:
- Visualisatie
- Communicatie (klant <—> programmeurs)
- Transformatie
Sequentiediagram:
Dynamische levenslijnen
verhaal:
- geen structuur
- irrelevante informatie
- warrig verteld
Use Case Diagram:
- UML Diagram
- Alle taken die het systeem uitvoert
- Actor (Persoon OF Extern Systeem)
- De ‘starter’ is de Primaire Actor
Wat is een Use Case
- tekstuele beschrijving van een taak
- beschrijft gebruik (doel)
- Begrijpbaar voor alle partijen
- Contract
- Functionele vereisten
Wat het doet en niet hoe hij het doet
(hoe het er uit moet zien)
Use Case: Naam van de use case
Situering: Korte beschrijving
Primaire Actor: de entiteit (belangrijke partij!) die de use case instantieert
Pre Conditie:
- Voorwaarden voldaan voor een succes (Voor de use case)
- nodige voorwaarden
Post Conditie: Voorwaarden voldaan na een succes
Normaal verloop: (Main Succes Scenario)
- Lijst van acties die het systeem moet doen om tot een succes te geraken
- Wie / Wat
Alternatieve Verlopen: uitbreidingen/uitzonderingen + referentie naar de stap in het main succes scenario
Domeinregels: Beperkingen/voorwaarden die geldig moeten zijn in het systeem (VB.: Wachtwoord moet min 6 tekens zijn)