UvA-DARE (Digital Academic Repository) Software architecture reconstruction Krikhaar, R. Link to publication

Vergelijkbare documenten
Biodiversity responses to climate and land-use change: A historical perspective Aguirre Gutierrez, J.

Bedrijfsovername en milieurecht : een onderzoek naar juridische aspecten van bedrijfsovername en milieu Mellenbergh, R.

"Our subcultural shit-music": Dutch jazz, representation, and cultural politics Rusch, L.

Rondon de mondingen van Rijn & Maas: landschap en bewoning tussen de 3e en 9e eeuw in Zuid-Holland, in het bijzonder de Oude Rijnstreek

Citation for published version (APA): Oderkerk, A. E. (1999). De preliminaire fase van het rechtsvergelijkend onderzoek Nijmegen: Ars Aequi Libri

Citation for published version (APA): Oderkerk, A. E. (1999). De preliminaire fase van het rechtsvergelijkend onderzoek Nijmegen: Ars Aequi Libri

Symptom monitoring and quality of life of patients with cancer in the palliative phase Hoekstra, J.

Published in: Aansluitmonitor wiskunde VO-HO: Zicht op de cursusjaren en

Trouwen over de grens. Achtergronden van partnerkeuze van Turken en Marokkanen in Nederland Hooghiemstra, B.T.J.

Gezinskenmerken: De constructie van de Vragenlijst Gezinskenmerken (VGK)

UvA-DARE (Digital Academic Repository)

Op en in het web: Hoe de toegankelijkheid van rechterlijke uitspraken kan worden verbeterd van Opijnen, M.

Schaal in het primair onderwijs : een studie naar de relatie tussen schaal en organisatie-effectiviteit van de Venne, L.H.J.

Eerste hulp bij tweede taal: experimentele studies naar woordenschatdidactiek voor jonge tweede-taalverwervers Bacchini, S.

UvA-DARE (Digital Academic Repository)

Gezinskenmerken: De constructie van de Vragenlijst Gezinskenmerken (VGK) Klijn, W.J.L.

UvA-DARE (Digital Academic Repository) Coparenting and child anxiety Metz, M. Link to publication

Citation for published version (APA): Oderkerk, A. E. (1999). De preliminaire fase van het rechtsvergelijkend onderzoek Nijmegen: Ars Aequi Libri

Trouwen over de grens. Achtergronden van partnerkeuze van Turken en Marokkanen in Nederland Hooghiemstra, B.T.J.

UvA-DARE (Digital Academic Repository)

UvA-DARE (Digital Academic Repository)

Bezwaar en beroep in de praktijk van NWO : een empirische verkenning naar de oordeelsprocessen binnen NWO van der Valk, L.J.M.

Consequences of success in pediatrics: young adults with disability benefits as a result of chronic conditions since childhood Verhoof, Eefje

Behouden beleid: Naar decentrale arbeidsvoorwaarden in het voortgezet onderws van Schoonhoven, R.

Melatonin treatment and light therapy for chronic sleep onset insomnia in children van Maanen, A.

UvA-DARE (Digital Academic Repository) Controlled light exposure microscopy Hoebe, R.A. Link to publication

Onder moeders paraplu? Determinanten en effecten van merkportfoliostrategieën Cramer, K.V.B.

The diagnosis and prognosis of venous thromboembolism : variations on a theme Gibson, N.S.

Citation for published version (APA): Oderkerk, A. E. (1999). De preliminaire fase van het rechtsvergelijkend onderzoek Nijmegen: Ars Aequi Libri

UvA-DARE (Digital Academic Repository) Vascular factors in dementia: prevention and pathology Richard, E. Link to publication

UvA-DARE (Digital Academic Repository) Het sociaal plan van der Hulst, J. Link to publication

UvA-DARE (Digital Academic Repository) Improving the preoperative assessment clinic Edward, G.M. Link to publication

Professionalisering van de personeelsfunctie: Een empirisch onderzoek b twintig organisaties Biemans, P.J.

Werelden van verschil : hoe actoren in organisaties vraagstukken in veranderprocessen hanteren en creëren Werkman, R.

De belofte van vitamines: voedingsonderzoek tussen universiteit, industrie en overheid Huijnen, P.

Network of networks: Uncovering the secrets of entrepreneurs' networks

UvA-DARE (Digital Academic Repository)

Gevaarlijke kinderen - kinderen in gevaar: De justitiële kinderbescherming en de veranderende sociale positie van jongeren, Komen, M.M.

Ficino en het voorstellingsvermogen : phantasia en imaginatio in kunst en theorie van de Renaissance van den Doel, M.J.E.

Gevaarlke kinderen - kinderen in gevaar: De justitiële kinderbescherming en de veranderende sociale positie van jongeren, Komen, M.M.

UvA-DARE (Digital Academic Repository)

Citation for published version (APA): Bullens, L. (2013). Having second thoughts: Consequences of decision reversibility

UvA-DARE (Digital Academic Repository) Inquiry-based leading and learning Uiterwijk-Luijk, E. Link to publication

UvA-DARE (Digital Academic Repository) Constitutionele rechtspraak vanuit rechtsfilosofisch perspectief van Dommelen, S.T. Link to publication

Piratenbibliotheken en hun rol in de kenniseconomie: 'ignoti et quasi occulti' Bodó, B.

UvA-DARE (Digital Academic Repository) Meer voorzorg bij DNA-onderzoek M'charek, A.A.; Toom, V.H. Published in: Het Tijdschrift voor de Politie

Operational research on implementation of tuberculosis guidelines in Mozambique

Some issues in applied statistics in clinical restorative dental research Tobi, H.

UvA-DARE (Digital Academic Repository)

Worshipping the great moderniser : the cult of king Chulalongkorn, patron saint of the Thai middle class Stengs, I.L.

Aspects of protein metabolism in children in acute and chronic illness Geukers, Vincent

Anxiety, fainting and gagging in dentistry: Separate or overlapping constructs? van Houtem, C.M.H.H.

UvA-DARE (Digital Academic Repository)

UvA-DARE (Digital Academic Repository) Nederland en het verhaal van Oranje Huijsen, J. Link to publication

Planhiërarchische oplossingen : een bron voor maatschappelijk verzet

Amsterdam University of Applied Sciences. Leren redeneren en experimenteren met concept cartoons Kruit, P.M. Link to publication

Herdenken in Duitsland. De centrale monumenten van de Bondsrepubliek

Citation for published version (APA): Boot, A. W. A. (2004). Management en Organisatie: wat nu? Tijdschrift voor het Economisch Onderwijs, 2,

The effects of meniscal allograft transplantation on articular cartilage Rijk, P.C.

"In dienste vant suyckerenbacken." De Amsterdamse suikernijverheid en haar ondernemers, Poelwijk, A.H.

Bedrijfsovername en milieurecht : een onderzoek naar juridische aspecten van bedrijfsovername en milieu Mellenbergh, R.

Liefde, solidariteit en recht. Een interdisciplinair onderzoek naar het wederkerigheidsbeginsel. Pessers, D.W.J.M.

UvA-DARE (Digital Academic Repository) The potency of human testicular stem cells Chikhovskaya, J.V. Link to publication

Een dynamische driehoek. Gezinsvoogd, ouder en kind een jaar lang gevolgd Schuytvlot, A.H.

UvA-DARE (Digital Academic Repository)

UvA-DARE (Digital Academic Repository)

Eerste hulp bij tweede taal: experimentele studies naar woordenschatdidactiek voor jonge tweede-taalverwervers Bacchini, S.

UvA-DARE (Digital Academic Repository)

The impact of paediatric inflammatory bowel disease. Epidemiology, disease activity and quality of life Loonen, H.J.

UvA-DARE (Digital Academic Repository) VR as innovation in dental education de Boer, I.R. Link to publication

UvA-DARE (Digital Academic Repository) : Peeters-Podgaevskaja, A.V. Link to publication

Constitutionele rechtspraak in Spanje : het Tribunal Constitucional en zijn jurisprudentie in hun historische context

Citation for published version (APA): van Zanten, J. H. (2001). Martingales and diffusions, limit theory and statistical inference

Een koopwoning nabij: onderzoek naar de verkoop van huurwoningen in Nederland in Bonnerman, F.; Hoppesteyn, M.; de Klerk, A.

Professionalisering van de personeelsfunctie: Een empirisch onderzoek b twintig organisaties Biemans, P.J.

UvA-DARE (Digital Academic Repository)

Dr. Tobie Goedewaagen ( ): een leven lang nationaal-socialist van Berkel, A.B.

Invloeden op de onderwijspositie van leerlingen bij de overgang van het basisonderwijs naar het voortgezet onderwijs Fossen, M.W.E.B.

UvA-DARE (Digital Academic Repository) Structure and fluorescence of photonic colloidal crystals Megens, M. Link to publication

Mr. C. Asser's handleiding tot de beoefening van het Nederlandsch Burgerlijk Recht: Algemeen deel Scholten, Paul

Citation for published version (APA): Stam, R., & Piersma, N. (2017). Kencijfers laadinfrastructuur Gelderland. Amsterdam: HVA Publicaties.

Dienaren van het gezag. De Amsterdamse politie tijdens de bezetting Meershoek, A.J.J.

The human figure as method : study, sculpture and sculptors in the Academie Royale de Peinture et de Sculpture ( )

UvA-DARE (Digital Academic Repository) Use and Appreciation of Mycenaean Pottery outside Greece van Wijngaarden, G.J.M. Link to publication

De jonge jaren van de luchtmacht: Het luchtwapen in het Nederlandse leger

Citation for published version (APA): Schijf, G. M. (2009). Lees- en spellingvaardigheden van brugklassers Amsterdam: SCO-Kohnstamm Instituut

Stratifications on moduli spaces of abelian varieties and Deligne-Lusztig varieties

Factsheets Dam tot Dam FietsClassic Voor iedereen een app van der Werf, J.E.; Dallinga, J.M.; Deutekom, M.

Gemengde huwelijken, gemengde gevoelens: Aanvaarding en ontwijking van etnisch en religieus verschil sinds 1945 Hondius, D.G.

Observations and analysis of early-type stars at infrared wavelengths Zaal, P.A.

Citation for published version (APA): van Buuren, O. P. M. (2014). Development of a modelling learning path. Amsterdam: CMA.

UvA-DARE (Digital Academic Repository) Genetic variation in Helicobacter pylori Pan, Z. Link to publication

Factsheets Dam tot Damloop / Damloop by Night - Voor iedereen een app Goudsmit, Aimée; van der Werf, J.E.; Dallinga, J.M.; Deutekom, M.

UvA-DARE (Digital Academic Repository)

De slimme gemeente nader beschouwd: Hoe de lokale overheid kan bijdragen aan het oplossen van ongetemde problemen Gerritsen, E.

UvA-DARE (Digital Academic Repository)

Effluent biomarkers in peritoneal dialysis: A captivating symphony from the peritoneal membrane Lopes Barreto, Deirisa

UvA-DARE (Digital Academic Repository) Fertility treatment in obese women Koning, A.M.H. Link to publication

UvA-DARE (Digital Academic Repository) Tuberculosis case finding in South Africa Claassens, M.M. Link to publication

Transcriptie:

UvA-DARE (Digital Academic Repository) Software architecture reconstruction Krikhaar, R. Link to publication Citation for published version (APA): Krikhaar, R. (1999). Software architecture reconstruction General rights It is not permitted to download or to forward/distribute the text or part of it without the consent of the author(s) and/or copyright holder(s), other than for strictly personal, individual use, unless the work is under an open content license (like Creative Commons). Disclaimer/Complaints regulations If you believe that digital publication of certain material infringes any of your rights or (privacy) interests, please let the Library know, stating your reasons. In case of a legitimate complaint, the Library will make the material inaccessible and/or remove it from the website. Please Ask the Library: http://uba.uva.nl/en/contact, or a letter to: Library of the University of Amsterdam, Secretariat, Singel 425, 1012 WP Amsterdam, The Netherlands. You will be contacted as soon as possible. UvA-DARE is a service provided by the library of the University of Amsterdam (http://dare.uva.nl) Download date: 17 jan. 2017

Samenvatting Niet alle lezers van dit proefschrift zullen weten wat software-architecturen zijn. We zullen dit begrip proberen uit te leggen door een vergelijking te maken met de architectuur van huizen. Het zal duidelijk zijn dat de architectuur van een wolkenkrabber (letterlijk) hemelhoog verschilt van die van een zomerhuisje. Een wolkenkrabber heeft natuurlijk een heel ander soort fundering nodig, maar ook grotere aan- en afvoerpijpen voor het water, er zal met andere bezoekersaantallen rekening moeten worden gehouden, enzovoorts. Toch wordt van softwaresystemen soms wel verwacht dat ze in toepassingen worden gebruikt van een geheel andere schaalgrootte. Dergelijke verwachtingen kunnen niet altijd worden waargemaakt. Een televisietoestel bijvoorbeeld heeft een gesloten architectuur, wat betekent dat nieuwe functionaliteiten, geschreven in software, via de kabel kunnen worden binnengehaald en als die met elkaar zijn verbonden kunnen gebruikers met elkaar communiceren. Als dergelijke productveranderingen niet zijn voorzien en de software-architect daarmee met zijn ontwerp geen rekening heeft gehouden, zal het systeem niet zijn voorbereid op toekomstige uitbreidingen. Een software-architect heeft dus ook tot taak om zoveel mogelijk rekening te houden met toekomstige uitbreidingen. Het is natuurlijk onpraktisch om de ontwerper van een zomerhuisje te laten werken met allerlei specicaties die gelden voor veel grotere gebouwen, en voor wolkenkrabber en zomerhuisje zal niet snel een gezamenlijke architectuur te ontwerpen zijn. Maar het zou al een hele verbetering zijn als de architectuur

198 Samenvatting van de wolkenkrabber ook toepasbaar zou zijn voor een te ontwerpen atgebouw, en andersom. Ook voor software geldt dat het om allerlei redenen, waarover hieronder meer, van belang is om bij de onderliggende architectuur rekening te houden met toekomstige uitbreidingen en andere toepassingen. Dit proefschrift gaat over de reconstructie van software-architecturen van grote systemen zoals die door Philips worden ontwikkeld zoals MRI-scanners en telefooncentrales. De software van dit soort systemen bevat miljoenen regels code 1 waarvan de eerste code vaak al vijftien jaar oud is. Er is een groep van zo'n zestig software-ontwikkelaars nodig om het systeem te onderhouden en uit te breiden met nieuwe functies. Die inspanning kan aanzienlijk worden gereduceerd als software-architecturen zodanig worden ontworpen dat ze toepassing in vele systemen mogelijk maken. Hoofdstuk 1 gaat over het begrip software-architectuur. Daarbij gaat het om het ontwerpen van duidelijke en eenvoudige algemene structuren die het mogelijk maken om softwarecode te delen met andere producten. Op die manier kan een productfamilie ontstaan. Een goed ontworpen architectuur kan voor vele producten worden gebruikt. Het begrip software-architectuur is overigens niet eenduidig. Er worden verschillende denities gehanteerd. Een aantal denities worden besproken, samen met een aantal gezichtspunten op software-architecture. Tenslotte worden een aantal doelen voor producten besproken vanuit bedrijfsperspectief. Zo'n doel is bijvoorbeeld dat het product snel voor de markt beschikbaar moet zijn. De bedrijfsdoelen bepalen uiteindelijk de eisen die aan de architectuur worden gesteld, zoals de mogelijkheid van hergebruik. Deze eisen zijn op hun beurt weer richtlijnen voor de architectuurpatronen. In hoofdstuk 2 wordt een overzicht gegeven van de Software Architectuur Reconstructie (SAR) methode. Nadat termen worden uitgelegd zoals software architecting (de constructie van een nieuwe software-architectuur), reverse architecting (het proces van het expliciet maken van de softwarearchitectuur van een bestaand systeem), en architectuurverbetering, worden de basisonderdelen van de SAR-methode besproken: InfoPacks, Archi- Spects en niveaus van software-architectuur reconstructie (SAR levels). InfoPacks beschrijven extractie van informatie uit software. ArchiSpects beschrijven aspecten van software-architectuur. Voor elk architectuurgezichtspunt kunnen andere InfoPacks en ArchiSpects worden gedenieerd. De 1 Het afdrukken van twee miljoen regels code levert een stapel op van 300 boeken met de omvang van van dit proefschrift.

Samenvatting 199 Architectural Views Logical Module Code Execution Hardware SAR levels View View View View View Optimized IGenerics and Specics Conformance IAspect Conformancment IAspect Assign- Managed IUsage Conformance IPart-Of ILayering Conformance IDepend IAspect Couplinment IAspect Assign- Redened ICohesion and IPart-Of Coupling IComponent IDepend Coupling ISource Code Organisation IBuild Process Described IUsing and Used IPart-Of Interfaces IComponent Dependency IDepend ISoftware Concepts IFiles Model Initial Table T.1: Software-Architectuur Reconstructie software-architectuur reconstruction levels die zijn gedenieerd, zijn : initieel (initial), beschreven (described), opnieuw gedenieerd (redened), gecontroleerd (managed) en geoptimaliseerd (optimized). In tabel T.1 wordt het raamwerk van de SAR-methode (met een nadruk op de module view en de code view) getoond. De cellen in de tabel bevatten de InfoPacks en ArchiSpects zoals verwoord in dit proefschrift. In hoofdstuk 3 wordt Relatie Partitie Algebra (RPA) behandeld. RPA is een algebra, gebaseerd op verzamelingen, binaire relaties en operaties die hierop plaats vinden. Partities, die een aparte rol spelen in deze algebra, kunnen worden uitgedrukt in \delen-van" relaties (partof -relations). Het

200 Samenvatting zijn vooral de speciale operaties op relaties en de partof-relaties die deze algebra geschikt maken voor software-architectuur. Multi-relaties zijn een uitbreiding op binaire relaties die uitstekend geschikt bleken voor architectuur analyse. In de SAR-methode wordt RPA systematisch toegepast om InfoPacks en ArchiSpects te beschrijven. In hoofdstuk 4 wordt uitgelegd hoe een software-architectuur van een bestaand systeem kan worden beschreven door een aantal InfoPacks en Archi- Spects te denieren. De ArchiSpects Source Code Organisation en Build Process behoren tot de code view en de ArchiSpects Software Concepts Model, Component Dependency en Using and Used Interfaces behoren tot de module view van software-architectuur. De InfoPacks die noodzakelijk zijn om ArchiSpects te reconstrueren worden ook besproken. In hoofdstuk 5 worden een aantal ArchiSpects beschreven die het verbeteren (of opnieuw denieren) van een bestaande software-architectuur ondersteunen. De ArchiSpects Component Coupling, Cohesion and Coupling and Aspect Coupling worden besproken. Deze ArchiSpects kunnen door een architect worden gebruikt om het eect van een bepaalde verandering in de architectuur te analyseren. Hoofdstuk 6 gaat over architectuurvericatie, het proces om de implementatie te verieren met de gedenieerde software-architectuur. Er worden enkele ArchiSpects (Layering Conformance, Usage Control, Aspect Conformance, en Generics and Specics Conformance) besproken die bijdragen aan het beheersen van de software-architectuur. De dissertatie wordt afgesloten met enkele concluderende opmerkingen en aanbevelingen voor gebruik. De appendices bevatten extractie-, abstractie- en presentatie- programma's die zijn gebruikt om ArchiSpects van een aantal Philips-systemen te reconstrueren en presenteren. De laatste appendix laat een overzicht van alle RPA-operatoren zien.