Analyse en ontwerp van informatiesystemen Overzicht van en antwoorden op beschikbare examenvragen EDP = electronic data processing DFD = data flow diagram – gebruikt om statistische of de dynamische, procesmatige aspecten van een IS te modelleren – geen formele ondersteuning GERM = Generalized (N-aire) ER Model: relaties tss meer dan twee entiteiten BERM = Binary ER Model: hoogstens twee entiteiten zijn gerelateerd DD/D = data dictionary/directory: opslag van metagegevens OOA / OOD = objectgeoriënteerde analyse / design OOPLA = objectgeoriënteerde programmeertalen JAD = joint application design system sequence diagram (in OOA), weerspiegelt dynamisch gedrag van systeem BSP = business systems planning
H3: het systeemontwikkelingsgebeuren o Systeeminceptie: system requirement specification o Systeemanalyse: functional specification (wat?) o Systeemontwerp: system design specification (hoe?) o Systeemproductie: eigenlijke systeem
Principe van stringente fase-indeling: volgende fase pas starten als vorige volledig is afgesloten
Evolutionary prototyping H3
Evolutionary prototypes moeten worden gebruikt als de systeemspecificatie (wat het systeem moet kunnen) moeilijk op voorhand kan worden bepaald (bv AI). Prototypes evolueren tot volledige systemen.
Waarvoor worden throw-away prototypes gebruikt?
Analyse & Ontwerp van Informatiesystemen – 2013-2014
1
Throw-away prototyping: systeemvereisten niet gekend, worden weggegooid na bepaling vereisten
Wat is incrementele ontwikkeling? H3.10
Combinatie van voordelen van prototyping met beheersbaar proces – eerst algemeen architectuurplan, dan systeem ontwikkelen en afleveren in verschillende modules
De stappen in systeemontwikkeling volgens MDA: CIM/PIM/PSM
Link tussen MDA en UML: wordt UML gebruikt bij PIM, PSM, PSM naar code, alle drie, geen van de drie
Model driven architecture, ontwikkeld door object management group. -
CIM – computation independent model = domain model
-
PIM – platform independent model - UML
-
PSM – platform specific model
-
Code (terug naar CIM)
Wat is een niet-functionele requirement? H5 o Functionele requirements: functionaliteit waarover het systeem moet beschikken (bv. User ziet locatie postpakket) o Niet-functionele requirements: eigenschappen en kwaliteiten waaraan het systeem moet voldoen (bv. 1000 orders per uur verwerken) o Randvoorwaarden: extra eisen (wie gaat het systeem gebruiken?) o Project requirements: (IS operationeel 1 maart)
Process of finding requirements by asking clients H5.2 o Antwoorden: requirements analysis/engineering/elicitation/specification o Requirements elicitatie: onderzoek naar requirements o Requirements specificatie: documenteren van requirements uit elicitatiestap – enterprise modelling – data modelling – domain modelling o Requirements validatie: valideren van requirements uit elicitatie en specificatiestap
Analyse & Ontwerp van Informatiesystemen – 2013-2014
2
Vereisten bij een systeem van bijlessen: wat voor soort requirement H5
- Het moet in orde zijn met de fiscale regelingen ivm werkende studenten (randvoorwaarde) - Het moet ook in de blokperiode werken (project requirement) - Er moeten minstens 1000 studenten in het systeem kunnen (niet functionele requirement) - Het moet mogelijk zijn om bijlesgevers aan bijlesnemers te koppelen (+-) (functionele requirement)
Wat is geen eigenschap van BSP? H6.27
-
Tijdsafhankelijk
BSP past in kader van systeeminceptie, in overgangsfase van computerbeheer naar gegevensen informatiebeheer BSP-studie veronderstelt dat het mogelijk is om gegevensstructuren te rationaliseren zonder rekening te houden met het verleden (<> SOG) BSP is niet geschikt voor gedecentraliseerde omgevingen
Een BSP-studie heeft als beperkingen:
- de methode is erg tijdsgebonden: regelmatige herziening van cruciale activiteiten is noodzakelijk aangezien het belang van activiteiten sterk beïnvloed wordt door externe factoren, zoals overheidsmaatregelen, … - de methode zou niet volledig zijn om de grote organisatorische context van de onderneming te vatten. - de methode veronderstelt dat het mogelijk is om gegevensstructuren te rationaliseren zonder rekening te houden met het verleden.
Wat is het nadeel van CSF? H6.33
-
Beperkte menselijke capaciteit bij kritische succesfactoren (subjectiviteit van de interviewer)
-
Tijdsgebondenheid van kritieke succesfactoren – regelmatige herziening van cruciale activiteiten noodzakelijk
-
Moeilijke toepasbaarheid
Infusie – penetratiegraad van IT in onderneming Analyse & Ontwerp van Informatiesystemen – 2013-2014
3
Diffusie – versnipperingsgraad van IT in onderneming
Wat zijn derivation rules? Van bestaande feiten nieuwe feiten afleiden H8
Wat betekent declaratief bij business rules? - leaves out who, how, where, when H8
Structural/operational business rules H8
Wat zijn reaction rules? H8
Business rule: An atomic piece of re-usable business logic, specified declaratively Declarative: leaves out who, how, where, when
Structural: can be misunderstood – not be violated – business knowledge – organisatie van bedrijfsactiviteiten It is permitted that Operational: can be violated – business conduct – uitvoering van bedrijfsactiviteiten It is obligatory that
Static rules: define constraints Dynamic rules: product rules (if then do)
Kinds of business rules: -
Integrity constraints: restrict domain of facts o State constraint: geldt op elk moment o Process constraint: overgangen
-
Derivation rules: new facts based on existing facts
-
Permissions & obligations
-
Event reaction rules: als dit dan doe dat wat leidt tot dat – type event-condition-actionevent
Vocabularium bij business rules: wat is “customer”, wat is “golden customer = minstens 15 transacties”, wat is “Switzerland”, wat is “persoon heeft rijbewijs”? H8 ppt o Customer: term/concept o Persoon heeft rijbewijs: fact type
Analyse & Ontwerp van Informatiesystemen – 2013-2014
4
o Golden customer = minstens 15 transacties: concept definition o Switzerland: term/name o Every driver must have a valid licence: business rule
In de Business Rules Approach worden een aantal elementen gebruikt en wordt een onderscheid gemaakt tussen verschillende soorten bedrijfsregels. Benoem volgende uitspraken: H8.3&4 o De korting die een klant krijgt hangt af van de prijs van de aankoop en het type klant: derivation rule o Een huurovereenkomst heeft betrekking op een klant en een wagen: structural business rule (?) o Een klant kan enkel geld afhalen als zijn kredietlimiet niet overschreden is: integrity constraint (state constraint, geld op elk moment) o Een klant is een persoon die ooit een auto gehuurd heeft: structural business rule (?)
Prescriptief/descriptief
Descriptive models attempt to describe the relationship between selected features (bv. Kaart) Prescriptive models attempt to provide guidance as to the course of action, explicit execution scenarios, implicit: why – design-time and run-time INflexibility
Procesdecompositie H9.33
Top-down techniek om een hiërarchische opsplitsing van processen te maken (~organigram, processen opsplitsen, inzicht verwerven in elementaire bedrijfsprocessen en communicatie vergemakkelijken)
CRUD-matrix: definitie (legt link tussen ER & data - DFD) wat geeft deze aan? H9.34
Op twee manieren band tussen ER/DFD voorstellen -
Tweedimensionale matrix – processen rijen, entiteiten kolommen, cellen methodes (create, read, update, delete)
-
Voor elk proces een view op het ER-diagram. Attributen, relaties en entiteiten groeperen per proces
Analyse & Ontwerp van Informatiesystemen – 2013-2014
5
Beslissingstabel gegeven: welke uitspraak is niet waar (single hit, multiple hit, …) + waaraan merk je dat? – Aan de eerste kolom kun je zien of het all hits of first hit is. H9.39 & H9.46
Beschrijft en analyseert procedurele beslissingssituatie – alle mogelijkheden in 1 kolom Conditiesubjecten, actiesubjecten, conditie-ingangen, actie-ingangen
Variaties op beslissingstabel: zijn alle kolommen wederzijds exclusief? -
Single hit: alle kolommen wederzijds exclusief – elke mogelijke conditiecombinatie = één kolom
-
Multiple hit: niet wederzijds exclusief
Bij multiple hit: contradicties vermijden met regels -
First hit: eerste hit v links naar rechts per kolom bepaald welke actie uitgevoerd moeten worden
-
All hit: elke hit kan acties toevoegen (en verwijderen) – eerste kolom is “-“ (?)
Polymorfisme H9.73
Dynamic binding: oproepen methode pas bepalen als systeem uitgevoerd wordt, niet bij ontwerpen Polymorfisme: verschillende methoden met 1 naam in verschillende objecten – communicatie tss objecten vereenvoudigen Context van overerving - hergebruik De sleutel tot hergebruik is het vinden van goede abstracties van concrete klassen: abstracte klassen
Abstracte klasse vb mailitem, welke uitspraak klopt niet? – toevoeging van “voicemail bestand” – elementenlijst moet niet gewijzigd worden (in deze vorm juist) H9.78
Door gebruik te maken van polymorfisme en dynamic binding, worden instanties van subklassen van de abstracte klasse MailItem aanspreekbaar via een variabele, statisch gedeclareerd als MailItem. Er kunnen dynamisch subklassen aan toegevoegd worden
Wat betekent aggregatie in OOA H10.22
Analyse & Ontwerp van Informatiesystemen – 2013-2014
6
Speciale vorm van associatie – relatie tss geaggregeerde object (vereniging) en componentobjecten, bv robot en armen, processor, …
Collaboration diagram H10.25
Collaboration diagram illustreert hoe objecten met elkaar interageren – belangrijkste gedeelte van design fase in OOA Design class diagram: hierin worden design details opgenomen
In OO-methoden worden diagrammen gebruikt om aan te duiden hoe objecten met elkaar interageren. Welke diagrammen drukken deze interactie uit: H11.5&13
- design class diagrams en associaties. - use cases en class diagrams. - real use cases en het conceptueel model. - collaboration diagrams en sequence diagrams.
Functionaliteitseisen: use case diagram Statisch gedrag: class, object diagram Dynamisch gedrag: Sequence, collaboration diagram (interactie-diagrammen) / state, activity diagram Systeemarchitectuur: packages / component, deployment diagram
OCL (object constraint language) H11.27
Toepasbaar op UML (niet te kennen? 2013-2014)
Wat is een proces bij SA? H13
Proces model: proceslogica uit DFD, structured english
Wat betekent koppeling bij modules? H14.4
Module: begrensd, aaneengesloten geheel van instructies en heeft unieke naam -
Coupling: maat voor graad van afhankelijkheid tss modules. Minimale koppeling optimaal
Analyse & Ontwerp van Informatiesystemen – 2013-2014
7
-
Cohesion: maat voor mate waarin individuele modules een enkelvoudige, welomlijnde functie vervullen. Maximale cohesie optimaal
-
Fan-in: aantal modules door dewelke een module wordt opgeroepen
-
Fan-out: aantal modules dat module oproept
Snoodaard die geheime code invoert - statische test
Stel, U bent brand manager bij een belangrijke producent van MP3-spelers die op geregelde tijdstippen innovaties op de markt brengt die het gebruiksgemak verhogen tot een graad superieur aan alle voorgaande toestellen. U wordt gevraagd het nieuw informatiesysteem te testen dat moet nagaan wat de invloed van deze opeenvolging van innovaties op de verkoopcijfers is. Welk soort test voert U, als brand manager, dan uit? (kies 1) + verklaar uw antwoord.
Systeemtest, bottom-up testen, integratietest, statische testtechnieken, moduletesten, acceptatietest, paddekking.
-
moduletesten: correcte werking van module afzonderlijk controleren
-
integratietesten: systeem als geheel beschouwen, logica van modules en onderlinge communicatie – bottom-up integratie: functionele decompositie
-
systeemtesten: voldoet systeem aan oorspronkelijke verwachtingen?
-
Acceptatietest: zijn gebruikers tevreden met systeem?
-
Test-strategie: o Black-box: data driven - enkel in- en uitvoer testen o White-box: testen van logica
-
Soorten moduletesten: o Statische test: testen op fouten zonder programma uit te voeren o Dynamische test: wel uitvoeren
-
White-box criteria: o Paddekking: testgegevens kiezen zodanig dat elk pad één keer getest wordt o Takdekking: alle waarden van de predicamenten worden éénmaal getest
Analyse & Ontwerp van Informatiesystemen – 2013-2014
8
Wat is het b-model? (onderhoudscyclus) H15.3 (?) o Correctief onderhoud: fouten herstellen bij uitvoering programma o Adaptief onderhoud: nieuwe hardware o Perfectief onderhoud: nieuwe eisen o Preventief: vergemakkelijkt toekomstig onderhoudsproces
Functiepuntanalyse H16
Model om omvang van systeem en productiviteit bij ontwikkeling te schatten (IBM) Uitgangspunt: aantal uit te voeren functies, worden opgedeeld, moeilijkheidsgraad (complex, gemiddeld, eenvoudig), complexiteitswaarden, brutototaal -> nettototaal via correctiefactor
Voortgangs/efficiëntie/prestatieverschillen (project management) H16
Organic mode: kleine groep, vertrouwde projecten Embedded mode: complexe systemen in bestaande software-omgeving Semidetached mode: tussenvorm
Verschillen tss gebudgetteerde & gerealiseerde tijdswaarden: -
Prestatieverschillen: werkuren per teamlid/taak, werkelijk en gebudgetteerd
-
Efficiëntieverschillen: werkuren per werknemer per taak
-
Voortgangsverschillen/totale verschillen: som van prestatie- en efficiëntieverschillen
In projectmanagement van informatiesystemen worden tijdens de verschillenanalyse een aantal verschillen onderscheiden. Hoe noemt men verschillen die betrekking hebben op de schatting van de tijd die nog nodig is om de taak volledig af te maken ten opzichte van de oorspronkelijke schatting? Geef een klein voorbeeldje. H16.16
Prestatieverschillen: per werknemer/taak Efficiëntieverschillen: per werknemer per taak
Green IS: wat is geen issue – issues:
Analyse & Ontwerp van Informatiesystemen – 2013-2014
9
o Reduce transportation costs with a fleet management system and dynamic routing of vehicles to avoid traffic congestion and minimize energy consumption o Support team work and meetings when employees are distributed throughout the world, and thus reduce the impact of air travel. IS can move remote working beyond telecommuting to include systems that support collaboration, group document management, cooperative knowledge management, and so forth. o Track environmental information (such as toxicity, energy used, water used, etc.) about the creation of products, their components, and the fulfillment of services o Monitor a firm's operational emissions and waste products to manage them more effectively o Provides information to consumers so they can make green choices more conveniently and effectively.
Green IT/IS: eerste kolom wordt weggelaten (wat is unison?)
Informational
Physical
U-construct
The drive to…
The drive to…
Ubiquity
Have access to information unconstrained by time and
Have ready availability of a desired
space
resource
Know precisely the characteristics and location of a
Have the capability to tailor
person or entity
precisely the use of a physical
Uniqueness
resource to one’s unique needs Unison
Have information consistency
Have procedural consistency
Universality
Overcome the friction of information systems
Overcome the friction o physical
incompatibilities
differences
Klasse X met methode M1 die M2 en M3 oproept, klasse Y met M3’ y roept M1 op, wat wordt eruit gevoerd?
Prestatiemaatstaven
Analyse & Ontwerp van Informatiesystemen – 2013-2014
10
Hierbij een voorbeeld van een diagram/systeem/klasse. Bespreek het aangeduide onderdeel. Waarom werd deze werkwijze gevolgd, of wat is er verkeerd aan deze werkwijze? Wat stellen de pijlen voor? (open driehoek – inheritance? – gewone pijl – streep) (associatie, aggregatie, …)
Stel dat u gevraagd wordt een bestaand administratief probleem (bijvoorbeeld binnen de faculteit) in kaart te brengen en een systeemanalyse uit te voeren. Doorloop hiervoor een beperkte inceptie- en analysefase. Bv: stageplatform van de FEB & Ekonomika
- Is een systeem nodig? Welke alternatieven zijn er? Wat is de scope van het project? Zijn er implicaties op andere systemen en procedures? (Wat moet er gedaan worden?) - Wat zijn de benodigde gegevens(klassen) en waar komen de gegevens vandaan? - Welke informatie moet worden bijgehouden? - Hoe kan het systeem gebruikt worden? Door wie? Stel een eerste studie op die aangeeft hoe een dergelijk systeem of werkwijze er realistisch zou kunnen uitzien (diagramma-technieken hoeven niet noodzakelijk gebruikt te worden). - In de studie mag u elke creatieve oplossing gebruiken, maar ze moet haalbaar en zinvol zijn vanuit informatica-standpunt. Indien u meer middelen/mensen/tijd gebruikt dan nu beschikbaar, moet u de gevolgen inschatten (voor zowel studenten, administratie, bedrijven en anderen).
Analyse & Ontwerp van Informatiesystemen – 2013-2014
11