SA 6 - Architecture Analysis
Architectural analysis: het identificeren van en de oplossingen van de non-functionele
requirements binnen de context van de functionele requirements
Steps within Architectural Analysis
1. Which requirements have an impact on the architecture?
Identificeer architectural factors (architectural drivers).
Identificeer points of variations and points of evolution.
Architectural factors/drivers: Alle (non-)functionele requirements die uiteindelijk een impact
hebben op de architectuur.
Points of variation: variaties binnen het bestaande, huidige systeem of de requirements. Zoals de
verschillende soorten belastingen die moeten worden berekend.
Evolution point: mogelijke points of variations die nu nog niet voorkomen in het systeem, maar
hoogstwaarschijnlijk wel kunnen voorkomen in de toekomst.
2. How can the impact on the architecture be resolved?
Verzamel meer informatie die te vinden is over de architectural factors.
Ga op zoek naar alternatieve oplossingen.
Maak uiteindelijk een architecturale beslissing en kies voor de beste oplossing.
Documenteer de factors, de oplossing, motivatie voor de oplossing, onopgeloste problemen en
alternatieven. Doe dit in het Software Architecture Document of Notebook.
GRASP
GRASP bestaat uit een aantal guidelines voor het toekennen van verantwoordelijkheden aan
klassen en objecten. Het is niet gerelateerd aan het SOLID design principe.
Verschillende patronen en principes die gebruikt worden binnen GRASP zijn controller, creator,
indirection, information expert, high cohesion, low coupling, polymorfisme, protected variations en
pure fabrication. Alle patterns beantwoorden een bepaald software probleem.
Controller
Welk object dat onder de UI-laag zit, ontvangt en coördineert een operatie?
Oplossing: Geef de verantwoordelijkheid aan;
- Óf een object dat het gehele systeem representeert ( root object)
- Óf een use case scenario binnen het systeem representeert (session controller)
Creator
Het aanmaken van objecten is een van de meest gebruikelijke objecten binnen een object-
oriented system. Welke klas hiervoor verantwoordelijk is is een fundamenteel gedeelte van de
relatie tussen objecten en klassen.
In het algemeen is klasse B verantwoordelijk voor het aanmaken van instanties van klasse A als
een (en liever meer) van deze punten aan bod komt:
• Instanties van B bevatten of hebben een composite/aggregatie relatie met instanties van A
• Instanties van B slaan instanties van A op
• Instanties van B maken veel gebruik van A
• Instanties van B hebben de informatie die instanties van A initialiseert en geven dit door
wanneer een instantie van A wordt gecreëerd
Jet Wardenier 27/12
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, creditcard of Stuvia-tegoed 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 jetwardenier. Stuvia faciliteert de betaling aan de verkoper.
Zit ik meteen vast aan een abonnement?
Nee, je koopt alleen deze samenvatting voor €3,49. Je zit daarna nergens aan vast.