Component based software enginering Diku 2005 Kritikopgave Nicolas Møller Henschel 17. april 2005 1
Indhold 1 Indledning 3 2 Indhold 3 2.1 Introduktionen.......................... 3 2.1.1 Mangler.......................... 3 2.2 Systembeskrivelse......................... 3 2.3 Arkitektur............................. 4 2.4 Brugsscenarier.......................... 4 2.5 Usecases.............................. 4 2.6 Komponentbeskrivelser...................... 4 2.7 Flow beskrivelse......................... 4 2.8 OCL................................ 4 2.9 Afrunding............................. 4 3 Overordnet 5 2
1 Indledning Denne rapport er skrevet på kurset Component Based Development: Theory and Practice forår 2005 DIKU. Det er en kritik af opgaven Komponent baseret udvikling af Lars Christensen, Jacob Johan Jensen og Jacob Atzen. Rapporten behandler en komponent baseret løsning af resursebookingsproblemet. Jeg vil antage rapporten for kendt, dette mener jeg er en rimelig antagelse, da den ligger til grund for denne rapport. Jeg vil i afsnit 2 behandle indholdet af de forskellige afsnit af rapporten og i afsnit 3 vil jeg behandle den samlede rapport. 2 Indhold Jeg vil i dette afsnit komme med kritik af de enkle afsnit af rapporten. 2.1 Introduktionen Rapportens formål bliver beskrevet kort og det bliver nævnt at man ønsker at løse resurseproblemet. Men det beskrives ikke hvad man helt konkret har tænkt sig at gøre i rapporten. Jeg savner at man skriver at man ønsker at beskrive et system til at løse resurse problemet. Afgrænsningen af rapporten er lidt vag, forfatterne for kun sagt at de vil gøre løsningen så simpel som mulig. Og i den andledning får man en fornemmelse af at hvad de vil med rapporten. Den beskrevne løsning... Her får jeg den ide at rapporten nok handler om at beskrive en komponent basesret implementering af det beskrevne problem. 2.1.1 Mangler Man mangler at fastsætte hvem rapporten henvænder sig til og hvilke forudsætninger læseren forudsættes at have. Herudover mangler en redegørelse for hvorfor de forskellige afsnit er medtaget, 2.2 Systembeskrivelse Afsnittet beskriver godt, det ønskede system og for identificeret de forskellige krav til systemet. Listeformen hvorpå kravene er opstillet giver et godt overblik. 3
2.3 Arkitektur I afsnittet bliver der på grundlag af det forgående afsnit redegjort for valg af arkitektur. Det er godt at rapporten kort beskriver hvad en lavdelt arkitektur er. Beskrivelsen af de tre lag er kort og præcis. 2.4 Brugsscenarier Afsnittet virker ikke vigtigt og der bliver ikke refereret til det noget steds fra, det indeholder mange fine figurer men til hvilket formål? Jeg mener ikke det er vigtigt hvordan man klikker sig gennem brugergrænsefladen i reference løsningen. 2.5 Usecases Afsnittet er lidt tyndt, det er ikke klart hvad formålet er. Det bliver dog refereret til det senere i rapporten. 2.6 Komponentbeskrivelser Afsnittet beskriver fint de forskellige komponenter, men afsnittet mangler argumentation, for hvorfor man vælger opdelingen i de forskellige komponenter. Jeg syntes at komponent diagrammet og klasse diagrammet giver et godt overblik over systemet. 2.7 Flow beskrivelse Afsnittet giver et godt overblik over bevægelsen 1 i det beskrevne system. beskrivelses diagrammerne er gode og støtter teksten godt. 2.8 OCL Forfatterne benytter Object Constraint Language (OCL) uden at have defineret begrebet, dette havde været okay, hvis man i introduktionen havde beskrevet hvilke forudsætninger læseren af rapporten antages at have og hvis disse havde indeholdt kendskab til OCL. Herudover savner jeg en begrundelse for at bruge OCL, denne kommer tildels tilsidst i afsnittet. 2.9 Afrunding Forfatterne skriver kort at de mener at de har fået beskrevet det ønskede system, det vil jeg give dem ret i. De har fået beskrevet det ønskede system, identificeret de forskellige krav, drivere og udfra disse valgt en lav delt arkitektur, der beskrives fint. Udfra de opstillede krav og den valgte arkitektur opdeles systemet i forskellige komponenter og flere af disse beskrives fint. 1 Fra engelsk flow. 4
3 Overordnet Der bliver i rapporten benyttet engelske ord der nemt kunne have været oversat fx. constrains. Herudover bliver forskellige begreber bliver brugt uden definition. Ellers har rapporten fået de relevante dele med, indledning incl. problemstillig, analyse af problemet, og konklusion. Der bliver i rapporten klart redegjort for formålet med rapporten, nemlig at opnå erfaring med komponent baseret design. Problemet som rapporten ønsker at løse beskrives også. Men det fremstå ikke klart på hvilken måde forfatterne ønsker at løse resurseproblemet, ønskes implementation, beskrivelse af system eller noget helt andet. Rapporten har de fleste referencer med fx. klasse diagrammet i figur 11 og bevægelses beskrivelsen i afsnit 11, men mangler af angive hvilket system der er de lægger sig op ad. Havde dette været med ville rapporten have haft referencerne i orden. Da formålet med rapporten var at opnå erfaring med design komponent baseret systemer er det svært at sige om forfatterne har opnået dette ellers en god rapport hvor forfatterne for beskrevet et komponent baseret design af en implementering af en løsning af resurseproblemet. 5