tentamen Flashcards
(64 cards)
Wat zijn de kenmerken van RUP?
Iteratief en incrementeel Use Case driven Stem voor stakeholders Architectuur centraal Risico's aanvallen Aanpasbaar/op maat Focus op kwaliteit
Wat zijn de fasen van RUP?
Inception - inhoud, scope, risico’s, planning
Elaboration - Risico’s overwinnen, testen architectuur, UC’s uitwerken en PoC
Construction - Ontwerpen, bouwen, testen
Transition - Bugfixes, deployen, trainen en overdragen
Wat is de best practice Cockburn (use case opstellen)?
Schrijf iets leesbaars
Beschrijf top-down
Gebruik 3 tot 9 stappen per use case
Data en business rules benoemen maar elders beschrijven
Hoe pas je een standaard efficient toe?
Afstemmen op jouw situatie
Ondersteunen met templates en checklists
Voorkom blind volgen en dom invullen
Wat zijn de voor en nadelen van RUP?
Voordelen
Meer aandacht architectuur
Meer aandacht documentatie, overdraagbaarheid, testen en projectmanagement
Haalt risico’s naar voren
Nadelen
Wat documenteer je wel en nier
Risico’s op teveel proces
Wat is een SAD?
Software Architecture Document is een set van producten die een architectuur beschrijven
Het toont aan dat er aan de eisen en wensen van de stakeholders voldaan is
Wat is een view?
Een representatie van het gehele systeem, met oogpunt op de specifieke wensen van stakeholders (instantie)
Wat is een viewpoint?
Een patroon of generalisatie van een view (class)
Wat zijn de 4+1 RUP views?
Logical view Implementation view Use case view Process view Deployment view
Wat zijn de 7 R&W viewpoints?
Context viewpoint Functional viewpoint Information viewpoint Concurrency Viewpoint Development viewpoint Deployment viewpoint Operational viewpoint
Geef een korte omschrijving van de 4+1 RUP views.
Use case view zijn de key scenarios met use case diagrammen en use case omschrijvingen
Logical view omschrijft de functionaliteiten en gedrag van het systeem en beschrijft de layers en tiers
Implementation view beschrijft de organisatie van de software modules en de implementatie details (frameworks, packages, development environment, file structures, OS)
Deployment view beschrijft hoe de run-time entiteiten worden uitgevoerd, plus de hardware en netwerk configuratie, wijze van communicatie en de protocols
Process view laat het run-time gedrag van het systeem zien, plus de threads en processen, concurrency, scheduling, shared resources en de activity en sequence diagrammen
Wat zijn layers en tiers?
Layers verwijzen naar de logical structures, georganiseerd op het level van abstractie (presentatie, business, data, service)
Tiers verwijzen naar de physical structures, de splitsing van de layers over verschillende computers. (two tier, three tier, n tier)
Geef een korte omschrijving van de 7 R&W viewpoints.
Functional viewpoint omschrijft de functionaliteiten en gedrag van het systeem en beschrijft de layers en tiers
Concurrency viewpoint laat het run-time gedrag van het systeem zien, plus de threads en processen, concurrency, scheduling, shared resources en de activity en sequence diagrammen
Development viewpoint beschrijft de organisatie van de software modules en de implementatie details (frameworks, packages, development environment, file structures, OS)
Deployment viewpoint beschrijft hoe de run-time entiteiten worden uitgevoerd, plus de hardware en netwerk configuratie, wijze van communicatie en de protocols
Information viewpoint beschrijft de manier waarop de architectuur de data opslaat, manipuleert en beheerd (ERD, data ownership)
Operational viewpoint omschrijft hoe het systeem in gebruik kan worden genomen en kan worden geadministreerd en beheerd (installatie, migratie, monitoring, configuratie)
Wat zijn quality properties?
De niet-functionele kenmerken van het systeem (performance, efficiency, security, maintainability, availability, etc)
Wat zijn perspectives?
Collecties van patronen, templates en guidelines om te garanderen dat het systeem de juiste quality properties heeft (performance and scalability, security, availability and resilience, evolution)
Hoe beschrijf je een perspective?
Desired quality - definitie
Applicability to views - welke views hebben het meeste impact
Concerns
Activities - hoe voer je de perspective uit
Tactics - benadering of oplossing die je kunt gebruiken
Problems and pitfalls
Wat zijn architecturale tactics?
Een benadering of oplossing die je kunt gebruiken om een bepaalde quality property te bereiken
Wat zijn de concerns en tactics van performance and scalability?
Concerns
Processing volume, response time, responsiveness, throughput, predictability
Tactics
Optimize repeated processing, reduce contention via replication, prioritize processing, consolidate related workload, distribute processing over time, minimize the use of shared resources, partition and parallelize, use asynchronous processing, make design compromises
Wat zijn de concerns en tactics van security?
Concerns
Authentication, authorization, confidentiality, integrity, accountability, availability, intrusion detection, recovery
Tactics
Apply recognized security principles, authenticate the principles, authorize access, ensure information secrecy, ensure information integrity, vulnerability analysis, application of security technology
Wat zijn de concerns en tactics van availability and resilience?
Concerns
Classes of service, planned/unplanned downtime, MTBF, MTTR, disaster recovery, redundancy, clustering, failover
Tactics
Select fault-tolerant h/w, use h/w clustering and load balancing, log transactions, apply software availability solutions, select faul-tolerant software, identify backup and disaster recoveries solutions
Wat zijn de concerns en tactics van evolution?
Concerns
Magnitude of change, dimensions of change, likelihood of change, timescale for change, development complexity, preservation of knowledge, reliability of change
Tactics
Contain/encapsulate change, create flexible interfaces, apply change-oriented architectural styles, build variation points into the software, achieve reliable change, preserve development environments, achieve reliable change
Welke andere perspectives zijn er?
Accessibility - kan het systeem gebruikt worden door mensen met een handicap
Development resource - kan het systeem gebouwd worden binnen de limieten van tijd, personeel en budget
Internationalization - is het systeem onafhankelijk van taal, land en cultuur
Location - Zal het systeem op meerdere (geografische) locaties werken
Regulation - voldoet het systeem aan alle eisen
Usability - kan men het systeem effectief gebruiken
Welke levels van architectuur zijn er?
Enterprise Application, product, system Embedded system Infrastructure Platform CPU
Wat zijn de lagen van de enterprise architectuur?
Business, data, applications, technology