Home
to the PDF file. - Publikationsserver UB Marburg
Contents
1. E in Conscript Datei speichern Default Namen A nicht reduzierte Version in Conscript Datei speichern A reduzierte Version E Standard Namen A in Conscript Datei speichern E reduzierte Version E Standard Diagramm zeichnen A Standard Diagramm zeichnen E Default Diagramm zeichnen Formaler Kontext Gegenstand Abstrakte Skala Merkmal E automatisch erzeugen Default Diagramm zeichnen E Bibliothek Liniendiagramm Standardskala Standard Diagramm zeichnen E nicht reduzierte Version Standard Namen E Dateinamen Dateinamen Abb 6 10 Liniendiagramm zur Projektverfolgung Der Projektfortschritt ist in diesem Liniendiagramm dokumentiert Die Beschrif 240 6 Verwandte Anwendungen von FBA tung des Supremums zeigt etwa da f r alle betrachteten Strukturen standardisier te Namen eingef hrt werden sollen dies ist aber im bisherigen Entwurf nur f r for male Kontexte abstrakte Skalen und Liniendiagramme ber cksichtigt linker unte rer Nachbar des Supremums und noch f r keine Struktur implementiert Infi mum Dagegen ist die Speicherung in ConScript Dateien nur f r alle Strukturen au er Standardskalen vorgesehen schon entworfen und schon implementiert mitt lerer unterer Nachbar des Supremums Im Laufe des Projekts werden die zugrundeliegenden Kontexte modifiziert und die s
2. Lagerbestand ermitteln Lagerbestand Produkt Bestellposten Abb 5 5 Detaildiagramm zu einer Komponentenzerlegung Uber Kontextmen s kann der Benutzer weitere Funktionen aufrufen die ihm bei der Orientierung helfen sollen In der Darstellung einer Komponentenzerlegung kann er die Darstellungsfarbe von farblich hervorgehobenen Komponenten bestim men um sie besser voneinander anzuheben Ausgehend von einem Knoten oder ei nem Ding eines beliebigen Diagramms au er Detaildiagrammen zu Modulari sierungsvorschl gen kann er die Darstellung auf die dar berliegenden Knoten re duzieren Dinge die keinem dieser Knoten zukommen werden dann wie in 4 7 grau zus tzlich eingezeichnet siehe Abbildung 5 6 Genauso ist es m glich von einem Knoten oder einem Anwendungsfall aus alle nicht darunter liegenden Kno ten auszublenden In diesem Fall werden Anwendungsf lle die keinem dieser 196 5 Ein Analyse Werkzeug f r BASE Knoten zukommen zus tzlich grau angezeigt RS JWI csc BASE olx Datei Bearbeiten Ansicht 2 oleja S 2 Lieferscheine erstellen Abb 5 6 Ausgehend von Lieferkartei alle h heren Knoten yu Wi csc BASE BEES Datei Bearbeiten Ansicht 2 Dale S Wareneingang bearbeiten Bestellung annehmen Abb 5 7 Die obere Komponente aus Abbildung 5 5 197 5 1 Benutzeroberfl che Im Fall einer bersichtsdarstellung zu einer Komponentenzerlegung kann auc
3. Der formale E Grammati A Wen Kontext aus Check kalische Bereichs dungsfall Listen analyse getriebene Anal Abbildung 3 10 nalyse Analyse besitzt genau Booch x x x eine interessan Coad Yourdon y x te Blockrelati Jacobson x on au er den Martin Odell x beiden trivia Rumbaugh x len Shlaer Mellor x Diese ist in ne Wirfs Brock x x benstehender z Abb 3 12 Eine Blockrelation Abbildung an gegeben Originale Eintrage der Inzi zer denzrelation sind als einfache Kreuze Anwendungsfall getriebene Analyse durch die Blockrelation erg nzte zus tz Bereichsanalyse lich mit einem Kreis eingetragen O Begriffsumf nge des neuen Kontexts namen y Coad Yourdon sind Booch e Jacobson Martin Odell Rumbaugh Wirfs Brock schon vorher Merkmalsumfang von Grammatikalische Analyse Grammatikalische Analyse e die Menge aller Autoren Wirfs Brock immer Begriffsumfang Tacubaep Begriffsinhalte entsprechend der Block Rumbaugh relation sind Martin Odell e Check Listen Bereichsanalyse Abb 3 13 Begriffsverband der Anwendungsfall getriebene Analyse Blockrelation 113 3 5 Blockrelationen im Original Gegenstandsinhalt von Booch e die Menge aller betrachteten Techniken immer ein Begriffsinhalt Die entstandenen formalen Begriffe sind in nebenstehendem Liniendia gramm wiedergegeben Wie oben gesehen sind die Begriff
4. Fahriziel Lieferwagen Nachbestellung Lieferscheinvermerk jaximalen und minimalen Lagerbestand definieren Minimalbestand Maximalbestand Lieferschein Kundenbestellung Lieferkartei X posten Abb 4 22 Bl cke zur ersten Blockrelation aus Abbildung 4 20 Wie in 4 5 2 in bezug auf die Identifikation von Klassenkandidaten diskutiert kann man sich auch im Liniendiagramm zu einer Blockrelation auf die Betrachtung der reduzierten Beschriftung konzentrieren statt die kompletten Umf nge und Inhalte der formalen Begriffe zu untersuchen In Abbildung 4 21 bzw Abbildung 4 22 er kennt man dann die drei Einheiten e Kundenbestellung Kunde Lieferscheinvermerk Wartekartei Bestellung annehmen Bestellung bearbeiten R cklauf bearbeiten Wareneingang bearbeiten e Lieferant Minimalbestand Maximalbestand Nachbestellung Vorgemerkte Menge Lagerbestand Produkt Maximalen und minimalen Lagerbestand definieren Lagerbestand ermitteln Fehlbest nde nachbestellen e Bestellposten Lieferkartei Fahrtziel Lieferwagen Lieferschein Lieferscheine erstellen Ihnen ist eine m gliche Komponentenzerlegung des Systems zu entnehmen Der oberste Block beschreibt eine Komponente zur Koordinierung der Gesch ftsaktivi t ten von JWI an den Schnittstellen zu den Gesch ftspartnern Diese benutzt zwei andere Komponen
5. Abb 6 8 Liniendiagramm zu einer Konfigurationstabelle Um Interferenzen zu bestimmen und die Kopplung verschiedener Konfigurationen zu bewerten sieht Snelting die in 6 3 schon vorgestellten horizontalen Verbands zerlegungen vor Dabei erweitert er die Betrachtung auf Interferenzen k fachen Zu sammenhangs Eine solche liegt vor wenn das Liniendiagramm des Begriffsver bands ohne Supremum und Infimum k fach schwach zusammenh ngend ist aber durch das Entfernen von k einfachen Interferenzen in zwei schwache Zusam menhangskomponenten zerf llt Weiter sieht Snelting vor die Konfigurationstabelle auf solche Ausdr cke einzu schr nken die infimum irreduzible Merkmalsbegriffe besitzen Als Konsequenz aus Folgerung 5 Seite 88 ergibt sich aus dem so verkleinerten formalen Kontext ein isomorpher Begriffsverband Der untersuchte Quellcode kann in der gleichen Weise vereinfacht werden Als Resultat ben tigt man weniger Ausdr cke um die gew nschten Konfigurationen zu erstellen In dem von Snelting betrachteten Begriffsverband sind in den Begriffsumf ngen solche Code St cke zusammengefa t die von den gleichen Ausdr cken abh ngen Um die wirklich im Code enthaltenen durch Kombinationen von Ausdr cken ge gebenen Varianten und zu ihnen alle Code Teile zu bestimmen die in ihnen aktiv sind geht Lindig in Lin 98 zum invertierten Kontext der Konfigurationstabelle ber So erh lt er die vorkommenden Varianten als formale
6. Lagerbestand Bestellposten Abb 4 25 Bl cke zur dritten Blockrelation aus Abbildung 4 20 4 6 3 Erzwungene Komponenten Die Zerlegung in Bl cke ist gegen ber der in BASE vorgenommenen Schritten der Modellverfeinerung leider nicht stabil Nicht in allen Verfeinerungsschritten bleibt eine einmal festgestellte Zerlegung in Bl cke erhalten Im Beispiel sind auch nach der in 4 3 1 vorgenommenen Zerlegung des Anwendungsfalls Bestellung anneh men alle oben dargestellten Blockrelationen mit Erweiterung um die neuen Funk tionen und Dinge erhalten geblieben und keine neuen entstanden weil die Be griffsverb nde des verfeinerten und des unverfeinerten Anwendungsfallmodells isomorph sind siehe Abbildung 4 9 auf Seite 145 und Satz 19 auf Seite 121 Da gegen hat der in Abbildung 4 13 auf Seite 149 dargestellte Begriffsverband der durch die zus tzliche funktionale Zerlegung des Anwendungsfalls Bestellung be arbeiten entstanden ist keine nicht trivialen Blockrelationen mehr Die vorher schon im unverfeinerten Diagramm gefundenen Bl cke findet man aber dennoch von Hand im verfeinerten Liniendiagramm Abbildung 4 26 leicht wieder Die oberen Intervallgrenzen lassen sich n mlich ber ihren Begriffsumfang und die unteren ber ihren Begriffsinhalt wiederfinden Diese sind zwar im verfei 169 4 6 Blockrelationen in BASE nerten Begriffsverband erweitert worden doch man findet sie eindeutig wieder in dem man jeweils de
7. Booch Martin Odell Wirfs Brock Rumbaugh Jacobson Abb 3 15 Liniendiagramm mit Bl cken der Toleranzrelation 3 Formale Begriffsanalyse Dem Supremum aus Abbildung 3 14 entspricht das Intervall der formalen Begriffe mit schwarz ausgef llt gezeichneten Knoten in dem Infimum das der nicht ausgef llt gezeichneten Knoten Wie schon in Beispiel 16 auf Seite 113 erl utert sind durch den bergang zur Blockrelation keine neuen Begriffsinhalte oder umf nge entstanden aber zwei neue Begriffe Sie tragen jeweils den Umfang des gr ten forma len Begriffs des zugeh rigen Blocks und den Inhalt des kleinsten Diese Um fang Inhalt Paare kommen im originalen Begriffsverband nicht vor 123 3 5 Blockrelationen 124 BASE ein begriffsbasiertes Analyseverfahren fur die Software Entwicklung Dieses Kapitel stellt BASE als Analyseverfahren vor Um das Vorgehen zu veran schaulichen wird ein durchgehendes Beispiel verwendet Dieses wird zun chst in 4 1 erl utert Der folgende Abschnitt 4 2 erkl rt den grunds tzlichen Ansatz von BASE Im wesentlichen wird dort beschrieben wie ein formaler Kontext innerhalb von BASE zusammengestellt wird und welche ersten Schl sse man aus dem ent stehenden Begriffsverband bzw Liniendiagramm ableiten kann Nach dem ersten Ansatz wird das erstellte Modell durch funktionale Zerlegung der betrachteten An wendungsf lle verfeinert Dies beschreibt der Abschnitt 4
8. Die Struktur eines formalen Kontexts ist sehr einfach Die Tabellendarstellung tritt bei vielen Problemen insbesondere Klassifikationsaufgaben in nat rlicher Weise auf 80 3 Formale Begriffsanalyse 3 3 2 Formale Begriffe Um jetzt zu den formalen Begriffen des Kontext zu kommen betrachtet man f r jeden formalen Gegenstand die auf ihn zutreffenden formalen Merkmale und zu je dem formalen Merkmal alle formalen Gegenst nde die es tragen Definition 19 Gemeinsame Merkmale Gegenst nde Ist G M I ein formaler Kontext und A c G eine Menge von Gegenst n den so ist A meM gIm Vge A die Menge der gemeinsamen formalen Merkmale der formalen Gegenstande in A und dual f r BC M B ge G gIm Vme B die Menge der formalen Gegenst nde die alle formalen Merkmale aus B tra gen F r den Fall da mehrere formale Kontexte gleichzeitig betrachtet werden wird auch A bzw B statt A und B mit der jeweiligen Inzidenzrelation geschrieben In dem Sonderfall da G und M die gleiche Menge oder die Elemente von G und M nur schwer zu unterscheiden sind schreibt man auch AT und BY statt A und B Bir 67 V 7 S 122 G W 96 1 1 Definition 18 S 17 Die Eigenschaften der Abbildungen die sich durch den bergang zu gemeinsamen formalen Merkmalen bzw Gegenst nden ergeben lassen sich im wesentlichen da durch charakterisieren da diese beiden Abbildungen eine Galois Verbindung zwischen den Potenzmeng
9. 136 4 BASE ein begriffsbasiertes Analyseverfahren f r die Software Entwicklung 4 2 4 Liniendiagramm des Begriffsverbands Aus dem formalen Kontext mit Anwendungsf llen und in ihnen beteiligten Din gen kann ein Liniendiagramm des zugeh rigen Begriffsverbands berechnet wer den Begriffsverband Definition 22 auf Seite 84 Liniendiagramm Definition 10 auf Seite 71 und Beispiel 7 auf Seite 89 inklusive nachfolgender Erl uterung Folgendes Diagramm ist aus dem Kontext in Abbildung 4 4 entstanden Bestellung annehmen Bestellung bearbeiten Lieferscheine erstellen Fehlbest nde nachbestellen Wareneingang bearbeiten R cklauf bearbeiten Nachbestellung Kunde Lieferscheinvermerk Fahrtziel Vorgemerkte Menge Lieferwagen Lieferant Kundenbestellung Wartekartei Lieferschein Maximalen und minimalen Lagerbestand definieren gt Minimalbestand Maximalbestand Lagerbestand ermitteln Lagerbestand Lieferkartei Produkt Bestellposten Abb 4 5 Liniendiagramm zum JWI Beispiel Die formalen Begriffe entstehen durch die gegenseitigen Abh ngigkeiten von An wendungsf llen und Dingen Zu Begriffsinhalten werden solche Anwendungs f lle gruppiert die gemeinsam gewisse Dinge ber hren Dual ergeben sich die Begriffsumf nge als Mengen von Dingen die zusammen in einige Anwendungs f lle involviert sind Formaler Begrif
10. Abb 4 29 Zweite erzwungene Blockzerlegung Indem man etwa der Funktion Wartekarteieintrag anlegen zus tzlich das in einem 172 4 BASE ein begriffsbasiertes Analyseverfahren f r die Software Entwicklung Eintrag referenzierte Produkt zuordnet erh lt man das Diagramm in Abbildung 4 29 mit den wohlbekannten Bl cken Die gegen ber Abbildung 4 28 ver nderte Kante ist schwarz auf grau hervorgehoben Schon festgestellte Zerlegungen k nnen durch solch einfache Ma nahmen auch in verfeinerten Diagrammen erzwungen werden Dabei trifft jedoch der Entwickler die Entscheidung ber die Komponentenzerlegung und diese wird nicht mehr voll st ndig automatisch vorgeschlagen Auf der anderen Seite fu en die automatisch generierten Modularisierungsvorschl ge auch auf der Entwurfsentscheidung des Entwicklers die er mit der Festlegung der Indizierung getroffen hat Die Auftei lung in Komponenten ist einfach eine weitere Entwurfsentscheidung seinerseits Durch die Festlegung von Komponenten wird das Modell einfacher Diese Betrachtung liefert jedoch noch kein oder h chstens ein sehr ineffizientes Mittel zur Hand die formalen Begriffe bzw Ober Unterbegriffsbeziehungen auf zuzeigen die in einem Begriffsverband eine Zerlegung in Bl cke einer Toleranzre lation verhindern Oben war dies nur dadurch einfach m glich da die Zielzerle gung durch die vorherige Analyse vorgegeben war Alle m glichen Zerlegungen zu testen ist praktisch nicht
11. Definition Bl Lektische Ordnung Seien X Xo X _ eine endliche Menge und U Vc X Dann definiere f r ie 0 n 1 U lt V lt gt xe V U und UA xp X1 VA Xp Xi 1 Weiter setze USV gt U V oder die 0 n 1l U lt V lt hei t lektische Ordnung auf P X 276 B Algorithmen zur FBA Noch nachzuweisen ist da in Definition B1 wirklich eine Ordnung Definition 2 auf Seite 64 definiert wurde Hilfssatz B1 Lektische Ordnung F r eine endliche Menge X Xo x _ ist lt aus Definition B1 eine lineare Ordnung auf P X G W 96 2 1 S 67 Beweis Nach der Definition ist lt reflexiv Seien U V Wc xX mit U lt V und V lt W Gilt U V oder V W so nat rlich auch U lt W Seien also i je 0 n 1 mit U lt V und V lt W Setze k min i j Dannist UA xp ote UA xp 3X 1H O Xo X1 VA xp ania ke O Xp Xg 1k VA xp gt Xe VA Xo 3 TREE WA a O IK WA Xp Xp 1 F r i j w re xe V U N W V Dieser Fall ist also unm glich Ist i lt j so ist x x U und XE VA Xo gt WO Xo EM Im anderen Fall ist x W V und x x IX X _1 Mit xE U ware xpe UA xp 3X1 VN xq eX FV Also ist in jedem Fall x e W U und insgesamt U lt W Somit ist lt transitiv Seien U Ve X mit U lt V und V lt U W re U V sog beesi je 0 n 1 mit U lt V und VS U Mit k minfi j folgt daraus wie obenx e U U
12. Satz Al Duquenne Guigues Basis Sei X eine endliche Menge und X c P X ein System von Teilmengen Dann ist DQOAX Pa gt ka V CX PN kV U S Pal V kal U kal V Pal U Pa V eine Basis der in X g ltigen Implikationen Beweis Vergl Duq 87 Theorem 1 S 223 F r alle V c X ist nach Hilfssatz A2 ky V kylpy V also gilt nach Hilfssatz 10 auf Seite 95 die Implikation py V gt ko V in R D h DQO4 X gilt in X Zeige da jede informative Implikation mit in X maximaler Konklusion aus Sei also W c X mit W k W und betrachte W gt ky W Nach Hilfssatz 8 auf Seite 95 folgt W gt ky W aus W gt py W und PaA W gt ky W Die zweite Implikation p5 W gt ky W ist von der in DONDO X beschriebenen Form nur eventuell nicht informativ oder nicht minimal Ist px W gt ky W nicht informativ folgt sie nach Hilfssatz 6 auf Seite 93 aus jeder Implikationenfamilie F r den Fall da p5 W gt ky W informativ ist Ppa W ky W wird ein Element aus DOO X konstruiert aus dem Pol W gt ky W folgt Setze dazu Wy py W Bis kein solches mehr existiert finde zu W mit n N ein W 1GW 80 daB W po W 41 und ky W 1 ky W Da X endlich ist bricht diese Konstruktion nach endlich vielen Schrit ten ab Sei W mit re N die so zuletzt konstruierte Menge F r diese gilt nach Konstruktion W Cc py W und ka W Ky DolW kyl W Nach Hilfssatz 9 auf Seite 95 folgt also p5 W gt ky W
13. In der Grobanalyse wird allein der top down Ansatz zur Identifikation von Klas senkandidaten unter den Dingen verfolgt weil die passenden Klassenoperatio nen noch nicht in der funktionalen Zerlegung der Anwendungsf lle hergeleitet wurden Eben aus diesem Grund erbringt in dieser Phase die Untersuchung von 182 4 BASE ein begriffsbasiertes Analyseverfahren f r die Software Entwicklung Blockrelationen in der Regel Komponenten und nicht Klassenstrukturen zum An schein Eine Indizierungs berpr fung kann zu jeder Zeit vorgenommen werden Innerhalb der Feinanalyse werden Gegenstandsimplikationen dar ber hinaus noch speziell f r den Zweck eingesetzt neue Funktionen innerhalb einer Zerlegung zu finden Identifikation Erstellung einer Indizie Auffinden Beschrie von Klassen Komponenten rungs ber neuer ben in kandidaten zerlegung pr fung Funktionen Abschnitt Untersuchung von Gegenstandsbegriffen zu Dingen Betrachtung zusam menfallender Merk mals und Gegen standsbegriffe Untersuchung von Blockzerlegungen berpr fungsfragen anhand von Gegen standsimplikationen berpr fungsfragen anhand von Merkmal simplikationen Abb 4 38 Techniken von BASE Diese Zusammenstellung sollte die Verfolgung der folgenden detaillierten Phasen beschreibung erleichtern Die erste Phase Grobanalyse zur Untersuchung der top level Anwendungsf lle wird durch Abbildung 4 39 beschrieben
14. In der Kontexttabelle umfassen also Zeilen zu in der Gegenstandsordnung kleine ren Gegenst nden solche von gr eren und Spalten zu kleineren Merkmale sind in solchen zu gr eren enthalten 274 Algorithmen zur FBA Im folgenden sind die wichtigsten Algorithmen dargestellt die in BASE zur Be handlung von begriffsanalytischen Strukturen benutzt werden Die grundlegenden berechnen aus einem formalen Kontext andere Strukturen Dies kann im wesentli chen mit Hilfe eines einzigen Algorithmus geschehen weil die entsprechenden Strukturen jeweils H llensysteme bilden Deshalb wird in Abschnitt B 1 zun chst einmal die Erzeugung eines beliebigen H llensystems mit Hilfe von Ganters H l lenalgorithmus erkl rt B 2 zeigt dann die Erstellung eines Begriffsverbands zu ei nem formalen Kontext In B 3 werden Implikationenbasen behandelt und in B 4 Blockrelationen Im Abschnitt B 2 werden bereits Liniendiagramme behandelt denn in dieser Form werden Begriffsverb nde gespeichert B 5 zeigt wie zus tz lich zu der in B 2 erstellten Ordnungsinformation eine graphische Anordnung f r ein Liniendiagramm berechnet werden kann Soweit m glich wurde versucht in der Darstellung der Algorithmen von konkre ten Datenstrukturen zu abstrahieren um jeweils den Kern des betreffenden Algo rithmus herauszustellen Deshalb wurde auch eine Pseudocode Notation gew hlt die keine Variablenvereinbarungen enth lt Dabei sind die Anweisungen in Pascal Stil a
15. Nach Hilfssatz 14 und Satz 10 auf Seite 97 sind a und d quivalent F r Gegenstandsimplikationen genauso Die Kennzeichnung in Satz 13 b zeigt nun sofort da die Pr misse informativer Merkmals Gegenstands Implikationen eines formalen Kontexts kein Begriffsin halt umfang sein kann Folgerung 13 Pr missen informativer Implikationen eines formalen Kontexts Gilt eine informative Merkmalsimplikation B D Gegenstandsimplika tion A gt C in einem formalen Kontext G M I so ist B B A A Beweis Direkt aus Hilfssatz 14 und Folgerung 8 auf Seite 97 Die Begriffsinhalte umf nge sind genau die Mengen sind die alle g ltigen Merkmalsimplikationen Gegenstandsimplikationen eines formalen Kontexts re spektieren 106 3 Formale Begriffsanalyse Folgerung 14 Begriffsinhalte umf nge Implikationen Ist G M I ein formaler Kontext und 3 c PM LC PGF die Menge der g ltigen Merkmalsimplikationen Gegenstandsimplikationen von G M I Dann ist R RCP M R respektiert F gerade die Menge der Begriffsinhalte von G M I S lt P G S respektiert die Menge der Begriffsumfange Vergl G W 96 2 3 Hilfssatz 20 S 80 Beweis Direkt aus Hilfssatz 14 und Satz 10 auf Seite 97 Hat man also die Menge der giiltigen Merkmalsimplikationen Gegenstandsimpli kationen so kann man auch die Begriffsinhalte umfange und damit bis auf Isomorphie den Begriffsverband berechnen And
16. P ist Pseudoinhalt von G M I und DOx G P gt P P ist Pseudoumfang von G M J Diese Basis ist in ihrer Kardinalit t minimal Beweis G W 96 2 3 Satz 8 S 83 Folgt direkt aus Hilfssatz 14 auf Seite 105 und Folgerung 10 auf Seite 103 Die Existenz solcher Basen erlaubt es wenige Implikationen zu pr sentieren die die gesamte Merkmalslogik Gegenstandsklassifikation und somit bis auf Iso morphie den Begriffsverband wiedergeben selber aber keine Redundanz enthal ten So k nnen gezielt berpr fungsfragen generiert werden um die Gegenstand Merkmal Zuordnung des unterliegenden formalen Kontexts zu berpr fen H ufig angewandt wird diese Technik im Rahmen der Merkmalexploration bei der die Klassifikation durch eine fest vorgegebene Menge von Merkmalen und ein Satz von Gegenst nden als Beispiele f r diese Klassifikation hergeleitet wird Dazu beginnt man mit einem erst unvollst ndigen Satz von Gegenst nden und de ren Merkmalszuordnung Die daraus generierten Implikationen kann der Analyti ker aufgrund seines Fachwissens f r alle m glichen Gegenst nde bejahen oder durch ein Gegenbeispiel widerlegen Die entsprechenden Gegenbeispiele f hren zu einem vollst ndigen Beispielsatz f r die Klassifikation nach den betrachteten Merkmalen Siehe Bur 91 G W 96 Gan 99 Beispiel 14 Implikationenbasis Zum formalen Kontext in Abbildung 3 5 auf Seite 80 Beispiel 5 bzw dem entsprechenden Begriffsve
17. R Pieto Diaz P Freeman Classifying Software for Reusability IEEE Software vol 4 no 1 January 1987 Rational Software Corporation Rational Rose http www rational com products rose index jtmp 2000 J Rumbaugh M Blaha W Premerlani F Eddy W Lorensen Ob ject Oriented Modelling and Design Prentice Hall Englewood Cliffs New Jersey 1991 U Reimer Einf hrung in die Wissensrepr sentation netzartige und schema basierte Repr sentationsformate Teubner Leitf den der angewandten Informatik Stuttgart 1991 K S Rubin A Goldberg Object Behavior Analysis Communicati ons ofthe ACM vol 35 no 9 pp 48 62 September 1992 W Risse Logik der Neuzeit 2 Band 1640 1780 Friedrich Fro mann Verlag G nther Holzboog Stuttgart Bad Cannstadt 1970 RMD 98 Ros 77 Rum 95 Rum 96 R W 00 Schi 97 Sche 99 SIS 87 S M 88 S M 92 S M 93 Sne 96 Som 92 Literatur V E van Reijswoud J B F Mulder J L G Dietz Communicative action based business process and information systems modelling with DEMO Information Systems Journal vol 9 iss 2 pp 117 139 April 1998 T D Ross Structured analysis SA A language for communcating ideas IEEE Transactions on Software Engineering vol SE 3 no 1 1977 J Rumbaugh OMT The functional model Journal of Object Orien ted Programming vol 8 no 1 pp 10 14 March April 1995 J Rumbaugh OMT Insights
18. der Paragraph als Client und das Wort als Server auftreten Dann aber schickt wiederum das Wort eine entsprechende Nachricht an seine Zeichen so da bei diesem Nachrichtenaustausch das Wort die Rolle des Client und das Zeichen die Rolle des Server bernehmen Um die Rollen von Client und Server herauszustellen behandelt man im normalen Fall einer synchronen Nachrichtenverbindung bei der der Client auf die Antwort des Servers wartet die Wertr ckgabe vom Server an den Client nicht als eigene Nachricht 26 2 Objektorientierte Anwendungsentwicklung Abh ngig von seinem Zustand kann ein Server Objekt verschieden auf eingehende Nachrichten reagieren Vererbung Neben der nderungsfreundlichkeit steht die Wiederverwendung von Systembau steinen als Ziel der Modularisierung im Vordergrund Teile von alten Systemen sollen in neuen wiederverwendet werden damit man das Rad nicht immer neu er finden mu So kann man die Produktivit t der Entwickler steigern Speziell die Vertreter objektorientierter Methoden haben sich die Wiederverwendung auf die Fahnen geschrieben JCJ 93 S 27 Problems with reuse include finding un derstanding and appropriateness of the thing to be reused Object orientation gives a completely new technique that strongly supports these issues Klassen sind Kandidaten f r wiederverwendbare Systembausteine Da sie jedoch zum Zweck der Wiederverwendung oft modifiziert werden m ssen gibt es mit der Vererbu
19. gt ky U und informativ Genau wie oben f r p5 W gt ky W gezeigt folgt also U gt ky U aus einer Implikation aus DOD X Der rekursive Abstieg von W py W aus endet also ebenfalls bei Implikationen aus DOND X W k W folgt also aus DOD X Jede informative Implikation mit in X maximaler Konklusion folgt somit aus DOQOy X Nach Folgerung 9 auf Seite 98 und Hilfssatz 7 auf Seite 94 folgt damit jede in X g ltige Implikation aus DOO X dh DODO CA ist f r A voll st ndig Zeige noch da DXO CX nicht redundant ist Sei also Pa V gt kylV e DDOH Dann gilt pal V Eky V also wird pal V gt ky V NICHT von py V A Mathematische Details respektiert Sei PlU gt kylU E DOO g X mit pal U SPx V Dann ist k5 p5 U ko Ppo V ky V weil sonst nach der Minima lit t von p5 V auch py U po V ware Nach Hilfssatz A2 e auf Seite 257 folgt k5 U ky p5 U EPa D h p5 V respektiert py U gt kylU Insgesamt respektiert p V ganz DONOy X Ppa gt kal V Also folgt py V gt ky V nicht aus DOO gt CX pol V gt ka V Da py V gt ky V beliebig gew hlt war ist somit DOXDO CX nicht red undant Insgesamt ist gezeigt da DOO X eine Basis der in R g ltigen Implika tionen ist Vincent Duquenne bezeichnet die Duquenne Guigues Basis als kanonische satu rierte Basis Duq 87 S 225 In welchem Sinn sie kanonisch ist erl utert der fol gende Satz Hilfssatz A3
20. sche mit Formaler Begriffsanalyse bearbeitete Klassifikationsaufgaben haben als Ausgangspunkt eine Menge von Gegenst nden Bei BASE bilden die Anwen dungsf lle den Ausgangspunkt der Untersuchung Deshalb wurden sie urspr ng lich als formale Gegenst nde behandelt Wie in 1 6 1 auf Seite 16 dargelegt und durch Satz 9 auf Seite 85 mathematisch untermauert spielt die Rollenvertauschung keine wesentliche Rolle f r die sich ergebenden Begriffsverb nde Man betrachtet nach einer Vertauschung lediglich einen dualen Verband bzw ein auf den Kopf ge stelltes Liniendiagramm Da in der praktischen Anwendung von BASE dem Mo dellierer die mathematischen Grundlagen verborgen bleiben sollen ist das Argu ment bez glich der Reihenfolge der Betrachtung von formalen Gegenst nden und formalen Merkmalen hinf llig Der Anwender von BASE soll sich nur mit Anwen dungsf llen und den in sie involvierten Dingen besch ftigen wobei es ihm gleichg ltig sein kann was intern als formale Gegenst nde und was als formale 134 4 BASE ein begriffsbasiertes Analyseverfahren f r die Software Entwicklung Merkmale behandelt wird Die Rollen von formalen Gegenst nden und Merkmalen zu vertauschen hatte mehrere Gr nde Zum einen erschien es unnat rlich Dinge des Untersuchungs bereichs als Merkmale zu behandeln w hrend auch in der mathematischen For malisierung von Gegenst nden die Rede ist Dieser Umstand fiel besonders bei der Vorstellung des Ans
21. void insertTeilschritt CString usedUc int pos const CString amp usingUc Erg nzt den Anwendungsfall mit Identifier lt usedUc gt in der Zerlegung des Anwendungsfalls mit Identifier 332 D Klassendeklarationen lt usingUc gt an der Stelle lt pos gt void addTeilschritt CString usedUc const CString amp usingUc Erg nzt den Anwendungsfall mit Identifier lt usedUc gt in der Zerlegung des Anwendungsfalls mit Identifier lt usingUc gt am Ende void entferneTeilschritt int pos const CString amp usingUc L scht den lt pos gt ten Teilschritt aus der Zerlegung des Anwendungsfalls mit Identifier lt usingUc gt int benutztInZerlegung const CString amp usingUc const CString amp usedUc Ermittelt ob der Anwendungsfall mit Identifier lt usedUc gt in der Zerlegung des Anwendungsfalls mit Identifier lt usingUc gt auf der h chsten Ebene vorkommt int benutztInZerlegungTransitiv const CString amp usingUc const CString amp usedUc Ermittelt ob der Anwendungsfall mit Identifier lt usedUc gt in der Zerlegung des Anwendungsfalls mit Identifier lt usingUc gt auf irgendeiner Ebene vorkommt BOOL usesNichtInZerlegung CString amp fehlenderSchritt CString amp falschZerlegterUc Gibt es in einer uses Liste zu einem Anwendungsfall Funktionen die nicht in dessen funktionaler Zerlegung wenn schon vorgenommen vorkommen sind lt fehlenderSchritt gt und lt
22. vom Praktikum bernommen worden um damit den Einflu an derer Beteiligter auf die Modellierung zu simulieren 4 2 Grundlegender Ansatz 4 2 1 Anwendungsf lle und ihre Behandlung in BASE Das zentrale Ziel eines Software Entwicklungsprojekts ist die Erf llung der funk tionalen Anforderungen Martin Fowler und Kendall Scott bringen diesen Um 126 4 BASE ein begriffsbasiertes Analyseverfahren f r die Software Entwicklung stand auf den Punkt Diagrams are after all just pretty pictures No user is going to thank you for pretty pictures what a user wants is software that executes F S 97 Chapter 1 Deshalb sollten die funktionalen Anforderungen an den An fang der Entwicklung gestellt werden Anwendungsf lle nach Ivar Jacobson JCJ 94 siehe auch 2 5 beschreiben die geforderte Funktionalit t Sie gelten als erfolgversprechende Technik f r die fr he Analysephase weil sie aus der Per spektive der Anwender heraus formuliert werden Au erdem ben tigt der Anwen der keinen Einblick in objektorientierte Modellierungstechniken er mu nur die Abl ufe in seiner Sprache beschreiben Erst nach der Erarbeitung der wichtigsten Anwendungsf lle beginnen die Entwickler auf deren Grundlage ein objektorien tiertes Analysemodell zu erstellen Viele Autoren haben die Anwendungsf lle in ihre Methoden aufgenommen Auch innerhalb der Unified Modeling Language UML BJR 99a bilden sie einen Schwerpunkt Bibo au
23. wie sonst in The Formal Concept Analysis Li brary in der lektischen Reihenfolge ihrer Inhalte berechnet Um die Konsistenz mit anderen Teilen von The Formal Concept Analysis Library herzustellen wird diese Reihenfolge am Ende nur umgedreht so da h here Diagrammknoten immer kleinere Nummern haben Die entstehende Numerierung entspricht in der Regel nicht der lektischen Ordnung der Begriffsinhalte Dennoch ist sie f r andere Algo rithmen genauso hilfreich weil sie genauso im Sinne von Hilfssatz B2 auf Seite 278 mit der Inklusionsordnung vertr glich ist Hilfssatz B3 Umgedrehte lektische Ordnung Inklusionsordnung Sei G M I ein endlicher formaler Kontext mit G go 801 1 Weiter sei B G M I Ay Bo An_ Ba 1 und die formalen Begriffe seien in der umgekehrten lektischen Reihenfolge ihrer Umf nge numeriert Dann folgt aus A B lt A B da i gt j Beweis Es seien i je 0 n 1 mit 4 B lt 4 B 292 B Algorithmen zur FBA Das bedeutet 4 4 Nach Hilfssatz B2 auf Seite 278 folgt A lt A bzgl der lektischen Ordnung der Begriffsumf nge Nach Voraussetzung gilt also n l1 i lt n 1l j undsoi gt j B 4 Berechnung von Blockzerlegungen Die Berechnung der Blockrelationen Definition 33 auf Seite 112 eines gegebe nen formalen Kontexts ist eine weitere Anwendung von Ganters H llenalgorith mus Algorithmus B1 Sie ist in B 4 1 erkl rt Wie man in BASE daraus die in 4 6 und 5 1
24. 1 1 S 19 Beweis Nach Folgerung 2 d ist A A VACG Daraus folgt A A Ac G CB G M I Fir 4 B B G M D ist nach Definition 20 B A und A B A was auch die umgekehrte Inklusion liefert B G M I B B B c M folgt analog Folgerung 3 H llensystem der Begriffsumf nge inhalte Sei G M I ein formaler Kontext Dann bilden die Begriffsumf nge von G M J ein H llensystem und die Abbildung P G gt P G ist der zugeh rige H llenoperator Genauso ist die Menge aller Begriffsinhalte ein H llensystem mit dem H l lenoperator P M gt YM G W 96 1 1 S 19 Beweis Da die Abbildungen H llenoperatoren sind folgt aus Folgerung 2 b ergibt zweimal angewandt die Monotonie in c steht die Extensit t und aus d folgt die Idempotenz Ihre Bilder sind nach Hilfssatz 5 gerade die Begriffsumf nge bzw inhalte Demnach ist zu ACG A der kleinste Begriffsumfang der A enth lt und dual B zu BCM der kleinste Begriffsinhalt der B umfa t 3 3 3 Begriffsverb nde Begriffe dienen zur Klassifikation Dementsprechend ist die Ober Unterbegriffs relation zwischen ihnen eine besonders wichtige Beziehung Ein Begriff hei t Oberbegriff eines anderen wenn er allgemeiner ist also mehr Gegenst nde um fa t 83 3 3 Kontexte und Begriffsverb nde Definition 21 Ober Unterbegriffsordnung Sind A B und C D formale Begriffe eines formalen Kontexts G M
25. 15000 4 Anzahl des Vorkommens 10000 5000 4 04 O O O O O O O O O O 2 O T NO 4 O O NOQO gt E u 120 130 140 150 160 170 180 Anzahl interessanter Blockrelationen Abb B 1 Verteilung von Blockrelationsanzahlen Bei so kleinen Kontexten ist nach den ermittelten Ergebnissen damit zu rechnen da interessante Blockrelationen existieren da davon aber berm ig viele auf treten ist die Ausnahme Mit steigender Kontextgr e scheint die Anzahl der formalen Kontexte mit nicht trivialen Blockrelationen abzunehmen Das sieht man in den folgenden Grafiken Die erste gibt die Ergebnisse eines Experiments wieder in dem 65532 zuf llig er zeugte formale Kontexte der Gr en 5x5 bis 20 x 20 nicht notwendigerweise quadratisch und einer Tabellenbelegung zwischen 10 und 50 untersucht wur den in denen jeder formale Gegenstand mindestens ein formales Merkmal trug und dual jedes Merkmal auf mindesten einen Gegenstand zutraf Unter diesen hat ten nur 12 78 nicht triviale Blockrelationen In Abbildung B 2 ist abzulesen welchen Anteil die formalen Kontexte mit nicht trivialen Blockrelationen unter den untersuchten mit einer gewissen Tabellengr e hatten Dieser Anteil sinkt mit der Tabellengr e Weil die Tabellengr en im Experiment nicht gleichverteilt 302 B Algorithmen zur FBA auftraten kann man die entsprechenden Werte jedoch nicht direkt als Wahrschein lichkeit interpretieren be
26. 183 195 202 232 237 Komposition 33 Konklusion 92 maximale 96 97 105 Konstruktor 164 Kontext formaler Kontrollklasse 54 Kreuztabelle 80 111 L Lebenszyklus Objektlebenszyklus linear Ordnung Liniendiagramm 71 72 89 137 193 199 213 218 284 296 305 307 313 315 320 353 Index M Merkmal 62 sbegriff 87 162 178 183 228 305 simplikation 105 135 144 157 183 314 sordnung 228 274 formales Methode 34 Modellierungskonzept 34 Modul 24 25 163 232 Monotonie 77 N Nachbar oberer unterer Nachricht 25 39 Normsprache 55 Notation 34 0 Ober begriff 33 62 84 319 klasse 27 225 Ober Unterbegriffsordnung 79 84 obere Schranke 67 oberer Nachbar 70 147 307 Objekt 25 39 47 129 161 lebenszyklus 25 orientierung 22 typ 25 31 dynamischer 27 statischer 27 zustand 25 27 39 Operation 25 35 141 151 160 161 164 224 229 240 Ordnung 64 65 duale 66 lektische 276 278 lineare 65 277 seinbettung 74 shomomorphismus 74 sisomorphismus Isomorphismus 354 Inklusionsordnung Ober Unterbegriffsordnung ordnungserhaltend 74 316 P Phase 22 30 Polymorphie 28 Pr misse 92 saturierte Pseudo inhalt 109 214 262 276 287 umfang 109 214 262 276 287 R redundant Implikationenfamilie reduzibel infimum reduzibel supremum reduzibel reduzierte Beschriftung 87 89 162 225 230 286 Relation bin re 6
27. 4 5 1 Klassenkandidaten unter den Dingen Die einfachsten Klassenkandidaten findet er unter den betrachteten Dingen Dabei handelt es sich in der Regel um Entit tsklassen im Sinne von Jacobson 2 6 1 Seite 54 Wie in 4 2 4 auf Seite 140 dargelegt erscheint es sinnvoll die Dinge im Liniendiagramm von unten nach oben darauf zu berpr fen ob sie wertvolle Klassenkandidaten bilden weil unten im Diagramm die anwendungsfall bergreifend interessanten Dinge stehen Von der Kl rung der Frage wie sie mo delliert werden sollen h ngen gro e Teile des Gesamtmodells ab Dieses Vorgehen 159 4 5 Klassenkandidaten im Liniendiagramm entspricht einer top down Strategie bei der Festlegung der Klassen Die grundle genden Klassen werden zuerst modelliert sp ter dann die spezielleren deren Defi nition von ersteren abh ngt Die Entscheidung ob ein Ding als Klassenkandidat modelliert wird wird im we sentlichen danach getroffen ob der entsprechende Klassenkandidat eine wertvolle Abstraktion und eine f r sich interessante Einheit von sp teren Attributen und Operationen im Untersuchungsbereich bildet siehe 2 3 1 auf Seite 31 Die Mo dellierung der einzelnen ausgew hlten Klassenkandidaten erfolgt wie in 2 3 1 auf Seite 31 erl utert dann auch nach einer top down Strategie denn ausgehend von der Bedeutung und dem Zweck des Klassenkandidatens wird nach Attributen und Operationen zur genaueren Spezifikation gesucht Die
28. A sind nur echt kleinere Pseudoinhalte umf nge n tig Die Berechnung eines H llensystems nach Algorithmus B1 verl uft nach der lekti schen Ordnung der H llen Bez glich Inklusion kleinere H llen sind nach Hilfs satz B2 auf Seite 278 auch lektisch kleiner Die n tigen Pseudoinhalte umf nge 288 B Algorithmen zur FBA sind also schon vorher bestimmt Zuerst wird ermittelt ob die leere Menge ein Pseudo oder Begriffsinhalt umfang ist siehe Bemerkung 6 auf Seite 101 und dann ausgehend von der leeren Menge jeweils die lektisch n chste H lle Pseudo oder Begriffsinhalt bzw umfang bestimmt Die Berechnung dazu geschieht fol genderma en Algorithmus B7 Lektisch n chster Pseudo Begriffsinhalt umfang Gegeben sei ein endlicher formaler Kontext G M J mit M mp Myq_1 Weiter sei BGM und pInh speichere die in B enthaltenen Pseudoinhalte Der Algorithmus berechnet in D den lektisch n chsten Pseudo oder Begriffs inhalt nextIntentPseudointent B pInh B7 1 k M B7 2 REPEAT B7 3 REPEAT B7 4 k k 1 B7 5 UNTIL m B B7 6 D B A mMp M _ VU m B7 7 ab hier Berechnung des H llenoperators REPEAT B7 8 D s D B7 9 Schleife ber die Pseudoinhalte FOR i 0 TO pInh 1 DO B7 10 IF pInh i D THEN B7 11 D D U pInh i B7 12 UNTIL D D B7 13 UNTIL D A Im au Mg BA Mp cos Mah In B7 7 bis B7 12 wird der Hiillenoperator aus S
29. Anaconda Beispiel fiir eine Klassenhierarchie und benutzende Programme Liniendiagramm zum Studenten Professoren Beispiel Anaconda Liniendiagramm zur Struktur eines Modula 2 Programms Anaconda Code Fragment aus einem RCS Stream Editor Liniendiagramm zu einer Konfigurationstabelle Anaconda UNIX Betriebssystembefehle und zugeh rige Schlagw rter Anaconda Liniendiagramm zur Projektverfolgung Anaconda Semantisches Netz aus Dingen und ihren Beziehungen Bsp Kontext Verteilung von Blockrelationsanzahlen Ex Anteil interessanter Blockrelationen Fee Verteilung der Kontextgr en zu Abbildung B 2 Fe Anteil interessanter Blockrelationen bei v llig zuf llig erzeugten Kontexten Verteilung der Kontextgr en zu Abbildung B 4 Fr Automatisch gezeichnetes Diagramm zu B 0 7 0 7 Anaconda Paare oberer Nachbarn des Infimums Verbessertes Liniendiagramm zu B 0 7 0 7 Anaconda Altes und neues anzuordnendes Diagramm Araconda Eingepa te Knoten Anaconda Mehrdeutige Zuordnung Anaconda Korrigierte Anordnung Anaconda Ver nderte Ordnung Anaconda 227 229 230 233 235 236 237 240 251 262 302 303 303 304 304 307 309 310 316 316 318 319 320 Legende Rose Together Innovator Anaconda FGT ObjectiF Paradigm Excel Abbildungsverzeichnis erstellt mit Rational Rose C Demo 4 0 3 Rational Software Corporation Rat 00 erstellt mit Together J 3 0 W
30. C D e filter Cyuz D nuz B H N J THEN Knoten ber dem h chsten zugeordneten x j neu x j neu dX y j neu y j neu dY Knoten fertig origKn j 0 Koordinaten f r die nicht zugeordneten Knoten FOR i 1 TO k 1l Do IF origkn i 1 nicht zugeordnet ft filter C D 3 H N J niedrigster oberer angeordneter Nachbar noa 0 FOR j i 1 DOWNTO 1 DO IF origkn j gt 1 AND C D e ft THEN ft ft filter Cj Dj B H N J IF y noa neu gt y j neu noa j id ideal C Di B H N J h chste untere zugeordnete Schranke huz 1 FOR j i 1 TO k 1 DO IF origKn j gt 1 AND C D e id THEN id id ideal C D 8 H N J IF huz 1 OR y huz neu lt y j neu huz j IF huz 1 THEN unterhalb keine zugeordneten Knoten x i neu x i neu x noa neu altX noa y i neu y i neu y noa neu altY noa ELSE huz gefunden gt H henanpassung 323 B 5 Automatisches Zeichnen von Diagrammen B13 62 faktor y noa neu y huz neu altY noa altY huz B13 63 x i neu x noa neu altX i altX noa faktor B13 64 y i neu y noa neu altY i altY noa faktor B13 65 Knoten fertig origkKn i 0 In B13 5 bis B13 10 werden zu den Knoten des Ausgangsdiagramms die entsprechenden neuen Knoten bestimmt Die Schleife von 813 11 bis B13 19
31. Da dies unm glich ist mu also U V gelten Damit ist lt antisymmetrisch Also ist lt eine Ordnung auf Y X Seien U Ve X mit U V Setze W V U U U V Dann gilt WC Xo X _1 Also existiert k min i xe W Nach Konstruktion ist dann UN xy X _ VA Xp Xg Ist x V U so folgt U lt V Andernfalls ist x e U V undso V lt U Somit sind alle Elemente von P X in lt vergleichbar 277 B 1 Berechnung von H llensystemen Schreibt man die Teilmengen von X als Bitvektoren der Lange n wobei eine 1 an der Position i ie 0 n 1 und die Positionen von vorn nach hinten nume riert das Vorhandensein von x in der betreffenden Teilmenge codiert so ist die lektische Ordnung gerade die bliche lexikographische Ordnung bzw die nat rli che Ordnung auf den als Bin rzahlen interpretierten Bitvektoren Die lektische Ordnung bildet eine Erweiterung der Inklusionsordnung Dies kann in Algorithmen zu effizienten Minimums und Maximumsbestimmungen bzgl der Inklusionsordnung ausgenutzt werden Hilfssatz B2 Lektische Ordnung Inklusionsordnung Seien X xo X _ 1 eine endliche Menge und U V c X Dann folgt aus UGV da U lt V bzgl der lektischen Ordnung Beweis Lin 99 3 1 2 Theorem 7 Wegen UGY gilt O V UC X0 x _1 Also existiert k min i x e V U Nach Konstruktion von k gilt U lt V B 1 2 H llenbestimmung Zu einem H llenoperator auf einer endlic
32. Das Bestellformular wird nicht weiter beachtet weil eine Abgrenzung gegen die in ihm dokumentierte Bestellung schwerf llt Da gegen wird der Lieferschein als Ding behandelt weil eine Lieferung nicht er w hnt wird Die ungleiche Behandlung dieser Dinge dr ckt auch die verschieden wichtige Bedeutung f r das Gesch ft von JWI aus Die Indizierung mu nicht starr in den geschilderten drei Schritten ablaufen son dern die verschiedenen berlegungen laufen in der Regel verschr nkt ab Anhand des Beispiels soll nur klar werden was beachtet werden mu Au erdem macht diese Darstellung klar da der resultierende formale Kontext der ja Grundlage f r das gesamte weitere Verfahren ist von den Entwurfsentscheidungen der Analyti ker abh ngt Dies mu kein Nachteil sein weil die mit Hilfe von BASE aufgrund verschiedener Vorstellungen erstellten Liniendiagramme die Diskussion ber diese differierenden Bilder vom Untersuchungsbereich f rdern k nnen siehe 7 2 1 auf Seite 247 4 2 3 Formaler Kontext Im Sinne der Formalen Begriffsanalyse werden nun die Anwendungsf lle als for male Merkmale behandelt und den in ihnen vorkommenden Dingen zugeordnet die ihrerseits als formale Gegenst nde interpretiert werden So ergibt sich ein for maler Kontext Definition 18 auf Seite 80 In den urspr nglichen Arbeiten zu BASE siehe D H 98a und D H 98b waren die Rollen von formalen Gegenst nden und formalen Merkmalen vertauscht Typi
33. Das grunds tzliche Vorgehen bei der Be handlung der Anwendungsf lle wurde schon in Abbildung 4 1 auf Seite 130 wie dergegeben Hier sind jetzt aber die in 4 2 bis 4 6 beschriebenen Techniken einge ordnet Nachdem der erste Grundstock von Anwendungsf llen festgelegt ist kommen die begriffsanalytischen Mittel von BASE ins Spiel Anhand der Indizierung wird ein Modell der Datenabh ngigkeiten als Liniendiagramm erstellt Dieses kann anhand von Gegenstands und Merkmalsimplikationen berpr ft werden Nat rlich k n nen ge bte Nutzer auch direkt anhand des Liniendiagramms diskutieren Solche Verk rzungen sind der bersichtlichkeit halber in Abbildung 4 39 nicht darge stellt Als unzutreffend erkannte Implikationen f hren zu einer Ver nderung der Indizierung n mlich der e Behebung von Indizierungsfehlern 183 4 8 Vorgehensmodell e Hinzunahme neuer Dinge aufgrund unzutreffender Merkmalsimplikationen e Hinzunahme neuer Anwendungsf lle aufgrund unzutreffender Gegenstandsim plikationen Anwendungsf lle identifizieren l Anwendungsf lle beschreiben und uses amp extends Beziehungen festlegen Involvierte Dinge festlegen und Anwendungsfallen zuordnen Indizierung als unzutreffend erkannt oder neue Dinge identifiziert Modell anhand von Implikationen berpr fen new Anwendungsf lle identifiziert EIS DLALONER Neue Anwendungsf lle festl
34. Die spezielle Struktur der Begriffsverb nde erlaubt eine reduzierte Beschriftung der Knoten in einem Liniendiagramm Ausgehend von Definition 10 auf Seite 71 sind f r alle Knoten die vollst ndige Extension und Intension der entsprechenden formalen Begriffe anzugeben Das wird schnell sehr un bersichtlich wie schon ein kleines Beispiel zu Satz 8 zeigt Beispiel 6 Liniendiagramme zu V lt und B V V S VS ae R b gt b d a b c d a c d d a b c d Abb 3 6 Ein endlicher Verband als Begriffsverband V lt wird als Beispiel eines endlichen Verbands dem Begriffsverband B V V lt gegen ber gestellt Satz 8 besagt da diese beiden Verb nde isomorph sind was man im Beispiel gut an den Liniendiagrammen erkennen kann In einem Liniendiagramm eines Begriffsverbands reicht es aber auch aus formale 86 3 Formale Begriffsanalyse Gegenst nde nur an dem untersten Knoten zu dessen formalen Begriff sie geh ren anzugeben und dual formale Merkmale nur am obersten Knoten dessen for malem Begriff sie zukommen zu notieren Diese reduzierte Beschriftung wird nun vorbereitet Definition 23 Gegenstands und Merkmalsbegriff Sind G M I ein formaler Kontext und ge G und me M so schreibt man g g 2 g und m m m m yg g g hei t dann der Gegenstandsbegriffzu g und um m m der Merkmalsbegriff zu m G W 96 1 1 Definition 22 S 23 Nach
35. IBM Research Report RJ 4777 San Jose 1985 W Hesse G Merbeth R Fr lich Software Entwicklung Vorge hensmodelle Projektf hrung und Produktverwaltung Handbuch der Informatik Band 5 3 Oldenbourg Verlag M nchen 1992 W Hesse F Weltz F Projektmanagement f r evolution re Soft ware Entwicklung Information Management Ausg 9 Nr 3 S 20 33 M rz 1994 ISO IEC 14977 Information technology Syntactic metalanguage Extended BNF 1996 I Jacobson Applying UML in the Unified Process Keynote in UML World Conference http wwn rational com products reading reading_rup jsp March 1999 363 Literatur J C 95 JCJ 93 Kle 56 K M 98a K M 98b K N 95 K N 96 KNS 92 Krg 96 Kre 99 KSVW 94 364 I Jacobson M Christerson Modeling with Use Cases A growing consensus on use cases Journal of Object Oriented Programming vol 8 no 1 pp 15 19 March April 1995 I Jacobson M Christerson P Jonsson G vergaard Object Ori ented Software Engineering A Use Case Driven Approach Revi sed Printing ACM Press Addison Wesley 1993 C C Kleene Representation of events in nerve nets and finite auto mata in C Shannon J McCarthy Automata Studies Princeton University Press pp 3 41 1956 C Kop H C Mayr Conceptual Predesign Bridging the Gap bet ween Requirements and Conceptual Design Proceedings of the 3rd International Conference on Requireme
36. J F Sowa Conceptual Graphs Summary in T E Nagle J A Nagl L L Gerholz P W Eklund Eds Conceptual Structures Current Research and Practice Ellis Horwood Workshops pp 3 51 1992 H Schaschinger H Sikora I B uchler Objektorientierte Analyse und Designmethoden Uberblick und kritische Betrachtung Soft waretechnik Trends 11 4 S 32 43 November 1991 G Snelting F Tip Reengineering Class Hierarchies Using Concept Analysis Forschungsbericht MIP 9910 Universitat Passau Fakul tat fiir Mathematik amp Informatik 1998 Standish Group International Inc CHAOS Sample Research Paper http standishgroup com visitor chaos htm 1995 Standish Group International Inc Unfinished Voyages Sample Research Paper http standishgroup com visitor voyages htm 1996 W Stein Objektorientierte Analysemethoden ein Vergleich Infor matik Spektrum 16 S 317 332 1993 B Stroustrup Die C Programmiersprache 2 iiberarbeitete Auflage Addison Wesley 1992 G Stumme R Wille Hrsg Begriffliche Wissensverarbeitung Methoden und Anwendungen Springer Verlag Berlin Heidelberg 2000 C Szyperski Component Software Beyond Object Oriented Pro gramming ACM Press Addison Wesley 1998 W F Tichy RCS A System for Version Control Software Practices amp Experience July 1985 TogetherSoft LLC Together J http www togethersoft com together 2000 T J Teorey D Yang J P Fry A logical design
37. N meM g m eJ Ng te T te T Dieser Schlu gilt auch im Fall T dann ist VY GxM J a J We PEN Also ist mit den Merkmalsmengen g auch g ein Begriffsinhalt von G M I 114 3 Formale Begriffsanalyse N Analog zeigt man da m ein Begriffsumfang von G M I ist Insgesamt ist VS wieder eine Blockrelation von G M I te Also ist das System der Blockrelationen von G M I ein H llensystem auf G xX M und bildet nach Satz 5 auf Seite 78 mit der Inklusionsordnung einen vollstandigen Verband Die oben angesprochenen Intervalle des Begriffsverbands von G M J die den formalen Begriffen von G M J entsprechen wenn J eine Blockrelation von G M I ist sind sogenannte Bl cke von Toleranzrelationen auf B G M I Definition 34 Toleranzrelation Sei V ein vollst ndiger Verband Eine Relation c Vx V hei t vollst ndige Toleranzrelation auf V wenn sie reflexiv symmetrisch und mit Infima und Suprema vertr glich ist d h f r jede Indexmenge 7 gilt xOy VteT gt Ax OC Ay und Vx O Vy te T te T te T te T Die Menge der Toleranzrelationen eines vollstandigen Verbands bildet selber wie der einen vollstandigen Verband Bemerkung 9 Verband der Toleranzrelationen Das System der vollst ndigen Toleranzrelationen eines vollst ndigen Ver bands ist mit der Inklusionsordnung ein vollst ndiger Verband denn Reflexivit t Symmetrie und die Vertr glichkeit mit Infima und Suprema
38. Sei G M J ein formaler Kontext und 4 CG BCM Dann ist ky B B und kg A A Beweis Betrachte B U g ge B Nach Folgerung 2 e und a auf Seite 82 ist ky B Oi g ge G Bag Nig ge B B Analog gilt ka A A 105 3 4 Implikationen Intuitiv erwartet man da eine Merkmalsimplikation B D eines formalen Kon texts G M I besagt da allen formalen Gegenst nden aus G die alle formalen Merkmale aus B tragen auch alle formalen Merkmale aus D zukommen Da dies durch die Definition 31 schon ausgesagt wird zeigt Satz 13 im Punkt c Zudem bringt er mit der Eigenschaft b das schon aus dem Fall auf einer beliebigen Menge erkl rter Implikationen bekannte handliche Kriterium f r die G ltigkeit einer Im plikation Satz 13 G ltigkeit von Implikationen in einem formalen Kontext Sei G M J ein formaler Kontext F r eine Merkmalsimplikation B gt D Gegenstandsimplikation 4 C sind quivalent a B gt D A gt C gilt in G M I b D amp B CCA c ED AEC d B gt D A gt C gilt im System aller Begriffsinhalte Begriffsumfange von G M I G D 86 S 9 und G W 96 2 3 Hilfssatz 19 S 80 Beweis Nach Hilfssatz 14 und Hilfssatz 10 auf Seite 95 sind a und b quiva lent b gt c Ist D c B so ist nach Folgerung 2 d und b auf Seite 82 B B cD c gt b Gilt B c D so nach Folgerung 2 b und c auch DC D c B
39. Seien also supremum erhaltend und x ye V mit x lt y y Dann ist nach Hilfssatz 1 auf Seite 67 x vyy y also x Vw OW G x vry P dh P Sp P Insbesondere sind also vollst ndige Verbandshomomorphismen Ordnungs homomorphismen Nach Hilfssatz Al sind damit bijektive vollstandige Verbandshomomor phismen auch Ordnungsisomorphismen Seien nun V und W vollst ndig ein Ordnungsisomorphismus und X c V 254 A Mathematische Details Dann gilt A X lt x f rallexe X Also ist O A X lt Q x Vx e X und damit Ay X lt Ap OX Nach Voraussetzung ist auch po ordnungserhaltend Also gilt wegen Ay X lt x f r alle x X P Agpo p PA x Daraus folgt Ay X lt Ap X Damit ist auch Ay X PP AyERN lt Q A X Insgesamt gilt P A X Ay oA D h ist ein vollst ndiger A Morphismus Durch die duale Betrachtung sieht man da auch ein vollst ndiger v Morphismus ist also ein vollst ndiger Verbandshomomorphismus F r nicht vollst ndige Verb nde V und W schr nke man die Betrachtung ein fach auf zweielementige Mengen X ein A 1 2 H llensysteme Die Inklusionsordnung auf Mengenfamilien spielt in der Formalen Begriffsanalyse eine herausragende Rolle Die vollst ndigen Verb nde mit dieser Ordnung sind ge rade die H llensysteme Definition 16 auf Seite 77 Diese k nnen durch H llen operatoren beschrieben werden Definition 17 auf Seite 77 Das wird in Algorith men zur
40. UU U U c a b U fa b c 2 a Abb A 1 Bsp Ta b U Ta b c Kontext 262 A Mathematische Details Aber a b O U B x xe B B x a b a b weil a b a b a b c A 3 Blockrelationen Vollst ndige Toleranzrelationen Definition 34 auf Seite 115 liefern Zerlegungen von vollst ndigen Verb nden in sogenannte Bl cke Definition 35 auf Seite 117 Im Falle von Begriffsverb nden lassen sich die Toleranzrelationen durch Blockre lationen Definition 33 auf Seite 112 des zugrunde liegenden formalen Kontexts beschreiben Isomorphe vollst ndige Verbande haben isomorphe Verb nde von vollst ndigen Toleranzrelationen Vergl Bemerkung 9 auf Seite 115 Hilfssatz A4 Toleranzrelationen isomorpher Verb nde Sind V und W isomorphe vollst ndige Verb nde so sind auch die Verb nde der vollst ndigen Toleranzrelationen auf V und auf W isomorph Beweis Sei 9 V W ein Isomorphismus Dann definiere f r eine vollst ndige Toleranzrelation auf V die Relation w O a b a beV und aOb w ist dann eine bin re Relation auf W Mit ist auch w reflexiv weil surjektiv ist Durch die Symmetrie von ist auch y symmetrisch F r x ye W mit x yw O y gibt es nach Konstruktion a be V mit aOb und a x b y Wegen der Bijektivit t von sind a x b 00 D h aus x y O y folgt x y Ist T eine beliebige Indexmenge und sind x y
41. as do V ao und ao ao Hilfssatz 16 auf Seite 117 F r x y a liefert Hilfssatz 15 auf Seite 115 also xOy A Mathematische Details Seize VmitzOy Vye ale Dann gilt nach Hilfssatz 16 insbesondere zOa und zOag Also ist Z 2 ag und z lt C d h ze a o Die Bl cke von sind also maximal bzgl der Eigenschaft da alle ihre Elemente paarweise in Relation stehen Sei nun U c V so da f r alle Vx ye U x Oy gilt und U bzgl dieser Eigenschaft maximal ist Dann gilt wegen der Vertr glichkeit von mit Infima und Suprema f r jedes ye U da AU I y und VU 2 y Wegen der Maximalit t von U gilt also AU VU U Fir xe Uc AU VU und ye AU VU AU A VU AU v VU gilt nach Hilfssatz 15 auf Seite 115 xOy Wegen der Maximalitat von U ist also U AU VU Also ist A U VU und so V U lt AU F r x lt AU mit x AU gilt wegen der Infimumsvertr glichkeit von fiir alle ye U daB x xay O VU Ay v Also ist ye U d h y AU wegen der Maximalit t von U D h YU A xe V xO VU AU Analog zeigt man A v MER E Damit ist U AU VU cv U V U ein Block von Die Bl cke einer Toleranzrelation brauchen nicht disjunkt sein und k nnen quer zueinander liegen Bemerkung 11 Bl cke nicht disjunkt Die Bl cke einer vollst ndigen Toleranzrelation auf einem vollst ndigen Verband V brauchen nicht disjunkt zu sein F r a be V gilt alo AN bDl
42. aus W gt ky W Sei nun Yc po W W mit ky Y k W ee es UL klU U SY kyl U ky Y YUULkg U U c Y kal U Gka Y cW U U kalU U CW kaU Gkal W W pW W r 259 A 2 Implikationen 260 Also gilt induktiv p Y Spal W p W Dann mu aber schon py Y py W gelten weil sonst nach Hilfs satz A2 f auf Seite 257 die Folge der W mit W p Y hatte fortgesetzt werden k nnen Das bedeutet da W gt ky W DDOOLAN Nun zur Implikation W gt p5 W Hilfssatz A2 e besagt Pa W WO kal U UC polW kal U ka W Laut Hilfssatz 6 auf Seite 93 folgt W gt W aus jeder Implikationenfa milie Damit folgt W gt p5 W nach Hilfssatz 12 auf Seite 99 aus U gt kal U US Pa W kal U ka W Die nicht informativen unter diesen Implikationen U ky U folgen nach Hilfssatz 6 aus jeder Implikationenfamilie Nach Hilfssatz 7 auf Seite 94 folgt also W gt p5 W aus U gt ky U UC Pal W UFkyU FRAW Wegen UCp W ist kal U S kal Pal W kyl W also ky U Sky W Die Konklusionen der neu betrachteten Implikationen sind also echt kleiner als die urspr ngliche Dieser rekursive Abstieg in den Konklusionen findet in endlichen Schritten ein Ende weil X endlich ist Gibt es am Ende f r eine informative Implikation U gt ky U kein Ycpy U mit ky Y ky U so ist nach Hilfssatz A2 e auf Seite 257 py U U Also ist U gt k y U von der Form py U
43. bertragen sich direkt auf beliebige Schnitte von Toleranzrelationen Also bilden diese ein H llensystem und damit nach Satz 5 auf Seite 78 mit der Inklusionsordnung einen vollst ndigen Verband Mit zwei Elementen die in einer Toleranzrelation stehen erh lt man schon ein ganzes Intervall dessen Elemente paarweise in dieser Toleranzrelation stehen Hilfssatz 15 Toleranzrelationen in Intervallen Seien V ein vollst ndiger Verband und eine vollst ndige Toleranzrelation auf V Sind a b V mit aOb so gilt schon xOy f r alle x y a A b a v b Beweis G W 96 3 4 Hilfssatz 54 S 120 Weil reflexiv ist gilt a a und bOb Weiter gilt bOa weil symmetrisch ist Nach der Infimumsvertr glichkeit von gilt also a asa a b 115 3 5 Blockrelationen und b bAb O anb Mit der Supremumsvertraglichkeit von folgt daraus avb O arb v arb arb Sind x y aA b a v b so sind xOx und yOy wieder durch die Reflexi vit t von gegeben Mit der Supremumsvertr glichkeit von ergibt sich damit x xv anb Oxv avb avb und analog av b Oy Durch die Infimumsvertraglichkeit von folgt x xaA avb O avb ay y Man hat nun eine Isomorphie zwischen dem Verband der Toleranzrelationen und dem Verband der Blockrelationen Satz 16 Toleranzrelationen Blockrelationen Sei G M I ein formaler Kontext Dann ist der Verband der vollst ndigen Toleranzrelationen auf B G M J isom
44. korrigiert eventuell erzeugte der Verbandsordnung widersprechende Kanten In B13 23 bis B13 26 findet die Koordinatenfestschreibung f r neuen Knoten statt die gewissen alten Knoten zugeordnet sind Danach wird in B13 27 bis B13 41 ein noch nicht zugeordnetes Supre mum behandelt Dazu werden alle ber dem h chsten zugeordneten Knoten h ngenden Knoten in unver nderter Anordnung oben an das Diagramm angeh ngt Sie werden dazu so verschoben da der h chste zugeordnete Knoten gerade auf seiner zugeordneten Position landet Da die Knotennummern der zugeordneten Knoten des Ausgangsdiagramms nicht mehr gebraucht werden kann in origkn f r schon bearbeitete Knoten eine 0 gespeichert werden um die abgeschlossene Koordinatenfestlegung f r den entsprechenden Knoten zu dokumentieren F r die anderen nicht zugeordneten Knoten geschieht die Koordinatenzu schreibung in B13 42 bis B13 65 Dazu wird in B13 44 bis B13 50 zuerst der niedrigste Oberbegriffskno ten bestimmt der schon zugeordnet ist Dies ist ein oberer Nachbar weil die Knotennumerierung in der Verbandsordnung absteigend ist und die nicht zugeordneten Knoten in der Reihenfolge dieser Numerierung untersucht werden Der in B13 51 bis B13 57 ermittelte h chste schon zugeord nete Unterbegriffsknoten mu dagegen kein unterer Nachbar sein Zu unterscheiden sind die beiden F lle da ein zugeordneter Unterbegriffs knoten gefunden wurde B13 61 bis B13 64 oder da k
45. lt es Men eintr ge zur Einblendung eines Diagrammsuschnitts void OnZoom Erm glicht die Skalierung der Diagrammgr e void OnDinA4 Skaliert das Diagramm auf DIN A4 Gr e W hlt die gr ere Darstellung aus Hoch und Querformat void OnPunktgroesse Erm glicht die Skalierung der Knotenradien void OnSchriftart Erm glicht die Festlegung der Schriftart f r die Beschriftung mit formalen Gegenst nden bzw Merkmalen void OnFilterAusschnitt Beschr nkt die Darstellung des Diagramms auf den Hauptfilter zum Knoten lt kontextmenueVonKnoten gt void OnIdealAusschnitt Beschr nkt die Darstellung des Diagramms auf das Hauptideal zum Knoten lt kontextmenueVonKnoten gt void OnAnsichtUebersicht Schaltet von einem Ausschnittsdiagramm oder Detaildiagramm zu einer Blockzerlegung auf das bergeordnete Diagramm zur ck void OnAnsichtKomponenteninterna Aktiviert Deaktiviert die Detaildarstellung einer Blockzerlegung void OnBlockAusschnitt Zeigt ausgehend vom bersichtsdiagramm einer Blockzerlegung den Block zum Knoten lt kontextmenueVonKnoten gt in Detailsicht an D Klassendeklarationen afx_msg void OnBlockfarbe Erm glicht die Festlegung einer Farbe f r einen eingef rbten Block Interne Hilfsfunktionen private void diagrammZeichnen CDC pDC ee Zeichnet das Diagramm void kanteZeichnen CDC pDC TDLine kante BOOL loeschen F
46. r alle x x E X und b yi Sy gt Y2 Sy WO fiir alle y y Y und c x Sy W x f r alle xe X und y lt y y y f ralleye Y dann hei t das Paar w Galois Verbindung zwischen X lt y und Y lt y und die Abbildungen und y hei en dual adjungiert Ore 44 2 S 495 Besonders hervorstechend ist die folgende Eigenschaft von Galois Verbindungen Hilfssatz 3 _ Abgeschlossenheit dual adjungierter Abbildungen Ist Y eine Galois Verbindung zwischen zwei geordneten Mengen X lt y und Y Sy so gilt Pye P und yoy y Beweis Bir 67 V 7 S 123 Fur x X ist nach Definition 15 c x Sy OC W Q x Andererseits folgt aus x Sy W x Definition 15 c nach Definition 15 a P W x Sy P x Das bedeutet O W Q x Q x also insgesamt PY yoy y folgt analog 3 2 6 H llensysteme Die Inklusionsordnung auf Mengenfamilien spielt im folgenden eine herausragen de Rolle Das in Beispiel 2 d auf Seite 69 angegebene Ergebnis da Potenzmen gen mittels der Inklusionsordnung geordnet einen vollst ndigen Verband bilden kann auf allgemeinere Mengen bertragen werden 76 3 Formale Begriffsanalyse Definition 16 H llensystem Sei X eine beliebige Menge Ein gegen beliebige Durchschnitte abgeschlossenes System Uc P X hei t ein H llensystem auf X d h f r jede Teilmenge c U ist NXe U G W 96 0 3 Definition 14 S 8 Insbesondere gilt f r ein H llensystem l auf e
47. se nur benutzen Deshalb macht es Sinn im Hauptfilter eines Klassenkandidatens nach Attributen und Operationen zu suchen Den ganzen Hauptfilter automatisch als Aufz hlung der Attribute und Operationen zu betrachten ist dagegen nicht sinnvoll 4 5 2 Begriffe als Klassenkandidaten Zur Motivation eines begriffsbasierten Ansatzes wurde in 1 3 auf Seite 11 und 2 3 1 auf Seite 32 darauf hingewiesen da laut verschiedener f hrender Autoren 160 4 BASE ein begriffsbasiertes Analyseverfahren f r die Software Entwicklung Klassen Begriffe des Untersuchungsbereichs implementieren sollen In 2 3 1 und 1 6 2 wird auch diskutiert wie eine entsprechende nat rliche Formalisierung mit Hilfe von Formaler Begriffsanalyse aussehen k nnte Objekte sind formale Gegen st nde Attribute und Operationen formale Merkmale Der Ansatz in BASE ist anders angelegt damit eine Analyse auf Typebene durch gef hrt werden kann vergl Diskussion in 1 6 2 auf Seite 16 Aber dennoch scheint es naheliegend die innerhalb von BASE betrachteten formalen Begriffe als Klassenkandidaten zu betrachten Schlie lich gruppieren sie Datenelemente und Funktionen Diese Betrachtungsweise f hrt aber nur zu sehr eingeschr nkten Klas senkandidaten In einer solchen Klasse m te n mlich jede Operation alle Attribu te benutzen Dies ist wie schon in 4 2 4 auf Seite 141 ansatzweise diskutiert aber nicht zu erwarten Treten n mlich Objekte einer Klasse in verschie
48. sepli B12 34 endg ltige x Koordinate x rechts links 2 In 812 13 und B12 17 wird zus tzlich mit jeweils einer Intervallgrenze verglichen um nicht unn tig Geradenschnittpunkte zu berechnen Da die Steigung der Geraden durch zwei Atome im zweiten und dritten Fall betragsm ig sehr gering sein kann wird nicht gleich ihr Schnittpunkt mit der x Achsenparallelen in H he der y Koordinaten des Infimums berechnet Dies k nnte zu einer berschreitung des Zahlbereichs f hren Sicherer erscheint es in B12 14 die Gerade durch die aktuelle rechte Grenze und das rechte der beiden Atome zu betrachten Schneidet diese die x Achsenpar allele in H he der y Koordinate des linken Atoms links von diesem Atom so ergibt sich eine neue rechte Grenze Die neue Grenze wird in B12 16 mit Hilfe der Geraden durch die beiden Atome bestimmt Analog geht der Algo rithmus in B12 18 bis B12 20 f r den dritten Fall vor Die Separatoren werden aufsteigend sortiert gespeichert Deshalb findet man den ersten Separator nach der Intervallmitte in B12 32 und B12 33 sehr einfach F r das Zeichnen nach Gegenst nden kann analog die Position des Supre mums korrigiert werden Die Anzahl der Atome eines Begriffsverbands ist durch die Anzahl der formalen 312 B Algorithmen zur FBA Gegenst nde beschr nkt weil jeder Begriffsumfang eines Atoms einen Gegen stand enthalten mu der in keinem anderen Atom enthalten ist Denn nach
49. t bereitzustellen Deshalb ist es wichtig sich schon in der Analyse ein Bild von dieser Zusammenarbeit zu machen F r jede Systemfunktion h ufig be schrieben als Anwendungsfall use case siehe 2 5 ist aufzuzeigen wie sie durch zusammenarbeitende Objekte bereitgestellt werden kann JCJ 93 S 200 The objects should provide the complete functionality of the use cases Nur so kann abgesch tzt werden ob die funktionalen Anforderungen durch ein auf dem Analy semodell aufbauendes System erf llt werden k nnen Aspekte der Zusammenarbeit von Objekten werden in Interaktionsdiagrammen beschrieben UML sieht daf r zwei konkurrierende Diagrammarten vor Das Se quenzdiagramm Jacobsons interaction diagram betont den Ablaufaspekt das Kollaborationsdiagramm Boochs object diagram stellt dagegen die beteiligten Objekte und die durch die gegenseitige Benutzung entstehende Struktur in den Vordergrund H ufige Anwendung und auch verbreitete Werkzeugunterst tzung 1 Jacobson betrachtet components in oben dargestelltem eingeschr nkten Sinn 38 2 Objektorientierte Anwendungsentwicklung finden die Sequenzdiagramme objectiF 3 2 von microTOOL Mic 99 und Inno vator 6 1 von MID Mid 99 unterst tzen z B nur Sequenzdiagramme bestand obj verw Ausleiher Ausleihbestand Ausleihobjekt Bibo Verwaltung 1 i a i Ausleihobjekt suchen obj Ausleihobjekt ist ausgeliehen 1 t
50. um die zentralen Modellelemente Ob jekte und Klassen festzulegen Diesen Analyseschritt zu unterst tzen ist das zen trale Anliegen von BASE 2 1 Phasen der Anwendungsentwicklung Bei der Entwicklung von Software Systemen sind verschiedene T tigkeiten durch 21 2 2 Prinzipien der Objektorientierung zuf hren die man den Phasen Analyse Anforderungsdefinition oder fachlicher Entwurf technischer Entwurf Implementierung Integration Betrieb amp War tung zurechnen kann Bei der Analyse verschafft man sich ein Bild vom Untersu chungsbereich der durch Software unterst tzt werden soll die Anforderungsdefi nition stellt heraus was das Softwaresystem leisten mu im Entwurf wird festge legt wie es das leisten kann und in der mplementierung wird der Entwurf in lauf f higen Programm Code gegossen Schlie lich ist die neue Software noch beim Kunden zu installieren und ihr Betrieb unterst tzend zu begleiten Der Terminus Phase r hrt dabei von den traditionellen und bis heute weit ver breiteten Vorgehensmodellen siehe auch 2 4 den Wasserfall Modellen vergl Boe 76 her Bei ihnen geht man davon aus da die Projekte nacheinander Pha sen durchlaufen werden Dabei findet sich in der Regel eine hnliche Unterteilung wie oben H ufig werden die Phasen Analyse und Anforderungsdefinition speziell in objektorientierten Methoden nicht getrennt Modernere Vorgehensmodelle ge ben die strikt lineare Phasen
51. vergl unten wiedergegeben Nur der erste Satz der Beschreibung des Anwendungsfalls Bestellung bearbeiten wurde hier um die Erw hnung des Produkts gek rzt um die Behandlung von uses Beziehungen zwischen Anwendungsf llen aufzuzeigen siehe 4 2 3 auf Seite 135 Dadurch ergibt sich zun chst eine unvollst ndige Zuordnung von Din gen zu Anwendungsf llen in dem Sinne da das Ding Produkt eigentlich dem Anwendungsfall Bestellung bearbeiten aus fachlichen Gr nden zugesprochen wer den m te dies aber bei der durchgef hrten Indizierung unterbleibt Diese Be handlung der uses Beziehung zwischen den Anwendungsf llen Bestellung bear beiten und Lagerbestand ermitteln f hrt gerade zur Korrektur dieses Fehlers Brainstorming zur Indizierungserstellung Die folgenden Anwendungsfallbeschreibungen dienen als Grundlage f r die weite re Modellierung mit BASE Als Ersatz f r den Diskurs mit Fachexperten wurde hier eine Indizierung der Anwendungsf lle mit den beteiligten Dingen allein an hand des Textes vorgenommen Die entsprechende Auswahl ist die erste Entwurfs entscheidung die nachtr glich getroffen wurde und nicht dem Praktikum direkt entnommen werden konnte Sie ist in den Beschreibungen durch die fett und kursiv gedruckten W rter angedeutet In einem ersten Schritt wurde alle m glicherweise als interessante Dinge in Fra ge kommenden W rter markiert Speziell in F llen in denen Entwicklern sich mehreren Fachexpe
52. zu einer beliebigen Menge V lt X die Menge V die bzgl Inklusion kleinste H lle aus U ist in der V enthalten ist 77 3 3 Kontexte und Begriffsverb nde Wie schon oben angedeutet bildet ein H llensystem mit der Inklusionsordnung ei nen vollst ndigen Verband Verb nde dieser Art spielen in der Formalen Begriffs analyse eine zentrale Rolle Bis auf Isomorphie sind sogar alle vollst ndigen Ver b nde von dieser Form Satz 5 H llensysteme vollst ndige Verb nde Ist X eine Menge und Uc P X ein H llensystem auf X so ist U lt ein vollst ndiger Verband mit A NF und V Q UX f ralle aU Andersherum ist jeder vollst ndige Verband isomorph zum Verband der H l len eines H llensystems Beweis G W 96 0 3 Hilfssatz 3 S 9 Sei X eine Menge und Uc P X ein H llensystem auf X Wie in Beispiel 2 d auf Seite 69 schon gesehen gilt A QOZ in U c Nach Hilfssatz 4 ist U2 U U Wegen der Extensit t von gilt f r alle Ve daB VCUFCO UZ D h U 2 ist in U c eine obere Schranke von F r jede obere Schranke S von in U c gilt U CS Wegen Se U Up existiert ein Ue U mit S 0 Nach Hilfssatz 4 gilt damit auch PUE COS Oy O U O U S Also ist U2 VE Insgesamt ist U c ein vollst ndiger Verband Seinun V lt ein vollst ndiger Verband Betrachte x xe V Teilmengen von haben die Form x xe U mit einem UC V und es gilt N x xe
53. 1 so hei t C D ein Oberbegriff von A B geschrieben A B lt C D wenn AcC A B hei t dann Unterbegriffvon C D Die Bedingung D c B ist aquivalent zu A CC IG W 96 1 1 Definition 21 S 20 Die Ober Unterbegriffsrelation wird hier als Ordnung bezeichnet und durch das Zeichen lt notiert Dies ist gerechtfertigt weil sie ist durch die Inklusionsordnung auf der Potenzmenge der Gegenst nde P G definiert ist und formale Begriffe schon allein durch ihren Umfang festgelegt sind Deshalb bertragen sich die Ord nungseigenschaften Die quivalenz der Bedingung DCB erh lt man mit B A D C und A B C D aus Folgerung 2 b Auch die Ober Unterbegriffsordnung hat also dualen extensionalen und intensionalen Charakter Mit dieser Ordnung bilden die formalen Begriffe eines formalen Kontexts einen vollst ndigen Verband wie der n chste Satz zeigt Satz 7 Hauptsatz ber Begriffsverb nde Ist G M I ein formaler Kontext so ist B G M D B G M D lt mit der Ober Unterbegriffsordnung aus Definition 21 ein vollst ndiger Ver band mit AB Dafu tE T teT teT ee a Ya AB f r alle Indexmengen Tund 4 B E B G M I VteT Beweis G W 96 1 1 Satz 3 S 20 Nach Folgerung 2 a ist v2 B NA te T te T Also ist N A U B nach Hilfssatz 5 ein formaler Begriff te T teT Da er gerade das Infimum der Begriffe A B bildet ist nach der Definiti on der Ob
54. 2 dargestellten Liniendiagramme berechnet ist B 4 2 zu entnehmen Ab schnitt B 4 3 untersucht empirisch die Existenz interessanter Blockrelationen B 4 1 Erzeugung der Blockrelationen Wieder mu zu dem H llensystem der Blockrelationen ein H llenoperator gefun den werden Satz B5 H llenoperator fiir Blockrelationen Seien G M T ein endlicher formaler Kontext und BKR die Menge seiner Blockrelationen F r Jc Gx M definiere a P IUJU U etx UU m geG me M b Jo J und 4 a f r ke N c b J Ak Dann ist b PH G x M gt BR der H llenoperator zu BR Vergl Lin 99 3 9 Beweis Sei f r das folgende J c Gx M beliebig Mit G und M ist auch P G x M endlich Deshalb gibt es ein n e N mit I J Mit diesem n gilt also b J J und es ist b J b J Aus b J b J folgt b b J b J Also ist die Abbildung b idempotent Nach Definition ist b extensiv SeiiRcGxMmitJcR Dann gilt f r ge G da g meM g m e J Yge A C meM g m eR Vge A g JII x m 293 B 4 Berechnung von Blockzerlegungen Nach Folgerung 3 auf Seite 83 folgt daraus g g Analog erh lt man m c m f r alle me M Also ist J c R und so induktiv auch b J c b R Somit ist b monoton und insgesamt ein H llenoperator auf G x M Nach Konstruktion ist J c Jk chi Nach oben ist BI IUbNU U fet xe U m geG meM F r allege G gilt demnach ge go also nach Folgerung 2 c auf Seite
55. 200 return 1 201 202 endif 203 if has NFS 204 return unlink s 0 errno ENOENT 0 1 205 else 206 return unlink s 207 endif 208 209 endif 210 if has_rename 211 if has_NFS 212 define do_link s t link s t 213 else 214 static int do link P char const char const Abb 6 7 Code Fragment aus einem RCS Stream Editor Sind aber beide beteiligten Merkmalsbegriffe unvergleichbar spricht Snelting von einer Interferenz analog zu 6 3 In Abbildung 6 8 bildet etwa das Infimum der Merkmalsbegriffe zu bad_unlink und has_NFS eine Interferenz Diese kann eine Schwachstelle in der Konfigurationsstruktur kennzeichnen Dies ist der Fall wenn die beteiligten Ausdr cke sich gegenseitig ausschlie en und so die betreffenden Code St cke nie ausgef hrt werden oder wenn die Ausdr cke orthogonal zueinan der sind Dabei hei t orthogonal da sie verschiedene Aspekte des Konfigurati onsraums betreffen etwa zum einen die Benutzeroberfl che und zum anderen das Betriebssystem Im Sinne der Erweiterbarkeit und Wartbarkeit des Systems ist es vorteilhafter solche Konstellationen zu vermeiden um die verschiedenen Aspekte einer Konfiguration unabh ngig voneinander behandeln zu k nnen 235 6 4 Konfigurationsanalyse bad_unlink has_NFS has_rename Ihas_NFS bad_unlink has_NFS 190 193 198 201 204
56. 22 Anaconda Hauptideal zu Bestellposten anlegen Araorda Hauptfilter zur Wartekartei Anaconda Analysephasen in BASE Techniken von BASE Grobanalyse Untersuchung der Anwendungsf lle Feinanalyse Funktionale Zerlegung der Anwendungsf lle Anwendungsfall Editor in Beschreibungsansicht Anwendungsfall Editor in Zerlegungsansicht Liniendiagramm im Hauptfenster des Werkzeugs bersichtsdiagramm zu einer Komponentenzerlegung Detaildiagramm zu einer Komponentenzerlegung Ausgehend von Lieferkartei alle h heren Knoten Die obere Komponente aus Abbildung 5 5 Eine berpr fungsfrage Automatisch berechnetes Liniendiagramm Ausgangsdiagramm vor funktionaler Verfeinerung Liniendiagramm nach funktionaler Verfeinerung Ein neuer Modularisierungsvorschlag Fragen und Anwendungsfall Dialog Benutzte Bibliotheken Rs Grundlegende Klassen von BASE biectiF CBASEDoc und CBASEView ObiectF Klassen zur Darstellung von formalen Gegenst nden Merkmalen Diagrammknoten und linien Paradiem Einsatz von FBA im Software Engineering Klassenhierarchie in Eiffel bis zu 2 dimensionalen Arrays Anaconda 172 172 174 175 177 178 179 180 181 182 183 184 187 190 191 194 195 196 197 197 198 200 201 202 203 204 206 207 207 211 223 226 345 Abbildungsverzeichnis 6 3 6 4 6 5 6 6 6 7 6 8 6 9 6 10 7 1 A l B 1 B 2 B 3 B 4 B 5 B 6 B 7 B 8 B 9 B 10 B 11 B 12 B 13 346 Smalltalk Container Klassen
57. 23 alle ber den Infima liegenden Merkmalsbegriffe FOR r 0 TO m 1 Do mmlKn r f r Merkmalsbegriffe in B G M J FOR i 0 To M 1 Do mmlKn kn m B G M J mm1Kn kn m B G M J U kn m B G M T gesamte Begriffsinhalte in B G M J FOR r 0 TO n 1 DO FOR s 0 TO m 1 Do IF b Secgu n Ps THEN mmlKn r mmlKn r U mmlkKn s f r untere Schranken FOR r 0 TO m 1 Do us r kp k _1 FOR r 0 TO n 1 Do untere Schranken FOR s 0 TO m 1 DO IF k mmlKn r THEN us r us r N ideal k B G M I gr te untere Schranke FOR s 0 TO n 1 DO IF k e us r THEN us r us r N filter k 8 G M T us r enth lt nur noch das Infimum S 0 WHILE k us r DO S S 1 inf r k dasselbe zur Supremaermittlung ber die Ggst alle Gegenstandsbegriffe unter den Suprema FOR r 0 TO n 1 Do ggstKn r B Algorithmen zur FBA B11 24 f r Gegenstandsbegriffe in B G M J FOR i 0 To G 1 Do B11 25 ggstKn kn g B G M J ggstkKn kn g B G M J l vu kn g B G M I B11 26 gesamte Begriffsumf nge in B G M J FOR r 0 TO n 1 DO B11 27 FOR s 0 TO m 1 DO B11 28 IF bs Sycm n Pr THEN B11 29 ggstKn r ggstKn r U ggstKnls B11 30 f r obere Schranken FOR r 0 TO m 1 Do B11 31 os r ko kp B11 32 FOR r 0 TO
58. 3 3 4 3 5 3 2 1 Ordnungen 3 2 2 Verb nde 3 2 3 Liniendiagramme 3 2 4 Homomorphismen 3 2 5 Galois Verbindungen 3 2 6 H llensysteme Kontexte und Begriffsverb nde 3 3 1 Formale Kontexte 3 3 2 Formale Begriffe 3 3 3 Begriffsverb nde 3 3 4 Liniendiagramme von Begriffsverb nden Implikationen 3 4 1 Implikationen auf Mengen 3 4 2 Implikationen von formalen Kontexten Blockrelationen 4 BASE ein begriffsbasiertes Analyseverfahren f r die 4 1 4 2 4 3 4 4 4 5 Software Entwicklung Das Analysebeispiel Grundlegender Ansatz 4 2 1 Anwendungsf lle und ihre Behandlung in BASE 4 2 2 Die Anwendungsf lle des Analysebeispiels 4 2 3 Formaler Kontext 4 2 4 Liniendiagramm des Begriffsverbands Funktionale Zerlegung 4 3 1 Funktionale Verfeinerung des Anwendungsfallmodells 4 3 2 Abbruchkriterium f r die funktionale Zerlegung berpr fung des Modells 4 4 1 berpr fung durch Implikationen 4 4 2 Konsistenzpr fung anhand von uses Beziehungen Klassenkandidaten im Liniendiagramm 4 5 1 Klassenkandidaten unter den Dingen 4 5 2 Begriffe als Klassenkandidaten 61 62 64 64 67 70 74 76 76 78 79 81 83 86 91 92 105 110 125 126 126 126 130 134 137 141 141 157 157 159 159 159 160 4 6 Blockrelationen in BASE 4 6 1 Motivation und Idee des Vorgehens 4 6 2 Alternative Modularisierungsvorschl ge 4 6 3 Erzwungene Komponenten 4 6 4 Verschieden feine Komponentenzerleg
59. 4 20 wieder und Abbildung 4 22 die zugeh rigen Bl cke des originalen Begriffsverbands 164 4 BASE ein begriffsbasiertes Analyseverfahren f r die Software Entwicklung Maximalen und minimalen Lagerbestand definieren Maximalen und minimalen Lagerbestand definieren Maximalen und minimalen Lagerbestand definieren i i i 2 c 2 c 2 c 2 2 2 2 2 2 2 c 2 2 aalies aaie ER aaie salsejalei lo sal8snelils ESSE S e 3 2 2 a 9 ola Qo 2 a 9 ola Qo 2 a 9 ola Qo sj lv o Sila eI9 0 00 S lt E 5 2 9 0 00 S E 5 soalols ec ale ajaj Se alg wolol cle alg o oS STe Do oo SST s ao olo SST s ao SISIR BSE EN SISIR BSE EN SISIR BSE EN 88 38285 88 38215 88 38285 REISE BE REISE BE REISE BE Salal Salal Salal saelsalslele HKS SE HKS Kundenbestellung xXIX Kundenbestellung xXIx Rx KR Kundenbestellung xXIxX Kunde xs Kunde xix x de Kunde x x Bestellposten XIX xl KIX Bestellposten XIX X IXIX Bestellposten XIX XXIX Produkt XIXIXIX XXX Produkt XXX BOX lt lt Produkt XXX XL XIXIX Lagerbestand XXX Rx Lagerbestand xxx xix Lagerbestand xxx xX Lieferkartei x x_KX Lieferkartei x xX_KX Lieferkartei XDE xII Wartekartei x x Wartekartei x x Wartekartei xx x Vorgemerkte Menge XIX X Vorgemerkte Menge xix Vorgemerkte Menge x Nachbestellung KRXR Nachbestellung lt lt lt bed Nachbestellung Rx Lieferant x lt
60. 5 Anaconda 89 Implikationen auf a b c 93 Liniendiagramm mit Beispiel Implikation Anaconda 108 Formale Begriffe in der Kreuztabelle 111 Autoren und ihre Vorschl ge zur Klassenidentifikation Anaconda 111 Eine Blockrelation 113 Begriffsverband der Blockrelation Anaconda 113 343 Abbildungsverzeichnis 3 14 3 15 4 1 4 2 4 3 4 4 4 5 4 6 4 7 4 8 4 9 4 10 4 11 4 12 4 13 4 14 4 15 4 16 4 17 4 18 4 19 4 20 4 21 4 22 4 23 4 24 4 25 4 26 427 344 Liniendiagramm zur Blockrelation Anaconda Liniendiagramm mit Bl cken der Toleranzrelation Anaconda Identifizieren und Indizieren von Anwendungsf llen Anwendungsf lle des JWI Beispiels COD Behandlung von uses und extends Beziehungen Formaler Kontext zum JWI Beispiel Anaconda Liniendiagramm zum JWI Beispiel Anaconda uses Beziehungen im Liniendiagramm extends Beziehungen im Liniendiagramm Funktionale Zerlegung des Anwendungsfalls Bestellung annehmen Anwendungsfall Bestellung annehmen verfeinert Anaconda Funktionale Zerlegung des Anwendungsfalls Fehlbest nde nachbestellen Anwendungsfall Fehlbest nde nachbestellen verfeinert Anaconda Funktionale Zerlegung des Anwendungsfalls Bestellung bearbeiten Anwendungsf lle Bestellung annehmen und Bestellung bearbeiten verfeinert Anaconda Korrigiertes Liniendiagramm zum JWI Beispiel Anaconda Optimiertes Liniendiagramm zum JWI Beispiel Anaconda Funktionale Zerlegung des Anwendungsfalls L
61. 82 oo ge Also ist gi ein Begriffsinhalt von G M D Analog ist m f r jedes me M ein Begriffsumfang von G M I Damit ist b eine Blockrelation von G M D und DW GxM CBN Sei nun andersherum J eine Blockrelation von G M I bY BI x m b J Dann gilt Z c J und f r jedes ge G ist g ein Begriffsinhalt von G M I d h nach Hilfssatz 5 auf Seite 83 g m m f ralle me M Es folgt b J ITUJU U g xg u U m geG me M D h insgesamt b P Gx M BR g und ebenso gilt JII xim J Aus Satz B5 kann man eine Implementierung f r den H llenoperator zum System der Blockrelationen ablesen Sei G M I der betrachtete formale Kontext und J eine beliebige Relation zwi schen G und M Um die lektisch kleinste Blockrelation von G M I zu berech nen in der J enthalten ist trage man in der Kreuztabelle zu J zus tzlich alle Kreu ze von ein und f lle dann die Tabellenzeilen und spalten bis zum kleinsten sie umfassenden Begriffsinhalt bzw umfang des Ausgangskontexts auf Zur Be rechnung aller Blockrelationen startet man mit der kleinsten also der Inzidenzre lation des Ausgangskontexts und betrachtet weiter nur gr ere Relationen Des halb braucht man dabei die Vereinigung mit der Inzidenzrelation nicht zu ber ck sichtigen Zu kl ren ist jetzt noch wie die Numerierung der Elemente von G x M vorgenom men werden soll In der vorgenommenen Implementierung werden sie
62. A B ein formaler Begriff von G M J ist gilt 4 CA B B cB A Wie oben ist weiter B c B F r g B gilt ge Aund gm eI VmeB Es folgt g m e IM AxB K VmeB D h ge B Also ist B c B und insgesamt BY oR Damit ist B B B B B A B K Es folgt mit Folgerung 2 b auf Seite 82 B BS cD C undso C cB B Wie oben ist C c C F r me C git me B und g m Ee I VgeC Wegen C CA istalso g m e IO 4x B K VgeC D h me C Das bedeutet C c C also insgesamt Cie SDs Analog ist D C Damit ist C D B G M I CcA D cB ergibt somit C D B B 4 4 Die Bildung von Blockrelationen eines formalen Kontexts und Toleranzrelationen des zugeh rigen Begriffsverbands sind gleichbedeutend Die formalen Begriffe des durch eine Blockrelation neu definierten Kontexts entsprechen bestimmten In tervallen des originalen Begriffsverbands n mlich gerade den Bl cken der zuge h rigen Toleranzrelation Insbesondere haben formale Kontexte mit isomorphen Begriffsverb nden auch isomorphe Verb nde von Blockrelationen Satz 19 Blockrelationen und isomorphe Begriffsverb nde Seien G M I und H N R zwei formale Kontexte so da B G M D B A N R Dann sind nach Folgerung A1 auf Seite 268 auch die Verb nde der Block relationen von G M J und H N R isomorph 271 A 3 Blockrelationen Sei weiter J eine Blockrelation von G M J und S die nach d
63. Abbildung 4 22 179 4 7 Zur bersichtlichkeit des Liniendiagramms Steht einmal eine Komponentenstruktur die nach einer Blockrelation gebildet ist fest wird es dem Entwickler h ufig reichen nur die Komponente zu sehen Trotz dem mu das Systemmodell komponenten bergreifend gepflegt werden um Ab h ngigkeiten zwischen den Komponenten im Griff zu behalten Werden also inner halb einer Komponente neue Funktionen oder Dinge betrachtet ist auch die Indi zierung der restlichen Systemelemente die vielleicht noch nicht einmal wie in Abbildung 4 33 und Abbildung 4 34 zus tzlich angezeigt sind in bezug auf diese neuen Elemente zu hinterfragen und festzulegen Als andere Strukturen die formale Begriffe zusammenfassen waren in 4 3 1 und 4 5 1 wiederholt Hauptideale und filter genannt worden Hauptideale zu Merk malsbegriffen von Anwendungsf llen enthalten die bei der funktionalen Zerlegung des entsprechenden Anwendungsfalls entstandenen Funktionen Das Hauptideal zur Funktion Bestellposten anlegen aus der Verfeinerung des Anwendungsfalls Bestellung bearbeiten Abbildung 4 13 auf Seite 149 ist zum Beispiel in Abbildung 4 35 wiedergegeben Hauptfilter k nnen dazu dienen Attribute und Operationen zu Klassenkandidaten zu finden Bestellposten anlegen O A ai Bestellmenge ee Produkt Bestellposten Abb 4 35 Hauptideal zu Bestellposten anlegen Die Einschr nkung des Liniendiagramms auf
64. Abbildung B 4 304 B Algorithmen zur FBA Die Experimente lassen darauf schlie en da es sinnvoll ist in BASE zu fr h er stellten kleinen Liniendiagrammen Blockzerlegungen zu betrachten um das be trachtete System zu modularisieren Mit welcher Wahrscheinlichkeit damit zu rechnen ist nicht triviale Blockrelationen zu finden ist aus den gemachten Experi mente nicht zu schlie en da die Ergebnisse sehr streuen Dies m ten Praxistests mit echten Anwendungsfallmodellen zeigen F r kleine Kontexte scheinen aber akzeptable Werte erreicht zu werden B 5 Automatisches Zeichnen von Diagrammen Nach der Berechnung eines Begriffsverbands in den in B 2 dargestellten Schritten sind f r ein vollst ndiges Liniendiagramm nur noch die Koordinaten der Knoten zu bestimmen Daf r hat sich die Methode des additiven Zeichnens etabliert Diese Methode soll in B 5 1 kurz dargestellt werden ohne einen vollst ndigen Algorith mus anzugeben Es wird nur das Prinzip erl utert um eine innerhalb der Arbeiten zu BASE vorgenommene Modifikation im Abschnitt B 5 2 erkl ren zu k nnen Diese Modifikation soll verhindern da der oberste bzw unterste Diagrammkno ten in berproportional gro en Abstand zum restlichen Diagramm gezeichnet wird wie es bei der Methode des additiven Zeichnens h ufig der Fall ist F r BASE wurde noch eine andere Erweiterung des automatischen Zeichnens entwik kelt die es erlaubt neue Diagramme anhand von schon vorliegenden
65. Anla zu weiterf hrenden berlegungen gibt indem Zusammenh nge in ihrer Struktur dargestellt werden und so die Untersuchung von inhaltlichen Fragestellungen unterst tzt wird 3 4 Implikationen Mit dem formalen Kontext und dem Liniendiagramm des entsprechenden Begriffs verbands stehen bereits zwei verschiedene Repr sentationen des untersuchten Sachverhalts zur Verf gung Mit der Betrachtung von Implikationen kommt noch eine dritte interessante Darstellung hinzu Zun chst k nnen Implikationen aber unabh ngig von einem formalen Kontext f r beliebige Mengen erkl rt werden Bernhard Ganter und Rudolf Wille f hren in G W 96 Implikationen auch erst allgemein ein betrachten aber dann nur Merk malsimplikationen eines formalen Kontexts Die im folgenden weitgehend zitier ten Vincent Duquenne und J L Guigues die mit G D 86 die grundlegende Arbeit f r die Behandlung von Implikationen eines formalen Kontexts ver ffentlicht ha ben betrachten von vorn herein nur Merkmalsimplikationen Dies bedeutet aber keine Einschr nkung weil sich auf einer beliebigen Menge definierte Implikatio nen als Merkmalsimplikationen eines geeigneten Kontexts behandeln lassen siehe Bemerkung 7 auf Seite 105 Innerhalb von BASE werden nicht nur Implikationen zwischen formalen Merkma len sondern insbesondere Implikationen zwischen formalen Gegenst nden unter sucht Diese ergeben sich aber vollkommen dual Die sonst bliche Einschr nkung auf die Bet
66. Autoren betrachten Organisationen auf drei Ebenen Im essential level wird dabei ebenfalls die funktionale Sicht betont und die untersuchte Organisation als ein System von Aktoren betrachtet die in Gesch ftsprozessen zusammenarbeiten Im Gegensatz zu den Autoren halte ich eine st rkere Fokussierung auf die funktionalen Anforderungen auch bei den Analysemodellen in der Software Entwicklung f r angebracht 244 7 Zusammenfassung und Ausblick Grundlage wird dann ein Klassenmodell erstellt Die zun chst wichtigsten Klassen f r ein Modell sind Entit tsklassen im Sinne von Jacobson siehe 2 5 auf Seite 54 Unter ihnen befinden sich in erster Linie solche die Daten ber Dinge des Untersuchungsbereichs verwalten Deshalb wird in BASE die funktionale Systemuntersuchung ber die Anwendungsf lle mit einer Betrachtung solcher Dinge verbunden Die in BASE aus diesem Ansatz heraus entwickelten Liniendiagramme stellen komplement r eine funktional gepr gte und eine datenorientierte Sicht auf das zu entwickelnde System dar Das liefert ein globales Bild der Datenabh ngigkeiten des Anwendungsfallmodells Die Bedeutung der untersuchten Modellelemente f r das Gesamtsystem ist den Diagrammen direkt zu entnehmen Von oben nach unten gelesen wird die top down Entwicklung der Systemfunktionalit t von allgemeinen zu spezialisierten Funktionen nachvollzogen Dual nimmt von unten nach oben die Bedeutung der betreffenden Dinge ab Quasi in der Diagr
67. Begriffe die in ihrem 236 6 Verwandte Anwendungen von FBA Umfang gerade die aktiven Code St cke zusammenfassen 6 5 Komponentensuche Um die Wiederverwendung einmal erstellter Entwicklungsergebnisse zu erm gli chen m ssen diese in einem Bibliothekssystem verwaltet werden das eine effekti ve Suche nach Software Komponenten und anderen in Projekten erstellten Doku menten Spezifikationen Entwurfsmuster etc erm glicht Christian Lindig unter sucht in Lin 95 wie diese Suchaufgabe mit Hilfe von Formaler Begriffsanalyse unterst tzt werden kann Der von ihm genutzte grundlegende Ansatz findet sich in vielen Zusammenh ngen siehe z B K N 96 C E 96 C E 99 Bec 99 EKSW 00 R W 00 file create directory write read new owner permission check l status group mode access get output open input remove process chown chmod On OWN write open read chdir rmdir creat tork mkdir Abb 6 9 UNIX Betriebssystembefehle und zugeh rige Schlagw rter Als formale Gegenst nde werden die zu suchenden Dokumente behandelt als for male Gegenst nde sie beschreibende Schlagw rter Lindig behandelt als Beispiel UNIX Betriebssystembefehle Die entsprechenden Schlagw rter entnimmt er den zugeh rigen Beschreibungen Dabei kann er auf ein weitgehend standardisiertes Vokabular zur ckgreifen Den genannten Ans tzen ist gemein
68. Braunschweig 1991 C Lindig Komponentensuche mit Begriffen Proceedings Software technik 95 Braunschweig S 67 75 Oktober 1995 C Lindig Analyse von Softwarevarianten Informatik Bericht 98 04 Technische Universit t Braunschweig Januar 1998 C Lindig Algorithmen zur Begriffsanalyse und ihre Anwendung bei Softwarebibliotheken Dissertation Technische Universit t Braun schweig http www gaertner de lindig diss 1999 C Lindig G Snelting Assessing Modular Structure of Legacy Code Based on Mathematical Concept Analysis Proceedings of the Inter national Conference on Software Engineering ICSE 97 Boston USA pp 349 359 1997 D Leffingwell D Widrig Managing Software Requirements A Unified Approach Addison Wesley Object Technology Series 2000 B H Liskov S Zilles Programming with Abstract Data Types Sig plan Notices vol 9 no 4 pp 50 59 1974 T J McCabe A Complexity Measure IEEE Transactions on Soft ware Engineering vol 2 no 4 pp 308 320 December 1976 B Meyer Object oriented Software Construction Prentice Hall In ternational 1988 B Meyer Lessons from the Design of the Eiffel Libraries Commu nications of the ACM vol 33 no 9 pp 68 88 September 1990 B Meyer Eiffel The language Prentice Hall Object oriented Se ries 1992 microTOOL GmbH objectiF http www microtool de objectiF 1999 MID GmbH Innovator http www mid de 1999 G A Miller The mag
69. D Eschenfelder W Kollewe M Skorsky R Wille Ein Erkun dungssystem zum Baurecht Methoden der Entwicklung eines TOS CANA Systems in S W 00 2000 D W Embley B D Kurtz S N Woodfield Object Oriented Systems Analysis A Model Driven Approach Yourdon Press Com puting Series Prentice Hall Englewood Cliffs New Jersey 1992 Erd 98 Ern 82 FGT 98 FHL 98 FKM 96 FLS 95 Fow 97 F S 97 Gan 87 Gan 99 Gan 00 Literatur M Erdmann Formal Concept Analysis to Learn from the Sisyphus III Material In Proceedings of the 11th Knowledge Acquisition for Knowledge Based Systems Workshop KAW 98 Banff Canada 1998 M Ern Einf hrung in die Ordnungstheorie B I Wissenschafts verlag Z rich 1982 P Franke T Graf M Trouvain Einarbeitung in UML 1 1 anhand eines Fallbeispiels Fortgeschrittenenpraktikum Informatik im WS 1997 98 http www mathematik uni marburg de hesse uml Welcome htm 1998 E Falkenberg W Hesse P Lindgreen B E Nilsson J L H Oei C Rolland R K Stamper F J M Van Assche A A Verrijn Stuart K Voss FRISCO A Framework of Information System Concepts The FRISCO Report http www liacs nl verrynst frisco html 1998 G Fliedl C Kop W Mayerthaler H C Mayr C Winkler NTS Based Derivation of KCPM Cardinalities From Natural Language to Conceptual Predesign in R P van de Riet J F M Burg A J van der Vos eds Applications
70. Diagramme finden sich in hinreichend gro er und bis in die Einzelheiten lesbarer Darstellung in Kapitel 2 Abbildung 2 6 auf Seite 46 Abbildung 2 3 auf Seite 36 und Abbildung 2 4 auf Seite 39 Zun chst sind die Anwendungsf lle zu identifizieren und zu beschreiben Die Ge samtheit der Anwendungsf lle jeweils in Ovalen angegeben ergibt die Funktio nalit t des Systems Kasten um die Ovale Sie wird genutzt durch Akteure au er halb des Systems Die Beschreibung der einzelnen Anwendungsf lle geschieht in Prosa gew nscht ist aber eine Beschreibung formalerer Art die im Hinblick auf den sp teren Systementwurf weniger Mehrdeutigkeiten enth lt Weitverbreitetes Mittel hierzu sind Interaktionsdiagramme wie das in Abbildung 2 7 rechts stehen de Sequenzdiagramm In ihnen wird die Interaktion zwischen Objekten des Sy stems beschrieben die zur Bearbeitung eines Anwendungsfalls durch das System n tig ist Die betreffenden Klassen und ihre Beziehungen untereinander werden im Klassendiagramm in Abbildung 2 7 links dokumentiert Das Anliegen von BASE ist es die Gewinnung von Klassen aus dem Anwendungsfallmodell zu unterst t zen und auch die Modellierung in Sequenzdiagrammen dadurch zu erleichtern da zun chst nur die Einzelschritte identifiziert werden m ssen und nachtr glich auf der Grundlage eines schon weiter ausgepr gten Systemverst ndnisses den gefun denen Klassen zugeordnet werden k nnen Die angesprochenen Modelle beschreibe
71. Diese ein heitliche Sprechweise erleichtert die Darstellung Au erdem zeigen die bisher durchgef hrten Untersuchungen mit dem im folgenden geschilderten Blockrelatio nenansatz da meist grobe Systemzerlegungen erzeugt werden Im folgenden ist die Verwendung von Blockrelationen innerhalb von BASE an hand des JWI Beispiels erkl rt Bei der Darstellung der Ergebnisse werden die tri vialen Blockrelationen nach Bemerkung 8 auf Seite 113 d h die urspr ngliche Inzidenzrelation und die vollst ndige Relation G x M nicht weiter betrachtet Sie liefern nichts Neues oder die gr bstm gliche Sicht auf das System in der keine Modellelemente unterschieden werden 4 6 2 Alternative Modularisierungsvorschl ge Der unverfeinerte Begriffsverband aus Abbildung 4 15 auf Seite 150 hat drei nicht triviale Blockrelationen Die entsprechenden formalen Kontexte sind in Abbildung 4 20 wiedergegeben In den Kreuztabellen der Blockrelationen sind neu erzeugte Kreuze dick schon in der originalen Inzidenzrelation nach der Ber ck sichtigung der uses Beziehungen vorhandene d nn gezeichnet Einfacher zu interpretieren sind nat rlich wieder die entsprechenden Liniendia gramme Sie sind im folgenden zusammen mit den Bl cken im originalen Linien diagramm angegeben Dabei werden die formalen Kontexte aus Abbildung 4 20 in der Reihenfolge von links nach rechts betrachtet Abbildung 4 21 gibt den Begriffsverband zur ersten Blockrelation aus Abbildung
72. F r xe V gilt y x y ye V y lt x ye V xsy x F r 4 B e B V V lt ist B A ze V y lt z Vye A ze V Vp4 lt z und A BY ze V VpA lt zY ze V z lt V 4A Also ist POA B V74 ize V z lt V Ahtze V VyAszt 4 B Damit ist ein Ordnungsisomorphismus zwischen V lt und B V V lt Mit G M J ist auch M G I ein formaler Kontext Dieser Kontext f hrt ge rade zum dualen Begriffsverband Satz 9 Dualer Begriffsverband Ist G M I ein formaler Kontext so gilt 3 M G r S8 G M D und B M G r gt B G M D o B A A B ist ein Isomorphis mus G W 96 1 1 S 22 85 3 3 Kontexte und Begriffsverb nde Beweis Es gilt fir 4 c G und B c M B A e B M G T amp B A ud 4 B e ge G mI g Yme B A und me M mI g Vge A B gce G gIm Vme B A und me M gIm YVgEeA B oB A ud 4 B amp ABE BGM Also ist wohldefiniert und bijektiv Weiter gilt f r A B C D B G M D B A Say g ry D BED C D Sag u n 4 B A B lt gt MUB M Sy a PD Also ist ein Ordnungsisomorphismus und B M G I 1 B G M I B G M n6 D Damit kann man die Rollen von formalen Gegenst nden und formalen Merkmalen vertauschen Nach einer solchen Vertauschung betrachtet man lediglich den dualen Verband Ein zugeh riges Liniendiagramm stellt sich dabei einfach auf den Kopf 3 3 4 Liniendiagramme von Begriffsverb nden
73. Folge rung 6 auf Seite 88 sind die Atome Gegenstandsbegriffe Der entsprechende for male Gegenstand zu einem Atom kommt nur gr eren Begriffen zu also nicht den anderen Atomen Dual ist die Anzahl der Coatome eines Begriffsverbands durch die Anzahl der formalen Merkmale beschr nkt Als Laufzeitabsch tzung f r Algorithmus B12 ergibt sich damit O n mit n max G M Die vorher zu erfolgende Bestimmung der Atome bzw Coatome verursacht asymptotisch keinen zus tzlichen Aufwand weil sie bei der Berechnung der Diagrammkanten mit abf llt Allerdings m ssen die Atome Coatome zus tzlich sortiert werden was mit einem einfachen Sortierverfahren einen Aufwand von O n verursacht Alternativ k nnte man sie in einem bin ren Suchbaum speichern oder ein schnelleres Sortierverfahren anwenden und bek me eine Komplexit t von O n logn In jedem Fall ist dies gegen ber dem Aufwand zur Berechnung der Vektoren vernachl ssigbar Asymptotisch erh ht also die Nachbehandlung von Infimum bzw Supremum den Aufwand zur Liniendiagram merstellung nicht Algorithmus B12 wurde innerhalb der Arbeiten zu BASE f r formale Gegenst nde und Merkmale als Erweiterung der Liniendiagrammberechnung in The Formal Concept Analysis Library integriert Dazu wurde in der entsprechenden Operation der Klasse TFormalContext siehe 5 4 2 die M glichkeit erg nzt ber einen Para meter die Nachbehandlung des Infimums Supremums zu aktivieren Andere Bits des scho
74. Folgerung 3 auf Seite 83 e die Begriffsinhalte eines formalen Kontexts Folgerung 3 e die Pseudoumf nge und Begriffsumf nge eines endlichen formalen Kontexts zusammen Satz B3 auf Seite 287 die Pseudoinhalte und Begriffsinhalte eines endlichen formalen Kontexts zusam men Satz B3 e die Blockrelationen eines formalen Kontexts Satz 15 auf Seite 114 Deshalb wird zun chst erl utert wie die Mengen eines H llensystems zu einem H llenoperator Definition 17 auf Seite 77 auf einer endlichen Menge X be rechnet werden k nnen Dies liefert der H llenalgorithmus von Ganter G W 96 2 1 S 67 Die Ideen hinter diesem Algorithmus und der Algorithmus selber sind im folgenden wiedergegeben B 1 1 Potenzmengenaufz hlung in lektischer Ordnung Insbesondere ist auf jeder Menge X die zugeh rige Potenzmenge P X ein H l lensystem Daher ist damit zu rechnen da ein H llensystem zu einer n elementi gen Menge 2 Elemente besitzt Es ist in den meisten F llen schwierig die Gr e des zu berechnenden H llensystems a priori abzusch tzen Deshalb werden die H llen durch Ganters Algorithmus sukzessive berechnet Dazu m ssen sie linear aufgez hlt werden k nnen damit zu jeder H lle klar ist welches die n chste ist Kann man die Potenzmenge P X in einer solchen Weise aufz hlen ergibt sich auch f r jedes in ihr enthaltene H llensystem eine lineare Aufz hlung Aufgabe ist also eine lineare Ordnung auf P X bereitzustellen
75. Formalen Begriffsanalyse ausgenutzt siehe Anhang B 1 auf Seite 276 Hilfssatz 4 _ H llensystem lt gt H llenoperator Sei X eine beliebige Menge Ist UC PX ein H llensystem auf X so definiert OV N Ae U VCA f r VCX einen H llenoperator auf X Ist umgekehrt P X gt P X ein H llenoperator auf X so ist das System seiner H llen U Z ZC X ein H llensystem auf X Weiter ist und ll U Beweis G W 96 0 3 Satz 1 S 9 Seien also Uc P X ein H llensystem auf X und V Wc X Gilt V c W so ist f r alle 4 e U mit WC A auch VCA und so OV Ae UL VCAS CN Ae UL WA QM D h ist monoton Weiter ist VEN Ae U VCA amp V also Qu extensiv Damit ist f r alle A e U mit V CA auch VCA Andersherum gilt mit VC A auch V N Ae U VCA CA Das bedeutet OAV Ae ULV CA O A U OV CA Pulp 255 A 2 Implikationen Also ist idempotent und insgesamt ein H llenoperator Sei nun umgekehrt P X gt P X ein H llenoperator auf X Dann gilt f r UI wegen der Extensit t von sicher VEC N Sei Ve Z Weil Ve fell Q Z ZCX gibt es ein Wc X mit V W also P V 9 W oW V Dann ist NX lt V und nach der Monotonie von damit O N CO V V Insgesamt folgt also auch die andere Inklusion p 1 2 CO 2 Somit ist MX eine H lle von und ll ein H llensystem Weiter gilt f r und Vc X PN NAell 2 II A e Q Z ZEX Vc MHZ ZcX un
76. Hilfssatz 5 auf Seite 83 sind yg und um formale Begriffe des Kontexts G M 1 Folgende Charakterisierung von Gegenstands und Merkmalsbegriffen liefert die Begr ndung f r die angesprochene reduzierte Schreibweise in Liniendiagrammen von Begriffsverb nden Folgerung 4 Charakterisierung von Gegenstands Merkmalsbegriffen Sind G M I ein formaler Kontext und ge G und me M so gilt yg M A B e B G M I ge A um V A B e B G M I me B Beweis Ist A B e B G M I mit ge A so gilt nach Folgerung 3 auf Seite 83 g CA A also yg g g lt A B Au erdem ist ge g also A 4 B B G M D ge A Sg Damit folgt die Gleichheit F r um dual yg ist f r einen formalen Gegenstand g also der kleinste Begriff der g in seinem Umfang f hrt und dual um der gr te Begriff der m in seinem Inhalt enth lt Bei der Beschriftung des Liniendiagramms tr gt man g demnach nur am zu yg geh renden Knoten an alle mit aufsteigenden Linienz gen erreichbaren formalen Be griffe enthalten ebenfalls g in ihren Umf ngen Dual notiert man m nur am zu um geh renden Knoten an alle mit absteigenden Linienz gen erreichbaren formalen Begriffe enthalten auch m in ihren Inhalten Man nennt dies eine reduzierte Be schriftung im Gegensatz zu der in Beispiel 6 benutzten vollst ndigen Notation Je der formale Begriff ist als Infimum von Merkmalsbegriffen oder als Supremum von Gegenstandsbegriffen darstellbar 87 3 3 Kontexte un
77. In strument zur Datenanalyse entwickelt siehe G W 96 Die grundlegende Kon struktion eines vollst ndigen Verbands aus einer beliebigen bin ren Relation die in der Formalen Begriffsanalyse von einem formalen Kontext zu einem Begriffs verband f hrt findet sich schon bei Garret Birkhoff Bir 67 Auch die Interpreta tion von Gegenst nden und Merkmalen behandelt er am Rande in Verbindung mit der Booleschen Logik Bir 40 VIII S 122 ff 3 3 1 Formale Kontexte Grundlage einer formalen Begriffsanalyse ist ein formaler Kontext Er umfa t die betrachteten Gegenst nde und Merkmale und die Gegenstand Merkmal Zuord nung Dabei ist die Bezeichnung Kontext im herk mmlichen Sinne zu verstehen Der formale Kontext gibt den Rahmen an in dem die weiter folgende Analyse g l tig ist Verl t man diesen Rahmen verliert sie eventuell ihre G ltigkeit Der wich tigste Schritt bei der Formalen Begriffsanalyse ist demnach die Auswahl eines pas senden formalen Kontexts 79 3 3 Kontexte und Begriffsverb nde Definition 18 Formaler Kontext Ein formaler Kontext G M I besteht aus zwei Mengen G und M und einer bin ren Relation zwischen G und M Die Elemente von G hei en formale Gegenst nde die von M formale Merkmale und I hei t Inzidenzrelation gIm mit ge Gund me M wird gelesen als Der Gegenstand g tr gt das Merkmal m G M I hei t endlich wenn G und M endlich sind G W 96 1 1 1 Definition 18 S 17
78. Kanonische saturierte Basis Sei X eine endliche Menge und R c P X ein System von Teilmengen Ist eine Implikationenfamilie 3 c PA f r R vollst ndig so gibt es zu jeder Implikation p5 V gt ky V aus DOQOy X eine Implikation U gt W e Smit Ucpy V und ky U kylV Haben alle Implikationen aus 3 eine DG saturierte Pr misse so gilt sogar U p amp V Beweis Vergl G W 96 2 3 Hilfssatz 25 S 84 Sei also py V gt ky V DOQOy X beliebig Nach Satz Al gilt dann py V gt ky V in R Nach Voraussetzung folgt also p5 V gt ky V aus 3 Wegen py V ky V respektiert p5 V die Implikation py V gt k5 V nicht Damit kann pV auch nicht 5 respektieren D h es gibt U gt W e S mit Ucpy V und Wg pV Ware ky U ky V so ware nach Hilfssatz 10 auf Seite 95 und Hilfssatz A2 e auf Seite 257 WCky U S pal V Also ist ky U kylV Wegen der Minimalit t von V folgt py U pal V Ist U DG saturiert d h U py U istalso U py V In diesem Sinne ist also DONO X genau wie DD X minimal vergl Satz 12 auf Seite 102 Nun folgt auch die Gleichheit der beiden Basen 261 A 2 Implikationen Satz A2 Duquenne Guigues Basis f r formale Kontexte Sei X eine endliche Menge und R c P X ein System von Teilmengen Dann ist DOOg X DIN G W 96 2 3 S 83 Beweis Sei also V CX eine saturierte Pr misse nach Definition 29 auf Seite 99 und damit V gt ky V D X Weil DONO X nach Satz Al auf Seite
79. Klasse Figur in Frage Auch wenn eine Zeichnung Rechtecke enth lt werden diese in Variablen des Typs Figur gespeichert Beim Anlegen der Liste findet in diesem Fall also eine polymorphe Zuweisung statt Beim sp teren Zugriff steht 28 2 Objektorientierte Anwendungsentwicklung dann aber zun chst nur die Information zur Verf gung da es sich um Figuren handelt Zeichnung Figur enth lt elemente ArrayOfFigur Fl cheBerechneniint Fl cheAngebeniint z i lt lt instanceOf gt gt ___ lt lt lt instanceOf gt gt f1 Figur element 0 __ gt z Zeichnung __element 1 ua Rechteck gt f2 Rechteck lt lt instanesOf gt gt __ FlacheAngeben int Abb 2 2 Klassen und Objekte eines Grafik Programms Um die Gesamtfl che einer Zeichnung zu berechnen m ssen die Fl chen der ein zelnen Figuren bestimmt werden Aus Effizienzgr nden sollte f r Rechtecke die einfachere Berechnungsvorschrift f r ihre Oberfl che benutzt werden Die Bei spielzeichnung z schickt jetzt einfach an beide Figuren element 0 und element 1 die selbe Nachricht und ruft die Operation Fl cheAngeben auf Es wird dann automatisch die Implementierung des dynamischen Typs der jeweiligen Figur zur Ausf hrung gew hlt also f r fl die komplexe und f r das Rechteck f2 die einfache Berechnungsvorschrift Zusammen mit der Vererbung erm glicht das Prinzip der Polymorphie die
80. Klassen des in Kapitel 5 vorgestellten Werkzeugs angegeben 20 Objektorientierte Anwendungs entwicklung Dieses Kapitel ist den Grundlagen der objektorientierten Anwendungsentwicklung wie sie BASE zugrunde liegen gewidmet Der erste Abschnitt 2 1 f hrt das verwendete Vokabular f r das generelle Vorgehen bei der Software Entwicklung ein In 2 2 werden die grundlegenden Ideen der Ob jektorientierung darstellt Diese entstammen der objektorientierten Programmie rung OOP In 2 3 werden sie explizit in den Kontext der Systemanalyse ger ckt Abschnitt 2 4 stellt die am weitesten verbreiteten objektorientierten Methoden vor Sie zeichnen sich einmal durch die von ihnen als Beschreibungsmittel vorgesehe nen Modelle d h ihre Notation und zum anderen durch ein Vorgehensmodell das die Anwendung der Modelle innerhalb der Entwicklung vorgibt aus Durchge hend wird als Notation die UML Unified Modeling Language BJR 97 in der Version 1 1 benutzt w hrend bei der Darstellung der Vorgehensaspekte die ver schiedenen Methoden einzeln ber cksichtigt werden weil sich f r diesen Bereich noch kein weitgehend akzeptierter Standard herausgebildet hat Der Abschnitt 2 5 widmet sich dann ausf hrlicher der Methode der Anwendungsfall getriebenen Analyse wie sie von Jacobson eingef hrt und f r BASE bernommen wurde In 2 6 wird untersucht welche Vorgehensweisen innerhalb verschiedener bekannter Entwicklungsmethoden vorgesehen sind
81. Menge entsprechend heraufgesetzt werden Durch die Beachtung dieses Umstands erfolgt die Verbindung von Fehl best nde nachbestellen und Bestellung bearbeiten im neuen Diagramm ber einen neuen h heren Knoten und der Gegenstandsbegriff zur Vorgemerkten Menge liegt nun im Gegensatz zu vorher im Hauptideal von Bestellung bearbeiten Sein oberer Nachbar ist neu erzeugt worden da Fehlbest nde nachbestellen Bestellung bear beiten zuvor kein Begriffsinhalt war Alle anderen Ver nderungen des Dia gramms sind allein der funktionalen Zerlegung zuzuschreiben und finden sich im Hauptideal zu Bestellung bearbeiten Das liegt darin begr ndet da die urspr ngli che Indizierung nur in bezug auf die Vorgemerkte Menge ge ndert wurde Aller dings sind die Positionen der Merkmalsbegriffe zu den Anwendungsf llen Bestel lung annehmen und Bestellung bearbeiten vertauscht um die Abh ngigkeiten zwi schen Bestellung bearbeiten und Fehlbest nde nachbestellen bersichtlicher dar stellen zu k nnen Bestellposten Kartei zuordnen gt Bestand korrigieren Vormerken Vorgemerkte Menge 1 Wartekarteieinti l tan artekarteieintrag anlegen Ze Bestellmenge Wartekartei Abb 4 13 Anwendungsf lle Bestellung annehmen und Bestellung bearbeiten verfeinert Abbildung 4 14 zeigt die nderung aufgrund der korrigierten Indizierung im nicht verfeinerten Diagramm noch einmal einzeln Ihr zugrunde liegt der urspr ngliche K
82. Mengen X und Y ist eine Teilmenge des kartesischen Produkts X x Y Statt x vy R schreibt man auch x R y Ist X Y so hei t R bin re Relation auf X Durch die Vorschrift yR x gt xRy f rye Yundxe X erh lt man die zu R inverse Relation R zwischen Y und X auch konverse Relation genannt G W 96 0 1 Definition 1 S 1 3 2 1 Ordnungen Das zentrale Konzept dieses Kapitels ist das der Ordnung Definition 2 Ordnung Eine bin re Relation R auf einer Menge X hei t reflexiv wenn xRx Vxe X Eine bin re Relation R auf einer Menge X hei t antisymmetrisch wenn xRy und yRx gt x y Vx ye X Eine bin re Relation R auf einer Menge X hei t transitiv wenn xRy und yRz gt xRz Vx y zEX Eine reflexive antisymmetrische und transitive Relation auf einer Menge X hei t eine Ordnung auf X X R hei t dann geordnete Menge G W 96 0 1 Definition 2 S 1 64 3 Formale Begriffsanalyse Beispiel 1 Ordnungen a lt auf der Menge der reellen Zahlen R ist eine Ordnung mit der man t g lich umgeht zumindest mit ihren Einschr nkungen auf Teilmengen z B lt auf 0 9 b Genauso gel ufig ist die alphabetische Ordnung lt auf 1a Z Weil eine Relation als Teilmenge eines kartesischen Produkts erkl rt ist kann man durch Mengenoperationen neue Relationen erkl ren Zum Beispiel ist lt U S eine Ordnung auf 10 9 U a z denn die Reflexivit t bertr gt sich direkt von den Ausgangsordnunge
83. Nach James Rumbaugh f hrt gera de der objektorientierte Ansatz dazu da die Entwickler sich mit den Begriffen des Anwendungsbereichs zu besch ftigen haben An object oriented development ap proach encourages software developers to work and think in terms of the applica tion domain through most of the software engineering life cycle It is only when the inherent concepts of the application are identified organized and understood that the details of data structures and functions can be addressed effectively Ob ject oriented development is a conceptual process RBP 91 S 4 James Martin und James Odell lassen sich in ihren B chern erst einmal ber Be griffe aus M O 95 S 25 To learn the fundamentals of object orientation we first need to understand what concepts are and how they are used An object is an instance of a concept Da die zu Anfang der Entwicklung modellierten Klassen wegweisend fiir den ganzen Entwicklungszyklus sind kommt ihrer Wahl eine besondere Bedeutung zu Als Klasse zu modellieren sind ausgew hlte Begrif fe des Untersuchungsbereichs Vergl RBP 91 S 5 The objects in the model should be application domain concepts und Str 92 S 11 Der Schl ssel zum guten Programm ist die Definition von Klassen die jeweils ein einzelnes Konzept sehr rein repr sentieren Martin und Odell schreiben dazu Object types are important because they create conceptual build
84. O x o gt P x o ordnungserhaltend Nach Konstruktion sind und p zueinander invers Also ist der gesuchte Isomorphismus Nun bekommt man auch eine Isomorphie zwischen den formalen Begriffen eines aus einer Blockrelation neu gebildeten Kontexts und den Bl cken der entsprechen den Toleranzrelation Satz 18 Blockrelation lt gt Toleranzrelation Seien G M J ein formaler Kontext eine vollst ndige Toleranzrelation auf B G M I und J die zugeh rige Blockrelation von G M T mit B aus Satz 16 auf Seite 264 Dann sind B G M 1 und B G M J isomorph Genauer gilt a B B A AD ist genau dann ein Block von wenn A B ein for maler Begriff von G M J ist 269 A 3 Blockrelationen b Die Abbildung B B A A gt A B ist ein Isomorphismus zwi schen B G M I und B G M J c F r A B e B G M J gilt f r den zugeh rigen Block von da B B A A B A B IA AXB Beweis G W 96 3 4 Korollar 57 S 125 a gt Sei B B A A ein Block von Dann gibt es einen formalen Begriff C D B G M I mit B B A 4 C D lo Also ist nach Hilfssatz 20 auf Seite 120 B B C D e C C und A A C D o C C Damit ist A B Cr oA es ein formaler Begriff von G M J Sei A B ein formaler Begriff von G M J Dann ist nach Folgerung 2 c a auf Seite 82 A B N m als
85. O Va te T te T Also ist Va _ Are V xO van fs Vao te T te T teT Ist andersherum y V mit y Va so gilt f r jedes se T da te T VAs yAA xE V xOa jJO Va a Aa a te T xeV F r jedes se T giltalsoy2yaAa g2A xe V xOa ay Damit ist y2 Va seT Schlie lich folgt hieraus Va xe V xO Va 2 Vas teT teT seT o Insgesamt gilt die behauptete Gleichheit o F r Aa Na dual teT teT Jetzt kann man feststellen da auch die Bl cke einer Toleranzrelation einen voll st ndigen Verband bilden 119 3 5 Blockrelationen Satz 17 Verband der Bl cke Sind V ein vollst ndiger Verband und eine vollst ndige Toleranzrelation auf V so ist V O ein vollst ndiger Verband mit V a lo Val und teT teT o Alai Aa f r jede beliebige Indexmenge T und Elemente a V teT teT Beweis G W 96 3 4 Satz 14 S 122 Nach Hilfssatz 19 ist Va V ter 9 te Also ist Vals gt a lo f rallese T teT Ist andersherum 5 ein Block mit b o 2 a f r alle se T so gilt be 4 f r alle s T und deshalb bg 2 Vaso Va seT teT D h blo 2 Va ter 9 gk T Damit existiert V a o und esist V a o Va te T te T te T o Dual gilt Ala Aa te T teT Im Falle eines Begriffsverbands lassen sich die Intervallgrenzen von Bl cken einer Toleranzrelation mit Hilfe der originalen Inzidenzrelation und der zugeh rigen Blockre
86. Ordnungstheoretische Grundlagen st ndigen Verbandshomomorphismus wieder ein vollst ndiger Verbandshomo morphismus Deshalb sind in Definition 14 Verbandsisomorphismen gar nicht erst gesondert definiert Hilfssatz Al Umkehrabbildung von Verbandshomomorphismen Sind V und W zwei vollst ndige Verb nde und V W ein bijektiver vollst ndiger A Morphismus bzw v Morphismus so ist auch o ein vollst ndiger A Morphismus v Morphismus Vergl Ern 82 6 2 Lemma S 114 Beweis Betrachtet wird der Fall eines vollst ndigen A Morphismus Die Behandlung von v Morphismen ist analog und der Fall nicht vollst ndiger Verb nde ergibt sich durch Einschr nkung auf zweielementige Mengen Y Sei Y w te T CW Dann ist 9 Aw An foo te 7 o ofato oware 7H Ay fo owore 7 Ay 0 Also ist auch o ein vollst ndiger A Morphismus Satz 4 Verbandsisomorphismus Ordnungsisomorphismus V und W seien zwei Verb nde und V gt W eine Abbildung a ist genau dann ein bijektiver Verbandshomomorphismus wenn ein Ordnungsisomorphismus ist b Sind V und W vollst ndige Verb nde so ist zus tzlich zu den beiden Eigenschaften aus a quivalent da ein bijektiver vollst ndiger Ver bandshomomorphismus ist Bir 67 1 3 Lemma 2 S 24 Ern 82 6 5 Satz S 116 Beweis Gr 98 1 3 S 20 vergl Ern 82 6 4 Proposition S 116 Zeige Ist supremum erhaltend so auch ordnungserhaltend
87. Projekt bzw der gerade ge ffneten Datei 1 erstellt CBASEApp eer CSingleDocTem CBASEDoc 1 qbezieht Diagrammdaten aus CBASEView 1 ie dA n d CWinApp CScrollView v CDocument CView CDocTemplate CMainFrame CFrameWnd Abb 5 15 Grundlegende Klassen von BASE enth lt als Projektdatei CBASEDoc 4 CBASEView halt Anwednungsfalldaten i enth lt als Aktuelles Modell TFormalContext p stellt dar TLineDiagram A TWFCAFile M TFCAFile TIFCAArray TFCAObject A Abb 5 16 CBASEDoc und CBASEView 207 5 4 Technischer Aufbau des Werkzeugs Im Falle von BASE gibt es auch jeweils nur ein View Objekt Nur die Diagram mansicht ist so programmiert Daten zu den Anwendungsf llen und berpr fungs fragen werden wie schon in 5 1 erl utert in Dialogen pr sentiert Weil die ge w hlte Fenstergr e eventuell f r die Darstellung eines Diagramms nicht ausrei chend ist erbt CBASE View von CScrollView um Scrollen zu erm glichen Die wirklich f r BASE spezifischen Klassen sind CBASEDoc und CBASEView Deshalb werden sie im folgenden genauer erkl rt Wie sie Klassen aus The Formal Concept Analysis Library benutzen zeigt Abbildung 5 16 Dunkelgrau hinterleg ten Klassen sind innerhalb von BASE angelegt die anderen in The For
88. Supremum eines Verbands mit vielen Coatomen zu Atome sind die oberen Nachbarn des Infimums Coatome die unteren Nachbarn des Supremums Definiti on 12 auf Seite 73 Dies sieht man gut am Beispiel des Liniendiagramms zu 2310 dee Dieses weite Abr cken ist h ufig zum Zeichnen nicht n tig f r den Betrachter des Diagramms aber sehr st rend zumal wenn das entstandene Diagramm nicht auf 307 B 5 Automatisches Zeichnen von Diagrammen den Bildschirm pa t Deshalb wurde f r BASE eine Heuristik entwickelt beim Zeichnen nach Gegenst nden den Supremumsknoten und beim Zeichnen nach Merkmalen der Infimumsknoten n her an das restliche Diagramm heranzur cken Stellvertretend wird nun das Vorgehen beim Zeichnen nach Merkmalen dargestellt Das Diagramm wird erst in normaler Weise additiv gezeichnet und danach die Po sition des Infimums korrigiert Dazu wird der Mittelwert der vertikalen Koordina ten der zum Zeichnen benutzten Vektoren zu den Merkmalen gebildet Um sei nen Betrag wird das Infimum gegen ber dem niedrigsten der Atome nach unten versetzt Dieser Wert wurde gew hlt um das Diagramm m glichst harmonisch aussehen zu lassen Diese Entscheidung ist aber vollkommen willk rlich F r das weitere Vorgehen k nnte man auch einen anderen Wert nehmen Die horizontale Koordinate soll nun so festgelegt werden da das Infimum m g lichst zentriert unter den Atomen liegt Die Kanten zu den Atomen sollen sich aber nicht berschneiden od
89. System von Teilmengen und V c X Dann setze V VUUf k UV UCV kal U ky V Weiter sei py V BSA V mit Vo V V 31 V firne No Ist V py V so hei t V eine DG saturierte Pr misse Vergl G D 86 S 12 13 und Duq 87 S 223 Nat rlich sind auch schon V und V von X abh ngig Dies wird der einfacheren Notation halber durch die Bezeichnungen nicht ausgedr ckt sie spielen aber nur als Zwischenstationen in Beweisen eine Rolle Die wichtigsten Eigenschaften der in Definition Al definierten Abbildungen und Px sind in folgendem Hilfssatz zusammengefa t Hilfssatz A2 Eigenschaften von und py Sei X eine Menge N c P X ein System von Teilmengen und V c X Dann ist a VEV ckylV b ka V kV c VopxlV Cky V d kylpa V ka V e Ist X endlich so ist Pa VOU kal U UC pV kal U kal V f Ist X endlich so ist palpa Pan Beweis Vergl G D 86 S 13 a Vc V ist klar nach Konstruktion und da k U ky V f r alle UcV istauch V Cky V b Nach a und Definition von ky ist ky V 2 kgl V Ist andererseits V CR f r ein Re so ist nach a und Definition von ky auch V Cky V CR dh ky V O RE R VO CRE CN RE R VCR kV Im folgenden betrachte V lt No wie in Definition A1 c V Cp V ist klar nach Konstruktion und p V S k V gilt weil nach a und b induktiv V lt ky V fiir alle n N gilt 257 A 2 Implikationen
90. Systementwicklung verschiede ne Anwendergruppen betroffen sind die im Entwicklungsprojekt verschiedene Ziele verfolgen Ein Ansatz k nnte sein f r die Gruppen zun chst separate Model le zu erstellen um so die Komplexit t der Einzeldiagramme gering zu halten Da 247 7 2 Ausblick auf weiterf hrende Arbeiten nach m ten die verschiedenen Anwendungsfallmodelle zusammengef hrt wer den Dies sollte in einer Diskussion zwischen den Gruppen geschehen Eine Unter st tzung durch BASE k nnte so aussehen da eines der Liniendiagramme als Re ferenzmodell ausgew hlt wird und alle anderen in ihrer graphischen Anordnung nach diesem ausgerichtet werden Dazu k nnte man prinzipiell Algorithmus B13 von Seite 320 benutzen Erg nzend mu eine Behandlung von Synonymen und Homonymen erfolgen Dazu k nnte man zu gleichlautenden Bezeichnern in ver schiedenen Liniendiagrammen die entsprechenden Merkmals bzw Gegenstands begriffe betrachten Sind deren Umf nge bzw inhalte disjunkt oder zumindest sehr verschieden ist nachzufragen ob es sich um Homonyme handelt Die Identi fikation von Synonymen kann schrittweise vorgenommen werden indem nach der Identifikation von zwei synonymen Bezeichnungen die folgende Suche nach wei teren Synonymen auf die Hauptideale und filter der entsprechenden Merkmals bzw Gegenstandsbegriffe oder sogar nur auf die entsprechenden Begriffsumf nge bzw inhalte eingeschr nkt wird Mit leicht vergleichbaren Li
91. U AU auch f r den Fall U Damit ist ein H llensystem Die Abbildung w V gt 3x be x ist nach Konstruktion von Q ein Ord nungsisomorphismus mit der Inversen V V gt V W gt VW 3 3 Kontexte und Begriffsverb nde Ausgangspunkt f r die Formale Begriffsanalyse sind eine Menge von formalen Gegenst nden eine Menge von formalen Merkmalen und eine Inzidenzrelation die wiedergibt welche Merkmale auf welche Gegenst nde zutreffen Diese drei Bestandteile werden in einem formalen Kontext zusammengefa t Aus diesem wird ein Begriffsverband berechnet Ein formaler Begriff dieses Verbands fa t in seiner Extension genau die Gegenst nde zusammen die im zugrundeliegenden 78 3 Formale Begriffsanalyse Kontext alle formalen Merkmale seiner Intension aufweisen Die Ordnung auf die sen Begriffen ist die Ober Unterbegriffsordnung Gegenst nde Merkmale Inzidenzrelation Gegenstand g besitzt Merkmal m Formaler Kontext ae Formale Begriffe las 1 usionsordnun 81 8 M m Begriffsverband Abb 3 4 Strukturen der Formalen Begriffsanalyse Es folgt nun eine mathematische Formalisierung hierf r Die mathematische Theorie der Formalen Begriffsanalyse wurde seit Ende der 70 er Jahre vornehmlich von der Arbeitsgruppe Allgemeine Algebra und Diskrete Mathematik um Rudolf Wille an der Technischen Universit t Darmstadt als
92. W 00 sehen eine Strukturierung innerhalb der Menge der Schlagw rter vor Diese wird mit Hilfe einer begrifflichen Skalierung f r die Begriffsanalyse aufbereitet siehe G W 96 1 3 und GSW 98 Anders ausgedr ckt wird so die Ber cksichtigung mehrwertiger Merkmale m glich Die benutzten Schlagw rter seien daf r ver 238 6 Verwandte Anwendungen von FBA schiedenen Themenbereichen oder verschiedenen Aspekten zu geordnet Innerhalb eines Themenbereichs bestehen zwischen den Schlagw rtern Ober Unterbegriffs beziehungen Diese modelliert der Analytiker in einem Begriffsverband In der Re gel entsteht dieser nicht auf Grundlage der betrachteten Dokumentensammlung sondern aufgrund des Begriffsverst ndnisses des Modellierers Einen solchen Be griffsverband oder genauer einen ihm zugeh rigen formalen Kontext nennt man eine Skala Sie enth lt alle denkbaren Merkmalskombinationen zu ihrem Themen bereich wenn sie in zutreffender Weise erstellt wurde Deshalb kann sie zur Su che in diesem Themenbereich herangezogen werden Der Gesamtverband entsteht im wesentlichen als Produkt der Begriffsverb nde zu den einzelnen Skalen G W 96 1 3 2 2 Allerdings gibt es bei Skalen die nicht aufgrund der vorlie genden Daten sondern basierend auf der Erfahrung des Modellierers erstellt wur den nicht zu jedem formalen Begriff Dokumente die wirklich dessen Umfang auf f llen Dies mu bei der Suche ber cksichtigt werden Vorteil f r den Benu
93. Zeichenketten Darstellung in EBNF ISO 96 Metazeichen sind grau gedruckt e Anwendungsfallbeschreibung USE_CASE Bezeichner Beschreibungstext e UsesAngabe USES Bezeichner Bezeichner e ExtendsAngabe EXTENDS Bezeichner Bezeichner e Zerlegungsschritt STEP Bezeichner Nummer Bezeichner Die auftretenden Bezeichner sind dabei immer die intern genutzten und in the_identifier gespeicherten Beschreibungstext ist die als Anwendungsfallbe schreibung eingegebene Zeichenkette Bei uses Angaben steht zuerst der Be zeichner des benutzenden und dann der des benutzten Anwendungsfalls analog bei extends Angaben erst der Bezeichner des allgemeineren und dann der des spezielleren Anwendungsfalls Zu jedem funktional zerlegten Anwendungsfall wird die oberste Ebene der Zerlegungsschritte aufgef hrt Dazu sind pro Schritt zun chst der Bezeichner des zerlegten Anwendungsfalls dann die betreffende Stelle in der Schrittfolge auf der obersten Zerlegungsebene beginnend mit 0 und schlie lich der Bezeichner der in dem betreffenden Schritt ausgef hrten Funktion angegeben In dieser Weise k nnen alle Anwendungsfalldaten in einem formalen Kontext ge speichert werden Die durch uses extends Beziehungen oder funktionale Zer legungen induzierten Merkmalsimplikationen werden in der gespeicherten Inzi denzrelation nicht durch unmittelbar eingef gte Kreuze ber cksichtigt um dem Benutzer die M glichkeit zu geben solche Beziehungen wieder zur ck
94. Zeichnen der Liniendiagramme Die Daten zu einem Liniendiagramm sind in einem Objekt der Klasse TLineDiagram enthalten Insbe sondere trifft dies auf Koordinatenangaben fiir die Knoten und Beschriftungen zu Diese in Koordinaten des Zeichenbereichs umzuwandeln ist eine wesentliche Auf gabe der Klasse Der Inhalt der Klasse ist um einiges technischer als der von CBASEDoc Deshalb wird hier auf eine Erkl rung der Attribute der Klasse ver zichtet und nur die von der Klasse tibernommenen Aufgaben werden aufgelistet Diese sind e Zeichnen des aktuellen Diagramms e Ein und Ausblenden der Beschriftung mit Anwendungsfallen bzw Dingen e Verschieben von einzelnen Knoten ganzen Hauptfiltern oder idealen durch den Benutzer e Erzeugung und Anzeige von Diagrammausschnitten Hauptfilter ideale ein zelne Bl cke e Erzeugung und Anzeige von Detaildiagrammen zu Blockzerlegungen e Gr en nderungen des Diagramm und seiner Knoten Festlegung der Schriftart f r die Beschriftung mit Anwendungsf llen bzw Din gen durch den Benutzer e Zuordnung einer Zeichenfarbe zu einem aus mehreren Knoten bestehenden Block durch den Benutzer Anhang D enth lt die Klassendeklaration von CBASEView 209 5 4 Technischer Aufbau des Werkzeugs 5 4 2 Verwaltung der Anwendungsfalldaten Zu jedem Anwendungsfall und jeder Funktion sind der Name eine Beschreibung die involvierten Dinge die benutzten Anwendungsf lle die Anwendungsf lle die
95. angeordneten Knoten orientieren m s sen Probleme bei der Knotenzuordnung Damit ist das grunds tzliche Vorgehen erkl rt Dies bleibt auch gleich wenn nicht alle alten Begriffsinhalte auch im neuen Verband Inhalte sind Dann sind zwei F l le zu behandeln 1 Mehreren alten Begriffen wird derselbe neue zugeordnet 2 Die Ordnung auf den zugeordneten neuen Begriffe ist anders als die auf den ori ginalen Im ersten Fall wird die Position des am niedrigsten positionierten der betroffenen alten Begriffe zugeordnet und alte Begriffe in den Hauptidealen der anderen ent sprechend nach unten verschoben Im Beispiel von Abbildung B 11 soll etwa das untere linke Diagramm als neues anhand des oberen linken ausgerichtet werden 317 B 5 Automatisches Zeichnen von Diagrammen Die Merkmalsbegriffe zu m und m2 des alten Diagramms werden dem selben Be griff im neuen Diagramm zugeordnet F r den Knoten zu diesem neuen Begriff er geben sich also nicht eindeutig passende Koordinaten Da die Diagrammknoten von oben nach unten abgearbeitet werden wird f r die Zuordnung der niedrigere der beiden Knoten gew hlt Da dies eine dem Vorgehen angepa te Wahl ist sieht man im folgenden Im Beispiel ist das der zu m2 In Folge dieser Entscheidung sind eventuell Knoten nach unten zu schieben die e kleiner als der h here der beiden Knoten aber nicht kleiner als der niedrigere sind oder e kleiner als ein unterer Nachbar des h heren der beide
96. anhand dieser Einheiten zu gewinnen For male Begriffe als Klassifikationseinheiten haben die Eigenschaft da jeder zuge h rige Gegenstand alle enthaltenen Merkmale tr gt F r verschiedene Anwendun gen stellt sich diese Bedingung als zu restriktiv heraus Blockrelationen sind ein Mittel diese Einschr nkung abzumildern Mit ihrer Hilfe erh lt man Klassifikationseinheiten in denen zu jeder Teilmenge von Gegenst n den auch alle gemeinsamen Merkmale erfa t werden aber vielleicht zus tzlich noch andere Merkmale Dual ist sicher gestellt da zu einer Kombination von Merkmalen alle Gegenst nde die alle diese Merkmale tragen in der entsprechen den Einheit zusammengefa t werden aber wiederum eventuell auch noch zus tzli che Gegenst nde Dar ber hinaus entstehen keine Zusammenstellungen von for malen Gegenst nden oder formalen Merkmalen die nicht schon auch als Begriffs umf nge oder Begriffsinhalte vorgekommen w ren In der Tat werden wieder for male Begriffe betrachtet wobei jedoch eine andere Inzidenzrelation eine Blockrelation zugrunde gelegt wird 110 3 Formale Begriffsanalyse Formale Begriffe kann man nicht nur im Liniendiagramm eines Begriffsverbands sondern in etwas m hsamerer Weise auch im zugeh rigen formalen Kontext ab lesen Sie entsprechen in der Kreuztabelle nach entsprechenden Zeilen und Spal tenvertauschungen maximalen mit Kreuzen gef llten Rechtecken Beispiel 15 Begriffe Maximale g
97. auch nde rungen au erhalb des Hauptideals des zerlegten Anwendungsfalls ergeben Neue Knoten des Liniendiagramms k nnen auch in diesen F llen nur unterhalb des zer legten Anwendungsfalls entstehen weil neue Begriffsinhalte nur durch Hinzunah me dieses Anwendungsfalls abgesehen von den neuen Funktionen zu erreichen sind Gel scht werden k nnen nur obere Nachbarn Definition 9 auf Seite 70 von Knoten unterhalb des Anwendungsfalls weil Begriffsumf nge nur dadurch verlo ren werden k nnen da durch Hinzunahme des zerlegten Anwendungsfalls ein schon vorher vorhandener Inhalt entsteht Da sich diese Inhalte nur durch ein Ele ment unterscheiden m ssen die betreffenden Begriffe Nachbarn sein Der Anwendungsfall Bestellung bearbeiten kann z B wie folgt zerlegt werden 147 4 3 Funktionale Zerlegung Bestellung bearbeiten gt Bestellposten Kartei zuordnen Lagerbestand ermitteln Lieferkarteieintrag Lagerbestand ausreichend anlegen Lagerbestand unzureichend Wartekarteieintrag anlegen Bestand Lagerbestand ausreichend korrigieren Lagerbestand unzureichend Vormerken Abb 4 12 Funktionale Zerlegung des Anwendungsfalls Bestellung bearbeiten Abbildung 4 13 enth lt ein entsprechend der angegebenen Zerlegungen der An wendungsfalle Bestellung annehmen und Bestellung bearbeiten verfeinertes Lini endiagramm Diesmal wurde die Verfeinerung ausgehend von den schon einmal ver
98. ber den ganzen Untersuchungsbereich zu bekommen bevor er Einzelheiten mit den Fachexperten er rtern kann Die grobe Sicht mit Hilfe der Anwendungs f lle und der darin involvierten Dinge erm glicht schon weitgehende Einsichten in die Struktur des Untersuchungsbereichs siehe 4 2 4 Der Analyseproze unterteilt sich damit in die zwei Phasen Grobanalyse und Fein analyse Grobanalyse Untersuchung der Anwendungsf lle l Feinanalyse Untersuchung der funktionalen Zerlegung der Anwendungsf lle Abb 4 37 Analysephasen in BASE Bevor im folgenden die Abfolge der einzelnen T tigkeiten innerhalb der beiden Phasen beschrieben wird seien die in 4 2 bis 4 6 dargestellten Techniken noch ein mal aufgelistet Sie kommen in den beiden verschiedenen Phasen mit verschiede nem Gewicht zu tragen und erbringen auch verschiedene Ergebnisse In folgender Tabelle ist dargelegt welche Technik in welcher der beiden Phasen zu welchem Zweck angewandt wird Dazu sind die Tabellenzeilen mit den Techniken beschrif tet und die Tabellenspalten mit den entsprechenden Untersuchungszielen Die letzte Spalte gibt noch an in welchem Abschnitt der Arbeit die jeweilige Technik beschrieben ist Ein G in einer Tabellenzelle bedeutet da die in der betreffen den Zeile angegebene Technik in der Grobanalyse zu dem Zweck eingesetzt wird der in der Spalte angegeben ist Ein F trifft die entsprechende Aussage f r die Phase der Feinanalyse
99. da auf seine Nach richt hin immer die spezielle Implementierung der passenden Unterklasse zur Aus f hrung kommt ohne selber den dynamischen Typ des Objekts kennen zu m ssen bezeichnet man als Polymorphie Verschiedene Objekte k nnen damit auf die glei che Nachricht verschieden ihrem Typ angepa t reagieren Um dieses leisten zu k nnen benutzen objektorientierte Sprachen sp tes oder dynamisches Binden erst zur Laufzeit wird die Sprungadresse zu einem Operationsaufruf bestimmt Manchmal wird die Zuweisung eines Unterklassenobjekts an eine Oberklassenva riable in einem objektorientierten Programm auch als polymorphe Zuweisung be zeichnet Zum Beispiel soll ein Grafik Programm Zeichnungen die aus beliebigen zweidi mensionalen Figuren bestehen bearbeiten Dazu stehen u a die Klassen Zeich nung Figur und Rechteck zur Verf gung Rechteck ist dann eine Unterklas se von Figur Eine interessante Fragestellung k nnte die Ermittlung der Fl che aller in einer Zeichnung enthaltenen Figuren sein F r beliebige Figuren k nnte diese mit Hilfe einer Finite Elemente Approximation berechnet werden w hrend f r Rechtecke nur die Seitenl ngen multipliziert werden m ssen Die Klasse Rechteck berschreibt also die Operation Fl che angeben seiner Oberklasse Figur Eine Zeichnung pflegt eine Liste der in ihr enthaltenen Figuren Um belie bige Figuren in dieser Liste speichern zu k nnen kommt als Variablentyp nur die
100. da sie auf die stan dardisierte Verwendung von Schlagw rtern angewiesen sind Vorzugsweise nutzen sie vorgegebene Thesauri des behandelten Fachgebiets Wie eine innerhalb eines Thesaurus spezifizierte Ordnung auf den enthaltenen Schlagw rtern ber cksichtigt werden kann wird in GSW 98 er rtert 237 6 5 Komponentensuche Abbildung 6 9 gibt ein Beispiel aus Lin 95 wieder Die Suche nach den Doku menten hier in der niedrigsten Ebene aufgereiht geschieht im Liniendiagramm vom Supremum aus nach unten Jeder formale Begriff entspricht einem Zustand innerhalb eines Suchvorgangs der durch die ausgew hlten Schlagworte Begriffs inhalt und die selektierten Dokumente Begriffsumfang gekennzeichnet ist Am Anfang der Suche sind im Supremum alle Dokumente selektiert und kein Schlag wort explizit ausgew hlt Implizit sind die Schlagworte ausgew hlt die auf alle Dokumente zutreffen Bei einer guten Indizierung sollte es solche nicht geben Die meisten der nach dem geschilderten Prinzip arbeitenden Suchverfahren ver zichten auf eine graphische Repr sentation des Begriffsverbands weil diese bei gro en Dokumentensammlungen sehr un bersichtlich werden kann Sie pr sentie ren dem Benutzer lediglich die selektierten Dokumente die explizit durch den Be nutzer oder implizit aufgrund von Merkmalsimplikationen des Begriffsverbands ausgew hlten Schlagw rter und eine Liste derjenigen Schlagw rter die zus tzlich im n chsten Suchschritt
101. das Werkzeug ein relativ kleines System ist ist es nicht weiter in Komponenten zerlegt Klassen bieten eine hinreichende Komponentenebene 5 4 1 Die Klassen des Werkzeugs BASE baut auf dem SD Framework Single Document Interface der MFC auf Damit sind die wesentlichen Klassen von BASE e CBASEApp Ihr einziges Objekt repr sentiert das Windows Programm selber e CMainFrame Ihr einziges Objekt repr sentiert das Hauptfenster der Anwen dung e CBASEDoc Verwaltet die Daten zu einem geladenen Projekt e CBASEView Stellt das aktuell bearbeitete Liniendiagramm dar Das Klassendiagramm in Abbildung 5 15 zeigt die wesentlichen Beziehungen zwi schen den Klassen Die dunkelgrau hinterlegten Klassen sind innerhalb von BASE angelegt die anderen in den MFC enthalten CBASEApp spezialisiert die Klasse CWinApp Das von ihr zur Laufzeit erzeugte 206 5 Ein Analyse Werkzeug f r BASE Objekt kontrolliert die Objekte der anderen Klassen ber die Klasse CDocTemplate im Fall einer SDI Anwendung wie BASE speziell ber deren Un terklasse CSingleDocTemplate Dazu wird bei Programmstart ein Objekt dieser Klasse angelegt und diesem mitgeteilt da die datenhaltende Klasse CBASEDoc die darstellende Klasse CBASEView und die Klasse f r das Hautfenster der An wendung CMainFrame sind Da BASE nach dem SDI Framework entworfen ist existiert genau ein Objekt von CMainFrame und jeweils nur ein Objekt von CBASEDoc zu dem gerade bearbeiteten
102. data ACM Transactions on Database Systems vol 1 no 1 pp 9 36 March 1976 P Coad E Yourdon Object oriented analysis Yourdon Press Com puting Series Prentice Hall Englewood Cliffs New Jersey 1990 P Coad E Yourdon Object oriented design Yourdon Press Com puting Series Prentice Hall Englewood Cliffs New Jersey 1991 T DeMarco Structured Analysis and System Specification Prentice Hall Englewood Cliffs New Jersey 1978 S D wel W Hesse Bestimmung von Objektkandidaten mit Hilfe von Formaler Begriffsanalyse in K Pohl A Sch rr G Vossen Hrsg Proceedings Modellierung 98 Bericht Nr 6 98 I Ange wandte Mathematik und Informatik Universit t M nster auch unter http SunSITE Informatik RWTH Aachen DE Publications CEUR WS Vol 9 1998 S D wel W Hesse Identifying Candidate Objects During System Analysis Proceedings CAiSE 98 IFIP 8 1 3rd International Work shop on Evaluation of Modeling Methods in System Analysis and Design EMMSAD 98 Pisa 1998 Deutsches Institut f r Normung Normenausschu Terminologie NAT DIN 2330 Begriffe und Benennungen Allgemeine Grund s tze Beuth Verlag Berlin K ln M rz 1979 C A Dufour Die Lehre der Proprietates Terminorum Sinn und Referenz in mittelalterlicher Logik Philosophia Verlag M nchen Hamden Wien 1989 V Duquenne Contextual implications between attributes and some representation properties for finite lattices in GWW 87 1987
103. definieren Minimalbestand Lieferschein Maximalbestand Kundenbestellung Lagerbestand ermitteln a Lieferkartei Lagerbestand Bestellposten em Aaa Abb 4 24 Bl cke zur zweiten Blockrelation aus Abbildung 4 20 Die interne Struktur der Komponenten wird durch das originale Liniendiagramm beschrieben in dem Komponenten als Bl cke identifiziert werden k nnen So hat der Entwickler die M glichkeit sein Modell in bezug auf eine Komponentenzerle gung in grober oder feiner Sicht zu betrachten Dadurch bietet sich auch ein An satz die bersichtlichkeit der Liniendiagramme zu wahren indem nur der Block 168 4 BASE ein begriffsbasiertes Analyseverfahren f r die Software Entwicklung der gerade untersuchten Komponente angezeigt wird wenn schon eine Kompo nentenzerlegung festgelegt wurde Siehe auch 4 7 auf Seite 177 Lieferscheine erstelle Bestellung annehmen Wareneingang bearbeiten R cklauf bearbeiten Fehlbest nde nachbestellen Bestellung bearbeiten Fahriziel Lieferwagen Lieferscheinvermerk Nachbestellung Maximalen und minimalen Lagerbestand definieren Kundenbestellung Minimalbestand Lieferant Vorgemerkte Menge Maximalbestand Lagerbestand ermitteln
104. der formalen Merkmale Operationsdeklarationen und implementierungen jeweils als einzelne Merkmale behandelt Der Zusammenhang zwischen ihnen kann durch Merkmals implikationen ausgedr ckt werden analog zur Behandlung von uses und extends Beziehungen und funktionalen Zerlegungen in BASE Die Implemen tierung einer Operation impliziert als formales Merkmal dessen Deklaration In der gleichen Weise k nnen Spezialisierungsbeziehungen zwischen verschiedenen Im plementierungen behandelt werden Die letztgenannten sind aber schwierig aus dem Quellcode zu gewinnen Alle anderen Angaben lassen sich leicht durch ent sprechende Parser erstellen W hrend des Aufbaus eines Klassenmodells bietet es sich an diesen Ansatz im Anschlu an die erste Analyse mit BASE anzuwenden 6 2 Klassenhierarchie nach Snelting und Tip Auch Gregor Snelting und Frank Tip untersuchen in S T 99 die Struktur von Klassenhierarchien mit Hilfe von Formaler Begriffsanalyse Ihr Ansatzpunkt sind aber nicht wie bei Godin et al Vererbungs sondern Benutzungsbeziehungen Ihr Verfahren erlaubt die Untersuchung einer Klassenhierarchie in bezug auf Program me die deren Klassen benutzen Als Spezialfall ist auch die Analyse einer Klas senbibliothek f r sich allein vorgesehen Im folgenden ist abk rzend immer von Programmen die Rede 228 6 Verwandte Anwendungen von FBA Cc C class Professor public Person void mainl voi
105. die Daten zu einem Projekt friend class CBASEView Arbeiten eng zusammen protected CBASEDoc Konstruktur besetzt die projektbezogenen Attribute mit Standardwerten Attribute private TWFCAFile cscDatei aktuelle Projektdatei CString projektName Name des aktuellen Projekts TLineDiagram aktuellesDiagramm Liniendiagramm des aktuell bearbeiteten Modells TILineDiagramArray blockrels Liniendiagramme zu eventuell vorhandenen Blockrelationen CImplikationenDlg implDlg Dialog zur Anzeige von Pr fungsfragen BOOL blockrelationsModus Wird gerade ein Diagramm zu einer Blockrelation angezeigt BOOL uebersichtsModus Wird gerade ein in der Datei gespeichertes Diagramm angezeigt Operationen public void resetImplDlg L scht den Verweis auf einen berpr fungsfragendialog TLineDiagram getAktuellesDiagramm Liefert das Liniendiagramm des aktuell bearbeiteten Modells virtual BOOL OnOpenDocument LPCTSTR lpszPathName Liest die Projektdatei mit dem Pfad lt lpszPathName gt ein und fordert den Benutzer zur Auswahl eines Modells auf Scheitert das ist der R ckgabewert FALSE sonst TRUE virtual BOOL OnSaveDocument LPCTSTR lpszPathName Schreibt die Daten in die Projektdatei mit dem Pfad lt lpszPathName gt Scheitert das ist der R ckgabewert FALSE sonst TRUE virtual void DeleteContents L scht die projektbezogenen Attribut
106. diese Analysen nach dem selben Schema durch In sp teren Phasen werden die Analyse modelle weiter bis hin zur Implementierung umgesetzt In diesem Zusammenhang betonen die Autoren die M glichkeit der Code Generierung besonders Embley Kurtz legen sich in ihrer Methode OSA Object Oriented Systems Analy sis auf keine Vorgehensweise fest EKW 92 S 14 We make no strict rules about which modeling activity should take place before another Analysts may develop models top down by decomposition or bottom up by composition F r sie ist ein Objekt eine Person ein Ort oder ein Ding Normalerweise werden in der Analyse gleich Klassen von logisch zusammengeh rigen Objekten betrachtet de nen auch gleichzeitig synonyme Namen zugewiesen werden k nnen In einem Bei spiel beginnen sie mit einem Interaktionsdiagramm f r die Objekte des Untersu chungsbereichs entwickeln dann ein Klassenmodell und beschreiben anschlie end ausgesuchte Klassen mit Hilfe von Zustandsdiagrammen genauer OSA Modelle werden sp ter zu Systemspezifikation und entwurf ausgebaut auf denen aufbau end schlie lich die Implementierung erfolgt Nach Coad Yourdon sind in der Analyse folgende T tigkeiten auszuf hren e Objekte und Klassen identifizieren e Generalisierungs und Aggregationsbeziehungen structure festlegen 42 2 Objektorientierte Anwendungsentwicklung e das entstandene Modell in Komponenten subjects zerlegen e Attribute der Klassen und A
107. dieses auf DIN A4 Gr e skaliert wer den Dabei bleibt die Schriftgr e unver ndert und nur das Diagramm wird in sei ner Gr e angepa t Je nachdem welches Format eine gr ere Darstellung erm g licht wird Hoch oder Querformat gew hlt So k nnen auch f r Offline Diskus sionen Unterlagen erstellt werden In einer Produktversion des Werkzeugs sollte auch der Druck auf mehrere Seiten mit der Definition entsprechender Kleber nder erm glicht werden Die nderungen der Diagrammgr e und Beschriftung werden gespeichert und betreffen nicht nur die aktuelle Diagrammdarstellung auf dem Bildschirm Zu ei nem sp teren Zeitpunkt wird das Diagramm also wieder in der zuletzt eingestellten Gr e angezeigt Darstellung von Komponentenzerlegungen ey JWi csc BASE Datei Bearbeiten Sn oela amp v Symbolleiste v Statusleiste Biel Es v Anwendungsfalle anzeigen v Dinge anzeigen Bestellung bearbeiten Bestellung annehmen areneingang bearbeiten Ricklauf bearbeiten Sao v Komponenten bersicht Komponenteninterna artekartei Lieferscheinvermerk Kunde Kundenbestellung Maximalen und minimalen Lagerbestand definieren Fehlbest nde nachbestellen Lagerbestand ermitteln Lieferscheine erstellen lt 3 Fahrtziel Lieferkartei Bestellposten i Yu Produkt L agerbestand Vorgemerkte Menge Schaltet auf das Detaildiagramm zu einer Modularisierung El
108. e W mit x w O y f r alle te T so gilt x oo f r alle te T Wegen der Infimumsvertraglichkeit von folgt Ap x C 190 teT Weil ein vollst ndiger A Morphismus ist folgt Ax AGE E te te T N v NE Ay Also ist auch y infimumsvertr glich F r die Vertr glichkeit mit Suprema analog D h w ist eine vollst ndige Toleranzrelation auf W 263 A 3 Blockrelationen Die Abbildung y zwischen den Mengen der vollst ndigen Toleranzrelatio nen auf V und aus W ist nach Definition ordnungserhaltend Inklusionsord nung Mit derselben Konstruktion erh lt man aus Q eine ordnungserhaltende Abbildung von den vollst ndigen Toleranzrelationen auf W in die voll st ndigen Toleranzrelationen auf V F r eine vollst ndige Toleranzrelation auf V gilt o w W x WO y 9 2 P O GY P aOb 9 9 a 9 b aOb a b aOb 0 Und genauso o y f r jede vollst ndige Toleranzrelation 0 auf W Damit ist y ein Isomorphismus zwischen den Verb nden der vollst ndigen Toleranzrelationen auf V und auf W Man stellt fest da der Verband der Toleranzrelationen und der der Blockrelatio nen Satz 15 auf Seite 114 isomorph sind Satz 16 Toleranzrelationen Blockrelationen Sei G M J ein formaler Kontext Dann ist der Verband aller Blockrelationen von G M J isomorph zum Verband der vollst ndigen Toleranzrelationen auf
109. ein solches Hauptideal ist im beson deren dann hilfreich wenn die Diagrammkanten ineinander verschr nkt verlaufen so da es schwierig sein kann zu einem formalen Begriff mit einem Blick seine Ober und Unterbegriffe zu identifizieren F r die Durchf hrung einer funktiona 180 4 BASE ein begriffsbasiertes Analyseverfahren f r die Software Entwicklung len Zerlegung ist eine solche Betrachtungsweise schon ausreichend Zu welchen Anwendungsf llen und Funktionen au erhalb des Hauptideals Datenabh ngigkei ten bestehen ist in Abbildung 4 35 wiederum durch die grau gehaltene Beschrif tung angegeben Da das Infimum in jedem Hauptideal liegt werden so immer alle Anwendungsf lle betrachtet Nur solche die dem Infimum selber zugeordnet sind weisen keine Datenabh ngigkeiten mit dem Anwendungsfall auf zu dem das Hauptideal untersucht wird Ebenso reicht bei der Betrachtung O von Klassenkandidaten unter den Dingen oft ein Blick auf den ent sprechenden Hauptfilter aus um ihm Attribute und Operationen zu Bestellung bearbeiten Wareneingang bearbeiten zuordnen In diesem Fall werden alle Dinge im Diagrammaus N gt schnitt repr sentiert Der Hauptfilter Becialposton Kanal ausruhen des Gegenstandsbegriffs zur Warte kartei aus dem Begriffsverband in Abbildung 4 13 auf Seite 149 sieht etwa wie nebenstehend aus Zu allen Dingen die nicht dem Supremum zugeordnet sind gibt es Anwendungsf lle oder Fun
110. entweder e materielle Dinge e Rollen von Personen oder Organisationen e auftretende Ereignisse e Interaktionen oder e Aufzeichnungen ber gewisse Dinge Alle diese Dinge geben Anla zu Klassenkandidaten Zu jedem sind zum einen Kriterien anzugeben die es erlauben Dinge als klassenzugeh rig zu bezeichnen 48 2 Objektorientierte Anwendungsentwicklung zum anderen Ausschlu kriterien Weiter sollten der Zusammenhang mit anderen Klassenkandidaten und vorhandene Hintergrundinformationen der Fachexperten festgehalten werden Danach sollten passende Namen gesucht werden Die Auto ren weisen in diesem Zusammenhang auf die Probleme durch Homonyme und Synonyme und die verschiedenen Fachsprachen hin Jeder Klassenkandidat ist dann daraufhin zu berpr fen ob e die in ihm zusammengefa ten Dinge gleiche Eigenschaften haben und die For mulierung einheitlicher Operationen erlauben e er durch Attribute beschrieben werden kann und nicht selber nur ein Attribut ist e die Charakterisierung der Klassenzugeh rigkeit keine alternativen F lle aufli stet oder e die Charakterisierung der Klassenzugeh rigkeit nicht nur in einer Aufz hlung der Objekte besteht Kandidaten die diese Kriterien nicht erf llen sind von der Betrachtung auszu schlie en und man mu nach besseren Abstraktionen suchen Coad Yourdon sehen die Identifikation von Klassen als Abstraktion von dem ein oder mehrmaligen Auftreten eines Dings im Untersuchungsberei
111. erhalten 4 7 Zur bersichtlichkeit des Liniendiagramms Schon kleine Untersuchungsbereiche f hren zu schwer berschaubaren Liniendia grammen wenn die betrachteten Anwendungsf lle viele Datenabh ngigkeiten auf weisen Dadurch wird schon das Zeichnen und vor allem die Interpretation der Diagramme stark erschwert Schon in 4 6 auf Seite 168 wurde die M glichkeit angesprochen nur eine einzelne 177 4 7 Zur bersichtlichkeit des Liniendiagramms Komponente die durch eine Blockzerlegung definiert wurde als Diagramm anzu zeigen Dies kann der bersichtlichkeit des Liniendiagramms dienen Nach Satz 18 auf Seite 121 bedeutet dieses Vorgehen da ein Liniendiagramm eines Teilkon texts gezeichnet wird Die Dinge in diesem Teilkontext sind durch den Begriffs umfang des Blocksupremums und die Anwendungsf lle bzw Funktionen durch den Begriffsinhalt des Blockinfimums gegeben Damit werden alle Dinge be r cksichtigt deren Gegenstandsbegriffe innerhalb des Blocks liegen und zus tzlich alle die aus benutzten Komponenten d h solche deren Gegenstandsbegriffe au Rerhalb des Blocks liegen aber Unterbegriffe des Blocksupremums sind Dual sind in jenem Teilkontext die Anwendungsf lle bzw Funktionen erfa t deren Merk malsbegriffe innerhalb des Blocks liegen und zus tzlich alle aus benutzenden Komponenten d h solche deren Merkmalsbegriffe zwar au erhalb des Blocks liegen aber Oberbegriffe des Blockinfimums sind Diese z
112. f r BASE aufgeteilt Leicht in das Werkzeug zu integrieren w re eine M glichkeit f r den Benutzer festzulegen welche Fragenrepr sentation er bevorzugt oder bis zu wel cher Fragenanzahl er die Fragen aufteilen lassen m chte Im vorliegenden Werk zeug ist diese Anzahl fest auf 10 zusammengesetzte Fragen eingestellt 5 2 Arbeitsweise mit dem Werkzeug Zusatzlich zu den Anwendungsfalldaten und den Liniendiagrammen wird ein Pro jektname gespeichert Legt der Benutzer ein neues Projekt an wird er zun chst nach diesem gefragt Danach erscheint der Anwendungsfall Dialog wie in Abbildung 5 1 auf Seite 190 zur Eingabe der Daten zu den Anwendungsf llen Nach Abschlu der Eingabe mu der Benutzer einen Bezeichner f r das eingege bene Modell festlegen Zu einem Projekt sind in der Regel mehrere Liniendia gramme grobe Sicht lt gt funktionale Verfeinerung verschiedener Anwendungsf l le interessant Die entsprechenden Modelle werden durch die zugeordneten Be zeichner identifiziert Als Standard wird der Projektname vorgeschlagen Werden sp ter schon eingegebene Anwendungsfallmodelle modifiziert so kann der Benut zer entscheiden ob er ein neues Diagramm und damit auch Modell anlegt oder das alte berschreibt 5 2 1 Erste automatisch berechnete Liniendiagramme Aus den eingegebenen Daten berechnet das Werkzeug ein erstes Liniendiagramm In Abbildung 5 9 ist das gleiche Diagramm wie in Abbildung 5 3 auf Seite 194 zu sehen wenngle
113. gilt also g m e B O d h yg yg um Mit der Supremumsvertr glichkeit von folgt yg v um yg aum v um um Aus Folgerung 5 auf Seite 88 und der Infimumsvertr glichkeit von folgert man A B A C D A um A ygv um f r alle ge AUC me BAD me BAD Weiter gilt A B A C D Ayg OEY Den AY Alygvum a A yg ll m e BaD me BaD A ygv um A yg me BAD DIN me BaD Mit Folgerung 5 und der Supremumsvertr glichkeit von folgt 4 B v C D vyg V 4 B C D yg Damit giltauch 5470 geavo A B v C D 4 B v C D v 4 B C D V 4 B A C D ayg v A B C D ge AUC V 4 B C D a yg v A B A C D ge AUC V 4 B C D ge AUC A B A C D Mit Hilfssatz 15 auf Seite 115 folgt A B C D Also ist auch t CO d h t Sei nun J eine Blockrelation von G M J Dann gilt f r A c G wegen J CJ da A eH Weiter ist nach Folgerung 2 c a auf Seite 82 A c A N m als J me A Schnitt von Begriffsumf ngen von G M I selber ein Begriffsumfang von G M I Il 267 A 3 Blockrelationen Nach Folgerung 3 auf Seite 83 folgt Aea Dual gilt f r B c M da B c B B c B Seien jetzt ge G me M mitgJm Dann ist g m und so nach Folgerung 3 g cm weil m ein Begriffsumfang von G M I ist Damit folgt nach oben g e g nm Weiter ist nac
114. involviert sind Dies wird aber bei der in der Indi zierung nicht ber cksichtigt da nur die f r einen spezifischen Anwendungsfall in teressanten Attribute diesem zugeordnet werden H ufig treten aber Objekte der gleichen Klasse in verschiedenen Rollen auf und die betreffende Klasse umfa t mehrere Teile die auch einzeln in Funktionen ben tigt werden In einem solchen Fall werden bei der Indizierung eben nur die Attribute aus dem einen interessanten Teil erfa t die brigen aber nicht Vergl auch 6 2 auf Seite 228 Aus dem Diagramm l t sich eine Ordnung der Dinge nach ihrer Bedeutung f r das System ablesen Sie in dieser Ordnung zu behandeln erscheint sinnvoll um zuerst die grunds tzliche Systemstruktur zu modellieren bevor man sich auf Ein zelheiten einl t vergl auch 4 5 1 auf Seite 159 Das Diagramm veranschaulicht Datenabh ngigkeiten der Anwendungsf lle die ber die betrachteten Dinge ent stehen Bei der Modellierung oder Ver nderung von Klassen die ein direktes Ge genst ck unter den betrachteten Dingen besitzen sind so die betroffenen Anwen dungsf lle direkt ablesbar 4 3 Funktionale Zerlegung 4 3 1 Funktionale Verfeinerung des Anwendungsfallmodells Die bisher betrachteten Klassenkandidaten sind wenig berraschend sie entspre chen ausnahmslos solchen Dingen die bei der Indizierung der Anwendungsf lle schon als wichtig herausgestellt worden waren Zu erwarten ist da zwischen die sen Dinge
115. ist der entschei dende Unterschied zum formalen Kontext da hier die Nummern der Knoten der betreffenden Gegenstands bzw Merkmalsbegriffe wiedergegeben werden In dem durch conceprs eingeleiteten Teil k nnen Namen f r formale Begriffe die durch Knoten dargestellt werden festgelegt werden BASE nutzt dies nicht F r die Konsistenz des Diagramms m ssen die Knotennummer paarweise ver schieden sein formale Gegenst nde Merkmale und Begriffsbezeichnungen d rfen nur aufgef hrte Knotennummern referenzieren Weiter m ssen die Bezeichner von formalen Gegenst nden Merkmalen und Begriffsbezeichnungen jeweils paarweise verschieden sein DiagramRemark REMARK y BLOCKRELATION BLOCKRELATION not confirmed AusgangsDiagrammName Zeichenkette 219 5 4 Technischer Aufbau des Werkzeugs Die ersten drei Alternativen sind f r BASE von Bedeutung siehe 5 4 3 Dar ber hinaus wird ist eine gespeicherte Bemerkung zu einem Liniendiagramm einfach eine Zeichenkette DiagramSpecialList SPECIAL Pseudoumfang Pseudoinhalt VerweisAufBlockzerlegung VerweisAufAusgangsdiagramm Zeichenkette Die Formate von Pseudoumfang Pseudoinhalt VerweisAufBlockzerlegung und verweisAufAusgangsdiagramm wurden schon in 5 4 3 erklart Andere An wendungen definieren eventuell noch andere Zeichenketten um sie unter SPECIAL in einem Liniendiagramm zu speichern KnotenBsbg i BlockAngabe Zeichenkette W Der Aufbau von BlockAngabe ist schon in 5 4 3 dokumentier
116. jeweils den Knoten des entsprechenden Gegenstands begriffs und zu formalen Merkmalen jeweils den Knoten des entsprechenden Merkmalsbegriffs vermerkt e die Verbandsordnung als reflexiv transitive H lle des Liniendiagramms enth lt sieht der Algorithmus folgenderma en aus Algorithmus B11 Blockinfimum und supremum Gegeben sei ein endlicher formaler Kontext G M J mit G go 8 1 und M my myy_ und au erdem sein Begriffsverband B G M I ka K _ als Liniendiagramm Weiter sei J eine Blockrelation von G M J und B G M J bo b _ r ebenfalls als Liniendiagramm gegeben Vereinfachend sind in der folgenden Formulierung Begriffsverb nde und Liniendiagramme bzw formale Begriffe und Diagrammknoten gleichge setzt Der Algorithmus berechnet in in und sup Infima und Suprema der nach Satz 18 auf Seite 121 zu J zugeh rigen Bl cke in B G M I Zuxe GUM und einem Begriffsverband V ermittelekn x V den Gegenstands bzw Merkmalsbegriff von x in V nach Annahme mit Gegen 297 B 4 Berechnung von Blockzerlegungen 298 stand Merkmal gespeichert F r einen Begriffsverband V und ve V werde durch ideal v V das Hauptideal und durch filter v V der Hauptfilter von v in V geliefert nach Annahme in reflexiv transitiver H lle gespeichert Ebenso ist die berpr fung der Ordnung lt mit Hilfe der reflexiv transitiven H lle m g lich Bll Bll oOo oOo N OA
117. kann er mit dem bernehmen Button den Inhalt des Editierfelds als ein Ding in die Liste bernehmen und dem Anwen dungsfall zuordnen Der Zwischenschritt ber das Editierfeld wurde eingef gt um den als neues Ding selektierten Text noch ver ndern zu k nnen Dies ist etwa n tig um Bezeichner in einheitlicher Flexion zu verwenden Die uses und extends Liste k nnen dadurch gef llt werden da aus der linken Liste ein entsprechender Anwendungsfall ausgew hlt und durch den gt uses bzw gt extends Button in die entsprechende Liste bertragen und damit dem ak tuell bearbeiteten Anwendungsfall zugeordnet wird Zirkul re uses und ex tends Beziehungen werden jedoch beim Versuch ihrer Eingabe abgelehnt Im Fal le der extends Beziehungen machen Zirkel offensichtlich keinen Sinn denn spe zialisieren sich zwei Anwendungsf lle gegenseitig sind sie einfach gleich Aber auch f r uses Beziehungen werden hier keine zirkul ren Beziehungen erlaubt In BASE und in der Benutzungshierarchie der Anwendungsf lle w ren alle an einem Zirkel beteiligten Anwendungsf lle ununterscheidbar Dies w rde eine klare Mo dularisierung verhindern Als Konsequenz dieser Einschr nkung ist Rekursion nicht modellierbar F r direkte rekursive Benutzung einer Funktion durch sich selbst greift diese Einschr nkung nicht wirklich weil die Indizierung mit invol vierten Dingen mit oder ohne Ber cksichtigung der uses Beziehung zu s
118. konstanten Werts oder Nutzung ei ner alten Version der entsprechenden Funktion simulieren kann er seinen Modul M schon implementieren und testen ohne auf die Fertigstellung der Funktionen aus M warten zu m ssen So wird die parallele Arbeit mehrerer Entwickler m g lich Um die Leistungen eines Moduls schon vor dessen Implementierung festzulegen und potentiellen anderen Entwicklern bekannt zu machen beschreibt man sie in ei ner Spezifikation Diese umfa t eine Darstellung der Syntax und der Semantik der an der Schnittstelle angebotenen Funktionen Das f hrt auf die Abstrakten Daten typen Die Syntaxbeschreibung erfolgt dabei durch Angabe der Funktionsk pfe in einer Programmiersprache oder einer hnlichen Notation F r die Darstellung der Semantik fehlt jedoch vielen Programmiersprachen das entsprechende Mittel denn sie ist ja im Endeffekt durch den vollst ndigen Funktionsrumpf gegeben Deshalb benutzt man eher mathematische Darstellungen Zu unterscheiden sind die alge braische und operationale Spezifikation Erstere beschreibt das Zusammenspiel der einzelnen Funktionen des abstrakten Datentyps Operational bezieht man sich da 24 2 Objektorientierte Anwendungsentwicklung gegen auf ein zugrundeliegendes mathematisches Modell anhand dessen die Wir kungsweise jeder Funktion f r sich durch Angabe von Vor und Nachbedingung oder nach dem Schema Eingabe Ausgabe Funktionaler Zusammenhang zwi schen beiden angegeben wir
119. les Merkmal mit A irreduziblem Merkmalsbegriff existieren Algorithmus B12 Koordinatenberechnung f r das Infimum Gegeben sei ein endlicher formaler Kontext G M I und ein zugeh riges additiv nach Merkmalen gezeichnetes Liniendiagramm mit mehr als 4 Kno ten In vecty seien die y Koordinaten der Vektoren zu den Merkmalen gespei chert und in atomx und atomy die Koordinaten und aAnz die Anzahl der Atome Dabei seien die Positionen der Atome nach steigender x Koordinate sortiert gespeichert Der Algorithmus berechnet in x und y die verbesserte Position des Infimums oder bricht ab wenn die oben dargestellte Heuristik nicht zum Ziel f hrt B12 1 linkestes Atom links atomX 0 B12 2 rechtestes Atom rechts atomX aAnz 1 B12 3 Anzahl der Separatoren sind gt 0 B12 4 Anzahl der echten Merkmalsvektoren nichtNull 0 B12 5 Summe der y Koordinaten der Vektoren vDist 0 310 B12 B12 B12 B12 B12 B12 B12 B12 B12 B12 B12 B12 B12 B12 B12 B12 B12 B Algorithmen zur FBA 6 far die y Koordinate des Infimums FOR i 0 TO M po 7 echte Vektoren weisen nach unten IF vectY il lt 0 THEN 8 vDist vDist vectY i 9 nichtNull nichtNull 1 10 y min atomY 0 atomY aAnz 1 vDist nichtNull 11 f r Paare horizontal aufeinanderfolgender Atome FOR i 0 TO aAnz 2 DO 12 Die ersten d
120. ltigkeit in neuen Anwendungsfallmo dellen zu berpr fen F r die berpr fung einer einzelnen Implikation ist wieder um nur die Betrachtung des kleinsten die Pr misse einschlie enden neuen Be griffsinhalts bzw umfangs n tig Ist die Konklusion ebenfalls in ihm enthalten gilt die alte Implikation auch im neuen formalen Kontext sonst steht sie zu dem neuen Modell in Widerspruch Gegebenenfalls m ssen die Analytiker auf einen Widerspruch hingewiesen werden Sie k nnen dann entscheiden bei welcher der beiden Indizierungen der Anwendungsf lle ihnen ein Fehler unterlaufen ist 1 2 3 Analysemetriken BASE erlaubt schon sehr fr h in einem Entwicklungsprojekt in Form von Linien diagrammen formal definierte Modelle zu erstellen Auf Basis solcher w re es m glich Metriken zu definieren und basierend darauf Aufwandssch tzungen durchzuf hren Entsprechende Metriken w rden den Grad der im Anwendungs fallmodell enthaltenen Datenabh ngigkeiten quantifizieren Denkbar w re es das Verh ltnis von Knoten zu Kanten oder die zyklomatische Zahl nach Thomas McCabe Mcc 76 zu betrachten Au erdem k nnte man wie Gregor Snelting bei 1 Siehe Hilfssatz 11 und Satz 10 auf Seite 100 der zugeh rige H llenoperator ist in G W 96 2 3 S 80 angegeben Er ist prinzipiell aufgebaut wie derjenige zur Berechnung der Pseudoinhalte bzw Umf nge in Satz B4 auf Seite 287 249 7 2 Ausblick auf weiterf hrende Arbeiten der Untersuchung
121. m te T Der Fall einer Vereinigung von Merkmalsmengen ergibt sich analog b und c ergeben sich direkt aus Satz 6 d folgt mit Hilfssatz 3 auf Seite 76 aus Satz 6 e Seien ACG BcM Alle drei Aussagen bedeuten g Im VgeA meB Formale Begriffe lassen sich mit Hilfe der Abbildungen wie folgt definieren Definition 20 Formaler Begriff 82 Ein formaler Begriff eines formalen Kontexts G M I ist ein Paar A B mitACG BCcM und A Bund BD A A hei t dann der Umfang die Extension und B der Inhalt die Intension von A B B G M I sei die Menge aller formalen Begriffe des Kontexts G M I G W 96 1 1 Definition 20 S 18 3 Formale Begriffsanalyse Formale Begriffe sind also dadurch gekennzeichnet da ihr Inhalt genau aus den formalen Merkmalen besteht die auf alle formalen Gegenst nde des Umfangs zu treffen und umgekehrt ihr Umfang gerade die formalen Gegenst nde enth lt die alle formalen Merkmale aus dem Inhalt tragen Ein formaler Begriff ist nach Defi nition 20 schon durch die Angabe seines Umfangs oder seines Inhalts vollst ndig bestimmt Im folgenden Hilfssatz kann so schon eine Darstellung aller formalen Begriffe eines formalen Kontexts formuliert werden Umfang und Inhalt sind n m lich Bilder unter den entsprechenden Abbildungen Hilfssatz 5 Darstellung von formalen Begriffen Ist G M I ein formaler Kontext so gilt B G M D A A ACG B B BCM G W 96
122. m glich und nicht sinnvoll weil man innerhalb der k 1 k Menge von 2 m glichen bin ren reflexiven symmetrischen Relationen auf der Menge der formalen Begriffe suchen m te mit k als Anzahl der Begriffe Nimmt man den Umweg ber die Blockrelationen um eine Zerlegung anhand einer Toleranzrelation zu bestimmen mu man nur 2 m gliche Relationen wenn m die Anzahl der formalen Gegenst nde n die Anzahl der formalen Merk male und i die Kardinalit t der Inzidenzrelation d h Anzahl der Kreuze in der Kontexttabelle sind Diese Zahl ist in der Regel kleiner als die vorher angegebe ne siehe B 2 1 auf Seite 283 Entscheidend ist da sich der zur Berechnung n ti ge H llenoperator f r die Blockrelationen verh ltnism ig einfach beschreiben l t siehe B 4 1 auf Seite 293 In den erw hnten Untersuchungen zur Modulari sierung von Altsystemen durch Lindig und Snelting L S 97 werden vornehm lich andere Verbandszerlegungen betrachtet In erster Linie spielen Zerlegungen in horizontale Summanden Diagrammteile die nach Entfernen des globalen Supre mums und Infimums ohne Verbindung zueinander sind eine Rolle Da diese Zer legung anhand des Liniendiagramms mit Hilfe von Graphenalgorithmen geschieht vergl FLS 95 k nnen auch Diagrammteile ausgemacht werden welche die Zerlegung verhindern In solch einem Fall kann der Benutzer der entsprechenden Software entscheiden ob er die Abh ngigkeit ber Ko
123. male Merkmale Identifiziert werden die einzelnen Gegenst nde und Merkmale ber einen internen eindeutigen Bezeichner the_identifier Ihre f r den Benutzer sichtbare Bezeichnung also in BASE die Namen von Anwendungsf llen und Dingen werden in the_description abgelegt Diese Zeichenkette wird zur An zeige im Anwendungsfall Editor und im Liniendiagramm benutzt F r die Linien diagrammdarstellung nimmt the_format Angaben zur Darstellung des Textes auf Das Attribut the_number h lt in einem formalen Kontext die zugeh rige Zeilen bzw Spaltennummer fest in einem Liniendiagramm die Nummer des Knotens zum zugeh rigen Gegenstands bzw Merkmalsbegriff Das Klassenattribut ID_string enth lt lediglich das ConScript Schl sselwort f r die entsprechende Klasse Der Name eines Anwendungsfalls und die Zuordnung von involvierten Dingen k nnen also direkt in einem durch die Klasse TFormalContext gegebenen formalen Kontext gespeichert werden F r die anderen Angaben ist das von der Oberklasse 211 5 4 Technischer Aufbau des Werkzeugs TFCAObject geerbte Attribut the_specials zust ndig Es speichert ein Array von Zeichenketten Diese werden auch in ConScript Dateien festgehalten siehe 5 4 4 auf Seite 216 Von The Formal Concept Analysis Library und ConScript ist gera de vorgesehen in dieser Weise anwendungsspezifische Informationen zu spei chern F r die Anwendungsfallangaben verwendet BASE spezielle Formate f r die entsprechenden
124. mit berechnet um berpr fungsfragen zur Beurteilung des Detaillie rungsgrads einer funktionalen Zerlegung sofort ohne vorherige Implikationenbe rechnung anzeigen zu k nnen Die Berechnung der Pseudoumf nge geht mit der Berechnung der Begriffsumf nge einher siehe B 3 auf Seite 287 Die Basis der Merkmalsimplikationen wird jedoch nur bei Bedarf berechnet dann aber auch im Liniendiagramm gespeichert Die Speicherung der Pseudoumf nge und Pseudoinhalte in the_specials geschieht in der folgenden Form Darstellung in EBNF Metazeichen sind grau gedruckt e Pseudoumfang PSEUDO_EXTENT Bezeichner e Pseudoinhalt PSEUDO_INTENT Bezeichner Die Bezeichner sind wieder die intern verwendeten in the_identifier gespeicher 1 Die Speicherung des Liniendiagramms in Knoten und Kanten ist in The Formal Concept Analysis Library an der graphischen Repr sentation orientiert Insbesondere k nnen so beiden Diagrammelementen graphi sche Attribute zugeordnet werden Die Umsetzung der Verbandsoperationen Infimums Supremumsbil dung Vergeleiche bzgl der Ordnung Ermittlung von unteren oberen Nachbarn erfolgt ber die reflexiv transitive H lle Alternative w re eine Graphen orientierte Speicherung wie etwa in Lin 99 3 6 Peter Becker diskutiert in seiner Diplomarbeit Bec 99 verschiedene M glichkeiten in einem solchen Ansatz die Begriffsumf nge und inhalte zu speichern In ABLN 89 werden M glichkeiten dargestellt Ordnungen in kompakter We
125. n 1 DO B11 33 obere Schranken FOR s 0 TO n 1 DO B11 34 IF k mmlKn r THEN B11 35 os r os r filter k B G M B11 36 kleinste obere Schranke FOR s 0 TO n 1 DO B11 37 IF k os r THEN B11 38 os r os r N ideal k 8 G M T B11 39 os r enth lt nur noch das Supremum S n B11 40 WHILE k os r DO B11 41 s s8 1 B11 42 supr k In B11 1 bis B11 8 werden zu jedem formalen Begriff be B G M J zun chst alle Merkmalsbegriffe aus B G M I ermittelt deren zugeh rigen formale Merkmale im Inhalt von b enthalten sind In B11 3 und B11 4 werden dazu erst einmal nur Merkmale erfa t deren Merkmalsbegriff in B G M J gerade b ist In B11 5 bis B11 8 werden dann noch die von Oberbegriffen von b zugeschlagen Von diesen Begriffen ist das Infimum zu bilden Dazu werden in B11 9 bis B11 14 die unteren Schranken durch den Schnitt der Hauptideale der Begriffe bestimmt Danach wird in B11 15 bis B11 17 deren Maximum bestimmt Dieses mu dann in B11 18 bis B11 21 nur noch aus der Mengennotation bestimmt werden F r das Supremum ist das Vorgehen dual 299 B 4 Berechnung von Blockzerlegungen F r die Laufzeitabsch tzung sei angenommen da die Operationen kn ideal filter und lt konstanten Aufwand verursachen Dies ist der Fall wenn die re flexiv transitive H lle schon vorberechnet ist bei der Erstellung des Lin
126. nach 17 Uhr d h nur einmal t glich werden die gt notwendigen Bestellungen an die Weinproduzenten wie folgt erstellt S16 Bestellungen an Weinproduzenten werden f r solche Produkte erteilt deren aktueller Lagerbestand verringert um die noch nicht Lieferscheinvermerk Lieferwagen Maximalbestand Minimalbestand Produkt Vorgemerkte Menge Wartekartei Wareneingang bearbeiten der entsprechende Maximalbestand erreicht wird S17 528 it erden vom Sachbearbeiter in inproduzenten erfa t siehe AN 2 1 518 ie Bestellformularen an Wei EXTENDS M Involvierte Dinge Lagerbestand Lieferant Maximalbestand Minimalbestand Produkt Vorgemerkte Menge Lagerbestand ermitteln Dateneingabe bernehmen Abbrechen gt Zeiegung Entfemen Ding entfernen Abb 5 1 Anwendungsfall Editor in Beschreibungsansicht 190 5 Ein Analyse Werkzeug f r BASE Im linken mit einer gekennzeichneten Bereich sind die Anwendungsf lle aufge listet Zu der entsprechenden Listbox kommt ein Editierfeld f r ihre Eingabe und Buttons die verschiedene Aktionen ausl sen In analoger Weise sind auf der rech ten Seite siehe alle betrachteten Dinge aufgef hrt In der Mitte durch einen schwarzen Rahmen zusammengefa t und in Abbildung 5 1 zus tzlich durch eine gekennzeichnet sind alle
127. nden aufzuz hlen und f r jede Klasse einmal die Anzahl der nicht trivialen Blockrelationen zu bestim men Einfacher als Begriffsverb nde aufzuz hlen ist aber sich an formalen Kon texten zu orientieren Sp testens die Ermittlung der Isomorphieklassen ist sehr auf wendig Deshalb wurden f r die Tests formale Kontexte betrachtet In einer Testreihe wurden alle quadratische Relationen aufgez hlt deren Hautdia gonale besetzt ist die keine Vollzeilen oder Spalten aufweisen und die keine dop pelten Zeilen oder Spalten enthalten Dies war bis zur Gr e 5x 5 problemlos m glich Bei einer Tabellengr e von 5x5 gibt es bereits 2 33554432 Kontexte Sinnvoll w re auch die alleinige Betrachtung von reduzierten Kontex ten zu denen alle Gegenstandsbegriffe V irreduzibel und alle Merkmalsbegriffe A irreduzibel sind zu betrachten Dann h tte man aber die bequeme Einschr n kung auf quadratische Kontexte fallen lassen m ssen um nicht nur Begriffsver 301 B 4 Berechnung von Blockzerlegungen b nde mit gleicher Anzahl von V irreduziblen und A irreduziblen Begriffen zu be trachten Bei einer Tabellengr e von 5 x 5 existieren 389310 formale Kontexte die oben genannte Kriterien erf llen Von diesen weisen 94 89 interessante Blockrelatio nen auf Die Verteilung der Anzahl interessanter Blockrelationen ist folgendem Diagramm zu entnehmen 45000 40000 35000 30000 25000 20000
128. ndiger Verband aus Begriffen mit ihrer Ober Unterbegriffsord nung der sog Begriffsverband Die Umf nge der formalen Begriffe bestehen aus formalen Gegenst nden und die Inhalte aus formalen Merkmalen des zugrundelie genden Kontexts Endliche Verb nde k nnen durch sog Liniendiagramme Hasse Diagramme dargestellt werden Erfahrungen der Darmst dter Arbeitsgruppe All gemeine Algebra und Diskrete Mathematik um Rudolf Wille zeigen da bei Da tenanalysen in vielen verschiedenen Fachgebieten solche Diagramme eine frucht bare Basis f r Diskussionen zwischen den Fachexperten und den analysierenden Mathematikern darstellten Deshalb werden sie auch in BASE herangezogen um den Dialog der Entwickler mit den Fachexperten zu unterst tzen In der Entscheidung was man als formale Gegenst nde und Merkmale behandelt ist man zun chst einmal frei Die mathematische Theorie betrifft nur die Struk turaspekte des erstellten Modells so da man formale Kontexte mit einer beliebi gen Semantik versehen kann die als Zuordnung von Merkmalen zu Gegenst nden interpretiert werden kann Die Palette der Anwendungen reicht von typischen Klassifikationsaufgaben z B Zuordnung von verschiedenen Eigenschaften zu Ge steinsarten zum Aufbau einer Wissensbasis Erd 98 ber Navigationsunterst t zung in Dokumentensammlungen z B f r das WWW K N 96 bis zur Darstel lung von Beziehungsgeflechten beliebiger Dinge z B Abbildung der globalen Struktur
129. objektorientierten Programmie rung her zu verstehen sind und erst in den sp ten Phasen eine wichtige Rolle spie len Von den Entwicklern werden diese Konzepte wie selbstverst ndlich in allen Modellen die sie w hrend der Entwicklung erstellen gebraucht Ist das entstehen de Modell deshalb f r die Fachexperten nicht vollkommen verst ndlich k nnen sie nur schwer entscheiden ob aus dem Untersuchungsbereich die wichtigen Ob jekte zu Modellierung gew hlt wurden Den Entwicklern fehlt dagegen h ufig die tiefgehende Kenntnis des Untersuchungsbereichs um diese Frage von sich aus ab schlie end beurteilen zu k nnen Deshalb erscheint die Sichtweise von Bertrand Meyer und anderen zumindest sehr vereinfachend F r die Anwender nach wie vor leichter zug nglich erscheint das klassische Para digma der Anwendungsentwicklung bei dem Daten und Funktionen getrennt mo delliert werden Da eine Trennung der beiden Sichten zusammen mit der blichen Vorgehensweise der funktionalen Zerlegung zu Problemen aufgrund fehlender Modularit t und unn tiger Datenabh ngigkeiten f hrt werden die beiden Sichten in BASE nicht getrennt sondern komplement r betrachtet So kann das Analyse modell den Fachexperten aus beiden Sichten pr sentiert werden und Datenabh n gigkeiten werden gleichzeitig kontrolliert In BASE kann auf diese Weise eine funktionale Zerlegung durchgef hrt werden ohne deren bliche Nachteile in Kauf nehmen zu m ssen Ein solches Vo
130. r die Software Entwicklung Der einzige Unterschied zu Abbildung 4 5 auf Seite 137 ist der neue Gegenstands begriff zur Vorgemerkten Menge Um eine ansprechendere Struktur zur erhalten kann man die Anordnung insbe sondere die Reihenfolge der Anwendungsf lle im Liniendiagramm etwas ver n dern siehe Abbildung 4 15 4 3 2 Abbruchkriterium f r die funktionale Zerlegung F r einen rekursiven Zerlegungsproze wie den hier betrachteten ben tigt man ein Kriterium um die Rekursion an den passenden Stellen abzubrechen In dem hier vorliegenden Fall ist also die Frage zu beantworten wann die funktionale Zerle gung f r die Analyse hinreichend detailliert vorgenommen ist Das angestrebte Kriterium daf r ist da die Einzelschritte durch Operationen implementierbar sind die jeweils eindeutig einer Klasse zugeordnet werden k nnen Die Erf llung dieses Kriteriums kann vollst ndig nur berpr ft werden wenn schon ein Klassen modell vorliegt Davon kann man in BASE eben nicht ausgehen Auch in den her k mmlichen Methoden ist das nur bedingt der Fall weil die Besch ftigung mit den Anwendungsf llen ja gerade zu einem tragf higen Klassenmodell f hren soll Letztendlich bleibt also die Entscheidung wann der Proze der funktionalen Zerle gung zu beenden ist allein der Intuition des Entwicklers berlassen BASE bietet ihm jedoch an dieser Stelle ein Hilfsmittel Ziel ist es die innerhalb der Zerlegung auftretenden Funktionen
131. r jede da bei auftretende x Koordinate einmal als Separatoren gespeichert und abschlie Bend behandelt Reduziert sich der Bereich auf ein leeres Intervall wird das Verfahren abgebrochen und die Position des Infimums nicht ge ndert Erh lt man dagegen auf diese Weise ein Intervall von sinnvollen x Koordinaten f r das Infimum werden dessen untere und obere Schranke und die gespeicherten Separatoren die in das Intervall fallen weiter betrachtet Die Separatoren sind paarweise verschieden weil gleiche nur einmal gespeichert wurden Von diesen Werten werden die beiden horizontal auf einanderfolgenden als endg ltiges Intervall betrachtet die die Mitte des urspr ng lichen Intervalls einschlie en Die Mitte des so endg ltig festgelegten Intervalls ist dann die x Koordinate des Infimums Die Mitte wird gew hlt um von den beiden einschr nkenden Grenzen m glichst weit weg zu bleiben Mit dieser Heuristik au tomatisch gezeichnet sieht das Liniendiagramm aus Abbildung B 6 wie folgt aus 309 B 5 Automatisches Zeichnen von Diagrammen Abb B 8 Verbessertes Liniendiagramm zu B 0 7 0 7 Bei weniger als 5 Knoten k nnen durch das Zeichnen nach Merkmalen keine ber dimensional gro en vertikalen Abst nde zum Infimum entstehen deshalb wird f r den Algorithmus angenommen da mindesten 5 Knoten vorhanden sind Ausge nutzt wird aber nur da mindestens zwei Knoten und damit mindestens ein forma
132. respektiert Abk rzend sagt man dad V gt W aus Y Z folgt wenn V gt W aus Y Z folgt K folgt aus F wenn jede Implikation in amp aus 3 folgt I hei t f r ein System XC P X vollst ndig wenn SJ in gilt und jede Implikation die in R gilt aus 3 folgt Vergl G W 96 2 3 Definition 37 S 81 F r die oben angesprochenen funktionalen Abh ngigkeiten in relationalen Daten banken etabliert H F 85 die entsprechende Charakterisierung des Begriffs des se mantischen Folgens Die definierte Relation des semantischen Folgens verh lt sich entsprechend der b lichen Regeln der Logik sie ist insbesondere transitiv Hilfssatz 7 __ Transitivit t von semantisch folgen Sei X eine Menge Dann ist die durch STR I folgt aus K definierte bin re Relation auf PA transitiv 94 3 Formale Begriffsanalyse Beweis Seien 3 K c pw Implikationenfamilien auf Xund amp folge aus 3 und aus Respektiert Re P X die Implikationenfamilie 3 so auch alle Implikatio nen in und damit auch amp im Ganzen Weiter respektiert dann R auch alle Implikationen in D h folgt aus 3 Genauso kann man wie schon oben angedeutet auch auf X selber transitiv schlie en Hilfssatz 8 _ Transitiv gefolgerte Implikationen Sei X eine Menge und U V Wc X Aus U gt V V W folgt dann die Implikation U gt W Vergl Duq 87 Rule 0 S 222 Beweis Re P X respektiere die Implikationen U gt V
133. schrittwei se das komplette Klassenmodell abgeleitet Zun chst untersucht man die Sichtbar keit der Objekte untereinander entwickelt dann die Klassenschnittstellen und legt schlie lich die Vererbungsbeziehungen fest Der entstandene Entwurf kann dann meist direkt in standardisierter Weise implementiert werden Martin Odell betrachten eine lineare Abfolge von Analyse Entwurf und Imple mentierung Ein eigenes Vorgehensmodell stellen sie aber nicht vor sondern be trachten nur die verschiedenen Modellelemente Sie unterscheiden Modelle f r Sy stemstruktur und verhalten In der Analyse werden sie getrennt im Entwurf ver woben behandelt Das Klassenmodell beschreibt die Systemstruktur Um es in der Analyse zu entwickeln sind die Klassen zu identifizieren Assoziations Generali sierungs und Aggregationsbeziehungen zu modellieren Eine Beschreibung des Systemverhaltens ergibt sich durch Zustands und Interaktionsdiagramme Im Ent wurf werden dann Attribute und Operationen der Klassen und eine Vererbungs hierarchie festgelegt Eine Umsetzung in eine objektorientierte Programmierspra che kann dann in direkter Weise geschehen Gemeinsam ist allen Methoden da das Klassenmodell das zentrale Modellie rungskonzept ist In der Analyse wird ein erstes Modell entwickelt im Entwurf das selbe verfeinert Dabei heben die meisten Autoren das Zusammenspiel von Statik und Dynamikmodell hervor Viele ziehen Anwendungsf lle oder Szenarien in Be tr
134. selbst an der Schnittbildung betei ligt ist Es folgt kalka V NISE R ky V CS CO RE R VER kV 96 3 Formale Begriffsanalyse D h kylky V ky V und ky ist idempotent Insgesamt ist ky ein H llenoperator Die maximalen Konklusionen bilden die Gesamtheit der Mengen die alle g ltigen Implikationen respektieren Satz 10 Maximale Konklusionen respektierende Mengen Sei X eine Menge 9 c P X ein System von Teilmengen und Sc p x die Menge der in X g ltigen Implikationen auf X Dann sind die maximalen Konklusionen k5 V mit V CX genau die Teil mengen von X die 3 respektieren Vergl G W 96 2 3 Hilfssatz 20 S 80 Beweis Die Implikation V gt W gelte in Ist UC X und VCk y U so gilt VCR f ralle RE HRmit UCR Nach Voraussetzung ist also auch Wc R f ralleRe HmitUCR DhWeN Re R UCR ky V Die maximalen Konklusionen respektieren also 3 Respektiert andersherum R c X die Implikationenfamilie 3 so ist nach Hilfssatz 10 RO k R 3 Weil R 3 respektiert folgt also ky R CR Nach Hilfssatz 11 ist damit R k R eine maximale Konklusion Maximale Konklusionen k nnen als Pr missen informativer Implikationen ausge schlossen werden Folgerung 8 Pr missen informativer Konklusionen Sei X eine Menge und It c P X ein System von Teilmengen Ist die Implikation V gt W auf X informativ und gilt in X so ist V G kg V Eine Implikation V gt k V ist genau dann informativ wenn V k V Be
135. sentation keine R cksicht nimmt sind dagegen die Kanten nur implizit ber die als Attribut zu den Knoten gespeicherten Adjazenzlisten gegeben 1 5 Eignung objektorientierter Analysemodelle Selbst wer nicht vom Nutzen einer Diskussion ber Wege zur Identifikation von Objekten und Klassen berzeugt ist mu sich Gedanken ber eine andere Diskus sion machen den oben angesprochenen Diskurs zwischen Fachexperten und Ent wicklern w hrend der Anwendungsentwicklung Rumbaugh et al schreiben in die sem Zusammenhang A good model can be understood and criticized by applica tion experts who are not programmers RBP 91 S 5 Da die objektorientier ten Modelle der Entwickler eine ad quate Basis f r die Kommunikation mit den Fachexperten bieten ist keineswegs erwiesen In FKM 96 argumentieren die Autoren da zwar von den Vertretern objektorientierter Methoden behauptet wird da objektorientierte Analysemodelle durch die Anwender unmittelbar verstanden und bewertet werden k nnen doch Praxiserfahrungen diese These nicht uneinge 13 1 6 Das Vorgehen in BASE schr nkt st tzen k nnen Durch die Nutzung abstrakter Modellierungselemente seien die entstehenden Modelle f r Anwender weniger transparent als in der Theo rie behauptet So bietet z B UML eine eigene Notation f r klassenbezogene Merk male einer Klasse und empfiehlt die Hervorhebung von Konstruktoren einer Klas se Dies sind zwei Modellaspekte die nur von der
136. so ist nach Folgerung 2 c auf Seite 82 ge g Cm d h g m Sucht man zu einem Gegenstand die zutreffenden Merkmale verfolgt man vom Knoten an dem der Gegenstand notiert ist alle aufsteigende Linienz ge Die an ihnen auftauchenden Merkmale sind die auf den Gegenstand zutreffenden Genau umgekehrt findet man durch die absteigenden Linienz ge zu einem Merkmal alle Gegenst nde die es tragen So steht in Beispiel 7 der mit Use case diagram beschriftete Knoten f r den forma 89 3 3 Kontexte und Begriffsverb nde len Begriff UML Jacobson Use case diagram Sequence diagram Class dia gram Statechart diagram Dieser ist z B ein Oberbegriff von UML Use case diagram Sequence diagram Class diagram Statechart diagram Activity diagram Collaboration diagram Deployment diagram Component diagram mit UML bezeichneter Knoten d h u Use case diagram 2 UML Liniendiagramm und formaler Kontext sind also Repr sentationen derselben Sach verhalte Aber die Liniendiagrammstruktur erhellt einige Dinge deutlicher als der formale Kontext Die exponierte Stellung von Statechart diagram und Class dia gram am Supremum des ganzen Verbands macht auf einen Blick deutlich da alle betrachteten Methoden Klassendiagramme zur Modellierung statischer und Zu standsdiagramme zur Beschreibung dynamischer Aspekte benutzen Weiter sugge rieren die Coatome eine Gegen berstellung der Methoden die zur Ablaufbeschrei bung Sequenzdiagra
137. spezialisiert wurden und die funktionale Zerlegung zu speichern Benutzt wird dazu die Klasse TFormalContext Sie hat die folgenden Attribute class TFormalContext public TFCAObject static const char ID_stringl ConScript Schl sselwort f r formale Kontexte TQSObjectArray the objects formale Gegenst nde ToSAttributeArray the attributes formale Merkmale TRelation the relation Inzidenzrelation TArrows the arrows Pfeilrelationen int arrows _up_ok Sind die gespeichgerten Aufw rtspfeile g ltig int arrows _down_ok Sind die gespeichgerten Abw rtspfeile g ltig Ja Mit Hilfe der Pfeilrelationen k nnen formale Gegenst nde mit V irreduziblem Ge genstandsbegriff und formale Merkmale mit A irreduziblem Merkmalsbegriff cha rakterisiert werden vergl Definition 11 auf Seite 72 Dies ist in verschiedenen Berechnungen von Bedeutung So k nnen im besonderen formale Kontexte auf ihre im Sinne des vorigen Satzes irreduziblen formalen Gegenst nde und formale Merkmale reduziert werden ohne den zugeh rigen Begriffsverband bis auf Iso morphie zu ndern Eine solche Reduzierung erlaubt eine effizientere Berechnung des Verbands Au erdem l t sich mit Hilfe der Pfeilrelationen eine hier nicht be trachtete Klasse von Implikationen auszeichnen und berechnen und sogenannte doppelt fundierte Kontexte definieren die viele Eigenschaften von endlichen Kon texten erhalten weitere Ausf hrungen in G W 96 1 2
138. stark ver k rzt um schnell einen Eindruck geben zu k nnen Snelting und Tip beziehen sich im wesentlichen auf C Programme Bei den formalen Gegenst nden werden statische Variablen und Zeiger unterschieden Insbesondere werden die this Zeiger der Operationen auch ber cksichtigt Diesen werden k nstlich die entsprechen den Operationen als inzident zugesprochen damit jeder this Zeiger in der umstruk turierten Klassenhierarchie auch wirklich die Klasse als Typ erh lt welche die Operation enth lt Attribute deren Typ unter den untersuchten Klassen ist treten sowohl als formale Gegenst nde als auch als formale Merkmale auf Bei Operatio nen wird zwischen Deklaration und Implementierung unterschieden wie auch bei Godin et al m glich Dies hat besondere Bedeutung um dynamisch gebundene Operationsaufrufe zutreffend nachbilden zu k nnen F r Zeiger ist es n tig zu er mitteln auf welche Variablen sie im Ablauf der Programme zeigen k nnen Zuwei sung werden durch Gegenstandsimplikationen modelliert Sichtbarkeitseinschr n 231 6 3 Modularisierung kungen zwischen Attributen und Operationen gleicher Signatur werden durch Merkmalsimplikationen nachgebildet Mit allen diesen Erw gungen ist die Methode allein f r Re Engineering Aufgaben gedacht und findet in der Analysephase einer Neuentwicklung keine Anwendung 6 3 Modularisierung In 4 6 wurden schon die Arbeiten von Christian Lindig und Gregor Snelting zur Modularisierun
139. und V gt W Ist dann U c R so nach UV auch V c R und damit nach V gt W sofort WER D h R respektiert U gt W Eine besonders einfache Methode aus einer g ltigen Implikation andere ebenfalls g ltige Implikationen abzuleiten zeigt Hilfssatz 9 Hilfssatz 9 Schw chere Implikationen Sei X eine Menge und V gt W eine Implikation auf X Sind Y Zc X mit VC Y und Z c W dann folgt Y gt Z aus V gt W Vergl G W 96 2 3 S 82 Beweis Nach Voraussetzung gelten die Implikationen Y gt V und W gt Z nach Hilfssatz 6 in Y X Nach Hilfssatz 8 folgt damit die Implikation Y gt W und dann auch Y gt Z Im Sinne von Hilfssatz 9 schw chere Implikationen folgen aus den entsprechenden st rkeren Um die Menge der betrachteten Implikationen zu verkleinern k nnte man also die schw cheren Implikationen weglassen und nur Implikationen be trachten deren Pr misse nicht verkleinert und deren Konklusion nicht vergr ert werden kann ohne die G ltigkeit der Implikation zu verlieren Hilfssatz 10 Maximale Konklusion Sei X eine Menge und R c P X ein System von Teilmengen Ist Vc X so gilt mit ky V A Re R VCR in die Implikation V W genau dann wenn W c k V Dabei ist der Schnitt ber eine leere Menge von respektierenden Mengen 95 3 4 Implikationen ganz X Vergl G D 86 S 10 Beweis F rjedes Re X mit VCR gilt nat rlich ky V CR weil R an der betreffenden Durchschnittsbildung beteili
140. vorgeschlagen findet aber erst in BASE wirkliche Anwendungsbeispiele 245 7 1 Zusammenfassung der wichtigsten Ergebnisse 7 1 3 Funktionale Zerlegung in BASE Die bei der Analyse schrittweise erstellten Modelle m ssen von den Fachexperten in Hinblick auf ihre Eignung eingesch tzt werden Sie m ssen ihnen also bis in ihre Details verst ndlich sein Klassenmodelle scheinen in diesem Zusammen hang nur bedingt geeignet Deshalb betont BASE mit dem gew hlten Anwen dungsfall Ansatz die funktionale Sicht und sieht funktionale Zerlegungen der An wendungsf lle zur schrittweisen Modellverfeinerung vor Dies erleichtert insbe sondere den Anwendern das Verstehen des sich entwickelnden Modells weil die funktionale Zerlegung nicht nur eine allgemein praktizierte Probleml sungsstrate gie darstellt sondern ihnen von der Gestaltung der Gesch ftsprozesse ihres Unter nehmens wohlbekannt ist Au erdem bieten die funktionalen Zerlegungen eine gute Grundlage f r die Beschreibung der Anwendungsf lle in Sequenzdiagram men Die Datenabh ngigkeiten der sich ergebenden Funktionen sind durch die Linien diagramme explizit und damit kontrollierbar 7 1 4 berpr fungsfragen Im Laufe der Entwicklung von BASE gewann die Unterst tzung der Kommunika tion zwischen Anwendern und Entwicklern an Gewicht Als zus tzliche Repr sen tationsform f r die Modelldaten wurde deshalb die M glichkeit der Generierung von berpr fungsfragen in das Vo
141. w hlbar sind so da echt weniger Dokumente selektiert werden aber die Selektion nicht bei der leeren Dokumentenmenge landet Die Menge der sinnvoll w hlbaren Schl sselworte berechnet man wie folgt Zu einem formalen Begriff A B e B G M I mit A der einen Zustand innerhalb des Suchvorgangs beschreibt ermittelt man die Merkmalsmenge U s B ge denn dies sind gerade die Merkmale die jeweils f r sich allein genommen auf eine echte nicht leere Teilmenge von A zutreffen Die M glichkeit diese Schlag w rter dem Benutzer anzugeben macht das Verfahren effektiv Der benutzte Begriffsverband mu nur bei nderungen der Zuordnung der Schlag w rter zu Dokumenten neu berechnet werden Die eigentliche Suche bedeutet viel weniger Aufwand und ist effizient implementierbar Deshalb eignet sich der An satz besonders f r Dokumentensammlungen an denen nur selten nderungen vor genommen werden Peter Becker ber cksichtigt in Bec 99 beim Verbandsaufbau den inkrementellen Algorithmus von Godin und Missaoui siehe auch B 5 3 auf Seite 314 und macht das Verfahren f r Sammlungen in die regelm ig neue Do kumente aufgenommen werden noch interessanter In Lin 99 sieht Lindig neben der Suche ber Schlagw rter auch eine Suche mit Hilfe von Beispieldokumenten vor In jedem einzelnen Suchschritt kann eine der beiden M glichkeiten genutzt werden Die Autoren der Arbeiten K N 95 C E 96 C E 99 EKSW 00 und R
142. wenn eine nderung im zugrunde liegenden CBASEDoc Objekt aufgetreten ist afx_msg void OnPaint Zeichnet das Diagramm auf dem Bildschirm vergr ert den Zeichenbereich wenn sich das Diagramm als zu gro heraustellt zentriert es durch Scrollen wenn lt zentrieren gt gesetzt ist afx_msg void OnAnsichtGegenstaende Aktiviert Deaktiviert die Anzeige von formalen 339 D 3 CBASEView afx_msg afx_msg afx_msg ER afx_msg afx_msg afx_msg 340 Gegenst nden void OnAnsichtMerkmale Aktiviert Deaktiviert die Anzeige von formalen Merkmalen void OnLButtonDown UINT nFlags CPoint point Behandelt Klicks mit der linken Maustaste void OnMouseMove UINT nFlags CPoint point Verschiebt Diagrammteile gem der Bewegung der Maus mit gedr ckter linker Maustaste void OnLButtonUp UINT nFlags CPoint point Beendet das Verschieben void OnBearbeitenVerschFilter Setzt lt verschiebenVon gt auf F zum Verschieben von ganzen Hauptfiltern void OnBearbeitenVerschldeale Setzt lt verschiebenVon gt auf I zum Verschieben von ganzen Hauptidealen void OnBearbeitenVerschPunkte Setzt lt verschiebenVon gt auf P zum Verschieben von einzelnen Punkten void OnContextMenu CWnd pWnd CPoint point Blendet auf Klick der rechten Maustaste ein Kontextmen ein dessen Inhalt abh ngig vom angezeigten Diagramm und der Mausposition ist Haupts chlich enth
143. wesentlichen zu untersuchen ob durch BASE die Nachfragen von Entwicklern bei den Anwendern schneller und gezielter erfol gen und wie die Kommunikationssituation von beiden Personengruppen beurteilt wird 204 5 Ein Analyse Werkzeug f r BASE In einem industriellen Projekt in dem BASE versuchsweise von erfahrenen Ent wicklern eingesetzt wird k nnte die Evaluation deshalb im wesentlichen durch Befragung der Beteiligten erfolgen Man kann unterstellen da sie ber hinrei chende Erfahrung verf gen die Methode im Vergleich zu den sonst von ihnen ein gesetzten zu beurteilen Interessant w re ihre Einsch tzung des Verh ltnisses von Aufwand und Nutzen und der Grad ihrer Zufriedenheit in der Kommunikation mit einander In der Universit t stehen innerhalb von typischen Projekten mit Studentengruppen keine erfahrenen Entwickler f r einen Test zur Verf gung Aber es w re m glich zwei konkurrierende Gruppen die gleiche Modellierungsaufgabe behandeln zu las sen eine nach einer der in 2 4 auf Seite 33 angef hrten Methoden und eine nach BASE Auftraggeber w ren im Fall des geplanten Tests die Sekret rinnen des Fachgebiets Informatik gewesen die sich ein System zur Verwaltung von Lei stungs und Pr fungsnachweisen der Studenten des Fachbereichs w nschten Die se Konstellation ist von daher vorteilhaft da die Auftraggeber zwar in das Test vorhaben eingeweiht werden k nnen aber andererseits nicht selber an der Ent wicklu
144. x Lieferant x x Lieferant x Ix Minimalbestand x x Minimalbestand RX x Minimalbestand x x Maximalbestand Xe X Maximalbestand xRRX Maximalbestand x x Lieferschein x _ Rx Lieferschein x Xx Lieferschein x Lieferwagen x Lieferwagen x Lieferwagen Fahrtziel x Fahrtziel x Fahrtziel Lieferscheinvermerk Rx Lieferscheinvermerk x Rx Lieferscheinvermerk x Abb 4 20 Blockrelationen zum Begriffsverband aus Abbildung 4 15 Bestellung bearbeiten Bestellung annehmen Wareneingang bearbeiten R cklauf bearbeiten Wartekartei Lieferscheinvermerk Kunde Kundenbestellung Maximalen und minimalen Lagerbestand definieren Fehlbestande nachbestellen Lagerbestand ermitteln q Produkt Lagerbestand Vorgemerkte Menge Nachbestellung Maximalbestand Lieferant Minimalbestand Lieferscheine erstellen O Lieferschein Lieferwagen Fahrtziel Lieterkartei Bestellposten Abb 4 21 Begriffsverband der ersten Blockrelation aus Abbildung 4 20 165 4 6 Blockrelationen in BASE Lieferscheine erstelle wi reneingang bearbeiten Bestellung annehmen Fehlbest nde nachbesteNgn R cklauf bearbeiten Bestellung bearbeiten
145. zeilenwei se durchnumeriert Sind also G 180 Zjgj 1 und M mpo my_1 so erh lt g m die Nummer i G j Damit kann der H llenalgorithmus f r die Blockrelationen formuliert werden Algorithmus B10 Berechnung der Blockrelationen Gegeben sei ein endlicher formaler Kontext G M J mit G 8go gt Zjaj 17 Und M Im Myj 1F 294 B Algorithmen zur FBA Der Algorithmus berechnet in J die Blockrelationen von G M I B10 1 B10 2 B10 3 B10 4 B10 5 B10 6 B10 7 B10 8 B10 9 B10 10 B10 11 B10 12 B10 13 B10 14 B10 15 B10 16 B10 17 B10 18 B10 19 B10 20 die lektisch erste Blockrelation J Die letzte Blockrelation ist die volle Relation WHILE J GXM Do Ab hier Konstruktion des Nachfolgers G IM REPEAT REPEAT k k 1 z k DIV G s k MOD G UNTIL g m J vor g m gelegene Elemente VB Ugo Be X mo mm O Lg x mo om 1 R J 9 VB U g m UT ab hier Berechnung des H llenoperators REPEAT RP R Schleife ber die Zeilen FOR i 0 TO G 1 bo RP RU g xg Schleife ber die Spalten FOR i 0 TO M 1 oo JII RP RP u m x m UNTIL R RP UNTIL Rn VB J A VB R ist der lektische Nachfolger R Schleife ber die Blockrelationen Die Anweisung B10 10 f hrt vB als Abk rzung f r die Menge der vor der Nummer k liegen
146. zu zeichnen und so eine einmal erstellte Anordnung zu ber cksichtigen Diese zweite Erweite rung ist in B 5 3 erkl rt B 5 1 Additives Zeichnen Nach Folgerung 5 auf Seite 88 ist jeder formale Begriff als Supremum von Gegen stands und als Infimum von Merkmalsbegriffen darstellbar Darauf baut die Me thode des additiven Zeichnens auf Je nachdem ob man sich an den Gegenstands oder Merkmalsbegriffen orientiert spricht man vom Zeichnen nach Gegenst nden oder Zeichnen nach Merkmalen Beim Zeichnen nach Gegenst nden bestimmt man zu jedem V irreduziblen Ge genstandsbegriff einen zweidimensionalen Vektor also zu Gegenstandsbegriffen die h chstens einen unteren Nachbarn besitzen siehe Definition 11 auf Seite 72 und 5 4 2 auf Seite 210 Die V reduziblen Gegenstandsbegriffe werden nicht be r cksichtigt weil sie selber Suprema anderer Gegenstandsbegriffe sind Die Koor 1 Eine ausf hrliche Darstellung der gesamten Zeichenmethode findet sich in Vog 96 3 3 305 B 5 Automatisches Zeichnen von Diagrammen dinaten eines beliebigen Knotens errechnet man dann als Summe der Vektoren zu den in seinem Umfang enthaltenen formalen Gegenst nden Damit man bei der Berechnung der Summe nicht immer berpr fen mu ob ein Gegenstandsbegriff V irreduzibel ist ist es zweckm ig den formalen Gegenst nden mit V reduzi blen Gegenstandsbegriffen den Nullvektor zuzuordnen Dual geht man beim Zeichnen nach Merkmalen anhand der A irreduzib
147. 2 3 und Vog 96 2 3 16 1 F r BASE sind Pfeilrelationen nicht von herausragender Bedeutung Die Klasse TRelation speichert eine Inzidenzrelation indem jede Zeile und Spalte der zugeh rigen Kreuztabelle in ein Bit Array abgebildet wird Diese redundante Speicherung der Zeilen und Spalten erlaubt einen schnellen Zugriff bei den we sentlichen Operationen der Inhalts und Umfangsbestimmung siehe Algorithmus B2 auf Seite 281 Einzelheiten sind in Vog 96 2 1 11 1 nachzulesen F r BASE interessant ist genauer zu sehen wie formale Gegenst nde und Merk 1 Die redundante Zeilen und Spaltenspeicherung verdoppelt den Speicherbedarf Richard Cole Peter Eklund und Bernd Groh untersuchen in CEG 97 M glichkeiten gro e Kontexte zu komprimieren 210 5 Ein Analyse Werkzeug f r BASE male in The Formal Concept Analysis Library behandelt werden Zun chst einmal der relevante Teil der Klassenhierarchie TObject TAttribute TDPoint TDLine TOAC he identifier CStri x_value double from_point int Mesigontiieis CString y_value double to_point int TOACPL ID_string char the_description CString the_format CString the_number int Abb 5 17 Klassen zur Darstellung von formalen Gegenst nden Merkmalen Diagrammknoten und linien Die Klasse TObject speichert formale Gegenst nde und die Klasse TAttribute for
148. 2 G 6 Verwandte Anwendungen von FBA auch nicht durch die entsprechenden Operationsimplementierungen Dieser kuri os anmutende Umstand hat seine Begr ndung darin da ANY die Wurzelklasse der gesamten Klassenhierarchie von Eiffel Programmen ist GENERAL und PLAT FORM aber nur f r das Eiffelsystem selber wichtig und beim Programmieren in Eiffel unsichtbar sind ANY kapselt deren Funktionalit t um eine Anpassung der Wurzelklasse an bestimmte Projektanforderungen zu erm glichen An diesem Beispiel sieht man wie die Untersuchung mit Formaler Begriffsanalyse hilft Vererbungsstrukturen in Klassenbibliotheken oder Programmen darzustellen um sie besser zu verstehen Robert Godin und Hafedh Mili sehen diesen Ansatz aber auch f r den Aufbau ei ner Klassenhierarchie in den fr hen Phasen eines Software Entwicklungsprojekts vor GMI 93 tr gt den Titel Building and Maintaining Analysis Level Class Hi erarchies Using Galois Lattices In dieser Arbeit wird ein hnliches Beispiel wie oben untersucht Untersuchungsgegenstand sind einige Container Klassen von Smalltalk isEmpty includes size minus remove atPut b Sequenceable Collection addFirst addLast Linked List atAllPut values keys addwithOccurrences Abb 6 3 Smalltalk Container Klassen Die in Abbildung 6 3 grau angegebenen Klassen sind nicht in der Klassenbiblio thek e
149. 259 vollst ndig ist gibt es nach Satz 12 auf Seite 102 eine Implikation py U gt ky U E DQOy X mit Px U CV und kgl U ky V Weil DD X nach Satz 11 auf Seite 100 vollst ndig ist gibt es nach Hilfs satz A3 ein W gt ky W E DOQy X mit WC py U und kal W kal U ky V ZV Weil V eine saturierte Pr misse ist gilt damit W V Es folgt V py U Somit ist DOy X c PDDOH Weil aber DQOy X vollst ndig und DON X nicht redundant sind gilt schon die Gleichheit Als Folgerung aus Satz A2 und der Definition von saturierten Pr missen in Defini tion 29 auf Seite 99 kann man feststellen da es reicht bei der Saturierung der Pr missen nur Begriffsinhalte umf nge P einzuschlie en f r die P ein Pseu doinhalt umfang ist vergl auch Satz B4 auf Seite 287 D h Bei der Bildung von V VUULU UCVa U V sind nur Pseudoinhalte bzw umf nge U zu betrachten Nicht ausreichend ist es aber wie in G D 86 f lschlicherweise behauptet allein Teilmengen zu betrachten bei denen nur ein Element aus der Obermenge entnommen ist Bemerkung Al Fehler in Duquenne Guigues Arbeit Sei G M J ein endlicher formaler Kontext Dann ist f r B c M im allgemeinen B BUUL B x x B B x B Vergl G D 86 6 S 13 Beweis Im nebenstehendem formalen Kontext gilt fa b 1 x a b ODL IV c a b U eta bY 2 x a b
150. 3 Insbesondere wird eine M glichkeit vorgestellt die Granularit t der Verfeinerung zu kontrollieren Das dazu benutzte Vorgehen erm glicht auch die Generierung von Fragen zur Mo dell berpr fung ausgef hrt in Abschnitt 4 4 In 4 5 wird aufgezeigt wie sich aus dem funktional weit aufgef cherten Modell Klassenkandidaten ableiten lassen Diese Betrachtungen werden in 4 6 durch einen weiteren Ansatz erg nzt der die Systemzerlegung in einzelne Bausteine Komponenten oder Klassen unterst tzt Dabei st t man auf M glichkeiten nur Teile der betrachteten Diagramme zu pr sentieren um deren bersichtlichkeit zu wahren Entsprechende Verfahren sind in 4 7 zusammengefa t Der abschlie ende Abschnitt 4 8 stellt ein Vorgehensmodell f r die Anwendung von BASE vor Zur Beschreibung der Interna von BASE werden hier die in Kapitel 3 eingef hrten mathematischen Konzepte benutzt Bei der ersten Erw hnung eines entsprechen den Terminus findet sich jeweils eine Referenz auf die entsprechende Definition in 125 4 1 Das Analysebeispiel Kapitel 3 Au erdem sind Referenzen auf S tze aus Kapitel 3 eingeflochten wenn dort bewiesene wichtige Eigenschaften innerhalb von BASE ausgenutzt werden Dies ist f r die Erkl rung des Ansatzes essentiell Dem Benutzer von BASE k n nen die mathematischen Einzelheiten jedoch verborgen bleiben wie in Kapitel 5 zu sehen ist in dem das Analyse Werkzeug f r BASE beschrieben wird 4 1 Das Analysebeispie
151. 4 79 inverse 64 Blockrelation Inzidenzrelation Toleranzrelation respektierende Menge 92 97 107 S saturierte Pr misse 99 257 Schnittstelle 24 Schnittstellenklasse 53 schrittweise Verfeinerung funktionale Zerlegung semantisch folgen 94 Sequenzdiagramm 38 47 128 142 188 Server 26 Sicht Datensicht funktionale Simula 25 29 Smalltalk 25 29 227 Software Baustein 45 sp t Binden Spezialisierung 27 32 47 135 Spezifikation 24 state chart Zustandsdiagramm 40 Statikmodell 35 45 statisch Objekttyp Supremum 67 215 297 307 314 317 supremum erhaltend 74 irreduzibel 72 305 reduzibel 72 139 305 Systemkomponente Komponente Szenario 41 46 T Toleranzrelation 115 116 121 264 269 top down Funktionsmodellierung 44 143 Klassenentwurf trivial Blockrelation Implikation Typ Objekttyp U berpr fungsfrage 151 156 183 185 198 203 Umfang Begriffsumfang Pseudoumfang Unter begriff 33 62 84 320 klasse 27 untere Schranke 67 unterer Nachbar 70 307 Untersuchungsbereich 22 use case Anwendungsfall 38 uses Beziehung 46 135 138 192 212 Index V Verantwortlichkeit 41 43 52 240 Verband 68 shomomorphismus 74 254 vollst ndiger 74 vollst ndiger 68 Begriffsverband Vererbung 27 33 224 228 vergleichbar 65 Vollhomomorphismus 74 vollstandig Implikationenfamilie Toleranzrelation
152. 43 2 3 2 Beziehungen zwischen Klassen Die Klassen eines Untersuchungsbereichs sind nicht v llig unabh ngig voneinan der Es bestehen vielf ltige Beziehungen zwischen ihnen Diese werden in objekt orientierten Analysemodellen wie auch in E R Modellen vergl Che 76 als eigene Modellkonstrukte betrachtet Klassen kann man als um Operationen erweiterte Entit tstypen behandeln BPR 88 S 416 The notion of an object is synonymous with entity in the ER and LRDM methods Anm LRDM Logical Relational Design Methodology siehe TYF 86 Entsprechend k nnte man Beziehungen auch wie im E R Modell betrachten Im Zuge der semantischen Datenmodellierung vergl A H 87 wur den zwei Beziehungsarten die f r die Strukturierung des Modells eine herausra gende Rolle spielen Generalisierung und Aggregation durch eigene Modellkon strukte hervorgehoben Dies ist f r objektorientierte Analysemodelle bernommen worden Dar ber hinaus wichtig sind Benutzungsbeziehungen die mittels Nach richtenaustausch zwischen den beteiligten Objekten hergestellt werden siehe 2 2 2 auf Seite 25 So betrachtet man in der objektorientierten Analyse die folgenden Beziehungen e Generalisierung Spezialisierung e Aggregation e Assoziation e Botschaftsbeziehung zwischen Objekten Die in der Analyse modellierten Beziehungen m ssen sp ter im Entwurf auf Verer bung oder Benutzung abgebildet werden Generalisierung Spezialisierung bezieht
153. 44 4 BASE ein begriffsbasiertes Analyseverfahren f r die Software Entwicklung stellposten neu angelegt werden Bis auf diese Hinzunahme der neuen Funktionen und des neuen Dings haben sich daher keine neuen Kombinationen von Anwen dungsf llen und Funktionen ergeben die gemeinsam gewisse Dinge angehen und es sind auch keine neuen Gruppierungen von Dingen entstanden die alle zu sammen in einige Anwendungsf lle oder Funktionen involviert sind Kundenbestellung anlegen Bestellposten anlegen Bestelimenge Abb 4 9 Anwendungsfall Bestellung annehmen verfeinert Eine diagramm ndernde Zerlegung Aus der Betrachtung neuer Funktionen k nnen aber auch neue Begriffsinhalte und Begriffsumf nge resultieren wenn n mlich eine neue Funktion eine Kombination von Dingen betrifft die im bisherigen Begriffsverband noch nicht als Begriffs umfang vorkam oder wenn die funktional detailliertere Betrachtung einem schon vorher betrachteten Anwendungsfall ein zus tzliches Ding zuordnet so da bei ihm ein neuer Begriffsumfang entsteht Au erdem kann ein neu betrachtetes Ding in eine Menge von Anwendungsf llen involviert sein die vorher noch nicht als Begriffsinhalt vorgekommen ist In diesen F llen ndert sich die Struktur des Liniendiagramms so da die neu aufgesp rten Abh ngigkeiten widergespie gelt werden In dem Fall da nur neue Funktionen ohne neue Dinge zus tzlich betrachtet werden oder die neu gefundenen
154. 6 auf Seite 94 248 7 Zusammenfassung und Ausblick ge dessen k nnte folgender Umstand sein Die Gesamtheit aller respektierenden Mengen zu einer beliebigen Implikationenfa milie bildet ein H llensystem ber dieses H llensystem kann der Inferenzme chanismus implementiert werden Werden bei einer sp teren berpr fung Implika tionen erzeugt die in diesem System gelten sind sie durch die vorhergehenden berpr fungen schon als zutreffend anerkannt Entsprechende berpr fungsfra gen brauchen nicht mehr gestellt werden Zu speichern w ren die als zutreffend er kannten Implikationen mit ihrer Pr misse und Konklusion und nicht das H llen system der sie respektierenden Mengen weil sich die Grundmenge zu diesem Sy stem die Menge der formalen Gegenst nde oder Merkmale in BASE in Folge von funktionalen Zerlegungen und Modellkorrekturen ndern kann F r die ber pr fung der G ltigkeit einer einzelnen Implikation wird berdies nur ein Element des H llensystems ben tigt n mlich die H lle des betrachteten neuen Pseudoin halts bzw umfangs Ist der n chstgr ere neue Begriffsumfang bzw inhalt auch in ihr enthalten ist die neue Implikation schon aus den alten als zutreffend anerkannten ableitbar sonst nicht Die durch nderungen entstehenden formalen Kontexte k nnen auch im Wider spruch zu einer als zutreffend abgespeicherten Implikation stehen Also sind die abgespeicherten Implikationen auf ihre G
155. 86 MFC Microsoft Foundation Classes Klassenbibliothek f r die Entwick lung von Windows Programmen unter MS Visual C Krg 96 OMT Object Modeling Technique Methode von James Rumbaugh et al RBP 91 OOA Objektorientierte Analyse 349 Abk rzungsverzeichnis OOAD OOA D OOA amp D OOD OOP OOSA OOSE OSA RDD RGB SADT SDI UML WWW 350 Object Oriented Analysis and Design Methode von Grady Booch Boo 94 Object Oriented Analysis Design Methode von Peter Coad amp Edward Yourdon C Y 90 C Y 91 Object Oriented Analysis and Design Methode von James Martin amp James Odell M O 92 Objektorientierter Entwurf D f r design Objektorientierte Programmierung Object Oriented Systems Analysis Methode von Sally Shlaer amp Stephen J Mellor S M 88 S M 92 Object Oriented Software Engineering Methode von Ivar Jacobcon et al JCJO 93 Object Oriented Systems Analysis Methode von David W Embley amp Barry D Kurtz EKW 92 Resposibility driven Design Methode von Rebecca Wirfs Brock et al WWW 90 Red Green Blue Farbmodell mit additiver Farbmischung aus den Grundfarben Rot Griin Blau Structured Analysis and Design Technique Notation und Methode f r den Systementwurf Ros 77 Single Document Interface MFC Framework zur Programmierung von Windows Programmen die immer nur eine Datei Doku ment bearbeiten siehe Krg 96 Unified Modeling Lan
156. ALSE Zeichnet L scht eine Kante void knotenZeichnen CDC pDC TDPoint knoten int amp x int amp y int amp radius BOOL loeschen FALSE iy Zeichnet L scht einen Knoten In lt x gt lt y gt und lt radius gt werden die ermittelte Position und der Punktradius in Zeichenbereichskoordianten zur ckgegeben Text ZeichnungsDaten ggstZeichnenVorbereiten CDC pDC int knotenX int knotenY int knotenRadius TObject ggst int ggstZuKnotenNr BOOL loeschen FALSE Berechnet Position Ausdehnung und Schriftart einer Beschriftung mit dem Gegenstand lt ggst gt lt knotenX gt und lt knotenY gt geben die Koordinaten lt knotenRadius gt den Radius des zugeh rigen Knotens in Zeichenbereichskoordinaten an lt ggstZuKnotenNr gt gibt an wieviele Gegenstandsbeschriftungen zu dem Knoten schon vorher berechnet wurden TextzZeichnungsDaten mmlZeichnenVorbereiten CDC pDC int knotenX int knotenY int knotenRadius TAttribute mml int mmlZuKnotenNr BOOL loeschen FALSE Lf Berechnet Position Ausdehnung und Schriftart einer Beschriftung mit dem Merkmal lt mml gt lt knotenX gt und lt knotenY gt geben die Koordinaten lt knotenRadius gt den Radius des zugeh rigen Knotens in Zeichenbereichskoordinaten an lt ggstZuKnotenNr gt gibt an wieviele Merkmalsbeschriftungen zu dem Knoten schon vorher berechnet wurden void textZeichnen CDC pDC TextZeichnungsDaten amp zd B
157. Af indem man in A alle Vorkommen dieser Zeichen durch die dualen Zeichen 2 v A V A 17 Oy ersetzt G W 96 0 2 S 6 Bemerkung 4 G ltigkeit von dualen Aussagen 3 2 3 Eine verbandstheoretische Aussage A ber einen Verband V lt gilt genau dann wenn Af in V lt gilt Liniendiagramme Endliche geordnete Mengen kann man in Liniendiagrammen graphisch darstellen Um diese einzuf hren zu k nnen dient die folgende Definition Definition 9 Unterer oberer Nachbar 70 Ist X lt eine geordnete Menge und x X so hei t ein Element y e X mit y lt x ein unterer Nachbar von x wenn f r jedes ze X mit y lt z lt x schon z y oder z x ist Dann ist x ein oberer Nachbar von y und man schreibt y lt x Bir 67 I 3 S 4 3 Formale Begriffsanalyse Satz 3 Begr ndung f r Liniendiagrammdarstellung Ist X lt eine endliche geordnete Menge so ist lt in folgender Weise schon durch die Relation lt bestimmt YSX IKEN Xy xE X xo y xy x Vie AO sk 1 lt Xizi Beweis Gr 98 I 2 Lemma 1 S 12 Die R ckrichtung ergibt sich per Induktion aus der Transitivit t von lt weil auch y xo S Sx y gilt Jede nichtleere Kette in X ist als Teilmenge von X endlich und enth lt somit nach Folgerung 1 und Bemerkung 3 ein kleinstes und ein gr tes Element Sei X die Menge aller Ketten in X deren kleinstes Element y und deren gr tes Element x ist y x ist eine solche Kette un
158. Algorithmus berechnet im Array umf alle Begriffsumfange und in kan ten die Kanten des Liniendiagramms von B G M I als Paare von Knoten nummern Dabei ist zuerst der h here Knoten angegeben Die Knoten sind wie ihre Begriffsumf nge in um numeriert 284 B Algorithmen zur FBA B5 1 der lektisch erste Begriffsumfang Knoten umf 0 M B5 2 bei nur einem Knoten keine Kante kanten B5 3 Numerierung der Knoten k r 1 B5 4 ideale 0 0 B5 5 Der letzte Umfang ist die Gesamtmenge WHILE A G DO B5 6 der Begriffsumfang umf knr nextExtent umf knr 1 B5 7 Kandidaten f r untere Nachbarn nbKand 0 knr 1 B5 8 kleinere Begriffsumfange Knoten ideale knr knr B5 9 i knr 1 B5 10 WHILE nbKand AND i2 0 B5 11 Kommt i noch als unterer Nachbar in Frage und repr sentiert i wirklich einen Unterbegriff IF i nbKand AND umf knr C umf i THEN B5 12 Kante gefunden kanten kanten U knr i B5 13 noch kleinere Knoten ausschlie en nbKand nbKand idealeli B5 14 Ideal erg nzen ideale knr ideale knr U idealeli Kante gefunden B5 15 i i 1 B5 16 knr knr 1 Schleife ber die Begriffsumf nge F r die Begriffsinhalte ist der Algorithmus analog nur da man in B5 1 mit G startet den Vergleich der Umf nge in B5 11 mit der umgedrehten Inklusion durchf hrt und in 85 12 die Kant
159. Analysis von Kenneth S Rubin und Adele Gold berg R G 92 ist wie schon der Name sagt und hnlich wie bei Jacobson das Systemverhalten der Ausgangspunkt der Analyse Dieses Verhalten wird in Szena rien beschrieben die auf der Basis von Interviews mit Anwendern und Fachexper ten entstehen In Skripten werden die einzelnen Schritte innerhalb der Bearbeitung einer Aufgabe in ihrer Ausf hrungsreihenfolge festgehalten Zus tzlich ist f r je den Schritt definiert welche Entit t ihn initiiert und welche Entit t ihn ausf hrt Zu diesen Entit ten werden n tige Attribute abgeleitet Darstellung in einem semanti schen Netz vergl Rei 91 Alle Entit ten die Leistungen innerhalb der Szenarien anbieten sind Objektkandidaten Darunter sind die die selber keine Leistungen nachfragen Kandidaten f r Datenobjekte H ufig tauchen Zusammenfassungen von Objekten auf diese m ssen nicht unbedingt zu Objekten im Analysemodell f hren Die besten Klassenkandidaten bieten Leistungen an und fragen selber Lei stungen von anderen Objekten nach Es ist bei diesen aber darauf zu achten da ih 54 2 Objektorientierte Anwendungsentwicklung nen nicht zu viele verschiedene Rollen durch die angebotenen Leistungen zuge schrieben werden Alle Informationen zu den Klassen werden auf Karteikarten festgehalten Besonderes Gewicht legen die Autoren auf die Verfolgbarkeit der Entwurfsentscheidungen Booch diskutiert in seinen B chern die klass
160. Angaben zu dem aktuell bearbeiteten Anwendungs fall Diese sind dargestellt in e einem Editierfeld f r den Namen oben e einem Eingabefeld f r die Beschreibung des Anwendungsfalls darunter e einer Listbox f r die benutzten Anwendungsf lle uses links unten e einer Listbox f r die allgemeineren Anwendungsf lle die spezialisiert werden extends halb links unten e einer Listbox f r die involvierten Dinge unten Mitte Alternativ zu der Beschreibung kann auch die funktionale Zerlegung eingeblendet werden Alle anderen Angaben bleiben unge ndert Anwendungsfalle r Anwendungsfalle gt Dinge Ausgew hlter Anwendungstall bemehmen L schen Auswahl Fetbesarde nachbestellen Boden bemehmen L schen Anden gt Uses gt Extends gt Zerlegung B eibung Zerlegung Bestellposten Fahrtziel Kunde Kundenbestellung Lagerbestand Lieferant Lieferkartei Lieferschein Lieferscheinvermerk Lieferwagen Maximalbestand Minimalbestand Nachbestellung Produkt Vorgemerkte Menge wartekartei gt Nachbestellmenge ermitteln gt Lagerbestand ermitteln gt Nachbestellposten anlegen Fehibestande nachbestellen Bestellung annehmen Bestellung bearbeiten Fehlbestande nachbestellen Lagerbestand ermitteln Lieferscheine erstellen Maximalen und minimalen Lagerbestan Nachbestellmenge ermitteln Nachbestellposten anlegen R cklauf bearbeiten Wareneing
161. Ansicht 2 Anwendungstalleditor el berpr fung Komponetenzerlegung Ko Ausw hlen Lieferscheine erstellen lt lt T bd Q or og a 8 A zZ 3 a o 3 Bestellung bearbeiten Verschieben niedrigere Knoten Gr e ndern DIN Ad als Gr e Knotengr e ndern ar Lieferscheinvermerk Schriftart Maximalen und minimalen Lagerbestand definieren a Minimalbestand Wartekarteil Kundenbestellung Lieferschein Maximalbestand Lieferant Vorgemerkte Menge Lagerbestand ermitteln Lagerbestand Lieferkartei Bestellposten X 4 gt Im Diagramm wird mit einem Knoten die gesamte Struktur ber ihm verschoben ial 21 Abb 5 3 Liniendiagramm im Hauptfenster des Werkzeugs Es kann passieren da Kanten durch Knoten hindurch gezeichnet werden zu de nen sie nicht inzident sind Dies ist dadurch zu erkennen da die Kante in der Dar stellung den Knoten schneidet siehe Abbildung 5 3 Inzidente Kanten sind nur bis zum Knotenrand durchgezogen und immer auf den Knotenmittelpunkt gerich tet So k nnen auch Kanten die nur den Knotenrand ber hren als nicht inzident er kannt werden Durch das Verschieben von Knoten sollten diese unerw nschten 194 5 Ein Analyse Werkzeug f r BASE berschneidungen beseitigt werden F r einen Ausdruck des Diagramms kann
162. Anwendungsfall involviert so sind sie diesem direkt zugeordnet Prim res Anliegen sollte es aber sein zuerst die systemweit wichtigen Klassen zu modellieren also von unten im Diagramm zu beginnen Von unten nach oben bzw zur Diagrammitte hin gelesen ergibt sich ein top down Bild der Da tensicht von den allgemeinen zu den speziellen Dingen So erhalten im Beispiel die Atome obere Nachbarn des globalen Infimums Defi nition 12 auf Seite 73 die Beschriftung Produkt bzw Bestellposten Diese Dinge spielen f r das Gesch ft von JWI die zentrale Rolle Wichtig sind die Weinsorten die von JWI vertrieben werden und die jeweiligen Bestellmengen f r eine Sorte Naheliegend ist es solche Angaben in Klassen Produkt und Bestellposten zu mo dellieren Zu jeder Weinsorte ist auch die Lagerverwaltung zu erledigen Nat rliche Attribute einer Klasse Produkt sind daf r Lagerbestand Minimalbestand Maximalbestand Vorgemerkte Menge Lieferant letztere zwei f r die Abwicklung von Nachbestel lungen f r das Lager Sie stehen alle im Diagramm oberhalb von Produkt Geht man davon aus da Attribute einer potentiellen Klasse zusammen mit dieser auch schon als interessante Dinge in die Analyse einbezogen wurden und da bei der Indizierung der Anwendungsf lle jedesmal angegeben wurde da mit ei nem Attribut auch die betreffende Klasse involviert ist erh lt man diese typische Anordnung im Diagramm Mathematisch ausgedr ckt sind dann di
163. B G M I Die durch g m gt yg yg Aum f r ge G me M und eine vollst ndige Toleranzrelationen auf B G M I definierte Abbil dung ist ein entsprechender Isomorphismus Die Umkehrabbildung ist gegeben durch 4 B B J C D gt AXDUCXB CJ f r A B C D e B G M T und eine Blockrelation J von G M J Beweis G W 96 3 4 Satz 15 S 123 264 Sei eine vollst ndige Toleranzrelation auf B G M I Zeige B ist Blockrelation von G M J Seien ge G me M mit g m Dann ist me g also g Cm Das bedeutet yg g g lt m m um Wegen der Reflexivit t von folgt yg O yg yg a um Also gilt g B m und insgesamt 7 c B O Seige G A Mathematische Details Zeige gh ist Begriffsinhalt von G M I Nach Folgerung 5 auf Seite 88 ist ey e Aum B OH me gh Serine g Dann gilt A In f r alle he gh ot I Damit ist 2 Cn und so Z I A pm EN IS nn un meg Somit gilt auch A yg um Ayg AA um ygaAum lt sygayn me meg 0 me gh me ge F r m ee gilt nach Konstruktion yg yg um Wegen der Infimumsvertraglichkeit von gilt dann auch pes ze AQ8 A um Nach Hilfssatz 2 d auf Seite 68 der Supremumsvertraglichkeit von O und der Ungleichung von oben folgt yg YEv Yg Aun O oe um v yg a un yg un Das bedeutet n pee Also ist gO 7c ee Bo H B O p ess und so nach Folgerung 2 c auf
164. B G M I und J die zugeh rige Blockrelation von G M J mit B aus Satz 16 auf Seite 116 Dann sind 3 G M 1 und B G M J isomorph Genauer gilt a B B A A5 ist genau dann ein Block von wenn 4 B ein for maler Begriff von G M J ist b Die Abbildung B B A A gt A B ist ein Isomorphismus zwi schen B G M I O und B G M J c F r 4 B e B G M J gilt f r den zugeh rigen Block von da B B A A B A B IA Ax B Beweis G W 96 3 4 Korollar 57 S 125 Siehe Anhang A Seite 269 Die Bildung von Blockrelationen eines formalen Kontexts und Toleranzrelationen des zugeh rigen Begriffsverbands sind gleichbedeutend Die formalen Begriffe des durch eine Blockrelation neu definierten Kontexts entsprechen bestimmten In tervallen des originalen Begriffsverbands n mlich gerade den Bl cken der zuge h rigen Toleranzrelation Insbesondere haben formale Kontexte mit isomorphen Begriffsverb nden auch isomorphe Verb nde von Blockrelationen Satz 19 Blockrelationen und isomorphe Begriffsverb nde Seien G M I und H N R zwei formale Kontexte so da B G M I BCH N R Dann sind auch die Verb nde der Blockrelationen von G M I und H N R isomorph Sei weiter J eine Blockrelation von G M J und S die nach dieser Isomor phie zugeh rige Blockrelation von H N R 121 3 5 Blockrelationen Dann sind die durch die Blockrelationen defi
165. BASE ein begriffsbasiertes Analyseverfahren f r die Software Entwicklung Dissertation zur Erlangung des Doktorgrades der Naturwissenschaften Dr rer nat dem Fachbereich Mathematik und Informatik der Philipps Universitat Marburg vorgelegt von Stephan D wel aus Paderborn Marburg Lahn 2000 Vom Fachbereich Mathematik und Informatik der Philipps Universit t Marburg als Dissertation am 05 07 2000 angenommen Erstgutachter Prof Dr Wolfgang Hesse Zweitgutachter Prof Dr Heinz Peter Gumm Tag der m ndlichen Pr fung am 05 07 2000 BASE ein Degriffsbasiertes A nalyseverfahren f r die Software E ntwicklung N N Danksagung Besonderen Dank schulde ich Wolfgang Hesse Er gab den Ansto zur Entwick lung von BASE Seine jederzeit geduldige Betreuung und sein stetiges Interesse machten die Erstellung der vorliegenden Dissertation erst m glich Nicht zuletzt steuerte er den Namen bei Hiermit bedanke ich mich bei ihm f r die Zusammenar beit w hrend meiner Zeit in Marburg Einen speziellen Dank m chte ich auch Heinz Peter Gumm aussprechen der sich bereit erkl rte die vorliegende Arbeit zu begutachten Inna Schwab Nguyen Huu An Serdal Kaya Jan Malcomes Christian N cker J rn Schimmelpfeng Achim Sellmann Ralf Wiehl und Thorsten Z chner danke ich f r die geleisteten Vorarbeiten f r das Werkzeug zu BASE Die Implementierung des Blockrelationen Algorithmus entstand nach Hinweisen von Bernhar
166. Bl cke einer Toleranzrelation Seien V ein vollst ndiger Verband und eine vollst ndige Toleranzrelation auf V F r ae V definiere ag A xe V xOa und a Vixe V xOa Ein Intervall der Form alo dg aa hei t dann Block von Dual sei als Schreibweise a a e a vereinbart G W 96 3 4 Definition 52 S 120 Wegen der Reflexivit t von sind a und a Intervalle Man bekommt da durch gerade die maximalen Teilmengen deren Elemente paarweise in Relation stehen siehe Anhang A Bemerkung A2 auf Seite 272 Damit ergibt sich eine Faktorisierung des untersuchten vollst ndigen Verbands nach siehe Satz 17 auf Seite 120 de ist das kleinste und a das gr te Element die mit a in Relation stehen Hilfssatz 16 Kleinste und gr te in Toleranzrelation stehende Elemente Seien V ein vollst ndiger Verband und eine vollst ndige Toleranzrelation auf V Dann gilt f r alle ae V da a ag und a O a undae Lalo G W 96 3 4 S 121 Beweis Wegen der Vertr glichkeit von mit Infima gilt dg MxeV xOa Na a Dual folgt a a aus der Vertr glichkeit mit Suprema Wegen der Reflexivit t von ist ag Alxe V xOa lt a Aus a O dg folgt weiter ao V xe V xOao za D h ae a o do und a m ssen untereinander nicht in Relation stehen war nicht als transitiv angenommen worden Deshalb ergibt sich die etwas komplizierte Defini tion der Bl cke deren Element
167. Code St cke als formale Gegenst nde und die sie regieren den Ausdr cke als formale Merkmale behandelt Den entstehenden formalen Kon text bezeichnet Snelting als Konfigurationstabelle Im Beispiel bekommt man so etwa den Begriffsverband in Abbildung 6 8 auf Seite 236 Im Umfang eines formalen Begriffs sind die Code St cke zusammengefa t die gerade von den im Inhalt angegebenen Ausdr cken abh ngig sind Hat das Infi mum zu zwei Merkmalsbegriffen einen nicht leeren Inhalt existiert ein Code St ck das von beiden betreffenden Ausdr cken regiert wird Im Fall der Unterord nung des einen Merkmalsbegriffs unter den anderen ist der Ausdruck zum Unter begriff als Spezialisierung des zum Oberbegriff geh rigen zu verstehen So ist in Abbildung 6 8 der Ausdruck bad _unlink der Alternative aus ihm und has _NFS un tergeordnet 1 RCS bedeutet Revision Control System Es ist ein System zur Versions und Konfigurationsverwaltung von Textdokumenten unter UNIX siehe Tic 85 234 6 Verwandte Anwendungen von FBA 180 if has NFS bad_unlink 181 int 182 un link s 183 char const s 184 185 Remove S even if it is unwritable 186 Ignore unlink ENOENT failures NFS generates bogus ones 187 188 189 if bad unlink 190 int e 191 if unlink s 0 192 return 0 193 e errno 194 if has_NFS 195 if errno ENOENT 196 return 0 197 endif 198 if chmod s S_IWUSR 0 199 errno e
168. Diagramm kann Ausdruck einer bestehenden uses oder extends Beziehung sein In den F llen a uses b bzw a extends b steht jeweils aufgrund der Forderung der Im plikation b a im Liniendiagramm a ber b Dies sieht man im Beispiel gut an den Anwendungsf llen Bestellung bearbeiten Fehlbest nde nachbestellen und Wareneingang bearbeiten die jeweils den Anwendungsfall Zagerbestand ermitteln benutzen und deshalb im Liniendiagramm ber ihm stehen Andersherum kann die Anordnung im Liniendiagramm auch Anla zur berpr fung geben ob uses oder extends Beziehungen bestehen die noch nicht beschrieben sind ay a2 An Untersuchung auf Q X Q DO a uses b a uses b N oR 8 oo os gt a N x 7 Die gestrichelten Linien deuten aufsteigende Lini gt REN P A enz ge an die mit 44 a beschrifteten Be N Sb 7 griffe stehen nebeneinander und nicht in Ober Un Y 4 terbegriffsbeziehung zueinander Abb 4 6 uses Beziehungen im Liniendiagramm uses Beziehungen werden vor allem dann modelliert wenn ein Anwendungsfall f r mehrere andere Leistungen erbringt Besonders wichtig f r die Modellierung sind solche Situationen wenn die erbrachte Leistung gerade die Gemeinsamkeit sonst unvergleichbarer Anwendungsf lle ausdr ckt Steht also ein Anwendungs fall unter mehreren anderen d h sein Merkmalsbegriff ist A reduzibel aber nicht das Supremum des Begriffsverbands Definition 11 auf Seite 72 ist zu untersu chen ob die
169. Dinge nur den neuen Funktionen und dem gera 145 4 3 Funktionale Zerlegung de zerlegten Anwendungsfall aber keinem anderen schon vorher betrachteten Anwendungsfall zugesprochen werden beschr nken sich die nderungen des Diagramms auf die Teilstruktur unterhalb des Merkmalsbegriffs des zerlegten An wendungsfalls mathematisch gesprochen auf das Hauptideal dieses Begriffs Defi nition 5 auf Seite 66 Dies sieht man am folgenden Beispiel Fehlbest nde nachbestellen gt Nachbestellmenge ermitteln Lagerbestand ermitteln Nachbestellposten anlegen gt Abb 4 10 Funktionale Zerlegung des Anwendungsfalls Fehlbest nde nachbestellen Betrachtet wird eine funktionale Zerlegung des Anwendungsfalls Fehlbest nde nachbestellen Als Einzelschritte werden dabei das Berechnen der nachzubestel lenden Menge Nachbestellmenge Maximalbestand Vorgemerkte Menge La gerbestand wenn Vorgemerkte Menge gt 0 oder Lagerbestand lt Minimalbestand sonst 0 und das Anlegen des entsprechenden Nachbestellpostens f r ein Produkt betrachtet Das resultiert wiederum ausgehend vom urspr nglichen unverfeinerten Linien diagramm in Abbildung 4 5 auf Seite 137 in dem Liniendiagramm in Abbildung 4 11 nderungen sind wieder schwarz hervorgehoben und bernom mene Diagrammelemente grau dargestellt Die beiden durch die Zerlegung entstandenen Funktionen trennen die Dinge Nachbestellung und Vorge
170. Endliche formale Kontexte lassen sich durch Kreuztabellen darstellen indem die Tabellenzeilen mit den formalen Gegenst nden und die Tabellenspalten mit den formalen Merkmalen benannt werden und die Zeile zu einem formalen Gegenstand g in der Spalte zu einem formalen Merkmal m ein Kreuz erh lt wenn m auf g zu trifft Beispiel 5 Formaler Kontext als Kreuztabelle In diesem Beispiel werden 5 E schon in 2 4 2 angesproche c lelSle SI 2 et o Pinal peg ne Sachverhalte als forma S Ss Hesse Slelee 958228558 Pal Sale ler Kontext betrachtet In 2502 2 9eE 2095 08 2 08850 81215215158 nebenstehender Tabelle sind 758528025 Sl al i 30 05 0 0 einige bekannte Autoren 2 8 81518 3 5 Ss E 812181515 hod f S lwlolalzolalFlalolal a von OOA Methoden aufge GML XKKIKKIKKIX f hrt und mit der Unified Booch X XIX _IXIXIX i Coad Yourdon x x x Modeling Language in Be Tezobzon XD x xx zug auf die jeweils ver Martin Odell xl XXX ry tt Xx Rumbaugh xXXX x wandten Beschreibungs ShlaerMellor 1x1 xix 1x Z z techniken verglichen Dies ergibt einen formalen Abb 3 5 Formaler Kontext zu OO Methoden und Kontext Formale Gegen Beschreibungstechniken st nde sind UML und die Autoren formale Merkmale die angebotenen Beschreibungstechniken Die durch Kreuze in der Tabelle angegebene Inzidenzrelation beschreibt welche Technik in welcher Methode vorgesehen ist
171. Erfahrungswerten Ge wichte zugeordnet werden deren Summe eine Kennzahl f r die Systemkomplexi t t ergibt Sie dr cken das nach au en sichtbare Systemverhalten aus Die ermittel ten function points sind nach funktionalen Gesichtspunkten zu gliedern F r jede Gruppe von zusammengeh rigen functions points ist wie bei Jacobson oder in der OBA beschrieben ein Szenario zu betrachten Mit den Techniken der Anwen dungsfall getriebenen Analyse erh lt man so Klassenkandidaten Als Werkzeug k nnen Karteikarten dienen um den Erkenntnisproze zu unterst tzen Einen Ansatz mit g nzlich anderem Schwerpunkt ist die von Ortner Schienmann propagierte normsprachliche Anwendungsentwicklung Schi 97 Ort 97 Sie konzentriert sich darauf Informationen ber den Untersuchungsbereich in einer normierten Sprache darzustellen und dabei insbesondere Fachbegriffe normsprach lich zu rekonstruieren Dazu werden zun chst umgangssprachliche Aussagen ber 55 2 6 Identifikation von Objekten und Klassen den Untersuchungsbereich gesammelt Die enthaltenen Fachbegriffe werden durch exemplarische Einf hrung P dikatorenregeln auf Basis schon gekl rter Begriffe und explizite Definitionen zwischen Entwicklern und Anwendern vereinbart Da nach werden die Aussagen in eine Normsprache berf hrt die nur die Nutzung ei nes im wesentlichen im vorherigen Schritt festgelegten Wortschatzes und die Einhaltung fester Satzbaupl ne erlaubt um die Mehrdeut
172. Es reicht n mlich solche Zeilen und Spalten auf eine n tige Erg nzung zu berpr fen die in R gegen ber J ver n dert wurden Dies trifft in der Regel auch auf die ber z s liegenden zu weil dort Kreuze entfernt wurden Diese Handhabung erm glicht auch einen leichten Test ob die H llenbildung schon abgeschlossen ist Das ist dann der Fall wenn keine Zeilen und Spalten mehr zur berpr fung anstehen Algorithmus B10 wurde in The Formal Concept Analysis Library eingebracht in dem die Klasse TFormalContext eine zus tzliche Operation erhalten hat die die Blockrelationen als Array von formalen Kontexten berechnet Dazu benutzt sie eine neue Operation von TRelation die den eigentlichen Algorithmus umsetzt und ein Array von Relationen erstellt Zu TFormalContext und TRelation siehe 5 4 2 An dieser Stelle sei Bernhard Ganter und Christian Lindig gedankt Anhand ihrer Anmerkungen ist die Implementierung von Algorithmus B10 entstanden B 4 2 Erzeugung der Blockzerlegungsdiagramme Sind die Blockrelationen zu einem formalen Kontext G M I mit Hilfe von Al gorithmus B10 bestimmt sind durch sie neue formale Kontexte gegeben Die bei den trivialen Blockrelationen J und G x M sind jedoch nicht von Interesse siehe Bemerkung 8 auf Seite 113 Zu den neuen Kontexten werden in BASE wieder Li niendiagramme erzeugt Um diese sofort in einer befriedigenden Anordnung be reitzustellen werden die Knotenkoordinaten nicht wie in B 5 erl u
173. Kundel Lieferscheinvermerk Fahrtziell Vorgemerkte Menge Lieferwagen Lieferant Kundenbestellung 7Wartekartei Lieferschein Maximalen und minimalen Lagerbestand definieren Minimalbestand Maximalbestand Lagerbestand ermitteln Lagerbestand Lieferkartei Produkt Bestellposten Abb 5 10 Ausgangsdiagramm vor funktionaler Verfeinerung Ausgehend von diesem Diagramm wurde die in 4 3 1 vorgeschlagene funktionale Zerlegung des Anwendungsfalls Fehlbest nde nachbestellen Abbildung 4 10 und Abbildung 4 11 auf Seite 147 mit dem Werkzeug vorgenommen Nach der Einga be zeichnet das Werkzeug automatisch das folgende Diagramm 201 5 2 Arbeitsweise mit dem Werkzeug KS diagtest csc BASE L lolx Datei Bearbeiten Ansicht Djzja ale Bestellung Wiz Bestellung bearbeiten gt gt gt Lieferscheine erstellen Fehlbest nde nachbesteter Vz bearbeiten R cklauf bearbeiten O O en anlegen Lieferscheinvermerk _ Fahrtziel Lieferwagen um Nachbestellmenge ermitteln SP x 8 De Kundenbestellung Wartekartei Lieferschein org Nachbestellmenge Maxima en und minimalen Lagerbestand definieren oan Minimalbestand Maximalbestand Lagerbestand ermitteln yy Lagerbestand Lieferkarteil naa Abb 5 11 Liniendiagramm nach funktionaler Verfeinerung Die Struktur des Liniendiagramms wurde erhalten nur die Positio
174. Lieferscheine schlie lich den Lieferwagen zugeordnet die unter Umst nden auch mehrere Fahrtziele gemeinsam bedienen Lieferscheine erstellen p Lieferschein anlegen Bestellposten einf gen Lieferscheine zu ordnen gt Abb 4 16 Funktionale Zerlegung des Anwendungsfalls Lieferscheine erstellen Diese Zerlegung f hrte ausgehend von Abbildung 4 15 auf Seite 150 zu dem fol 153 4 3 Funktionale Zerlegung genden Liniendiagramm nderungen sind wieder schwarz hervorgehoben und bernommene Diagrammelemente grau dargestellt Lieferscl estellposten einf gen Lieferwagen Lieferschein anlegen heine zuordner Fahrtziel Lieferschein Abb 4 17 Anwendungsfall Lieferscheine erstellen verfeinert Die Implikation Lieferschein gt Lieferkartei gilt nach der Verfeinerung nicht mehr siehe dick gezeichnete Knoten weil in den Teilschritten des Anlegens eines lee ren Lieferscheins und der Zuordnung der Lieferscheine zu den Lieferwagen die Lieferkartei keine Rolle spielt Die beispielhaft betrachtete Implikation Lieferschein gt Lieferkartei ist von beson ders einfacher Gestalt weil sie aus dem Liniendiagramm in Abbildung 4 15 auf Seite 150 einfach dadurch abgelesen werden kann da Lieferschein im Diagramm ber Lieferkartei steht In 3 4 wurden auch komplexere Implikationen mit einer Kombination mehrerer formaler Merkmale bzw Gegenst nde als Pr misse be trachtet Auch s
175. Modellie rungskonstrukte der verschiedenen Phasen nicht in klar definierter Weise ineinan der berf hren k nnen nderungen in einem Modell im anderen Modell nicht nachvollzogen werden 2 3 Rollen der Klassen bei der Analyse und Modellierung Da das Paradigma der Objektorientierung in der Programmierung OOP entstan den ist sind die grundlegenden Prinzipien im vorigen Abschnitt teilweise tech nisch formuliert Die Beschreibungen sind l sungsorientiert L sung ist das fertige Programm Bei der objektorientierten Analyse OOA behandelt man jedoch keine Klassen einer Programmiersprache sondern solche die man zur Beschreibung von Dingen des Untersuchungsbereichs benutzt Statt technischer Kriterien stehen in haltliche Aspekte im Vordergrund Man nimmt eine problemorientierte Sichtweise ein 30 2 Objektorientierte Anwendungsentwicklung 2 3 1 Charakter von Klassen Innerhalb von Programmiersprachen haben Klassen Typ und Modulcharakter sie he 2 2 2 auf Seite 25 Sie sind Typ ihrer Objekte und der Programmvariablen die diese Objekte speichern Der Modulaspekt betrifft die Gliederung von Attributen und Operationen Dies hat weniger Bedeutung f r den fachlichen Inhalt einer Klas se als f r die sp tere Implementierung bei der durch die Modularisierung die Er stellung von redundantem Code innerhalb verschiedener Operationen vermindert wird Unter fachlichen Gesichtspunkten tritt der Modulaspekt in den Hintergrund Bei einer
176. OOL loeschen FALSE La Zeichnet L scht einen Beschriftungstext nach den in lt zd gt enthaltenen Daten int selektierterKnoten int xPos int yPos int amp knotenX int amp knotenY Le Ermittelt die Nummer und Zeichenbereichskoordinaten lt knotenX gt und lt knotenY gt eines an lt xPos gt lt yPos gt angeklickten Knotens TObject selektierterGgst int xPos int yPos CDC pDC Ermittelt den an lt xPos gt lt yPos gt angeklickten Gegenstand TAttribute selektiertesMml int xPos int yPos CDC pDC Ermittelt das an lt xPos gt lt yPos gt angeklickte Merkmal void diagrammGroesseAnpassen double faktor skaliert das Diagramm um den Faktor lt faktor gt Die Beschriftungsgr e bleibt unver ndert 341 D 3 CBASEView void beschriftungsAbstandAnpassen double faktor Multipliziert die Positionsangaben aller Beschriftungen mit lt faktor gt int setzeBlockfarbe TDPoint knoten CString amp farbString Setzt die Farbe des durch lt knoten gt gegebenen Blocks double laengenFaktor TLineDiagram diag Rechnet die L ngeneinheit von lt diag gt in Zeichenbereichskoordinaten um double einheitenFaktor const CString amp einheit Rechnet die Ma einheit von lt diag gt in Zeichenbereichskoordinaten um double linienStaerke const TPointFormat amp format Berechnet die Linienst rke einer Knotenumrandung in Zeichenbereichskoo
177. Ober Unterbegriffbeziehung die oben extensional erkl rt ist Genau dieses Be griffsverst ndnis wird von der Formalen Begriffsanalyse mathematisch formali s ert Die systematische Besch ftigung mit der Abstraktion von konkreten Dingen der Welt und so der Bildung von Begriffen findet sich schon bei Plato und Aristote 62 3 Formale Begriffsanalyse les ohne da sie ein Wort f r Begriffe gehabt h tten Die Abstraktion geschieht dabei durch die Zusammenfassung der gemeinsamen Merkmale von diversen kon kreten Dingen Eine begriffliche Aufarbeitung ist Grundlage jedes Wissens Schon im Mittelalter finden sich dann in der Lehre der proprietates terminorum Eigenschaften der Begriffe vergl Duf 89 Ideen die der Unterscheidung zwi schen Begriffsumfang und inhalt nahekommen gt Explizit formuliert ist diese Un terscheidung zwischen Begriffsumfang tendue und inhalt compr hension zuerst in der Logik von Port Royal vergl Ris 70 S 70 Denn dort hei t es Obgleich alle existierenden Dinge einzelne sind haben alle Menschen mittels der Abstraktionen die eben erkl rt wurden verschiedene Arten von Ideen Die einen n mlich stellen uns nur ein einziges Ding dar wie die Idee die jeder von sich selbst hat und die anderen Ideen stellen und zwar in gleicher Weise mehrere Din ge dar wie jemand ein Dreieck sich vorstellt ohne dabei auf etwas anderes zu ach ten als darauf da es eine Figur mit d
178. Ordnungstheoretische Grundlagen den Es ist auch nicht ohne weiteres klar was ein gutes Liniendiagramm ausmacht Eine Minimierung der berschneidungen von Linien erh ht normalerweise die bersichtlichkeit In einigen F llen kann es aber auch g nstig sein berschnei dungen in Kauf zu nehmen um schon bekannte Teilstrukturen herauszustellen Beispiel 3_ Liniendiagramme Schon in den einfachen Beispielen AJ rae ia 000 Abb 3 1 Geordnete Mengen mit 3 Elementen In Abbildung 3 1 ist nur die erste linear geordnete Men ea ge ein Verband Der Verband 124 P 11 2 3 4 c kann we 234 durch nebenstehendes Lini 1 4 endiagramm dargestellt wer 2 na a den 23 1 4 11 3 4 2 eq in Abbildung 3 1 fallen die Knoten ins Auge an denen das Liniendia gramm verzweigt Im Liniendia gramm eines Verbands ist oft die Abb 3 2 Liniendiagramm h chste Verzweigung die des glo von 1 2 3 4 c balen Supremums 1 zu seinen un teren Nachbarn und die tiefste die vom globalen Infimum Op zu seinen oberen Nachbarn Entsprechend werden die folgenden Sprechweisen vereinbart Definition 11 A irreduzibel V irreduzibel 72 Ist V lt ein vollst ndiger Verband so betrachte f r ve V v A xe V x gt v und vs V xe V x lt v v hei t A irreduzibel oder infimum irreduzibel wenn v gt v sonst A reduzi bel oder infimum reduzibel v hei t V irreduzibel o
179. Perspectives on Modeling from the Journal of Object Oriented Programming SIGS Books New York 1996 T Rock R Wille Ein TOSCANA Erkundungssystem zur Literatur suche in S W 00 2000 B Schienmann Objektorientierter Fachentwurf Texte zur Informa tik Band 20 Teubner Leipzig 1997 P Schefe Softwaretechnik und Erkenntnistheorie Informatik Spek trum Band 22 Heft 2 S 122 135 April 1999 Swedish Institute for Standards SIMULA Standard DATA proces sing Programming languages SIMULA Swedish Standard SS 63 61 14 Stockholm 1987 S Shlaer S J Mellor Object Oriented Systems Analysis Modeling the World in Data Yourdon Press Computing Series Prentice Hall Englewood Cliffs New Jersey 1988 S Shlaer S J Mellor Object Lifecycles Modeling the World in States Yourdon Press Computing Series Prentice Hall Englewood Cliffs New Jersey 1992 S Shlaer S J Mellor The Shlaer Mellor Method Project Technolo gy Inc http www projtech com info smmethod html 1993 G Snelting Reengineering of configurations based on mathemati cal concept analysis ACM Transactions on Software Engineering and Methodology 5 2 pp 146 189 April 1996 I Sommerville Software Engineering 4 h edition Addison Wesley Publishing Company 1992 367 Literatur Sow 92 SSB 91 S T 99 Stan 95 Stan 96 Ste 93 Str 92 S W 00 Szy 98 Tic 85 Tog 00 TYF 86 Vog 96 368
180. Seite 82 damit g D h eo ist ein Begriffsinhalt von G M D Dual zeigt man da m gt mit me M ein Begriffsumfang von G M I ist Insgesamt ist B eine Blockrelation von G M J Andersherum betrachte zu einer Blockrelation J von G M J die Relation 1 J e B G M D mit 4 B J C D gt AXDUCXB CJ F r A B e B G M D ist AXBUAXB AXBCICJ D h A B T J A B und T J ist reflexiv Nach Konstruktion ist T J symmetrisch Zeige T J ist vertr glich mit Infima Sei also T eine beliebige Indexmenge und f r alle te T gelte A B C D B G M I und 4 B WW C D D h A xD UV C XB TJ F r alle te T und me D gilt damit gJm Vge A Also ist C D cime M gJm g f r alle te T und ge 4 Nach Folgerung 2 b auf Seite 82 folgt f r alle te T und ge A da g z cl HC 265 A 3 Blockrelationen 266 F r ge N A gilt somit g c N C und damit wieder nach Folge te te T Po AH ae rung 2b ACG ce g te T I Also gilt f r alle ge NA und m o c da gJm teT teT I D h nAx n c cJ teT teT I Analog gilt N ax 0 a EJ teT teT I I Damit ist nAx N c un cx 0 4 cs te T te T te T te T T Nach Satz 7 auf Seite 84 ist A A B NA N A und te T te T te T T 1 aafaa teT teT teT Deshalb bedeutet obige Inklusion da N Ap B tS A Cy D te te Dual zeigt man die Supremumsvertr glichkeit von T J Insgesamt ist T J eine vollst ndige Tolera
181. Student advisor del Person name dcl Professor assistant s1 def Student Student dcl Professor faculty del Student Studentld dcl Professor workAdress del Person address def Professor Professor def Professor hireAssistant p1 p2 2 dcl Person socialsecurityNumber Abb 6 5 Liniendiagramm zum Studenten Professoren Beispiel Das Liniendiagramm stellt einen Restrukturierungsvorschlag fiir die untersuchte Klassenhierarchie dar Der Begriffsinhalt eines jeden formalen Begriffs umfaBt die Attribute und Operationen einer der untersuchten Klassen die von einigen Pro grammvariablen aus gemeinsam benutzt werden Klassen der umstrukturierten Klassenhierarchie entsprechen den formalen Begriffen und erhalten wie bei Godin et al die in der reduzierten Beschriftung zugeordneten formalen Merkmale als At 230 6 Verwandte Anwendungen von FBA tribute und Operationen Diese werden ebenfalls wie bei Godin et al gem der Verbandsordnung nach unten vererbt In der reduzierten Beschriftung einem Dia grammknoten zugeordnete Variablen erhalten nach der Restrukturierung die ent sprechende Klasse als Typ Im vollst ndigen Begriffsinhalt sind dar ber hinaus alle Variablen enthalten die eine Unterklasse als Typ besitzen Deshalb m chte man die Variablen als stellvertretend f r Objekte ihres Typs ansehe
182. Suche wird ebenfalls durch das Liniendiagramm geleitet Ist ein Ding als Klassenkandidat ausgew hlt bietet der Hauptfilter des entspre chenden Gegenstandsbegriffs Hinweise f r die Festlegung seiner Attribute und Operationen Wie in 4 2 4 auf Seite 140 diskutiert sind als Dinge behandelte At tribute typischerweise in ihm zu finden Das ist zumindest der Fall wenn die vor genommene Indizierung der Anwendungsf lle implizit ber cksichtigt da ein entsprechendes Attribut nur ber seine Klasse ansprechbar ist implizit weil zum Zeitpunkt der Indizierung noch keine Klassen und Attribute festgelegt sind Genauso finden sich die Operationskandidaten im Hauptfilter des Gegenstandsbe griffs des Klassenkandidaten denn von der Operation einer Klasse kann man er warten da sie die Klasse auch betrifft In Situationen in denen von zwei unter den Dingen vorhandenen Klassenkandi daten einer von einer Teilmenge der Anwendungsf lle und Funktionen betroffen ist in die der andere involviert ist steht aber auch der erste im Liniendiagramm ber dem zweiten ohne da es sich um ein Attribut des zweiten handeln mu Wei ter sind alle Funktionen die einen Klassenkandidaten ber hren im Haupffilter sei nes Gegenstandsbegriffs enthalten Sie m ssen aber nicht notwendigerweise alle der entsprechenden Klasse als Operationen zugeordnet werden Es kann auch der Fall sein da die Anwendungsf lle oder Funktionen aus dem Hauptfilter die Klas
183. Teilmenge U c 41 n ist U 1 n U ein formaler Begriff Erfreulicherweise ist eine exponentielle Begriffsanzahl eine pathologische Aus nahme Jedoch ist eine bessere Absch tzung anhand des zugrunde liegenden for malen Kontexts schwer Bernhard Ganter und Rudolf Wille zitieren in G W 96 j gall 1 ein Ergebnis von Dieter Sch tt nach dem B G M D lt 1 gilt wenn die Inzidenzrelation mehr als 2 Eintr ge besitzt Christian Lindig untersucht in 283 B 2 Berechnung eines Begriffsverbands Lin 99 Kapitel 6 die Gr e von Begriffsverb nden anhand von Experimenten Er schlie t danach auf eine Approximation des Erwartungswerts f r die Begriffs anzahl eines formalen Kontext G M I in on Eine interessante Absch t zung stammt von Robert Godin Wenn f r alle betrachteten formalen Kontexte und alle beteiligten formalen Gegenst nde die Anzahl der inzidenten Merkmale durch eine Konstante beschr nkt ist dann ist B G M J O G siehe GMs 94 B 2 2 Berechnung der Verbandsstruktur Mit den formalen Begriffen ist auch die Ordnung des Begriffsverbands als Inklusi onsordnung auf den Begriffsumf ngen festgelegt Praktisch wird aber ein Begriffs verband in einem Liniendiagramm gespeichert dessen Kanten zu berechnen sind Dies kann als Erweiterung in Algorithmus B4 eingef gt werden In der folgenden Darstellung wird der Verband anhand der Begriffsumf nge aufgebaut weil dies in BASE so vorgenomme
184. Universit t L ttich Mathematik Abschlu als Diplom Mathematiker mit einer Arbeit im Gebiet der topologischen Vektorr ume Erg nzungsstudium Mathematik und Informatik Lehramt Wissenschaftlicher Mitarbeiter am Fachbereich Mathematik und Informatik der Philipps Universit t Marburg Fachgebiet Software Engineering 371 372
185. Verband Verbandshomomorphismus Vorgehensmodell 22 34 41 W Wasserfall Modell 22 Wiederverwendung 27 37 237 Z Zerlegung funktionale Komponente Zustand sdiagramm 40 s bergang 40 Objektzustand 355 Index 356 Literatur Im folgenden angegebene Links datieren vom 14 05 2001 Abb 83 ABLN 89 A G 96 A H 87 Alb 79 A N 94 And 96 Aon 99 R Abbott Program Design by Informal English Descriptions Communications of the ACM vol 26 no 11 pp 882 894 Novem ber 1983 H Ait Kaci R Boyer P Lincoln R Nasr Efficient Implementation of Lattice Operations ACM Transactions on Programming Langua ges and Systems vol 11 no 1 pp 115 146 January 1989 K Arnold J Gosling Die Programmiersprache Java Dt Uberset zung von B Krehl u a Addsion Wesley Publishing Company 1996 S Abiteboul R Hall IFO A formal semantic model ACM Tran sactons on Database Systems vol 12 no 4 pp 525 565 December 1987 A J Albrecht Measuring application development productivity Proceedings of the IBM Applications Development Symposium Monterey pp 83 92 1979 A Arnauld P Nicole Die Logik oder die Kunst des Denkens aus dem Franz sischen bersetzt 2 Auflage Bibliothek klassischer Texte Wissenschaftliche Buchgesellschaft Darmstadt 1994 U Andelfinger Diskursive Anforderungsanalyse Europ ische Hochschulschriften Reihe Informatik vol 25 Pete
186. Wieder verwendung einer bestehenden Klasse C mit allen ihren Eigenschaften bei gleich zeitiger M glichkeit Erweiterungen durch eine neue Unterklasse C von C einzu bringen Auch das Zusammenspiel von C mit anderen Klassen bleibt in C erhal ten Klassen die C benutzen k nnen unge ndert auch C benutzen wenn es f r sie ausreichend ist Objekte von C als Objekte von C zu behandeln und sie die in C zus tzlich definierten Attribute und Operationen nicht ben tigen 2 2 3 Das objektorientierte Entwicklungsparadigma Im Bereich der Programmierung OOP hatte Simula SIS 87 schon 1967 als er ste Programmiersprache ein Klassenkonzept Smalltalk G R 83 Eiffel Mey 92 und C Str 92 waren die ersten weit verbreiteten Sprachen die alle in 2 2 diskutierten Prinzipien umsetzen und immer noch aktuell sind Mit dem steigenden Interesse an verteilten Systemen ist Java A G 96 zu den wichtigen Sprachen dazugekommen Insbesondere die GUI Programmierung Graphical User Interface hat durch die Nutzung objektorientierter Sprachen enorm profi tiert wiederverwendbare Fensterklassen 29 2 3 Rollen der Klassen bei der Analyse und Modellierung Programmiert man durchweg in Klassen wie in Smalltalk Eiffel und Java gar nicht anders m glich enthalten die entstehenden Programme unter anderem auch Klassen als Repr sentanten von Dingen des Untersuchungsbereichs Also ist die Idee das objektorientierte Paradigma auch sc
187. Wiederverwendung von Komponenten trifft nicht nur auf die sp ten Entwicklungsphasen zu Schon Jacobson schreibt dazu Reusability is of course applicable during coding since it can influence productivity significantly What can give even higher productivity is reuse in other development phases Other parts of the construction phase may benefit when reusing entire designs in several systems Additionally reuse should also be viewed as natural during analy sis and testing JCJ 93 S 26 Wirklich etabliert wurden diese Ideen inner halb des Entwurfs von Erich Gamma durch seine design patterns Entwurfsmuster in GHJV 95 Entwurfmuster dr cken in der Regel eine spezifische Art der Bezie hungen und der Zusammenarbeit mehrerer Klassen aus die immer wieder in Sy stementw rfen eingesetzt werden kann F r ein spezifisches System ist die fachli che Auspr gung dieser Klassen noch festzulegen Aber sie bleiben eine Einheit die man zu einer Komponente machen kann Ist die Nutzung von Entwurfsmustern erst standardisiert reicht es dann gegen ber anderen Systemteilen und auch ande ren Entwicklern Bezug auf diese Komponente zu nehmen ohne auf ihre einzelnen Bestandteile abheben zu m ssen So entstehen Standardkriterien Komponenten zu 37 2 4 Objektorientierte Analyse und Modellierungsmethoden bilden Quasi fortsetzend sind auch analysis patterns Analysemuster betrachtet worden Fow 97 Der Komponentenbegriff bekommt also auch
188. Z Abb 5 4 bersichtsdiagramm zu einer Komponentenzerlegung Vorschl ge zur Modularisierung werden wie in 4 6 auch in Liniendiagrammen dar gestellt Es werden jeweils ein bersichtsdiagramm und das zugrundeliegende Li niendiagramm mit einer Kennzeichnung der Komponenten angeboten Diese Kennzeichnung ist dadurch gegeben da jeder Komponente die mehrere Knoten des originalen Diagramms umfa t eine andere Farbe zugeordnet wird Im ber sichtsdiagramm wird der einer solche Komponente zugeh rige Begriffsknoten in 195 5 1 Benutzeroberfl che dieser Farbe ausgef llt dargestellt in der feineren Sicht alle Knoten der Kompo nente und die innerhalb liegenden Kanten Die Darstellung von Knoten die direkt aus dem urspr nglichen Diagramm bernommen sind ohne mit anderen zusam mengefa t zu werden bleibt unver ndert ein unausgef llter Kreis mit schwarzem Rand So stechen die Ver nderungen klar hervor Anhand der Farben k nnen die einzelnen Komponenten im feineren Diagramm so fort wiedererkannt werden RS JWI csc BASE Lox Datei Bearbeiten Ansicht Di ale ri Lieferscheinvermerk Fahrtziel Lieferwagen Maximalen und minimalen Lagerbestand definieren Minimalbestand Lieferant Vorgemerkte Menge i Kundenbestellung Wareneingang bearbeiten Bestellung annehmen Lieferscheine erstellen Fehibest nde nachbestellen S bearbeiten R cklauf bearbeiten gr
189. abfolge auf und sehen eher zyklische Abl ufe vor Da durch kann die Projektplanung besser situativ angepa t werden Eine solche An passung ist nach Untersuchungen von Software Projekten gerade ein entscheiden der Erfolgsfaktor siehe W O 92 Eine Zuordnung der T tigkeiten zu den oben aufgezeigten oder hnlichen Phasen ist aber auch in solchen Vorgehensmodellen oft zu finden Einen guten Einstieg in und ersten berblick ber das Thema Vor gehensmodelle bietet HMF 92 Im weiteren werden die Phasenbezeichnungen von oben verwendet um die T tig keiten w hrend der Entwicklung und die dabei erzielten Ergebnisse einzuordnen Ob die Phasen dabei rein sequentiell oder etwa zyklisch mehrfach durchlaufen werden sei erst einmal dahingestellt Der Abschnitt 2 4 geht auf diese Frage n her ein 2 2 Prinzipien der Objektorientierung Im Abschnitt 2 2 2 werden die wichtigsten Grundlagen der Objektorientierung er l utert Die entsprechenden Zwischen berschriften benennen diese Grundlagen Zum Teil entstammen die betreffenden Ideen nicht origin r der Objektorientierung sondern wurden von ihr neu aufgenommen und interpretiert Der erste Abschnitt 2 2 1 geht zur Motivation des Weiteren auf ein anderes Entwicklungsparadigma das der funktionalen Zerlegung ein Diese Vorgehensweise wird bei der objekt orientierten Systementwicklung in der Regel nicht praktiziert weil sie in ihrer ur spr nglichen Form zu wenig flexiblen Systemen f hrt
190. abh ngigkeiten global wiedergibt Die Festlegung von Klassen kann zu einem sp teren Zeitpunkt aufgrund eines besseren Systemverst ndnisses geschehen Das mit BASE erstellte Modell liefert die Basis f r f r die Festlegung von Klassen f r Komponentenzerlegungen und e f r Uberpriifungsfragen an die Fachexperten 7 2 Ausblick auf weiterf hrende Arbeiten Vordringlich f r weitere Arbeiten an BASE sind Tests der Methode in realen Pro jekten oder in Lehrpraktika Abschnitt 5 3 enth lt Hinweise zur Durchf hrung und Bewertung solcher Tests Nur Projekterfahrungen k nnen die Validit t des Ansat zes zeigen Auch die Ber cksichtigung verschiedener m glicher Erweiterungen h ngt von solchen Projekterfahrungen ab Im folgenden werden einige Erweite rungsm glichkeiten des Verfahrens angedacht 7 2 1 Integration verschiedener Sichten Nach einem Vortrag zu BASE wurde einmal der Einwand ge u ert da die Ergeb nisse des Verfahrens nicht invariant gegen ber den analysierenden Entwicklern und befragten Fachexperten sind Klarerweise sind sie von deren Auswahl von An wendungsf llen und Dingen abh ngig Nachdem oben klar gestellt wurde da auch in der Analyse schon Entwurfsentscheidungen durch Entwickler und Fach experten getroffen werden ist dies f r jedes Modellierungsverfahren ein selbst verst ndliches Faktum Im Falle von BASE bietet es sich sogar an diesen Umstand produktiv zu nutzen Vorstellbar ist da von einer
191. acht um Anforderungen zu entwickeln bzw Modelle zu berpr fen Die Umset zung des Entwurfs in der Implementierungsphase wird von den meisten Autoren nur am Rande betrachtet die zentrale Aufgabe ist Analyse und Entwurf Einige Methoden betrachten schon in den fr hen Phasen eine Komponentenzerle gung Wolfgang Hesse geht noch weiter er orientiert sein Vorgehensmodell EOS Evolution re objektorientierte Software Entwicklung vergl H W 94 und Hes 96 vollkommen an den Software Bausteinen Komponenten und Klassen Dazu bietet EOS eine explizite Unterst tzung von Entwicklungszyklen auf Sy stem Komponenten und Klassenebene F r jeden Baustein werden die Phasen Analyse Entwurf Implementierung und operationeller Einsatz durchlaufen Die entstehenden Zyklen k nnen auch mehrfach und auch unvollst ndig in den Ge samtentwicklungszyklus eingebaut werden Die meisten oben zitierten Methoden sprechen zwar ein iteratives oder inkrementelles Vorgehen an sehen aber Iteratio nen nicht explizit vor Die Baustein Orientierung in EOS f rdert insbesondere die Wiederverwendung Komponenten erhalten ein besonders starkes Gewicht 45 2 5 Anwendungsfall getriebene Analyse 2 5 Anwendungsfall getriebene Analyse Software Systeme werden fiir Kunden entwickelt um bestimmte Aufgaben zu bernehmen Diese Aufgaben teilen sich auf in typische Anwendungsf lle use cases Deshalb bieten die Anwendungsf lle einen guten Ansatzpunkt bei der Sy ste
192. achteten Dingen die in 4 2 4 und 4 5 1 als eine grundlegende Idee von BASE an den Anfang der Er rte rungen gesetzt wurde ist hier nach hinten verschoben worden weil die Besch fti gung mit m glichen Komponentenzerlegungen im vorhergehenden Schritt noch ein weiteres Durchdringen des Untersuchungsbereichs mit sich bringt H ufig wird das nicht n tig sein weil schon aus der Anordnung der Gegenstandsbegriffe zu den Dingen eindeutige Klassenkandidaten ins Auge springen Die ersten Klas senkandidaten werden auch aus solchen Betrachtungen resultieren denn die ein fachsten Klassenkandidaten entsprechen Jacobsons Entit tsklassen Zu ihnen k n nen durch die Betrachtung des entsprechenden Hauptfilters Attribute gesucht wer den siehe 4 5 1 Operationen sind in diesem Stadium noch schwer zuzuordnen weil bisher nur top level Anwendungsfalle betrachtet wurden Solche Anwen dungsf lle kommen in den seltensten F llen Entit tsklassen als Operationen zu weil diese in erster Linie der Datenspeicherung dienen w hrend innerhalb der An wendungsf lle viel Koordination geleistet werden mu Im Sinne von Jacobson kommen daf r eher Kontroll oder Schnittstellenklassen in Frage siehe 2 6 1 Seite 54 185 4 8 Vorgehensmodell Der abschlie ende Pfeil in Abbildung 4 39 deutet an da nach der beschriebenen Grobanalyse noch die funktionale Zerlegung der Anwendungsf lle erfolgen soll Das Vorgehen in dieser zweiten Phase ist ganz hnlich n
193. ag pp 127 138 1998 G W 96 GWW 87 Hal 71 Har 87 Hes 96 Hes 97 Hes 98 H F 85 HMF 92 H W 94 ISO 96 Jac 99 Literatur B Ganter R Wille Formale Begriffsanalyse Mathematische Grundlagen Springer Verlag Berlin Heidelberg New York 1996 B Ganter R Wille K E Wolff Hrsg Beitr ge zur Formalen Begriffsanalyse Vortr ge der Arbeitstagung Begriffsanalyse Darm stadt 1986 B I Wissenschaftsverlag Z rich 1987 R Haller Begriff in J Ritter Historisches W rterbuch der Philo sophie Band 1 A C Wissenschaftliche Buchgesellschaft Darm stadt 1971 D Harel Statecharts A visual formalism for complex systems Sci ence of Computer Programming vol 8 pp 231 274 1987 W Hesse Theory and Practice of the Software Process a Field Study and its Implications for Project Management in C Montan gero Ed Software Process Technology 5th European Workshop EWSPT 96 LNCS 1149 Springer Verlag pp 241 256 1996 W Hesse Life Cycle Models for Object Oriented Software Development in ZGHK 97 1997 W Hesse Baustein orientiert statt phasen zentriert Neue Entwick lungsmethoden erfordern neuartige Vorgehensmodelle Proceedings GI Workshop nderung von objektorientierten Entwicklungsstra tegien und deren Unterst tzung durch Vorgehensmodelle Frank furt am Main Juni 1998 Y Hanatani R Fagin A Simple Characterization of Database Dependency Implication
194. ames Rumbaugh et al RBP 91 Rum 95 amp Rum 96 e Fusion von Derek Coleman et al CAB 94 seit 1992 e OOA amp D von James Martin amp James Odell M O 92 Diese Methoden sollen hier nicht eingehend verglichen werden denn das ist schon zu Gen ge unternommen worden vergl SSB 91 C F 92 M P 92 Ste 93 ZGHK 97 Nur die wichtigsten Modellierungsaspekte die den Methoden ge meinsam sind werden dargestellt Allein die Frage welches Verfahren die Auto ren vorschlagen um in der Analyse Klassenkandidaten zu finden wird tiefgehen der untersucht weil dies die zentrale Fragestellung dieser Arbeit ist 2 4 1 Methode Modellierungskonzepte Notation Vorgehensmodell Alle Methoden unterst tzen gewisse Modellierungskonzepte Die grundlegenden Klasse Objekt Nachricht Beziehungen zwischen Klassen und Objekten werden von allen mit kleinen Nuancen geteilt Sie wurden schon in 2 2 und 2 3 darge stellt Aufbauend auf diesen grundlegenden Konzepten werden innerhalb eines Software Entwicklungsprojekts Modelle erstellt Die in einer Methode betrachte ten Modelltypen bilden weitergehende Modellierungskonzepte Modelle werden in einer methodenspezifischen Notation dargestellt Deshalb sind Notation und Mo dellierungskonzepte eng miteinander verwoben Zus tzlich enthalten die Metho den ein Vorgehensmodell das die Vorgehensweise bei der Erstellung der Modelle beschreibt Die verschiedenen Autoren legen dabei verschie
195. ammitte treffen sich spezielle Funktionen mit den in ihrem Rahmen interessanten Dingen In diesem Sinn liefert das Diagramm eine Richtschnur f r die Identifikation von Klassenkandidaten In der Diagrammitte zusammentreffende Funktionen und Dinge bilden zusammengeh rige Nuclei f r eine bottom up Entwicklung von Klassen F r eine top down Entwicklung von Klassen sind die Dinge von unten nach oben zu betrachten weil die unten angeordneten Dinge im System eine tra gende Rolle spielen Weitere Betrachtungen unterst tzen die Zuordnung von Attri buten und Operationen zu solchen Klassenkandidaten 7 1 2 Komponentenzerlegungen Die formalen Begriffe der in BASE erstellten Liniendiagramme gruppieren zusam mengeh rige Anwendungsf lle und Dinge Auf Basis von Blockrelationen ist es m glich allgemeinere Zusammenfassungen zu betrachten So werden Vorschl ge f r Bausteinzerlegungen des zu erstellenden Systems erstellt Bausteine k nnen Klassen oder Komponenten sein Im ersten Fall ist ein weiterer Beitrag zur Beant wortung der Ausgangsfrage geleistet Meistens sind die entstehenden Systemzerle gungen aber gr ber Eine entsprechende Komponentenaufteilung liefert eine wert volle Strukturierung des entstehenden Systems aber auch des Untersuchungsbe reichs Seine Analyse kann n mlich nur sukzessive erfolgen Eine Zerlegung in m glichst unabh ngige Komponenten ist also hilfreich 1 Diese Technik wurde f r diesen Zweck in L S 97
196. an ten besitzen f r das Gesch ft von JWI verschiedenen Stellenwert Deshalb werden im folgenden die Bezeichnungen Kundenbestellung und Nachbestellung verwen det um sie auseinander zu halten Der Bestellposten bietet gegen ber seinem Syn onym Posten die pr zisere Formulierung Ware wird synonym zu Produkt ge braucht und deshalb nicht als eigenes Ding betrachtet Die noch nicht nachbe stellte Menge ist der K rze halber als vorgemerkte Menge bezeichnet von den verschiedenen Bezeichnungen des minimalen und maximalen Lagerbestands eines Produkts durchgehend nur Minimalbestand und Maximalbestand benutzt und der Vermerk der auf dem Lieferschein Auskunft dar ber gibt ob die Lieferung erfolg reich erfolgt ist wird als Lieferscheinvermerk bezeichnet um ihn auch au erhalb des Kontexts der obigen Anwendungsfallbeschreibungen eindeutig referenzieren zu k nnen Beschr nkung auf die wichtigen Dinge Nicht alle Dinge die sich auf den ersten Blick zur Indizierung anbieten erschei nen bei genauerer Betrachtung zur Beschreibung der Anwendungsf lle hilfreich So wird hier zum Beispiel Zentrum nicht als wichtiges Ding behandelt weil es 133 4 2 Grundlegender Ansatz das umfassende System beschreibt Aus hnlichem Grund ist der Sachbearbeiter auch nicht weiter erw hnt weil er ein Aktor ist der au erhalb des Systems steht Diese Entwurfentscheidung k nnte anders ausfallen wenn das System wiederum Daten ber ihn verwalten m te
197. ande nachbestellen Lagerbestand ermitteln Lieferscheine erstellen Produkt Lagerbestand Vorgemerkte Menge Bestellposten Nachbestellung Lieferant Fahrtziel Lieferwagen Maximalbestand Minimalbestand Lieferkartei Lieferschein Abb 4 23 Begriffsverb nde der zweiten und dritten Blockrelation aus Abbildung 4 20 Alternativ zu den Begriffsverb nden der Blockrelationen lassen sich auch zu die sen Blockrelationen die Bl cke im Originaldiagramm veranschaulichen Abbildung 4 24 und Abbildung 4 25 In diesem Beispiel sind jeweils zwei der Bl cke zu der ersten Blockrelation durch die beiden weiteren Blockrelationen auf zwei verschiedene Weisen noch einmal zusammengefa t worden In der Situation da mehrere nicht triviale Blockrelationen existieren kann sich der Modellierer f r eine der Komponentenzerlegungen entscheiden So werden ihm mehrere M glichkeiten aufgezeigt das System zu modularisieren Das Linien diagramm des Begriffsverbands zur entsprechenden Blockrelation gibt eine ber sicht ber die Komponentenzerlegung Dabei sind Benutzungsbeziehungen der Komponenten durch die Ober Unterbegriffsrelation ausgedr ckt die benutzte Komponente ist durch den Unterbegriff gegeben In Bezug auf die betrachteten Funktionen ist die Anordnung schon in Verbindung mit der Darstellung von 167 4 6 Blockrelationen in BASE uses un
198. ands ersetzt werden Mehrere untere Nachbarn von ub besitzen untereinander unvergleichbare Untermengen von b als Begriffsumf nge Diese Begriffsum f nge gruppieren Dinge die der Anwendungsfall b mit anderen gemeinsam hat Die Merkmalsbegriffe der anderen beteiligten Anwendungsf lle sind aber nicht die unteren Nachbarn von ub selber wenn noch andere Dinge in diese Anwendungsf lle involviert sind Dann sind n mlich die Merkmalsbegriffe zu b und den angesprochenen anderen Anwendungsf llen unvergleichbar Dies sieht man in Abbildung 4 5 auf Seite 137 am Beispiel des Merkmalsbegriffs zum Anwendungsfall R cklauf bearbeiten Er besitzt zwei untere Nachbarn ist also V reduzibel aber kein kleinerer Begriff ist ein Merkmalsbegriff 139 4 2 Grundlegender Ansatz Analyse aus Datensicht Dual zur oben diskutierten funktionalen Sicht erh lt man von unten betrachtet eine Datensicht auf das System Die Dinge die im Untersuchungsbereich wichtig sind und deshalb hoffentlich bei der Indizierung der Anwendungsf lle von den Fachexperten genannt wurden sind von unten nach oben in ihrer Bedeutung f r das System angeordnet Unten stehen die grundlegenden Dinge die durch weite Teile der Systemfunktionalit t betroffen sind Die unten im Diagramm auftreten den Dinge sind damit die prominentesten Klassenkandidaten Klassenkandida ten die nur f r kleinere Teile der Systemfunktionalit t wichtig sind stehen weiter oben Sind sie in nur einen
199. ang bearbeiten Funktion ausw hlen Involvierte Dinge Funktion entfernen m EXTENDS Lagerbestand ermitteln Dateneingabe bernehmen Abbrechen Vorgemerkte Menge gt Zeiegung Entfemen Entfernen Ding entfernen Abb 5 2 Anwendungsfall Editor in Zerlegungsansicht Die Daten zu den Anwendungsf llen werden mit diesem Dialog in der folgenden Weise eingegeben Zuerst m ssen links die Namen von Anwendungsf llen eingetippt und in die Liste 191 5 1 Benutzeroberfl che bernommen werden Wird dann einer der Anwendungsf lle aus der Liste zur Bearbeitung ausgew hlt ist es danach auch m glich rechts Dinge einzugeben Neu eingegebene Dinge werden immer der Liste aller Dinge zugeschlagen und dem aktuell in der Mitte bearbeiteten Anwendungsfall als involviertes Ding zugeordnet Schon vorher eingegebene Dinge k nnen ihm aber auch aus der rechten Listbox heraus zuge teilt werden Eine weitere Erleichterung der Eingabe ist in Abbildung 5 1 angedeu tet Normalerweise wird der Benutzer den zur Bearbeitung ausgew hlten Anwen dungsfall erst beschreiben um ihm dann sp ter die involvierten Dinge zuzuwei sen Die Beschreibung kann er in der Dialogmitte eingeben Aus dem eingegebe nen Text kann er dann Teile selektieren und mit dem gt Button in das Editierfeld der Dinge rechts bertragen Dort
200. angeadr calchashvalue loeschenicht ausgabesp readline gotoxy loeschealles fuegespein setattribute loesche settextcolor leintuegen setbackground erzeuge elemanz insert partsearch geloescht remove clearhashtabs 12 savehashtab init analyse 15 inithashtabs 16 Abb 6 6 Liniendiagramm zur Struktur eines Modula 2 Programms Die Prozeduren und Variablen der Knoten 9 10 11 13 14 sind wie im Dia gramm zu sehen schwer zu trennen Also sollte man sie vielleicht in einer Kom ponente zusammenfassen Dies bildet die Motivation eine allgemeinere Art von Diagrammteilen als nur einzelne Knoten als Modulkandidaten zu betrachten Lin dig und Snelting betrachten vor allem horizontale Summanden Ein Verband V hei t horizontale Summe seiner Unterverb nde V V wenn V V V und VaV 0 1 gilt V V hei en dann horizontale Summanden vergl G W 96 1 3 S 41 Im Liniendiagramm findet man horizontale Summanden da durch da man das globale Supremum und Infimum entfernt Die schwachen Zu sammenhangskomponenten des verbleibenden Graphen bilden dann die horizonta len Summanden Geht man davon aus da keine globale Variable von allen Proze duren benutzt wird und keine Prozedur alle Variablen benutzt so sind die als hori zontale Summanden ermittelten Module voneinander unabh ngig Wie in 4 6 1 erw hnt werden auf der Suche nach Modulen auch Blockzerlegungen betrachtet Mit der Annahme da das Sup
201. angesprochen Der Grund daf r ist da in Abbildung 4 39 und Abbildung 4 40 kein Zeitpunkt festgemacht werden kann zu dem sicher w re da alle n tigen Klassen identifiziert sind Es sollte ein fach so sein da gefundene Klassenkandidaten in das Klassenmodell aufgenom men werden Die Beziehungen zwischen den Klassen werden aber weitgehend nicht mit Mitteln von BASE festgelegt Die untersuchten Liniendiagramme geben nur Hinweise auf Benutzungsbeziehungen nicht aber ob diese sinnvoller Weise als Spezialisierung Assoziation Aggregation zwischen Klassen oder Botschaftsbezie hung zwischen Objekten modelliert werden sollten Sequenzdiagramme k nnen aus den festgelegten Zerlegungen der Anwendungsf lle entwickelt werden wenn die enthaltenen Funktionen im Klassenmodell schon Klassen zugeordnet wurden Es mu dann nur noch die Zuordnung der Funktionsaufrufe zu entsprechenden Ob jekten vorgenommen werden 188 Ein Analyse Werkzeug f r BASE Der Erfolg eines Ansatzes wie BASE h ngt auch wesentlich von der gebotenen Unterst tzung durch Software Werkzeuge ab In BASE erfordert insbesondere die Darstellung der Liniendiagramme eine solche Werkzeugunterst tzung Im Rahmen der vorliegenden Dissertation wurde ein solches Werkzeug entwickelt Hier wer den die Grundz ge seiner Benutzung und seines Aufbaus dargestellt ohne ein vollst ndiges Benutzerhandbuch oder eine komplette technische Dokumentation zu liefern Beispielhaft soll gezeigt werde
202. antwortlichkeiten f r Aufgaben f r die danach Operationen definiert werden und damit verbundene Attribute zugeordnet Die Zusammenarbeit von Objekten in einem Szenario be schreibt man durch Interaktionsdiagramme Klassen und Interaktionsdiagramme werden also verzahnt entwickelt Zum einen bieten die Objekte der Klassen und ihre Operationen die Basis f r die Interaktionsdiagramme zum anderen f hrt das Durchspielen der Szenarien anhand der Interaktionsdiagramme zur Entdeckung von neuen Objekten und Verantwortlichkeiten Lebenszyklen f r einzelne Klassen werden ebenfalls festgelegt So ist durch diesen Schritt das Grundger st des ge samten Modells hergestellt Im dritten Schritt werden Generalisierungs Aggrega tions und Assoziationsbeziehungen zwischen den Klassen modelliert und so das Klassenmodell weiter verfeinert Die Spezifikation der Klassenschnittstellen soll schon in einer Programmiersprache erfolgen In der Entwurfs und Implementie rungsphase wird das nun schon bestehende Systemmodell im Hinblick auf seine Implementierung weiter erg nzt etwa durch Hinzunahme implementierungsspezi fischer Klassen Dem grunds tzlichen Ansatz von Jacobson f r die fr hen Phasen ist hier ein eige ner Abschnitt 2 5 gewidmet weil er den Ausgangspunkt f r BASE bildet In ei ner Anforderungsphase werden die Anwendungsf lle Typen von Szenarien zu 41 2 4 Objektorientierte Analyse und Modellierungsmethoden sammengestellt und jewei
203. ationenbasis erh lt man aus dem System der Pseu doinhalte indem man die Implikationen mit einem Pseudoinhalt als Pr misse und dem n chstgr eren Begriffsinhalt als Konklusion bildet Satz 14 auf Seite 109 f r Pseudoumf nge sinngem Im besonderen berechnet Algorithmus B9 neben den Pseudoinhalten umf ngen auch die Begriffsinhalte umf nge Will man also zu einem formalen Kontext nicht nur ein Liniendiagramm erzeugen sondern auch eine Implikationenbasis so kann Algorithmus B9 den Algorithmus B4 zur Erzeugung aller Begriffsinhalte bzw umf nge ersetzen In dem in Kapitel 5 vorgestellten Werkzeug werden so die Pseudoumf nge zu formalen Kontexten immer gleich mit erzeugt siehe 5 4 3 auf Seite 214 Der angegebene Algorithmus wurde innerhalb der Arbeiten zu BASE f r Pseudo inhalte und umf nge als Erweiterung in The Formal Concept Analysis Library in tegriert Einmal wurden dazu in der Klasse TFormalContext siehe 5 4 2 zwei neue Operationen zur Berechnung der Pseudoinhalte bzw umf nge eingef gt zum anderen wurde bei der Liniendiagrammberechnung die M glichkeit erg nzt ber einen Parameter die Erzeugung der Duquenne Guigues Basis ber Pseudoin halte oder umf nge zu aktivieren Zu weiteren Funktionen des schon vorher vor handenen Parameters siehe Algorithmus B12 auf Seite 313 W hlt man die Erzeu gung der Pseudoumf nge so werden die formalen Begriffe in der lektischen Rei henfolge ihrer Umf nge und nicht
204. atz B4 ausgewertet Der Beweis von Satz B4 garantiert da die Repeat Schleife auch wirklich abbricht F r die Pseudoumf nge ist der Algorithmus nextExtentPseudoExtent ber G 89 Zig _1 analog G W 96 2 3 S 85 Entscheidend f r eine Laufzeitabschatzung f r Algorithmus B7 ist wie oft die Re peat Schleife von 87 7 bis B7 12 durchlaufen wird Dies kann h chstens M 1 mal geschehen denn fter als M mal kann D nicht innerhalb von M vergr ert werden In ihrem Inneren werden jedesmal alle Pseudoinhalte getestet und dabei eventuell der minimal umfassende Begriffsinhalt bestimmt Komplexit t 289 B 3 Berechnung der Duquenne Guigues Basis O n logn nach B 2 1 auf Seite 282 Also verursacht die H llenberechnung ei nen Aufwand von O n logn p mit n max G M und p P5 bzw p PUl Dabei sind die Kardinalit ten der Pseudoinhaltsmenge PF und Pseu doumfangsmenge PU schwer durch den zugrunde liegenden Kontext abzusch t zen siehe auch B 2 1 auf Seite 283 Insgesamt ergibt sich so f r Algorithmus B7 eine Komplexit t von On logn p Wegen des hohen Aufwands f r die Berechnung des H llenoperators scheint es sinnvoll die Berechnung der H lle abzubrechen wenn ein Merkmal Gegenstand mit einem Index kleiner als das gerade betrachtete k der H lle zugef gt wurde In diesem Fall ist n mlich die Bedingung in B7 13 sicher verletzt und es mu so wieso ein kleineres k getestet werden Di
205. atzes in englischer Sprache und der damit verbundenen Su che nach geeigneten Termini ins Auge D H 98b In terms of FCA we now treat the use cases as formal things and the marked things as formal features Zum an deren entspricht die Anordnung der entstehenden Liniendiagramme nach dem Rol lentausch besser den blichen Schichtenmodellen in denen die Datenzugriffs schicht unten dar ber die Anwendungsschicht und oben die Benutzerschicht dar gestellt wird Analog finden sich bei BASE die grundlegenden Dinge als Daten elemente unten und die allgemeinen Systemfunktionen ausgedr ckt durch An wendungsf lle die im sp teren Software System ber die Benutzerschnittstelle angeboten werden oben im Liniendiagramm siehe Abbildung 4 5 auf Seite 137 und die nachfolgende Diskussion uses und extends Beziehungen zwischen Anwendungsf llen werden nach der Indizierung wie folgt ber cksichtigt Benutzt oder erweitert ein Anwendungsfall a einen anderen Anwendungsfall b so ber hrt er auch alle Dinge die in b eine Rolle spielen Diese werden ihm deshalb zus tzlich zu den ihm explizit zugeordne ten ebenfalls zugesprochen Das ist gerechtfertigt denn eine uses Beziehung be sagt da b innerhalb von a eine Teilaufgabe bernimmt Dinge die von b be r hrt werden sind damit mittelbar auch in a involviert Eine extends Beziehung besagt dagegen da a eine Spezialisierung von b ist Deshalb mu man davon aus gehen da mindest
206. aus zwei Begriffe zusammengefa te Block extra hervorgehoben Wareneingang bearbeiten Bestellung annehmen Lieferscheine erstellen Bestellung bearbeiten R cklauf bearbeiten Kunde Lieferscheinvermerk Fehlbest nde nachbestellen Nachbestellung Lieferscheine zuordnen Maximalen und minimalen Lagerbestand definieren Bestellposten einf ger a y q 61 8 O Minimalbestand Lieferant Vorgemerkte Menge Wartekartei Kundenbestellung Lieferwagen Maximalbestand Lagerbestand ermitteln ge Lieferschein anlegen Fahrtziel Lagerbestand Lieferkartei Produkt Lieferschein Abb 4 30 Bl cke zur ersten Blockrelation zu Abbildung 4 17 In diesem Fall besch ftigt sich der neue Block gerade mit der Zusammenstellung 174 4 BASE ein begriffsbasiertes Analyseverfahren f r die Software Entwicklung von Lieferungen nach den entsprechenden Fahrtzielen die bei der Erstellung von Lieferscheinen auf diesen vermerkt werden Ob nun die Zuordnung der Liefer scheine zu Touren und damit zu Lieferwagen erst nach Erstellung aller Lieferschei ne geschieht wie urspr nglich modelliert oder schon sofort bei der Erstellung jedes einzelnen Lieferscheins vorgenommen wird so da das Ding Lieferwagen von der Funktion Lieferschein anlegen benutzt wird wie durch die Blockrelation erg nzt ist f r den Rest des Syste
207. bbildung 4 39 als eigener Pfeil eingezeichnet Werden neue Dinge oder Anwendungsf lle mittels fachlich unzutreffender Im plikationen gefunden geschieht dies sukzessive wenn die entsprechenden ber pr fungsfragen einzeln nacheinander bearbeitet werden und die Erweiterung des formalen Kontexts sofort nach dem Ablehnen einer Implikation vorgenommen wird D h bei diesem Vorgehen werden neue Dinge oder Anwendungsf lle meist einzeln in das Modell aufgenommen weil zur Aufl sung der als fachlich unzutref fend erkannten Implikation ein Gegenbeispiel ausreicht M glich ist aber auch erst die gesamte berpr fung und eventuell auch eine nachfolgende Untersuchung auf Blockzerlegungen durchzuf hren und die vielleicht aufgelaufenen neuen Dinge oder Anwendungsf lle auf einen Schlag zu erg nzen Deshalb ist in der obigen Formulierung keine Einschr nkung auf Einzelerg nzungen gemacht Schon angesprochen sind in einem Liniendiagramm bestehende Komponentenzer legungen die eventuell durch Hinzunahme neuer Anwendungsf lle sp ter nicht mehr durch Blockrelationen rekonstruiert werden Hat der Entwickler einmal eine ihm wertvolle Zerlegung gefunden sollte sie dokumentiert bleiben So kann sie in sp teren Liniendiagrammen wie in Verbindung mit Abbildung 4 26 auf Seite 170 diskutiert im Schritt Bausteinzerlegungen anhand von Blockrelationen untersu chen mit ber cksichtigt werden Die Untersuchung von Klassenkandidaten unter den betr
208. ber die betreffenden Operationen eine weitere Verbindung zum Klassendiagramm 40 2 Objektorientierte Anwendungsentwicklung 2 4 3 Vorgehensmodelle Eine eingehende Untersuchung der Vorgehensmodelle der verschiedenen Metho den findet sich in Hes 97 An dieser Stelle soll nur kurz beleuchtet werden wie die in 2 4 2 beschriebenen Modelle angewandt werden um die Entwicklung voran zutreiben Vereinfachend werden dabei die verschiedenen Auspr gungen der oben diskutierten Modelle nicht unterschieden Wo es wichtig ist wird auf Unterschiede hingewiesen doch generell reicht es davon auszugehen da alle Methoden Mo delle wie die obigen enthalten In 2 6 wird dann eingehender verglichen was die verschiedenen Autoren vorschlagen um berhaupt erst einmal zu Klassen f r ein Klassenmodell zu kommen In Boochs Vorstellung beginnt die Entwicklung mit einer Konzeptphase in der die wichtigsten Anforderungen festgelegt werden Als Technik empfiehlt er daf r Pro totyping vergl BKKZ 92 In der darauf folgenden Analyse sollen zyklisch e Objekte und Klassen gefunden e die Semantik der Objekte und Klassen festgelegt e die Beziehungen zwischen Klassen und Objekten identifiziert und e die Schnittstellen der Klassen spezifiziert werden Insbesondere gesteht Booch dem Durchspielen von Szenarien Arbeitsab l ufe mit dem zu erstellenden System siehe 2 5 eine gro e Rolle zu Mit Hilfe dieser Technik werden im zweiten Schritt den Klassen Ver
209. bjekt 0 0 Signatur 2 Titel Ausleihzettel Erscheinungjahr Ausleihfrist ausgeliehen mit Datum Ausleihzustand Anschaffungsdatum 1 4 0 3 erstellen durchschlag erstellen ist ausgeliehen als ausgeliehen buchen 1 Zeitschriftenexemplar Buch Nr Diskette CD 0 1 1 Verfasser Erscheinnungsmonat Betriebssystem ISBN geh rt zu Verlag Abb 2 3 Klassenmodell f r ein Bibliothekssystem In der Analysephase wird ein erstes problemorientiertes Klassenmodell erstellt das den Untersuchungsbereich beschreibt In der weiteren Entwicklung werden die Klassen dieses Modells in Richtung Implementierung detailliert und das Modell wird dabei durch l sungsorientierte Klassen die aus Implementierungsgr nden n tig oder sinnvoll sind erg nzt In realen Anwendungen betrachtet man viel mehr Klassen als in dem oben angege benen Beispiel Klassendiagramm JCJ 93 S 195 For a medium sized project typically between 30 and 100 will be specified Die entsprechenden Mo delle sind dann in ihrer Gesamtheit nur noch schwer zu berblicken Deshalb be 36 2 Objektorientierte Anwendungsentwicklung trachtet man oberhalb der Klassen Systemkomponenten als Strukturierungsebene und definiert Sichten f r bestimmte Aspekte eines Klassenmodells damit die ent sprechenden Klassendiagramme bersichtlich bleiben Komponenten fassen zu sammengeh rige Klassen zusammen Sie sind untereinander disjunk
210. bleme bis man die entstandenen Teilprobleme direkt l sen kann und f ge nach ihrer L sung die Teill sungen zu einer Gesamtl sung zusammen Wesentli ches Problem bei der Software Entwicklung ist die Erf llung der funktionalen An forderungen Die entsprechenden bergreifenden Systemfunktionen zerlegt man in Teilfunktionen bis man diese direkt verstehen und dann auch programmieren kann Die Strukturierung des Systems geschieht so in funktional gepr gter Sicht Die einzelnen Funktionen arbeiten aber in der Regel auf einem Daten Pool zusam men es bestehen also Datenabh ngigkeiten zwischen ihnen Diese werden jedoch durch die allein aus funktionalen Gesichtspunkten entwickelte Systemstruktur nicht widergespiegelt Das ist problematisch Ian Sommerville schreibt dazu Function oriented design conceals the details of an algorithm in a function but system state information is not hidden This can cause problems because a function can change the state in a way which other functions do not expect Changes to a function and the way in which it uses the system state may cause unanticipated in teractions with other functions Som 92 S 220 Auch nderungen einer Da tenstruktur sind problematisch denn sie haben Auswirkungen auf viele verschie 1 Nach Wir 75 tragen eine Vielzahl von Lehrb chern genau diesen Titel 23 2 2 Prinzipien der Objektorientierung dene Funktionen die m glicherweise in der Hierarchie der funktionalen Zerleg
211. bung Wiederge geben wird es in einem Klassendiagramm Solche Klassendiagramme geben die statische Systemstruktur wieder Das vorlie gende Beispiel in Abbildung 2 3 wurde in leicht abge nderter Weise in einem Projekt innerhalb einer Lehrveranstaltung erstellt Thema war die Modellierung ei nes Bibliothekssystems f r die Fachbereichsbibliothek Klassen sind als K sten eingezeichnet in denen zun chst der Klassenname dann die Attribute und schlie lich die Operationen angegeben sind Generalisierungsbe ziehungen werden durch Pfeile von der Unterklasse zur Oberklasse notiert Verbin dungen durch einfache Linien kennzeichnen Assoziationen Handelt es sich dabei um eine Aggregation so ist dies durch eine Raute am Linienende der umfassenden 35 2 4 Objektorientierte Analyse und Modellierungsmethoden Klasse deutlich gemacht Bibo Verwaltung anschaffen mahnen Revision durchf hren 1 1 Ausleiher 1 4 1 1 1 1 verwaltet 9 Name ve Vorname verwaltet verwaltet Adresse Telefon 0 1 1 Berechtigung Zeitschrift Ausleihbestand ausleihen Verlag Revisionsdatum zurlickgeben ausgObjAngeben Bestand angeben Ausleihobjekt aufnehmen verwaltet Ausleihobjekt l schen 1 1 Ausleihobjekt suchen 1 1 1 1 x ist erfa t in 0 Ausleiho
212. bungen n tig werden Auch wenn die Zuordnung der alten zu den neuen Knoten eindeutig ist aber nicht alle Begriffsinhalte erhalten sind kann es n tig sein die vertikale Position einiger Knoten zu ver ndern Durch die Ver nderung des zugrunde liegenden formalen Kontexts kann die Ordnungsbeziehung zwischen den Begriffen des Ausgangsver bands und denen des neuen Begriffsverbands ge ndert sein 319 B 5 Automatisches Zeichnen von Diagrammen Abbildung B 13 zeigt ein Beispiel daf r Wird das rechts abgebildete Diagramm in mO der beschriebenen Weise nach dem linken mi ausgerichtet mu der Knoten des Merk Q malsbegriffs zu m0 nach unten verschoben ay werden damit die Verbandsordnung korrekt O wiedergegeben wird S Abb B 13 Ver nderte Ordnung Verschieben von Knoten Nach der Zuordnung der neuen zu alten Knoten kann wie oben erkl rt unter Umst nden die Verbandsordnung inkorrekt abgebildet sein Deshalb werden einige Knoten verschoben Das Verschieben von Knoten wird in einem Durchlauf ber die Diagrammkanten des neuen Diagramm s erledigt Dabei werden wie vorher bei den Knoten h her gelegene Kanten vor niedrigeren erfa t Betrachtet werden Kanten die zwei Kno ten verbinden die beide gewissen der alten Knoten zugeordnet sind Weil jedem Knoten des Ausgangsdiagramms genau ein neuer Knoten zugeordnet wird bezie hen sich keine zwei verschiedenen Knoten des neuen Diagramms auf d
213. cept in the sense that say Sextus Empiricus or Abelard has both 3 Hal 71 S 780 Die kaum bersch tzbare Leistung des sokratischen Denkens bestand auch darin die Frage nach dem was sp ter allgemeiner Begriff genannt wurde d h nach den gemeinsamen Merkmalen Eigenschaften von Dingen Ereignissen und Handlungen explizit und methodisch zum ersten Mal gestellt zu haben 4 Hal 71 S 781 Ein weiteres Thema bildet der Gedanke da nur das was begrifflich als A yog erfa t wird Gegenstand des Wissens sein kann 5 Hal 71 S 782 Die in der Theorie der propritates terminorum entwickelte Unterscheidung zwischen der Signifikation und der Supposition eines Terminus kann nach den meisten Texten als Unterscheidung zwi schen Intension und Extension gedeutet werden 63 3 2 Ordnungstheoretische Grundlagen wobei dieses im Hinblick auf sie das bergeordnete hei t wie sich die Idee des Dreiecks berhaupt auf alle verschiedenen Arten von Dreiecken erstreckt A N 94 S 46 47 3 2 Ordnungstheoretische Grundlagen Zun chst einmal soll gekl rt werden was im folgenden unter einer Ordnung ver standen wird Eine Ordnung ist eine bin re Relation auf einer Menge Da sp ter auch andere bin re Relationen innerhalb formaler Kontexte eine gro e Rolle spielen wird zun chst allgemein eingef hrt was unter einer bin ren Relation zu verstehen ist Definition 1 _ Bin re Relation Eine bindre Relation R zwischen zwei
214. ch Die Suche nach ihnen f hrt zu einer Besch ftigung mit dem Problembereich und so zu einem Verst ndnis und einer Abgrenzung desselben Eine intensive Betrachtung des Un tersuchungsbereichs schlie t die Untersuchung vieler Quellen neben den Anforde rungsdokumenten andere schriftliche Quellen Abbildungen und Gespr che mit Anwendern ein Beachtung sollten Substantive finden ohne da sie automatisch zu Klassen werden w rden Zu suchen sind vergl Shlaer Mellor e Generalisierungs und Aggregationsstrukturen e andere Systeme e Systemschnittstellen e aufzuzeichnende Ereignisse e Rollen von Personen e Orte e organisatorische Einheiten der betrachteten Organisation Diese ergeben Klassenkandidaten Zu tiberpriifen sind die Kandidaten ob e Daten ber sie zu speichern sind e sie Dienste f r das System ausf hren e sie durch mehr als ein Attribut gekennzeichnet werden e alle zugeh rigen Objekte gemeinsame Attribute tragen e alle zugeh rigen Objekte gemeinsame Dienste zur Verf gung stellen 49 2 6 Identifikation von Objekten und Klassen e sie der Beschreibung der essentiellen Systemanforderungen dienen und nicht erst aus reinen Implementierungsentscheidungen n tig sind Auszuschlie en sind dagegen Kandidaten e ber die keine Informationen gehalten werden m ssen e die nur unben tigte Dienste anbieten e von denen nur ein Objekt existiert es sei denn dieses allein b ndelt Operatio nen wobe
215. cript in der folgenden Weise gespeichert FormalContextList FORMAL_CONTEXT FormalContext FormalContext Bezeichner Title Remark ContextSpecialList OBJECTS ZeilenNr Bezeichner Beschreibung Text Format ATTRIBUTES SpaltenNr Bezeichner Beschreibung Text Format Relation H he Breite y ZeilenNr NatZahl SpaltenNr NatZahl H he NatZahl Breite Nat Zahl Die Speicherung eines formalen Kontext geschieht in Ubereinstimmung mit der in 5 4 2 auf Seite 210 dargestellten Klasse TFormalContext oBJECTS leitet die Liste 217 5 4 Technischer Aufbau des Werkzeugs der formalen Gegenst nde ein ATTRIBUTES die der formalen Merkmale Zur Speicherung der Relation wird erst die Zeilenanzahl dann die Spaltenanzahl und schlie lich zeilenweise die Belegung der Kreuztabelle angegeben Dabei steht f r eine leere Tabellenzelle und f r ein Kreuz Es m ssen auf diese Weise genau H heXBreite Tabellenzellen angegeben werden und alle zu formalen Gegenst n den angegebenen Zeilennummern m ssen zwischen 0 und H he 1 liegen die Spal tennummern zu den Merkmalen zwischen 0 und Breite 1 Weiter m ssen die Be zeichner von formalen Gegenst nden und Merkmalen jeweils paarweise verschie den sein In TextFormat stehen Formatierungsinformationen Da diese in BASE innerhalb von formalen Kontexten bedeutungslos sind wird TextFormat zusam men mit der ConScript Definition f r Liniendiagramme auf Seite 221 erkl rt Die anderen Bestandteile si
216. d Objekte und Klassen Ein grundlegendes Prinzip der Objektorientierung ist gerade die Kapselung von Daten Objekte speichern in ihren Attributen ihre eigenen Daten und f hren Funk tionen genannt Operationen auf diesen aus Ein Objekt kann jedoch bei durch gehend praktizierter Datenkapselung die Attribute anderer Objekte nur via Opera tionen nutzen Allerdings schleppt nicht jedes Objekt des selben Typs die Imple mentierung seiner Operationen mit sich herum sondern berl t dieses der ent sprechenden Klasse Eine Klasse beschreibt den Aufbau gleichartiger Objekte In ihr werden die Attribute und Operationen definiert Klassen fungieren also als Mo dule Sie werden aber auch als Typ ihrer Objekte behandelt Mey 88 S 228 Classes are both modules and types F r den Entwurf eines objektorientier ten Systems sind die Klassen die grundlegenden Systembausteine Zur Laufzeit des Systems werden Objekte erstellt die zusammenarbeiten um die Systemfunk tionalit t bereitzustellen Die zu einem bestimmten Zeitpunkt aktuelle Attributbe legung eines Objekts beschreibt dessen Zustand Im Laufe der Zeit nimmt es ver schiedene Zust nde an durchl uft seinen Lebenszyklus Ausgangspunkt der objektorientierten Ideen war die Programmierung OOP mit Sprachen wie Simula SIS 87 Smalltalk G R 83 Eiffel Mey 92 C Str 92 und zuletzt Java A G 96 Durch die Fokussierung auf Klassen als grundlegende Software Baustei
217. d Nach b c und Definition von p ist ka V ka V Skool V E ka Also ist kal Pal V ka V e F r jedes n e N ist V Spa Zeige V CVUU ky U UC Pal kylU AkylV f r alle ne No F r V V ist das klar Ist aber f r ein ne N gezeigt da V SE VOU kal U UC po V kylU kylV so folgt auch Vu CG VOU ky V UC pa V kylU kylV denn Kait Va V UU ky U U S Vn kal U koal Vn V SO kaU U S Vn kU Z ka V Letzte Gleichung folgt induktiv aus b Damit gilt V c VO U kal U U SPa V kal U ko V f r alle ne No Insgesamt ist py V CV VU kal U U Cp AV kal U ka V Jetzt ist noch die andere Inklusion zu zeigen Weil X endlich ist gibt es ein re N mit V V f r alle n 2r Damit ist pa V V Ist Ucpy V so da ky U ky V so gilt UGV Damit ist ky U CV V Pal V Somit ist VU U k U UC pol V kal U ka V EPa f Nach e ist DylV II Pa V VU Of kal U U Spal V kal U kal V VOU Lky U US pol V kyl U Zka V Y U kaU UC pV kaU kal V PV Das bedeutet induktiv p5 V Pal V f r alle ne No Also ist palpa V Pa II Nimmt man die informativen Implikationen mit maximaler Konklusion und DG saturierter Pr misse wobei man jeweils von der minimalen Menge ausgeht um diese Konklusion und Pr misse zu bilden so bekommt man eine Basis der Impli kationen auf einer endlichen Menge 258 A Mathematische Details
218. d extends Beziehungen im Liniendiagramm in 4 2 4 auf Seite 138 dis kutiert worden Benutzte Funktionen stehen unterhalb der benutzenden Das gilt auch f r solche Funktionen die durch eine funktionale Zerlegung entstanden sind vergl 4 3 1 auf Seite 142 In Bezug auf die Dinge ist festzuhalten da die in der Benutzungshierarchie unten stehenden benutzten Komponenten die grundle genden Datenstrukturen zur Verf gung stellen m ssen w hrend in der Hierarchie h her gelegene nur noch speziellere Datenstrukturen erg nzen die allein f r ge wisse Systemteile interessant sind Nach der Diskussion in 4 2 4 auf Seite 140 ent spricht dies gerade der Anordnung der Dinge im Diagramm Somit ist die Aussage ber die Darstellung von Benutzungsbeziehungen zwischen Komponenten im Li niendiagramm der entsprechenden Blockrelation gerechtfertigt Da diese Anord nung der blichen grafischen Darstellung einer Komponentenzerlegung entspricht war ein Grund die Rollen von formalen Gegenst nden und Merkmalen in BASE gegen ber dem ersten Ansatz zu vertauschen siehe Diskussion in 4 2 3 auf Seite 134 Lieferscheine erstelleh Wareneingang bearbeiten Bestellung annehmen Fehlbest nde nachbestell amp R cklauf bearbeiten Bestellung bearbeiten Fahrtziel Lieferwagen Lieferscheinvermerk Nachbestellung Maximalen und minimalen Lagerbestand
219. d Begriffsverb nde Folgerung 5 Infima von Merkmals Suprema von Gegenstandsbegriffen Sind G M I ein formaler Kontext und 4 c G B CM so gilt A A Vyg und B B Aum ge meB Beweis Nach Folgerung 2 a auf Seite 82 ist A U te Ag geAd geAd N g ist nach Satz 7 auf Seite 84 gerade der Begriffsinhalt von Vyg ge geA Also ist A A Vye ge F r B B dual So reicht bei Liniendiagrammen von Begriffsverb nden die reduzierte Beschrif tung aus Bei der reduzierten Beschriftung werden die Diagrammknoten der Ato me des Begriffsverbands immer mit formalen Gegenst nden und die Knoten zu den Coatomen immer mit formalen Merkmalen beschriftet Folgerung 6 Beschriftung f r Atome und Coatome Ist G M J ein formaler Kontext so sind alle Atome von B G M I Gegenstandsbegriffe und alle Coatome Merkmalsbegriffe Beweis Sei 4 B ein Atom von B G M I Nach Definition 21 auf Seite 84 und Folgerung 5 ist Oscc u n M M Vye geM Mit Folgerung 5 und Hilfssatz 2 c auf Seite 68 folgt also 4 B Vyg Vygv V yg OxGunvY V Yg geA geM ge A M ge A M V Y g geA M Wegen A B gt OG u p ist A M A F r ge A M gilt Oxs m n lt Yg lt A B also yg A B Im Fall der Coatome f hrt die duale Argumentation zur Behauptung Das folgende Beispiel 7 zeigt die reduzierte Liniendiagrammbeschriftung Die Knoten des Liniendiagramms stellen die Begriffe des Begri
220. d Ganter und Christian Lindig Danke Dem Fehlerteufel sp rten Jochen Hillebrand J rg Kesselmeier Franz und Maria D wel nach Auf diesem Weg noch einmal vielen Dank f r diese wertvolle Unter st tzung Inhaltsverzeichnis 1 Einleitung 1 1 Objektorientierte Anwendungsentwicklung 1 2 Anwender Partizipation 1 3 Begriffe der Anwendersprache 1 4 Festlegen von Klassen 1 5 Eignung objektorientierter Analysemodelle 1 6 Das Vorgehen in BASE 1 6 1 Formale Begriffsanalyse 1 6 2 Formale Gegenst nde und Merkmale in BASE 1 6 3 Entwicklungsumgebung f r BASE 1 7 Aufbau der Arbeit 2 Objektorientierte Anwendungsentwicklung 2 1 Phasen der Anwendungsentwicklung 2 2 Prinzipien der Objektorientierung 2 2 1 Exkurs Funktionale Zerlegung 2 2 2 Prinzipien objektorientierter Modelle 2 2 3 Das objektorientierte Entwicklungsparadigma 2 3 Rollen der Klassen bei der Analyse und Modellierung 2 3 1 Charakter von Klassen 2 3 2 Beziehungen zwischen Klassen 2 4 Objektorientierte Analyse und Modellierungsmethoden 2 4 1 Methode Modellierungskonzepte Notation Vorgehensmodell 2 4 2 Modelltypen 2 4 3 Vorgehensmodelle 2 5 Anwendungsfall getriebene Analyse 2 6 Identifikation von Objekten und Klassen 2 6 1 Vorgehen der einzelnen Methoden 2 6 2 Diskussion der Ans tze 21 21 22 23 24 29 30 31 32 33 34 35 41 46 48 48 56 Inhaltsverzeichnis 3 Formale Begriffsanalyse 3 1 Begriffsverstandnis 3 2 Ordnungstheoretische Grundlagen 3
221. d Thorsten Z chner erstellten daraus einen ersten Prototyp f r BASE Dieser Dame und diesen Herren gilt deshalb mein besonderer Dank Alle 189 5 1 Benutzeroberfl che erw hnten Praktika erbrachten wertvolle Beitr ge f r die Entwicklung des hier dargestellten Werkzeugs Am Ende wurde jedoch eine grundlegende Revision und weitgehende Neuimplementierung unternommen 5 1 Benutzeroberflache Die wesentlichen Elemente der Benutzerschnittstelle betreffen die Darstellung und Manipulation e der Daten zu den Anwendungsf llen inklusive deren funktionaler Zerlegung e der erstellten Liniendiagramme inklusive der Darstellung von Komponentenzer legungen e der generierten berpr fungsfragen In dieser Reihenfolge sind sie im folgenden dargestellt 5 1 1 Darstellung von Anwendungsfalldaten Zur Darstellung Eingabe und Ver nderung der Daten zu den Anwendungsf llen dient der folgende Dialog Anwendungsfalle r Anwendungsfalle Ubemehmen L schen Auswahl gt Uses gt Extends gt Zerlegung Fehibestande nachbestellen Dinge bernehmen L schen Andem Nachbestelung Ausgew hlter Anwendungsfall Fetbesande nachbestellen Auswahl Andem Beschreibung Zerlegung Der Anwendungsfall Lagerbestand ermitteln wird benutzt uses Beziehung um f r jedes Produkt den aktuellen Lagerbestand zu ermitteln Das Ergebnis dient dazu Fehlbest nde aufzufinden T glich
222. d VcA So Ist A Hes so ist nach oben A A Fir V CA gilt damit nach der Extensit t von 9 da V c A A Also ist P CN A U V CA Qu V Insgesamt folgt die behauptete Gleichheit Q F r ein H llensystem U auf Xund Ve U ist analog zu oben V V also V N AeU VcA el D h Up c U Ist umgekehrt Ve UI soist V N Ae U VCA CV und nach der Extensit t von damit V V d h Ve Uy Das bedeutet U 2 U Insgesamt gilt die behauptete Gleichung U U A 2 Implikationen Wie in 3 4 1 auf Seite 100 erw hnt definieren Vincent Duquenne und J L Guigues saturierte Pr missen anders als Bernhard Ganter und Rudolf Wille Im folgenden ist aufgezeigt da beide Vorgehensweisen zu der selben Implikationenbasis f h ren Saturierte Pr missen werden betrachtet um Redundanzen aufgrund von Hilfssatz 12 auf Seite 99 zu vermeiden D h man hat daf r zu sorgen da Pr misse und Konklusion einer Basisimplikation nicht als Vereinigung von Pr missen bzw 256 A Mathematische Details Konklusionen anderer Basisimplikationen dargestellt werden k nnen Dazu w hlt man nur solche informativen Implikationen mit maximaler Konklusion aus bei de nen echte Teilmengen der Pr misse nichts ber die Gesamtpr misse hinausgehen des implizieren Die Konstruktion dieser Pr missen l uft bei Duquenne und Gui gues ber mehrere Stufen Definition Al DG Saturierte Pr misse Sei X eine Menge Itc P X ein
223. d X ist damit nicht leer W hle aus X eine Kette xy lt lt x mit maximaler Elementanzahl M g lich weil X als Teilmenge von P X endlich ist und alle Elemente von X nach oben ebenfalls endliche Mengen sind Dann gilt x lt x Vie 0 k 1 denn sonst g be es ein je 0 k 1 undeinze X mitx lt z lt x und xy Xp Z E K h tte eine gr ere Elementanzahl als x X4 X lt kann man als gerichteten Graphen auffassen Nach Satz 3 ist die Ordnungs struktur von X S durch diesen Graphen vollst ndig bestimmt Liniendiagramme stellen diesen gerichteten Graphen dar Anders als bei der Dar stellung allgemeiner gerichteter Graphen wird aber die Kantenrichtung nicht durch Pfeilspitzen sondern durch die vertikale Orientierung von Start und Zielknoten der Kanten angegeben Definition 10 Liniendiagramm Eine endliche geordnete Menge X lt wird durch ein Liniendiagramm Hasse Diagramm dadurch dargestellt da alle Elemente von X so als Knoten gezeichnet werden da im Fally lt x der Knoten f r y unterhalb des Knotens f r x liegt Knoten f r x y X mit y lt x durch eine von x nach y absteigende Kante verbunden werden Bir 67 1 3 S 4 Selbstverst ndlich ist die Darstellung durch ein Liniendiagramm nicht eindeutig Solange die vertikale Anordnung der durch Linien verbundenen Punkte sie gibt die Ordnung wieder erhalten bleibt k nnen die Punkte beliebig verschoben wer 71 3 2
224. d main2 lass String details omitted lass Address details omitted enum Faculty Mathematics ComputerScience lass Professor forward declaration lass Person lass Student public Person public String name Address address long socialSecurityNumber public Student String sn Address sa int si name sn address sa studentId si void setAdvisor Professor p avisor p long studentId Professor advisor public Professor String n Faculty f Address wa name n faculty f workAddress wa assistant 0 void hireAssistant Student s assistant s Faculty faculty Address workAddress Student assistant either 0 or 1 assistant String slname plname Address sladdr pladdr Student sl new Student Sslname sladdr 12345678 Professor pl new Professor plname Mathematics pladdr sl gt setAdvisor pl String s2name p2name Address s2addr p2addr Student s2 new Student s2name s2addr 87654321 Professor p2 new Professor p2name ComputerScience p2addr p2 gt hireAssistant s2 Abb 6 4 Beispiel f r eine Klassenhierarchie und benutzende Programme Als formale Gegenst nde werden Variablen der betrachteten Programme behan delt die als Typ eine Klasse aus der untersuchten Klassenhierarchie besitzen Die formalen Merkmale bilden die Attribute und Operationen der Klassen aus der un tersuchten Klassenh
225. dem Gegenstandsbegriff zum Lieferschein in diesem Block Alle diese Begriffe stehen also in der Komponentenbildung zugrundeliegenden vollst ndigen Toleranzrelation Wegen der Reflexivit t von Toleranzrelationen steht jeder formale Begriff zu sich selber in Relation Wegen der Infimumsvertr g lichkeit stehen damit auch das globale Infimum als Infimum der Gegenstandsbe griffe zu Lieferkartei und Lieferschein und der Gegenstandsbegriff als Infimum von sich selber und dem Merkmalsbegriff zu Lieferscheine erstellen in Relation und damit wiederum alle formalen Begriffe dazwischen Nimmt man weiter die Zusammenfassung der Merkmalsbegriffe zu Bestellung annehmen und Bestellung bearbeiten an wie in den Bl cken des unverfeinerten Begriffsbands immer der Fall so liegt nach Hilfssatz 15 auf Seite 115 das globale Supremum als Supremum der beiden zugeh rigen Merkmalsbegriffe im selben Block Damit stehen auch der Gegenstandsbegriff zum Bestellposten als Infimum der Merkmalsbegriffe zu Be stellung annehmen und Lieferscheine erstellen und der Merkmalsbegriff zu Lie ferscheine erstellen als Infimum des globalen Supremums und sich selbst in Re lation Weiter stehen dann der Gegenstandsbegriff zum Bestellposten als Infimum von sich selbst und dem Merkmalsbegriff zu Lieferscheine erstellen und der Merkmalsbegriff zu Lieferscheine zuordnen als Infimum des Merkmalsbegriff zu Lieferscheine erstellen und sich selbst in Relation Aus Hilfssatz 15 bekommt
226. den Elemente ein Diese lassen sich in der zweidimensiona len Grundmenge schlechter charakterisieren als in den zuvor betrachteten H llenalgorithmen Beim Verk rzen von R auf vor k liegende Elemente in 810 11 d rfen in der Kreuztabelle keine Kreuze gel scht werden die schon in der originalen Inzidenzrelation enthalten waren Deshalb wird J noch einmal R zugeschla gen In 810 12 bis B10 18 werden Kreuze bis zur n chsten umfassenden 295 B 4 Berechnung von Blockzerlegungen Blockrelation erg nzt Vergl Lin 99 3 9 F r eine Laufzeitabsch tzung ist wichtig wie oft die Schleife von B10 12 bis 810 18 durchlaufen wird In ihr werden Kreuze in der Relationstabelle erg nzt die noch nicht in der Inzidenzrelation des Ausgangskontext enthalten waren Sol che Erg nzungen k nnen h chstens G M Z mal vorgenommen werden So erh lt man eine Laufzeitabsch tzung von O n logn S wenn n max G M und BK die Menge der Blockrelationen von G M I ist Werden in B10 15 oder B10 17 Kreuze vor der Stelle z s erg nzt kann die H llenberechnung abgebrochen werden Dies erscheint lohnend weil die H llen berechnung sehr aufwendig ist Ein solcher Abbruch kann analog zu Algorithmus B8 vorgenommen werden Deshalb ist diese L sung hier nicht noch einmal darge stellt In der vorgenommenen Implementierung ist der Abbruch vorgesehen und auch die Erg nzung von Kreuzen anders vorgenommen
227. dene Schwerpunkte Einige betrachten nur die Modellierungskonzepte als prim r andere legen auch gro en Wert auf ihre spezifische Notation oder ihr eigenes Vorgehensmodell Eine vollst ndige Methode mu alle drei Aspekte ber cksichtigen Zun chst sollen die verschiedenen involvierten Modellierungskonzepte beleuchtet werden Mit der Unified Modeling Language UML BJR 99a bildet sich f r die sen Aspekt und die Notation von Modellen gegenw rtig ein Standard aus 1 Das urspriingliche Ansinnen der Autoren der UML war eine Unified Method Projekttitel bis zur Version 0 9 zu erstellen die Modellierungskonzepte Notation und Vorgehensmodell umfaBt Ab der Version 1 0 wurde das Projekt unter dem Titel Unified Modeling Language weitergef hrt und die Anstrengungen auf die Standardisierung der Konzepte und der Notation konzentriert Die Intention eine komplette Methode inklusive Vorgehensmodell als Standard zu etablieren erschien zun chst wohl doch zu ambitioniert Inzwi schen gibt es auch Publikationen zu einem Unified Process z B Kre 99 BJR 99b Jac 99 34 2 Objektorientierte Anwendungsentwicklung Hier soll die Notation der UML in der Version 1 1 nach BJR 97 verwendet wer den Auf die verschiedenen Modellierungskonzepte und Notationen der oben auf gelisteten Methoden wird nicht vertiefend eingegangen Die UML bietet einen Kompromi der Modelltypen und Notationen von Grady Booch James Rumbaugh und Ivar Jacobs
228. denen Rol len auf und unterteilt sich die Klasse dementsprechend in verschiedene Teile so ist diese Unterteilung auch bei der Zuordnung von Operationen und involvierten At tributen zu beobachten Aber selbst Klassen die als monolithischer Block behan delt werden k nnen Operationen enthalten die nicht alle Attribute betreffen Ge m dem Modularisierungsaspekt von Klassen sind Operationen n mlich typi scherweise so kleine funktionale Einheiten da sie direkt umgesetzt werden Kom plexe Funktionen werden in kleine Operationen zerlegt die dann auch noch verschiedenen Klassen zugeteilt werden k nnen Wie in 2 2 2 auf Seite 25 erl u tert wird die Systemfunktionalit t erst durch das Zusammenspiel aller Objekte er bracht So werden im JWI Beispiel die Dinge Lieferant Lagerbestand und Produkt zu einem Begriffsumfang zusammengefa t Gegenstandsbegriff zu Lieferant und es macht auch durchaus Sinn die ersten beiden als Attribute von Produkt aufzufas sen Der Begriffsinhalt des Begriffs besteht aber aus den allgemeinen Anwen dungsf llen Fehlbest nde nachbestellen und Wareneingang bearbeiten die Pro dukt benutzen aber schwerlich als Operationen einer Klasse Produkt zu verstehen sind Dieser Begriff bleibt bei der beispielhaft durchgef hrten Zerlegung aller An wendungsf lle genauso erhalten Der spezifische Anwendungsfall Zagerbestand ermitteln der gut als Operation einer Klasse Produkt zu deuten ist benutzt nur das potentie
229. der Benutzungsbeziehungen innerhalb einer Klassenbibliothek Vog 96 S 115 Denkbar ist nat rlich auch die gleichzeitige Betrachtung verschiedener formaler Kontexte um verschiedene Aspekte eines Modells auszudr cken Zu be achten ist da sich mit ge nderter Semantik des Kontexts nat rlich auch die Be deutung der entstehenden formalen Begriffe ndert 1 6 2 Formale Gegenst nde und Merkmale in BASE Eine nat rliche Modellierung von Klassen mit Formaler Begriffsanalyse behan delt Objekte als formale Gegenst nde und ihre Eigenschaften etwa Attribute und Operationen als formale Merkmale Dies w rde aber mit der Betrachtung der 16 1 Einleitung einzelnen Objekte eine Analyse auf Instanzenebene verlangen Deshalb wird in BASE ein anderer Ansatz verfolgt Als formale Gegenst nde werden hier Dinge des Untersuchungsbereichs und als formale Merkmale Anwendungsf lle und sp ter Funktionen des zu entwickelnden Systems betrachtet Die dabei entstehen den formalen Begriffe fassen in ihrem Umfang also Datenelemente und in ihrem Inhalt Funktionen zusammen Ihr Umfang hat keine wirklich extensionale Bedeu tung Dieser Ansatz erlaubt aber eine Analyse auf der Schemaebene M O 92 S 75 During Object Structure Analysis the analysis team is more intent on iden tifying the types of objects than identifying the individual objects in a System W N 95 S 161 In object oriented analysis we are not concerned with objects p
230. der Schnittstelle lokal bleiben Entit tsobjekte modellieren Information die das System lange auch ber Aus f hrung eines Anwendungsfalls hinaus h lt Sie entspringen zum einen dem er sten Klassenmodell zum anderen aber auch den Anwendungsf llen In der Regel modellieren sie Begriffe des Untersuchungsbereichs Information die immer nur in Zusammenhang mit anderer Information angesprochen wird sollte meistens als Attribut und nicht als eigene Klasse modelliert werden Funktionalit t die den bis herigen Klassen nicht angemessen zugeordnet werden kann wird in neuen Kon trollklassen geb ndelt In einem ersten Ansatz teilt man jedem Anwendungsfall eine solche Kontrollklasse zu Wenn jedoch die gesamte im Anwendungsfall ange sprochene Funktionalit t auf Schnittstellen und Entit tsklassen aufgeteilt ist kann diese Klasse sofort wieder entfallen Andererseits kann die von der Kontrollklasse angebotene Funktionalit t sehr komplex sein Dann wird sie nach dem Bezug zu verschiedenen Aktoren bzw logischen Gesichtspunkten auf mehrere Klassen auf geteilt Beschrieben werden alle Klassen durch ihre Rollen und Verantwortlichkei ten Zu beachten ist da jeweils nur ein Anwendungsfall betrachtet wird Spielt eine Klasse in mehreren Anwendungsf llen eine Rolle ist ihre Beschreibung den neu hinzukommenden Verantwortlichkeiten anzupassen Treten dabei Widerspr che auf mu die Klasse aufgespalten werden In der OBA Object Behavior
231. der jeweiligen Ordnung als Index benutzt Bir 67 1 4 S 6 3 Formale Begriffsanalyse Die Ordnungsrelation eines Verbands V lt kann nach Hilfssatz 1 mit Hilfe von Infima oder Suprema beschrieben werden Damit ist die Struktur von V lt allein durch die Abbildungen A v V gt y gegeben und V lt ist eine universelle Algebra V A V Folgerung 1 Ketten als Verb nde Jede linear geordnete Menge X lt ist ein Verband Beweis Je zwei Elemente x y X sind vergleichbar und es ist x A y das klei nere von beiden und x v y das gr ere Bemerkung 3 Null Einselement endliche Verb nde In der Definition eines vollst ndigen Verbands V lt ist insbesondere die Existenz von AV und 1 VV verlangt Damit ist ein vollst ndiger Verband nicht leer Jeder endliche nicht leere Verband ist vollst ndig denn per Induktion be kommt man mit Hilfssatz 2 c Infima und Suprema beliebiger endlicher Mengen in einem Verband Bir 67 1 4 S 6 Beispiel 2 Die Ordnungen aus Beispiel 1 a R lt ist linear geordnet also nach Folgerung 1 ein Verband aber kein vollst ndiger Verband denn es gibt kein kleinstes und kein gr tes Ele ment also keinxe R mitx AR oderx VR b 0 9 lt und 1a z lt sind dagegen als nichtleere endliche Verb nde vollst ndig c 0 9 Ufa z S U Sa ist kein Verband weil es etwa kein xe 0 9 Uf a z mit x 0a gibt d PA C i
232. der supremum irreduzibel wenn v lt v sonst V reduzibel oder supremum reduzibel IG W 96 0 2 Definition 11 S 7 3 Formale Begriffsanalyse Betrachtet man zu einem Element v eines vollst ndigen Verbands V lt alle echt gr eren Elemente und bildet das Infimum von diesen so kommt man auf v selber wenn v A reduzibel ist v l t sich dann als Infimum anderer Elemente darstellen oder ist das globale Supremum 17 Ist dagegen v A irreduzibel so ergibt die be schriebene Infimumbildung ein Element v v und dieses v ist der einzige obere Nachbar von v Dual ist ws der einzige untere Nachbar f r ein V irreduzibles Ele ment w Im Liniendiagramm endlicher Verb nde treten also die Verzweigungen nach oben genau an den A reduziblen und nach unten genau an den V reduziblen Elementen auf Ausnahme 1p bzw Oy 1 ist immer A reduzibel hat aber nat r lich keine Verzweigung nach oben und dual Oy ist immer V reduzibel Bezieht man Irreduzibilit t auf allgemeine Verb nde so ist eine andere Formu lierung naheliegend Garret Birkhoff bezeichnet ein Element v eines beliebigen Verbands V lt als A irreduzibel mit kleinem A wenn f r alle x y V gilt xAyY v gt x vodery v Dual ist dann v als v irreduzibel mit kleinem v erkl rt wenn f r alle x ye V gilt xVy v gt x vodery v Bir 67 111 3 S 58 Die in Definition 10 beschriebene Eigenschaft ist st rker denn ist v A irreduzibel und sind x y gt v
233. deren Struktur sp tere n 22 2 Objektorientierte Anwendungsentwicklung derungen erschwert oder sogar innerhalb eines vertretbaren Aufwands unm glich macht BASE nimmt trotzdem die Idee der funktionalen Zerlegung auf vermeidet jedoch die erw hnten Nachteile dieser Methode Der abschlie ende Abschnitt 2 2 3 erl utert den wesentlichen Vorteil einer objektorientierten Vorgehensweise gegen ber den traditionellen Entwicklungsparadigmen 2 2 1 Exkurs Funktionale Zerlegung Traditionell betrachtet man bei der Systementwicklung im wesentlichen zwei Sich ten Auf der einen Seite verwaltet ein System Daten F r diese Datenverwaltung sind in der Entwicklung geeignete Beschreibungen der Daten die Datenstruktu ren bereitzustellen Auf der anderen Seite sind die Funktionen zu modellieren die das System auf seinen Daten ausf hrt vergl z B SADT Ros 77 Ein sol ches Verst ndnis von Software Systemen wird unter der berschrift Algorithmen und Datenstrukturen eingeimpft angehenden Informatikern schon in der Grundausbildung Fr her wurden dabei das Daten und das Funktionsmodell weitgehend unabh ngig voneinander erstellt Das Paradigma war die schrittweise Verfeinerung Wir 83 Dieses Vorgehen spiegelt eine nat rliche und immer wiederkehrende Vorgehens weise des allt glichen Lebens dar und bietet so ein naheliegendes Abstraktions und Entwicklungskonzept Man unterteile ein zu l sendes Problem sukzessive in Teilpro
234. die Elementanzahl von X ist um labe x x faBt px I Implikationen von de nen viele uninteressant sind Einige die Abb 3 8 Implikationen auf a b c ser uninteressanten Exemplare charakte risiert der folgende Hilfssatz Hilfssatz 6 _ Triviale Implikationen Ist X eine Menge und V W c X mit Wa V dann gilt V gt W in P X G W 96 2 3 S 81 Beweis Ist Re P X und VCR soistauch WCVCR 93 3 4 Implikationen Eine Implikation V W bei der die Pr misse die Konklusion umfa t gilt also in jedem denkbaren Mengensystem Xc P X Interessant sind nur Implikationen deren Konklusion gegen ber der Pr misse auch etwas Neues bringt Definition 25 Informative Implikation Ist X eine Menge so hei t eine Implikation V gt W auf X informativ wenn Wad G D 86 S 9 Beispiel 9 Informative Implikationen aus Beispiel 8 In Beispiel 8 sind g ltig und informativ a b gt a b gt a b c 3 a c a c b ch a b c gt a b b c 5 a c b c gt a b c Einige Implikationen k nnen aus anderen abgeleitet werden z B transitiv siehe Hilfssatz 8 auf Seite 95 Eine solche logische Ableitung kann wie folgt formali siert werden Definition 26 Semantisch folgen vollst ndige Implikationenfamilie Sei X eine Menge V gt W Y gt Z Implikationen auf X und 3 R c PX Implikationenfamilien Dann folgt V gt W semantisch aus 3 wenn jede Menge aus P X die 3 respektiert auch V gt W
235. diesem Beispiel werden aber auch die Grenzen dieses berpr fungsansatzes klar Um die Anzahl der berpr fungsfragen zu minimieren und Redundanz in ih nen auszuschlie en wird nur die Duquenne Guigues Basis der Gegenstandsimpli kationen betrachtet Gibt es unter allen g ltigen Gegenstandsimplikationen des zu grunde liegenden formalen Kontexts eine fachlich unzutreffende so enth lt die Ba sis eine Implikation die ebenfalls fachlich nicht haltbar ist Da die in der Basis enthaltenen unzutreffenden Implikationen gerade die Formulierung der berpr fungsfragen liefern die f r Entwickler und Fachexperten die eing ngigste ist um den fachlichen Mangel des Modells zu erkennen ist jedoch nicht gesagt Die Implikation Nachbestellung Lieferant Maximalbestand die hier den Hinweis lieferte da die Zerlegung noch unvollst ndig war ist z B kein Element der Duquenne Guigues Basis zum Begriffsverband in Abbildung 4 18 Sie folgt je doch aus den Implikationen Nachbestellung gt Produkt Nachbestellmenge Lieferant gt Produkt Lagerbestand und Produkt Lagerbestand Nachbestellmenge Vorgemerkte Menge Minimalbestand Maximalbestand die alle in der Basis zum Begriffsverband in Abbildung 4 18 enthalten sind Ablei tung der Implikation nach Hilfssatz 12 auf Seite 99 und Hilfssatz 8 auf Seite 95 Von diesen sind die ersten beiden ebenfalls fachlich unzutreffend Dies kann man 156 4 BASE ein begriffsbasiertes Analy
236. dlung 7 2 3 Analysemetriken 7 2 4 Verbindung mit anderen Analyseverfahren A Mathematische Details A l Ordnungstheoretische Grundlagen A 1 1 Isomorphismen A 1 2 H llensysteme A 2 Implikationen A 3 Blockrelationen A 4 Gegenstands und Merkmalsordnung B Algorithmen zur FBA B 1 Berechnung von H llensystemen B 1 1 Potenzmengenaufz hlung in lektischer Ordnung B 1 2 H llenbestimmung B 1 3 Ganters H llenalgorithmus B 2 Berechnung eines Begriffsverbands B 2 1 Berechnung der formalen Begriffe B 2 2 Berechnung der Verbandsstruktur B 2 3 Zuordnung der Diagrammbeschriftung B 3 Berechnung der Duquenne Guigues Basis B 4 Berechnung von Blockzerlegungen B 4 1 Erzeugung der Blockrelationen B 4 2 Erzeugung der Blockzerlegungsdiagramme B 4 3 Experimente zur Anzahl interessanter Blockrelationen B 5 Automatisches Zeichnen von Diagrammen B 5 1 Additives Zeichnen B 5 2 Nachbehandlung von Infimum oder Supremum B 3 3 Ausrichtung nach einem bestehenden Diagramm 243 243 244 245 246 246 247 247 248 249 250 253 253 253 255 256 263 274 275 276 276 278 279 281 281 284 286 287 293 293 296 301 305 305 307 313 Beispielsystem f r BASE JWI Inc Klassendeklarationen D 1 CUsecaseAngaben D 2 CBASEDoc D 3 CBASEView Abbildungsverzeichnis Abk rzungsverzeichnis Index Literatur Lebenslauf Inhaltsverzeichnis 327 331 331 336 338 343 349 351 357 371 Inha
237. dnet werden kann gt Einf gen einer neuen Klasse e Assoziationen gleichen Namens und gleicher Bedeutung von einer Klasse zu mehreren anderen gt Einf gen einer neuen Oberklasse e Rollen innerhalb von Assoziationen die die Semantik der betreffenden Klassen schon allein beschreiben gt Umwandeln der Assoziation in eine Klasse Hat dagegen eine Klasse keine Attribute Operationen und Assoziationen ist es fraglich ob sie berhaupt gebraucht wird Wirfs Brock schl gt vor die Anforderungsbeschreibung nach Substantiven zu durchsuchen Diese klassifiziere man in offensichtliche Klassen Kandidaten die offensichtlich keine sinnvollen Klassen abgeben und Kandidaten f r die eine Ent scheidung nicht ohne weiteres getroffen werden kann Klassenkandidaten sollten eine Abstraktion von Dingen des Untersuchungsbereichs bilden und es sollte leichtfallen ihre Bedeutung und ihren Zweck klar zu formulieren Insbesondere ist folgendes zu beachten e Materielle Dinge ergeben Klassenkandidaten e Bei Synonymen ist dasjenige zu w hlen welches f r die Systemteile au erhalb des betrachteten Klassenkandidatens das aussagekr ftigste ist e Ergibt sich durch den Zusatz eines Adjektivs ein ge ndertes Verhalten so erh lt man eine neue Klasse ansonsten nicht e Bei S tzen im Passiv ist auch das implizite Subjekt zu betrachten 51 2 6 Identifikation von Objekten und Klassen e Kategorien von Klassen sollten als eigene Klassen model
238. e protected virtual BOOL SaveModified Gibt die M glichkeit ver nderte Daten vor dem Schlie en der Anwendung zu speichern Bleiben danach noch nicht gespeicherte nderungen ist der R ckgabewert FALSE sonst TRUE afx_msg void OnFileNew Legt ein neues Projekt an afx_msg void OnFileSaveAs D Klassendeklarationen Erm glicht das Speichern des Projekts unter neuem Dateinamen afx_msg void OnFileSave Speichert das Projekt unter einem schon vorhandenen Dateinamen Ist kein Dateiname zugeordnet wie lt OnFileSaveAs gt afx_msg void OnDiagrammLoeschen L t den Benutzer ein Diagramm aus der Projektdatei ausw hlen und l schen afx_msg void OnBearbeitenUsecases ffnet den Anwendungsfall Editor zur Eingabe und Ver nderung der Anwendungsfalldaten afx_msg void OnDiagrammAuswaehlen L t den Benutzer ein Diagramm aus der Projektdatei ausw hlen afx_msg void OnBearbeitenUeberpruefen St t die Anzeige von berpr fungsfragen an Der Benutzer entscheidet ob anhand von Dingen oder Funktionen untersucht werden soll afx_msg void OnBearbeitenKomponenten Startet oder beendet die Anzeige von Blockrelationsdiagrammen afx_msg void OnKomponentenmodellWaehlen L t den Benutzer ein Blockrelationsdiagramm ausw hlen Zur Auswahl stehen die Blockrelationen zu dem zuletzt betrachteten Nicht Blockrelations Diagramm af
239. e stellungen der Einzelh ndler auflaufen also eine Abh ngigkeit der beiden betrach teten Anwendungsf lle ergeben f hrt direkt dazu die in 4 3 1 auf Seite 149 darge stellte Korrektur der Indizierung vorzunehmen In dieser Weise k nnen Gegenstands und Merkmalsimplikationen dazu dienen das erstellte Modell zu berpr fen Dr ckt eine Implikation einen fachlich unzu treffenden Sachverhalt aus so wurde ein Fehler der Indizierung aufgedeckt oder bei einer Gegenstandsimplikation ein neuer Anwendungsfall eine neue Funktion bzw bei einer Merkmalsimplikation ein neues Ding identifiziert 4 4 2 Konsistenzpr fung anhand von uses Beziehungen Au erhalb der Mittel der Formalen Begriffsanalyse bietet sich eine Konsistenzpr fung funktional verfeinerter Modelle an Wurde bei der groben Modellierung der Anwendungsf lle eine uses Beziehung zwischen zwei Anwendungsf llen atte stiert so mu der benutzte Anwendungsfall in der funktionalen Zerlegung des benutzenden auftauchen 4 5 Klassenkandidaten im Liniendiagramm Durch das Vorgehen wie in 4 2 und 4 3 wurden Liniendiagramme erstellt die Datenelemente Funktionen und deren Abh ngigkeiten wiedergeben Daten und funktionale Sicht wurden aufgef chert In einem objektorientierten Modell werden Datenelemente und Funktionen zu Klassen als Einheiten zusammengestellt Diese Aufgabe obliegt nun dem Entwickler Ihn bei dieser Aufgabe zu unterst tzen ist das zentrale Anliegen von BASE
240. e des Diagramms Wie in 4 2 4 auf Seite 137 ausgef hrt ergibt sich von oben nach unten die funktio nale Zerlegung des Systems Die am weitesten spezialisierten kleinen Funktionen die am eindeutigsten sp teren Klassen zugeordnet werden k nnen stehen unter den bergreifenden allgemeineren Anwendungsf llen Dual f chert sich das Dia gramm von unten anhand der Datensicht auf das System auf Wie in 4 2 4 auf Seite 140 erl utert stehen die anwendungsfall bergreifend interessanten Dinge unten und ber ihnen folgen die in spezielleren Zusammenh ngen zu betrachten den Dinge Die Spezialisierung der beiden Sichten verl uft im Diagramm in ent gegengesetzten vertikalen Richtungen In der Mitte treffen sich die speziellsten Funktionen mit den speziellsten Dingen Diese lassen sich am einfachsten in ein deutiger Weise einander zuordnen wobei erst einmal dahin gestellt sei ob die ent sprechenden Dinge zu Klassen oder Attributen werden Im Sinne der Diskussi on unter 4 5 1 ist zu erwarten da es sich vor allem um Attribute handeln wird Erbringt die Untersuchung der Dinge im unteren Diagrammbereich nach 4 2 4 auf Seite 140 keine brauchbaren Klassenkandidaten denen in einer top down Stra tegie danach noch Attribute und Operationen zuzuordnen sind so kann in der Mitte des funktional verfeinerten Diagramms nach Knoten gesucht werden die gleichzeitig mit Funktionen und Dingen beschriftet sind Ausgehend von diesen Einheit
241. e Gegenstands begriffe der Attribute im Hauptfilter des Gegenstandsbegriffs der Klasse enthalten Definition 5 auf Seite 66 Legt man andersherum ein Attribut einer Klasse fest das im Diagramm nicht oberhalb der Klasse vorkommt gemahnt das Diagramm zu einer Untersuchung ob diese Modellierung gerechtfertigt ist Es ist dann nachzu fragen ob die Klasse nur bei der Indizierung nicht beachtet wurde aber eigentlich immer mitbetroffen ist oder ob das Attribut in einigen Anwendungsf llen wirklich als eigenst ndig behandelt wird Im zweiten Fall ist zu erw gen ob eine Modellie rung als eigene Klasse nicht vorzuziehen ist um die Eigenst ndigkeit herauszustel len In diesem Sinne hilft BASE auch diesen Aspekt bestehender oder im Aufbau befindlicher Modelle zu berpr fen 140 4 BASE ein begriffsbasiertes Analyseverfahren f r die Software Entwicklung Die oben erw hnte Annahme ber die Rolle von potentiellen Klassen und ihren At tributen bei der Indizierung mu nicht immer zutreffen Sie erscheint aber sinnvoll denn das Involviertsein eines Dings in einen Anwendungsfall bedeutet oft eine Aktion die dieses Dings ver ndern kann Handelt es sich dabei um ein Attribut einer Klasse wurde mit dem entsprechenden Attributwert auch das betreffende Objekt ver ndert womit die Klasse auch betroffen ist Andersherum k nnte man argumentieren da eine Klasse immer alle ihre Attribute umfa t und so diese auch immer mit der Klasse zusammen
242. e Zeile pa t mu er dessen L nge kennen er schickt also diesem Wort eine Nachricht und fragt nach seiner L nge Das Wort wiederum fragt seine Zeichen nach ihrer L nge und addiert die ermittel ten Werte Mit dem Ergebnis kann der Paragraph entscheiden ob das Wort in die angefangene oder eine neue Zeile mu Entsprechend setzt er die horizontale und vertikale Position Diese bermittelt er dem Wort das sie wiederum an seine Zei chen weitergibt Jedes einzelne Zeichen stellt sich an der bergebenen Position dar Genauso berechnet der Paragraph aus der Wortl nge die horizontale Position des n chstes Wortes in der selben Zeile 1 Lange angeben 2 Lange angeben Paragraph Wort Zeichen 3 zeichnen int int 4 zeichnen int int Abb 2 1 Nachrichten zwischen Objekten eines Textverarbeitungssystems In Anlehnung an die Terminologie f r verteilte Systeme bezeichnet man das Ob jekt das von einem anderen eine Leistung zu verlangt als Client Objekt und das Objekt das die Leistung erbringt als Server Objekt Um von einem anderen Ser ver Objekt einen Dienst zu verlangen schickt ihm das Client Objekt eine Nach richt Nach dem Prinzip der Datenkapselung bedeutet das da es beim Server Ob jekt eine Operation aufruft Schon das kleine Beispiel zeigt da die Rollen von Client und Server nicht festge legt sind Zuerst geht eine Nachricht zur L ngenermittlung vom Paragraphen zum Wort so da
243. e alle paarweise in Relation stehen sollen Die denkbare duale Definition ber a ergibt die gleichen Mengen 117 3 5 Blockrelationen Hilfssatz 17 Duale Blockdefinition Seien V ein vollst ndiger Verband und eine vollst ndige Toleranzrelation auf V Dann gilt f r alle ae V da aay 6 de und a o a G W 96 3 4 S 121 Beweis Nach Hilfssatz 16 gilt ag O ao Also ist ag e Alxe V xO ap lt ag Weiter gilt nach Hilfssatz 16 ao al e a ag undas ao Deshalb ist nach der Infimumsvertr glichkeit von a a ae ag A lag o ae e Damit ist ag A xe V xOa lt ao o Insgesamt gilt de je d a o a zeigt man dual Weil also alo ao ao ao o ao ao und andersherum a a o gilt ergeben sich durch die m gliche duale Definition die selben Bl cke Die Bl cke einer Toleranzrelation brauchen nicht disjunkt sein und k nnen sich berkreuzen Bemerkung 11 Bl cke nicht disjunkt Die Bl cke einer vollst ndigen Toleranzrelation auf einem vollst ndigen Verband V brauchen nicht disjunkt zu sein F r a b V gilt alo n blo amp a lt bo und bo lt ao Beweis Siehe Anhang A Seite 273 Die unteren und oberen Intervallgrenzen der Bl cke sind gleich geordnet Hilfssatz 18 Untere und obere Intervallgrenzen von Bl cken Seien V ein vollst ndiger Verband eine vollst ndige Toleranzrelation auf V
244. e f r eine System zerlegung in Klassen und Komponenten generieren lassen Die Entwicklungsumgebung verbirgt die mathematischen Strukturen bis auf das Liniendiagramm v llig vor dem Benutzer so da die Anwendung der vorgestellten Methode keine Kenntnis einer neuen Modellierungssprache erfordert Deshalb ist der Mehraufwand gegen ber herk mmlichen Methoden gering Damit bietet das Vorgehen eine Modellierung von Klassen in dem es den Diskurs zwischen Fachexperten und Entwicklern und die Modellierung durch gewohnte funktionale Zerlegung unterst tzt Dies ist besonders wertvoll wenn der Untersu chungsbereich den Entwicklern v llig fremd ist 1 7 Aufbau der Arbeit In Kapitel 2 werden die grundlegenden Konzepte der objektorientierten Modellie rung sowie einige bekannte Entwicklungsmethoden zusammengestellt Dies dient in seiner Breite vor allem der Vorbereitung des folgenden f r den nicht mit den Ideen und Verfahren der objektorientierten Software Entwicklung vertrauten Le ser Als speziell interessante Punkte werden in 2 3 1 der Zusammenhang zwischen Klassen und dem hier verwandten Begriffsverst ndnis untersucht in 2 5 die in BASE bernommene Anwendungsfall getriebene Analyse nach Jacobson dargestellt in 2 6 die Antworten der herk mmlichen Verfahren auf die Frage beleuchtet wie Klassen in der Analyse identifiziert werden k nnen 18 1 Einleitung Kapitel 3 befa t sich mit der Formalen Begriffsanalyse FBA Nach ei
245. e gt aus der Projektdatei TLineDiagram getOriginalDiagrammZuBlockrelation TLineDiagram blockrel Ermittelt das Diagramm zu dem das Blockrelationsdiagramm lt blockrel gt berechnet wurde end CBASEDoc D3 CBASEView struct TextZeichnungsDaten Daten f r die Ausgabe einer Beschriftung TOAC element Referenzierter formaler Gegenstand oder referenziertes formales Merkmal CFont font Schriftart COLORREF farbWert Zeichenfarbe CSize boxGr Textausdehnung in Zeichenbereichskoordinaten int posX int posY Textposition in Zeichenbereichskoordinaten end TextZeichnungsDaten class CBASEView public CScrollView Zur Darstellung von Liniendiagrammen protected CBASEView Konstruktor setzt die Attribute auf Standardwerte public virtual CBASEView Destruktor l scht die Zeichnungsdaten Attribute private int randX randY Randangaben in Zeichenbereichskoordinaten BOOL zentrieren Soll das anzuzeigende Diagramm zentriert werden TLineDiagram aktuellesDiagramm angezeigtes Diagramm des schnelleren Zugriffs und besser lesbaren Codes halber gegen ber lt CBASEDoc gt zus tzlicher Zeiger double koordFaktor 338 D Klassendeklarationen Umrechnungsfaktor Diagrammkoordinaten gt Zeichenbereichskoordinaten int ursprungX ursprungY 0 0 bzgl Diagrammkoordinaten in Zeichenbereichskoordinaten int xMin xMax yMin yMax Extreme Zeic
246. ef llte Rechtecke Der nebenste Anwen G ti hende formale Check Valische Bereichs dungsfall Kontext ent Listen Analyse analyse getriebene Analyse stand aus der Booch 5 9 2 5 9 4 9 Untersuchung Coad Yourdon 5 2 5 der von ver Jacobson ST 5 a 8 schiedenen Au Martin Odell 3 7 2 7 toren vorge Rumbaugh 1 6 3 6 Shlaer Mellor 1 schlagenen a g Wirfs Brock 1 6 3 6 Techniken f r die Suche nach Abb 3 10 Formale Begriffe in der Kreuztabelle Klassenkandi daten vergl 2 6 ab Seite 48 Der bersichtlichkeit wegen ist hier nur ein Teil der in 2 6 ber cksichtigten Autoren erfa t Check Listen GX f Shlaer Mellor m Coad Yourdon Anwendungsfall getriebene Analyse Bereichsanalyse Grammatikalische Analyse Abb 3 11 Autoren und ihre Vorschlage zur Klassenidentifikation In der abgebildeten Kreuztabelle sind statt Kreuzen die auch im zugeh rigen Liniendiagramm benutzten Nummern der entsprechenden Begriffe in der fol genden Weise wiedergegeben Tabellenzellen die normalerweise ein Kreuz 111 3 5 Blockrelationen erhalten h tten enthalten die Nummern aller Begriffe zu denen sie beitra gen d h da das formale Merkmal der entsprechenden Tabellenspalte im In halt und der formale Gegenstand der Tabellenzeile im Umfang des Begriffs enthalten ist Zu jeder aufgef hrt
247. egen stand betrachteten Klasse ihre Attribute und Operationen als formale Merkmale zugesprochen Aus dem so erstellten formalen Kontext gewinnt man einen Be 224 6 Verwandte Anwendungen von FBA griffsverband dessen Begriffe in ihrem Umfang solche Klassen zusammenfassen die gemeinsame Attribute und Operationen besitzen Insofern ist dieser Ansatz dem von BASE hnlich als bei BASE unter den formalen Gegenst nden auch noch nicht identifizierte Klassen auftauchen und die Operationen von Klassen ebenfalls unter den formalen Merkmalen zu finden sind Attribute zu Klassen wer den aber anders behandelt Wichtigster Unterschied ist da Godin et al ihre Ana lyse von der statischen Struktur eines Klassenmodells her unternehmen w hrend f r BASE die Informationen ber den Ablauf der Anwendungsf lle den Ausgangs punkt der Analyse bilden Abbildung 6 2 zeigt einen Ausschnitt der Klassenhierarchie der ISE Eiffel Kernel Bibliothek Mey 92 Ausgehend von der Klasse ARRAY2 f r zweidimensionale Felder wurden alle Oberklassen aufgenommen Die Verbandsordnung bestimmt ei nen Vorschlag f r die Vererbungshierarchie der Klassen Jeder formale Begriff ent spricht einer Klasse dieser Hierarchie Durch die reduzierte Beschriftung des Lini endiagramms siehe 3 3 4 auf Seite 86 sind zu jeder Klasse am entsprechenden Diagrammknoten genau die selber eingef hrten und nicht ererbten Attribute und Operationen zu sehen die ererbten bekommt man durc
248. egen zutreffend J Bausteinzerlegungen anhand von Blockrelationen untersuchen l Klassenkandidaten unter den Dingen bestimmen Neue Anwendungsf lle identifiziert Abb 4 39 Grobanalyse Untersuchung der Anwendungsf lle Die ersten beiden der oben aufgef hrten F lle f hren sofort zu einer neuen Indizie rung im formalen Kontext Bei der Identifikation von neuen Anwendungsf llen ist vorgesehen zun chst die Zerlegung via Blockrelationen und die Betrachtung von Klassenkandidaten unter den Dingen anhand des unver nderten Kontexts vorzu nehmen Ma geblich daf r ist die berlegung da das Modell ohne die neuen identifizierten Anwendungsf lle einfacher ist Dennoch kann man unterstellen da die bisherige Auswahl der betrachteten Anwendungsf lle schon eine gute ber sicht ber die Systemfunktionalit t liefert Deshalb k nnen im urspr nglichen Kontext aufgedeckte Strukturen insbesondere Komponentenzerlegungen auch f r die weitere Entwicklung hilfreich sein sind aber eventuell im sp teren kompli zierteren Modell nur schwer aufzudecken vergl 4 6 auf Seite 169 Nat rlich ist 184 4 BASE ein begriffsbasiertes Analyseverfahren f r die Software Entwicklung es auch m glich die neuen Anwendungsf lle direkt zu ber cksichtigen insbe sondere bei einem noch kleinen und berschaubaren Begriffsverband Aus Gr n den der bersichtlichkeit ist diese M glichkeit nicht in A
249. ein solcher exi stiert B13 58 bis B13 60 In jedem Fall kann der bearbeitete Knoten in B13 65 als angeordnet markiert werden Dual kann die Identifikation der alten und neuen Begriffsknoten auch ber die Begriffsumf nge hergestellt werden Diese Zuordnung wird dann analog zu B13 6 durch eine Anweisung knr nr Ve g 3 H N J gE 324 B Algorithmen zur FBA umgesetzt Bei mehreren Zuordnungen wird der niedrigere neue Knoten gew hlt und die berpr fung der Verbandsordnung verl uft von unten nach oben Das bedeutet da die Kanten und Knoten in gegen ber oben umge kehrter Reihenfolge durchlaufen werden und sich die Rollen von Filtern und Idealen vertauschen F r die Laufzeitabsch tzung sei wie in Algorithmus B11 angenommen da die Operationen ideal filter und lt konstanten Aufwand verursachen Dies ist der Fall wenn die reflexiv transitive H lle schon vorberechnet ist bei der Erstel lung des Liniendiagramms geleistet siehe B 2 2 und sie wie zu Algorithmus B2 erl utert zeilen und spaltenweise redundant als Bit Arrays gespeichert wird Wei ter werden die Mengenoperationen wieder als in logarithmischer Zeit durchf hrbar angenommen Sei wie oben B G M D n B H N D k und r die Anzahl der Kanten des Liniendiagramms zu 3 H N J F r eine Laufzeitabsch tzung ist die Komplexit t der Infimumsbestimmung in B13 6 zu betrachten Anhand von Algorithmus B11 auf Seite 297 ist diese i
250. eine ausf hrliche Ausarbeitung ratsam schien um die ent haltenen Gedankeng nge und Argumentationslinien klarer herauszubringen Defi nitionen Aussagen und Beweise die aus Lehrb chern bernommen wurden sind durch entsprechende Referenzen gekennzeichnet Stehen diese am Anfang von Be weisen beziehen sie sich auch auf die zugeh rigen Aussagen Referenzen der Form Vergl bezeichnen Stellen an denen nicht unerhebliche nderungen ge gen ber den zitierten B chern vorgenommen wurden Dies ist insbesondere bei der Behandlung von Implikationen der Fall weil die Formulierung von Implikationen gegen ber der zitierten Literatur ver ndert wurde Teile die keinen Literaturver 61 3 1 Begriffsverst ndnis weis enthalten sind h chsten implizit in der benutzten Literatur enthalten und sind deshalb neu entwickelt worden Im wesentlichen ist die gesamte Darstellung an G W 96 angelehnt 3 1 Begriffsverstandnis In der DIN 2330 werden Begriffe wie folgt eingef hrt Jeder Mensch lebt in einer Umwelt von Gegenst nden die einmalig d h zeitge bunden sind und deshalb individuelle Gegenst nde genannt werden Um die un berschaubare Menge der individuellen Gegenst nde die den Menschen begeg nen handhaben zu k nnen ist es notwendig die Gesamtheit der Gegenst nde f r Wahrnehmung und Verhalten zu strukturieren und zu ordnen Die gedankliche Zu sammenfassung von individuellen Gegenst nden zu gedachten allgeme
251. einfachend als von n abh ngig darstellbar angenommen f r die Berechnung des H llenoperators ist es wichtig die Mengenoperationen effizient umzusetzen Insbesondere ist die Schnittbildung entscheidend denn der Algorithmus benutzt Vereinigungen nur f r den Sonderfall da eine der beteiligten Mengen einelementig ist und die Abfrage auf das Enthaltensein eines Elements kann auch ber eine Schnittbildung umge setzt werden Implementiert man wie in The Formal Concept Analysis Library Mengen als Bitvektoren k nnen die Mengenoperationen effizient als bitweise lo gische Operatoren implementiert werden Sie haben dann logarithmischen Auf wand Die Basis des Logarithmus ist die Stellenanzahl des zur Speicherung ver wendeten Ganzzahltyps in The Formal Concept Analysis Library 32 Als Absch tzung f r die Komplexit t der Berechnung einer H lle erh lt man O n logn ho n und O n logn ho n Ug f r das gesamte H llen system An dieser Stelle sind die Gr en noch wenig aussagekr ftig weil ho n vollkommen unbekannt ist Es kann sogar sein da die Schreibweise ho n grob verk rzend ist weil der Aufwand zur Berechnung des H llenoperators wesentlich von anderen Einflu gr en abh ngt siehe z B B 3 auf Seite 292 Abgesehen von dem uninteressanten H llenoperator zu Potenzmenge ist aber zu erwarten da der Aufwand der H llenberechnung logn bersteigt so da der erste Summand ent f llt Die auf dem Weg zur l
252. eise gesteuert da anfangs freie Tabellenzellen sukzessive aufgef llt werden m ssen Aus dem Predesign Modell kann halbautomatisch ein objektorientiertes Modell in UML abgeleitet werden Die Identifikation von Klassen und Attributen wird in KCPM dabei anhand der Glossare zu Dingen und Beziehungen vorgenommen Die benutzten Regeln unterteilen sich in Gesetze die eine gewisse Modellierungs form vorschreiben und Empfehlungen f r eine Modellierungsm glichkeit Die wesentliche Idee ist da man ein semantisches Netz siehe Rei 91 aus den Ding Typen und Beziehungstypen betrachtet Innere Knoten dieses Netzes sind dann die Klassenkandidaten Die u eren Netzknoten die nur zu einem anderen Knoten eine Verbindung besitzen enthalten Kandidaten f r Attribute des Klassen kandidatens mit dem sie verbunden sind Special features x Agreement date Customer no Type of car ee st name en en Agreement no gt Last namen Identification no aa First name gt Rental tax h a PEER Address Rental tax d gt R Cc T date N GEN rs Bents date am Due date Special needs Number of miles een Loss damage _ start _ 2 4__N waiver 7 Feen Rental tax m gt Number of miles retum _ 7 Card holder Rental taxi Card type Card number Abb 7 1 Semantisches Netz aus Dingen und ihren Beziehungen Das Beispiel
253. ektisch n chsten H lle verworfenen W waren eventuell nicht die gesuchte n chste H lle k nnen es aber gewesen sein wenn sich f r ein kleine res k die selbe Menge ergibt aber auf jeden Fall waren sie H llen die irgendwann berechnet werden m ssen Christian Lindig schl gt deshalb in Lin 99 vor solche Zwischenergebnisse f r die weitere Auswertung in einem Cache zu speichern 280 B Algorithmen zur FBA Die Abfrage in B1 9 berpr ft ob der Ausgangsmenge durch den H llenopera tor ein Element mit einem Index kleiner als k zugeschlagen wurde Bei aufwendig zu berechnenden H llenoperatoren kann diese Bedingung auch schon w hrend ih rer Berechnung berpr ft werden um eventuell die Berechnung vorzeitig abzubre chen weil nicht sicher die lektisch n chste H lle bestimmt wird siehe Algorith mus B8 auf Seite 290 und Abschnitt B 4 1 auf Seite 296 F r die konkreten Anwendungen sind im folgenden prinzipiell nur noch die be treffenden H llenoperatoren einzusetzen B 2 Berechnung eines Begriffsverbands Nach Folgerung 3 auf Seite 83 bilden die Begriffsumf nge bzw inhalte zu einem formalen Kontext jeweils ein H llensystem Diese Systeme f r endliche Kontexte berechnen zu k nnen ist essentiell f r Anwendungen der Formalen Begriffsanaly se Mit den Begriffsumf ngen oder inhalten sind nach Definition 20 auf Seite 82 auch die formalen Begriffe eines Kontexts vollst ndig bestimmt Implizit ist damit auch die Verband
254. en MATH AL 15 1999 1999 B Ganter S O Kuznetsov Stepwise construction of the Dedekind MacNeille completion Proceedings ot the 6 International Confe rence on Conceptual Structures ICCS 98 Montpellier August 1998 R Godin H Mili Building and Maintaining Analysis Level Class Hierarchies Using Galois Lattices in A Paepcke Ed Procee dings of the ACM Conference on Object Oriented Programming Systems Languages and Applications OOPSLA 93 ACM Press Washington 1993 R Godin R Missaoui An incremental concept formation approach for learning from databases Theoretical Computer Science 133 S 387 419 1994 R Godin R Missaoui H Alaoui Incremental concept formation algorithms based on Galois concept lattices Computational Intel ligence 11 2 pp 246 267 1995 R Godin H Mili G W Mineau R Missaoui A Arfi T T Chau Design of Class Hierarchies based on Concept Galois Lattices Theory and Application of Object Systems TAPOS 4 2 pp 117 134 1998 A Goldberg D Robson Smalltalk 80 The Language and its Implementation corr Reprint Xerox Corporation Series in Com puter Science Addison Wesley Publishing Company 1983 G Gr tzer General Lattice Theory Second edition Birkh user Verlag Basel 1998 B Groh S Strahringer R Wille TOSCANA Systems based on the sauri in M L Mugnier M Chein eds Conceptual structures theory tools and applications LNAI 1453 Springer Verl
255. en sieht er eine Unterst tzung durch ein erstes Klassenmodell vor das aber nicht Basis der Software Entwicklung werden soll Es enth lt nur Klassen die in direkter Weise Dinge des Untersuchungsbereichs wie dergeben Um ein solches anzulegen verweist er auf die heuristischen Vorgehens weisen wie sie von Coad Yourdon oder Booch in Boo 91 beschrieben sind Die Klassen dieses ersten Modells bieten f r ihn das Vokabular f r die Diskussion zwi schen Entwicklern und Anwendern und die Beschreibung der Anwendungsf lle Die bevorzugte Reihenfolge ist aber Klassen aus den Anwendungsf llen abzulei ten Ist also das Anforderungsmodell mit Anwendungsfallbeschreibungen und Ent wurf der Benutzerschnittstelle erstellt geht es darum das eigentliche Klassenmo dell zu entwickeln Jacobson unterscheidet drei Arten von Objekten e Schnittstellenobjekte e Entit tsobjekte e Kontrollobjekte Schnittstellenobjekte bernehmen die Kommunikation des Systems mit seinen Be nutzern und anderen externen Systemen Man findet sie entweder 53 2 6 Identifikation von Objekten und Klassen e direkt im Entwurf der Benutzerschnittstelle e ausgehend von den Aktoren die mit dem System in Interaktion treten oder e in dem Teil der Anwendungsfallbeschreibungen der die schnittstellengebun dene Funktionalit t betrifft Funktionalit t die direkt an die Schnittstelle gebunden ist sollte Schnittstellen klassen zugeteilt werden damit sp tere nderungen
256. en Nummer bilden die sie enthaltenden Tabellenzellen nach entsprechenden Zeilen und Spaltenvertauschungen ein Rechteck das vollst ndig mit eben dieser Nummer also eigentlich einem Kreuz ausge f llt ist Die Nummern 0 und 10 von Supremum und Infimum tauchen nicht auf weil kein formaler Gegenstand alle formale Merkmale tr gt und dual kein formales Merkmal auf alle Gegenst nde zutrifft Die zugeh rigen Rechtecke haben f r das Supremum die Breite 0 und H he 7 bzw f r das In fimum die H he 0 und Breite 4 Die Idee der Blockrelationen ist es die urspr ngliche Kreuztabelle so aufzuf llen da gr ere Rechtecke entstehen So werden zum Umfang eines formalen Begriffs auch Gegenst nde hinzugenommen die nicht alle im Inhalt enthaltenen Merkmale tragen und umgekehrt Um die urspr ngliche Klassifikation der Gegenst nde und Merkmale nicht zu verf lschen d rfen bei diesem Auff llen keine neuen Begriffs umf nge Kombinationen von Gegenst nden und auch keine neue Begriffsinhalte Kombinationen von Merkmalen entstehen Angestrebt ist ja nur eine Vergr be rung der Klassifikation durch die formalen Begriffe W rde man neue Begriffsum f nge oder inhalte zulassen w ren Klassifikationseinheiten entstanden die dem urspr nglichen Kontext nicht zu entnehmen sind Die Zuordnung der Umf nge und Inhalte zu formalen Begriffe wird bei der Bildung einer Blockrelation ver n dert Zu einem Begriffsumfang w chst der entsprechende Be
257. en der formalen Gegenst nde und der formalen Merk male bilden Satz 6 Galois Verbindung durch Ist G M I ein formaler Kontext so bilden die Abbildungen P G gt PM A gt A und PWM gt P G B gt B eine Galois Verbin dung zwischen H G lt und P M lt Bir 67 V 7 S 122 Beweis G W 96 1 1 Hilfssatz 10 S 18 Zeige ACC gt C CA fiiralle A C CG Ist me C so gilt g I m fir alle ge C also auch f r alle ge A D h me A und insgesamt C CA Analog gilt B c D gt D CB fir alle B DCM Zeige ACA f ralle ACG Ist ge A so gilt g m f ralleme A dh ge A Damit folgt A c A Analog gilt B c B fir alle BCM 81 3 3 Kontexte und Begriffsverb nde Im folgenden sind die wichtigsten Regeln im Umgang mit den Abbildungen noch einmal zusammengefa t Folgerung 2 Rechenregeln f r Ist G M I ein formaler Kontext so gilt a v4 NA VA cG teT und teT teT UB AB VB cM te T mit einer beliebigen Indexmenge T te T te T b ACCSC CA VACcGundBcD D cB VB DCM c ACA VACG und BCB VBCM dA A VACG und B B VBCM e ACB SBCA SAXBCI VACG BCM Beweis G W 96 1 1 Hilfssatz 10 S 18 und Hilfssatz 11 S 19 a Es gilt II v4 teT Imemierm Vge u teT ll me M VteT gIm Vge A meM gIm Vge A NA te T te T Diese Gleichung ist auch im Fall T richtig dann ist UA o
258. en der vollst ndigen Toleranzrelationen auf B G M I bzw auf B H N R und denen der Blockrelationen von G M I bzw H N R so ist Baca n n e Ye Bad m n ein Isomorphis mus zwischen den betrachteten Verb nden von Blockrelationen A Mathematische Details Der Verband der Bl cke einer vollst ndigen Toleranzrelation vergl Satz 17 auf Seite 120 ist isomorph zu dem Verband der Bl cke der zugeh rigen Toleranzrela tion auf einem isomorphen Verband Folgerung A2 Bl cke in isomorphen Verb nden Seien V und W isomorphe vollst ndige Verb nde eine vollst ndige Tole ranzrelation auf V und 0 die zugeh rige Toleranzrelation auf W wie in Hilfs satz A4 auf Seite 263 Dann sind die Verb nde der Bl cke V und W isomorph Beweis Sei V W ein Isomorphismus Erkl re o V O gt W alo a Sei y der Isomorphismus zwischen den vollst ndigen Toleranzrelationen auf V und denen auf W aus Hilfssatz A4 also 0 w Dann gilt nach dem Beweis von Hilfssatz A4 da x y ex yO yo x O o y Hinrichtung direkt im zitierten Beweis und R ckrichtung nach Konstruktion von y Also ist 9 a y Aye W y 8 Y a Aye W 9 y Oa Atp b be V bOa p Atb be V bOat O a Denn ist ein vollst ndiger A Morphismus Danach ist die Abbildung o ordnungserhaltend weil ordnungserhaltend ist Ordnung der Bl cke ber untere Intervallgrenzen erkl rt Mit der gleichen Argumentation ist p W gt V
259. en f r die Software Entwicklung eine datenorientierte Sicht zur Seite zu stellen und aus diesen komplement ren Sichten Klassenkandidaten abzuleiten Als Datenelemente werden Dinge des Untersuchungsbereichs betrachtet Dinge m ssen dabei nicht unbedingt materiell sein sondern k nnen auch in Abstrakta wie Beziehungen Rollen etc bestehen Deshalb wird hier die Bezeichnung immer in Anf hrungszeichen gebraucht F r die Entwickler sind sie neben den Anwendungsf llen auf der anderen Seite die ent scheidenden Orientierungspunkte beim Durchdringen des Untersuchungsbereichs Im Hinblick auf das zu entwickelnde Klassenmodell sind sie Kandidaten f r Ob jekte Klassen Attribute und Rollen Mit ihnen ist eine Systembeschreibung aus Datensicht m glich Haben Entwickler und Fachexperten zusammen Schwierig keiten Dinge festzulegen k nnen wie in 2 6 dargestellt die bei Shlaer Mel lor Coad Yourdon Fusion oder Booch vorgeschlagenen Listen Anregungen bie ten Als erste Klassenkandidaten werden auch bei den meisten anderen Methoden solche in Erw gung gezogen die ein direktes Gegenst ck in der realen Welt repr sentieren In BASE wird aber die Entscheidung welche Dinge sp ter als Klassen modelliert werden und welche etwa als Attribute verschoben Die Betrachtung der Gegenstandsbegriffe in dem mit Hilfe der Formalen Begriffsanalyse entwickelten Liniendiagramm hilft bei dieser Entscheidung Die Funktionalit t ist durch die Anwendu
260. en in der Reihenfolge i knr einf gt Da Hauptfilter statt Hauptideale betrachtet werden m ssen ndert an der Algorithmusformulierung nichts Vog 96 Quellcode Der Aufwand ist O n B G M DI logn IB G M D mit n max G M weil zur Bestimmung der Kanten die Diagrammknoten 285 B 2 Berechnung eines Begriffsverbands durchlaufen werden und die dabei vorgenommenen Mengenoperationen einen Aufwand von O logn verursachen Die Inklusionsbeziehung zwischen zwei Mengen kann ber die Schnittbildung getestet werden F r die Behandlung der Hauptideale bzw filter ist hier aber auch die Vereinigungsbildung interessant In Lin 99 wird auch ein Algorithmus untersucht der weniger Knoten darauf te stet ob sie als Nachbarn mit dem aktuell erzeugten verbunden werden m ssen Mehrere verschiedene Algorithmen zur Verbandserzeugung werden in GMA 95 verglichen Nach Durchf hrung von Algorithmus B5 liegt insbesondere in der Gesamtheit der ermittelten Hauptideale Hauptfilter bei der Orientierung an den Begriffsinhalten der formalen Begriffe die Ordnung des Begriffsverbands vor The Formal Concept Analysis Library sieht f r diese eine Speicherung im Liniendiagramm vor um Ver bandsoperationen effizient unterst tzen zu k nnen Siehe 5 4 3 auf Seite 213 Im Rahmen der Arbeiten zu BASE wurde aus diesem Grund die Liniendiagrammbe rechnung in The Formal Concept Analysis Library so erweitert da die schon im plizit ermitte
261. en ist es wichtiger unzutreffende Kanten Kno ten berschneidungen klar zu machen weil der Benutzer in der Regel selber leicht berschauen kann ob er einen Knoten exakt auf einem anderen positioniert Die Gestaltung des Diagramms erfolgt beim Zeichnen nach Gegenst nden von un ten nach oben von den kleinen zu den gro en Begriffsumf ngen beim Zeichnen nach Merkmalen von oben nach unten von den kleinen zu den gro en Begriffsin halten Die Methode der Koordinatenzuordnung ist aber unabh ngig von der Art der Begriffsberechnung anhand der Umf nge oder Inhalte Im Werkzeug zu BASE Kapitel 5 werden Diagramme nach Merkmalen gezeichnet weil die Dia grammgestaltung von oben nach unten der blichen Betrachtungsweise entspricht und so die Anordnung des Diagramms anhand der Anwendungsf lle vorgenom men wird 1 Gegenstands und Merkmalsordnung entstehen durch die Einschr nkung der Begriffsverbandsordnung auf Gegenstands bzw Merkmalsbegriffe siehe Definition A2 auf Seite 274 306 B Algorithmen zur FBA B 5 2 Nachbehandlung von Infimum oder Supremum Durch das additive Zeichnen werden Knoten mit vielen oberen Nachbarn beim Zeichnen nach Merkmalen bzw vielen unteren Nachbarn beim Zeichnen nach Gegenst nden vertikal weit von ihren Nachbarn abger ckt Abb B 6 Automatisch gezeichnetes Diagramm zu 3 0 7 0 57 Im besonderen trifft dies auf das Infimum eines Verbands mit vielen Atomen bzw das
262. en kann versucht werden Klassen in einer bottom up Strategie zu entwik keln Vergl auch 2 3 1 auf Seite 31 Also betrachtet man statt der kompletten formalen Begriffe nur die an einem Kno ten des Liniendiagramms zusammentreffenden Dinge und Funktionen Dies ist auch einfacher aus dem Diagramm abzulesen Gegen ber dem vollen Begriff wer den Dinge ausgelassen die zwar in am Knoten angegebene Funktionen invol viert sind die aber auch von anderen nicht im vollen Begriffsinhalt enthaltenen Funktionen benutzt werden Dual verzichtet man auf solche Funktionen und An wendungsf lle die alle dem Knoten zugeordneten Dinge betreffen dar ber hin aus aber auch noch andere die nicht im vollen Begriffsumfang enthalten sind 162 4 BASE ein begriffsbasiertes Analyseverfahren f r die Software Entwicklung Dies sind oft bergreifende Anwendungsf lle die nur schwer einer Klasse zuzu ordnen sind bevor das Klassenmodell nicht schon weit ausgearbeitet ist Aus dieser Betrachtung erh lt man Nuclei bestehend aus zusammengeh rigen Funktionen und Dingen die im sp teren Klassenmodell komplett einer Klasse zugeordnet werden Deshalb werden die Interna der einzelnen Klassen bei diesem Vorgehen in einer bottom up Strategie entwickelt denn sie werden aus solchen Nuclei zusammengest ckelt F r die Reihenfolge der Festlegung der Klassen sel ber ist nach 4 2 4 auf Seite 140 und 4 5 1 eine top down Strategie zu bevorzugen Deshalb ist hi
263. en mehrere Beschriftungen zu einem Knoten vertikal etwas ver setzt Dies sieht man in Abbildung 5 9 am Knoten zu Lieferscheine erstellen oben halb rechts und insbesondere in Abbildung 5 12 auf Seite 203 200 5 Ein Analyse Werkzeug f r BASE 5 2 2 Diagramme zu ver nderten Anwendungsfallmodellen In der Ausrichtung der Diagramme besteht die gr te Arbeit f r den Benutzer Deshalb wird beim ersten Zeichnen des Liniendiagramms zu einem funktional ver feinerten oder einem korrigierten Anwendungsfallmodell die Anordnung des origi nalen Diagramms ber cksichtigt damit die Arbeit zur Anordnung nicht noch ein mal komplett von neuem geleistet werden mu So mu der Benutzer nur die neu en Knoten neu ausrichten Au erdem bleibt die grobe Struktur des Liniendia gramms erhalten Was genau ein neuer bzw alter Knoten ist und wie die Ber cksichtigung der originalen Anordnung exakt geleistet wird ist in Verbindung mit dem angewandten Algorithmus in Anhang B 5 3 dargestellt Hier soll nur der Effekt an einem Beispiel gezeigt werden Das erste in Kapitel 4 angegebene Bei spieldiagramm Abbildung 4 5 auf Seite 137 wird durch das Werkzeug wie folgt dargestellt KS diagtest csc BASE Of x Datei Bearbeiten Ansicht oleja ale Bestellung annehmen Bestellung bearbeiten Lieferscheine erstellen Fehlbestande nachbestellen Wareneingang bearbeiten R cklauf bearbeiten rt Nachbestellung
264. en selben Knoten des alten Ist eine Kante von einem Ober zu einem Unterbegriffsknoten aufsteigend oder waagerecht wird der Knoten des Unterbegriffs unter den des Oberbegriffs ver schoben Um die Form des urspr nglichen Diagramms zu erhalten wird sein gan zes Hauptideal mit verschoben allerdings nur solche Knoten die nicht schon durch fr here Verschiebevorg nge auf noch niedrigeren Positionen gelandet sind Der Algorithmus im Ganzen Algorithmus B13 Ber cksichtigung der alten Diagrammanordnung Gegeben seien zwei endliche formale Kontexte G M J und H N J mit MAN B G M I Ay Bo An_ 1 B _ und B H N J Co Do ts ED Weiter seien orig ein Liniendiagramm zu 8 G M J und neu eins zu B H N J Die enthaltenen Knoten seien analog zu den repr sentierten Begriffen von 0 bis n 1 bzw von 0 bis k 1 in der oben angegebenen Reihenfolge numeriert In beiden Liniendiagrammen sei die Knotennumerierung mit der jeweiligen Verbandsordnung absteigend Knoten zu gr eren formalen Begriffen haben kleinere Nummern als die zu kleineren neu habe die Kanten So Zo S _1 Z _1 Paare von oberem Start und unterem Zielknoten 320 B Algorithmen zur FBA Der Algorithmus ordnet die Knoten von neu nach dem Vorbild orig an F r einen Begriffsverband V und ve V werde durch ideal v V das Hauptideal und durch filter v V der Hauptfilter von v in V geliefert nach Annahme in reflexiv trans
265. en sind Die vollst ndige Modellierung der Operationen geschieht erst im Entwurf der sich in System und Objekt Entwurf aufteilt In ersterem wird die Komponentenzerlegung des Systems eventuell neu festgelegt werden Aspekte der Nebenl ufigkeit Ver teilung und Datenhaltung betrachtet also die Systemarchitektur geschaffen Nach dem Objekt Entwurf ist dann schlie lich jede Klasse zur direkten Implementierung vorbereitet Diese kann dann fast standardm ig durchgef hrt werden wobei der wesentliche Punkt die Implementierung der Operationen ist In der Methode Fusion startet die Analyse mit einer Liste von Klassenkandidaten aus denen Klassen ausgew hlt und ihre Attribute Generalisierungs und Aggrega tionsbeziehungen modelliert werden In einem zweiten Schritt wird dann die Sy stemschnittstelle nach au en beschrieben indem f r Szenarien die n tige Kommu nikation des Systems mit au enstehenden Agenten und die inbegriffene Abfolge von Ereignissen in Interaktionsdiagrammen dargelegt wird Die dabei neu gewon nenen Einsichten f hren zu einer Verfeinerung des Klassenmodells Eine Generali sierung der Szenarien und darauf aufbauende Beschreibung der Systemfunktionen 44 2 Objektorientierte Anwendungsentwicklung schlie en die Analyse ab Im Entwurf ist dann f r jede Systemfunktion in einem Objekt Interaktionsdiagramm darzulegen wie die Objekte Nachrichten austau schen um diese Funktion insgesamt erbringen zu k nnen Hieraus wird
266. en und minimalen Lagerbestand definieren Minimalbestand Vorgemerkte Menge Nachbestellmenge Maximalbestand Lagerbestand ermitteln on Lagerbestand Lieferkartei Produkt Bestellposten Abb 4 18 Anwendungsfall Fehlbest nde nachbestellen verfeinert In dem entsprechenden Begriffsverband gilt wie in allen bisher betrachteten die Implikation Nachbestellung Lieferant gt Maximalbestand durch die grauen Knoten des Diagramms angedeutet Dies stellt aber einen unzutreffenden Zusam menhang her Der Einzelschritt erst eine leere Nachbestellung f r einen Lieferan ten einzurichten wurde in der Zerlegung nicht ber cksichtigt Die entsprechende Funktion Nachbestellung anlegen l st die Implikation auf weil sie eine Nachbe stellung und einen Lieferanten aber nicht den Maximalbestand eines Produkts be trifft Nach ihrer Erg nzung ergibt sich das Liniendiagramm in Abbildung 4 19 nderungen gegen ber Abbildung 4 18 sind wieder schwarz hervorgehoben und bernommene Diagrammelemente grau dargestellt Wie die markierten Knoten zeigen liegt das Supremum der Gegenstandsbegriffe von Nachbestellung und Lieferant nicht mehr ber dem Gegenstandsbegriff zu Maximalbestand Also gilt die angesprochene Implikation nach der weiteren Zerle gung nicht mehr 155 4 3 Funktionale Zerlegung Abb 4 19 Anwendungsfall Fehlbest nde nachbestellen weiter verfeinert An
267. en wird ansonsten durch eine vorzeitig mit einem Kreuz endende Lebensli nie gekennzeichnet Balken auf den Lebenslinien geben an welche Objekte die Kontrolle bei der Ausf hrung haben Zwischen den Lebenslinien sind die Nach richten zwischen den Objekten an Pfeilen angetragen In eckigen Klammern k n nen Vorbedingungen f r das Versenden einer Nachricht angegeben werden Durch die Objekte bzw ihre Klassen und Nachrichten die Operationsaufrufe be deuten sind Querverbindungen zum Klassenmodell gegeben Objekte k nnen in Abh ngigkeit von ihrem Zustand verschieden auf Nachrichten reagieren Also ist es wichtig auch ihre Zust nde und m glichen Zustands nde rungen zu beschreiben Bei RDD ist dieser Aspekt au er Acht gelassen alle ande 39 2 4 Objektorientierte Analyse und Modellierungsmethoden ren Methoden arbeiten mit Zustandsdiagrammen oder erw hnen sie zumindest state charts von David Harel Har 87 die auf endlichen Automaten Kle 56 aufbauen Abbildung 2 5 Ausleihe erfolgt als ausgeliehen buchen ausleihbar gt ausgeliehen Riickgabe erfolgt Anschaffung erfolgt R ckgabe erfolgt Leihfrist berschritten R ckgabe Fe lt vermi t berzogen 1 Jahr abgelaufen Ausleiher unerreichbar Abb 2 5 Zustandsdiagramm der Klasse Ausleihobjekt Die K sten in solche Zustandsdiagrammen sind die Zust nde eines Objekts Start und Endzustand sind durch Punkte Endzustand mit einem Ring a
268. eneingang bearbeiten Bestellung bearbeiten Bestellung annehmen Fehlbest nde nachbestellen R cklauf bearbeiten Kunde Lieterscheinvermerk Lieterwagen Fahrtziel Nachbestellung anlegen Nachbestellposten anlegen Nachbestellmenge ermitteln Kundenbestellung Lieferschein Maximalen und minimalen Lagerbestand definieren Nachbestellmenge Minimalbestand Vorgemerkte Menge Maximalbestand Lagerbestand ermitteln lachbestellung Lieferant Lagerbestand Produkt Bestellposten Abb 4 32 Bl cke des Begriffsverbands aus Abbildung 4 19 Nach Bemerkung 11 auf Seite 118 m ssen die Bl cke einer vollst ndigen Tole ranzrelation nicht notwendigerweise disjunkt sein Tritt dieser Fall auf so teilen zwei Komponenten einen Kern von Funktionen und Dingen Nach Bemerkung 11 und Hilfssatz 18 auf Seite 118 liegen sie quer zueinander d h in jeder Kom ponente gibt es sowohl Funktionen als auch Dinge die in der anderen nicht ent halten sind In einer solchen Situation mu der Entwickler entscheiden ob er die beiden Komponenten vereint den gemeinsamen Kern einer der beiden Komponen ten zuschl gt oder ihn zu einer eigenen Komponente formt und dann vielleicht die beiden urspr nglichen Komponenten noch weiter aufteilt um eine eindeutige Be nutzungshierarchie ohne gegenseitige Benutzungsbeziehungen
269. ener Branchen ber 8380 Software Systeme On the success side the average is only 16 2 for software projects that are com pleted on time and on budget In the larger companies the news is even worse only 9 of their projects come in on time and on budget And even when these projects are completed many are no more than a mere shadow of their original specification requirements Projects completed by the largest American companies have only approximately 42 of the originally proposed features and functions Smaller companies do much better A total of 78 4 of their software projects will get deployed with at least 74 2 of their original features and functions Stan 95 Um die Anforderungen der Auftraggeber korrekt in die Entwicklung einzubringen bindet man die Auftraggeber und die Anwender also die Fachexperten so fr h wie m glich in die Entwicklung ein Nur ein regelm iger Austausch zwischen ih nen und den Entwicklern kann sicherstellen da die Software wirklich nach den Anforderungen der Anwender und nicht nur nach dem in der Regel l ckenhaften und vielleicht sogar teilweise falschem Verst ndnis der Entwickler vom Untersu chungsbereichs produziert wird und da die Anwender angehalten werden ihre Anforderungen pr zise zu formulieren Auch die von der Standish Group befragten DV Verantwortlichen setzen die Nutzerbeteiligung und die klare Anforderungs spezifikation an die Spitze der Liste der wichtigen Erfolgs
270. enge 64 Graph 71 173 g ltig Implikation H Hasse Diagramm 71 Liniendiagramm Haupt filter 66 140 181 213 286 300 ideal 66 146 180 213 284 300 318 Homomorphismus 253 Ordnungshomomorphismus Verbandshomomorphismus Vollhomomorphismus horizontaler Summand 173 233 236 H lle 77 278 290 nalgorithmus 276 279 noperator 77 96 255 276 278 290 nsystem 77 78 96 255 276 I Idempotenz 77 Implementierung 22 45 240 Implikation 92 enbasis 99 enfamilie redundante 99 vollst ndige 94 98 g ltige 92 106 informative 94 98 triviale 93 Gegenstandsimplikation Merkmalsimplikation Infimum 67 215 297 307 infimum erhaltend 74 irreduzibel 72 reduzibel 72 138 informativ Implikation Inhalt Begriffsinhalt Pseudoinhalt Inklusionsordnung 65 69 278 Intension Begriffsinhalt Klassencharakter Interaktionsdiagramm 38 Intervall 66 115 169 316 Inzidenzrelation 78 80 210 282 irreduzibel infimum irreduzibel supremum irreduzibel Index Isomorphismus 74 75 254 isoton ordnungserhaltend 74 J Java 25 29 K Kette 65 Klasse 25 31 35 45 224 228 ncharakter extensionaler 31 intensionaler 31 ndiagramm 35 128 nentwurf bottom up 31 162 top down 31 160 nkandidat 48 60 129 140 151 159 183 nmodell 35 45 47 188 Entit tsklasse Kohasion 163 232 Kollaborationsdiagramm 38 Komponente 37 45 164 167 176 178
271. ens alle Dinge die in b eine Rolle spielen auch von a ber hrt werden N N ist involviert in betrifft ist involviert in betrifft N IN Abb 4 3 Behandlung von uses und extends Beziehungen Im Sinne der formalen Begriffsanalyse wird dies durch eine Merkmalsimplikation b a ausgedr ckt d h allen formalen Gegenst nden die das formale Merkmal b tragen wird auch a zugesprochen Definition 31 auf Seite 105 Im formalen Kon text werden einfach die Kreuze der b Spalte ebenfalls in die a Spalte eingetragen 135 4 2 Grundlegender Ansatz Im JWI Beispiel entstand folgender formaler Kontext aus der oben angedeuteten Indizie rung Den Effekt der uses Beziehungen sieht man am Beispiel des Anwendungsfalls Bestellung bearbeiten Das fett gedruckte Kreuz geht nicht direkt aus der oben vorge Maximalen und minimalen Lagerbestand definieren c nommenen Indizierung hervor weil Produkt 2 al S nicht in der Beschreibung von Bestellung be 3322 arbeiten vorkommt Es wurde vom benutz E 25 g 38 ten Anwendungsfall Lagerbestand ermitteln a E g 5 a 3 bernommen z 5 5 g Ein weiterer identifizierter Anwendungsfall g Ss 3 Sle Kundenbestellung Reklamation bearbeiten wurde nicht be Kunde xx xx XXIX _ X Bestellung bearbeiten r cksichtigt weil das zugrunde liegende Do _ Bestellposten X XIX kument ber ihn keinerlei I
272. entsprechenden Klassen zuzuordnen Wichtigste erste Kandidaten f r Klassen sind die in der Be handlung der Anwendungsf lle einbezogenen Dinge Nimmt man an da eines dieser Dinge sp ter als Klasse modelliert wird und da weiter eine Funktion be trachtet wird die nur dieses Ding ber hrt so ist diese Funktion wahrscheinlich gerade als Operation dieser Klasse festzulegen In diesem Sinne sollten also die be trachteten Dinge mit Hilfe der betrachteten Funktionen getrennt werden Kombi nationen von Dingen die von jeder betrachteten Funktion immer gemeinsam be r hrt werden sollten zusammen in einer Klasse modelliert werden k nnen F r solche Kombinationen ist demnach zu fragen ob sie f r den gesamten Untersu chungsbereich als zusammengeh rig anzusehen sind Ist das nicht der Fall sollte in die funktionale Zerlegung eine Funktion eingeschlossen werden die einige Dinge aus der Kombination ber hrt andere aber nicht Als mathematisches Hilfsmittel zur berpr fung dieses Kriteriums dienen Gegenstandsimplikationen Definition 31 auf Seite 105 Gegenstandsimplikationen innerhalb des Umfangs des Merkmalsbegriffs des zer legten Anwendungsfalls werden berechnet Jede Implikation bedeutet eine Frage an Entwicklern und Fachexperten Diese entscheiden dann f r die Implikationen 151 4 3 Funktionale Zerlegung ob diese fachlich begr ndet sind Eine Gegenstandsimplikation X Y zwischen zwei Gegenstandsmengen X und Y bedeu
273. enzrelation Deshalb werden wie schon in 5 4 2 auf Seite 210 erw hnt Zeilen und Spalten vorteilhafterweise red undant als Bit Arrays gespeichert Damit ist der Zugriff auf sie in konstanter Zeit m glich Mit der schon oben getroffenen Annahme da die Mengenoperationen logarithmi schen Aufwand verursachen hat Algorithmus B2 einen Aufwand von O G log G bzw O M log M bei der Bestimmung eines Umfangs zu ei ner Merkmalsmenge Die Berechnung des H llenoperators erfolgt durch zweimalige Anwendung von Algorithmus B2 und hat also den Aufwand O n logn mit n max G M Algorithmus B3 _ Lektisch n chster Begriffsumfang inhalt Gegeben sei ein endlicher formaler Kontext G M J mit G 18 86j 1 und ASG Der Algorithmus berechnet in der Variablen c den nach A lektisch n chsten Begriffsumfang nextExtent A B3 1 k G B3 2 REPEAT B3 3 REPEAT B3 4 k k 1 B3 5 UNTIL g A B3 6 c i AA 8o 5 281 1 Y 8D B3 7 UNTIL AN 8gp 2k 1 COA 8p ei F r die Begriffsinhalte ist der Algorithmus nextIntent analog nur da die Schleife ber M my Mn l uft G W 96 2 1 S 67 Nach den Vor berlegungen ist die Komplexit t des Algorithmus O n logn mit n max G M Frank Vogt zitiert in Vog 96 2 2 Martin Skorsky mit einer Absch tzung von O n Auch Christian Lindig kommt in Lin 99 3 2 auf diese Abschatzung Diese Autoren scheinen von einer ineffizienteren Men
274. er Unterbegriffsordnung und Beispiel 2 d auf Seite 69 klar F r das Supremum betrachtet man dual U Al teT Definition 22 Begriffsverband B G M I aus Satz 7 hei t Begriffsverband des Kontexts G M I G W 96 1 1 Definition 21 S 20 84 3 Formale Begriffsanalyse Vor allen in der franz sischsprachigen Literatur ist nach Marc Barbut und Bernard Monjardet B M 70 auch die Bezeichnung Galois Verband Franz treillis de Galois blich Um solche Begriffsverb nde die aus einem formalen Kontext entstanden sind wird es im folgenden gehen Beliebige vollst ndige Verb nde k nnen aber auch als Begriffsverb nde behandelt werden In G W 96 ist der folgende Satz als Teil des Hauptsatzes ber Begriffsverb nde formuliert Satz 8 Vollst ndige Verb nde als Begriffsverb nde Ein vollst ndiger Verband V lt ist isomorph zu S V V lt G W 96 1 1 Satz 3 S 20 Beweis Definiere P V gt BV V lt s plx Gye Vi ysxhive V xsy ist wohldefiniert denn in B V V lt gilt yeV ysx zeV ysr Wer ysi zeV x lt z yeV x lt sy ze V z lt y VyeV x lt y ze V z lt x Also sind die Bilder unter wirklich formale Begriffe aus B V V lt Weiter ist ordnungserhaltend denn aus x lt z in V folgt ye V ysx ciye V ysz dh p x soz in S V V lt Definiere weiter Y B V V lt S gt V w A B VyA y ist ebenfalls ordnungserhaltend f r A c C in V gilt Vp ASV C Zeige Y o
275. er noch schlimmer durch andere Atome verlaufen Um zu einer solchen Position zu gelangen wird der Bereich f r die x Koordinate des Infi mums sukzessive eingeschr nkt Zun chst einmal bilden die x Koordinaten des am weitesten links und des am weitesten rechts gelegenen Atoms die linke und rechte Schranke Um die angesprochenen berschneidungen der Kanten zu vermeiden werden die Atome nach aufsteigender x Koordinate sortiert Damit k nnen Paare horizontal aufeinanderfolgender Knoten unter ihnen einfach betrachtet werden Bei dieser Betrachtung sind vier F lle zu unterscheiden 1 Der linke und rechte Knoten haben verschiedene x Koordinaten und der linke Knoten liegt auf gleicher H he mit dem rechten 2 Der linke und rechte Knoten haben verschiedene x Koordinaten und der linke Knoten liegt oberhalb des rechten 3 Der linke und rechte Knoten haben verschiedene x Koordinaten und der linke Knoten liegt unterhalb des rechten 4 Der linke und rechte Knoten haben identische x Koordinaten Diese F lle sind in Abbildung B 7 dargestellt Im ersten Fall da die beiden be trachteten Knoten nebeneinander liegen erh lt man keine Einschr nkung an die horizontale Position des Infimums Egal wo es unter den beiden Knoten liegt wer den sich die Verbindungskanten nicht schneiden Im zweiten Fall da der echt linke Knoten oberhalb des rechten liegt legt man eine Gerade durch die beiden Knoten Damit sich ihre Kanten zum Infimum nicht sch
276. er sinnvoll sein Sich allein auf materielle Dinge zu konzentrieren ist nicht ausrei chend Sie bieten nicht automatisch eine stabile Basis f r das Klassenmodell und sind vielleicht nur Auspr gungen tieferliegender abstrakterer Begriffe die bessere Klassenkandidaten bieten Klassen k nnen auch Verhalten das ohne zugeh rige Daten bereit gestellt werden kann kapseln Denn im Verst ndnis der abstrakten Datentypen wird von objektinternen Daten v llig abstrahiert wird indem nur das nach au en sichtbare Verhalten beschrieben wird Speziell ist das der Fall wenn das modellierte Verhalten von mehreren Klassen geteilt wird es komplex und schwierig einer bestehenden Klasse zu zuordnen ist oder es so speziell ist da es zwar einer Klasse zugeordnet werden kann aber nur von einigen benutzenden Klassen wirklich ben tigt wird Eine Klasse sollte nicht unvereinbare Abstraktio nen miteinander vermischen In der Entwicklung von Klassen sollten immer wie der die Rollen von Anbieter und Nachfrager von Leistungen vom Entwickler ein genommen werden um das gew nschte Verhalten zu modellieren Im Sinne der Wiederverwendung sollte dabei immer eine etwas allgemeinere L sung angestrebt werden als f r den Spezialfall gerade n tig ist Hat eine Klasse sehr wenig Attri bute und Operationen so kann das ein Zeichen von schwacher Abstraktion sein Jacobson startet mit der Beschreibung von Anwendungsf llen siehe 2 5 Bei Schwierigkeiten diese zu erstell
277. er die Rede von Nuclei die zu Teilen von Klassen werden und diese Nuclei werden nicht als Klassenkandidaten behandelt die sp ter nur weiter zu er g nzen sind denn so ergeben sich nur sehr spezialisierte Klassenkandidaten Das bietet sich erst an wenn das Klassenmodell schon so weit feststeht da solche Ein zelheiten als Zusatz modelliert werden k nnen ohne die Grundstruktur des Sy stemmodells zu st ren Dementsprechend ist zur Festlegung der Klassenkandidaten dem Vorgehen unter 4 5 1 Vorrang einzur umen Im folgenden Abschnitt wird noch eine M glichkeit aufgezeigt grobe Strukturen innerhalb des Systemmodells zu erkennen 4 6 Blockrelationen in BASE 4 6 1 Motivation und Idee des Vorgehens In 3 5 wurden Blockrelationen als Konzept zur Zusammenfassung von formalen Gegenst nden und formalen Merkmalen zu allgemeineren Einheiten vorgestellt als es formale Begriffe sind Die Idee sie in BASE zu benutzen ist aus der Unter suchung von Modularisierungsvorschl gen f r Altsysteme durch Christian Lindig und Gregor Snelting in L S 97 entstanden siehe 6 3 auf Seite 232 Die Autoren erstellen in der referenzierten Arbeit Re Strukturierungsvorschl ge f r beste hende Software Sie behandeln dabei Programmfunktionen als formale Gegen st nde und Programmvariablen als formale Merkmale und untersuchen den formalen Kontext der angibt welche Variable in welcher Funktion benutzt wird Dies ist ein ganz hnlicher Ansatz zu BASE ver
278. er se On the contrary our aim is to describe them only indirectly through their behavior Everything else is irrelevant and should be excluded from the analysis model In an object oriented context we have one and only one way of describing object behavior and that is through classes Weiter sind in BASE die forma len Begriffe in der Regel nicht alle gew nschten Klassenkandidaten aber das ent stehende Liniendiagramm spiegelt die Datenabh ngigkeiten der betrachteten Funktionen wider und kann zur Generierung von Vorschl gen f r Klassenkandida ten genutzt werden Einen dem nat rlichen verwandten Ansatz verfolgen Gregor Snelting und Frank Tip im Rahmen der Restrukturierung von Klassenbibliotheken vergl Kapitel 6 Sie untersuchen bestehenden Programm Code Die auftretenden Variablen die zur Laufzeit die Objekte der Anwendung speichern behandeln sie als formale Gegen st nde Attribute und Operationen der entsprechenden Klassen als formale Merk male Damit haben sie eine M glichkeit die erst zur Laufzeit angelegten Objekte durch die schon zur Compilierzeit vorliegenden Variablen mittelbar fa bar zu ma chen Direkt stehen die Objekte zum Analysezeitpunkt jedoch nicht zur Verf gung so entsprechen die Umf nge der in der Untersuchung von Snelting und Tip auftretenden formalen Begriffe auch nicht der extensionalen Bedeutung der unter suchten Klassen als Mengen der zugeh rigen Objekte In der Situation von BASE steht nich
279. ere Beschreibung der Gesch ftsabl ufe 327 C Beispielsystem f r BASE JWI Inc ST S8 S9 S10 S11 S12 S13 S14 S15 S16 S17 328 Das Zentrum empf ngt Bestellungen der Einzelh ndler telephonisch von 9 17 Uhr Die folgende Abbildung zeigt ein Bestellformular das f r Bestellungen von Einzelh ndlern verwendet wird Bestellformular eines Einzelh ndlers Datum Bestell Nr R Einzelh ndler Adresse Telefon Lfd Nr Posten Menge Eine Bestellung kann aus mehreren Bestellposten bestehen Diese beziehen sich auf einzelne Produkte Jeder Bestellposten wird auf dem Formular in einer Zeile notiert Wenn das Zentrum eine Bestellung erh lt wird umgehend der Lagerbestand f r jeden Bestellposten gepr ft Das Zentrum nimmt anerkannte Reklamationen von den Einzelh ndlern zur ck Wenn das Zentrum eine Bestellung entgegennimmt wird jeder Bestellposten in eine der beiden folgenden Karteien eingeordnet a Liefer Kartei b Warte Kartei Falls das Zentrum f r einen Bestellposten gen gend Ware auf Lager hat dann wird dieser in die Liefer Kartei eingetragen und der Lagerbestand wird entsprechend korrigiert Andernfalls wird der Bestellposten in die Warte Kartei eingetragen T glich nach 17 Uhr werden die notwendigen Bestellungen an die Weinpro duzenten sowie die Auslieferungs Anweisungen wie folgt erstellt Bestellungen an Weinproduzenten werden f r solche Produkte e
280. ersherum kann man Implikationen aus dem Liniendiagramm eines Begriffs verbands ablesen Nach Folgerung 12 auf Seite 104 reicht es aus dies f r Implika tionen mit einelementiger Konklusion zu kl ren Folgerung 15 Ablesen von Implikationen im Liniendiagramm Ist G M I ein formaler KontextundBCM me M ACG ge G Dann ist B gt m A gt g genau dann g ltig wenn npn lt um Vivh2 vg Vergl G W 96 2 3 S 80 Beweis Nach Satz 13 gilt B gt m genau dann wenn me B Nach Folgerung 5 auf Seite 88 ist B On der Begriffsumfang von Aun neB Also gilt me B amp glm Vge B egem Vege B Mn B cm neB gt Auns m m um Das liefert die Behauptung F r A g dual mit Argumentation ber die entsprechenden Begriffsinhalte Demnach liest man aus einem Liniendiagramm eines Begriffsverbands eine Merk 107 3 4 Implikationen malsimplikation B m Gegenstandsimplikation A g dadurch ab da der mit m g bezeichnete Begriff ber dem Infimum unter dem Supremum aller mit ei nem Merkmal aus B Gegenstand aus A bezeichneten Begriffe liegt Beispiel 13 Beispiel einer Merkmalsimplikation Das in Abbildung 3 7 auf Seite 89 angegebene Liniendiagramm zum forma len Kontext aus Abbildung 3 5 auf Seite 80 ist hier noch einmal wiedergege ben Sequence diagram Activity diagram Component diagram Abb 3 9 Liniendiagramm mit Beispiel Implikation Durch die farblichen Hervorhebungen i
281. ese Modifikation ist leicht in Algorithmus B7 einzubauen Algorithmus B8 Vorzeitiger Abbruch der H llenberechnung Gegeben sei ein endlicher formaler Kontext G M J mit M my Mm l Weiter sei BS M und pInh speichere die in B enthaltenen Pseudoinhalte Der Algorithmus berechnet in D den lektisch n chsten Pseudo oder Begriffs inhalt nextIntentPseudointent B pInh B8 1 k M B8 2 REPEAT B8 3 REPEAT B8 4 k k 1 B8 5 UNTIL m B B8 6 D B A Mp Mech Vim B8 7 ab hier Berechnung des H llenoperators REPEAT B8 8 D D B8 9 i 0 B8 10 weiter TRUE B8 11 Schleife ber die Pseudoinhalte WHILE i lt pInh AND weiter DO B8 12 IF pInh i D THEN B8 13 D D U pInh i B8 14 IF D B n mpo M _ THEN B8 15 weiter FALSE B8 16 i ped i B8 17 UNTIL NOT weiter OR D D B8 18 UNTIL D A my My 1 BO Mp Mg1 290 B Algorithmen zur FBA Der Algorithmus gleicht Algorithmus B7 nur da durch B8 15 die H l lenberechnung abgebrochen wird wenn in B8 14 festgestellt wurde da nicht sicher die lektisch n chste H lle berechnet wird F r die Pseudoumf nge ist der Algorithmus nextExtentPseudoExtent ber G 89 Zig _1 analog An der asymptotischen Komplexitat andert der Abbruch natiirlich nichts Algorithmus B9 Bestimmung der Duquenne Guigues Basis Gegeben sei ein endlicher formaler Kontex
282. esondere kann es vorkommen da mehrere vertikale Linien aus diesen Zerlegungsdiagrammen im sp teren Sequenz diagramm zusammenfallen wenn n mlich die entsprechenden Funktionen von ein und demselben Objekt ausgef hrt werden Das Anlegen einer Kundenstellung betrifft den Kunden und die Kundenbestellung selber Ein Bestellposten bezieht sich auf ein Produkt von dem eine gewisse Men ge bestellt wird Der Bestellposten wird innerhalb der betreffenden Kundenbestel lung angelegt Bei der Erzeugung eines Bestellpostens sind damit die Dinge Bestellposten Produkt und Kundenbestellung involviert Au erdem spielt ein neu es Ding die Bestellmenge eine Rolle Da die Funktion Bestellposten anlegen der Funktion Kundenbestellung anlegen funktional untergeordnet ist wird eine Im plikation Bestellposten anlegen gt Kundenbestellung anlegen eingef hrt und da mit alle in Bestellposten anlegen betroffenen Dinge an Kundenbestellung anle gen vererbt siehe Diskussion von uses Beziehungen in 4 2 3 auf Seite 135 Analog ergibt sich die Implikation Kundenbestellung anlegen gt Bestellung an nehmen mit der entsprechenden Konsequenz Das neue Ding Bestellmenge wird so auch dem bergeordneten Anwendungsfall Bestellung annehmen zugeordnet F r die anderen Anwendungsf lle mu erst untersucht werden ob in ihnen die Be stellmenge eine Rolle spielt Bei dem Anwendungsfall Bestellung bearbeiten ist dies der Fall weil anhand der Bestellmenge en
283. espeichert Das geschieht mit Hilfe der Klasse TRemark Sie ist eine Unterklasse von TFCA Object Dementspre chend k nnen Bemerkungen auch als eigene Strukturen wie formale Kontexte und Liniendiagramme in Dateien gespeichert werden Es wird einfach nur das Attribut the_remark von TFCAObject mit einer Zeichenkette belegt Zur eindeutigen Iden tifizierung wird dem Projektnamen noch PROJECT als Schl sselwort vorange stellt In ConScript sieht das dann folgenderma en aus RemarkList REMARK Project Projektname Zeichenkette 222 Verwandte Anwendungen von FBA Neben BASE gibt es verschiedene andere Ans tze die Formale Begriffsanalyse in der Software Entwicklung einzusetzen Einige sind in der folgenden Tabelle aufge f hrt Autoren und Zielrichtung Referenz Formale Formale Formale Semantik der Gegenst nde Merkmale Begriffe Ordnung Ermittlung von Relevante Anwendungsf lle Nuclei zur Benutzungs Klassenkandidaten Dinge und Funktionen Klassenbildung hierarchie Strukturierung von Klassen Attribute und Abstrakte Vererbung Klassenhierarchien Operationen Klassen Strukturierung von Programm Attribute und Klassen Vererbung Klassenhierarchien variablen Operationen Modularisierung Programm Programm Module maxi Schachtelung von von Altsystemen variablen prozeduren maler Koh sion Modulen Konfigurations Codesegmente Kontrollierende Konfigurationen Spezialisierung von analyse Ausdr cke K
284. est der frischen Ware wird dem Lagerbestand zugef hrt S28 132 4 BASE ein begriffsbasiertes Analyseverfahren f r die Software Entwicklung Anwendungsfall Maximalen und minimalen Lagerbestand definieren e Der Sachbearbeiter definiert den maximalen und minimalen Lagerbestand f r ein Produkt anhand seiner bzw ihrer pers nlichen Erfahrung oder externer Vor gaben Anwendungsfall R cklauf bearbeiten e Produkte mit dem Vermerk Retoure siehe Lieferschein werden ins Lager haus zur ckgebracht S24 e Der Sachbearbeiter l scht alle gem dem Vermerk auf dem Lieferschein ord nungsgem ausgelieferten Bestellposten aus der Lieferkartei S25 e Bestellposten mit dem Vermerk Retoure verbleiben in der Lieferkartei und werden am Folgetag in die Lieferscheine aufgenommen S26 Behandlung von Synonymen Bei der Indizierung auf der Basis von Anforderungsdokumenten sind in der Regel einheitliche Bezeichnungen f r die auftauchenden Dinge festzulegen Dies ist auch n tig um eine Projektsprache zu etablieren Die dabei ausgezeichneten Ter mini sind deshalb jeweils mit einer Erkl rung f r das Projekt zu dokumentieren Da das Beispiel im wesentlichen ein Vertriebszentrum ohne n heren Bezug auf dessen spezielles Produkt Wein beschreibt werden f r die belieferten Einzel h ndler die Bezeichnung Kunde und die liefernden Weinproduzenten der Terminus Lieferant benutzt Die Bestellungen von Kunden an JWI und von JWI an Liefer
285. ext in Abbildung 4 4 auf Seite 136 bzw dem in Abbildung 4 5 auf Seite 137 dargestellten zugeh rigen Begriffsverband besteht aus den folgenden Implikationen 1 Wareneingang bearbeiten R cklauf bearbeiten Bestellung bearbeiten 2 Maximalen und minimalen Lagerbestand definieren Fehlbest nde nachbestellen 3 Lieferscheine erstellen Wareneingang bearbeiten gt Bestellung bearbeiten Riicklauf bearbeiten 4 Lagerbestand ermitteln gt Bestellung bearbeiten Fehlbestande nachbestellen Wareneingang bearbeiten 5 Fehlbest nde nachbestellen R cklauf bearbeiten gt Bestellung annehmen Bestellung bearbeiten Lagerbestand ermitteln Maximalen und minimalen Lagerbestand definieren Wareneingang bearbeiten 6 Fehlbest nde nachbestellen Maximalen und minimalen Lagerbestand definieren Wareneingang bearbeiten gt Bestellung annehmen Bestellung bearbeiten Lagerbestand ermitteln R cklauf bearbeiten 7 Fehlbest nde nachbestellen Lieferscheine erstellen gt Bestellung annehmen Bestellung bearbeiten Lagerbestand ermitteln Maximalen und minimalen Lagerbestand definieren Wareneingang bearbeiten R cklauf bearbeiten 8 Bestellung bearbeiten R cklauf bearbeiten gt Wareneingang bearbeiten 9 Bestellung bearbeiten Lieferscheine erstellen gt Wareneingang bearbeiten R cklauf bearbeiten 10 Bestellung bearbeiten Fehlbest nde nachbestellen gt Lagerbestand ermitteln Wareneingang bearbeiten 11 Bestellung anne
286. f 1 1 l 1 A 1 l 1 i 1 1 1 i u 94 i i ausgeliehen boolean i zetteli zettel2 zettel3 N i Ausleihzettel Ausleihzettel Ausleihzettel i 1 1 I i 1 M i 1 f 1 i 1 i 1 1 1 1 1 1 1 1 1 paame erstellen obj i zig erstellen gt durchschlag wait zetteli Ausleihzettel zettel2 Ausleihzettel zettel3 Ausleihzettel a i nicht ausgeliehen i Objekt durch Ausleihzettel ersetzen obj zettel3 f i i f nicht ausgeliehen Ausleihzettel abgeben zettel1 zettel2 l i T i i als a isgelishen buchen i i i i i i i 1 1 1 1 Abb 2 4 Sequenzdiagramm f r die Ausleihe bei einer Bibliothek Ein Beispiel f r ein Sequenzdiagramm ist in Abbildung 2 4 zu sehen Es ist wie das Klassendiagramm in Abbildung 2 3 auf Seite 36 in Anlehnung an das Studen tenpraktikum zur Erstellung eines Bibliothekssystems entstanden und gibt den Ab lauf eines Ausleihvorgangs wieder K sten symbolisieren Objekte Der betreffende Objektname ist vor und der Name der zugeh rigen Klasse nach dem Doppelpunkt angegeben Die Zeitachse verl uft vertikal Gestrichelte senkrechte Linien sind die Lebenslinien der Objekte Wird ein Objekt erst erstellt wie hier der Ausleihzet tel beginnt seine Lebenslinie weiter unten im Diagramm In diesem Diagramm existieren alle Objekte auch noch nach dem dargestellten Ablauf Das L schen von Objekt
287. f Definition 20 auf Seite 82 Analyse aus funktionaler Sicht Betrachtet man das Liniendiagramm von oben erh lt man eine funktionale Sicht auf das System Die Funktionalit t wird ausgedr ckt durch die Anwendungsf lle Diese stehen um so h her im Diagramm je mehr der betrachteten Dinge sie be r hren Dies sind in der Regel die bergeordneten Systemfunktionen welche die Systemfunktionalit t ausmachen Nur lokal wichtige Funktionen tauchen weiter unten auf Von oben nach unten bzw zur Diagrammitte hin gelesen beschreibt 137 4 2 Grundlegender Ansatz das Diagramm die Systemfunktionalit t also in top down Manier Dies sieht man im Beispiel sehr gut Die Coatome untere Nachbarn des globalen Supremums De finition 12 auf Seite 73 des Verbands sind gerade die Merkmalsbegriffe der An wendungsf lle die das Gesch ft von JWI ausmachen Nur die zwei Anwendungs f lle Minimalen und maximalen Lagerbestand definieren und Lagerbestand ermit teln stehen im Diagramm weiter unten Sie betreffen unterst tzende Hilfsfunktio nen die nur intern von Bedeutung f r eine Beschreibung des Gesch fts von JWI nach au en aber unerheblich sind Bez glich des Kriteriums welche und wie viele Dinge betroffen sind ergibt sich eine Hierarchie der Anwendungsf lle In der Anordnung des Liniendiagramms wurde versucht dies durch die Anordnung der Knoten in Ebenen zu unterstreichen Eine Unterordnung eines Anwendungsfalls unter einen anderen im
288. f r Klassenkandidaten sind dagegen im allgemeinen Zu sammenhang nicht so leicht nachzuvollziehen wie zum Beispiel die Erw h nung von Orten bei Coad Yourdon Andere sind so wenig spezifisch wie zum Beispiel die Abstraktionen der Fusion Methode da sie in der konkreten Entwicklungssituation nicht hilfreich erscheinen Wenn andererseits die Bedeu tung der angegebenen Klassenkandidaten nur durch Beispiele zu erkl ren ver sucht wird ist ihr Nutzen in Modellierungssituationen die anders als die ge nutzten Beispiele liegen wegen fehlender bertragbarkeit gering 56 2 Objektorientierte Anwendungsentwicklung e Positiv Listen f r Objekteigenschaften Um die gewonnenen Klassenkandidaten nach ihrer Eignung als Klassen beurtei len zu k nnen werden Eigenschaften aufgelistet die sie erf llen sollten Die meisten genannten Kriterien zielen dabei auf die logische Zusammengeh rigkeit einerseits der Objekte andererseits der Attribute und Operationen einer Klasse ab Um dies beurteilen zu k nnen ist aber eine tiefergehende Analyse der Struktur der betreffenden Klassenkandidaten n tig Das hei t da man den Kandidaten als Klasse modelliert um zu entscheiden ob er einen guten Klas senkandidaten abgibt Von einer solchen einmal durchgef hrten Modellierung wird man sich aber nur schwer wieder l sen k nnen Andere Kriterien berpr fen die Relevanz f r das zu entwickelnde System im Hinblick auf Speicherung von Daten und Ausf hrung
289. f r alle unteren Schran ken x X von Y die Ungleichung x lt x gilt so nennt man x nfimum von Y und schreibt x AY oder x inf Y Dual definiert man das Supremum VY sup Y als kleinste obere Schranke von Y Man schreibt auch Ay AY und Vy VY yeY yey Ist Y y z so schreibt man y z f r das Infimum und y v z f r das Su premum der beiden Elemente Bir 67 1 4 S 6 Aufgrund der Antisymmetrie von lt sind AY und VY eindeutig wenn sie existie ren Die Zeichen A und v sind in dieser Arbeit f r die Kennzeichnung von Infima bzw Suprema zweier Elemente reserviert Das logische Und und das logische Oder in Aussagen werden durchgehend als Worte geschrieben Hilfssatz 1 lt dargestellt durch A oder v In einer geordneten Menge X lt gilt f r alle x y X xSy OS xay ZIX Oxvy y Bir 67 1 5 Lemma 1 S 5 Beweis Ist x lt y so ist x untere Schranke von x y Andererseits sind alle unteren Schranken von x y kleiner oder gleich x Also istx Ay x In der anderen Richtung folgt x lt y direkt aus x y x F r das Supremum dual Im folgenden Hilfssatz sind die wichtigsten Rechenregeln f r Infimum und Supre mum zusammengefaBt 67 3 2 Ordnungstheoretische Grundlagen Hilfssatz2 Rechenregeln f r Infimum und Supremum Sei X lt eine geordnete Menge T eine beliebige Indexmenge und Y c X fiir alle te T Wenn die betreffenden Infima und Suprema existieren gilt folgendes a A
290. faktoren f r Software 10 1 Einleitung Projekte The three major reasons that a project will succeed are user involve ment executive management support and a clear statement of requirements Stan 95 Aus der Untersuchung wurden folgende Ratschl ge entwickelt First find the right user or users Look for users up and down the organization Second involve the user or users early and often Third establish a quality rela tionship with the user s by keeping open lines of communication throughout the life of the project Fourth make it easy for them to be involved in the project Last but not least talk to them and find out what they need After all the only reason the project exists in the first place is because someone needs to use the business appli cation when it is finished Stan 96 Um zu einem fruchtbaren Austausch zwischen den beiden Gruppen zu kommen m ssen die Entwickler in der Lage sein ihre Modelle den Fachexperten so darzu stellen da diese sie beurteilen und an ihren Anforderungen messen k nnen Es mu ein Diskurs zwischen Fachexperten und Entwickler stattfinden Urs Andelfin ger weist in And 96 in diesem Zusammenhang auf das Problem der pragmati schen L cke hin Fachexperten und SW Entwickler haben in der Regel verschie dene Vorstellungen vom Untersuchungsbereich Ein gemeinsames Verst ndnis mu erst hergestellt werden Au erdem sprechen sie nicht die gleiche Sprache Da mit die Entwickle
291. falschZerlegterUc gt beim Aufruf leere Strings so wird vom Anfang aller Angaben an gesucht sonst nur in der internen Reihefolge hinter lt fehlenderSchritt gt und lt falschZerlegterUc gt Der in der internen Reihenfolge n chste fehlende Zerlegungsschritt ergibt die R ckgabewerte von lt fehlenderSchritt gt und lt falschZerlegterUc gt Sind alle uses Angaben in den jeweiligen Zerlegungen ber cksichtigt wird in lt falschZerlegterUc gt der leere String zur ckgegeben CStringArray getTeilschritte const CString amp uc Gibt einen Zeiger auf die Zerlegungsliste des Anwendungsfalls mit Identifier lt uc gt nur h chste Ebene void addToSpecials TstringArray amp specials bertr gt die in der Liste enthaltenen Angaben als entsprechende Strings in lt specials gt Enthaltene alte Angaben in lt specials gt werden nicht gel scht void kontextVervollstaendigen TFormalContext amp kontext Arbeitet die aus den uses extends Listen und funktionalen Zerlegungen resultierenden Merkmalsimplikationen in lt kontext gt ein private CUsecaseDaten liste Die Liste der Angaben CUsecaseDaten aktuellePosition Aufsetzpunkt f r Suche in der Liste Verbleibt immer an der zuletzt gefundenen Stelle CUsecaseDaten find const CString amp uc Liefert einen Zeiger auf die Angaben zum Anwendungsfall 333 D 1 CUsecaseAngaben mit Identifier lt uc gt Ist
292. fassung der wichtigsten Ergebnisse F r die Entwicklung von Software hat sich die Objektorientierung als anerkanntes Paradigma f r alle Entwicklungsphasen etabliert Durch die durchg ngige Nut zung objektorientierter Modelle von der Analyse bis zu Implementierung vermei det man die den strukturierten Methoden anh ngenden Phasenbr che Das R ck grat einer objektorientierten Entwicklung bildet das Klassenmodell Deshalb ist eine zentrale Frage in der objektorientierten Analyse Welches sind die geeigneten Klassen f r ein Systemmodell Was zeichnet ein gutes Klassenmodell aus Martin Fowler postuliert als Modellie rungsprinzip Models are not right or wrong they are more or less useful Fow 97 S 2 Geeignete Klassen sollten f r den gesamten Entwicklungsproze die ad quate Bausteine f r die Erarbeitung der jeweiligen Systemmodelle bieten Die Beurteilung der Eignung von Klassenkandidaten kann deshalb nur aufgrund eines tiefgehenden Verst ndnisses des Untersuchungsbereichs geschehen In 2 6 wurde untersucht wie bekannte Methoden diese Fragestellung angehen Die bisher gebotenen Unterst tzungen des Entwicklers erscheinen f r diese Entwurfs t tigkeit unzureichend siehe 2 6 2 Entweder bleibt die Wahl der Klassen seiner Intuition berlassen die gebotenen Verfahren vernachl ssigen die fachliche Aus einandersetzung mit dem Untersuchungsbereich oder sie sind nicht praktikabel BASE bietet dem Entwickler eine Richtschnur f
293. feinerten Modell in Abbildung 4 9 auf Seite 145 vorgenommen weil der An wendungsfall Bestellung bearbeiten ebenfalls das bei der Verfeinerung von Bestel lung annehmen neu identifizierte Ding Bestellmenge betrifft Anderungen sind wieder schwarz hervorgehoben und tibernommene Diagrammelemente grau darge stellt Bei diesem Verfeinerungsschritt hat sich die Struktur des Liniendiagramms erheb lich ge ndert Durch die genauere funktionale Betrachtung sind zus tzliche Schichten zur Anordnung der Knoten hinzugekommen Die starke Verzweigung unterhalb von Bestellung bearbeiten dokumentiert die weitgehenden Datenabh n gigkeiten der Einzelschritte in dieser Bearbeitung Dies spiegelt wider da bei der Bearbeitung von Bestellungen die wesentlichen Komponenten des sp teren Sy stems zusammenwirken m ssen Die Annahme von Bestellungen die Verwaltung des Lagers und der Best nde der einzelnen Produkte und die Auslieferung von Be stellungen k nnen weitgehend voneinander getrennt behandelt werden Bei der Bestellungsbearbeitung sind jedoch alle diese T tigkeitsgebiete mit betroffen Aufgedeckt wurde bei der Zerlegung das Vers umnis die Vorgemerkte Menge in 148 4 BASE ein begriffsbasiertes Analyseverfahren f r die Software Entwicklung nerhalb des Anwendungsfalls Bestellung bearbeiten zu beachten Ist nicht gen gend Wein auf Lager um einen Bestellposten sofort ausliefern zu k nnen mu bei der Bestellungsbearbeitung die Vorgemerkte
294. ffsverbands dar Die Ober Unterbegriffsordnung ist dergestalt wiedergegeben da vom Knoten ei nes Unterbegriffs zu den Knoten seiner Oberbegriffe aufsteigende Linienz ge f h ren Gegenst nde sind an dem untersten Knoten notiert unter dessen Begriff sie fallen und Merkmale an dem obersten Knoten dessen Begriff sie kennzeichnen Dabei werden Gegenst nde etwas unterhalb und Merkmale etwas oberhalb der Knoten angegeben Zur besseren Kennzeichnung sind hier die Gegenst nde au er dem fett gedruckt 88 3 Formale Begriffsanalyse Beispiel 7_ Liniendiagramm mit reduzierter Beschriftung Angegeben ist ein Liniendiagramm zum Kontext aus Beispiel 5 auf Seite 80 Statechart diagram Class diagram Collaboration diagram Data flow diagram Coad Yourdon Sequence diagram Component diagram Activity diagram Use case diagram State transition graph Object diagram Fence diagram Domain chart Q 6 Jacobson Rumbaugh Martin Odell Shlaer Mellor Abb 3 7 Liniendiagramm zu Beispiel 5 Das Liniendiagramm enth lt die volle Information des formalen Kontexts Folgerung 7 Formaler Kontext Liniendiagramm Sind G M I ein formaler Kontext und ge G und me M so gilt glm amp ygsum Beweis Gilt g m so ist ge m Nach Folgerung 4 ist also yg lt m m um Ist dagegen yg lt um
295. g von Altsystemen erw hnt Ihr Ansatz dabei Formale Begriffs analyse einzusetzen ist dem von Snelting Tip und auch dem von BASE eng ver wandt Allerdings sind die Rollen von formalen Gegenst nden und Merkmalen vertauscht Die Fragestellung ist wie man im Quellcode von Altsystemen m gliche Kompo nentenzerlegungen entdecken kann die bei der urspr nglichen Implementierung nicht explizit vorgenommen worden sind Anhand einer solchen Zerlegung kann danach das System besser als im vorliegenden Zustand strukturiert werden um sp tere Erweiterungen und andere Pflegema nahmen leichter durchf hren zu k n nen Sinnvolle Zerlegungen beachten das Prinzip der Datenabstraktion siehe 2 2 2 auf Seite 24 In ihrem Verfahren betrachten Lindig und Snelting dual zu 6 2 und BASE als formale Merkmale die Variablen und als formale Gegenst nde die Prozeduren in klusive Funktionen eines Programms Die Inzidenzrelation des formalen Kontexts gibt an welche Variable in welcher Prozedur benutzt wird hnlich zu BASE Das entstehende Liniendiagramm spiegelt wie in BASE die Datenabh ngigkeiten der Prozeduren wieder Dementsprechend dient es der Ableitung von Modularisie rungsvorschl gen Das Beispiel in Abbildung 6 6 stammt aus L S 97 Es unter sucht die Struktur eines Modula 2 Programms das in 8 Modulen 33 Prozeduren und 16 Variablen enth lt Zun chst einmal betrachten Lindig und Snelting formale Begriffe als Modulkandi daten In den ent
296. gb b Mit der vermuteten besseren Schranke fiir r erg be sich O M M b logb 325 B 5 Automatisches Zeichnen von Diagrammen Der Algorithmus wurde durch eine neue Operation der Klasse TLineDiagram sie he 5 4 3 in The Formal Concept Analysis Library integriert Diese Operation er m glicht die Diagrammanpassung bzgl der Begriffsinhalte oder der Begriffsum f nge 326 Beispielsystem f r BASE JWI Inc Die Beschreibung des Gesch fts von JWI ist dem FRISCO Report FHL 97 entnommen Sie besteht aus 28 umgangssprachlich formulierten Aussagen die im Original in Englisch gegeben sind F r Lehrveranstaltungen der Philipps Universi t t Marburg unter anderem das durchgef hrte Studentenpraktikum FGT 98 dessen Modellierung der Darstellung in Kapitel 4 zugrunde liegt wurden sie ins Deutsche bersetzt Diese bersetzung ist im folgenden angegeben Sl Japan Wines Inc kurz JWI ist ein Wein Vertriebszentrum S2 Das Gesch ft von JWI besteht darin den Lagerbestand zu verwalten und Produkte an Einzelh ndler zu liefern entsprechend deren Bestellungen S3 Alle Bestellungen die an einem Tag einlaufen werden am n chsten Tag bearbeitet S4 Das Lager wird t glich berpr ft und aufgrund des festgestellten Bedarfs werden Bestellungen an Weinproduzenten erteilt S5 Das Zentrum ist nicht zust ndig f r Abrechnungen mit den Einzelh ndlern oder Weinproduzenten S6 Es folgt eine genau
297. geben public CUsecaseAngaben Konstruiert eine leere Liste von Angaben CUsecaseAngaben L scht die dynamisch erzeugte Liste void parseSpecials const TstringArray amp specials Parst die Angaben aus lt specials gt und stellt sie als Liste von lt UsecaseDaten gt zur Verf gung void entferneUsecase const CString amp uc L scht alle Angaben in denen der Identifier lt uc gt vorkommt d h den eigenen Listeneintrag und die Eintr ge in uses extends Listen und Zerlegungen anderer Anwendungsf lle 331 D 1 CUsecaseAngaben void setBeschreibung const CString amp b const CString amp uc Setzt lt b gt als Beschreibung des Anwendungsfalls mit Identifier lt uc gt const CString getBeschreibung const CString amp uc Gibt einen Zeiger auf die Beschreibung des Anwendungsfalls mit Identifier lt uc gt void addUsesAngabe CString usedUc const CString amp usingUc Erg nzt den Anwendungsfall mit Identifier lt usedUc gt in der uses Liste des Anwendungsfalls mit Identifier lt usingUc gt void entferneUsesAngabe CString usedUc const CString amp usingUc L scht den Anwendungsfall mit Identifier lt usedUc gt aus der uses Liste des Anwendungsfalls mit Identifier lt usingUc gt int uses const CString amp usingUc const CString amp usedUc Ermittelt ob der Anwendungsfall mit Identifier lt usedUc gt in der uses Liste des Anwendungsfalls m
298. gen of Bereit BER Abb 5 12 Ein neuer Modularisierungsvorschlag bernimmt der Benutzer das Komponentenmodell mu er ihm wieder einen Na men geben Als Standard wird ihm der Name des Ausgangsmodells mit angeh ng tem Ko und einer Zahl die die erzeugten alternativen Komponentenmodelle durchnumeriert vorgeschlagen Andernfalls wird das Modell bei Nein gel scht und bei Abbrechen zwar gespeichert aber als noch nicht best tigt gekennzeich net Letzteres erm glicht es also die Entscheidung aufzuschieben 5 2 4 Negativ beschiedene berpr fungsfragen Ist beabsichtigt berpr fungsfragen zu einem eingegebenen Anwendungsfallmo dell zu bearbeiten k nnen diese sofort generiert werden ohne vorher das Dia gramm auszurichten denn sie sind von der graphischen Repr sentation unabh n gig Bei dem Auffinden einer aus fachlichen Gr nden zu verneinenden Frage bleibt der anzeigende Dialog stehen w hrend der Anwendungsfall Dialog ge ffnet 1 Zur Generierung der berpr fungsfragen siehe 4 3 2 4 4 1 und Anhang B 3 203 5 3 Test des Ansatzes wird Weil dieser sehr gro ist liegen beide in der Regel bereinander Um die Ge d chtnisst tze durch die berpr fungsfrage auszunutzen reicht es aber den An wendungsfall Dialog f r einen Moment zu Seite zu schieben Med Jwi csc BASE loj x Datei Bearbeiten Ansicht Modell berpr fung Stimmt es da alle Dinge die in die links stehenden Anwendu
299. gen ob the_transitive_closure g ltig ist Analog verh lt es sich mit the_indices und indices_ok Innerhalb von BASE werden keine dementspre chenden nderungen vorgenommen und die Knotennummern entsprechen immer den Arraypositionen in the_points Dadurch sind die beiden ok Attribute nicht von Interesse Nicht einmal the_indices wird ben tigt Die Attribute der Klassen f r Knoten und Kanten 7TDPoint und TDLine sind Abbildung 5 17 auf Seite 211 zu entnehmen Ein Knoten speichert in x_value und y_value seine Koordinaten im durch the_unitlength und the_unit spezifizierten Koordinatensystem in the_number seine Nummer und in the_format Angaben zu seiner Formatierung Eine Kante enth lt in from_point und to_point die Nummern ihres Start oben und Zielknotens unten in the_number ihre eigene Nummer und in the format Angaben zu ihrer Formatierung F r beide bleibt the_description in der Regel leer F r die Verwendung in BASE wurde The Formal Concept Analysis Library um die Berechnung von Duquenne Guigues Implikationenbasen Satz 14 auf Seite 109 erg nzt siehe Anhang B 3 Um diese nicht immer neu berechnen zu m ssen wer den sie mit dem Liniendiagramm gespeichert Dies geschieht wieder ber das von TFCAObject an TLineDiagram vererbte Attribut the_specials Gespeichert werden nur die Pr missen der Implikationen also die Pseudoumf nge bzw Pseudoinhalte In BASE werden die Pseudoumf nge sofort bei der Erstellung des Liniendia gramms
300. genimplemen 282 B Algorithmen zur FBA tierung auszugehen Im Vergleich zu Algorithmus B1 ist f r den Fall der Bestimmung aller Begriffsum f nge inhalte am Anfang eine kleine Verk rzung m glich weil M bzw G ohne Berechnung bekannt sind Algorithmus B4 Berechnung aller Begriffsumf nge inhalte Gegeben sei ein endlicher formaler Kontext G M J mit Tepe Der Algorithmus berechnet in der Variablen A alle Begriffsumf nge BA 1 der lektisch erste Begriffsumfang A M B4 2 Der letzte Umfang ist die Gesamtmenge WHILE A G DO B4 3 A nextExtent A F r die Begriffsinhalte ist der Algorithmus analog nur da man mit G star tet und next Intent aufruft G W 96 2 1 S 67 Nach den Vor berlegungen ist die Komplexit t des Algorithmus O n logn B G M DI mitn max G MI Die vollst ndigen formalen Begriffe erh lt man dadurch da man zu jedem Be griffsumfang den entsprechenden Inhalt berechnet bzw zu jedem Begriffsinhalt den entsprechenden Umfang Dies ist nach oben in O n logn B G M DI m glich erh ht den Aufwand also asymptotisch nicht Im schlechtesten Fall hat Algorithmus B4 ein exponentielles Laufzeitverhalten weil B G M D gel MII formale Begriffe enthalten kann Satz B2 Exponentielle Begriffsanzahl Sind ne N G M 1 n und i j e GXM i j so umfa t B G M I 2 formale Begriffe Beweis Lin 99 3 1 F r jede
301. gl auch die Diskussion um die Rollen von formalen Gegenst nden und Merkmalen in 4 2 3 auf Seite 134 Lindig und Snelting pr gen die Sprechweise vom Modul maximaler Koh sion in dem jede Funktion alle Variablen benutzt und vom Modul regul rer Koh sion von dessen Funktionen eine alle enthaltenen Variablen benutzt und von dessen Varia blen eine von allen Funktionen des Moduls benutzt wird 163 4 6 Blockrelationen in BASE Im Begriffsverband entsprechen Module maximaler Koh sion den formalen Be griffen Beim bergang zu Blockrelationen entstehen an den Stellen Module regu l rer Koh sion an denen der entsprechende Block als obere Intervallgrenze einen Merkmals und als untere Intervallgrenze einen Gegenstandsbegriff tr gt In L S 97 bedauern die Autoren das Fehlen eines praktischen Anwendungsbeispiels f r diese Technik F r BASE war die berlegung nun da im Falle von Klassen als Modularisierungseinheiten eine gr ere Wahrscheinlichkeit vorliegt sie als Module regul rer Koh sion zu finden So betreffen alle Operationen hoffentlich die Klasse selber und ein eventuell modellierter Konstruktor sollte alle Attribute initialisieren In Analogie zu L S 97 ist aber m glich da sich Komponenten als gr ere Modularisierungseinheiten ergeben Im folgenden ist deshalb immer von Komponenten die Rede Eine eventuell identifizierte Klasse wird damit sprach lich als eine Komponente behandelt die nur aus einer Klasse besteht
302. griffsinhalt und um gekehrt vergr ert sich zu einem Begriffsinhalt der zugeh rige Umfang Man er h lt damit weniger Begriffe und vergr bert die Klassifikation Definition 33 Blockrelation Eine Blockrelation eines formalen Kontexts G M I ist eine Relation JCEGxM mit a ISJ b F r alle ge G ist g ein Begriffsinhalt von G M I c F r alle me M ist m ein Begriffsumfang von G M D G W 96 3 4 Definition 54 S 122 Mit einer Blockrelation J entsteht ein neuer formaler Kontext G M J Die Schreibweisen g und m sind in Definition 19 auf Seite 81 erkl rt So ist g die Menge aller formalen Merkmale die g durch J zugesprochen werden und dual um fa t m die formalen Gegenst nde auf die m nach J zutrifft Da nach 112 3 Formale Begriffsanalyse Folgerung 2 a auf Seite 82 zu einem formalen Kontext die Begriffsinhalte durch Schnitte von Gegenstandsinhalten und die Begriffsumf nge durch Schnitte von Merkmalsumf ngen entstehen besitzt nach den Bedingungen b und c aus Defini tion 33 der Kontext G M J gegen ber G M I keine neuen Begriffsinhalte oder Begriffsumf nge Bemerkung 8 _ Triviale Blockrelationen Zu einem formalen Kontext G M T sind die Relationen J und G x M immer Blockrelationen Deshalb werden sie hier als triviale Blockrelationen bezeichnet Beispiel 16 Blockrelation zu Beispiel 15
303. gt ist D h Voky V Nach Hilfssatz 9 gilt also V gt W in X f r alle WCk V Sei nun V gt W eine beliebige in R g ltige Konklusion Dann gilt WER f ralleRe K mitVCR Also ist auch WCky V Entsprechend Hilfssatz 10 definiert man Definition 27 Maximale Konklusion Ist X eine Menge Rc P X ein System von Teilmengen und V c X so hei t ky V N Re R VCR die maximale Konklusion von Vin R Vergl G D 86 S 9 Es gibt also f r jedes Ve P X eine Implikation mit maximaler Konklusion So ist die Anzahl der zu betrachtenden Implikationen bei einer n elementigen Menge X schon einmal auf 2 reduziert weil nach Hilfssatz 10 und Hilfssatz 9 alle anderen g ltigen Implikationen aus solchen mit maximaler Konklusion folgen In Beispiel 8 auf Seite 93 sind die Implikationen mit maximaler Konklusion gerade durch die in den Zeilen jeweils am weitesten rechts stehenden Kreuze gegeben Die maximalen Konklusionen bilden ein H llensystem Hilfssatz 11 H llensystem der maximalen Konklusionen Ist X eine Menge und X P X ein System von Teilmengen so ist ky D X gt P X ein H llenoperator auf X Vergl G W 96 1 1 S 19 Beweis Seien V W cX mit VcMW Ist dann Re R mit WER soistauch VCR D h ky V RE R VERSARE R WER ka W kg ist also monoton F r Vc X ist VCky V nach Konstruktion und somit k extensiv Damit folgt f r V c X auch ky V S klky V Ist aber umgekehrt Re R mit VCR so gilt kV O Se R VCS CR weil R
304. guage Notation fiir objektorientierte Modelle Standard der Object Management Group BJR 97 World Wide Web weltumspannender Mythos der 90 er Jahre siehe hittp www w3 org Index Symbole Isomorphismus 74 81 82 lt Ober Unterbegriffsordnung 84 lt oberer unterer Nachbar 70 l 81 f 81 A Infimum 67 v Supremum 67 Oy 69 1p 69 B 82 B Begriffsverband 84 a 66 73 DOg Duquenne Guigues Basis 100 d 81 p 65 Y8 Gegenstandsbegriff 87 um Merkmalsbegriff 87 A abstrakter Datentyp 24 52 additives Zeichnen 305 317 Aggregation 33 35 Akteur 128 Analyse 22 30 45 127 181 240 muster 38 Anforderung sdefinition 22 funktionale Anwendungsfall 38 41 46 53 57 60 127 130 134 181 190 210 diagramm 46 Assoziation 33 35 Atom 73 140 307 Attribut 25 35 40 129 140 160 161 164 224 229 240 B Basis Duquenne Guigues Basis Implikationenbasis Baustein Software Baustein Begriff 62 161 sinhalt 62 63 79 82 112 137 276 281 287 315 sumfang 62 63 78 82 112 137 276 281 287 sverband 78 84 137 284 314 316 dualer 85 formaler Gegenstandsbegriff Merkmalsbegriff Oberbegriff Unterbegriff Benutzungsbeziehung 24 33 135 167 188 228 Bereichsanalyse 55 Binden dynamisches sp tes 28 351 Index Block 117 118 119 120 121 164 178 183 215 233 270 272 273 297 relatio
305. h nur eine einzelne Komponente angezeigt werden In diesem Fall werden Kompo nenten externe Dinge von unter einem Komponentenknoten liegenden Knoten und Komponenten externe Anwendungsf lle von h heren Knoten grau in die Dar stellung integriert In Abbildung 5 7 sieht man nur das anhand der Dinge 5 1 3 Darstellung von berpr fungsfragen berpr fungsfragen werden nacheinander dem Benutzer in einem nicht modalen Dialog pr sentiert Modelluberprufung Stimmt es da alle Anwendungsfalle bzw Funktionen die die links stehenden Dinge betreffen auch die rechtsstehenden benutzen Lieferkartei Wartekartel Bestellposten Lagerbestand Produkt Ja abbrechen Nein korrigieren Abb 5 8 Eine berpr fungsfrage Der Benutzer kann e die Frage bejahen und bekommt dann die n chste vorgelegt e sie bejahen und die berpr fung abbrechen sie verneinen wodurch er sofort in den Anwendungsfall Editor gelangt F r den letzten Fall ist der Dialog modal angelegt damit der Benutzer erinnert wird was ihn zu einer Indizierungskorrektur oder Modellerg nzung angeregt hat Bei der Anzeige der generierten Fragen wird nach deren Anzahl automatisch ent schieden ob alle nach dem Modell aus den links aufgef hrten Elementen folgen den Elemente auf einmal oder einzeln abgefragt werden Im zweiten Fall werden berpr fungsfragen mit mehr als einelementiger rechter Seite in mehrere Fragen 198 5 Ein Analyse Werkzeug
306. h die Betrachtung der kompletten Begriffsinhalte dazu Der Klassenname wird durch den in der reduzier ten Beschriftung zugeordneten formalen Gegenstand gegeben Was es bedeutet wenn dieser dadurch nicht eindeutig bestimmt ist ist weiter unten ausgef hrt Der Fall da ein Begriff kein Gegenstandsbegriff ist wird in Zusammenhang mit Abbildung 6 3 auf Seite 227 diskutiert Im kompletten Begriffsumfang sind ber dies die Namen aller Oberklassen enthalten Im Sinne der Vermeidung von Redundanz ist die vorgeschlagene Vererbungshier archie optimal weil alle Attribute und Operationen die einigen Klassen gemein sam zukommen durch genau eine Klasse eingef hrt werden Allerdings sind in Abbildung 6 2 nur die Deklarationen und nicht die Implementierungen von Opera tionen ber cksichtigt siehe unten In Abbildung 6 2 ist zu sehen da jeder Aspekt der Klasse ARRAY der sich durch gemeinsame Attribute und Operationen einiger Oberklassen ausdr cken l t auch wirklich als eigene Klasse modelliert ist Dabei ber cksichtigen die einzelnen Vererbungslinien verschiedene Kriterien Bertrand Meyer unterscheidet in Mey 90 die Kriterien Elementzugriff Traversierbarkeit und Speicherung Die Klasse TO_SPECIAL ganz links regelt die Speicherverwaltung f r Arrays und Strings Rechts oben ist erst einmal festgehalten da ARRAY eine Container Klas se ist in deren Objekte mehrere andere Objekte geb ndelt werden k nnen In dem mittleren Strang w
307. h oben g N m c g N m y Also gilt g x g N m g N m x g N m y ed Weiter ist g Amc g g also auch ia m xgi ce xg CJ Weil nach Satz 7 auf Seite 84 yg Aum g m g N m y bedeuten die hergeleiteten Inklusionen yg T J yg A um Nach der Definition der Abbildung B bedeutet dies g B T J m D h Jc B T J Gelte jetzt umgekehrt g B T J m f r ge G me M D h ex g Am U U Am xg CJ Also ist nach oben und Folgerung 2 b a auf Seite 82 II II IJJ II IJJ JJ JIT g cle nm chg nm SCE nm J J aS IS J g um g um g Am Insbesondere gilt damit g g cm dh gJm Es folgt B t J CJ und insgesamt B t J J Also sind die Abbildungen B und T zueinander invers und ordnungserhal tend und damit der Satz bewiesen Als Konsequenz sind damit die Verb nde der Blockrelationen zweier formaler Kontexte mit isomorphen Begriffsverb nden auch isomorph Folgerung Al Formale Kontexte mit isomorphen Begriffsverb nden Sind G M J und H N R zwei formale Kontexte so da B G M I 3 H N R so sind auch die Verb nde der Blockrelationen von G M T und H N R isomorph Beweis Nach Hilfssatz A4 auf Seite 263 gibt es einen Isomorphismus w zwi 268 schen den Verb nden der vollst ndigen Toleranzrelationen auf B G M 7 und auf 3 H N R Sind Bacc m n und Bacy n ey Wie in Satz 16 auf Seite 264 Isomorphismen zwischen den Verb nd
308. he Zerlegung zur Identifikation neuer Dinge f h ren auf welche die Behandlung der neuen Funktionen die Aufmerksamkeit von Entwicklern und Fachexperten lenkt Da der funktional bergeordnete Anwen dungsfall und die neu betrachtete Funktion in einer uses Beziehung stehen Eine 1 Mit den Festlegungen da Funktionen in weiteren Zerlegungsschritten zu Unter Anwendungsfallen wer den k nnen und da Unter Anwendungsf lle innerhalb der Zerlegung selber wieder Anwendungsf lle sind ist die Darstellung auf Zerlegungsschritte tieferer Ebenen bertragbar 142 4 BASE ein begriffsbasiertes Analyseverfahren f r die Software Entwicklung in der Zerlegungshierarchie niedriger stehende Funktion wird von den bergeord neten benutzt um Teilaufgaben zu erf llen bzw Einzelschritte auszuf hren m s sen die neu identifizierten Dinge in der Inzidenzrelation des formalen Kontexts auch dem bergeordneten Anwendungsfall zugeschrieben werden vergl 4 2 3 auf Seite 135 Die funktionale Verfeinerung erfolgt in einer top down Strategie und ist dementsprechend im Liniendiagramm von oben zur Diagrammitte hin nach zuvollziehen siehe Diskussion von uses Beziehungen in 4 2 4 auf Seite 138 F r die anderen untersuchten Anwendungsf lle ist eigens zu untersuchen welche der neu identifizierten Dinge sie betreffen So erh lt man durch die Zerlegung ei nen neuen formalen Kontext und damit auch ein neues Liniendiagramm Im folgenden werden d
309. hen Menge X sollen die H llen in lek tischer Reihenfolge bestimmt werden Satz Bl Lektisch n chste H lle Seien X X _ eine endliche Menge ein H llenoperator U das zugeh rige H llensystem wie in Hilfssatz 4 auf Seite 77 und VSX F r ie 0 n 1 setze V Dox PVA xo a Xia I Weiter sei k max i V lt V ox Dann ist V gx die lektisch kleinste H lle von die lektisch echt gr er als V ist Beweis G W 96 2 3 Satz 5 S 67 Es ist X Ge Uy Nach Hilfssatz B2 folgt V lt X aus VEX Damit existiert W min Ue U V lt U Minimum bzgl der lektischen Ordnung U ist nach Voraussetzung endlich Wegen V lt W gibt es ein j e 0 n 1 mit V lt W D h xe W V und VA xo 3X1 WA Xo 3 X1 Weil bzgl der Inklusion monoton und W eine H lle von ist gilt V Dox INK HU x COW W Nach Hilfssatz B2 folgt V gx SW 278 B Algorithmen zur FBA Weiter ist x V oXx V und VAN EV Box N ixo gt SWA Xo XF VA Xp X1 D h V lt V x Nach Wahl von W ist damit W lt V oXx also W V89 Insbesondere ist somit k in der Behauptung wohldefiniert Annahme k gt j Dann w re x Xo X 1 FV Wegen VA xo 1 V Dox N Xo Xp ware also x V ER und V Bg Xx O Xo gt Xj 1t VE A Xo 3 Xe 1b O Xo X INN Xo XF VA xp 3 X1 WATER Das bedeutet V Box SW im Widerspruch zur Wahl von W weil V x als B
310. henbereichskoordinaten des Diagramms nur bei nderungen der Zeichenbereichsgr e aktuell BOOL zeichnungsGroesseok Pa t das Diagramm in den Zeichenbereich BOOL ggsteZeichnen mmleZeichnen beschriftungLoeschen soll die Beschriftung mit formalen Gegenst nden bzw Merkmalen angezeigt oder die komplette Beschriftung w hrend des Verschiebens gel scht werden int klickX klickY Zeichenbereichskoordinaten eines Mausklicks double verschXun verschYun vorgenommene Verschiebung in Diagrammkoordinaten char verschiebenVon einzelnen P unkten Haupt F iltern Haupt I dealen TBitArray verschobeneKnoten Beim Verschieben von Filtern und Idealen sind gleichzeitig mehrere Knoten betroffen TBitArray verschobeneKanten Beim jedem Knotenverschieben sind in der Regel mehrere Kanten betroffen int obereVerschGrenze untereVerschGrenze vertikale Verschiebegrenzen in Zeichenbereichs koordinaten bezogen auf den Punkt des Mausklicks TObject verschobenerGgst formaler Gegenstand dessen Bezeichnung verschoben wird TAttribute verschobenesMnml formales Merkmal dessen Bezeichnung verschoben wird int kontextmenueVonkKnoten Nummer des Knotens zu dem ein Kontextmen angezeigt wird Operationen public virtual void OnDraw CDC pDC Gibt Diagramm auf Bildschirm oder Drucker aus protected virtual void OnUpdate CView pSender LPARAM 1lHint CObject pHint Bereitet das Zeichen vor
311. hiteboard Edition TogetherSoft LLC Tog 00 erstellt mit Innovator 6 1 Demo Version MID GmbH Mid 99 erstellt mit Anaconda 1 0 Vog 99 bernommen aus FGT 98 erstellt mit ObjetiF 4 0 Demo microTOOL GmbH Mic 99 erstellt mit Paradigm Plus 3 51 Learning Edition Platinum Technology C A 00 erstellt mit MS Excel 97 Microsoft Corporation Per 97 347 Abbildungsverzeichnis 348 Abk rzungsverzeichnis BASE Begriffsbasiertes Analyseverfahren f r die Software Entwicklung Name der vorgestellten Methode BON Business Object Notation Methode von Kim Walden amp Jean Marc Nerson W N 95 EBNF Erweiterte Bauckus Naur Form Sprache zur Syntaxbeschreibung ISO 96 EOS Evolution re objektorientierte Software Entwicklung Vorgehens modell von Wolfgang Hesse H W 94 Hes 96 E R Entity Relationship Notation f r Datenmodelle Che 76 FBA Formale Begriffsanalyse FCA L The Formal Concept Analysis Library C Klassenbibliothek f r Anwendungen der Formalen Begriffsanalyse Vog 96 FRISCO Framework of Information System Concepts Arbeitskreis zum Thema Konzeptuelle Grundlagen von Informationssystemen siehe FHL 98 GUI Graphical User Interface graphische Benutzerschnittstelle HTML Hypertext Markup Language siehe M N 98 JWI Japan Wines Incorporated fiktive Weingro handlung als Anwend ungsbeispiel fiir BASE LRDM Logical Relational Design Methodology Erweiterung des E R Modells TYF
312. hmen R cklauf bearbeiten gt Bestellung bearbeiten Wareneingang bearbeiten 12 Bestellung annehmen Wareneingang bearbeiten gt Bestellung bearbeiten Riicklauf bearbeiten 13 Bestellung annehmen Lieferscheine erstellen gt Bestellung bearbeiten Wareneingang bearbeiten R cklauf bearbeiten 14 Bestellung annehmen Fehlbest nde nachbestellen gt Bestellung bearbeiten Lagerbestand ermitteln Maximalen und minimalen Lagerbestand definieren Wareneingang bearbeiten R cklauf bearbeiten Die 10 Implikation f hrt etwa zu der Frage ob alle in die Anwendungsf lle Be stellung bearbeiten und Fehlbest nde nachbestellen involvierten Dinge auch bei der Ermittlung des Lagerbestands und der Bearbeitung des Wareneingangs betrof fen sind Da Lagerbestand ermitteln von Wareneingang bearbeiten benutzt wird kann bei der Untersuchung ob dies fachlich zutrifft der Anwendungsfall Waren eingang bearbeiten vernachl ssigt werden Er betrifft ja automatisch alle in Zager bestand ermitteln involvierten Dinge W re die Implikation fachlich zu halten so k men den beiden Anwendungsf llen Bestellung bearbeiten und Fehlbest nde 158 4 BASE ein begriffsbasiertes Analyseverfahren f r die Software Entwicklung nachbestellen gemeinsam keine anderen als die in Lagerbestand ermitteln invol vierten Dinge Produkt und Lagerbestand zu Die berlegung auf fachlicher Ebene da die nachzubestellenden Mengen gerade bei der Bearbeitung der B
313. hon im Entwurf OOD und sogar schon in der Analyse OOA einzusetzen nur naheliegend Die Unterst tzung der Software Entwicklung durch ein einziges Paradigma ber alle Entwicklungspha sen hinweg ist eine gemeinsame Idee der objektorientierten Modellierungsmetho den So vermeidet man Phasenbr che Coad Yourdon schreiben dazu moving from OOA to OOD is a progressive expansion of the model This expansion is in contrast to the radical movement from data flow diagrams to structure charts or from data flow diagrams to an object oriented representation Such movement is abrupt and forever disjoint designers get a hint from the analysis and then go off to the real thing Such approach fails to bring the requirements as a central issue into design Moreover traceability between the two is difficult and in content not very helpful C Y 90 S 163 Die Autoren heben dabei auf die klassische funk tionsorientierte Modellierung ab bei der in der Analyse Datenflu diagramme vergl DeM 78 und im Entwurf Strukturdiagramme vergl Y C 79 weite Ver breitung gefunden haben Wechselt man die Modellierungskonstrukte von Phase zu Phase besteht die Gefahr ohne Bezug zum Modell der vorhergehenden Phase neu zu entwickeln Speziell problematisch ist die Verfolgbarkeit von Modell nde rungen besonders in R ckrichtung wenn etwa im Entwurf festgestellt wird da am Analysemodell etwas ge ndert werden mu Denn lassen sich die
314. i aber auch fachlich begr ndete Ausnahmen zugelassen werden e die aus anderen Modellelementen abgeleitet bzw berechnet werden k nnen Diese Ausschlu kriterien werden h ufig in der Diskussion mit den Anwendern ber das erste Klassenmodell festgestellt In der Methode Fusion stellen Klassen Begriffe des Untersuchungsbereichs dar Man bekommt Klassenkandidaten aus der Betrachtung der Substantive in der An forderungsbeschreibung Wirklich interessant sind aber nur die die f r das Ver st ndnis des Untersuchungsbereichs wichtige Dinge betreffen Die Kandidatenliste von Fusion sieht so aus e materielle Dinge e Personen und Organisationen e Abstraktionen von den Autoren nicht weiter pr zisiert Nach einer Betrachtung der Beziehungen zwischen den Kandidaten Kommunika tions Assoziations Aggregations und durch Aktionen gestiftete Beziehungen wird die Kandidatenliste berpr ft ob e die Kandidaten relevant oder f r eine Problembeschreibung nebens chlich sind e sich Kandidaten berschneiden e die gew hlten Namen zutreffend sind Dabei sollten bei m glichen Alternativen immer die allgemeineren Klassen ge w hlt werden Nach Rumbaugh sind Objekte materielle Dinge oder Begriffe Man sollte sich be wu t sein da nicht alle n tigen Klassen in Anforderungsdokumenten zu finden sind sondern die in ihnen zu identifizierenden nur einen Ausgangspunkt bilden Bei der Erstellung eines ersten Klassenmodells werden wei
315. i einem Kontext einer bestimmten Gr e auf interessante Blockrelationen zu sto en Die Verteilung der Kontextgr en ist in Abbildung B 3 wiedergegeben 60 50 40 30 20 10 Anteil nicht trivialer Blockrelationen 0 0 50 100 150 200 250 300 350 400 G x M Abb B 2 Anteil interessanter Blockrelationen 1600 1400 2 S 1200 E 1000 S 800 3 e gt e 600 RETTEN A N 400 Pree OP osovo o 200 0 0 50 100 150 200 250 300 350 400 G x M Abb B 3 Verteilung der Kontextgr en zu Abbildung B 2 303 B 4 Berechnung von Blockzerlegungen Um die Ergebnisse zu berpr fen wurden noch Experimente mit vollkommen zu f llig erzeugten Kontexten durchgef hrt Abbildung B 4 spiegelt die Ergebnisse ei nes Tests mit 4936 formalen Kontexten der Gr en 5 x 5 bis 30 x 30 wider 100 90 80 70 60 50 40 30 20 10 Anteil nicht trivialer Blockrelationen 0 0 100 200 300 400 500 600 700 800 900 G x M Abb B 4 Anteil interessanter Blockrelationen bei v llig zuf llig erzeugten Kontexten Die Verteilung der Kontextgr en war der des vorher beschriebenen Experiments hnlich 70 60 50 40 30 20 Anzahl des Vorkommens 10 0 200 400 600 800 G x M Abb B 5 Verteilung der Kontextgr en zu
316. ical number seven plus or minus two Some limtis on our capacity for processing information Psychological Review vol 63 pp 81 97 1956 S Miinz W Nefzger HTML 4 0 Handbuch Franzis Verlag oder http www teamone de selfaktuell 1998 365 Literatur M O 92 M O 95 M P 92 MSW 99 Ore 44 Ort 95 Ort 97 Per 97 P F 87 Rat 00 RBP 91 Rei 91 R G 92 Ris 70 366 J Martin J Odell Object Oriented Analysis and Design Prentice Hall Englewood Cliffs New Jersey 1992 J Martin J Odell Object Oriented Methods A Foundation Pren tice Hall Englewood Cliffs New Jersey 1995 D E Monarchi G I Puhr A Research Typology for Object Oriented Analysis and Design Communications of the ACM Vol 35 No 9 pp 35 47 September 1992 G Mineau G Stumme R Wille Conceptual Structures Represen ted by Conceptual Graphs and Formal Concept Analysis Preprint Nr 2034 Technische Universitat Darmstadt Fachbereich Mathe matik April 1999 O Ore Galois Connexions Transactions of the American Mathe matical Society Vol 55 1944 E Ortner Elemente einer methodenneutralen Konstruktionssprache fiir Informationssysteme Informatik Forschung und Entwicklung Band 10 Ausgabe 3 S 148 160 1995 E Ortner Methodenneutraler Fachentwurf Reihe Wirtschaftsinfor matik Teubner Leipzip 1997 Perspection Inc Microsoft Excel 97 At a Glance Microsoft Press 1997
317. ich selbst die gleiche bleibt Ein Unterschied tritt erst bei verschr nkter Rekursion auf wenn sich die Rekursion ber mehrere Ebenen erstreckt und so ein echter Benut zungszirkel mit mehr als einem Element entsteht Solche Konstruktionen sind aber zun chst wie oben angef hrt zu vermeiden Sie werden erst bei der Implemen tierung der Klassenoperationen m glicherweise wichtig In der Zerlegungsansicht wie in Abbildung 5 2 ist in der Mitte die funktionale Zerlegung des aktuell bearbeiteten Anwendungsfalls in einfacher Weise wiederge geben Seine Teilschritte sind in der Reihenfolge ihrer Abfolge innerhalb des An wendungsfalls aufgelistet Sie k nnen auch mehrfach vorkommen Zu jedem wei 192 5 Ein Analyse Werkzeug f r BASE ter zerlegten Schritt wird dessen Zerlegung einger ckt auch eingef gt Die Liste der Schritte auch eine leere enth lt immer eine spezielle Abschlu zeile Zu jeder Zeit ist diese Zeile oder einer der Zerlegungsschritte auf oberster Ebene selektiert Um Anwendungsf lle in die Zerlegung einzuf gen mu man sie nur links ausw h len Mit dem gt Zerlegung Button werden sie dann vor der aktuellen Auswahl in die Zerlegungsliste mitsamt eventueller eigener Zerlegung eingef gt Ebenfalls k nnen Zerlegungsschritte aus der uses Liste gew hlt werden Das Einf gen ge schieht immer auf der obersten Ebene der Zerlegung Will man einen Schritt aus der Zerlegungsliste weiter zerlegen mu man ihn durch de
318. ich die Anordnung der Knoten viel unvorteilhafter erscheint Die ses Diagramm wurde so vom Werkzeug automatisch erzeugt und danach nur noch insgesamt etwas verkleinert um es der Fenstergr e anzupassen Das automati sche Zeichnen garantiert lediglich die Korrektheit der vertikalen Anordnung des Diagramms siehe B 5 1 auf Seite 306 Ein sch nes Diagramm ist nicht zu er warten denn es ist durch formale Regeln nicht definierbar was ein gutes Dia gramm ausmacht Unter anderem spielen auch sthetische Gesichtspunkte ein Rol le Ein Ansatz besteht darin die Kanten berschneidungen zu minimieren Aber es gibt F lle in denen Diagramme mit mehr Kanten berschneidungen sinnvoller er scheinen weil sie etwa mehr Symmetrie aufweisen oder wohlbekannte Strukturen enthalten Deshalb ist es blich zuerst ein Diagramm automatisch zu erzeugen und es dann dem Benutzer zu berlassen eine f r ihn vorteilhafte Anordnung herzu stellen vergl Vog 96 3 3 S 57 Zum automatischen Zeichnen von Diagram men siehe auch B 5 auf Seite 305 199 5 2 Arbeitsweise mit dem Werkzeug Sy JWI csc BASE oJ Datei Bearbeiten Ansicht Fehlbest nde n Vareneingang bearbeiten 7 gt Bestellung bearbeiten Lieferscheine erstellen rf achbestellung Maxirnalen und minimalen Lagerbestand definieren plem al L Fahrtziell Bestellung annehmen 7 MaximalbestandL
319. ich neu ergebenden Liniendiagramme spiegeln den jeweiligen Projektstand wie der Bei Projektende sollten dann die sich entsprechenden formalen Merkmale aus der Analyse dem Entwurf und der Implementierung den selben Knoten referenzie ren Der Aufbau des Analysekontexts ist bez glich der Rollen der beteiligten forma len Gegenst nde und Merkmale dem Ansatz von BASE hnlich Entscheidender Unterschied ist aber wie er erstellt wird W hrend BASE von der funktionalen Be schreibung des zu entwickelnden Systems durch die Anwendungsf lle ausgeht nimmt Vogt die relevanten Dinge als Ausgangspunkt Problematisch scheint da bei da er per se davon ausgeht mit der Identifikation dieser Dinge immer die f r die weitere Entwicklung passenden Klassen gefunden zu haben Nur diese Identifikation der Untersuchungsgegenst nde in den verschiedenen Phasen erm g licht den Soll Ist Vergleich ber den Begriffsverband 6 7 Vergleich mit BASE Die aufgef hrten Ans tze zeigen die breiten Anwendungsm glichkeiten von For maler Begriffsanalyse in der Software Entwicklung Im Gegensatz zu BASE kon zentrieren sich die aus der Informatik stammenden Verfahren auf die sp ten Phasen des Entwicklungszyklus Dies bietet sich an weil die Extraktion der formalen Kontexte dann in der Regel automatisch erfolgen kann wenn dies auch zum Teil wie in 6 2 angedeutet erheblichen Aufwand bedeutet Der Ansatz von Vogt bewegt sich wie BASE auf dem weniger gefe
320. ie hier definierte Ordnung als partielle Ordnung vergl Bir 67 oder Halbord nung vergl Ern 82 bezeichnet Im Englischen bekommen dann partiell geord nete Mengen den sch nen Namen poset partially ordered set Lineare Ord nungen werden auch als total bezeichnet vergl Bir 67 65 3 2 Ordnungstheoretische Grundlagen Bei der Vereinbarung der Schreibweise lt wurde auch schon die inverse Relation angesprochen Diese ist mit lt ebenfalls eine Ordnung wie der folgende Satz zeigt Satz 1 2 Ist X lt eine geordnete Menge so ist auch 2 eine Ordnung auf X Beweis Bir 67 I Theorem 2 S 3 Reflexivit t Antisymmetrie und Transitivit t von 2 ergeben sich durch Umstellen der Bedingungen direkt aus den entsprechenden Eigenschaften von lt So ergibt sich eine Dualit t in ordnungstheoretischen berlegungen die sp ter in verbandstheoretischen berlegungen noch weiter ausgef hrt wird Definition 4 Duale Ordnung duale ordnungstheoretische Aussage Ist X lt eine geordnete Menge so hei t die zu lt duale Ordnung X lt 4 X 2 hei t dual geordnete Menge Zu einer ordnungstheoretischen Aussage A ber X lt die au er Variablen Konstanten und logischen Operatoren nur das Zeichen lt enth lt erh lt man die duale Aussage An indem man in A alle Vorkommen von lt durch ersetzt Bir 67 1 2 S 3 Gra 98 1 1 1 S 3 Bemerkung 2 Dualit tsprinzip f r geordnete Mengen E
321. ie schon in 4 6 auf Seite 176 angedeutet besitzt nicht jeder formale Kontext in teressante Blockrelationen also andere als nur die Inzidenzrelation selber und ganz G x M Es ist Kontexten auch nicht leicht anzusehen ob zu ihnen nicht tri viale Blockrelationen existieren Aufgrund von Satz 19 auf Seite 121 ist es nahelie gend Liniendiagramme von Begriffsverb nden und nicht die zugrundeliegenden formalen Kontexte danach zu beurteilen ob sie interessante Blockzerlegungen zulassen Nach G W 96 3 4 Satz 16 S 125 ist eine Familie paarweise ver schiedener Intervalle auf einem vollst ndigen Verband genau dann das System der Bl cke zu einer vollst ndigen Toleranzrelation auf einem vollst ndigen Unterver band gebildet als Vereinigung der betrachteten Intervalle wenn die oberen Inter vallgrenzen A abgeschlossen die unteren Intervallgrenzen V abgeschlossen und untere und obere Intervallgrenzen gleich geordnet sind Die letzte Bedingung be deutet f r zwei Intervalle u 0 u 02 da u lt u amp 0 lt o Dadurch da Kandidaten f r Blockzerlegungen einzeln getestet werden m ssen ist das Kriteri um leider sehr unhandlich Aus oben angef hrten berlegungen heraus wurden einige Experimente durchge f hrt um einen Eindruck zu bekommen ob Benutzer von BASE erwarten k nnen da ihnen interessante Modularisierungen vorgeschlagen werden F r solche Tests w re es optimal die Isomorphieklassen von Begriffsverb
322. ie verschiedenen Situationen die durch funktionale Zerle gung von Anwendungsf llen entstehen k nnen anhand von Beispielen dargestellt Eine besonders einfache Zerlegung Im Beispiel von JWI mu im Anwendungsfall Bestellung annehmen eine Kunden bestellung angelegt werden Innerhalb dieses Anlegens werden einzelne Bestellpo sten erzeugt Dies beschreibt eine erste Zerlegung dieses Anwendungsfalls Bestellung annehmen p Kundenbestellung anlegen Bestellposten anlegen p Abb 4 8 Funktionale Zerlegung des Anwendungsfalls Bestellung annehmen Hier wie auch im folgenden ist statt der blichen baumartigen Darstellung von funktionalen Zerlegungen eine den Sequenzdiagrammen siehe 2 4 2 auf Seite 38 angelehnte Notation benutzt Der Grund daf r ist zum einen da vollst ndige Se quenzdiagramme ein Ergebnis der Analyse sein sollen und sie im wesentlichen aus einer solchen funktionalen Zerlegung entwickelt werden Deshalb ist es sinnvoll schon die zeitliche Abfolge festzuhalten auch wenn sie f r die Indizierung in BASE keine Rolle spielt Zum anderen ergibt sich die bliche baumartige Anord nung sowieso schon im Liniendiagramm Der entscheidende Unterschied der hier benutzten Darstellung zu vollst ndigen Sequenzdiagrammen ist da die senk rechten Linien nicht Lebenslinien von Objekten darstellen sondern allein zur Be 143 4 3 Funktionale Zerlegung schreibung der Aufrufhierarchie dienen Insb
323. ieferant rs R cklauf bearbeiten Vorgemerkte Mengeftekartei Lagerbestand ermitteln as Lieferscheinvermerk IKundenbestellung Lieferschein Lieferkartei Bestellposten Bereit FEZETZ Abb 5 9 Automatisch berechnetes Liniendiagramm Indem man eine der Optionen Verschieben von h heren Knoten und Verschie ben von niedrigeren Knoten anw hlt lassen sich gro e Diagrammteile schnell an ordnen Da das automatisch gezeichnete Diagramm durch das Werkzeug von oben her aufgebaut wird erscheint es oft hilfreich auch von oben her das Diagramm an zuordnen und dabei alle Knoten die unter einem zum Verschieben ausgew hlten Knoten h ngen mit zu verschieben Eine Anordnung in Schichten erh ht die ber sichtlichkeit Ist eine der Schichten sehr breit enth lt also viele Knoten und beste hen starke Verzweigungen unterhalb dieser Knoten sollte man auf das Verschieben einzelner Knoten zur ckschalten weil die niedrigeren Knoten bei jeder ber ihnen vorgenommenen Verschiebung mit verschoben werden und so weit au erhalb des Diagramms landen k nnen wenn alle Verschiebungen in die gleiche Richtung f h ren Ebenfalls manuell anzupassen ist die Anordnung der Beschriftung Anwen dungsf lle werden in BASE zentriert oberhalb des entsprechenden Diagrammkno tens und Dinge unterhalb ihres Knotens gezeichnet Beim ersten automatischen Zeichnen werd
324. ieferscheine erstellen Anwendungsfall Lieferscheine erstellen verfeinert Anaconda Anwendungsfall Fehlbest nde nachbestellen verfeinert Anaconda Anwendungsfall Fehlbest nde nachbestellen weiter verfeinert Anaconda Blockrelationen zum Begriffsverband aus Abbildung 4 15 Anaconda 122 122 130 130 135 136 137 138 139 143 145 146 147 148 149 150 150 153 154 155 156 165 Begriffsverband der ersten Blockrelation aus Abbildung 4 20 Anaconda 165 Bl cke zur ersten Blockrelation aus Abbildung 4 20 Anaconda Begriffsverb nde der zweiten und dritten Blockrelation aus Abbildung 4 20 Anaconda Bl cke zur zweiten Blockrelation aus Abbildung 4 20 Anaconda Bl cke zur dritten Blockrelation aus Abbildung 4 20 Anaconda Bl cke aus Abbildung 4 22 Anaconda Funktionale Zerlegung des Anwendungsfalls Wareneingang bearbeiten 166 167 168 169 170 171 4 28 4 29 4 30 4 31 4 32 4 33 4 34 4 35 4 36 4 37 4 38 4 39 4 40 5 1 5 2 5 3 5 4 5 5 5 6 5 7 5 8 5 9 5 10 5 11 5 12 5 13 5 14 5 15 5 16 5 17 6 1 6 2 Abbildungsverzeichnis Erste erzwungene Blockzerlegung raconda Zweite erzwungene Blockzerlegung raconda Bl cke zur ersten Blockrelation zu Abbildung 4 17 Anaconda Bl cke zur zweiten Blockrelation zu Abbildung 4 17 Anaconda Bl cke des Begriffsverbands aus Abbildung 4 19 Anaconda Ein Block aus Abbildung 4 22 Anaconda Ein zweiter Block aus Abbildung 4
325. iendia gramms geleistet siehe B 2 2 und sie wie zu Algorithmus B2 erl utert zeilen und spaltenweise redundant als Bit Arrays gespeichert wird Weiter werden die Men genoperationen wieder als in logarithmischer Zeit durchf hrbar angenommen Dann ist der Gesamtaufwand f r Algorithmus B11 O n n logn G M wenn n B G M D und n B G M J Die entscheidenden Teile sind die Infimums und Supremumsbestimmung in B11 11 bis B11 21 bzw B11 32 bis B11 42 Ihr Aufwand ist durch den ersten Summanden nj ny logn beschrieben Weil n lt n gilt wird durch ihn auch der Aufwand zu Bestimmung der Begriffsinhalte bzw umf nge majorisiert B11 5 bis B11 8 bzw B11 26 bis B11 29 Die anderen beiden Summanden entstehen durch die Zuordnung von Merkmals bzw Gegenstandsbegriffen von B G M J zu sol chen von B G M T B11 3 B11 4 B11 24 und B11 25 Wenn man wei da Knoten und Kanten des Blockrelationsdiagramms in der lek tischen Ordnung der Begriffsinhalte vorliegen kann die Doppelschleife in B11 5 bis B11 8 durch eine einzelne Schleife ber die Kanten in aufsteigen der Reihenfolge und die Doppelschleife in B11 26 bis B11 29 durch eine einzelne Schleife ber die Kanten in absteigender Reihenfolge ersetzt werden was auch die if Abfrage berfl ssig macht Wei man weiter da auch die Knoten von B G M TI in lektischer Reihenfolge der Begriffsinhalte oder umgedrehter lektischer Reihenf
326. ierarchie Die Inzidenzrelation des zur Analyse genutzten for Diese stehen quasi stellvertretend f r die Objekte die in ihnen gespeichert werden Vergleiche die Diskus sion einer nat rlichen Klassenmodellierung mit formalen Begriffen in 1 6 2 auf Seite 16 229 6 2 Klassenhierarchie nach Snelting und Tip malen Kontexts bildet man anhand von Benutzungsbeziehungen zwischen Varia blen und Attributen Operationen Zu jeder Programmvariablen wird vermerkt welche Attribute und Operationen von ihr aus benutzt werden Dieser Ansatz des formalen Kontexts ist dem von BASE in der Beziehung hnlich da die formalen Gegenst nde auch Datenelemente repr sentieren und Funktionen als formale Merkmale auftauchen Allerdings stehen die Attribute bei BASE auf der anderen Seite Der entscheidende Unterschied ist da BASE von den Funktionen eines Systems ausgeht und die Frage verfolgt welche Datenelemente von einer Funktion benutzt werden w hrend f r Snelting und Tip die Objekte eines Systems den An satzpunkt bilden und untersucht wird welche Attribute und Operationen ihrer Klasse diese Objekte benutzen Das angegebene Beispiel stammt aus S T 99 In dem Beispiel sollen die Klassen Person Student und Professor anhand der zwei Programme main und main2 untersucht werden Es ergibt sich der folgende Be griffsverband advisor p1 assistant sc wo wv N def Student setAdvisor del
327. ieser Isomor phie zugeh rige Blockrelation von H N R Dann sind die durch die Blockrelationen definierten Begriffsverb nde B G M J und B A N S isomorph Beweis Nach Folgerung A1 ist mit den Bezeichnungen von dort Baum W BE m n ein Isomorphismus zwischen den Verb nden der Blockrelationen von B G M J und 8 H N S Also ist S Baum CWC Bes ce u pn Setze Bare up Nach Folgerung A2 auf Seite 269 gibt es einen Isomorphismus 0 B G M J O gt BA N S w O Weiter gibt es Isomorphismen 6 3 G M I O gt B G M J und Cet SCAN RB 8 B A N S Satz 18 auf Seite 121 In folgender Darstellung sind alle Abbildungen Isomorphismen 1 P B G M J gt B G M J gt BH N 8 wO B H N S WBa m n B H N S Bae asian Dance Oh DU B H N S lt B H N S Bac n r S Also ist 6 000 Er ein Isomorphismus von B G M J auf 3 H N S In Kapitel 3 war auf Seite 117 als Beschreibung der Bl cke einer vollstandigen To leranzrelation angegeben da diese gerade die maximalen Teilmengen sind deren Elemente paarweise in Relation stehen Bemerkung A2 Bl cke maximale in Relation stehende Teilmengen Ist V ein vollst ndiger Verband und eine vollst ndige Toleranzrelation auf V so sind die Bl cke von genau die maximalen Teilmengen U von V f r die giltxOy Vx ye U Beweis G W 96 3 4 Hilfssatz 55 S 121 272 SeiaeV Es gilt a o do ao ag
328. igkeiten umgangssprach licher Formulierungen zu reduzieren Die so entstandene Beschreibung des Unter suchungsbereichs wird dann in ein objektorientiertes Modell berf hrt dessen Klassen aus den rekonstruierten Fachbegriffen herr hren 2 6 2 Diskussion der Ans tze Im wesentlichen werden also folgende Unterst tzungen zur Identifikation von Ob jekten und Klassen vorgeschlagen e Listen von Klassenkandidaten Verschiedene Arten von Dingen die gute Klassenkandidaten abgeben werden aufgelistet und durch Beispiele illustriert Favoriten sind dabei materielle Dinge und Rollen von Personen oder Organisa tionen Das macht auch Sinn denn h ufig ist eine wichtige Aufgabe des entste henden Systems die Verwaltung und Manipulation von Daten ber materielle Dinge Verantwortlich sind daf r Stellen der Organisation die dadurch gewisse Rollen bernehmen Im zu entwickelnden System geschieht das durch Klassen Booch bemerkt dazu Many of the tangible things and roles that we encounter early in the life cycle will carry through all the way to implementation because they are so fundamental to our conceptual model of the problem Boo 94 S 237 Daneben bernimmt Booch noch Ereignisse aus den Kandidatenlisten anderer Autoren Coad Yourdon heben dabei darauf ab da solche Ereignisse durch das System aufzuzeichnen sind Booch sieht dagegen ihre Bedeutung darin da es ein Objekt geben mu das auf das Ereignis reagiert Weitere Vorschl ge
329. ihnen nach unten verschiebt Um die bereits vor her abgehandelten h heren Knoten nicht Abb B 12 Korrigierte Anordnung mehr betrachten zu m ssen wurde als zu geordnete Position die des niedrigeren Knotens gew hlt So kann man einmal be handelte Knoten als endg ltig festgelegt betrachten Oft werden Liniendiagramme per Hand von ihrem Supremumsknoten aus ausge richtet Um diesen Bezugspunkt fest zu lassen wird f r den Supremumsknoten eine Ausnahme gemacht Wird einem Knoten des neuen Diagramms das Supre mum des alten zugeordnet so bleibt es dabei auch wenn sich f r kleinere Begriffe des Ausgangsverbands die gleiche Zuordnung ergibt Dadurch k nnen im neuen Diagramm keine aufsteigenden Kanten entstehen wie man wie folgt sieht Sei G M I der formale Kontext zum Ausgangsdiagramm und H N J der zum neuen Diagramm Ist A B e B G M I mit B Gare gilt nach Folge rung 2 c auf Seite 82 f r alle DCM mit G cD CB da D G Das hei t da alle Oberbegriffe von A B in B G M T ebenfalls dem selben neuen Knoten zugeordnet werden wie das Supremum von B G M I Das bedeutet da in 8 H M J keine Oberbegriffe des A B zugeordneten Knotens existie ren die einem formalen Begriff aus B G M J zugeordnet w ren Deshalb wer den keine Kanten verbogen Wie das Verschieben von Kanten genau vor sich geht wird unten erkl rt nachdem der oben aufgef hrte zweite Fall er rtert ist in dem ebenfalls Verschie
330. ild unter dem H llenoperator Q ein Element von U ist Also ist k j und die Behauptung bewiesen II B 1 3 Ganters H llenalgorithmus Nach den Vorbereitungen nun der Algorithmus zur Bestimmung der H llen Algorithmus Bl Bestimmung eines H llensystems Gegeben sei eine endliche Menge X x x _ und ein H llenopera tor auf X Der Algorithmus berechnet in der Variablen v sukzessive alle H llen von in lektischer Reihenfolge B1 1 die lektisch erste H lle V B1 2 Die letzte H lle ist die Gesamtmenge WHILE VZX DO B1 3 Ab hier Konstruktion des Nachfolgers k n B1 4 REPEAT B1 5 REPEAT 279 B 1 Berechnung von H llensystemen B1 6 k k 1 B1 7 UNTIL X V B1 8 W OVA xp Xp a DU LX B1 9 UNTIL VA Xp Xp 1 WA Xp Xp 1 B1 10 W ist der lektische Nachfolger V W Schleife ber die H llen G W 96 2 1 S 67 Die Korrektheit des Algorithmus folgt aus den Vor berlegungen Um eine lektisch n chste H lle zu berechnen ermittelt der Algorithmus erst ein mal ein Maximum aus h chstens n Elementen probiert dann im schlimmsten Fall n M glichkeiten f r k durch n sei die Kardinalit t der Grundmenge F r den Test jeder dieser M glichkeiten mu einmal der H llenoperator berechnet wer den Die gesamte Schleife wird so oft durchlaufen wie das berechnete H llensy stem Elemente besitzt Neben dem Aufwand ho n hier ver
331. in Abbildung 7 1 stammt von den Autoren von KCPM Die Dinge Rate class Car Rental agreement und Customer sind die Klassenkandidaten Ihre Attribute findet man in den mit ihnen verbundenen gestrichelt gezeichneten Kno ten KCPM bietet so einfache Darstellungsmittel f r die Kommunikation zwischen An wendern und Entwicklern insbesondere eine einfache Behandlung der datenori entierten Sicht auf ein System Die Modellierung der funktionalen Sicht erscheint in BASE berzeugender Deshalb w re eine Kombination der beiden Ans tze er 251 7 2 Ausblick auf weiterf hrende Arbeiten folgversprechend Als weitere Darstellungsform bieten sich John F Sowas Conceptual Graphs an Sow 92 Sie stellen Begriffe und deren Beziehungen untereinander dar M g lich ist eine bersetzung in die Pr dikatenlogik erster Stufe Ein Analyseansatz mit Conceptual Graphs w rde an den Begriffen des Untersuchungsbereichs ansetzen w re also mit BASE nicht direkt kompatibel Da aber Bem hungen bestehen For male Begriffsanalyse und Conceptual Graphs zu einer gemeinsamen begriffsba sierten Methode zu vereinigen siehe MSW 99 soll dieser Ansatz hier nicht un erw hnt bleiben 252 Mathematische Details Um die Darstellung im Kapitel 3 zur Formalen Begriffsanalyse zu straffen sind im folgenden einige Beweise zu dort gemachten Aussagen zusammengefa t die eini germa en lang oder aber nicht f r das Verst ndnis der Argumentation in Kapitel 3 s
332. in den folgenden Darlegungen zu BASE immer wieder auf 7 1 1 Darstellung von Daten und funktionaler Sicht Ziel eines Software Entwicklungsprojekts ist die Erf llung der Anforderungen der Auftraggeber Die wichtigsten Anforderungen betreffen die Systemfunktionalit t Nicht zuletzt deshalb hat Jacobsons Ansatz der Anwendungsfallanalyse weite Ver breitung gefunden Vor die Betrachtung von objektorientierten Modellen setzt er eine rein funktional gepr gte Untersuchung Anwendungsf lle beschreiben die Funktionalit t eines Systems von der Warte der au enstehenden Benutzer aus Ihre Abl ufe sind die typischen Systemdurchl ufe die zu analysieren sind Auf dieser 1 Peter Schefe unterscheidet in Sche 99 explizit zwischen Modellen von einem Untersuchungsbereich und Modelle f r ein zu realisierendes System und f hrt aus da diese zwei verschiedenen Bedeutungen Soft ware Spezifikationen h ufig irref hrender Weise gleichzeitig zugesprochen werden Auch ein Analysemo dell ist ein Modell f r die weitere Entwicklung denn Zielrichtung der Modellierung ist die System entwicklung und nicht eine Erkl rung der Welt die ohnehin nicht zu leisten ist 2 Andere Modellierungsmethoden stellen andere Systemaspekte heraus DEMO Dynamic Essential Model ling of Organisatons RMD 98 konzentriert sich etwa auf die Kommunikationsfl sse in einer Organisa tion Diese werden auf Basis der Sprechakt Theorie W F 86 untersucht und modelliert Die
333. in den fr hen Phasen der objektorientierten Entwicklung immer mehr Bedeutung Die v llige Unabh ngigkeit von anderen Systemkomponenten braucht im hier dis kutierten Zusammenhang nicht zu gelten wenn die betrachteten Komponenten nicht als eigene Produkte entwickelt und vertrieben bzw mehrfach eingesetzt wer den sollen Fachlich zusammengeh rige Klassen werden zum gemeinsamen Ent wurf zusammengefa t vergl Hes 98 Dieses Zusammenfassen kann hierar chisch bis zum Gesamtsystem fortgesetzt werden Die Forderungen nach klaren Schnittstellen bleibt erhalten weil nur so die Wechselwirkung einer Komponente mit anderen Systemteilen modelliert werden kann ohne die Interna der Kompo nente offen zu legen Die Abgrenzung des Komponentenbegriffs ist hier insbesondere deshalb vorge nommen weil der Sprachgebrauch im Hinblick auf Komponentenzerlegungen sehr unterschiedlich ist In UML und Java hei en Komponenten packages in BON und Eiffel clusters bei Booch class categories bei Coad Yourdon subjects in Fusion components bei Embley Kurtz high level components bei Jacobson und Wirfs Brock subsystems und bei Rumbaugh modules oder subsystems Festzuhalten bleibt daB nahezu alle Methoden Komponenten zur Zusammenfas sung von Klassen vorsehen Dynamikmodelle Wie die Objekte zur Laufzeit miteinander zusammenarbeiten ist im Klassenmo dell noch nicht beschrieben Diese Zusammenarbeit ist n tig um die Systemfunk tionalit
334. in und Rokia Missaoui beschreiben in GMs 94 und GMA 95 einen Algorithmus zur inkrementellen Erzeugung eines Begriffsverbands und einer Men ge zugeh riger Merkmalsimplikationen Allerdings ist das Inkrement von beson derer Form Der Algorithmus f hrt einen neuen formalen Gegenstand und eventu ell diesen betreffende neue formale Merkmale in einen bestehenden Begriffsver band ein Dazu wird der Gegenstandsbegriff des neuen Gegenstands vom globalen Infimum ausgehend anhand seines Begriffsinhalts gesucht Besitzt kein formaler Begriff diesen Inhalt h lt die Suche beim unteren Nachbarn des Gegenstandsbe griffs im erweiterten Begriffsverband an An dieser Stelle wird dann der neue Ge genstandsbegriff eingef gt Danach mu der Verband noch gegen Suprema abge schlossen werden Damit dieses Vorgehen zum Ziel f hrt m ssen die Gegen standsinhalte der schon vorher vorhandenen formalen Gegenst nde unver ndert bleiben Insbesondere darf keines der neuen formalen Merkmale auf einen der vor handenen Gegenst nde zutreffen Dual k nnte man den Algorithmus aber auch an hand eines einzelnen neuen Merkmals das dann auch auf schon vorhandene for male Gegenst nde zutreffen darf betrachten Die inkrementelle Erzeugung von Begriffsverb nden ohne Ber cksichtigung von Implikationen durch den Algo rithmus von Godin und Missaoui ist in Bec 99 noch eingehender untersucht und dargestellt Insbesondere stellt Peter Becker einen analogen Algorithmus zu
335. ind die Merkmalsbegriffe zu Bestand korrigieren und Wartekarteieintrag anlegen und der Gegenstandsbe griff zur Bestellmenge Sie sind n mlich die einzigen die nicht in einem der Blok kintervalle liegen Sie bilden auch keine eigenen zus tzlichen Bl cke weil bei ei ner solchen Aufteilung die in Hilfssatz 18 auf Seite 118 festgestellte Eigenschaft der gleichartigen Ordnung von oberen und unteren Intervallgrenzen verletzt w re Der Entwickler kann aber hergehen und sie Bl cken k nstlich zuordnen Erst einmal sollen die beiden st renden Knoten zwischen dem linken und dem oberen Block aus Abbildung 4 26 behandelt werden Ihre Zuordnung zum linken Block ergibt sich in diesem Fall sogar in nat rlicher Weise aus der weiteren Analyse der 170 4 BASE ein begriffsbasiertes Analyseverfahren f r die Software Entwicklung Anwendungsf lle von JWI Man stellt n mlich fest da die Funktion Bestand kor rigieren auch innerhalb der Zerlegung des Anwendungsfalls Wareneingang bear beiten benutzt wird Der Anwendungsfall Wareneingang bearbeiten kann z B wie folgt zerlegt werden Wareneingang bearbeiten Bestand korrigieren Wareneingang zuordnen Lagerbestand ermitteln Lagerbestand ausreichend Bestellposten in Lieferkartei bertragen Heferarieienmag anlegen Bestand korrigieren Wartekarteieintrag l schen Abb 4 27 Funktionale Zerlegung des Anwendungsfalls Warenei
336. ine ordnungstheoretische Aussage A ber eine geordnete Menge X lt gilt da d genau dann wenn A in X lt gilt Gr 98 I 1 1 S 3 Mit dieser Beobachtung kann die Betrachtung von dualen F llen in ordnungstheo retischen Beweisen auf einen Fall gek rzt werden weil sich der duale mit demsel ben Beweis ber die duale Ordnung ergibt Genauso ergibt sich eine Vereinfachung in der Formulierung von ordnungstheoretischen Definitionen H ufig interessant ist alle Elemente kennzeichnen zu k nnen die gr er oder klei ner als ein vorgegebenes Element sind bzw zwischen zwei vorgegebenen Elemen ten liegen Definition 5 Hauptideal Hauptfilter Intervall Seien X lt eine geordnete Menge und x y X Dann hei t x ze X z lt x das Hauptideal von x Dual hei t y ze X z2y der Hauptfilter von y Ist x lt y so ist x y ze X x lt z lt y ein Intervall in X G W 96 0 1 Definition 5 S 3 66 3 Formale Begriffsanalyse 3 2 2 Verb nde H ufig sucht man zu einer Menge von mehreren Elementen ein Element das gr Ber oder kleiner als alle Elemente der vorgegebenen Menge ist Solche Elemente werden in der folgenden Definition gekennzeichnet Definition 6 Untere obere Schranke Infimum Supremum Ist X lt eine geordnete Menge und Y c X so hei t ein x X mit x lt y Vye Y eine untere Schranke von Y Dual erkl rt man obere Schranken Gibt es eine untere Schranke x X von Y so da
337. inen Ge genst nden f hrt zu Denkeinheiten die als Begriffe bezeichnet werden Die Zu sammenfassung vollzieht sich auf der Basis von Merkmalen Unter Merkmalen versteht man die Eigenschaften eines einzelnen individuellen Gegenstandes oder diejenigen Eigenschaften von individuellen Gegenst nden die zur Analyse der entsprechenden Begriffe herangezogen werden In Begriffen werden somit die gemeinsamen Merkmale einer Menge von individuellen Gegenst nden die die Menschen an diesen feststellen und zur gedanklichen Ordnung benutzen zusam mengefa t Die Gesamtheit der Merkmale die eine gedankliche Zusammenfas sung von individuellen Gegenst nden und die gegenseitige Abgrenzung der Be griffe erm glichen ist der Begriffsinhalt Intension Unter dem Umfang eines Begriffes Extension versteht man die Gesamtheit aller individuellen Gegenst n de die s mtliche Merkmale dieses Begriffs haben Hierarchische Beziehungen stellen ein ber und Unterordnungsverh ltnis zwischen Begriffen her Hinsicht lich des Begriffsumfanges bedeutet dies da alle Gegenst nde die unter einen en geren Begriff untergeordneten Begriff fallen auch unter den weiteren Begriff bergeordneten Begriff fallen dieser aber noch zus tzliche Gegenst nde um fa t DIN 79 3 1 3 4 4 3 Begriffe haben danach dualen Charakter Sie besitzen eine extensionale und eine intensionale Beschreibung Eine grundlegende Beziehung zwischen ihnen ist die
338. iner Menge X da X A e U Eng verbunden mit den H llensystemen sind die H llenoperatoren Sie spielen bei vielen Algorithmen innerhalb der Formalen Begriffsanalyse eine tragende Rolle siehe Anhang B Definition 17 H llenoperator Sei X eine beliebige Menge Eine Abbildung P X gt P X hei t H llenoperator auf X wenn gilt a VOW gt O V CQ W f ralle V W cX Monotonie b Vc olr f ralle Vc xX Extensit t c O V O V f r alle V c X Idempotenz Die Mengen V mit V c X hei en dann H llen von G W 96 0 3 Definition 14 S 8 Im wesentlichen beschreiben H llensysteme und H llenoperatoren die gleichen Sachverhalte Insbesondere bilden die H llen eines H llenoperators ein H llen system Sogar ist jedes H llensystem die Menge der H llen eines H llenoperators und umgekehrt kann ein H llenoperator allein ber das H llensystem seiner H l len definiert werden Deshalb nennt man die Elemente eines H llensystems auch H llen Hilfssatz 4 _ H llensystem H llenoperator Sei X eine beliebige Menge Ist UC P X ein H llensystem auf X so definiert Pu MN Ae U VCA f r VCX einen H llenoperator auf X Ist umgekehrt P X gt P X ein H llenoperator auf X so ist das System seiner H llen Z Z cX ein H llensystem auf X Weiter ist Qu und Uy U Beweis G W 96 0 3 Satz 1 S 9 Siehe Anhang A Seite 255 An der Definition von kann man ablesen da
339. inerung Die anschlie ende Implementierung des entstandenen Entwurfs ist dadurch verein facht da eine Modularisierung schon vorgegeben ist Nach der Festlegung der Anforderungen startet OMT mit der Analysephase in der ein Klassenmodell ein Dynamikmodell Interaktions und Zustandsdiagramme und ein Funktionsmodell Datenflu diagramme mit Objekten Interaktionsdia gramme erstellt werden Nach der Identifikation von Klassen werden erst Asso ziationen dann Attribute und Vererbungsbeziehungen modelliert Dabei sollten Attribute die selber wieder Klassen als Typen haben besser als Assoziationen dar gestellt werden Darauf folgt optional eine Komponentenaufteilung Anhand von Szenarien wird eine Benutzeroberfl che entwickelt F r jedes Szenario wird in ei nem Interaktionsdiagramm die Zusammenarbeit der beteiligten Objekte entwik kelt Dabei betrachtet Rumbaugh statt Nachrichten Ereignisse auf die ein Objekt reagiert Anhand solcher Ereignisse entwickelt man Zustandsmodelle f r die ein zelnen Klassen Das Funktionsmodell wird top down d h ausgehend von den Funktionen des Gesamtsystems erstellt Nach vielfacher Kritik wurden in die ur spr nglich allein vorgesehenen Datenflu diagramme Objekte integriert und auch Interaktionsdiagramme vorgesehen Operationen der Klassen entstehen aus der Be trachtung der drei Modelle Dabei werden in der Analyse erst nur Operationen ins Klassenmodell aufgenommen die dem Funktionsmodell zu entnehm
340. ines Klassen modells funktional zerlegt werden Wie in 4 2 1 auf Seite 128 diskutiert ist auch f r die an der Entwicklung beteiligten Fachexperten die funktionale Zerlegung eine gewohnte Vorgehensweise wie etwa bei der Beschreibung von Gesch fts prozessen durch Ereignis Proze Ketten KNS 92 praktiziert Man zerlege also die Anwendungsf lle in Schritte und f hre diese Zerlegung re kursiv weiter durch Die Zerlegung f hrt so zu funktional untergeordneten Unter Anwendungsf llen die selber weiter zerlegt werden und Funktionen die selber nicht weiter zerlegt werden Der Terminus Funktion soll unterstreichen da noch keine Zuordnung von Operationen zu Klassen vorliegt F r den betrachteten formalen Kontext aus Anwendungsf llen und involvierten Dingen bedeutet dies da mit jeder Zerlegung eines Anwendungsfalls neue Unter Anwendungsf lle und Funktionen als formale Merkmale hinzukommen Die folgende Darstellung bezieht sich immer auf einen ersten einfachen Zerle gungsschritt in dem Anwendungsf lle in Funktionen zerlegt werden So k nnen die Rollen von funktional bergeordneten Elementen Anwendungsf llen und un tergeordneten Elementen Funktionen sprachlich unterschieden werden Dies dient nur der einfacheren Formulierung F r die jeweils schon vor einem Zerlegungsschritt betrachteten Dinge formale Gegenst nde mu untersucht werden ob sie von der neuen Funktion ber hrt wer den Au erdem wird eine solc
341. ing blocks for designing systems M O 92 S 76 und An object type is a concept M O 95 S 34 Die Klassen bzw die modellierten Begriffe sollten m glichst invariant gegen ber Ver nderungen der Systemanforderungen eine Beschreibung des Untersuchungs bereichs erm glichen 1 4 Festlegen von Klassen Viele Verfechter objektorientierter Modellierungsmethoden bringen als st rkstes Argument f r die Objektorientierung die Feststellung da die Welt aus Objekten best nde und so die Objektorientierung einfach das nat rliche Paradigma zur Be schreibung von Systemen sei Schlie t man sich dieser Argumentation an ist die Aufgabe in der Analyse die richtigen Klassen zu w hlen sehr einfach Der Unter suchungsbereich besteht aus Objekten man stelle fest welchen Klassen diese Objekte angeh ren und schon ist man fertig So schreibt z B Bertrand Meyer in Mey 88 auf S 51 When software design is understood as operational modeling 1 Boo 91 S 191 Although their outside views may change in only minor ways we find that the classes and objects we identify at this early stage of design usually carry through the entire design process 12 1 Einleitung object oriented design is a natural approach the world being modeled is made of objects sensors devices airplanes employees paychecks tax returned and it is appropriate to organize the model around computer representations of these ob jects This is why ob
342. ionen Sei X eine endliche Menge und H c P X ein System von Teilmengen Sind V W CX saturierte Pr misse oder maximale Konklusion und gilt Vg W und Wg I dann ist VA W eine maximale Konklusion Beweis Vergl G W 96 2 3 Hilfssatz 24 S 84 Nach Hilfssatz 10 auf Seite 95 und Satz 10 auf Seite 97 respektieren maxi male Konklusionen DD X Nach dem Beweis von Satz 11 respektieren saturierte Pr missen V W immerhin DO HV gt kyl V bzw DQ X W gt kW DO A X V gt kyl V W gt ky W wird somit in jedem Fall von V und W respektiert und somit auch von V A W Wegen Vg W und Wg V gilt V Wg VAW Deshalb respektiert VN W auch V gt ky W W gt ky W d h ganz DON Nach Satz 10 ist VN W eine maximale Konklusion Vincent Duquenne bezeichnet die Duquenne Guigues Basis als kanonische satu rierte Basis Duq 87 S 225 In welchem Sinn sie kanonisch ist erl utert der fol gende Satz Satz 12 Kanonische saturierte Basis Sei X eine endliche Menge und It c P X ein System von Teilmengen Ist eine Implikationenfamilie 3 c p X f r X vollst ndig so gibt es zu jeder Implikation V gt ky V aus DD A eine Implikation U gt W 3 mit Uc V undk U ky V Haben alle Implikationen aus 5 eine saturierte Pr misse so gilt sogar DIA es Beweis Vergl G W 96 2 3 Hilfssatz 25 S 84 102 Sei also V eine saturierte Pr misse Dann gilt V gt k V nach Hilfssatz 10 auf Seite 95 f
343. ird dann pr zisiert wie sich Arrays in bezug auf ihre Gr e ver halten rechts dagegen wie der Zugriff auf Array Elemente gestaltet ist Diese bei den Vererbungslinien unter CONTAINER betreffen die von Meyer genannten Kri 225 6 1 Klassenhierarchie nach Godin et al terien der Speicherung bzw des Elementzugriffs Da bei direktem Zugriff auf die Elemente Fragen der Traversierung keine Rolle spielen gibt es f r dieses Kriteri um keinen gesonderten Strang TO_SPECIAL l t sich nicht den Kriterien zuord nen weil die Klasse allein aus technischen Gr nden in die Klassenbibliothek auf genommen wurde generator consistent same_type conforms_to copy standard_copy deep_copy standard_is_equal is_equal clone standard_clone deep_clone deep_equal standard_equal equal setup tagged_out default_pointer default do_nothing print out io c_deep_clone c_tagged_out c_generator c_check_assert c_deep_equal Void c_standard_clone c_standard_copy 4c_standard_is_equal c_same_type area make_area set_area TO_SPECIAL T GENERAL Operating_environment Double_bits Real_bits Integer_bits Character_bits ANY PLATFORM N changeable_compar
344. ischen Ans tze zur objektorientier ten Modellierung wie die von Shlaer Mellor oder Coad Yourdon verhaltensorien tierte Ans tze wie die von Wirfs Brock oder Rubin Goldberg Anwendungsfall ge triebene Analyse wie bei Jacobson grammatikalische Analyse nach Abbott Abb 83 wie in Fusion bei Rumbaugh oder Wirfs Brock weiter Ans tze die zun chst strukturierte Methoden anwenden und anhand von Datenflu diagrammen eine funktionale Zerlegung vornehmen und den Ansatz der Bereichsanalyse Schon in den Ausf hrungen zu den Vorstellungen von Wald n Nerson tauchte das Schlagwort Wiederverwendung auf Um diese als wichtigen Produktivit tsfaktor auf breiter Basis m glich zu machen werden Ans tze zur Bereichsanalyse ver folgt Idee ist es nicht allein das gerade zu entwickelnde System zu betrachten sondern den ganzen Anwendungsbereich in dem es plaziert ist Klassenkandidaten aus einer solchen weiter gesteckten Analyse haben gr ere Chancen in weiteren Projekten auch wirklich wiederverwendet werden zu k nnen Nach der Diskussion der verschiedenen Ans tze empfiehlt Booch zun chst e materielle Dinge e Rollen von Dingen und e auftretende Ereignisse als Klassenkandidaten ins Auge zu fassen Dann sollten verhaltensorientierte Me thoden angewandt werden um Abstraktionen die sich direkt aus den function points Alb 79 des Systems ergeben zu betrachten Function points sind prim re Systemfunktionen denen zur Aufwandssch tzung nach
345. ise zu kodieren und trotzdem Verbandsoperationen effizient zu implementieren 214 5 Ein Analyse Werkzeug f r BASE ten siehe Abbildung 5 17 auf Seite 211 Durch sie werden alle dem betreffenden Pseudoumfang angeh renden formalen Gegenst nde bzw alle dem Pseudoinhalt zugeh rigen Merkmale identifiziert Die leere Menge ist dementsprechend durch das Schl sselwort PSEUDO_EXTENT oder PSEUDO_INTENT allein angegeben Zu einem Liniendiagramm berechnete Blockzerlegungen werden selber wieder als Liniendiagramm gespeichert siehe Anhang B 4 Um die Querverweise zu erhal ten werden deren Namen ebenfalls in the_specials festgehalten Die Form der ent sprechenden Angaben in EBNF ist e VerweisAufBlockzerlegung BLOCKRELATION Diagrammname Damit ist es immer wieder m glich zu den schon berechneten Blockrelationsdia grammen zu gelangen Wird eines dieser Diagramme gel scht wird auch der Ver weis im Originaldiagramm entfernt Zu jeder berechneten Blockrelation wird ein Liniendiagramm in der Projektdatei gespeichert Seine Anordnung wird dadurch bestimmt da jeder Knoten in den Mittelpunkt des entsprechenden Blocks im Ausgangsdiagramm der Berechnung gelegt wird F r diese bersichtsdiagramme zu Blockzerlegungen wird in BASE zus tzlich gespeichert da es sich um ein Blockrelationsdiagramm handelt wie das zugrunde liegende Diagramm hei t und welche Knoten im Originaldiagramm Infimum und Supremum eines Blocks bilden Um ein Diagramm a
346. ison_criterion sequential_representation has obj ject_comparison compare_objects linear_representation empty compare_references CONTAINERIG N full prune _all prunable extendible fill prune wipe_out put extend BOXIG count FINITE G COLLECTION G occurrences BAGIG capacity resizable item valid_key bag_put BOUNDEDIG additional_space grow automatic grow TABLE GH valid_index Minimal_increase Growth_percentage AY RESIZABLEIG INDEXABLEIGH make arycpy to_c empty_area auto_resize resize clear_all force enter make_from_array entry all_cleared upper lower Abb 6 2 Klassenhierarchie in Eiffel bis zu 2 dimensionalen Arrays Alle Klassen der abgebildeten Hierarchie sind abstrakt bis auf ARRAY2 ARRAY TO_SPECIAL ANY PLATFORM und GENERAL Die Klassen ANY und PLAT FORM sind durch ihre Attribute und Operationsnamen nicht zu unterscheiden 226 ARRAYIG initialize transfer width height ARRAY
347. it Identifier lt usingUc gt vorkommt int usesTransitiv const CString amp usingUc const CString amp usedUc Ermittelt ob der Anwendungsfall mit Identifier lt usedUc gt vom Anwendungsfall mit Identifier lt usingUc gt benutzt wird CStringArray getUsesListe const CString amp uc Gibt einen Zeiger auf die uses Liste des Anwendungsfalls mit Identifier lt uc gt void addExtendsAngabe CString extendedUc const CString amp extendingUc Erg nzt den Anwendungsfall mit Identifier lt extendedUc gt in der extends Liste des Anwendungsfalls mit Identifier lt extendingUc gt void entferneExtendsAngabe CString extendedUc const CString amp extendingUc L scht den Anwendungsfall mit Identifier lt extendedUc gt aus der extends Liste des Anwendungsfalls mit Identifier lt extendingUc gt int extends const CString amp extendingUc const CString amp extendedUc Ermittelt ob der Anwendungsfall mit Identifier lt extendedUc gt in der extends Liste des Anwendungsfalls mit Identifier lt extendingUc gt vorkommt int extendsTransitiv const CString amp extendingUc const CString amp extendedUc Ermittelt ob der Anwendungsfall mit Identifier lt extendedUc gt vom Anwendungsfall mit Identifier lt extendingUc gt spezialisiert wird CStringArray getExtendsListe const CString amp uc Gibt einen Zeiger auf die extends Liste des Anwendungsfalls mit Identifier lt uc gt
348. it in X maximaler Konklusion Beispiel 10 Informative Implikationen mit maximaler Konklusion In Beispiel 8 auf Seite 93 sind folgende Implikationen informativ und besit zen jeweils eine maximale Konklusion a b gt a b c gt a c b c gt a b c Nachdem nun die Konklusionen maximiert wurden liegt es nach Hilfssatz 9 auf Seite 95 nahe jetzt auch die Pr missen zu minimieren Das ist zumindest m glich wenn X endlich ist Unter dieser Voraussetzung ist die entstehende Implikationen familie dann immer noch vollst ndig Die Minimierung der Pr missen l t sich aber weniger griffig beschreiben In der so konstruierbaren Implikationenfamilie folgen dann keine Implikationen als schw chere Hilfssatz 9 oder transitiv Hilfs satz 8 auf Seite 95 aus anderen Trotzdem lassen sich in der Regel einige Implika tionen doch noch aus anderen folgern vergl G D 86 So folgen in Beispiel 10 alle Implikationen deren Pr missen schon minimal sind aus gt a Dieser Umstand ist unabh ngig von diesem Beispiel der folgenden Schlu regel zu zuschreiben 98 3 Formale Begriffsanalyse Hilfssatz 12 Beidseitig erweiterte Implikationen Sei X eine Menge T eine beliebige Indexmenge und V W cX f r alle te T Dann folgt U V gt U W aus V gt W te T te T te T Vergl G W 96 2 3 S 82 Beweis Re P X respektiere 1 V gt W te T Ist dann U V c R soist V c R f ralle te T teT Nach Voraus
349. ite 278 Hilfssatz B3 auf Seite 292 Die Positionsbestimmung wird dann in der skizzierten Weise nur f r den Knoten zu ei nem gr ten formalen Begriff im Beispiel dem Merkmalsbegriff zu m2 vorge nommen Der betrachtete Punkt wird danach als angeordnet angesehen So erh lt man sukzessive eine korrekte Anordnung Zu er rtern bleibt noch was mit Knoten geschieht ber oder unter denen noch kei ne der neuen Knoten angeordnet sind Der Durchlauf der Knoten des neuen Dia gramms beginnt bei seinem Supremum Ist dieses einmal angeordnet gibt es ber jedem anderen Knoten mindestens einen schon in seiner Position bestimmten Kno ten Der Supremumsknoten ist also der einzige ber dem eventuell kein angeord neter Knoten liegt Sicher liegt aber unter ihn ein angeordneter Knoten weil ja je dem Knoten des Ausgangsdiagramms ein neuer Knoten zugeordnet wird Man be stimme also den h chsten schon angeordneten Knoten Das Intervall zwischen die sem und dem Supremum kann man einfach ohne Skalierung an das Diagramm so oben anh ngen wie es im neuen Diagramm durch das additive Zeichnen enthalten ist Alle Knoten aus dem Intervall k nnen danach als angeordnet markiert werden Im Fall eines Knotens unter dem kein angeordneter liegt wird dagegen nur dieser eine Knoten in analoger Weise unter den niedrigsten angeordneten Knoten eines gr eren Begriffs geh ngt Wie oben kann es sein da sich andere Knoten aus seinem Hauptideal noch an weiteren schon
350. ition 29 Saturierte Pr misse Sei X eine endliche Menge und X c P X ein System von Teilmengen Dann hei t V c X saturierte Pr misse auf X wenn V k V und f r jede saturierte Pr misse U G V schon ky U CV gilt Vergl G W 96 2 3 Definition 40 S 83 Damit die Rekursion f r jede betrachtete Menge abbricht mu die betrachtete Menge endlich sein 99 3 4 Implikationen Guigues und Duquenne definieren saturierte Pr missen in folgender Weise ZuVcX sei V VUU ky U UCV klU ky V und Px V u V mit Vo V V V firne No Saturierte Pr missen nach Guigues und Duquenne sind dann solche die V p V erf llen Vergl G D 86 S 12 13 und Dug 87 S 223 Das erlaubt die Definition auch im Fall unendlicher Mengen X Doch f r die Be schreibung einer Implikationenbasis machen auch sie die Endlichkeitsvorausset zung Die saturierten Pr missen nach Definition 29 sind auch nach der Definition von Guigues und Duquenne saturiert Mit zus tzlichen Einschr nkungen an die Pr missen erhalten diese beiden Autoren die gleiche Implikationenbasis wie die im folgenden Satz beschriebene siehe Anhang A 2 auf Seite 256 Die Definition von Ganter und Wille erlaubt den eleganteren Beweis f r Satz 11 Au erdem k nnen die saturierten Pr missen berechnet werden in dem man in der Konstruktion von V nur solche Teilmengen U betrachtet die selber saturierte Pr missen sind Nimmt man die Implikationen mit saturierter P
351. itiver H lle gespeichert Ebenso ist die berpr fung der Ordnung lt mit Hilfe der reflexiv transitiven H lle m g lich Sei V einer der beiden betrachteten Begriffsverb nde und A B V Dann liefere nr 4 B V die Nummer von A B in der Aufz hlung der for malen Begriffe von V x i d undy i d seien die x bzw y Koordinaten des i ten Knotens im Liniendiagramm a f r a orig neu minDY sei der minimale vertikale Abstand von benacharten Knoten B13 1 Die originalen y Koordinaten werden noch ver ndert und deshalb in neuem Array gespeichert FOR i 0 TO m 1 Do B13 2 origY i y i orig B13 3 Originalknoten zu neuen Knoten FOR j 0 TO k 1 Do B13 4 origkn j 1 B13 5 FOR i 0 TO n 1 DO Schleife ber Originalknoten B13 6 entsprechender neuer Knoten J JJ knr nr A m m 8 H N J me B mM f r mg N B13 7 IF origKn knr 1 THEN erste Zuordnung B13 8 origkKn knr i B13 9 Schon anderer Originalknoten zugeordnet ELSEIF origKn knr gt 0 AND origYlorigKn knr gt origY i alte Zuordnung nicht globales Supremum und h herer Knoten B13 10 neue Zuordnung origkKn knr i B13 11 FOR i 0 TO r DO Schleife ber neue Kanten Ordnungs berpr fung B13 12 os origkn nr s B H N J B13 13 oz origkn nr z B H N J 321 B 5 Automatisches Zeichnen von Diagramme
352. ject oriented designers usually do not spend their time in aca demic discussions of methods to find the objects in the physical or abstract reality being modeled the objects are just there for the picking The software objects will simply reflect these external objects BASE Begriffsbasiertes Analyseverfahren ftir die Software Entwicklung ist gera de ein Beitrag zu einer solchen akademischen Diskussion Die Sicht von Meyer versagt sp testens dann wenn die zu erstellende Anwendung neuartig sehr um fangreich oder komplex ist Boo 94 S viii The first section examines the inher ent complexity of software and the ways in which complexity manifests itself We present the object model as a means of helping us manage this complexity Be cause the identification of meaningful classes and objects is the key task in object oriented development we spend considerable time studying the nature of classifi cation Problematisch ist z B die Abgrenzung der Objekte untereinander und die Unterscheidung zwischen Objekten und Attributen Vorg ngen bzw Beziehungen Au erdem f llt die Entscheidung ein Modellelement als Klasse zu betrachten in verschiedenen Anwendungsbereichen unterschiedlich aus So werden in einem Sy stem zur graphischen Repr sentation von Graphen Kanten als eigene Objekte be handelt um ihnen graphische Attribute zuschreiben zu k nnen Bei der Speiche rung der Struktur von Graphen die auf eine graphische Repr
353. k nnen Andersherum f hrt die Besch ftigung mit den Details der Anwendungsf lle mittels der Sequenzdiagramme zur Entdeckung neuer Opera tionen und auch Klassen Abbildung 2 7 stellt das Vorgehen in der ersten Phase der Anwendungsfall getrie benen Systemanalyse dar Dabei wurde die inkrementelle Verfeinerung des An wendungsfallmodells wie Jacobson sie vorsieht der Einfachheit halber nicht be r cksichtigt Die durch die dick eingezeichneten Pfeile angedeuteten T tigkeiten zu unterst tzen ist das Anliegen von BASE Der n chste Abschnitt beleuchtet zu n chst einmal welche Ideen f r die Identifikation von Klassen in der Entwicklung schon durch die herk mmlichen Methoden vorliegen 2 6 Identifikation von Objekten und Klassen In 2 4 3 wurde aufgezeigt da das in der Analyse hergestellte Klassenmodell die Basis f r den ganzen Software Entwicklungszyklus bildet Die in ihm enthaltenen Klassen leben eventuell modifiziert bis in die Implementierung fort Also kommt ihrer Wahl eine besondere Bedeutung zu Im folgenden werden Vorgehens weisen zu ihrer Ermittlung zusammengestellt und verglichen Wenn nicht angege ben sind die zugeh rigen Literaturquellen der Aufstellung im Abschnitt 2 4 auf Seite 33 zu entnehmen 2 6 1 Vorgehen der einzelnen Methoden Shlaer Mellor bezeichnen die Identifikation von Objekten als ziemlich leichte pretty easy Aufgabe Man besch ftige sich mit den Dingen des Untersuchungs bereichs Diese sind
354. ktionen Wartekarteieintrag anlegen die diese Dinge gemeinsam mit der Wartekartei ber hren Wartekartei Abb 4 36 Hauptfilter zur Wartekartei 4 8 Vorgehensmodell Nachdem nun die einzelnen Techniken innerhalb von BASE beschrieben sind soll hier zusammengefa t werden wie sie in der Analyse eines Software Entwick lungsprojekts eingesetzt werden k nnen Ausgangspunkt der Analyse sind die Anwendungsfalle des zu entwickelnden Sy stems Es ist ein Anwendungsfallmodell nach Jacobson JCJ 93 zu erstellen Man beginne mit allen Anwendungsfallen die unmittelbar von den Fachexperten genannt werden Die wichtigsten lassen sich aus den funktionalen Anforderungen an das System ableiten Zumindest die Grundidee dieser Anforderungen ist dem entsprechenden Projektauftrag zu entnehmen Mit fortschreitender Analyse erge 181 4 8 Vorgehensmodell ben sich dann zus tzliche Anwendungsf lle die in die Betrachtung einbezogen werden Wie schon in 4 2 1 auf Seite 129 erl utert sollten zu Beginn gleich alle bekannten Anwendungsf lle in die Betrachtung eingeschlossen und nicht erst sukzessive er g nzt werden um das Ausma der von Jacobson geschilderten Revisionen des Anwendungsfallmodells zu minimieren Aus dem gleichen Grund sollte eine funk tionale Zerlegung wie in 4 3 1 erst nach der Einbeziehung aller bekannten Anwen dungsf lle geschehen F r den Entwickler ist es erst einmal wertvoll eine ber sicht
355. l Das f r die Beschreibung von BASE benutzte Beispiel entstand in einem Studen tenpraktikum an der Philipps Universit t Marburg Die Ergebnisse dieses Prakti kums sind im WWW dokumentiert siehe FGT 98 Aufgabe der Studenten war die Erstellung von Schulungsunterlagen zur Unified Modeling Language UML in der Version 1 1 vergl BJR 97 in Form einer WWW Pr sentation In einem ersten Schritt wurde dazu ein Beispielsystem mit UML modelliert Ent nommen war dieses Beispiel dem FRISCO Report FHL 98 Untersuchungs gegenstand ist dabei das Gesch ft einer imagin ren Firma JWI Japan Wines Inc Grundlage der Modellierung war die Beschreibung des Gesch fts von JWI in 28 umgangssprachlichen Aussagen Diese sind im Anhang C wiedergegeben JWI er h lt Wein von Winzereien und liefert ihn an Einzelh ndler weiter Ein neu zu er stellendes Software System soll die Aufnahme und Abwicklung von Kundenbe stellungen auf der einen Seite und die Bestellung bei und Verbuchung von Liefe rungen von Winzereien auf der anderen Seite unterst tzen Dieses Beispiel wurde f r die Darstellung an dieser Stelle ausgew hlt weil es ohne die Verwendung von BASE ausgehend von den Anwendungsf llen des Systems entwickelt wurde und es so m glich ist die Anwendung von BASE anhand eines zun chst anderweitig und von anderen Personen modellierten Systems aufzuzei gen Alle im folgenden getroffenen Entwurfsentscheidungen sind soweit dort schon getroffen
356. lation darstellen Hilfssatz 20 Bl cke Inzidenz Blockrelation Seien G M J ein formaler Kontext eine vollst ndige Toleranzrelation auf B G M I und J die zugeh rige Blockrelation von G M I mit B aus Satz 16 auf Seite 116 Dann gilt f r einen formalen Begriff A B B G M I a 4 B g A A b 4 B BY B c A Blo 47 Pa Beweis G W 96 3 4 Korollar 57 S 125 120 Sei A B e B G M D Nach Folgerung 2 c a auf Seite 82 ist A N g als Schnitt von geA Begriffsinhalten von G M I selber ein Begriffsinhalt von G M I Also ist 4 A B G M I Weiter ist Ax 4 U 4x B AXAN UA xA C AXA U AY XA CS Nach Satz 16 gilt also 4 B 4 A Genauso ist BY B B G M I mit A B B B 3 Formale Begriffsanalyse Sei C D B G M D mit 4 B O C D Dann ist nach Satz 16 4 x D U C XB cJ D h DCA und CCB Also gilt 4 4 lt C D lt B B Es folgt A B o 4 A und A B BY B Damit ist A B o 4 4 47 A4 Nun bekommt man auch eine Isomorphie zwischen den formalen Begriffen eines aus einer Blockrelation neu gebildeten Kontexts und den Bl cken der entsprechen den Toleranzrelation Satz 18 Blockrelation Toleranzrelation Seien G M I ein formaler Kontext eine vollst ndige Toleranzrelation auf
357. lausthal 1991 Computer Associates International Paradigm Plus Enterprise Component Modeling http www cai com products alm paradigm_plus htm 2000 D Coleman P Arnold S Bodoff C Dollin H Gilchrist F Hayes P Jeremaes Object Oriented Development The Fusion Method Prentice Hall Englewood Cliffs New Jersey 1994 R J Cole P W Eklund Application of Formal Concept Analysis to Information Retrieval using a Hierarchically Structured Thesaurus Proceedings of the 4 International Conference on Conceptual Structures ICCS 96 Sydney pp 1 12 University of New South Wales LNAI Springer Verlag 1996 R J Cole P W Eklund Analysing an Email Collection using For mal Concept Analysis 3rd European Conference on Principles and Practice of Knowledge Discovery in Databases PKDD 99 LNCS 1704 Springer Verlag 1999 R J Cole P W Eklund B Groh Dealing with Large Contexts in Formal Context Analysis A Case Study Using Medical Texts Inter national Symposium on Knowledge Retrieval Use and Storage for Efficiency KRUSE 97 1997 D de Champeaux P Faure A comparative study of object oriented analysis methods Journal of Object Oriented Programming vol 5 no 1 pp 21 33 March April 1992 359 Literatur Che 76 C Y 90 C Y 91 DeM 78 D H 98a D H 98b DIN 79 Duf 89 Duq 87 EKSW 00 EKW 92 360 P P Chen The entity relationship model Toward an unified view of
358. le beschrieben Schlie lich werden die Klassenschnittstellen formal mit Attributen und Operationen festge legt Im folgenden Entwurf wird das entstandene Modell verfeinert und komplet tiert Das resultierende Entwurfsmodell verfeinert man danach weiter bis es ein ausf hrbares Programm ergibt Nach Wirfs Brock sollte man in einer Explorationsphase Klassen aufsp ren de nen man zun chst Attribute und eine Zweckbeschreibung zuordnet Dabei gruppie re man Klassen mit bereinstimmenden Attributen um Kandidaten f r Oberklas sen herauszustellen Aus dem Zweck einer Klasse leite man ihre Verantwortlich keiten ab Die Zusammenarbeit verschiedener Klassen um solche Verantwortlich keiten erf llen zu k nnen werden als n chstes untersucht In der darauffolgenden Analysephase ist die Vererbungshierarchie der Klassen festzulegen F r jede Klas se sind die Verpflichtungen festzuhalten die aus der Benutzung durch andere Klas sen entstehen Orientiert an den Benutzungsbeziehungen wird eine Komponenten 43 2 4 Objektorientierte Analyse und Modellierungsmethoden aufteilung vorgenommen Operationen werden modelliert um die aufgezeichneten Verpflichtungen einer Klasse erf llen zu k nnen Werkzeuge bei diesen T tigkei ten sind das Klassenmodell und Karteikarten auf denen alle Angaben zu Klassen und Komponenten verzeichnet sind Das Durchspielen von Szenarien erm glicht die berpr fung des Modells und bietet Anhaltspunkte f r seine Verfe
359. len Merkmalsbegriffe vor Nach Gegenst nden und nach Merkmalen gezeichnete Diagramme eines formalen Kon texts sind in der Regel verschieden Wie man geeignete Vektoren bekommt ent nehme man Vog 96 3 3 Es werden dazu Kettenzerlegungen der Gegenstands bzw Merkmalsordnung untersucht Frank Vogt gibt f r die Vektorenzuordnung eine Komplexit t von O G bzw O M an Die Methode des additiven Zeichnens garantiert bei sinnvoller Wahl der vertika len Koordinaten der Vektoren d h f r Merkmale lt 0 f r Gegenst nde gt 0 ein in dem Sinne korrektes Liniendiagramm da seine vertikale Anordnung die Ver bandsordnung korrekt wiedergibt also Knoten zu kleineren Begriffen unter denen zu gr eren liegen Weiter kann man die Vektoren so w hlen da bei ber die ent sprechenden Begriffe unvergleichbaren formalen Gegenst nden bzw Merkmalen alle Knoten des Diagramms verschiedene Positionen erhalten Vog 96 3 3 S 61 62 Im allgemeinen ist dies jedoch nicht garantiert Ebensowenig kann die Metho de ausschlie en da Kanten zu ihnen nicht inzidente Knoten schneiden Deshalb m ssen Liniendiagramm Editoren diesen Fall in der Darstellung der Diagramme hervorheben etwa wie in Abbildung 5 3 auf Seite 194 Der Fall gleicher Knoten koordinaten erscheint derma en pathologisch da beim Zeichnen der Diagramme im Werkzeug zu BASE Kapitel 5 auf seine Behandlung verzichtet wurde Auch bei sp teren manuellen Korrektur
360. len sind die Anwendungsf lle angegeben Durch einfache Linien ist gekenn zeichnet von welchem Aktor sie angesto en werden Anwendungsf lle k nnen untereinander in uses oder extends Beziehung stehen Das erste meint da ein 46 2 Objektorientierte Anwendungsentwicklung Anwendungsfall die Leistungen eines anderen nutzt indem er eine Teilaufgabe an ihn delegiert Im Beispiel wird innerhalb mehrerer anderer Anwendungsf lle nach Ausleihobjekten gesucht extends Beziehungen sind in diesem Beispiel nicht enthalten Sie liegen vor wenn ein Anwendungsfall als Spezialisierung eines ande ren betrachtet wird Hat man die Anwendungsf lle in Prosa beschrieben versucht man als n chstes plausibel zu machen da die Objekte des Systems die der Intuition des Entwick lers und seiner Besch ftigung mit den Anwendungsf llen entsprungen oder wie in 2 6 beschrieben identifiziert worden sind die Anwendungsf lle ausf hren k nnen Dazu beschreibt man sie blicherweise in Sequenzdiagrammen vergl 2 4 2 Ein solches Diagramm ist f r das Bibliotheksbeispiel in Abbildung 2 4 auf Seite 39 an gegeben Als erstes Objekt ist links der Aktor zu sehen der den Anwendungsfall anst t rechts davon stehen oben die Objekte die Operationen innerhalb des Anwen dungsfalls ausf hren Bibo ausleihen anschaffen mahnen K Bibo Verwaltung 4 zur ckgeben a 5 Ausleiher ze Anwendungsf lle si
361. lich nicht haltbar ist wird nach einer neuen Funktion in der Zerlegung gesucht die die Implikation aufl st Nun kann es aber auch der Fall sein da eine solche unter den bisher schon unter suchten Anwendungsf llen und Funktionen gefunden wird wenn bei der Indizie rung Fehler vorkamen In diesem Fall sind die Beschreibungen der betroffenen An wendungsf lle und die entsprechende Indizierung zu korrigieren Also dienen Gegenstandsimplikationen auch zur berpr fung des Anwendungs fallmodells und der vorgenommenen Indizierung Dazu k nnen dual auch Merk malsimplikationen herangezogen werden Definition 31 auf Seite 105 Eine Merkmalsimplikation V W zwischen zwei Merkmalsmengen V und W bedeutet im Kontext von BASE da alle Dinge die in alle Anwendungsf lle oder Funk tionen aus V involviert sind auch in allen Anwendungsf llen oder Funktionen aus W eine Rolle spielen Die durch die Implikation so ausgedr ckte Datenabh ngig keit muB von den Fachexperten beurteilt werden Trifft sie fachlich nicht zu sind 157 4 4 berpr fung des Modells bei der Indizierung Fehler gemacht oder wichtige Dinge vergessen worden Das bei der funktionalen Zerlegung des Anwendungsfalls Bestellung bearbeiten aufgedeckte Vers umnis diesem Anwendungsfall als involviertes Ding die Vor gemerkte Menge zuzusprechen kann auch auf diesem Weg bemerkt werden Die Duquenne Guigues Basis der Merkmalsimplikationen zum urspr nglichen forma len Kont
362. lichst allgemein gehalten sind e Verhalten und zugeh rige Information zusammen in einer Klasse modelliert sind e Information zu einer bestimmten Sache nur an einer Stelle zusammen gehalten wird e komplexe Verantwortlichkeiten so auf logisch zusammenh ngende Klassen ver teilt werden da einzelne Teile der am besten passenden Klasse zugeordnet sind Gruppierungen von Verantwortlichkeiten sie sich keiner Klasse zuordnen lassen k nnen in neuen Klassen gekapselt werden Bei Zweifeln w hrend der Zuordnung sollten Szenarien durchgespielt werden um aus mehren M glichkeiten die beste auszuw hlen Klassen ohne zugeordnete Verantwortlichkeiten sollten noch einmal unter die Lupe genommen werden Eine rigide und gleichzeitig angemessene Vorgehensweise f r die Identifikati on von Klassen anzugeben halten Wald n Nerson f r unm glich In ihrem von Eiffel bernommenen Verst ndnis sind Klassen Implementierungen von abstrak ten Datentypen Was einen solchen Datentyp ausmacht ist sein Verhalten als Reak 52 2 Objektorientierte Anwendungsentwicklung tion auf Nachrichten und nicht seine interne Struktur Die Autoren beziehen sich in diesem Zusammenhang auf RDD von Wirfs Brock Besonderen Wert legen sie auf aussagekr ftige Namen f r Klassen und Operationen In der Analyse sollten Klassennamen aus dem Fachvokabular der Anwender verwendet werden Die mit den Klassen verbundenen Begriffe und Operationen m ssen f r die Anwend
363. liert werden ohne auf Generalisierungsbeziehungen abzuheben e Systemschnittstellen sollten so detailliert wie m glich modelliert werden e Attribute werden selber nicht zu Klassen sondern ihre Typen Ist dabei das Verst ndnis verschiedener Systemkomponenten verschieden ausge pr gt werden auch die entsprechenden Modellteile verschieden detailliert be schrieben Dies ist zul ssig weil eine Komponente eine Modularisierungseinheit ist die aus der Sicht der anderen Komponenten als Black Box behandelt werden soll Deshalb kann die detaillierte Modellierung ihrer Interna zur ckgestellt wer den wenn nur ihre Schnittstelle klar beschrieben ist Jeder Klassenkandidat wird zusammen mit einer Beschreibung seiner Bedeutung auf einer Karteikarte vergl B C 89 festgehalten Aus der Anforderungsspezifi kation liest man auch Attribute ab Gemeinsame Attribute verschiedener Klassen mit denen gemeinsames Verhalten verbunden ist f hren zur Modellierung von Oberklassen Man erstelle so viel Oberklassen wie m glich Das System erf llt verschiedene Verantwortlichkeiten Information zu speichern oder Aktionen aus zuf hren Diese erh lt man aus den Verben der Anforderungsbeschreibung und den Klassenkandidaten Insbesondere sollte man Szenarien durchspielen die das Sy stemverhalten herausstellen Die identifizierten Verantwortlichkeiten m ssen dann den Klassen zugeordnet werden so da e sie gleichm ig verteilt sind e m g
364. lierung zwar heraus doch geben sie keine konkreten Hinweise wie diese Vorstellung das Finden von Klassenkandidaten leiten kann Ortner und Schienmann besch fti gen sich zentral mit den Fachbegriffen des Untersuchungsbereichs doch ist ihr Vorgehen wenig zielgerichtet siehe auch oben Eine rigide und immer erfolgversprechende Vorgehensweise f r die Identifikation von Objekten und Klassen vorzuschreiben erscheint unm glich Grady Booch schreibt in diesem Zusammenhang The amateur software engineer is always in search of magic some sensational method or tool whose application promises to render software development trivial It is the mark of the professional software en gineer to know that no such panacea exists Boo 92 S 229 Ziel sollte es aber sein den Entwicklern Leitf den f r die Auseinandersetzung mit dem Untersuchungsbereich in der Kommunikation mit den Fachexperten an die Hand zu geben mit Hilfe derer er sich den Untersuchungsbereich erschlie en kann Klassenkandidaten die aus einer Datensicht ins Auge springen bieten eine gute Ausgangsposition Zur Orientierung an den funktionalen Systemanforderun gen mu aber eine Betrachtung der Systemfunktionalit t geleistet werden Anwen dungsf lle sind hier ein guter Anfang Um h ufiges Nachbessern von modellierten Klassen zu vermeiden sollten sie in ihrer Gesamtheit behandelt werden k nnen Nach diesen Ideen ist BASE aufgebaut 60 Formale Begriffsanalyse Formale Beg
365. ll kann es entweder sinnvoll sein sich direkt in die funktionale Zerlegung des n chsten Anwendungs falls zu st rzen oder vorher schon vorgenommene Zerlegungen verschiedener An wendungsf lle in einem gemeinsamen Modell zu betrachten Die zweite M glich keit bedeutet da man die verfeinerten Indizierungen in einem formalen Kontext zusammenf hrt und das Liniendiagramm zu diesem untersucht Als eigener Schritt ist jeweils die Beschreibung von Anwendungsf llen bzw Funk tionen erw hnt Dahinter steckt die Idee da bei der Erstellung dieser Beschrei bung auch die involvierten Dinge festgelegt werden siehe 5 1 1 Nat rlich soll ten auch Beschreibungen der Dinge in ein Datenlexikon aufgenommen werden um die Etablierung einer Projektsprache zu f rdern Nur anhand solcher Doku mente k nnen neue Mitarbeiter sp ter in das Projekt integriert werden Dies ist in der Darstellung von BASE nicht weiter erw hnt weil die Pflege eines solchen Da tenlexikons innerhalb der Projektbibliothek unabh ngig von der eingesetzten Mo dellierungsmethode immer vorgenommen werden sollte Die Beschreibungen von Dingen spielen f r die spezifischen Techniken in BASE selber keine Rolle In teressant w re nat rlich die Kombination mit einem datenorientierten Ansatz sie he 7 2 4 auf Seite 250 Auch f r die Organisation von Datenlexika kann Formale 186 4 BASE ein begriffsbasiertes Analyseverfahren f r die Software Entwicklung Begriffsanal
366. lle Attribut Lagerbestand Andererseits gibt es mit den Gegenstandsbe griffe zu Minimalbestand und Vorgemerkte Menge andere formale Begriffe die sinnvolle Attribute von Produkt kapseln Begriffsumf nge Maximalbestand Mi nimalbestand Produkt bzw Vorgemerkte Menge Lagerbestand Produkt und die Verwendung von Produkt in anderen Zusammenh ngen widerspiegeln Diese Begriffe werden in Folge der funktionalen Zerlegung des Anwendungsfalls Fehl best nde nachbestellen lediglich in ihren Inhalten um die Funktion Nachbestell menge ermitteln erweitert 161 4 5 Klassenkandidaten im Liniendiagramm Deshalb sind formale Begriffe als Klassenkandidaten zu einschr nkend Konzentriert man sich allein auf die reduzierte Beschriftung des Liniendiagramms so liest man die st rkste Zuordnung von Funktionen und Dingen zueinander ab Wenn der Merkmalsbegriff zu einer Funktion fund der Gegenstandsbegriff zu ei nem Ding d gleich sind d h die entsprechenden Beschriftungen im Liniendia gramm am selben Knoten stehen sind fund d durch den zugrunde liegenden for malen Kontext in sehr strengem Sinn einander zugeordnet In dieser Situation be trifft f genau die Dinge die immer gemeinsam mit d auftreten und d ist in genau die Funktionen involviert die alle von fbenutzten Dinge ber hren Zu erwarten ist da diese starke Zuordnung auch in der sp teren Klassenstruktur erhalten bleibt Interessant ist in diesem Zusammenhang die vertikale Mitt
367. llung Kunde Bestellposten Produkt Lagerbestand Lieferkartei Wartekartei Vorgemerkte Menge gt Nachbestellung Lieferant Minimalbestand Maximalbestand Lieferschein Lieferwagen Fahrtziel Lieferscheinvermerk Diese Implikationen f hren zu Fragen an die Fachexperten Zu beurteilen ist ob jede Funktion die alle Dinge der jeweiligen Pr misse betrifft auch alle Dinge der Konklusion angeht Dabei k nnen die formalen Gegenst nde der Konklusio nen wie in Folgerung 12 auf Seite 104 dargestellt auch einzeln abgefragt wer den In dem dargestellten Begriffsverband gilt wie in allen bisher betrachteten die Im plikation Lieferschein Lieferkartei Implikation 4 Diese ist inhaltlich aber nicht haltbar weil nach der Erstellung der Lieferscheine aus der Lieferkartei her aus die Lieferscheine allein weiter bearbeitet werden k nnen ohne noch einmal auf die Lieferkartei zugreifen zu m ssen Also ist das betrachtete Modell in bezug auf die Verarbeitung von Lieferscheinen noch zu ungenau und deshalb der entspre chende Anwendungsfall funktional zu zerlegen In der Tat wird diese Implikation bei der folgenden Verfeinerung des Anwendungsfalls Lieferscheine erstellen auf gel st F r die Zerlegung ist davon ausgegangen da die Bestellposten der Lieferkartei durchgegangen werden und f r jeden zu beliefernden Kunden ein Lieferschein ausgestellt wird dem alle betreffenden Bestellposten angeh ngt werden Am Ende werden die erstellten
368. log d A AOU P Pe PU PSAL e Ay A und 4 gt 4 fiirke No f Pu A rene Dann ist p PM gt PIV B BCM der H llenoperator zu PSU B BCM und p P G gt PUY A A CG der H llenope rator zu PUL A ACG G W 96 2 3 S 85 Beweis Sei BCM beliebig Mit M ist auch PI c PM endlich Deshalb gibt es ein ne N mit B B Mit diesem n gilt also p B B und es ist p B p B Ist p B p B so ist p B e PIV B BCM Andernfalls ist p B p B und f r jeden Pseudoinhalt Pc M mit PSpB ist P c p B p B Damit ist p B PS D h p VM c PSV B BEM Sei andersherum B c M ein Begriffsinhalt Ist Pe PI mit PSB so ist nach Folgerung 3 auf Seite 83 P cB B Also ist B B und so auch p B B Begriffsinhalte lassen sich also als Bilder unter p darstellen Sei nun noch Q e PS ein Pseudoinhalt Dann gilt nach Definition f r jeden Pseudoinhalt P c Q mit PS Q da Pred Das bedeutet O Q und so auch p Q Damit ist PI cp P M Insgesamt folgt p P M PIU B BCM Nach Konstruktion ist p monoton und extensiv p ist wegen p B p B f r alle B c M auch idempotent Damit ist p der gesuchte H llenoperator Analog ist p der H llenoperator zu PUL A ACG Um zu sehen da die Charakterisierung der H llenoperatoren in Satz B4 deren Berechnung erm glicht mu noch einmal genau hingeschaut werden Zur Berech nung von p B p
369. ls beschrieben und m glichst durch einen Oberfl chen Prototyp lebendig gemacht Aus diesen Beschreibungen werden Objekte und Klas sen abgeleitet die ein direktes Gegenst ck im Untersuchungsbereich aufweisen So bekommt man ein erstes Klassenmodell Dabei sollten Klassennamen fachlich bedingte Attribute und Assoziationen zwischen den Klassen betrachtet und festge legt werden In der anschlie enden Analysephase wird das in den Anwendungsf l len ausgedr ckte Systemverhalten auf die Verantwortlichkeiten der einzelnen Klassen verteilt Hier kommen die Interaktionsdiagramme ins Spiel Im sp teren Entwurf wird das Klassenmodell an die Entwicklungsumgebung im wesentlichen die Programmiersprache angepa t Dabei betrachtet Jacobson auch Zustandsmo delle Shlaer Mellor sehen als ersten Entwicklungsschritt eine Zerlegung in Entwick lungsebenen domains die Anwendungsebene einige Service Ebenen darunter die Benutzeroberfl che die Architekturebene und einige Implementierungsebe nen Entwicklungsebenen k nnen weiter in Komponenten zerfallen In der Analyse wird dann das Klassenmodell aufgebaut wonach die Lebenszyklen der Objekte modelliert werden Zu den Zust nden geh ren Aktionen die bei Eintreten des Zu stands ausgef hrt werden Sie werden im n chsten Schritt durch Datenflu dia gramme beschrieben Aus dem so entstandenen Analysemodell der Anwendungs ebene leitet man die Anforderungen an die Service Ebenen ab und f hrt f r
370. ls zu einer Blockrelation geh rig auszuzeichnen wird das von TFCAObject an TLineDiagram vererbte Attribut the_remark mit der Zeichenkette BLOCKRELATION belegt Zun chst wird dabei noch not confirmed angeh ngt um anzuzeigen da der Benutzer die Speicherung dieser Blockzerlegung noch nicht best tigt hat Wird ein Diagramm mit diesem Zusatz angezeigt wird nach ei ner solchen Best tigung gefragt siehe Abbildung 5 12 auf Seite 203 Best tigt der Benutzer die Speicherung wird der Zusatz entfernt und ein eventuell neu festge legter Name eingetragen Lehnt der Benutzer die Blockzerlegung ab wird sie aus der Datei gel scht Auf das einer Blockrelation zugrunde liegende Ausgangsdiagramm wird ein Ver weis dadurch hergestellt da in the_specials folgendes eingetragen wird e VerweisAufAusgangsdiagramm ORIGINALDIAGRAM Diagrammname Dieser Verweis wird ausgenutzt wenn der Benutzer den Anzeigemodus f r Block relationsdiagramme respektive Komponentenzerlegungen ausschaltet um wieder zum Ausgangsdiagramm zur ckzukehren das der Zerlegung zugrunde liegt Abbildung 5 17 auf Seite 211 ist zu entnehmen da die Klasse f r Diagrammkno ten TDPoint ein Attribut the_description enth lt Hierin wird die Angabe von Block Infimum und Block Supremum gespeichert Im bersichtsdiagramm sind die Bl cke durch einzelne Knoten gegeben Das Format ist in EBNF 215 5 4 Technischer Aufbau des Werkzeugs e BlockAngabe BLOCK Infimumsnummer Supre
371. lt uc gt nicht enthalten wird NULL zur ckgeliefert Hilfsfunktionen f r lt usesTransitiv gt lt extendsTransitiv gt lt benutztInZerlegungTransitiv gt int RekUsesTransitiv const CString amp usingUc const CString amp usedUc TstringArray amp schonAbgehakt int RekExtendsTransitiv const CString amp extendingUc const CString amp extendedUc TstringArray amp schonAbgehakt int RekBenutztInZerlegungTransitiv const CString amp usingUc const CString amp usedUc TstringArray amp schonAbgehakt end CUsecaseAngaben class CUsecaseDaten Listenelement zur Speicherung der Angaben die im Kontext in den Specials als Strings abgelegt werden d h Beschreibung uses und extends Angaben zu einem Anwendungsfall Die Anwendungsf lle sind durch ihre Identifier aus dem entsprechenden formalen Kontext gegeben public CUsecaseDaten CString uc CUsecaseDaten n Konstruktor legt ein Listenelement f r den Anwendungsfall lt uc gt an und h ngt lt n gt dahinter const CString amp getUsecaseldentifier Liefert den Anwendungsfallbezeichner void setBeschreibung CString b Setzt die Anwendungsfallbeschreibung const CString amp getBeschreibung Liefert die Anwendungsfallbeschreibung void addUsesAngabe CString usedUc Erg nzt den Anwendungsfall mit Identifier lt usedUc gt in der uses Liste void entferneUsesAngabe const CString amp usedUc L scht den Anwe
372. lte reflexiv transitive H lle der Nachbarschaftsrelation auch wirklich im Diagramm gespeichert wird B 2 3 Zuordnung der Diagrammbeschriftung Sind die Begriffsumf nge und inhalte alle berechnet k nnen zu allen formalen Gegenst nden und Merkmalen die Nummern ihrer Gegenstands bzw Merkmals begriffe Definition 23 auf Seite 87 leicht gesucht werden Algorithmus B6 Zuordnung der Diagrammbeschriftung Gegeben sei ein endlicher formaler Kontext G M T mit G Zo 2 Zig 1t i Weiter seien die Begriffsinhalte bestimmt und nach den zugeh rigen Knoten nummern numeriert im Array inh gegeben Der Algorithmus berechnet im Array ggstBeg die Nummern der Gegen standsbegriffe und in mm1 die Nummern der Merkmalsbegriffe B6 1 FOR i 0 TO G 1 Do B6 2 knr 0 B6 3 WHILE inh knr g Be 4 knr knr 1 B6 5 ggstBeg i knr Schleife ber die Gegenst nde F r die Merkmalsbegriffe zu M mp M 17 dual ber die Begriffs umf nge Vog 96 Quellcode 286 B Algorithmen zur FBA Die Laufzeit von Algorithmus B6 ist O G log G B G M T f r die forma len Gegenst nde und O M log M 8 G M D f r die formalen Merkmale Der logarithmische Faktor ergibt sich aus der berpr fung der Mengengleich heit Der Gesamtaufwand zur Diagrammerstellung wird also asymptotisch nicht erh ht B 3 Berechnung der Duquenne Guigues Basis Die auftretenden Implikationenbasen Satz 14 auf Sei
373. ltsverzeichnis Einleitung Im folgenden werden die Motivation die grundlegenden Ideen und der Aufbau der vorliegenden Arbeit dargestellt Die gesamte Einleitung ist als fortlaufender Text konzipiert berschriften sind mehr zur Orientierung als zur strikten Trennung der betreffenden Abschnitte eingef gt 1 1 Objektorientierte Anwendungsentwicklung Beginnend mit den Programmiersprachen Simula Smalltalk Eiffel und C in den 80 er Jahren hat das Paradigma der Objektorientierung in der Software Ent wicklung Anwendung gefunden Von der Programmierung ber den Entwurf bis hin zur Analyse ist es inzwischen als f r den ganzen Entwicklungszyklus erfolg versprechend anerkannt Zahlreiche Methoden zur Anwendungsentwicklung sind in den 90 er Jahren entwickelt publiziert und verbreitet worden die alle Projekt phasen durch das objektorientierte Paradigma unterst tzen vergl 2 4 Zentrales Ergebnis der objektorientierten Analyse OOA ist ein Klassenmodell das den Untersuchungsbereich beschreibt und bereits die Struktur f r das sp tere Software System vorgibt Die in der Analyse definierten Klassen werden w hrend der weiteren Entwicklung in zunehmender Detaillierung ausgearbeitet In der Im plementierungsphase werden sie schlie lich zu vollst ndig ausprogrammierten Klassen einer Programmiersprache F r die Programmiersprachen unabh ngige Beschreibung der zu erstellenden Modelle bieten viele der erw hnten Methoden je weils eigene N
374. m einzelnen nachzuvollzeihen Zuerst sind zu allen Merkmalsbegriffen von B G M I die entsprechenden Merkmalsbegriffe aus S H N J zu bestimmen B11 3 B11 4 Dies verursacht nach Algorithmus B11 f r jeden einzelnen Merkmalsbegriff von B G M I einen Aufwand von O M logk also f r alle zusammen O M N logk Daraus kann die Zusammenstellung der Merkmals begriffe f r alle Begriffsinhalte von B G M I auch derjenigen Begriffe die keine Merkmalsbegriffe sind in O n logk m glich B11 5 B11 8 Nach diesen Vorbereitungen geschieht die Infimumsbestimmung B11 9 B11 21 f r alle Knoten des Ausgangsdiagramms in O n k logk Die Schleife von B13 5 bis B13 10 verursacht damit einen Aufwand von O n n k logk Die berpr fung der Ordnung in B13 11 bis B13 19 tr gt einen Aufwand von O r n bei Die Positionierung der nicht zugeordneten Knoten findet in den Anweisungen B13 42 bis B13 65 in einer Laufzeit von O k logk statt Die Anzahl der Kanten im Liniendiagramm zu H N J ist durch K be schr nkt Vermutlich gilt die bessere Schranke k logk Dies ist die Kantenanzahl im Liniendiagramm zum Potenzmengenverband Wenn man zeigen kann da der Potenzmengenverband unter allen Verb nden mit 2 Elementen im zugeh rigen Liniendiagramm die maximale Kantenanzahl besitzt ist der Nachweis f r die bes sere Schranke gef hrt Mit b max n k ist also die Gesamtkomplexit t O M N lo
375. m Ent fernen von formalen Gegenst nden aus dem Begriffsverband vor Ein Algorith mus zum L schen von formalen Gegenst nden wird auch in GMA 95 erw hnt aber nicht beschrieben In BASE werden innerhalb der funktionalen Zerlegung von Anwendungsf llen neue Funktionen als formale Merkmale und neue Dinge als formale Gegenst nde eingef hrt Dabei involvieren in der Regel die neuen Funktionen auch schon erfa te Dinge und die neu eingef hrten Dinge werden auch dem zerlegten Anwen dungsfall zugesprochen Mit dem Algorithmus von Godin Missaoui k nnte man zun chst die neuen Funktionen ohne neue Dinge einf gen und danach erst die neuen Dinge einzeln oder umgekehrt F r beliebige nachtr gliche Korrekturen der eingegebenen Indizierung m te dann noch Beckers Algorithmus zum Entfer nen von formalen Gegenst nden und Merkmalen eingesetzt werden Bernhard Ganter und Sergei Kuznetsov stellen in GKu 98 einen Algorithmus vor mit dem ein Paar aus einem formalen Gegenstand und einem formalen Merkmal 314 B Algorithmen zur FBA die zueinander inzident sind in einen Begriffsverband eingef gt werden kann sie he auch Lin 99 3 1 3 Dabei kann das neue Merkmal auch schon vorher vorhan denen formalen Gegenst nden zugesprochen und der neue Gegenstand auch vorher vorhandene Merkmale besitzen Es wird aber die Einschr nkung gemacht da dem neuen Gegenstand nur solche vorhandene Merkmale zugeordnet werden k n nen die auch a
376. mal Con cept Analysis Library enthalten Die Klasse CBASEDoc Das Dateiformat von BASE ist ConScript wie von der Arbeitsgruppe Allgemeine Algebra und Diskrete Mathematik des Mathematik Fachbereichs der Technischen Hochschule Darmstadt definiert siehe 5 4 4 auf Seite 216 ConScript Dateien speichern Strukturen der Formalen Begriffsanalyse Dementsprechend werden in BASE die Projektdateien durch die Klasse TWFCAFile repr sentiert Diese erwei tert die eigentliche Kernklasse TFCAFile um Meldungen in einem Dialog auszuge ben Die gespeicherten begriffsanalytischen Strukturen insbesondere formale Kontexte TFormalContext und Liniendiagramme TLineDiagram werden allge mein durch die Klasse TFCAObject repr sentiert CBASEDoc enth lt einen Zeiger auf ein Objekt von TWFCAFile Damit sind alle in der Projektdatei gespeicherten Strukturen zug nglich Daten zu Anwendungsf llen werden in Objekten der Klasse TFormalContext ge speichert siehe 5 4 2 auf Seite 210 F r jedes Anwendungsfallmodell das der Be nutzer f r das Projekt speichern m chte wird dementsprechend ein Objekt dieser Klasse erstellt Nachdem der entsprechende formale Kontext der Projektdatei zu gef gt und aus den Daten ein Liniendiagramm erzeugt wurde halt CBASEDoc le diglich einen Zeiger auf das Liniendiagramm Die Zuordnung beider Strukturen in der Datei erfolgt ber ihren Namen Beide tragen den selben Namen Zu erzeugten Blockzerlegungen wird lediglich das be
377. man dann den in Abbildung 4 31 rechts dargestellten Block W rde man zus tzlich das globale Infimum und den Merkmalsbegriff zu Fehlbe st nde nachbestellen wie in der zweiten alternativen Grobzerlegung einem ge meinsamen Block zuschlagen so st nden wegen der Supremumsvertr glichkeit der zugrunde liegenden Toleranzrelation auch die Merkmalsbegriffe zu Fehlbe st nde nachbestellen als Supremum von sich selbst und dem globalen Infimum und zu Lieferscheine erstellen als Supremum des globalen Supremums und sich selbst in Relation und somit h tte man nach Hilfssatz 15 auf Seite 115 nur einen Block der alle Begriffe umfa t Dementsprechend ergibt die Verfeinerung der anderen Diagrammseite also des Anwendungsfalls Fehlbest nde nachbestellen die andere der beiden alternativen Grobzerlegungen Die einzige Blockrelation des formalen Kontexts zu Abbildung 4 19 auf Seite 156 ergibt die Blockzerlegung in Abbildung 4 32 Blockrelationen bieten also Modularisierungsvorschl ge und helfen Klassenkandi daten bzw Systemkomponenten festzulegen Nicht gesagt ist da die untersuchten Begriffsverb nde interessante Blockrelationen besitzen siehe auch Anhang B 4 3 Ist das aber der Fall liefert die Technik Liniendiagramme f r eine grobe Sicht auf die Komponenten und f r eine feine Sicht auf die Komponenteninterna 176 4 BASE ein begriffsbasiertes Analyseverfahren f r die Software Entwicklung Lieferscheine erstellen War
378. manalyse Sie beschreiben die Funktionalit t eines Systems von der Warte der au enstehenden Benutzer aus Anwendungsf lle wurden zuerst von Ivar Jacobson innerhalb der objektorientier ten Analyse popul r gemacht sp ter aber von vielen anderen Autoren aufgegrif fen Schon in J C 95 weisen Jacobson und Christerson auf Querz ge zu Rum baugh Rum 94 Booch Wirfs Brock und Rubin Goldberg R G 92 hin und schildern Reaktionen dieser Autoren In 2 4 3 wurde schon hervorgehoben da viele Methoden die Untersuchungen von Szenarien vorsehen Dabei sind Szenari en Auspr gungen von Anwendungsf llen Anwendungsf lle werden auch von der UML BJR 99a unterst tzt und sind Leitfaden f r den Unified Process Jac 99 Sie werden jeweils von einem Aktor angesto en dieser kann au erhalb des Sy stems stehen oder auch ein anderer Anwendungsfall innerhalb des Systems sein Die Beziehungen zwischen Aktoren und Anwendungsf llen werden in einem An wendungsfalldiagramm dargestellt Abbildung 2 6 Bibo ausleihen anschaffen mahnen Revision durchf hren A Bibo Verwaltung uses zur ckgeben Ausleiher Abb 2 6 Anwendungsfalldiagramm f r eine Bibliothek Das Rechteck im Diagramm symbolisiert die Systemgrenze links und rechts da von stehen die Aktoren die von au erhalb des Systems mit diesem in Interaktion treten Im Beispiel sind das der Ausleiher und die Bibliotheksverwaltung In den Ova
379. meB Schnitt von Begriffsumf ngen von G M I selber ein Begriffsum fang von G M I Damit ist A 4 B G M I Nach Hilfssatz 20 ist A A o 4 A B B und A Ao 47 A 4 4 D h B B 4 A5 4 4 o ist ein Block von b Nach a ist die Abbildung wohldefiniert und surjektiv Nach Konstruktion ist sie injektiv Sind B B Ay 4 B By A gt Ay B G M D O mit KB B 4 4191 lt B B2 4 gt A so gilt nach Hilfssatz 18 auf Seite 118 A Ay lt A gt Ay in B G M I D h A CA Also ist 4 B lt A B in B G M J Somit ist die angegebene Abbildung ordnungserhaltend Sind andersherum A B A B B G M J mit A B lt A B3 so gilt auch A 4 lt A Ay in B G M J und deshalb B B A Ay 1 lt By B2 A gt 4 in B G M D O Also ist die Abbildung ein Ordnungsisomorphismus c Setze K IN AXB Betrachte jeweils X in B A B K und X in B G M 1 c Sei C D e B B A AD Dann ist Cc A DGB Esgitt CX me B g m e K Vee C c me M g m e I VgeC C 270 A Mathematische Details Seime C D Dann ist me B und g m e I Vge C Wegen CCA istalso g m e IM AxB K VgeC Dh me C Also ist CX C D Analog ist D C also C D B A B IA A x B gt Sei C D e B A B IA Ax B Dann ist Cc A4 DGB Weil J Blockrelation von G M J und
380. merkte Menge die vor der Zerlegung nur gemeinsam in den Anwendungsfall Fehlbest nde nachbestellen involviert waren Also sind neue Begriffsumf nge entstanden und damit die Struktur des Liniendiagramms ver n dert worden Als neues Ding wurde die Nachbestellmenge ber cksichtigt aber nur den neuen Funktionen und damit auch dem zerlegten Anwendungsfall zuge sprochen Das Diagramm zeigt deutlich wie sich alle nderungen gegen ber dem urspr nglichen Liniendiagramm aus Abbildung 4 5 auf Seite 137 auf das Haupt ideal des Merkmalsbegriffs zu Fehlbest nde nachbestellen beschr nken In diesem Sinne sind die nderungen lokal 146 4 BASE ein begriffsbasiertes Analyseverfahren f r die Software Entwicklung Nachbestellposten anlegen Nachbestellmenge ermitteln Q Nachbestellung Vorgemerkte Menge IN Y Nachbestellmenge Abb 4 11 Anwendungsfall Fehlbest nde nachbestellen verfeinert Eine Zerlegung mit globalem Effekt In der Praxis kann es auch durchaus vorkommen da sich die urspr ngliche Indi zierung als zum Teil unzutreffend erweist weil einer bei der Zerlegung entdeckten Funktion ein schon vorher betrachtetes Ding zugeschrieben wird das aber vorher nicht als im bergeordneten Anwendungsfall involviert erkannt worden war In diesem Fall und in dem oben angesprochenen Fall da schon betrachteten Anwen dungsf llen neu entdeckte Dinge zugesprochen werden k nnen sich
381. methodology for relational databases using the extended entity relationship model ACM Computing Surveys vol 18 no 2 June 1986 F Vogt Formale Begriffsanalyse mit C Datenstrukturen und Algorithmen Springer Verlag Berlin Heidelberg 1996 Vog 97 Vog 99 Vos 99 Wei 88 W F 86 Wil 95 Wir 75 Wir 83 W N 95 W O 92 WWW 90 Y C 79 Literatur F Vogt Supporting Communication in Software Engineering An Approach Based on Formal Concept Analysis Preprint Nr 1926 Technische Universit t Darmstadt Fachbereich Mathematik 1997 F Vogt Anaconda Interaktiver Editor f r ConScript Dateien http fwww mathematik tu darmstadt de ags ag1 Software Anaconda Welcome_de html 1999 G Vossen Datenbankmodelle Datenbanksprachen und Daten bankmanagement Systeme 3 Auflage Oldenbourg Verlag Miin chen 1999 M Weitz Theories of Concepts A History of the Mayor Philosophi cal Tradition Routledge London 1988 T Winograd F Flores Understanding Computers and Cognition A New Foundation for Design Norwood NJ Ablex 1986 R Wille Begriffsdenken Von der griechischen Philosophie bis zur K nstlichen Intelligenz heute Preprint Nr 1724 Technische Uni versit t Darmstadt Fachbereich Mathematik 1995 N Wirth Algorithmen und Datenstrukturen Teubner Studienb cher Informatik Stuttgart 1975 N Wirth Systematisches Programmieren 4 Auflage Teubner Stu dienb cher Inf
382. mme Kollaborationsdiagramme oder Datenflu diagramme benutzen Die direkte Zuordnung der Methode von Coad Yourdon zu den Daten flu diagrammen zeigt an da diese Autoren als einzige keine der anderen beiden objektbezogenen Darstellungsmittel zur Interaktionsmodellierung vorsehen da alle unteren Nachbarn des betreffenden Knotens auch untere Nachbarn eines ande ren Coatoms sind Ebenfalls leicht abzulesen ist da bis auf drei Ausnahmen die UML alle Modellie rungskonstrukte enth lt die einer ihrer drei Autoren propagiert In der Tat sind nur Diagrammtypen die in den einzelnen Methoden lediglich als Zusatz zu den eigent lich prim ren Modellierungskonstrukten betrachtet wurden oder die sich in der An wendung der jeweiligen Methode als inad quat erwiesen hatten der Notationsver einheitlichung zum Opfer gefallen So verzichtete Jacobson auf seine Objektdia gramme die eigentlich fr he Klassendiagramme waren UML erlaubt sogar auch die Darstellung von Objekten in Klassendiagrammen und auf die state transition graphs eine Erweiterung der Zustandsdiagramme Rumbaugh war schon vor der Entwicklung der UML immer mehr auf Distanz zu den Datenflu diagrammen ge gangen siehe 2 4 3 auf Seite 44 Die timing diagrams von Booch Boo 91 fan den schon in Boo 94 keine Erw hnung mehr Bis auf diese kleineren Abweichun gen ist UML eine Vereinigung der von den drei Autoren auch schon vorher vertre tenen Modellierungskonstrukte erg nzt um die
383. modelliert sind oder werden sollen Die formalen Merkmale werden nach den Ent 239 6 6 Projektverfolgung wicklungst tigkeiten Analyse Entwurf und Implementierung getrennt aufgestellt Zun chst einmal sind es Eigenschaften der erfa ten Strukturen die f r die System entwicklung interessant sind und Aufgaben die f r sie durch das System zu erf l len sind Auf den Entwurf bezogen beschreiben die formalen Merkmale welche Verantwortlichkeiten siehe 2 4 3 auf Seite 43 f r die modellierten Klassen zu spezifizieren sind Die Inzidenzrelation gibt dar ber Auskunft welche davon be reits spezifiziert sind Die Formulierung der Verantwortlichkeiten ist aus den in der Analyse festgelegten Aufgaben abgeleitet Dies erm glicht sp ter einen Soll Ist Vergleich Weiter wird festgehalten welche Verantwortlichkeiten schon durch ent sprechende Operationen und Attribute der Klassen implementiert sind Das Beispiel in Abbildung 6 10 stammt aus Vog 97 Die bersetzung ins Deut sche wurde ebenfalls von Vogt bernommen Ein vorgestelltes A f r Analy se kennzeichnet formale Merkmale die der Problembeschreibung entnommene Eigenschaften und Aufgaben bezeichnen E steht dagegen f r Entwurf und I f r Implementierung Einige der im Entwurf ausgemachten Verantwortlichkei ten scheinen nach Vogt keiner Implementierung zu bed rfen E Default Namen A Standard Namen A automatisch erzeugen
384. mponentengrenzen hinweg in Kauf nimmt oder auf die weitere Modularisierung an der Stelle verzichtet Eine entsprechende Technik f r Zerlegungen durch Blockrelationen existiert noch nicht Die Betrachtung horizontaler Summanden w re auch innerhalb von BASE 173 4 6 Blockrelationen in BASE m glich und entsprechende Komponentenzerlegungen bzw Klassenkandidaten durch horizontale Summanden m glich Allerdings sind weitgehend unabh ngige Systemteile wie in L S 97 nicht zu erwarten Im Fall der Modularisierung von Altsystemen ist das anders weil die untersuchten Programme hoffentlich in ge wissem Ma e modular angelegt wurden 4 6 4 Verschieden feine Komponentenzerlegungen Die bisher angef hrten Beispiele f r Blockrelationen fassen immer gr ere Dia grammteile zusammen oder formen Bl cke mit einzelnen Knoten Au erdem tre ten die Bl cke halbwegs gleichm ig auf das Diagramm verteilt auf Das mu nicht immer der Fall sein Diagrammteile die mit dem restlichen Diagramm wenig verzweigt sind wo also nur lokale Datenabh ngigkeiten vorliegen werden durch Blockrelationen auch allein f r sich gruppiert So besitzt etwa der formale Kontext zur Zerlegung des Anwendungsfalls Lieferscheine erstellen Begriffsverband dar gestellt in Abbildung 4 17 auf Seite 154 eine Blockrelation die nur zwei der origi nalen Begriffe in einem Intervall zusammenfa t und alle anderen unber hrt l t In Abbildung 4 30 ist dementsprechend nur der
385. ms unerheblich Es bestehen keine Datenabh n gigkeiten Kunde Lieferscheinvermerk Lieferscheine zuordnen Minimalbestand Maximalbestand Lieferwagen Lagerbestand ermitteln Lieferschein anlegen Lieferkartei Lagerbestand Bestellposten Abb 4 31 Bl cke zur zweiten Blockrelation zu Abbildung 4 17 Der gerade besprochene formale Kontext zur Zerlegung des Anwendungsfalls Lie ferscheine erstellen besitzt noch eine zweite nicht triviale Blockrelation Die ihr entsprechenden Bl cke sind in Abbildung 4 31 dargestellt Diese Aufteilung ist schon aus Abbildung 4 25 auf Seite 169 bekannt Hier wird nur noch diese eine der beiden alternativen Grobzerlegungen des unverfeinerten Begriffsverbands durch Blockrelationen angeboten Im folgenden sei erl utert wie es dazu kommt Durch die Zerlegung des Anwendungsfalls Lieferscheine erstellen ist das Dia gramm im zugeh rigen Hauptideal aufgef chert worden ohne da die neuen for malen Begriffe viele Datenabh ngigkeiten zum restlichen System aufzeigen Fa t man wie oben sinnvoller Weise das Ding Lieferschein und den Anwendungsfall 175 4 6 Blockrelationen in BASE Lieferscheine erstellen in einem Block zusammen so liegen nach Hilfssatz 15 auf Seite 115 auch alle formalen Begriffe zwischen dem Merkmalsbegriff zu Liefer scheine erstellen und
386. mumsnummer Die Nummern sind dabei die Knotennummern des Ausgangsdiagramms Anhand der Nummern von Block Infimum und Supremum aller Bl cke und des Verweises auf das Ausgangsdiagramm kann auch das Detaildiagramm zu einer Blockzerlegung berechnet werden Es wird genau wie Diagrammausschnitte Hauptfilter ideale einzelne Bl cke nur als tempor res Objekt der Klasse TLineDiagram erzeugt und gleich wieder gel scht wenn ein anderes Diagramm angezeigt wird In dem schon oben angesprochenen Attribut the_remark erhalten sie den Namen des Diagramms aus dem sie berechnet wurden So kann der Benut zer zu diesem zur ckkehren 5 4 4 Dateiformat BASE benutzt ConScript als Dateiformat Dieses wurde von der Arbeitsgruppe Allgemeine Algebra und Diskrete Mathematik des Mathematik Fachbereichs der Technischen Hochschule Darmstadt um Rudolf Wille entwickelt Vog 96 darin Anhang A enth lt eine Spezifikation Durch die Verwendung von ConScript ist BASE mit den in Darmstadt entwickelten Werkzeugen wie Anaconda von Frank Vogt vollst ndig kompatibel Allerdings stehen die BASE spezifischen Informatio nen anderen Werkzeugen lediglich als Zeichenketten zur Verf gung ConScript Dateien werden als einfacher ASCII Text gespeichert Sie sind also mit jedem Editor lesbar Deshalb soll hier der f r BASE interessante Teil von ConScript vorgestellt werden damit man die Dateien auch in ihrer Textrepr senta tion verstehen kann Die folgenden Spezifikationen
387. n B13 14 IF os gt 1 AND oz gt 1 AND origY os lt orig oz Start und Zielknoten alten zugeordnet aber neue Verbandsordnung nicht respektiert B13 15 n tige Verschiebung dY origY os minDY y j 0z B13 16 origY oz origY os minDY B13 17 FOR j 0 TO n 1 Do B13 18 IF A5 B3 lt ggun Aoz Boz AND y j orig dY lt origY j zu verschiebende Knoten B13 19 origY j y j orig dY Zuordnung der alten Knoten beendet B13 20 Retten der Koordinaten f r Skalieren Verschieben FOR i 0 TO k 1l Do B13 21 altX i x i neu B13 22 altY i y i neu B13 23 Koordinaten f r die zugeordneten Knoten FOR i 0 TO k 1l DO B13 24 IF origKnlil gt 1 B13 25 x i neu x origKnli orig B13 26 y i neu origY origkn i B13 27 IF origKn 0 1 Supremum nicht zugeordnet B13 28 id B H N J B13 29 h chster zugeordneter Knoten huz s 1 B13 30 FOR j 1 TO k 1 DO B13 31 IF origKn j gt 1 THEN B13 32 id id ideal C D 3 A N J B13 33 IF huz 1 OR y huz neu lt y j neu B13 34 huz j B13 35 dX x huz neu altX huz B13 36 dY y huz neu altY huz 322 B13 B13 B13 B13 4 B13 4 B13 B13 31 52 53 54 56 57 58 59 60 61 37 38 55 B Algorithmen zur FBA FOR j 0 TO huz 1 DO IF
388. n triviale Botschaftsbeziehung bottom up Klassenentwurf Cc C Client Coatom D Daten abh ngigkeiten abstraktion lexikon sicht struktur design pattern Entwurfsmuster dual adjungiert Begriffsverband Ordnung Dualit tsprinzip Duquenne Guigues Basis Dynamikmodell dynamisch Binden Objekttyp E Eiffel Entit tsklasse Entwurf smuster Ereignis 352 112 116 121 163 170 215 233 264 269 276 293 113 164 33 25 29 231 234 26 73 138 307 23 138 141 232 24 232 186 23 60 129 140 162 23 37 76 66 100 101 102 103 109 152 156 214 259 262 287 291 38 45 25 29 52 225 54 141 159 22 30 45 240 37 40 Extension Begriffsumfang Klassencharakter Extensitat 77 extends Beziehung 46 135 139 192 212 F folgen semantisch folgen Formale Begriffsanalyse 61 78 223 253 formaler Begriff 78 82 111 161 164 223 281 314 315 Gegenstand 78 80 134 210 223 314 Kontext 78 80 134 210 217 formales Merkmal 78 80 134 210 223 314 function point 55 funktionale Anforderungen 23 38 60 126 181 Sicht 23 128 137 162 Zerlegung 23 128 142 151 152 182 191 201 212 G Galois Verbindung 76 81 Gegenstand 62 sbegriff 87 160 162 178 183 305 314 simplikation 105 151 156 157 183 sordnung 274 formaler Generalisierung 32 35 geordnete M
389. n Anti symmetrie und Transitivit t ergeben sich ebenfalls aus ihnen weil eine Ziffer und ein Buchstabe nie in Relation lt U Sg stehen Diese Ordnung ist nicht so sch n wie die ersten weil man mit ihrer Hilfe nicht alle betrachteten Elemente vergleichen kann c Solche Effekte hat man aber auch bei nat rlich gegebenen Ordnungen Eine gro e Rolle spielt im folgenden die Inklusionsordnung lt auf der Potenzmenge P X einer Menge X in der nicht alle Teilmengen vergli chen werden k nnen wenn X mehr als ein Element enth lt Bemerkung 1 Schreibweise lt Meistens benutzt man f r eine Ordnung auf einer Menge X das Zeichen lt In diesem Fall bezeichnet man lt mit gt und schreibt weiter f r x y X x lt y statt x lt y und x y Die Beobachtung da nicht alle Elemente einer geordneten Menge paarweise mit einander vergleichbar sein m ssen f hrt zu der n chsten Definition Definition 3 _ Vergleichbar Kette lineare Ordnung Ist X lt eine geordnete Menge so hei en x y X vergleichbar wenn x lt y oder y lt x gilt sonst unvergleichbar Sind in Y c X je zwei Elemente vergleichbar so hei t Y eine Kette in X und Y lt linear geordnet Bir 67 1 1 S 2 Insbesondere ist hier die Definition von Ordnungen so ausf hrlich ausgef hrt weil sie in der mathematischen Literatur nicht einheitlich angegeben wird Die hier ver wendete Definition schlie t sich der Formulierung in G W 96 an H ufig wird d
390. n Funktion ausw h len Button vorher erst zur Bearbeitung ausw hlen Wird der Dialog durch den Button Dateneingabe bernehmen beendet so wird f r jeden Anwendungsfall nachgepr ft ob alle von ihm im Sinne einer uses Be ziehung benutzten Anwendungsf lle auch transitiv in seiner Zerlegung vorkom men wenn seine Zerlegung schon angegeben ist Ist das nicht der Fall werden dem Benutzer sukzessive die Paare von benutzendem und benutzten Anwendungs fall angezeigt die die obige Regel verletzen Er kann dann entscheiden ob er die Eingabe korrigieren will In diesem Fall wird der benutzende Anwendungsfall im Dialog angezeigt Lehnt er die Korrektur der beanstandeten F lle ab kann er die Daten auch unver ndert bernehmen Im Dialog werden nicht zul ssige Buttons deaktiviert und grau angezeigt um den Benutzer zu leiten In obigen Abbildungen sind nur zur besseren Lesbarkeit alle Beschriftungen schwarz gezeichnet Weiter k nnen viele Aktionen auch durch die Return Taste oder Doppelklick in einer Listbox ausgel st werden um die Arbeit zu beschleunigen Zur optischen Unterst tzung dieser Funktionalit t werden die entsprechenden Buttons mit fetter Umrandung gezeichnet 5 1 2 Darstellung von Liniendiagrammen Die Darstellung der Liniendiagramme ist an das Programm Anaconda von Frank Vogt Vog 99 aus der Darmst dter Arbeitsgruppe um Rudolf Wille angelehnt mit dem auch die Liniendiagramme in Kapitel 4 gezeichnet wurden Die Diag
391. n denn so be kommt man die in 1 6 2 als nat rlich bezeichnete Modellierung von Klassen als formale Begriffe Die Klassen der umstrukturierten Hierarchie enthalten nur solche Attribute und Operationen die auch wirklich zusammen genutzt werden So k nnen Klassen de ren Objekte in verschiedenen Rollen auftreten und dabei nur gewisse Teile der de finierten Attribute und Operationen nutzen identifiziert und danach aufgeteilt wer den Au erdem findet man Klassenteile die gar nicht oder nur in bestimmten Un terklassen genutzt werden Genauso stechen Variablen hervor von denen aus keine Attribute oder Operationen benutzt werden In Abbildung 6 5 werden etwa Studenten mit s und ohne zugeordnetem Betreu er s2 unterschieden Weiter ist ersichtlich da das Attribut address nur bei Stu denten Objekten genutzt wird Alle am Supremum angegebenen Variablen benut zen kein Attribut und keine Operation ihrer Klassen Und die Sozialversicherungs nummer spielt berhaupt keine Rolle Zusammenh nge zwischen den Attributen und Operationen sind ebenfalls zu erkennen Da in Abbildung 6 5 der Merkmals begriff zum Attribut advisor kein Oberbegriff des Merkmalsbegriffs zum student Konstruktor ist zeigt etwa da vergessen wurde dieses Attribut zu initialisieren Auf Basis des Liniendiagramms kann ein Entwickler entscheiden ob er die Klas senhierarchie umstrukturieren will Obige Darstellung ist in bezug auf die Erstellung des Formalen Kontexts
392. n schon viele der Entit tsklassen im Sinne von Jacobson siehe 2 6 1 Seite 54 auftauchen M glicherweise werden bei dieser Betrachtung auch schon Attribute behandelt Insgesamt ist die Sicht auf das System aber noch sehr grob Eine weitergehende und im Sinne der Objektorientierung zentrale Idee besteht dar in auch die Identifikation von Operationen der Klassen anzugehen Zu einer voll st ndigen Klassenspezifikation reicht nicht allein die Angabe von Attributen son dern auch die Operationen m ssen festgelegt werden Zudem m chte man den Ab lauf von Anwendungsf llen mit Hilfe von Sequenzdiagrammen formaler beschrei 141 4 3 Funktionale Zerlegung ben als das bisher durch Umgangssprache geschehen ist Deshalb soll nun eine funktionale Zerlegung der Anwendungsf lle betrachtet werden Dazu werden die Anwendungsf lle so weit in Einzelschritte zerlegt bis diese als Operationen gewissen Klassen zugeteilt werden k nnen Die Abfolge der Einzel schritte innerhalb eines Anwendungsfalls kann dann durch die Aufzeichnung von Operationsaufrufen bzw Nachrichten zwischen den beteiligten Objekten in einem Sequenzdiagramm dargestellt werden In BASE wird die Festlegung der Klassen zeitlich relativ weit nach hinten verscho ben um sie erst vorzunehmen wenn schon ein tieferes Verst ndnis des Untersu chungsbereichs erreicht ist Die untersuchten Anwendungsf lle k nnen aber nach dem in 2 2 1 dargestellten Vorgehen auch ohne Bezug auf Klassen e
393. n wie der Ansatz durch entsprechende Software unterst tzt werden kann Wie schon in 1 6 3 auf Seite 18 und in Kapitel 4 auf Seite 126 erw hnt soll ein Be nutzer von BASE von den mathematischen Details im Hintergrund verschont blei ben Lediglich Liniendiagramme sollte er interpretieren k nnen ohne deren exakte mathematische Semantik kennen zu m ssen Um klarzustellen da dies m glich und mit dem vorliegenden Prototypen erreicht ist werden in 5 1 zun chst die grundlegenden Elemente der Benutzerschnittstelle und in 5 2 der Umgang mit dem Werkzeug erkl rt Abschnitt 5 3 skizziert zwei Szenarien zum Test des Ansatzes Erst in 5 4 ist es dann wieder n tig zur Darstellung der benutzten Datenstrukturen auf die mathematischen Grundlagen Bezug zu nehmen Im wesentlichen fu t das vorgestellte Werkzeug auf der Klassenbibliothek The Formal Concept Analysis Li brary von Frank Vogt Vog 96 Einige Vorarbeiten zur Entwicklung des Werkzeugs wurden innerhalb von Praktika am Fachbereich Mathematik und Informatik der Philipps Universit t Marburg von Studenten geleistet Inna Schwab Christian N cker und J rn Schimmelpfeng ent wickelten ein erstes Programm zur Bearbeitung von formalen Kontexten und Lini endiagrammen unter Borland C Nguyen Huu An Serdal Kaya Achim Sell mann und Ralf Wiehl portierten anschlie end The Formal Concept Analysis Libra ry und den entwickelten Liniendiagramm Editor auf MS Visual C Jan Malco mes Ralf Wiehl un
394. n Abschlu im verfeinerten formalen Kontext bildet Sucht man also die obere Intervallgrenze eines Blocks geht man von seinem originalen Umfang ber zum kleinsten der neuen Umf nge der ihn enth lt Ist der urspr ngli che Begriffsumfang A so bildet man also A wenn L die verfeinerte Relation ist Das hei t man sucht im verfeinerten Liniendiagramm das Supremum der Gegen standsbegriffe der Gegenst nde des urspr nglichen Begriffsumfangs Dual findet man die unteren Intervallgrenzen als Infimum der Merkmalsbegriffe der Merkmale der urspr nglichen Begriffsinhalte dieser formalen Begriffe Bestellung annehmen Kundenbestellung anlegen Lieferscheine erstellen R cklauf bearbeiten Bestellung bearbeiten Fehlbestande nachbestellen Wareneingang bearbeiten Lieferscheinvermerk Nachbestellung Lieferwagen Fahrtziel Lieferant stand korrigieren Lieferschein Maximalen und minimalen Lagerbestand definieren Bez Minimalbestand Maximalbestand Vorgemerkte Menge Lagerbestand ermitteln Lagerbestand Bestellmenge Lieferkarteieintrag anlegen N Wartekartei Bestellposten Produkt O Abb 4 26 Bl cke aus Abbildung 4 22 In Abbildung 4 26 identifiziert man dann sofort diejenigen drei Begriffe die eine Zerlegung mit Hilfe einer Blockrelation verhindern Es s
395. n Anordnung korrektes Liniendiagramm erzeugt wird Im folgenden ist dargestellt wie dies genau vor sich geht Dual kann man auch anhand der Be griffsumf nge vorgehen die entstehenden Anordnungen sind im allgemeinen ver schieden Bekannte und neue Knoten Die Zuordnung von Knoten des Ausgangsdiagramms zu solchen des neuen Dia gramms geschieht anhand der Begriffsinhalte Sei G M I der formale Kontext zum Ausgangsdiagramm und H N J der zum neuen Diagramm Einem forma len Begriff 4 B B G M I ordne B B B H N J zu Dabei l t sich nach Folgerung 5 auf Seite 88 B B als Am m berechnen Diese me B Berechnung ist schon in Algorithmus B11 ausgef hrt worden 315 B 5 Automatisches Zeichnen von Diagrammen Wenn B in 3 H N J noch als Inhalt existiert haben alter und neuer Begriff den gleichen Inhalt Sonst ist B SBr Nach Folgerung 2 b auf Seite 82 definiert die Zuordnungsvorschrift B G M I gt B H N J 4 B gt B B eine ord nungserhaltende Abbildung Existieren alle alten Begriffsinhalte im neuen Be griffsverband weiter so ist sie injektiv und die Ordnung der entsprechenden Be griffe im neuen Verband ist die selbe wie die im alten Anhand dieses Falls soll zu n chst einmal die weitere Vorgehensweise erkl rt werden Wie andere F lle behan delt werden wird danach aufgezeigt Sind allen Knoten des alten Diagramms ber die Begriffsinhalte Knoten des neuen Diagramm
396. n Knoten der nicht gr er oder gleich dem niedrigeren der beiden Knoten ist m3 mi m2 m5 m4 m1 m2 m3 m5 m4 Abb B 11 Mehrdeutige Zuordnung Anders ausgedr ckt bestimmt sich die Menge der m glicherweise zu verschieben den Knoten als das Hauptideal des h heren Knotens ohne das Hauptideal des nied rigeren Knotens aber vereinigt mit den Hauptidealen der unteren Nachbarn des h heren Knotens die mit dem niedrigeren Knoten unvergleichbar sind Im Bei spiel sind das die Knoten zu m3 und m4 und der Infimumsknoten Wird eine Kor rektur der vertikalen Positionen dieser Knoten unterlassen entstehen solche Dia gramme wie in Abbildung B 11 rechts Im neuen Diagramm ist im Unterschied zum alten der Merkmalsbegriff zu m3 ein Unterbegriff des Merkmalsbegriffs von 318 B Algorithmen zur FBA m2 Die entsprechende Diagrammkante ist aber nicht absteigend sondern verl uft waagerecht Deshalb ist das Diagramm nicht korrekt Indem man die erw hnten Knoten nach imal unten versetzt erh lt man ein korrektes Diagramm H tte man bei der Auswahl der Zuordnung eine h here Position ge mi m2 w hlt als die des niedrigeren der beiden m5 beteiligten Knoten m te man mit der gleichen Argumentation Knoten von Oberbegriffen behandeln indem man sie m4 nach oben oder die Konten unter
397. n anwendungsspezifisches Wissen Dieses besitzen die Entwickler in der Regel nicht Die Mitwirkung von Fachexperten und sp teren Anwendern ist in dieser Phase f r einen Projekterfolg unabdingbar Ob jektorientierte Konzepte bieten aber nicht unbedingt eine gute Basis f r die Kom munikation mit den Fachexperten vergl FKM 96 BASE schaltet der Ent wicklung von objektorientierten Modellen eine kombinierte Untersuchung von funktionalen und Daten Aspekten vor Dieses Vorgehen kommt den an der Ent wicklung beteiligten Anwendern ebenfalls entgegen So sind die funktionale Zerle gung und die entsprechenden Modelle aus funktionaler bzw ablauforientierter Sicht zur Beschreibung ihrer Gesch ftsprozesse gewohnt Deshalb sollte es in der Regel einfacher sein die Einzelschritte innerhalb der Anwendungsf lle aus rein funktionaler Sicht zu identifizieren als sofort die Diskussion um Objekte und Klas sen zu beginnen und dann die Einzelschritte als Operationsaufrufe von gewissen Objekten an andere zu interpretieren Wie schon in 1 6 1 auf Seite 16 erw hnt die nen Liniendiagramme von Begriffsverb nden als Darstellungs und Kommunikati onsmittel Diese bieten nach Erfahrungen der Darmst dter Arbeitsgruppe um Ru dolf Wille eine geeignete Basis zur Verst ndigung auch mit mathematisch wenig versierten Gespr chspartnern Idee von BASE ist der durch die Anwendungsf lle gegebenen funktionalen Sicht 128 4 BASE ein begriffsbasiertes Analyseverfahr
398. n ausgegangen werden kann da sich zu diesem Zeitpunkt schon ein Entwicklern und Fachexperten gemeinsames Grundverst nd 129 4 2 Grundlegender Ansatz nis des Untersuchungsbereichs herausgebildet hat kann bei den neu gewonnenen Anwendungsf llen die Zuordnung der involvierten Dinge zu den betreffenden Anwendungsf llen direkt mit der Beschreibung zusammen geschehen Damit erfolgt die Bearbeitung der Anwendungsf lle in BASE nach folgendem Schema Anwendungsf lle identifizieren Anwendungsf lle beschreiben l Involvierte Dinge festlegen und Anwendungsf llen zuordnen l Neue Anwendungsf lle identifizieren Abb 4 1 Identifizieren und Indizieren von Anwendungsf llen 4 2 2 Die Anwendungsf lle des Analysebeispiels annehmen Bestellung bearbeiten Nf Lagerbestand Fehlbest nde N Ermitteln nachbestellen Lieferscheine Sachbearbeiter erstellen Wareneingang bearbeiten Maximalen und minimalen Lagerbestand definieren R cklauf bearbeiten Abb 4 2 Anwendungsf lle des JWI Beispiels 130 4 BASE ein begriffsbasiertes Analyseverfahren f r die Software Entwicklung Im Praktikum wurde das in Abbildung 4 2 angegebene Anwendungsfallmodell er stellt Die Beschreibungen der Anwendungsf lle wurden aus den zugrunde liegenden Aussagen siehe Anhang C entwickelt Sie sind im folgenden wie im Praktikum formuliert aber mit zus tzlichen Hervorhebungen
399. n vorher vorhandenen Parameters steuern ob nach Gegenst nden oder Merkmalen gezeichnet werden soll die Art der Erzeugung der Zeichenvektoren und als weitere Erg nzung ob eine Implikationenbasis mit erzeugt werden soll siehe B 3 B 5 3 Ausrichtung nach einem bestehenden Diagramm In BASE spielt die funktionale Verfeinerung von Anwendungsfallmodellen eine zentrale Rolle Ein bei einer solchen Verfeinerung entstehendes Liniendiagramm weist in der Regel eine hnliche Struktur auf wie das Ausgangsdiagramm des un verfeinerten Anwendungsfallmodells Wie in 4 3 dargestellt konzentrieren sich die nderungen auf das Hauptideal zum Merkmalsbegriffs des zerlegten Anwen dungsfalls Wird das verfeinerte Diagramm wieder wie in B 5 1 und B 5 2 be sprochen von Grund auf neu gezeichnet sind alle schon geleisteten Arbeiten zur manuellen Ausrichtung des Ausgangsdiagramms f r das neue Diagramm verloren Ein solches Vorgehen w rde also die Akzeptanz von BASE bei Anwendern stark beeintr chtigen Deshalb wurde eine Methode entwickelt bei der Erstellung eines 313 B 5 Automatisches Zeichnen von Diagrammen neuen Diagramms dessen Ausrichtung an einem schon bestehenden zu orientieren Verfahren zur inkrementellen Begriffsverbandserstellung Ein nat rlicher und eleganter Ansatz best nde darin schon den entsprechenden Begriffsverband inkrementell auf Basis des vorliegenden Verbands zu berechnen Daf r gibt es auch zwei Ans tze Robert God
400. n wird um die Pseudoumf nge f r Gegenstandsimplikatio nen sofort mit zu berechnen siehe 5 4 3 auf Seite 214 und B 3 auf Seite 287 In der Originalversion von The Formal Concept Analysis Library wird dagegen die lektische Ordnung der Begriffsinhalte betrachtet Der Algorithmus ist jedoch voll kommen analog Mit einem neu gefundenen Begriffsumfang ist auch ein neuer formaler Begriff d h ein Knoten des Liniendiagramms des Begriffsverbands gefunden Die Knoten werden deshalb in der lektischen Reihenfolge ihrer Begriffsumf nge erzeugt und numeriert Nach Hilfssatz B2 auf Seite 278 sind damit vor jedem Knoten schon alle unter ihm liegenden berechnet Aus diesen m ssen die unteren Nachbarn De finition 9 auf Seite 70 bestimmt und mit dem gerade neu erzeugten Knoten durch eine Kante verbunden werden Um dies effizient zu erm glichen speichert der fol gende Algorithmus zu jedem Knoten dessen Hauptideal d h die unter ihm lie genden Knoten siehe Definition 5 auf Seite 66 Da die gr ten schon erzeugten Knoten nach Hilfssatz B2 die h chsten Nummern tragen werden die unteren Nachbarn zu einem neu erzeugten Knoten von hinten nach vorn gesucht Wird ein unterer Nachbar gefunden so scheiden alle unter ihm liegenden Knoten im ent sprechenden Hauptideal gespeichert als untere Nachbarn des neu erzeugten aus Algorithmus B5 Erzeugung der Verbandsstruktur Gegeben sei ein endlicher formaler Kontext G M J mit G 180 2932 gia Der
401. n zwischen Dingen e Operationstypen Operationen ausgef hrt von Dingen e Ereignistypen Zustands berg nge durch Ausf hrung von Operationen e Gesch ftsproze typen Gesch ftsprozesse als Abfolgen von Ereignissen Bei den Dingen und Operationen findet sich so eine bereinstimmung mit den in nerhalb von BASE betrachteten Modellelementen Entscheidender Unterschied ist da in BASE gefragt wird welche Dinge von einem Anwendungsfall betrof fen sind w hrend sich das KPCM an den Dingen orientiert und nach von ihnen ausgef hrten Operationen sucht KCPM verfolgt also keine strenge top down Stra tegie in der Untersuchung der Systemfunktionalit t Die entsprechenden Modell elemente werden im Unterschied zu BASE weitgehend durch sprachliche Analyse von Anforderungsdokumenten gewonnen 1 BASE f hrt auch eine Analyse auf Typebene durch der kompakteren Formulierung wegen wurde in der vorliegenden Darstellung auf den Zusatz Typ aber immer verzichtet 250 7 Zusammenfassung und Ausblick Wichtiges Darstellungsmittel in KCPM sind Glossare in Tabellenform In ihnen werden die Daten zu den Modellelementen festgehalten Argumente f r diese Pr sentation der Inhalte sind die gr ere Platz konomie gegen ber Diagrammen und die bessere Verst ndlichkeit durch die Anwender die das Lesen von Bilanzen in hnlicher Form gewohnt sind Die Kommunikation zwischen den beiden Gruppen wird durch die entsprechenden Tabellen in der W
402. nbezogen e Anwendungsfallbasierte Analyse In Szenarien wird die Systemfunktionalit t beschrieben Durch die Modellie rung der einzelnen Schritte innerhalb eines Szenarios und die Aufteilung der entsprechenden Verantwortlichkeiten st t man auf die Objekte und Klassen 57 2 6 58 Identifikation von Objekten und Klassen Da die Erf llung der funktionalen Anforderungen an das System das zentrale Entwicklungsziel darstellt bietet dies einen guten Ausgangspunkt Insbesonde re ist sp ter ein Test der implementierten Funktionalit t gegen die spezifizierten Szenarien m glich Dabei besteht das elegantere Vorgehen darin statt konkreter Szenarien Anwendungsf lle als ihre Typen zu betrachten wie Jacobson es vor sieht Werden die Anwendungsf lle der Reihe nach einzeln betrachtet m ssen even tuell schon herausgearbeitete Klassenbeschreibungen erg nzt werden wodurch es in ihnen zu Widerspr chen kommen kann BASE bietet die M glichkeit die Gesamtheit der Anwendungsf lle zu untersuchen und Abh ngigkeiten schon fr h festzustellen Bereichsanalyse Dieser Ansatz scheint besonders im Hinblick auf Wiederverwendung von Klassen vielversprechend Problematisch ist aber seine praktische Umsetzung weshalb Guillermo Arango Ara 89 zwischen pure domain analysis und practical domain analysis unterscheidet Er weist daraufhin da f r einen wirksamen Einsatz von Wiederverwendung oft implizit vorhandene Informati on explizi
403. nd Title TITLE Zeichenkette TextFormat Remark REMARK Zeichenkette ContextSpecialList SPECIAL Anwendungsfallbeschreibung UsesAngabe ExtendsAngabe Zerlegungsschritt Zeichenkette Die Formate von Anwendungsfallbeschreibung UsesAngabe ExtendsAngabe und Zerlegungsschritt wurden schon in 5 4 2 auf Seite 212 erkl rt Andere An wendungen definieren eventuell noch andere Zeichenketten um sie unter SPECIAL in einem formalen Kontext zu speichern Damit ist dargestellt wie die Speicherung der Anwendungsfalldaten in ConScript Dateien geschieht Liniendiagramme Liniendiagramme werden in ConScript wie folgt festgehalten LineDiagramList LINE DIAGRAM LineDiagram 218 5 Ein Analyse Werkzeug f r BASE LineDiagram Bezeichner Title DiagramRemark DiagramSpecialList UNITLENGTH GpZahl Ma Einheit POINTS KnotenNr xKoord yKoord KnotenBsbg Punkt Format LINES Startknoten Zielknoten LinienFormat OBJECTS KnotenNr Bezeichner Beschreibung Text Format ATTRIBUTES KnotenNr Bezeichner Beschreibung Text Format CONCEPTS KnotenNr Bezeichner Beschreibung Text Format Ma Einheit mm cm in KnotenNr NatzZahl xKoord GpZahl yKoord GpZahl Startknoten NatZahl Zielknoten NatZahl Die Koordinaten der Punkte beziehen sich auf das unter UNITLENGTH angegebene L ngenma BASE unterst tzt nur die beiden metrischen Ma einheiten nicht aber Inch Bei der Auflistung der formalen Gegenst nde und Merkmale
404. nd Ausgangspunkt Anwendungsf lle werden beschrieben f r die Identifikation von Klassen in Sequenzdiagrammen _ Revision durchf hren ee suchen Bibo Verwaltung nO Smahnen Revision durchf hren 1 1 1 1 1 1 Ai verwaltet g verwaltet verwaltet 0 1 1 Zeitschrift Ausleihbestand Verlag vew Bibo Verwaltung Bestand angeben eraat ma EREE i 1 1 ER zeit zat atte H verzahnte l BD ee eE ist erfast in J Er Entwick Mieten ng ih gi 0 ee eens en Fee lung j ausgeliehen mit gDatum 1 1 0 3 Serstellen a Sirenen erstetion R A blest duren f bs 1 hen Ausleihzettel abgeben etl zettel2 L als ausgeliehen buchen Buch Diskette CD g eVariaaser Betriebssystem ISBN geh rt zu Verlag 1 1 Abb 2 7 Anwendungsfall getriebene Analyse Prim res Ziel der ersten Phase der Anwendungsfall getriebenen Systemanalyse ist es ein Klassenmodell und f r jeden Anwendungsfall ein Sequenzdiagramm zu er 47 2 6 Identifikation von Objekten und Klassen stellen Diese beiden zusammen erkl ren wie die Objekte des Systems die Anwen dungsf lle ausf hren k nnen Das Klassenmodell und die Sequenzdiagramme wer den verzahnt entwickelt sie m ssen in den vorkommenden Klassen Operationen und Attributen bereinstimmen Man braucht die Klassen um die Sequenzdia gramme erstellen zu
405. ndung zum Klassenmodell aufweisen In Rum 95 schreibt er This approach to the functional model is a major depar ture from our book Object Oriented Modeling and Design which proposed a more conventional use of data flow diagrams that was both misunderstood and poorly accepted Rum 95 S 10 Normsprachlicher Ansatz Problematisch erscheint an diesem Ansatz die Akzeptanz der Normsprache durch die Anwender Sie ist zwar angelehnt an die Gebrauchssprache Schi 97 S 15 laut Ortner sogar in ihrem Charakter nat rlich wirkend Ort 95 S 149 aber dennoch sagt Schienmann selber da f r die Kommu nikation mit dem Anwender die Gebrauchssprache des jeweiligen Anwen dungsbereichs in der Funktion als Erl uterungssprache unverzichtbar ist Schi 97 S 75 Au enstehende werden auch M he haben in der Normspra che nat rliche Sprache wiederzuerkennen sie lehnt sich eher an die Pr dika tenlogik an F r die verwandten Symbole werden jedoch Paraphrasierungen vorgesehen Der Ausbau der M glichkeiten der bersetzung von Normsprache in Gebrauchssprache wird von Schienmann denn auch als Forschungsziel be zeichnet Zus tzlich betrachtet er noch Diagrammsprachen wie in 2 4 2 darge stellt und Spezifikationssprachen innerhalb der Systementwicklung Mit der Normsprache ist eine zus tzliche Ausdrucksform in die Entwicklung eingeflos sen Durch sie wird es erm glicht Modelle aus nat rlichsprachlichen Anforde
406. ndungsfall mit Identifier lt usedUc gt aus der uses Liste int uses const CString amp usedUc Ermittelt ob der Anwendungsfall mit Identifier lt usedUc gt in der uses Liste vorkommt CStringArray getUsesListe Gibt einen Zeiger auf die uses Liste void addExtendsAngabe CString extendedUc Erg nzt den Anwendungsfall mit Identifier lt extendedUc gt in der extends Liste void entferneExtendsAngabe const CString amp extendedUc L scht den Anwendungsfall mit Identifier lt extendedUc gt aus der extends Liste int extends const CString amp extendedUc Ermittelt ob der Anwendungsfall mit Identifier lt extendedUc gt in der extends Liste vorkommt CStringArray getExtendsListe Gibt einen Zeiger auf die extends Liste 334 D Klassendeklarationen void insertTeilschritt CString usedUc int pos Erg nzt den Anwendungsfall mit Identifier lt usedUc gt in der Zerlegung an der Stelle lt pos gt void addTeilschritt CString usedUc Erg nzt den Anwendungsfall mit Identifier lt usedUc gt in der Zerlegung am Ende void entferneTeilschritt int pos L scht den lt pos gt ten Teilschritt aus der Zerlegung void bereinigeZerlegung L scht Eintr ge ohne angegebenem Identifier aus der Zerlegung int benutztInZerlegung const CString amp usedUc Ermittelt ob der Anwendungsfall mit Identifier lt usedUc gt in der Zerlegung auf der h chsten Ebe
407. ne vorkommt CStringArray getTeilschritte Gibt einen Zeiger auf die Zerlegungsliste nur h chste Ebene void entferneUsecase const CString amp uc Entfernt uses extends und Zerlegungseintr ge die den Anwendungsfall lt uc gt referenzieren void setNext CUsecaseDaten n Setzt n chstes Listenelement CUsecaseDaten getNext Gibt n chstes Listenelement void addToSpecials TstringArray amp specials bertr gt gespeicherten Angaben als entsprechende Strings in lt specials gt Enthaltene alte Angaben in lt specials gt werden nicht gel scht void kontextVervollstaendigen TFormalContext amp kontext Arbeitet die aus der uses extends Liste und unktionalen Zerlegung resultierenden Merkmalsimplikationen in lt kontext gt ein private CString usecaseldentifier Bezeichner des beschriebenen Anwendungsfall CString beschreibung Anwendungsfallbeschreibung CStringArray teilschritte unktionale Zerlegung nur oberste Ebene CStringArray usesListe benutzte Anwendungsf lle CStringArray extendsListe spezialisierte Anwendungsf lle CUsecaseDaten next n chstes Listenelement int find const CString amp uc const CStringArray amp liste Gibt die Position des Eintrags zum Anwendungsfall lt uc gt im Array lt liste gt end CUsecaseDaten 335 D 2 CBASEDoc D 2 CBASEDoc class CBASEDoc public CDocument Verwaltet innerhalb von BASE
408. ne zwingen sie schon durch ihre Syntax zur ge meinsamen Betrachtung von Daten und Funktionen Im Sinne der Schnittstellen einschr nkung auf Operationsdeklarationen wird die Datenabstraktion jedoch nicht von allen Programmiersprachen verlangt Java verlangt aber z B eine solche Ein schr nkung in den Java Interfaces vergl A G 96 In Eiffel Interfaces vergl Mey 92 kann man Attribute und parameterlose Funktionen im Sinne von Ope rationen mit R ckgabewert nicht unterscheiden Deshalb kann die Entscheidung ob man ein Attribut ffentlich macht oder nur eine ffentliche Zugriffsfunktion f r es bereitstellt getroffen werden ohne eine nderung der Klassenschnittstelle n tig zu machen Nachrichten Objekte m ssen zusammenarbeiten um die Systemfunktionalit t bereitstellen zu k nnen weil jedes Objekt f r sich nur ber seine eigenen Daten und eine eng be grenzte Funktionalit t verf gt Man stelle sich z B ein Textverarbeitungssystem 25 2 2 Prinzipien der Objektorientierung vor in dem Paragraphen W rter und Zeichen als Objekte behandelt werden Ein Paragraph kennt die H he und Breite seiner Zeilen ein Zeichen kennt seine H he und Breite Die Aufgabe einen Paragraphen zu setzen f llt dem Paragraphen sel ber zu Er legt die Zeilenh he und l nge fest F r das weitere Vorgehen ist er aber auf die Zusammenarbeit mit W rtern und Zeichen angewiesen Um festzustellen ob das als n chstes zu setzende Wort noch in di
409. neiden mu das Infimum links vom Schnittpunkt dieser Geraden mit der Paral lelen zur x Achse auf H he der y Koordinate des Infimums liegen Analog erh lt man im dritten Fall in dem der echt linke Knoten unterhalb des rechten liegt eine untere Schranke f r die x Koordinate des Infimums 308 B Algorithmen zur FBA Liegen die beiden Knoten bereinander so darf die x Koordinate des Infimums nur nicht gleich der x Koordinate dieser beiden Knoten gew hlt werden keine Ein schr nkung der x Koordinate O Einschr nkung der x Koordinate f r eine Position Einschr nkung i N der x Koordinate O i 7 nach rechts S o Einschr nkung E der x Koordina te nach links ae vertikale Ir Erle Re Infimums ane koordinate linkestes N rechtestes Atom tom Abb B 7 Paare oberer Nachbarn des Infimums Um einen sinnvollen Bereich f r die x Koordinate des Infimums ausgehend von der unteren Schranke durch die x Koordinate des am weitesten links liegenden Atoms und der oberen Schranke durch die x Koordinate des am weitesten rechts liegenden Atoms zu bestimmen geht man die Paare der horizontal aufeinanderfol genden Atome durch Trifft man den ersten Fall an geschieht gar nichts Im zwei ten und dritten Fall ist zu pr fen ob sich gegen ber dem aktuellen Bereich eine weitere Einschr nkung ergibt Diese wird dann im folgenden als sinnvoller Bereich betrachtet Einschr nkungen nach dem vierten Fall werden zun chst f
410. nen Dies betrifft den Wiederverwendungsaspekt der Vererbung Betont man dagegen den Typaspekt der Klassen ist eine Unterklasse eine Spezialisierung seiner Oberklassen und Vererbung bekommt einen taxonomischen Aspekt Mey 88 S 233 So inheritance is specialization from the type viewpoint and extension from the module viewpoint 27 2 2 Prinzipien der Objektorientierung H ufig k nnen in Unterklassen schon bestehende Operationen der Oberklassen einfacher oder effizienter implementiert werden weil in der Unterklasse zus tzli che Attribute oder einschr nkende Beziehungen zwischen den Attributen existie ren Deshalb erlaubt man da Unterklassen die Implementierung von Operationen ihrer Oberklassen berschreiben Polymorphie Eine Nachricht kann an verschiedene Objekte und auch an solche verschiedenen Typs geschickt werden Im besonderen ist jede Nachricht die an ein Objekt einer Klasse C gehen kann auch f r Objekte aller Unterklassen von C sinnvoll Ein Objekt das statisch vom Typ C ist kann eigentlich dynamisch Exemplar ei ner Unterklasse von C sein Sei C diese Unterklasse Ein anderes eine Nachricht sendendes Client Objekt kennt nur den statischen Typ C Das Wissen um den dy namischen Typ C ist aber n tig um die richtige Implementierung einer aufgerufe nen Operation zu finden denn Operationen von C k nnen ja in C berschrieben worden sein Die Eigenschaft da ein Client Objekt darauf vertrauen kann
411. nen der Knoten zu den neuen Funktionen Nachbestellmenge ermitteln und Nachbestellposten ein f gen und dem neuen Ding Nachbestellmenge m ssen noch vom Benutzer korri giert werden um ein ansehnlicheres Diagramm zu erhalten Wie in 5 2 1 diskutiert ist lediglich die Korrektheit ihrer vertikalen Position garantiert 5 2 3 Modularisierungsvorschl ge Bevor eine Komponentenzerlegung erzeugt wird sollte das zugrunde liegende Diagramm ausgerichtet werden weil die Anordnung der Diagramme zu einem Modularisierungsvorschlag aus der Originalanordnung berechnet wird F r das Detaildiagramm der Komponentenzerlegung wird einfach die Originalanordnung bernommen In der bersichtsdarstellung befinden sich die Knoten im Mittel punkt der Knotenmenge des Originaldiagramms die zu der jeweiligen Komponen te geh rt Meist werden nicht alle Vorschl ge f r Komponentenzerlegungen dem Benutzer hilfreich erscheinen Deshalb wird er bei der ersten Anzeige eines entsprechenden 202 5 Ein Analyse Werkzeug f r BASE Diagramms gefragt ob er das Diagramm mit dem Projekt speichern will Dies ist im besonderen der Fall wenn er die Komponentenzerlegungen hat neu berechnen lassen amp Unbenannt BASE iol x Datei Bearbeiten Ansicht Del BASE x AN Wollen Sie dieses Modell in der Datei speichern 7 Nein Abbrechen aximalen u Lagerbestand ermitteln ermitteln rg definieren Lieferscheine erstellen a J Lieferwa
412. ner Darstel lung des zugrundeliegenden Begriffsverst ndnisses und der Einf hrung ben tigter ordnungstheoretischer Grundlagen sind in Abschnitt 3 3 die Grundz ge der For malen Begriffsanalyse zusammengefa t Sie sind grundlegend f r das Verst ndnis der folgenden Kapitel Die Abschnitte 3 4 und 3 5 bereiten einzelne Erweiterungen des grunds tzlichen Ansatzes von BASE vor Der Hauptteil der Arbeit besteht in den Kapiteln 4 und 5 Bei der jeweils ersten Be zugnahme auf eines der mathematischen Konzepte findet sich eine Referenz auf Kapitel 3 mit Angabe der betreffenden Seitenzahl So ist die Besch ftigung mit dem Hauptteil der Arbeit auch ohne vorheriges Durcharbeiten von Kapitel 3 m g lich Kapitel 4 erkl rt das entwickelte Analyseverfahren anhand eines Beispiels Dabei enth lt Abschnitt 4 2 die Beschreibung des grunds tzlichen Ansatzes Die Beant wortung der Frage nach Klassenkandidaten wird in 4 5 versucht und in 4 6 inner halb der allgemeineren Fragestellung wie das zu entwickelnde System in Baustei ne zerlegt werden kann wieder aufgenommen Das Kapitel schlie t mit einer voll st ndigen Vorgehensbeschreibung in 4 8 Die anderen Abschnitten untersuchen spezielle Punkte innerhalb von BASE Der wichtigste darunter ist das Verfahren der funktionalen Zerlegung Abschnitt 4 3 Kapitel 5 gibt einen Eindruck von dem entwickelten Werkzeug zu BASE Anhand der Darstellung soll klar werden da BASE ohne Kenntnis der mathematischen Gr
413. nformationen EET nn XXK enth lt Da die betrachteten Anwendungs Lieferkartei x XX a 5 a Wartekartei X f lle und damit die funktionalen Anforde _ Vorgemerkte Menge X sad Nachbestellung x rungen zu Anfang oa Analyse uvole randig Seen x z sind ist f r reale Projekte eher typisch ver Minimalbestand x x AE Maximalbestand gl Stan 95 Auch Jacobson sieht die in Lieferschein x sa x krementelle Vervollst ndigung des Anwen pefe wagen 5 anrizie dungsfallmodells als den Normalfall an Lieferscheinvermerk X JCJ 94 S 162 163 We have as yet Abb 4 4 Formaler Kontext only discussed the identification of use cas zum JWI Beispiel es This is often a very iterative process where several attempts are made Since use cases often focus on a particular functionality of the system it is possible to analyze the total functionality of the system in an incremental way In this manner we can develop use cases for differ ent functionality areas independently and later join these use cases together to form the complete requirements model Im Unterschied zum realen Projekt ist im hier betrachteten Beispiel jedoch kein Nachfragen bei den Fachexperten m glich und so mu die Reklamation bei der Betrachtung des Gesch fts von JWI au en vor bleiben Der in der Analyse aktuell betrachtete Ausschnitt des Untersuchungsbereichs ist im formalen Kontext explizit beschrieben Vergr ert man ihn erweitert man den Kontext
414. ng einen speziellen Mechanismus schon bestehende Klassen an neue An forderungen anzupassen Von einer bestehenden Oberklasse wird eine neue Unter klasse dadurch abgeleitet da sie die Attribute und Operationen der Oberklasse bernimmt und zus tzlich eigene hinzuf gen kann So bleibt die alte Klasse als schon erprobter Systembaustein bestehen und in der neugebildeten existiert eine angepa te Version Objekte der Unterklasse haben alle Attribute und Operationen der Oberklasse und k nnen deshalb auch als Objekte der Oberklasse behandelt werden was die Termi ni Ober und Unterklasse erkl rt Auch typisierte objektorientierte Program miersprachen erlauben es deshalb Objekte der Unterklasse in einer Variable vom Typ der Oberklasse zu speichern Dann sind aber f r diese Objekte von au en auch nur die ffentlichen Attribute und Operationen der Oberklasse und nicht die in der Unterklasse zus tzlich definierten zugreifbar In diesem Zusammenhang spricht man auch von dem statischen Typ der Variable die Oberklasse direkt aus dem Programmcode zu bestimmen und dem dynamischen Typ wirklicher Objekttyp die Unterklasse erst zur Laufzeit bestimmbar des betreffenden Objekts vergl Mey 88 S 226 Vererbung hat genau wie das Klassenkonzept zwei verschiedene Aspekte Betrach tet man Klassen als Module die Attribute und Operationen zusammenfassen so erweitert eine Unterklasse eine Oberklasse durch Hinzunahme neuer Attribute und Operatio
415. ng von BASE teilhatten So sind sie unvoreingenommen k nnen aber bei der Beurteilung der Gruppen mithelfen indem sie ber Anzahl und Art der Nach fragen der beiden Gruppen Buch f hren Gesichert m te sein da die Auftragge ber den beiden Gruppen von sich aus die gleichen Informationen zukommen las sen Erfahrungen mit konkurrierenden Studentengruppen zeigen da sie aufgrund von Konkurrenzverhalten wirklich eigenst ndig und unabh ngig voneinander ar beiten Einer Befragung wird in dieser Situation keine so gro e Bedeutung zukom men weil die Studenten in der Regel Anf nger in der Modellierung von Informati onssystemen sind und daher ihre Eindr cke schlecht einordnen k nnen Entwicklungsergebnisse von Projekten mit ohne BASE mittels Metriken miteinan der zu vergleichen erscheint nicht sinnvoll denn f r die ganz fr he Analysephase in der BASE zum Tragen kommt gibt es noch keine verbreiteten Techniken und Erfahrungen dazu Das liegt nat rlich auch daran da zur Definition entsprechen der Metriken erst einmal hinreichend formal definierte Modelle vorliegen m ssen Als Entwicklungsgegenstand f r einen Test sind Systeme geeignet deren Funktio nalit t durch mehrere Anwendungsf lle beschrieben werden kann 1 Realistisch beurteilt wird die Einarbeitung in den Umgang mit den Liniendiagrammen zun chst eine H rde darstellen die Techniken von BASE berhaupt anzuwenden Diese zu berwinden gelingt nur aus eigenem Ant
416. ngang bearbeiten In diesem Fall ist die Bezeichnung Bestellmenge f r die eingetroffene Menge einer Weinsorte um die der Lagerbestand erh ht werden mu unzutreffend Man ndere also diese Bezeichnung in Produktmenge Danach f llt es leicht zu sagen da die ses Ding auch in den Anwendungsfall Lagerbestand ermitteln involviert ist denn dort wird eine Produktmenge festgestellt Nimmt man diese Zuordnung vor spricht man aufgrund der bestehenden uses Beziehungen die Produktmenge auch den Anwendungsf llen Fehlbest nde nachbestellen und Wareneingang bearbeiten zu Aus dieser Korrektur erh lt man das folgende Liniendiagramm mit den schon bekannten Bl cken Ver nderungen gegen ber Abbildung 4 26 bzw Abbildung 4 13 auf Seite 149 sind schwarz gekennzeichnet unver nderte Dia grammelemente grau gezeichnet Diese Modularisierungsm glichkeit ergibt sich also allein durch die zus tzliche Zuordnung der Produktmenge zum Anwendungsfall Lagerbestand ermitteln Das Erzwingen der Modularisierung hat in diesem Fall zu einer im Hinblick auf die weitere Analyse klareren Modellierung gef hrt 171 4 6 Blockrelationen in BASE Bestand korrigieren Produktmenge Abb 4 28 Erste erzwungene Blockzerlegung Genauso nur schwerer inhaltlich zu begr nden kann man den st renden Knoten zwischen dem oberen und dem rechten Block behandeln und damit die feinere Blockzerlegung aus Abbildung 4 22 auf Seite 166 erzwingen
417. ngegeben Sie einzubeziehen macht es m glich das Erstellen und L schen des Objekts auch zu erfassen Zustands berg nge sind durch Pfeile beschrieben Sie k nnen durch Er eignisse oder das Eintreten einer Bedingung in eckigen Klammern angegeben an geregt werden Solche Ereignisse k nnen global sein und im Diagramm einfach benannt werden oder im Eintreffen einer Nachricht beim betrachteten Objekt be stehen Zust nde k nnen auch hierarchisch aufgebaut sein das hei t da ein Zu stand selber wieder durch ein Zustandsdiagramm gegeben ist Die dort dokumen tierten Unterzust nde und Zustands berg nge werden durch den umgebenden Zu stand verborgen In 2 2 2 auf Seite 25 ist dargelegt da der Zustand eines Objekts durch seine Attri butbelegung gegeben ist In den Zustandsmodellen wird er aber einfach benannt Das erlaubt eine Beschreibung auf h herer Abstraktionsebene sogar wenn noch nicht alle Attribute einer Klasse festgelegt sind Sp ter m ssen diese Zust nde mit Hilfe der Attribute beschrieben werden k nnen Dies stiftet einen Zusammenhang zu der Klassendarstellung im Klassenmodell Ereignisse als das Eintreffen einer Nachricht f hren zu einem Operationsaufruf Die Nachrichten sind in den Interaktionsdiagrammen dargestellt zu denen so eine Querverbindung besteht So geht in Abbildung 2 4 das Ausleihobjekt in Folge der letzten Nachricht im Ablauf des Sequenzdiagramms in den Zustand ausgeliehen ber Genauso besteht
418. ngegeben erg nzt durch Fortrans ELSEIF Bedingungen und Anweisungs bl cke aber wie in der Sprache C geklammert und Kommentare ebenfalls wie in C eingeleitet Diese Mischung ergibt eine klare und wo m glich kompakte Syn tax Eingaben der Algorithmen also im wesentlichen formale Gegenst nde Merkmale Kontexte und Begriffsverb nde sind durch ihre Schriftart von Schl s selw rtern und Algorithmusvariablen abgesetzt Dies hebt die wichtigsten Stellen hervor die an konkrete Datenstrukturen angepa t werden m ssen Bei den Absch tzungen von Laufzeiten gehen immer die Kardinalit ten endlicher Mengen ein Im folgenden bezeichne also X die Elementanzahl einer endlichen Menge X In der gleichen Weise werden Array L ngen notiert 1 Die Erstellung von Implikationenbasen ist auch anhand von Liniendiagrammen m glich In der Regel geht man in begriffsanalytischen Untersuchungen aber von einem formalen Kontext aus Deshalb wurde er hier auch als Ausgangsposition gew hlt Bei dem in Kapitel 5 vorgestellten Werkzeug zu BASE mu vor der Berechnung einer Implikationenbasis oder der Blockzerlegungen erst aus dem gespeicherten Liniendia gramm ein formaler Kontext erstellt werden 275 B 1 Berechnung von H llensystemen B 1 Berechnung von H llensystemen Wichtige Strukturen innerhalb der Formalen Begriffsanalyse bilden H llensysteme Definition 16 auf Seite 77 insbesondere e die Begriffsumf nge eines formalen Kontexts
419. ngsf lle beschrieben Mit den Fachexper ten sind nun die Anwendungsf lle durchzugehen und daraufhin zu untersuchen welche Dinge jeweils involviert sind Die Formulierung unterstellt hier eine Rei henfolge Anwendungsf lle vor betroffenen Dingen Das ist in dem Sinne ge meint da zun chst mit einer gewissen Anzahl von Anwendungsf llen begonnen wird um so die beschriebene Funktionalit t in den Mittelpunkt der Betrachtung zu stellen Zu allen diesen als Ausgangspunkt dienenden Anwendungsf llen sollten von den Fachexperten Prosa Beschreibungen erstellt werden Indem die Entwick ler diese Beschreibungen mit den Anwendern durcharbeiten bilden sie ein grobes Verst ndnis des Untersuchungsbereichs als Kommunikationsgrundlage aus Da nach ist von beiden Gruppen zusammen die Zuordnung von Dingen zu Anwen dungsf llen in die sie involviert sind zu leisten Um die von Jacobson erw hnte h ufige Revision schon getroffener Entwurfsentscheidungen zu verringern ist die ser Schritt hinter das erste gemeinsame Durcharbeiten aller zu Anfang betrachteten Anwendungsf lle gesetzt vergl Abbildung 4 1 Mit der Auflistung der beteiligten Dinge wird die erste grobe Systembeschrei bung verfeinert Dabei kommen in der Regel auch neue Anwendungsf lle etwa zur Pflege von Datenbest nden oder zur Umsetzung gemeinsamer Teilaufgaben schon betrachteter Anwendungsf lle ins Blickfeld Diese werden dann in die Be trachtung eingeschlossen Da davo
420. ngsf lle bzw Funktionen involviert sind auch von den rechtsstehenden benutzt werden Bestellung bearbeiten Lagerbestand ermitteln Fehlbest nde nachbestellen Wareneingang bearbeiten erstellenchbestellen A Ds Anwendungsfalle Anwendungstalle Dinge Ausgew hlter nwendungsfal ee Eee eMail Andan Uberenht Beschreibung Zerlegung Pe Bestellung annehmen Bestellung bearbeiten Fehlbest nde nachbestellen Lagerbestand ermitteln Lieferscheine erstellen Maximalen und minimalen Lagerbestan R cklauf bearbeiten Wareneingang bearbeiten Nachhest Abb 5 13 Fragen und Anwendungsfall Dialog 5 3 Test des Ansatzes Hier h tte eigentlich ein Abri ber die Ergebnisse eines ersten Einsatzes von BASE innerhalb eines Praktikums am Fachbereich Mathematik und Informatik der Philipps Universit t Marburg stehen sollen Leider konnte der geplante Test wegen mangelnder Beteiligung von Studenten an der Lehrveranstaltung nicht stattfinden Deshalb werden nur einige Grunds tze f r einen solchen Test dargestellt Zun chst einmal zu den Kriterien zur Beurteilung eines solchen Tests Zu erwarten da mit Hilfe von BASE sofort und immer bessere Modelle entwik kelt w rden als nach herk mmlichen Methoden w re sicher bertrieben BASE verspricht jedoch den Diskurs zwischen Fachexperten und Entwicklern wirkungs voll zu unterst tzen Deshalb ist im
421. niendiagrammen w re eine wertvolle Diskussions grundlage f r die Gruppen gegeben 1 2 2 Vervollst ndigung der Implikationenbehandlung In 4 3 2 und 4 4 1 wurde dargestellt wie aus Implikationen des untersuchten for malen Kontexts berpr fungsfragen generiert werden k nnen Abbildung 5 8 auf Seite 198 zeigt wie solche Fragen pr sentiert werden k nnen Zu jeder ihnen vor gelegten Frage entscheiden Entwickler und Fachexperten ob der in ihr beschriebe ne Sachverhalt zutreffend ist Sto en sie auf eine fachlich nicht zutreffende Impli kation sind sie aufgefordert das Anwendungsfallmodell entsprechend zu korrigie ren oder zu erg nzen In der vorliegenden Implementierung des Werkzeugs ist die Information ber schon als zutreffend erkannte Implikationen verloren sobald die berpr fung abgebrochen wird Bei einer neuerlichen berpr fung werden unter Umst nden die schon als zutreffend gekennzeichneten Sachverhalte noch einmal abgefragt Auch die theoretische Aufbereitung von BASE sieht bisher keine Be r cksichtigung der positiv beschiedenen Fragen f r die Generierung weiterer Fra gen vor Implikationen die aus den als zutreffend erkannten ableitbar sind sollten bei sp teren berpr fungen m glichst nicht mehr zur Generierung neuer berpr fungs fragen herangezogen werden um keine redundanten Fragen zu pr sentieren Des halb m te ein entsprechender Inferenzmechanismus eingebaut werden Grundla 1 Definition 2
422. nierten Begriffsverb nde B G M J und B A N S isomorph Beweis Siehe Anhang A Seite 271 Zu jeder Blockrelation sind nach Satz 18 zwei Liniendiagramme interessant Das eine stellt den durch die Blockrelation neu definierten Begriffsverband dar grobe Sicht und das andere zeigt die entsprechenden Bl cke im urspr ngliche Begriffs verband auf Beispiel 17 Liniendiagramme zu Beispiel 15 und Beispiel 16 122 Nebenstehend ein Liniendiagramm zur Check Listen Blockrelation in Abbildung 3 12 auf Anwendungsfall getriebene Analyse Bereichsanalyse Seite 113 a Abbildung 3 15 gibt ein Liniendiagramm Suerte des Ausgangskontexts aus Abbildung 3 10 Booch auf Seite 111 wieder Gegen ber Abbildung 3 11 auf Seite 111 ist die Anord nung ge ndert um die Bl cke der zu der Grammatikalische Analyse Blockrelation geh rigen Toleranzrelation ee acobson besser herausstellen zu k nnen Rumbaugh Martin Odell Die Kennzeichnung der Knoten in Abbildung 3 14 und Abbildung 3 15 ver deutlicht die in Satz 18 hergeleitete Zuord nung von formalen Begriffen im Blockrelations Liniendiagramm zu entspre Abb 3 14 Liniendiagramm zur Blockrelation chenden Bl cken des originalen Begriffsverbands Check Listen Grammatikalische Analyse Bereichsanalyse Anwendungsfall getriebene Analyse Shlaer Mellor Coad Yourdon
423. nthalten sondern werden durch die Analyse als zus tzliche abstrakte Klas sen vorgeschlagen weil sie Gemeinsamkeit einiger vorhandener Klassen ausdr k 1 Diese Arbeit bildet eine Vorl uferversion zu GMM 98 227 6 2 Klassenhierarchie nach Snelting und Tip ken Aus der Betrachtung gemeinsamer Attribute und Operationen erw chst also ein Vorschlag f r eine Vererbungshierarchie Ein solcher kann auch schon in fr hen Projektphasen erstellt werden und Hilfe bei der Strukturierung des Klassenmo dells bieten In Abbildung 6 3 f llt der mit Indexed Extensible Collection beschriftete Dia grammknoten besonders ins Auge Ihm ist weder eine der vorhandenen Klassen noch ein Attribut oder eine Operation zugeordnet Die vorgesehene abstrakte Klas se f hrt also keine eigenen Attribute und Operationen ein sondern vereinigt nur diejenigen der ebenfalls neu eingef hrten abstrakten Klassen Indexed Collection und Extensible Collection Ihr Sinn f r eine Klassenhierarchie erscheint deshalb fraglich Die Autoren sehen deshalb eine alternative Repr sentation vor in der nur die Merkmalsbegriffe des Begriffsverbands betrachtet werden also ein Liniendia gramm der Merkmalsordnung Definition A2 auf Seite 274 Dieses kann im bri gen sogar effizienter berechnet werden als der gesamte Begriffsverband Wenn auch die Operationsimplementierungen bei der Untersuchung bestehender Klassenbibliotheken ber cksichtigt werden sollen werden innerhalb
424. nts Engineering ICRE 98 Colorado Springs April 1998 C Kop H C Mayr Conceptual Predesign as a Stopover for Map ping Natural Language Regirements Sentences to State Chart Pat terns ECOOP 98 Workshop Automating the Software Develop ment Process Br ssel June 1998 R E Kent C Neuss Conceptual Analysis of Resource Meta Infor mation Computer Networks and ISDN Systems 27 pp 973 984 1995 R E Kent C Neuss Web Conceptual Space Proceedings of WebNet 96 San Francisco October 1996 G Keller M N ttgens A W Scheer Semantische Proze model lierung auf der Grundlage Ereignisgesteuerter Proze ketten EPK Ver ffentlichungen des Instituts fiir Wirtschaftsinformatik IWi Universit t des Saarlandes Heft 89 Januar 1992 D Kruglinski Inside Visual C Version 4 Third Edition Micro soft Press 1996 P Kruchten The Rational Unified Process An Introduction Addi son Wesley Object Technology Series 1999 W Kollewe M Skorsky F Vogt R Wille TOSCANA ein Werk zeug zur begrifflichen Analyse und Erkundung von Daten in R Wille M Zickwolff Begriffliche Wissensverarbeitung Grundfra gen und Aufgaben B I Wissenschaftsverlag Mannheim 1994 Kun 91 Lin 95 Lin 98 Lin 99 L S 97 L W 00 L Z 74 Mcc 76 Mey 88 Mey 90 Mey 92 Mic 99 Mid 99 Mil 56 M N 98 Literatur E Kunz Algebra Friedrich Vieweg amp Sohn Verlagsgesellschaft
425. nur einmal t glich werden die notwendigen Bestel lungen an die Weinproduzenten wie folgt erstellt S16 Bestellungen an Weinproduzenten werden f r solche Produkte erteilt deren aktueller Lagerbestand verringert um die noch nicht nachbestellten Mengen aus der Wartekartei unter den Minimallagerbestand gesunken ist Dabei wird so viel bestellt da der entsprechende Maximalbestand erreicht wird S17 S28 Die Nachbestellungen werden vom Sachbearbeiter in Bestellformularen an Weinproduzenten erfa t siehe AN 2 1 S18 Anwendungsfall Lagerbestand ermitteln Es wird der aktuelle mengenm ige Lagerbestand f r ein Produkt ermittelt e Lagerbestand ermitteln wird von den Anwendungsf llen Bestellung bearbei ten Fehlbest nde nachbestellen und Wareneingang bearbeiten benutzt uses Beziehung Anwendungsfall Lieferscheine erstellen Es werden Lieferscheine f r jeden Lieferwagen erstellt Dabei werden den Lie ferwagen die Bestellposten aus der Lieferkartei entsprechend ihrer Fahrtziele zugeordnet S20 e Ein Muster f r einen Lieferschein ist in S21 zu finden Anwendungsfall Wareneingang bearbeiten e Frische Produkte von den Weinproduzenten treffen zwischen 10 und 16 Uhr ein S27 e Nach Eintreffen werden die frischen Produkte nach dem Grundsatz zuerst bestellt zuerst beliefert den Bestellposten der Wartekartei zugeordnet Alle nunmehr lieferbaren Posten werden von dort in die Lieferkartei bertragen Der R
426. nzrelation auf B G M I Sofort sieht man da die beiden Abbildungen B und T ordnungserhaltend sind denn Sind vollst ndige Toleranzrelationen auf 8 G M I mit c O so gilt fir ge G me M mit g 9 m da yg yg AuUm e CO und also auch g B O m D h B B 9 Sind J J Blockrelationen von G M I mit J CJ so gilt f r A B C D B G M D mit A B t J C D da AxDUCXBCJ CJ und also auch A B t J C D D h I EU Zeige nun da die Abbildungen B und T zueinander invers sind Sei also eine vollst ndige Toleranzrelation auf B G M I Seien weiter A B C D e B G M ID mit A B C D Betrachte ge A me D Es gilt nach Folgerung 5 auf Seite 88 da yg lt Vyh A B und um gt Ayn C D ne neD Aus der Reflexivit t und Infimumsvertr glichkeit von folgt damit yg yg A B O yg C D und weiter yg A um yg a C D a um yg C D Durch die Supremumsvertr glichkeit von gilt auch ygaym ygaum v ygA C D O yg C D yv ye yg A Mathematische Details D h g B O m Also ist Ax D c B O Analog zeigt man C x B c B und erh lt A B C D Damit ist c T B O Gilt umgekehrt A B t B C D f r A B C D B G M 1 so folgt nach Hilfssatz 15 auf Seite 115 A B A C D 1 B O 4 B v C D Also gilt ANC x BND U AUC x BUD c BO Fir ge AUC me B U D
427. o SD amp Aao lt be und be ag Beweis gt Es gebe ein xe alan blo Nach Bemerkung A2 gilt damit ag O x undx bo Wegen der Infimumsvertr glichkeit von gilt dann do dg Ax x Abo be und wegen der Symmetrie von also auch bo dg Somit ist ao lt V xe V xObo bo und bo lt Vixe V xOag ao Es gelte dg S bo und bo2 ao Dann sind dg bo lt do b Also ist ag bo alo A b o 273 A 4 Gegenstands und Merkmalsordnung A 4 Gegenstands und Merkmalsordnung Die beiden in der berschrift genannten Konzepte spielen in BASE selber keine Rolle sondern werden nur bei der Erl uterung des Algorithmus des additiven Zeichnens B 5 1 auf Seite 305 und der Vorstellung eines Ansatz zur Gestaltung von Vererbungshierarchien 6 1 auf Seite 224 erw hnt Definition A2 Gegenstands und Merkmalsordnung Ist G M I ein formaler Kontext so hei t die durch g lt h lt yg lt syh bestimmte Ordnung auf G die Gegenstandsordnung von G M J und dual diemitm lt n gt um lt yun gegebene Ordnung auf M die Merkmalsord nung von G M I Vog 96 Lemma 3 10 S 59 Gegenstands und Merkmalsordnung findet man im formalen Kontext Bemerkung A3 Gegenstands und Merkmalsordnung Seien G M I ein formaler Kontext g he G und m ne M Dann gilt g lt h amp g h und m lt n amp m Cn bzgl Gegenstands bzw Merkmalsordnung Vog 96 Lemma 3 10 S 59
428. of Natural Language to Information Systems Proceedings of the Second International Workshop Amsterdam June 26 28 1996 P Funk A Lewien G Snelting Algorithms for Concept Lattice Decomposition and their Applications Computer Science Report 95 09 Technical University Braunschweig December 1995 M Fowler Analysis patterns Reusable object models Addison Wesley Series in Object Oriented software engineering 1997 M Fowler K Scott UML Distilled Applying the Standard Object Modeling Language Addison Wesley Object Technology Series 1997 B Ganter Algorithmen zur Formalen Begriffsanalyse in GWW 87 1987 B Ganter Attribute exploration with background knowledge Theo retical Computer Science 217 S 215 233 1999 B Ganter Begriffe und Implikationen in S W 00 2000 361 Literatur G D 86 GHIV 95 GKr 99 GKu 98 GMI 93 GMs 94 GMA 95 GMM 98 G R 83 Gr 98 GSW 98 362 J L Guigues V Duquenne Familles minimales d implications informatives resultant d un tableau de donn es binaires Math ma tiques et Sciences Humaines no 95 Editions de 1 Ecole des Hautes Etudes en Sciences Sociales Paris 1986 E Gamma R Helm R Johnson J Vlissides Design Patterns Elements of Reusable Object Oriented Software Addison Wesley Professional computing series 1995 B Ganter R KrauBe Pseudo Models and Propositional Horn Infe rence Preprint TU Dresd
429. olche Implikationen k nnen an dieser Stelle hilfreich sein In allen hier betrachteten Begriffsverb nden gilt beispielsweise die Implikation Produkt Lieferkartei Bestellposten Diese Implikation dr ckt auch eine zu treffende Modellierung aus Von der Lieferkartei kommt man nur zu einem darin aufgef hrten Produkt indem man sich einen betreffenden Bestellposten anschaut allgemeiner betreffen alle Funktionen innerhalb von JWI die gleichzeitig ein Pro dukt und die Lieferkartei ber hren auch einen oder mehrere Bestellposten Auf ein anderes Beispiel f r eine komplexere Implikation st t man durch die oben erfolgte Zerlegung des Anwendungsfalls Fehlbest nde nachbestellen Nach folgend das schon in 4 3 1 angegebene Liniendiagramm Abbildung 4 11 auf 154 4 BASE ein begriffsbasiertes Analyseverfahren f r die Software Entwicklung Seite 147 zur funktionalen Zerlegung dieses Anwendungsfalls Im Unterschied zu vorher ist in Abbildung 4 18 lediglich der sp ter gefundene Indizierungsfehler im Ausgangskontext behoben Lieferscheine erstellen Bestellung annehmen R cklauf bearbeiten Wareneingang bearbeiten Fehlbest nde nachbestellen Bestellung bearbeiten Kunde Lieferscheinvermerk Lieferwagen Fahrtziel Nachbestellposten anlegen Nachbestellmenge ermitteln Wartekartei Kundenbestellung Lieferschein Nachbestellung Lieferant Maximal
430. olge der Begriffsumf nge siehe Hilfssatz B3 auf Seite 292 ge speichert sind so k nnen die Maximumsbildung in B11 15 bis B11 17 und die Minimumsbildung in B11 36 bis B11 38 entfallen weil das Maximum die kleinste und das Minimum die gr te Nummer tragen Sind zu einem Block dessen Infimum und Supremum bekannt k nnen alle dem Block zugeh rigen Knoten durch den Schnitt ber den Hauptfilter des Infimums und das Hauptideal des Supremums leicht ermittelt werden Deshalb reicht es je weils nur Infimum und Supremum zu speichern In BASE wird zur Erstellung eines Blockrelationsdiagramms wie folgt vorgegan gen e Aus dem mit der Blockrelation erstellten Kontext wird ein Liniendiagramm ohne Koordinateninformationen erzeugt Alle Knoten tragen die Koordinaten 0 0 Eine entsprechende Operation wurde in die Klasse TFormalContext siehe 5 4 2 von The Formal Concept Analysis Library eingef gt e Zu jedem Knoten des entstandenen Liniendiagramms werden mit Algorithmus B11 Infimum und Supremum des zugeh rigen Blocks berechnet und wie in 5 4 3 300 B Algorithmen zur FBA auf Seite 215 beschrieben gespeichert e Jedem Knoten wird als Position der Mittelpunkt zwischen dem Supremum und Infimum seines Blocks zugeordnet F r diese beiden letzten Schritte wurde der Klasse TLineDiagram siehe 5 4 3 aus The Formal Concept Analysis Library eine neue Operation zugef gt B 4 3 Experimente zur Anzahl interessanter Blockrelationen W
431. olgt also nach Voraus setzung aus 3 Wegen V k V respektiert V die Implikation V gt k V nicht Damit kann V auch nicht 3 respektieren weil 3 vollst ndig ist D h es gibt U gt W e Smit Uc V ud Wg V Nach Hilfssatz 10 ist W k U also ky U q V Betrachte kj U OV Es gilt UC kyl U A V und Wg ky U OV ky U A V respektiert also U gt W nicht Nach Satz 10 auf Seite 97 ist k U V demnach keine maximale Konklu sion 3 Formale Begriffsanalyse Aus Hilfssatz 13 folgt deshalb V c kg U Nach Hilfssatz 11 auf Seite 96 gilt damit ky V S kylkylU ky U Wegen U c V ist nach Hilfssatz 11 k U lt ky V also ky V kylU Ist U eine saturierte Pr misse gilt sogar U V weil aus US V sonst kyU EVSGkylV folgen w rde Damit ist insbesondere eine in der Kardinalit t minimale Basis gefunden Folgerung 10 Minimale Kardinalit t von Implikationenbasen Sei X eine endliche Menge und H c P X ein System von Teilmengen Dann hat jede f r X vollst ndige Implikationenfamilie 3c P X minde stens die Kardinalit t von DD A Vergl G W 96 2 3 S 84 Beweis Seialso Sc PX eine f r K vollst ndige Implikationenfamilie Nach Satz 12 gibt es f r jede Implikation V gt ky V DD X eine Implikation Up gt W 3 mit U cV und k U ky V Seien V gt kV V2 gt kal V2 E DNq X mit V V3 Annahme U gt Wy Uy gt W Dann ist U Uy CV V und ka V ky Uy i K
432. olgt nach Hilfssatz 9 SDOg X V gt ka V V daraus dann V gt ky V V und daraus wiederum V gt k5 V nach oben DOxq X ist aber nach Satz 11 nicht redundant Somit ist auch SDOD CX nicht redundant also insgesamt eine Basis Um die Lesbarkeit der Implikationen zu erh hen kann man sich auf einelementige Konklusionen beschr nken Folgerung 12 Einfache Repr sentation der Duquenne Guigues Basis Sei X eine endliche Menge und H c P X ein System von Teilmengen Dann ist EDDg X V gt x V gt kA V E DQ X xE kalV V f r R vollst ndig Beweis F r V gt k V DOQy X und x ky V V folgt V gt x x ky V V nach Hilfssatz 9 auf Seite 95 aus V gt kg V Also gilt EDND X nach Satz 11 auf Seite 100 in X Sei V gt ky V E DON Nach Hilfssatz 12 auf Seite 99 folgt V gt ky V V aus V gt x xE ky V V Also folgt IDD CA aus EDN X Damit ist nach Folgerung 11 und Hilfssatz 7 auf Seite 94 EDD X f r R vollst ndig Im allgemeinen erh lt man durch den bergang zu einelementigen Konklusionen aber Redundanz Beispiel 12 Einfache Repr sentation der Duquenne Guigues Basis Sei X a b c d und 1a c d a b c d Dann ist DD X b gt a b c d c gt c d d c d und EDO X b gt a b gt c b gt d c gt d d gt c EDH X ist redundant weil z B b d aus b gt c c gt d folgt Hilfs satz 8 auf Seite 95 104 3 Formale Begriffsanal
433. on zus tzlich garniert mit einigen Zutaten aus anderen Quellen Dieser Kompromi ist im wesentlichen durch Einbeziehung aller wichtigen Mo delltypen der drei Amigos wie sich die Autoren der UML selber nennen ent standen Die Modelltypen der UML und ihre Herkunft werden noch einmal in 3 3 als Beispiel f r die Formale Begriffsanalyse betrachtet Wie bei den meisten anderen Autoren auch werden Modelle in erster Linie in Dia grammform pr sentiert Die Leitidee f r die Notation ist Software through pic tures wie ein weitverbreitetes Werkzeug f r die Rumbaugh Methode OMT und UML vergl Aon 99 hei t Die wichtigsten Diagrammarten werden in 2 4 2 vor gestellt Die Diagramme f r die sp ten Phasen der Entwicklung werden hier voll kommen ausgespart weil sie in diesem Zusammenhang von geringem Interesse sind Im Hinblick auf die Vorgehensmodelle wird in 2 4 3 st rker differenziert weil es f r diesen Aspekt keine allgemein akzeptierte Vorlage gibt Hes 97 S 123 At the moment it seems to be rather likely that no standard will evolve and the com peting approaches will coexist at least for the next decade 2 4 2 Modelltypen Unterschieden werden von allen Autoren bis auf Coad Yourdon Modelltypen f r die statischen und f r die dynamischen Aspekte des Systems Statikmodelle Im Kern des Interesses steht das Klassenmodell das die Systemklassen und ihre Beziehungen beschreibt Es ist das R ckgrat der Systembeschrei
434. ondern aus technischen Gr nden n tig sind Nur f r diese Beweise interessante Definitionen und Aussagen sind in Kapitel 3 erst gar nicht wiedergegeben Sie tra gen hier Nummern beginnend mit einem A Dagegen sind die Nummern von refe renzierten Aussagen in der Numerierung von Kapitel 3 aufgef hrt insbesondere ohne f hrendes A Der Aufbau hier gleicht dem von Kapitel 3 In Abschnitt A 2 ist als Erg nzung zu Kapitel 3 gezeigt da die urspr ngliche Definition der Implikationenbasis durch Vincent Duquenne und J L Guigues mit der in Kapitel 3 benutzten Definition von Bernhard Ganter bereinstimmt Abschnitt A 4 f hrt noch zwei Konzepte ein die f r BASE selber keine Rolle spielen aber bei der Beschreibung des Ansatzes von Godin et al in 6 1 und der Algorithmendarstellung in Anhang B 5 1 benutzt wer den Al Ordnungstheoretische Grundlagen A 1 1 Isomorphismen Zwei in ihrer Ordnungsstruktur nicht unterscheidbare Mengen bezeichnet man als isomorph Definition 13 auf Seite 74 Wenn vollst ndige Verb nde betrachtet werden stehen drei Homomorphismen Konzepte zur Auswahl um Abbildungen strukturerhaltende Eigenschaften zuzu sprechen Ordnungshomomorphismus Verbandshomomorphismus und vollst ndi ger Verbandshomomorphismus Definition 14 auf Seite 74 Interessiert man sich jedoch nur f r Isomorphismen fallen alle Homomorphismen Konzepte zusammen Weiter ist die inverse Abbildung zu einem bijektiven voll 253 A 1
435. onfigurationen Suche in Kompo SoftwareKom Schl sselworte Zust nde in Verfeinerung in nentenbibliotheken ponenten Suchvorg ngen Suchvorg ngen Projektverfolgung Relevante Entwicklungs Systemteile glei Entwicklungsvor Dinge t tigkeiten chen sprung zwischen in verschiedenen Entwicklungs verschiedenen Pro Projektphasen stands jektteilen Abb 6 1 Einsatz von FBA im Software Engineering Die aufgelisteten Ans tze sollen hier kurz im Vergleich zu BASE erl utert wer den Um eine erste Einordnung zu geben ist oben vermerkt welche Bedeutung die zentralen begriffsanalytischen Strukturen formale Gegenst nde Merkmale und 223 6 1 Klassenhierarchie nach Godin et al Begriffe und die Verbandsordnung auf den Begriffen im jeweiligen Ansatz besit zen und welcher Zweck jeweils verfolgt wird BASE ist in Kapitel 4 schon hinreichend dargestellt Hier soll nur noch auf die drei Verk rzungen in der Formulierung von Abbildung 6 1 hingewiesen werden Als Schlagwort f r das Ziel von BASE ist die Ermittlung von Klassenkandidaten genannt Zu diesem Zweck sieht BASE auch einige Techniken vor siehe 4 5 und 4 6 Vor allem aber werden funktionale und datenorientierte Sicht zusammenh n gend dargestellt und so Datenabh ngigkeiten zwischen den einzelnen Anwen dungsf llen herausgestellt Au erdem wird die gemeinsame Einarbeitung von Ent wicklern und Anwendern in den Untersuchungsbereich gef rder
436. ontext aus Abbildung 4 4 auf Seite 136 der durch die zus tzliche Zuordnung der Vorgemerkten Menge zum Anwendungsfall Bestellung bearbeiten korrigiert wur 149 4 3 Funktionale Zerlegung de So sieht man deutlich die Diagramm nderung die nicht direkt der funktionalen Zerlegung von Bestellung bearbeiten zuzuschreiben ist Lieferscheine erstellen Fehlbest nde nachbestellen Nachbestellung Lieferscheinvermerk Fahrtziel Lieferwagen Vorgemerkte Menge Lieferant Kundenbestellung Lieferschein Maximalen und minimalen Lagerbestand definieren Lagerbestand ermitteln O Lagerbestand Minimalbestand Maximalbestand Lieferkartei Bestellposten Lieferscheine erstellen Bestellung bearbeiten R cklauf bearbeiten Nachbestellung Lieferscheinvermerk Fahriziel Lieferwagen Maximalen und minimalen Lagerbestand definieren Minimalbestand Lieferant Maximalbestand Vorgemerkte Menge Kundenbestellung Lieferschein Lagerbestand ermitteln Lagerbestand Lieferkartei Bestellposten Abb 4 15 Optimiertes Liniendiagramm zum JWI Beispiel 150 4 BASE ein begriffsbasiertes Analyseverfahren f
437. ormatik Stuttgart 1983 K Walden J M Nerson Seamless Object Oriented Software Architecture Analysis and Design of Reliable Systems Prentice Hall Object Oriented Series 1995 F Weltz R G Ortmann Das Software Projekt Projektmanage ment in der Praxis Campus Verlag Frankfurt am Main 1992 R Wirfs Brock B Wilkerson L Wiener Designing Object Orien ted Software Prentice Hall Englewood Cliffs New Jersey 1990 E Yourdon L L Constantine Structured Design Fundamentals of a Discipline of Computer Program and Systems Design Yourdon Press Computing Series Prentice Hall Englewood Cliffs New Jer sey 1979 369 Literatur ZGHK 97 A Zendler S Gastinger W Hesse P Kosiuczenko Advanced Con cepts Life Cycle Models and Tools for Object Oriented Software Development FAST Forschungsinstitut f r Angewandte Software Technologie Reihe Softwaretechnik 7 Tectum Verlag Marburg 1997 370 Lebenslauf Name Geboren am Staatsangeh rigkeit Familienstand Schulausbildung Wehrdienst Studium Berufliche T tigkeit 30 08 1967 08 78 05 87 05 87 07 87 09 88 10 88 09 94 09 92 04 93 09 94 10 94 04 95 04 95 04 00 Stephan D wel in Paderborn Deutsch verheiratet ein Kind Gymnasium Schlo Neuhaus Abschlu Allgemeine Hochschulreife Wuppertal und Augustdorf Diplom Mathematik mit Nebenfach Informatik an der Universit t GH Paderborn Auslandsstudium an der
438. orph zum Verband aller Blockrelationen von G M I Ein entsprechender Isomorphismus B kann folgenderma en definiert wer den g B O m gt yg O ygAum f rge G me M und eine vollst ndige Toleranzrelation auf B G M I Die Umkehrabbildung ist gegeben durch 4 B B D C D gt AXDUCXBcJ f r A B C D B G M I und Blockrelationen J von G M I Beweis G W 96 3 4 Satz 15 S 123 Siehe Anhang A Seite 264 Durch die Vertr glichkeit einer Toleranzrelation mit Infima und Suprema kann die Abbildung die einer vollst ndigen Toleranzrelation die zugeh rige Blockrelati on zuordnet auch durch eine duale Vorschrift definiert werden Bemerkung 10 Duale Definition von B Sei G M I ein formaler Kontext Dann gilt mit den Bezeichnungen aus Satz 16 f r jede vollst ndige Toleranz relation auf B G M I e B m amp ygv um um firalle ge G meM G W 96 3 4 Satz 15 S 123 Beweis Nach Satz 16 ist definiert durch 116 g B O m gt Yg O yg Aum Gilt fir ge G me M da g B O m so ist also yg yg A Um und wegen der Supremumsvertr glichkeit von auch yg yv um O yg Aum vum um 3 Formale Begriffsanalyse Gilt andersherum yg v Um um so folgt mit der Infimumsvertr glichkeit von da yg yg yg v um yg A um dh g B O m Entsprechend Hilfssatz 15 werden die Bl cke einer Toleranzrelation wie folgt defi niert Definition 35
439. otationen an In der Unified Modeling Language UML vergl BJR 99a bildet sich zur Zeit aber ein weit anerkannter Standard f r eine solche Notation heraus 1 2 Anwender Partizipation 1 2 Anwender Partizipation Oberstes Ziel eines Software Entwicklungsprojekts ist es den Auftraggeber zu friedenzustellen Am Ende der Entwicklung soll also ein Software System stehen mit Hilfe dessen die gestellten Anforderungen erf llt werden Durch Fehler in der Analysephase kann das Projektziel erheblich verfehlt werden weil eventuell am Bedarf des Auftraggebers vorbei entwickelt wird Grady Booch Many projects fail for the simple reason that the developers fail to build the right thing They ei ther deliver a system that does not meet the expectations of its intended users or they deliver a system that focuses on secondary functions at the expense of its pri mary use L W 00 hinterer Umschlagtext Da dies wirklich vorkommt zei gen Untersuchungen So hei t es in W O 92 zu einer Untersuchung von 46 Soft ware Projekten Ein Projekt wurde z gig und ohne gr ere Probleme abgewickelt und deshalb zu n chst auch als voller Erfolg gehandelt Das entwickelte Softwaresystem wurde dem Auftraggeber termingerecht zur Verf gung gestellt und von diesem ohne gr Bere Nachbesserungsw nsche abgenommen dann aber nie eingesetzt W O 92 S 147 Und die Standish Group konstatiert nach einer Befragung von 365 DV Verant wortlichen verschied
440. r misse und maximaler Konklusi on so bekommt man eine Basis der Implikationen auf einer endlichen Menge Satz 11 Duquenne Guigues Basis Sei X eine endliche Menge und H c P X ein System von Teilmengen Dann ist DON V gt kylV V EX ist saturierte Pr misse eine Basis der in X g ltigen Implikationen Beweis Vergl G W 96 2 3 Satz 8 S 83 Nach Hilfssatz 10 auf Seite 95 sind alle Implikationen V gt k V mit VEX in g ltig Zeige DN X ist vollst ndig Sei dazu R c X so da DD X von R respektiert wird Zeige R ist eine maximale Konklusion Annahme ky R R Ist dann U eine saturierte Pr misse mit U R so gilt k U CR denn R respektiert U gt ky U D h R ist selber eine saturierte Pr misse R respektiert aber R gt k R nach Annahme nicht im Widerspruch zur Wahl von R Also ist R k R eine maximale Konklusion DD X wird somit nur von maximalen Konklusionen respektiert Nach Satz 10 auf Seite 97 folgen damit alle in R g ltigen Implikationen auf Xaus DNg X 100 3 Formale Begriffsanalyse Zeige DOx X ist nicht redundant Sei also V eine saturierte Pr misse Dann ist V k V und deshalb respektiert V die Implikation V gt kylV nicht Ist aber U eine saturierte Pr misse mit UGV soist ky U CV Also wird DO X V gt kylV von V respektiert Damit folgt V gt ky V nicht aus DOLA V gt kal V Da V beliebig war ist DD X nicht redundant Insgesamt ist DD X eine Ba
441. r Lang Frank furt am Main 1996 Aonix Software through Pictures http www aonix com content products stp stp html 1999 357 Literatur Ara 89 B C 89 BDFS 84 Bec 99 Bir 40 Bir 67 BJR 97 BJR 99a BJR 99b BKKZ 92 B M 70 358 G Arango Domain Analysis From Art Form To Engineering Discipline Proceedings of the Fifth International Workshop on Software Specification and Design Pittsburgh ACM SIGSOFT Engineering Notes vol 14 no 3 pp 152 159 May 1989 K Beck W A Cunningham A laboratory for teaching object ori ented thinking in Norman K Meyrowitz Ed Conference on Object Oriented Programming Systems Languages and Applicati ons OOPSLA 89 New Orleans Proceedings ACM SIGPLAN Notices 24 10 October 1989 C Beeri M Dowd R Fagin R Stratman On the structure of Arm strong relations for functional dependencies Journal of the ACM vol 31 pp 30 46 1984 P Becker Einsatz der Formalen Begriffsanalyse zur Dokumentna vigation Diplomarbeit Fachbereich Mathematik und Informatik Philipps Universit t Marburg 1999 G Birkhoff Lattice Theory American Mathematical Society Collo quium Publications vol XXV New York 1940 G Birkhoff Lattice Theory Third edition American Mathematical Society Colloquium Publications vol XXV Providence Rhode Island 1967 G Booch I Jacobson J Rumbaugh UML 1 1 Notation Guide Rational Software Corpora
442. r die Identifikation der Klassen Eine automatische Klassenextraktion aus den Anforderungen an das zu entwik kelnde System kann es aber nicht leisten Die manchmal zur Motivation des objek torientierten Vorgehens ins Feld gef hrte Nat rlichkeit des objektorientierten An 243 7 1 Zusammenfassung der wichtigsten Ergebnisse satzes ist nicht wirklich gegeben weil die reale Welt sich in aller Regel nicht als eine Ansammlung von Objekten darstellt Auch ein Analysemodell fu t auf Ent wurfsentscheidungen die festlegen wie der Untersuchungsbereich gesehen wer den soll Deshalb ist eine vollautomatische Klassenextraktion nicht m glich Die von BASE geleistete Unterst tzung besteht in vier Punkten 1 Komplement re Darstellung von Daten und funktionaler Sicht auf das zu erstellende System Vorschl ge f r Komponentenzerlegungen Funktionale Zerlegung mit Kontrolle der Datenabh ngigkeiten berpr fungsfragen zur Modellvalidierung Ein weitgehendes Verst ndnis des Untersuchungsbereichs ist nach oben wesentlich f r eine erfolgreiche Modellbildung Da man davon ausgehen mu da dies den Entwicklern zumindest fehlt wenn sie ein System f r einen noch unbekannten An wendungsbereich entwickeln kann ein solches Verst ndnis nur in der Kommuni kation mit Fachexperten hergestellt werden Erfolgversprechende Analyseverfah ren m ssen also den Diskurs zwischen diesen beiden Personengruppen effektiv un terst tzen Dieses Motiv taucht
443. r ihr Modell mit den Anwendern diskutieren k nnen m ssen sich beide Gruppen auf eine gemeinsame Sprache bzw einen gemeinsamen Sprachgebrauch einigen Die Anforderungen sind in der Anwendersprache formu liert Deshalb m ssen die Entwickler die Fachsprache des Anwendungsbereichs zumindest teilweise nachvollziehen 1 3 Begriffe der Anwendersprache Die aussagekr ftigen Bestandteile der Anwendersprache sind ihre Begriffe mit de nen der Untersuchungsbereich beschrieben wird Solche Begriffe k nnen den Ent wicklern v llig fremd oder aber auch in anderem Zusammenhang und damit in m glicherweise anderer Bedeutung vertraut sein Um also berhaupt weitgehend mi verst ndnisfrei miteinander kommunizieren zu k nnen m ssen Fachexperten und Entwickler erst einmal in einem Diskurs die wichtigen Begriffe des Untersu chungsbereichs untereinander kl ren Boo 91 S 191 By studying the prob lem s requirements and or by engaging in discussions with domain experts the de veloper must learn the vocabulary of the problem domain Entsprechende Be griffsdefinitionen werden dann in einem Glossar oder einem Datenlexikon data dictionary festgehalten und stehen so allen Projektbeteiligten zur Verf gung Ent wicklungsarbeit ist ein St ck weit begriffliche Arbeit gerade wenn es um das Auf 11 1 4 Festlegen von Klassen finden der Kernelemente eines Anwendungsbereichs geht die zu den tragenden Elementen eines Systemmodells werden sollen
444. rachtung von Merkmalsimplikationen r hrt wohl der in der Umgangs sprache blichen Gebrauch von Begriffen Gegenst nden und Merkmalen her Bernhard Ganter schreibt in Gan 00 W hrend die Hierarchie von Begriffen auf der Seite der Gegenst nde eher mittels der Teilmengenbeziehung formuliert 91 3 4 Implikationen wird alle S ugetiere sind Wirbeltiere dr ckt man einen entsprechenden Sach verhalt merkmalseitig eher als Implikation aus bergewicht bedeutet Infarktge fahr Da zur Erkl rung des mathematischen Implikationenmodells der Bezug zu forma len Kontexten unn tig ist und deshalb das Wesen dieses Modells durch die Be schr nkung auf eine Mengendarstellung besser herausgestellt wird ist hier der Nachteil in Kauf genommen da f r die Behandlung auf beliebigen Mengen defi nierter Implikationen zus tzlichen Bezeichnungen eingef hrt werden m ssen Die dargestellten Sachverhalte sind daf r sofort auf Merkmals und Gegenstandsimpli kationen anwendbar ohne immer auf die Dualit t der beiden hinweisen zu m ssen Die zentrale Aussage des folgenden ist da es zu den betrachteten Implikationen familien kanonische Basen gibt d h Teilmengen aus denen alle Implikationen der Gesamtfamilie ableitbar sind die aber selber keine Redundanz enthalten siehe Satz 11 auf Seite 100 und Satz 14 auf Seite 109 Solche Basen erm glichen durch die gelieferte Beschr nkung der Anzahl zu betrachtender Implikationen e
445. ram me werden im Hauptfenster angezeigt siehe Abbildung 5 3 Die Daten der Anwendungsf lle insbesondere die Indizierung mit den involvier ten Dingen kann nur ber den Anwendungsfall Editor ver ndert werden Im Hauptfenster kann der Benutzer nur die Anordnung des Diagramms ver ndern in dem er einen Knoten anklickt und mit gehaltener Maustaste verschiebt In der Me n leiste kann er zus tzlich anw hlen ob er alle unter oder ber diesem Knoten lie 1 An diesem Punkt ist die Vermeidung von Zyklen auch von technischer Bedeutung 193 5 1 Benutzeroberfl che genden und ber Linienz ge mit ihm verbundenen Knoten gleichzeitig mit ver schieben will Vertikal setzt das Werkzeug der Verschiebung aber Grenzen so da die relative vertikale Position eines Knotens im Verh ltnis zu seinen verbundenen oberen und unteren Nachbarn nicht ver ndert wird Beschriftungen k nnen einzeln verschoben werden Als zus tzliche Erleichterung beim Zeichnen kann der Benut zer die Beschriftung durch die Anwendungsf lle oder durch die Dinge ein und ausblenden die Diagrammgr e durch Eingabe eines Prozentwerts ver ndern Die Schriftgr e bleibt dabei unver ndert in gleicher Weise nur den Durchmesser der Knoten variieren und f r Anwendungsf lle und Dinge getrennt die Schriftart festlegen Standardm ig werden die Dinge durch Fettdruck von den Anwen dungsf llen abgehoben ay JWi csc BASE lofx Datei BEGET Tam
446. rband in Abbildung 3 7 auf Seite 89 Beispiel 7 besteht die Basis der Gegenstandsimplikationen aus Satz 14 aus den folgen 109 3 5 Blockrelationen den Implikationen Martin Odell Shlaer Mellor gt UML Booch Rumbaugh Martin Odell Rumbaugh gt UML Booch Shlaer Mellor Jacobson Shlaer Mellor gt UML Booch Coad Yourdon Martin Odell Rumbaugh Jacobson Rumbaugh gt UML Jacobson Martin Odell UML Booch Coad Yourdon Rumbaugh Shlaer Mellor Coad Yourdon Rumbaugh Shlaer Mellor Booch Shlaer Mellor gt UML Booch Rumbaugh UML Martin Odell Shlaer Mellor Booch Martin Odell UML Rumbaugh Shlaer Mellor 10 Booch Jacobson gt UML Coad Yourdon Martin Odell Rumbaugh Shlaer Mellor 11 UML Shlaer Mellor Booch 12 UML Booch Coad Yourdon Martin Odell Rumbaugh Shlaer Mellor Jacobson DR ON SN DT Die Implikationen 4 8 und 10 zeigen zum Beispiel da alle Beschrei bungsmittel die von mindestens zwei der Autoren der UML gleichzeitig in ihren eigenen Methoden betrachtet wurden in die UML integriert worden sind weil der formale Gegenstand UML jeweils in der Konklusion enthalten ist 3 5 Blockrelationen Die formalen Begriffe eines formalen Kontexts G M I gruppieren Gegenst nde aus G und Merkmale aus M zu Einheiten Zu den typischen Anwendungen der For malen Begriffsanalyse geh rt es eine Klassifikation der untersuchten Gegenst nde bez glich der betrachteten Merkmale
447. rbestand Minimalbestand Maximalbestand Vorgemerkte Menge Nachbestellung Lieferant 14 Produkt Lagerbestand Vorgemerkte Menge Lieferant gt Nachbestellung Minimalbestand Maximalbestand 15 Bestellposten Produkt Minimalbestand Maximalbestand gt Kundenbestellung Kunde Lagerbestand Lieferkartei Wartekartei Vorgemerkte Menge Nachbestellung Lieferant Lieferschein Lieferwagen Fahrtziel Lieferscheinvermerk 16 Bestellposten Produkt Lieferkartei Lieferschein gt Lieferscheinvermerk 17 Bestellposten Produkt Lieferkartei Lieferschein Lieferwagen Fahrtziel Lieferscheinvermerk Kundenbestellung Kunde Lagerbestand Wartekartei Vorgemerkte Menge Nachbestellung Lieferant Minimalbestand Maximalbestand 18 Bestellposten Produkt Lagerbestand Lieferkartei Wartekartei 19 Bestellposten Produkt Lagerbestand Lieferkartei Wartekartei Lieferschein Lieferscheinvermerk gt Kundenbestellung Kunde Vorgemerkte Menge Nachbestellung Lieferant Minimalbestand Maximalbestand Lieferwagen Fahrtziel 20 Bestellposten Produkt Lagerbestand Lieferkartei Wartekartei Vorgemerkte Menge gt Kundenbestellung 21 Kunde gt Kundenbestellung Bestellposten Produkt 22 Kundenbestellung Bestellposten Produkt 23 Kundenbestellung Bestellposten Produkt Lieferkartei gt Lagerbestand Wartekartei Vorgemerkte Menge Aue DS 152 4 BASE ein begriffsbasiertes Analyseverfahren f r die Software Entwicklung 24 Kundenbeste
448. rbleiben in der Liefer Kartei und werden am Folgetag in die Lieferscheine aufgenommen S27 Frische Produkte von den Weinproduzenten treffen zwischen 10 und 16 Uhr ein S28 Nach Eintreffen werden die frischen Produkte nach dem Grundsatz zuerst bestellt zuerst beliefert den Bestellposten der Warte Kartei zugeordnet Alle nunmehr lieferbaren Posten werden von dort in die Liefer Kartei ber tragen Der Rest der frischen Ware wird dem Lagerbestand zugef hrt 330 Klassendeklarationen Als Erg nzung zu 5 4 sind hier die Deklarationen folgender Klassen des in Kapitel 5 vorgestellten Werkzeugs angegeben e CUsecaseAngaben Speichert die nicht direkt im formalen Kontext codierten Informationen zu Anwendungsf llen e CBASEDoc Verwaltet die Gesamtheit der Daten zu einem Projekt e CBASEView Stellt Liniendiagramme dar In der folgenden Darstellung sind Operationen die allein zur De Aktivierung von Men eintr gen dienen D 1 CUsecaseAngaben class CUsecaseAngaben Speichert w hrend der Eingabe von Anwendungsf llen und Dingen zu allen Anwendungsf llen die Angaben die im Kontext in den Specials als Strings abgelegt werden d h Beschreibung uses und extends Angaben So m ssen nicht immer wieder zusammengesetzte Strings geparst werden Speicherung geschieht in einer Liste von lt UsecaseDaten gt Die Anwendungsf lle sind durch ihre Identifier aus dem entsprechenden formalen Kontext ge
449. rdinaten double linienStaerke const TLineFormat amp format Berechnet die Linienst rke einer Kante in Zeichenbereichskoordinaten int linienStil char name Wandelt die ConScript Angabe zum Linienstil in einen Wert f r die Festlegung des Zeichnestifts um double knotenRadius const TPointFormat amp format Berechnet einen Knotenradius in Zeichenbereichskoordinaten double schriftGroesse const TStringFormat amp format Berechnet eine Schriftgr e in Zeichenbereichskoordinaten CString schriftArtName const TStringFormat amp format Ermittelt den Font Namen setzt Standardwert soweit in lt format gt nicht angegeben LOGFONT schriftArt const TStringFormat amp format Ermittelt den in lt format gt angegebenen Font CSize boxGroesse CDC pDC const CString amp text const TStringFormat amp format Berechnet die Ausdehnung der Beschriftung mit lt text gt in der Formatierung aus lt format gt in Zeichenbereichskoordinaten int horOffset TStringFormat amp format Berechnet die horzontale Position einer Beschriftung relativ zum zugeh rigen Knoten in Zeichenbereichskoordinaten int verOffsetGgst TStringFormat amp format int schonGezeichnet Berechnet die vertikale Position einer Beschriftung mit einem Gegenstand relativ zum zugeh rigen Knoten in Zeichenbereichskoordinaten int verOffsetMnl TStringFormat amp format int schonGezeichnet Berechnet die ver
450. re Projekte er h lt nicht von so gro em Gewicht wie ein schneller Projektabschlu Laut Booch ist eine derma en tiefgehende Analyse des Anwendungsbereichs auch meistens nicht n tig For highly complex systems domain analysis may in 2 Objektorientierte Anwendungsentwicklung volve a formal process using the resources of multiple domain experts and de velopers over a period of many months In practice such a formal analysis is rarely necessary Often all it takes to clear up a design problem is a brief meet ing between a domain expert and a developer It is truly amazing to see what a little bit of domain knowledge can do to assist a developer in making intelligent design decisions Boo 94 S 158 Strukturierte Analyse Die Idee mit strukturierten Techniken die Systemanalyse anzugehen und sp ter erst auf objektorientierte Techniken umzuschalten wird zwar von Booch ange sprochen aber dann sofort abgelehnt Durch ein solches Vorgehen verliert man gerade die Durchg ngigkeit der Ausdrucksmittel und des Entwicklungsparadig mas mit den in 2 2 3 diskutierten Konsequenzen Au erdem sind speziell in strukturierten Techniken erfahrene Entwickler versucht auch im Entwurf den strukturierten Vorgehensweisen zu folgen und mit einer funktionalen Zerlegung zu enden Diese Probleme hat auch Rumbaugh zur Kenntnis nehmen m ssen Die in OMT urspr nglich vorgesehenen Datenflu diagramme wurden durch an dere ersetzt die eine deutlichere Verbi
451. regation sondern es treten auch Be ziehungen mit anderer Semantik auf diese hei en Assoziationen Benutzungsbeziehungen die zur Laufzeit auf Objektebene hergestellt werden m ssen nicht unbedingt durch eine auf Klassenebene interessante fachliche Bezie hung gestiftet sein Weil sie aber dennoch bei der Analyse und im Entwurf eine Rolle spielen sind sie in der Liste der Klassenbeziehungen aufgef hrt Peter Coad und Edward Yourdon C Y 90 zum Beispiel dokumentieren sie auf Klassenebe ne Botschaftsbeziehungen stellen Kan le dar auf denen Nachrichten vergl 2 2 2 auf Seite 25 zwischen Objekten ausgetauscht und so Benutzungsbeziehungen zwischen den entsprechenden Klassen gestiftet werden 2 4 Objektorientierte Analyse und Modellierungsmethoden Seit Anfang der 90 er Jahre sind viele verschiedene Methoden zur objektorientier ten Anwendungsentwicklung ver ffentlicht worden Die bekanntesten Methoden sind e OOAD von Grady Booch Boo 94 seit 1982 e OOSE von Ivar Jacobcon et al JCJO 93 amp J C 95 seit 1985 e OOSA von Sally Shlaer amp Stephen J Mellor S M 88 S M 92 amp S M 93 33 2 4 Objektorientierte Analyse und Modellierungsmethoden e OSA von David W Embley amp Barry D Kurtz EKW 92 seit 1988 e OOA D von Peter Coad amp Edward Yourdon C Y 90 amp C Y 91 seit 1989 e BON von Kim Walden amp Jean Marc Nerson W N 95 seit 1989 e RDD von Rebecca Wirfs Brock et al WWW 90 e OMT von J
452. rei F lle IF atomX i 1 gt atomX i 13 zweiter Fall IF atomY i gt atomY i 1 AND atomX i 1 lt rechts THEN 14 Gerade durch rechte Grenze amp rechtes Atom x rechts atomX i 1 y atomY i 1 atomY i atomY i 1 atomX i 1 15 neue rechte Grenze IF x lt atomX i 16 rechts atomXl li 1 atomX i atomy i 1 atomy i y atomY i 1 atomX i zweiter Fall 1 7 dritter Fall ELSEIF atomY i lt atomY i 1 AND atomX il gt links 18 Gerade durch linke Grenze amp linkes Atom x atomX i links atomy i y atomY it 1 y links 19 neue linke Grenze IF x gt atomX i 1 20 links atomX i 1 atomxX i atomy i 1 atomy i y atomY i atomX i dritter Fall 21 Abbruch bei leerem Intervall IF links gt rechts THEN 22 ABORT erste drei F lle 311 B 5 Automatisches Zeichnen von Diagrammen B12 23 vierter Fall ELSEIF sInd 0 OR atomX i gt sep sInd 1 THEN B12 24 sep sInd atomX i B12 25 sInd sInd 1 Schleife ber die Paare von Atomen B12 26 Intervallmitte x rechts links 2 B12 27 i 0 B12 28 letzter Separator vor Intervallmitte WHILE i lt sInd AND sep i lt x DO B12 29 IF sep i gt links B12 30 links sep i B12 31 TeS RE B12 32 erster Separator nach Intervallmitte IF i lt sInd THEN B12 33 rechts
453. rei Linien und drei Winkeln ist dann kann ihm die Idee die er sich davon gebildet hat dazu dienen alle anderen Dreiecke sich vorzustellen Die Ideen die nur ein einziges Ding repr sentieren hei en ein zelne oder individuelle und das was sie darstellen Individuen die Ideen die meh rere Dinge repr sentieren hei en universelle gemeinsamen oder allgemeine Wenn wir hier aber von allgemeinen W rtern sprechen so verstehen wir die ein deutigen darunter die mit universellen und allgemeinen Ideen verbunden sind Nun gibt es aber in diesen universellen Ideen zwei Dinge deren Unterscheidung sehr wichtig ist n mlich den Inhalt und den Umfang Ich nenne Inhalt der Idee die Attribute die die Idee in sich schlie t und die man von ihr nicht entfernen kann ohne die Idee zu zerst ren so wie der Inhalt der Idee des Dreiecks Ausdehnung Gestalt drei Linien drei Winkel und die Gleichheit dieser drei Winkel mit zwei rechten usw in sich schlie t Ich nenne Umfang der Idee die Subjekte denen diese Idee zukommt die man auch die einem allgemeinen Wort Untergeordneten nennt 1 Hal 71 S 780 Der philosophische Gebrauch der quivalente des Terminus Begriff setzt mit dem sokra tisch platonischen Philosophieren ein Wil 95 S 4 Das Denken in Begriffen spielte jedoch f r die griechische Philosophie von Anfang an eine zentrale Rolle 2 Wei 88 S 2 Plato has no explicit theory of concepts nor he has a word for con
454. remum eines Blocks ein Merkmalsbe griff und sein Infimum ein Gegenstandsbegriff ist erh lt man auf diese Weise Mo 233 6 4 Konfigurationsanalyse dule mit regul rer Koh sion L S 97 in denen zumindest eine Prozedur alle Va riablen benutzt und dual mindesten eine Variable von allen Prozeduren benutzt wird Die Autoren erw hnen diese M glichkeit der Modularisierung ohne ein kon kretes Anwendungsbeispiel zu geben Die berlegung da innerhalb von BASE eher mit Klassenkandidaten mit regul rer Koh sion zu rechnen ist als bei beliebi gen nach Datenabstraktion gebildeten Modulen gab den Ansto Blockzerlegun gen f r BASE zu betrachten Die Klasse selbst spielt in allen ihren Operationen eine Rolle und ein eventuell modellierter Konstruktor initialisiert hoffentlich alle Attribute der Klasse 6 4 Konfigurationsanalyse Lindig und Snelting bearbeiten eine weitere Aufgabenstellung aus dem Software Re Engineering mit Formaler Begriffsanalyse Speziell Programme die f r ver schiedene Plattformen geschrieben sind weisen verschiedene Konfigurationen auf Um solche Programme verstehen und pflegen zu k nnen ist es wichtig ihre Kon figurationsstruktur zu erkennen Die Autoren betrachten durch Pr prozessorsymbole in C Code erzeugte Konfi gurationen Abbildung 6 7 zeigt einen Teil des Quellcodes aus rcsedit c Das Bei spiel stammt aus Sne 96 F r die Behandlung mit Formaler Begriffsanalyse wer den die verschiedenen
455. ren schlieBen sich die Schriftattribute aufgrund der De finition von ConScript gegenseitig aus HoriPosition GpZahl VertPosition GpZahl HoriBezugspunkt 1 r VertBezugspunkt b c 221 5 4 Technischer Aufbau des Werkzeugs Die Position einer Beschriftung wird relativ zum betreffenden Diagrammknoten in der unter UNITLENGTH gegebenen L ngeneinheit angegeben Der Bezugspunkt dieser Angabe innerhalb der Beschriftung kann verschieden gew hlt werden Da bei bedeutet 1 Jinks c zentriert r rechts o unten und t oben BoxBreite GpZahl BoxH he GpZahl Die letzten beiden Angaben spezifizieren die Gr e eines Bereichs au erhalb des sen nichts dargestellt wird In ConScript ist lediglich festgelegt da Farben als Zeichenketten angegeben wer den BASE unterst tzt die folgenden Angaben Farbe white Gray Dark Gray Black Red Green Blue Yellow Pink Cyan Brown Dark Green Dark Blue Beige Magenta Turquoise rWert gWert bWert Zeichenkette Die Farben der blichen Palette sind aus Gr nden der Kompatibilit t mit Anaconda benannt Um aber Bl cke von Blockzerlegungen automatisch verschie den einf rben zu k nnen wurde zus tzlich die Farbspezifikation von HTML ein gearbeitet Dementsprechend sind rwert gWert und bWert zweistellige Sedezi malzahlen wobei Kleinbuchstaben verwendet werden So ist die Speicherung von Farben in RGB Format m glich Der Projektname Der Projektname wird als Kommentar zur Datei g
456. rgehen eingebaut Dies konnte mit dem inner halb der Formalen Begriffsanalyse blichen Ansatz ber die Betrachtung von Im plikationenbasen geschehen Ein gro es Gewicht wurde auf die Durchf hrbarkeit des Verfahrens in realen Pro jekten gelegt Das in Kapitel 5 beschriebene Werkzeug f r BASE belegt da BASE einsetzbar ist ohne da Entwickler oder Anwender sich in die mathemati schen Grundlagen einarbeiten m ssen Weiter bedeutet seine Anwendung keinen entscheidenden Mehraufwand gegen ber dem blichen Vorgehen bei der Anwen dungsfall getriebenen Analyse Um den Zusatzaufwand zu minimieren wurde ein Algorithmus entwickelt ein Liniendiagramm anhand eines anderen anzuordnen Dies ist f r die Erstellung von Liniendiagrammen zu funktional verfeinerten An wendungsfallmodellen innerhalb von BASE von Bedeutung Andere Anwendun gen von Formaler Begriffsanalyse k nnen gegebenenfalls auch von diesem Algo rithmus profitieren weil er lediglich auf den mathematischen Strukturen beruht Beschrieben ist der Algorithmus in Anhang B 5 3 auf Seite 313 seinen Effekt sieht man in Abbildung 5 11 auf Seite 202 246 7 Zusammenfassung und Ausblick Die Antwort auf die Ausgangsfrage f llt erwartungsgem nicht einfach aus BASE stellt in einem gemeinsamen Modell komplemen t r eine funktionale und eine datenorientierte Sicht auf das zu erstellende System dar Eine funktionale Zerle gung ist durchf hrbar weil diese Darstellung die Daten
457. rgehen ist f r die Fachexperten leichter zug ng lich Funktionale Zerlegung ist nicht nur eine nat rliche intuitive Herangehens weise zur L sung von Problemen sondern wird von den Fachexperten auch zur Beschreibung von Gesch ftsprozessen selber angewandt 1 6 Das Vorgehen in BASE Die Anwendungsfall getriebene use case driven Entwicklung wurde im Bereich der objektorientierten Methoden zuerst von Ivar Jacobson vergl JCJO 93 emp fohlen ist aber in der Zwischenzeit von vielen anderen Autoren aufgenommen worden Die Anwendungsf lle spiegeln die funktionalen Anforderungen an das System wider Diese zu erf llen ist das wichtigste Ziel der Entwicklung Deshalb sind die Anwendungsf lle des zu erstellenden Systems auch Ausgangspunkt in BASE Das betrachtete System wird ausgehend von den Anwendungsf llen funktional zer 14 1 Einleitung legt Die dadurch entstehenden Datenabh ngigkeiten werden durch die verwende ten Datenstrukturen explizit gemacht und k nnen so von den Entwicklern im Griff behalten werden Die vorgestellte Methode bietet dabei einen Ansatz die Granula rit t der Zerlegung zu kontrollieren Untersucht wird dazu ob in der Benutzung der Daten mplikationen der folgenden Form im aktuellen Modell vorliegen Alle Funktionen die die Daten A A benutzen betreffen auch die Daten B4 Bm Von den Fachexperten kann beurteilt werden ob solche Implikationen f r die gesamte betrachtete Funktionalit
458. rhaltend und supre mum erhaltend ist d Sind V und W vollst ndige Verb nde und ist sowohl vollst ndiger A Morphismus als auch vollst ndiger v Morphismus so hei t vollst n diger Verbandshomomorphismus oder Vollhomomorphismus Bir 67 11 3 S 24 Ern 82 6 S 112 Wenn in den folgenden Abschnitten vollst ndige Verb nde betrachtet werden ste hen drei Homomorphismen Konzepte zur Auswahl um Abbildungen strukturer 74 3 Formale Begriffsanalyse haltende Eigenschaften zuzusprechen Ordnungshomomorphismus Verbandsho momorphismus und vollst ndiger Verbandshomomorphismus Da diese drei wirklich auseinanderfallen zeigen die folgenden Beispiele Beispiel 4 Verschiedene Homomorphismen zwischen Verb nden a Folgende zwei Liniendiagramme beschreiben vollst ndige Verb nde Ww 7 a Abb 3 3 Zwei Verb nde und eine ordnungserhaltende Funktion Die durch Pfeile angedeutete Abbildung ist ein Ordnungshomomorphis mus aber nicht infimum erhaltend also kein Verbandshomomorphismus denn O x Ay plz a b DAS Q X A QV b R xe R x 20 U oo ist mit der nat rlichen Ordnung lt ein vollst ndiger Verband Betrachte weiter W aus a und a firxe R R gt W u f rx Dann ist ein Verbandshomomorphismus aber kein vollst ndiger Ver bandshomomorphismus denn VR bza VQ R Interessiert man sich jedoch nur f r Isomorphismen fallen alle Homomorphismen Konzepte zu
459. rieb Andererseits erlaubt gerade die Arbeit mit dem Liniendiagramm Editor ein spielerisches Umgehen mit den dargestellten Anwendungsfallmodellen Deshalb kann der Umgang mit dem Werkzeug auch Spa bereiten 205 5 4 Technischer Aufbau des Werkzeugs 5 4 Technischer Aufbau des Werkzeugs Das vorliegende Werkzeug im folgenden wie die Methode BASE genannt wurde unter MS Visual C 42 mit Hilfe der Microsoft Foundation Classes MFC siehe Krg 96 und The Formal Concept Analysis Library hier Roe FCA L FCA L abgek rzt Vog 96 entwickelt Dabei 2 liegt eine Version von The Formal Concept Analysis Library in MS Visual C zugrunde die BASE en aus der urspr nglich am Fachbereich Mathematik der Technischen Hochschule Darmstadt unter Bor y land C entwickelten Bibliothek am Fachbereich Mathematik und Informatik der Philipps Universi t t Marburg durch Portierung auf MS Visual C entstanden ist Diese Version benutzt auch die MFC F r BASE wurde sie um die Behandlung Abb 5 14 Benutzte von Implikationen und Blockrelationen sowie ei Bibliotheken nigen weiteren kleineren Erg nzungen erweitert siehe Anhang B Die folgende Darstellung konzentriert sich auf die Datenstrukturen in BASE De ren Erkl rung ist hinreichend um die Struktur der Anwendung darzustellen Hin weise zu den angewandten Algorithmen finden sich in Anhang B Da
460. riffsanalyse G W 96 formalisiert die Behandlung von Begriffen und das Schlie en in begrifflichen Systemen auf mathematischer Grundlage Sie wird in BASE als Werkzeug zur Identifikation von Klassenkandidaten eingesetzt Abschnitt 3 1 stellt das zugrunde liegende Verst ndnis von Begriffen als Abstrak tionen der realen Welt dar und gibt einen kurzen Hinweis auf die geschichtlichen Quellen dieses Begriffsverst ndnisses Wesentliche mathematische Strukturen in nerhalb der Formalen Begriffsanalyse sind vollst ndige Verb nde Deshalb werden in 3 2 die n tigen ordnungstheoretischen Grundlagen von der Definition von Ord nungen bis zu Verb nden dargestellt Darauf aufbauend werden in 3 3 die wichtig sten Konzepte der Formalen Begriffsanalyse formale Kontexte Begriffsverb nde und deren Liniendiagramme eingef hrt Um einen schnellen Einblick zu bekom men reicht es allein diesen Abschnitt anhand seiner Definitionen nachzuvollzie hen Dadurch sind alle Grundlagen gegeben um die Grundidee des Ansatzes von BASE verfolgen zu k nnen 3 4 und 3 5 behandeln spezielle weiterf hrende Aspekte der Formalen Begriffsanalyse die f r Verfeinerungen innerhalb von BASE von Bedeutung sind In die Darstellung sind auch Beweise von Aussagen einbezogen um die mathema tischen Sachverhalte in sich geschlossen darzustellen Au erdem sind in der be nutzten Literatur insbesondere in G W 96 viele Beweise nur in sehr knapper Form dargestellt so da
461. rsichtsdiagramm mit einem Verweis auf das Liniendiagramm gespeichert aus dem es berechnet wurde Der zu seiner Erzeugung benutzte formale Kontext existiert nur tempor r Genauso wer den Diagrammausschnitte also Hauptfilter ideale und einzelne Bl cke einer Blockzerlegung und Detaildiagramme zu Blockzerlegungen tempor r als Linien diagramme erzeugt aber nicht gespeichert Abh ngig davon welche Art von Lini endiagramm angezeigt ist stehen dem Benutzer verschiedene Funktionen zur Ver f gung CBASEDoc speichert deshalb ob gerade ein Blockrelationsdiagramm an gezeigt wird und ob das angezeigte Diagramm nur tempor r erzeugt ist 208 5 Ein Analyse Werkzeug f r BASE Damit Blockrelationsdiagramme zu ein und demselben Anwendungsfallmodell nicht immer neu in der Projektdatei gesucht werden m ssen werden Zeiger auf sie zus tzlich in CBASEDoc gespeichert sobald der Benutzer die Anzeige einer Blockzerlegung anfordert Schlie lich enth lt CBASEDoc noch einen Zeiger auf einen Dialog zur Anzeige von berpr fungsfragen Damit kann CBASEDoc folgende Aufgaben bernehmen e Neuerstellung ffnen und Speichern von Projekten e Auswahl und L schen eines Anwendungsfallmodells e Eingabe und Ver nderung von Anwendungsfalldaten e Generierung und Anzeige von berpr fungsfragen e Berechnung und Verwaltung von Blockzerlegungen Anhang D enth lt die Klassendeklaration von CBASEDoc Die Klasse CBASEView CBASEView tibernimmt das
462. rst die praktische Durchf hrung entsprechender Analysen 3 4 1 Implikationen auf Mengen Sofort geht es hier mit der Definition von Implikationen in medias res Definition 24 Implikation respektieren gelten Sei X eine Menge Dann nennt man V W p x eine mplikation auf X und schreibt VOW V hei t die Pr misse der Implikation und W die Konklusion Man sagt eine Teilmenge R c X respektiert die Implikation V W wenn Vg R oder WR dh VECR S WCR Weiter respektiert RC X eine Menge Ic P X von Implikationen wenn R jede Implikation aus 3 respektiert Eine Implikation auf X gilt ist g ltig in einem System R c P X wenn jedes Re X die Implikation respektiert Eine Implikationenfamilie 3 c p X gilt in einem System R c P X wenn jedes Re KR die Implikationenmenge 5 respektiert G W 96 2 3 Definition 36 S 80 Das Konzept der respektierenden Mengen ist folgendes In einem gegebenen Kontext hier umgangssprachlich gemeint aber innerhalb der Formalen Begriffsanalyse durch einen formalen Kontext beschrieben treten im mer nur gewisse Kombinationen von Elementen aus der Menge X auf Die auftre 92 3 Formale Begriffsanalyse tenden Kombinationen sind die respektierenden Mengen aus X Dann impliziert in diesem Kontext eine Teilmenge V eine andere W wenn in allen m glichen Kombi nationen aus It die V enthalten auch schon alle Elemente von W vorkommen Man kann in diesem Fall allein durch die Beobachtung von V a
463. rteilt deren Menge unter den Minimal Lagerbestand gesunken ist Dabei wird so viel bestellt da der entsprechende Maximal Lagerbestand erreicht wird S18 S19 S20 S21 S22 S23 S24 525 C Beispielsystem f r BASE JWI Inc Die folgende Abbildung zeigt ein Formular f r Bestellungen an Weinprodu zenten Bestellformular an Weinproduzenten Datum Bestell Nr W Produzent Adresse Telefon Lfd Nr Posten Menge Minimal und Maximal Lagerbest nde werden f r jedes Produkt definiert Das Zentrum erstellt Lieferscheine f r jeden Lieferwagen Dabei werden den Lieferwagen die Bestellposten aus der Liefer Kartei entsprechend ihrer Fahrtziele zugeordnet Die folgende Abbildung zeigt einen Lieferschein Lieferschein Datum Lieferwagen Nr Einzelh ndler Liefer Nr D Adresse Bestell Nr Telefon A Lfd Nr Posten Menge a r a ausgefuhrt r Retoure Am n chsten Morgen l dt jeder Lieferwagen Produkte aus dem Lagerhaus gem dem Lieferschein und liefert diese aus Nach erfolgter Auslieferung werden die Lieferscheine zur ckgegeben mit einem Vermerk ausgeliefert oder Retoure Produkte mit dem Vermerk Retoure werden ins Lagerhaus zur ckgebracht Das Zentrum l scht alle gem dem Vermerk auf dem Lieferschein ausge lieferten Bestellposten aus der Liefer Kartei 329 C Beispielsystem f r BASE JWI Inc S26 Bestellposten mit dem Vermerk Retoure ve
464. rten gegen ber sehen wird auch in realen Projekten erst einmal eine solche Sammlung oder neudeutsch ein Brainstorming vorgenommen Die unten benutzten Angaben in Klammern sind Referenzen auf die betreffenden Aussagen der zugrundeliegenden Beschreibung siehe Anhang C Anwendungsfall Bestellung annehmen e Das Zentrum empf ngt Bestellungen der Einzelh ndler telefonisch von 9 bis 17 Uhr S7 e Die eingehenden Bestellungen der Kunden werden vom Sachbearbeiter in Bestellformularen erfa t S8 e Eine Kundenbestellung kann aus mehreren Bestellposten bestehen Diese bezie hen sich auf einzelne Produkte S9 e Jeder Bestellposten wird auf dem Formular in einer Zeile notiert S10 131 4 2 Grundlegender Ansatz Anwendungsfall Bestellung bearbeiten e Der Anwendungsfall Lagerbestand ermitteln wird benutzt uses Beziehung um f r jeden Posten der gerade bearbeiteten Kundenbestellung den aktuellen Lagerbestand zu ermitteln S11 e Falls f r einen Bestellposten gen gend Waren auf Lager sind dann wird dieser in die Lieferkartei eingetragen und der Lagerbestand entsprechend korrigiert S14 Anderenfalls wird der Bestellposten in die Wartekartei eingetragen S15 Anwendungsfall Fehlbest nde nachbestellen Der Anwendungsfall Lagerbestand ermitteln wird benutzt uses Beziehung um f r jedes Produkt den aktuellen Lagerbestand zu ermitteln Das Ergebnis dient dazu Fehlbest nde aufzufinden T glich nach 17 Uhr d h
465. ructure and a common be havior S 65 For our purposes we will use the terms type and class inter changeably Diese Dualit t findet sich auch bei Begriffen vergl Kapitel 3 wieder Deshalb ist die in 1 6 2 angedeutete M glichkeit formale Begriffe zu mo dellieren die in ihrer Extension Objekte und in ihrer Intension Attribute und Ope rationen als Typbeschreibung zusammenfassen nat rlich genannt worden Die in BASE erstellten formalen Begriffe sind in diesem Sinne nicht nat rlich Wie in 1 6 2 aufgef hrt ist eine nat rliche Begriffsmodellierung f r BASE nicht ad quat weil die Analyse auf Instanzenebene und nicht allein auf Typebene durchgef hrt werden m te 31 2 3 Rollen der Klassen bei der Analyse und Modellierung Begriffe sind das zentrale Hilfsmittel um Dinge des Untersuchungsbereichs zu klassifizieren Klassen sollten die zentralen Begriffe implementieren um den Un tersuchungsbereich treffend beschreiben zu k nnen Diese Vorgabe findet sich bei vielen Autoren e James Rumbaugh The objects in the model should be application domain con cepts RBP 91 S 5 e James Martin und James Odell Object types are important because they create conceptual building blocks for designing systems M O 92 S 76 und An object type is a concept M O 95 S 34 e Grady Booch Key abstractions are the classes and objects that form the vocab ulary of the problem domain Boo 94 S 1
466. rungsbeschreibungen zu erzeugen ohne da die Anwender in diesen Proze einbezogen werden Damit k nnen sie ihn auch nicht nachvollziehen Ortner 59 2 6 Identifikation von Objekten und Klassen schreibt dazu Die Sprache sollte so aufgebaut sein da es dem Anwender nicht schwerf llt die Einschr nkungen in Grammatik und Lexikon zu akzeptie ren w hrend ihm das Ziel eine dadurch bessere Formalisierbarkeit der Ergeb nisse in den nachfolgenden Entwicklungsphasen zu erreichen verborgen blei ben kann Ort 95 S 149 Und weiter Eine Konstruktionssprache Norm sprache die wir dabei als Zwischensprache Konsolidierungssprache im bergang von fachsprachlichen Aussagen ermittelt mit Benutzern zu dia grammsprachlichen Darstellungen der Ergebnisse ohne Beteiligung der Benut zer von Entwicklern erstellt einsetzen werden Ort 97 S 11 Das ist insbesondere im Hinblick auf inkrementelle und evolution re Entwicklungsstra tegien ein Problem weil die Entwicklung der erstellten Modelle im Zuge der Betrachtung zus tzlicher Anforderungen von den Anwendern nicht verfolgt werden kann Welche der rekonstruierten Begriffe als Klassen modelliert wer den erl utert Schienmann leider nicht weiter e Begriffliche Ans tze Klassen sollen Begriffe des Untersuchungsbereichs implementieren Die Autoren Booch Rumbaugh Martin Odell und die Methode Fusion stellen in ihren B chern diese Rolle von Begriffen bei der Klassenmodel
467. s Ausdruck von bestehenden aber noch nicht erkannten uses Bezie hungen ist In der Situation von Abbildung 4 6 w re also zu fragen ob die Anwen dungsf lle a a den Anwendungsfall b benutzen oder die aufgezeigten ber die untersuchten Dinge gestifteten Datenabh ngigkeiten einen anderen 138 4 BASE ein begriffsbasiertes Analyseverfahren f r die Software Entwicklung Grund haben extends Beziehungen finden dann Anwendung wenn ein Anwendungsfall grunds tzliches Systemverhalten beschreibt das in mehreren verschiedenen Spe zialisierungen angeboten werden soll Steht also ein Anwendungsfall b ber meh reren anderen ist zu untersuchen ob dies Ausdruck von extends Beziehungen ist Nach Definition 11 auf Seite 72 mathematisch formuliert liegt dieser Fall vor wenn der Merkmalsbegriff ub V reduzibel ist und es Anwendungsf lle a a gibt so da na ua lt ub und pa ua wa ua In der Situation von Abbildung 4 7 w re also zu fragen ob die Anwendungsf lle a a den An wendungsfall b erweitern oder ob die aufgezeigten ber die untersuchten Din ge gestifteten Datenabh ngigkeiten einen anderen Grund haben b Die gestrichelten Linien deuten aufsteigende Linienz ge an die Merkmalsbegriffe von a a stehen neben z A x einander und nicht in Ober Unterbegriffsbeziehung zu aw N einander 7 N 7 N 7 5 Untersuchung auf aj a 2 enre ye gt ay s 2 x 5 a extends b a ex
468. s an den einzelnen Mengenelementen interes siert Die folgende Definition stellt die Hilfsmittel zum Vergleich von Ordnungs strukturen bereit Definition 13 Ordnungserhaltend Ordnungseinbettung Ord Isomorphismus Eine Abbildung X Y zwischen zwei geordneten Mengen X Sy und Y lt y hei t ordnungserhaltend isoton oder Ordnungshomomorphismus wenn f r alle x ze X mit x Syz auch Q x Sy Q z gilt Gilt zus tzlich noch die Umkehrung x Sy z gt x Sy z s0 ist eine Ordnungseinbettung ist dann wegen der Antisymmetrie von Sy injektiv Eine bijektive Ordnungseinbettung hei t Ordnungs Isomorphismus Man schreibt dann X Y Bir 67 1 2 S 2 Bis auf Isomorphie sind in Abbildung 3 1 alle dreielementigen geordneten Mengen angegeben d h alle m glichen Ordnungsstrukturen Strukturvergleiche zwischen Verb nden sollten auch ber Infima und Suprema zu unternehmen sein Deshalb sind die folgenden Morphismen interessant Definition 14 Verbandshomomorphismen V und W seien zwei Verb nde und V W eine Abbildung a P hei t infimum erhaltend oder A Morphismus supremum erhaltend V Morphismus wenn f r alle x y V gilt P x Avy P x Aw PY Q x yyy Q x Vy O y b Sind V und W vollst ndige Verb nde und gilt Ay X Aw Q X bzw Vy X Vy Q X fir alle X CV so hei t vollst ndiger A Mor phismus respektive vollstandiger v Morphismus c hei t Verbandshomomorphismus wenn infimum e
469. s zugeordnet m ssen dann nur noch die eventuell dazugekommenen an geordnet werden Dazu sucht man zu einem neuen Begriff im neuen Begriffsver band den niedrigsten Knoten eines gr eren Begriffs und den h chsten Knoten ei nes kleineren die schon angeordnet sind Die Knoten zum gesamten Intervall zwi schen diesen beiden Begriffen m ssen zwischen den beiden schon festgelegten Knoten angeordnet werden Abb B 9 Altes und neues anzuordnendes Diagramm In Abbildung B 9 solle das rechte Diagramm nach dem linken ausgerichtet werden Alle vier Knoten des alten Diagramms k nnen eindeutig solchen des neuen zugeordnet werden ausge f llt gezeichnete Knoten Der neue Merk malsbegriff zu m2 ist noch anzuordnen Das zu betrachtende Intervall ist um ums Nach einer Skalierung mit dem Faktor 1 2 k nnen die Knoten in das linke Diagramm eingepa t DaB BAU EinpepaBie Kanoten 316 B Algorithmen zur FBA werden Es ergibt sich das nebenstehende inkorrekte Liniendiagramm Der Feh ler ist entstanden weil bei Positionierung des Knoten zum Merkmalsbegriff von m3 nicht der Merkmalsbegriff von m0 sondern auch der von m als niedrigster oberer Nachbar beachtet werden mu Um dies zu leisten werden die Knoten zu Oberbegriffen vor denen ihrer Unterbegriffe behandelt etwa nach der lektischen Ordnung der Begriffsinhalte oder der umgedrehten lektischen Ordnung der Be griffsumf nge siehe Hilfssatz B2 auf Se
470. sammen Deshalb sind in Definition 14 Verbandsisomorphismen gar nicht erst gesondert definiert Satz 4 Verbandsisomorphismus Ordnungsisomorphismus V und W seien zwei Verb nde und V gt W eine Abbildung a ist genau dann ein bijektiver Verbandshomomorphismus wenn ein Ordnungsisomorphismus ist b Sind V und W vollst ndige Verb nde so ist zus tzlich zu den beiden Eigenschaften aus a quivalent da ein bijektiver vollst ndiger Ver bandshomomorphismus ist Bir 67 1 3 Lemma 2 S 24 Ern 82 6 5 Satz S 116 Beweis Gr 98 1 3 S 20 vergl Ern 82 6 4 Proposition S 116 Siehe Anhang A Seite 254 73 3 2 Ordnungstheoretische Grundlagen 3 2 5 Galois Verbindungen Der wesentliche Zusammenhang zwischen Extensionen und Intensionen eines Be griffssystems l t sich in den hier formalisierten Situationen durch eine Galois Verbindung beschreiben Dieses Konzept wurde von Oystein Ore Ore 44 einge f hrt Galois Verbindungen treten in vielen verschiedenen Zusammenh ngen auf insbesondere beschreibt der Hauptsatz der Galois Theorie eine solche Verbindung zwischen den Unterk rpern einer galoisschen K rpererweiterung und der zugeh rigen Galois Gruppe vergl Kun 91 10 4 S 119 Diesem Beispiel verdanken sie ihren Namen Definition 15 Galois Verbindung Sind X lt y und Y lt y geordnete Mengen 9 X gt Y und y Yo X Abbildungen mit a x Sy X3 gt x2 Sy O x f
471. setzung ist dann W c R f r alle re T also auch UW CR D h R respektiert UV gt U W st te T te T Interessiert ist man minimale Implikationenfamilien zu betrachten in denen keine Implikation schon aus den anderen gefolgert werden kann Definition 28 Redundante Implikationenfamilie Basis Sei X eine Menge 9 c P X ein System von Teilmengen und Jc Bw eine Implikationenfamilie auf X I hei t redundant wenn es eine Implikation V gt We 3 gibt so da V gt W au 3 V W folgt Dagegen hei t 3 eine Basis der in R g ltigen Implikationen wenn 3 f r X vollst ndig und nicht redundant ist Vergl G D 86 S 12 und Duq 87 S 223 Um eine Basis zu bekommen werden im folgenden nur bestimmte Pr missen be trachtet Das Ziel ist Redundanzen aufgrund von Hilfssatz 12 zu vermeiden Dazu w hlt man nur solche informativen Implikationen mit maximaler Konklusion aus bei denen echte Teilmengen der Pr misse die selber wieder Pr missen der zu kon struierenden Basis sind nichts ber die Gesamtpr misse hinausgehendes implizie ren Schon aus dieser Paraphrasierung des Konstruktionsprinzips f r eine Basis ist die rekursive Anlage der Basiskonstruktion ersichtlich Ein leichter nachzuvollzie hendes konstruktives Prinzip wird im Anschlu an Definition 29 vorgestellt We gen der M glichkeit der einfacheren und vor allem eleganteren algorithmischen Bestimmung einer Implikationenbasis wird hier Definition 29 vorgezogen Defin
472. severfahren f r die Software Entwicklung im Nachhinein dadurch erkennen da sie ebenso durch die Betrachtung der Funk tion Nachbestellung anlegen aufgel st werden Fachlich gesehen steht das folgen de dahinter F r das Anlegen einer leeren Nachbestellung sind nur die Nachbestel lung selber und der Lieferant an den sie gerichtet wird n tig ohne da die nach zubestellenden Produkte und die betreffenden Nachbestellmengen einzutragen w ren so da auch der Lagerbestand nicht abgefragt werden mu Vorstellbar w re da den an der Entwicklung beteiligten zwar von der Implikation Nachbestellung Lieferant gt Maximalbestand klar ist da die fachlich unzutref fend ist von den Implikationen Nachbestellung gt Produkt Nachbestellmenge und Lieferant gt Produkt Lagerbestand ihnen das aber nicht sofort ins Auge springt Sicher sein eine passende Formulierung zu finden kann man aber nur wenn man alle im Kontext g ltigen Implikationen pr sentiert Nur w rde durch die starke Redundanz ein solches Vorgehen kaum die Akzeptanz der Beteiligten finden und schon allein durch die Anzahl der zu betrachtenden Implikationen unpraktikabel sein 4 4 berpr fung des Modells 4 4 1 berpr fung durch Implikationen Mit Hilfe von Gegenstandsimplikationen wird wie in 4 3 2 dargestellt die Su che nach funktional untergeordneten Funktionen unterst tzt Immer wenn eine aus dem vorliegenden Kontext abgeleitete Implikation inhalt
473. sich auf die fachliche bzw inhaltliche Sicht von Klassen Repr sentieren die in einer Spezialisierungsbeziehung stehen 32 2 Objektorientierte Anwendungsentwicklung den Klassen Begriffe so sollte eine entsprechende Ober Unterbegriff Beziehung bestehen Vererbung ist ein Mechanismus Generalisierungsbeziehungen in der Software zu verwirklichen doch k nnen die beiden Beziehungsarten nicht gleich gesetzt werden In der Analyse angesprochen wird vorwiegend der Typaspekt nicht der Modulaspekt von Klassen siehe 2 2 2 auf Seite 25 Also steht der taxo nomische Aspekt und nicht der Wiederverwendungsaspekt der Vererbung im Vor dergrund siehe 2 2 2 auf Seite 27 Aggregation bezeichnet eine Teil Ganzes Beziehung Die Notwendigkeit dieses Modellkonstrukts war und ist Gegenstand anhaltender kontroverser Diskussionen Man k nnte Aggregation auch als Spezialfall der Assoziation s u behandeln In den meisten Methoden und auch in UML BJR 99a ist sie aus den brigen Asso ziationen herausgehoben Kontrovers sind auch die Auffassungen wie stark Klas sen durch eine Aggregation gebunden werden ob etwa ein Teil eines Ganzen ohne dieses Ganze als Objekt bestehen kann oder z B beim L schen des umfassenden Objekts mit gel scht wird In der UML wird deshalb sogar noch die Komposition als starke Aggregation betrachtet Nicht alle inhaltlichen Zusammenh nge zwischen Klassen sind von der Form ist ein Spezialisierung oder ist Teil von Agg
474. sind in EBNF abgefa t wobei Metazeichen zur besseren Lesbarkeit grau gedruckt sind Innerhalb von ConScript mit Hilfe von Schl sselw rtern spezifizierte Konstrukte sind dabei mit englischen Bezeichnungen belegt um an die englischen ConScript Schl sselw rter zu erin nern Grundlegend gelten die folgenden Festlegungen e Ein Bezeichner besteht aus ASCII Buchstaben Ziffern und dem Unterstrich sein erstes Zeichen ist aber keine Ziffer e Eine Zeichenkette besteht aus beliebigen ASCII Zeichen Doppelte Anf h rungszeichen m ssen durch den Schr gstrich maskiert werden NatZahl steht f r eine nat rliche Zahl einschlie lich 0 e GpZahl bezeichnet Gleitpunktzahlen ConScript Dateien Eine ConScript Datei hat das folgende Format 216 5 Ein Analyse Werkzeug f r BASE ConScriptFile RemarkList FormalContext_ List LineDiagramList IncludeFile ConceptualFile List ConceptualScheme_ List DatabaseList AbstractScaleList ConcreteScaleList RealizedScaleList StringMapList IdentifierMapList QueryMapList Fir BASE sind nur die ersten drei Alternativen von Bedeutung Andere ConScript Dateien als Include_Files einzubinden ist nicht n tig Alle restlichen in einer ConScript Datei speicherbaren Strukturen dienen Werkzeugen wie Toscana IKSVW 94 die mehrwertige Merkmale relationaler Datenbanken mit Hilfe von begrifflichen Skalen behandeln und sind f r BASE ohne Bedeutung Formale Kontexte Formale Kontexte werden in ConS
475. sis der in X g ltigen Implikationen Satz 11 berechtigt zu der folgenden Definition Definition 30 Duquenne Guigues Basis Ist X eine endliche Menge und X c P X ein System von Teilmengen so hei t DOy X aus Satz 11 Duquenne Guigues Basis oder Stammbasis der in X g ltigen Implikationen Vergl G W 96 2 3 S 84 Die Betrachtung einer solchen Basis bedeutet eine einschneidende Einschr nkung der Anzahl der untersuchten Implikationen Beispiel 11 Duquenne Guigues Basis In Beispiel 8 auf Seite 93 besteht die Duquenne Guigues Basis aus der Implikation gt a Alle anderen informativen Implikationen mit maxi maler Konklusion besitzen keine saturierte Pr misse denn ihre Pr missen enthalten k a nicht Alle 36 g ltigen Implikationen folgen aus a denn alle sind von der Form V gt W oder V gt Wulatmit War Die berpr fung der enthaltenen saturierten Pr missen entf llt nat rlich bei der Betrachtung der leeren Menge Bemerkung 6 Leere Pr misse Sei X eine Menge und R C P X ein System von Teilmengen Dann ist k NR also gt ky genau dann informativ wenn ein xE X existiertmitxe R VRe R In diesem Fall ist gt ky Element von DD X wenn X endlich ist Vergl G W 96 2 3 Definition 38 S 82 Saturierte Pr missen stehen in engem Zusammenhang mit den maximalen Konklu sionen 101 3 4 Implikationen Hilfssatz 13 Schnitt von saturierten Pr missen und maximalen Konklus
476. sleihen anschaffen mahnen 2 K Bibo Verwaltung _ zur ckgeben T Sa Ausleiher me suchen age _ Revision durchf hren a L A Anwendungsf lle sind Ausgangspunkt Anwendungsf lle werden beschrieben f r die Identifikation von Klassen in Sequenzdiagrammen sAusleiher bestand Ausleihbestand obi vew Ausleihobjekt Bibo Verwaltung Zeitschrift Ausieinobjekt suchen Vera bi Auslihoiekt A verzahnte Entwick lung Bestand angeben ist ausgeliehen 1 1 s 3 Men rasch ersten i eT secs ete ausgeliehen mit gDatum ti 0 3 Serstellen x_ A curchschlag erstellen nicht ausgeliehen Ausleihzettel abgeben zettelt zettel2 L als ausgeliehen buchen us Zeitschriftenexemplar Buch Diskette CD g 4 4 oVertasner Betriebssystem ISBN oNr Erscheinnungsmonat geh rt zu Verlag Abb 2 7 Anwendungsfall getriebene Analyse In 2 6 2 wurde schon das Anwendungsfall getriebene Verfahren zur Identifikation von Klassenkandidaten diskutiert Auch BASE fu t auf Anwendungsf llen als ei ner anerkannten Modellierungstechnik f r die Festschreibung von funktionalen Anforderungen Abbildung 2 7 stammt aus Abschnitt 2 5 Sie stellt die Idee f r die erste Phase der 127 4 2 Grundlegender Ansatz Anwendungsfall getriebenen Analyse dar Die einzelnen
477. so istx Ay2A xe V x gt v v gt v also v A irreduzibel Betrachtet man als Beispiel eines vollst ndigen Verbands das reelle Intervall 0 1 mit der nat rlichen Ordnung lt so sieht man da A irreduzibel echt st rker ist als A irreduzibel denn alle Elemente von 0 1 sind A irreduzibel wegen der linearen Ordnung aber A reduzibel dual genauso f r die Suprema Da im folgenden im wesentlichen vollst ndige Verb nde betrachtet werden sollen Birkhoffs Konzepte von Irreduzibilit t nicht weiter betrachtet werden Zudem sind sp ter alle betrachteten Verb nde endlich so da dann die Definitio nen zusammenfallen Definition 12 Atom Coatom Ist V lt ein vollst ndiger Verband so hei en die oberen Nachbarn von Op Atome und dual die unteren Nachbarn von 1p Coatome G W 96 0 2 S 7 Am Beispiel von 0 1 lt sieht man da nicht jeder vollst ndige Verband Atome und Coatome enth lt Wenn das aber der Fall ist so sind Atome V irreduzibel und Coatome A irreduzibel Bemerkung 5 Duales Liniendiagramm Aus einem Liniendiagramm f r X lt erh lt man ein Liniendiagramm f r die dual geordnete Menge X lt indem man es einfach auf den Kopf stellt 73 3 2 Ordnungstheoretische Grundlagen 3 2 4 Homomorphismen Wie schon durch das Weglassen von Elementbezeichnern in Abbildung 3 1 ange deutet ist man aus ordnungstheroetischer Sicht eher an der durch die Ordnung auf einer Menge gegebene Struktur al
478. sprechenden Modulen benutzen alle enthaltenen Prozeduren alle Variablen Module dieser Art nennen die Autoren Module maximaler Koh sion In Abbildung 6 6 findet man solche Module durch die Knoten 2 bis 8 Sie sind vom restlichen System unabh ngig Weiter kann man Knoten 1 und 12 als eine Kompo nente auffassen in der der Modul 12 lokal definiert ist Eine rigorose Modularisierung gem der formalen Begriffe w rde eine Kopplung der Module 13 und 14 durch die ihnen globale Variable namehashtab bedeuten Insbesondere w re aber das Prinzip der Datenabstraktion verletzt weil die Proze 232 6 Verwandte Anwendungen von FBA duren der Module 13 14 und 15 Variablen verschiedener anderer Module benutzen und diese Abh ngigkeiten auch nicht durch lokale Definition der betreffenden Mo dule in anderen aufzuheben sind Lindig und Snelting nennen diesen Umstand eine Interferenz der betreffenden Module Sie sehen vor solche Interferenzen aufzul sen indem globale Variablen zu Parametern der entsprechenden Prozeduren ge macht werden pointerliste speicherverbrauch g colors 3 angelegt maxstrlength Y O O MNN Phonehashtab namehashtab hashtabsize Ro Do Ou allocate ermittelsp initsp addressinput readdata ch
479. ssoziationen modellieren e Operationen services und Botschaftsbeziehungen definieren So entwickelt man nach und nach das Klassenmodell das am Ende auch die Ob jektinteraktionen auf Klassenebene wiedergibt Zustandsmodellierung ist kein fe ster Bestandteil der Methode sondern eine Option innerhalb des Entwurfs Insge samt ist das Entwurfsmodell eine Erweiterung des Analysemodells die in erster Linie in der Hinzunahme neuer Attribute und Operationen besteht Im Idealfall kann der Entwurf dann direkt in die Implementierung mit einem objektorientierten Datenbanksystem umgesetzt werden In BON erfolgt die Analyse in den Schritten e Festlegen der Systemgrenzen e Zusammenstellen von Klassenkandidaten e Auswahlen von Klassen und gruppieren in Komponenten e Definieren der Klassen e Beschreiben des Systemverhaltens e Festlegen von Attributen und Operationen Im ersten Schritt beschaftigen sich Wald n Nerson mit Subsystemen Benutzerme taphern und Anwendungsfallen wonach die eigentliche objektorientierte Entwick lung mit der Auflistung von Klassenkandidaten beginnt Wenn dann Klassen dar aus ausgew hlt wurden werden Vererbungs und Benutzungsbeziehungen zwi schen ihnen und eine Komponentenaufteilung auch gleich betrachtet So erh lt man schon ein Klassenmodell und Interaktionsbeschreibungen Nach einer infor malen Beschreibung der Rollen und der Leistungen der Klassen wird die Zusam menarbeit der Objekte innerhalb der Anwendungsf l
480. sstruktur ber die Ordnung der Begriffsumf nge gegeben aber noch nicht explizit als Liniendiagramm gespeichert siehe B 2 2 und B 2 3 B 2 1 Berechnung der formalen Begriffe In Folgerung 3 auf Seite 83 sind schon die n tigen H llenoperatoren angegeben PCG gt P G f r das System der Begriffsumf nge und Y M gt PM f r die Menge aller Begriffsinhalte Um aus Algorithmus B1 einen Algorithmus f r die Bestimmung aller Begriffsum f nge oder inhalte zu erhalten ist lediglich die Berechnung der Abbildungen zu erkl ren Diese sind wiederum ber die Abbildungen erkl rt Nach Folgerung 2 a auf Seite 82 gilt A N g f rAcG undB N m fir BCM ged me B Algorithmus B2 dnhalts Umfangsberechnung Gegeben sei ein endlicher formaler Kontext G M J mit G 189 Zjg _1 und eine Gegenstandsmenge 4 CG Der Algorithmus berechnet A B2 1 A M B2 2 FOR i 0 To G 1 Do B2 3 IF g e A THEN B2 4 A A Aag 281 B 2 Berechnung eines Begriffsverbands Dabei kann g direkt als die in J zu g geh rige Tabellenzeile ausgelesen werden F r eine Merkmalsmenge B c M berechnet sich B analog nur da anfangs B auf G gesetzt wird die Schleife ber M mp M 11 l uft und m als Tabellenspalte gelesen wird Gan 87 4 S 252 Mit entscheidend f r eine effiziente Implementierung ist die Gestaltung des Zu griffs auf Tabellenzeilen und spalten der Inzid
481. st die Implikation Activity diagram Component diagram Sequence diagram dargestellt Sie ist aus dem Diagramm abzulesen weil Merkmalsbegriffe zu Activity diagram und Component diagram Knoten mit dickem Rand ein In fimum groBer dunkelgrauer Knoten unterhalb des Merkmalsbegriffs zu Se quence diagram schwarzer ausgefillter Knoten besitzen F r den Fall eines endlichen Kontexts l t sich wie oben die Duquenne Guigues Basis konstruieren Die saturierten Pr missen der Merkmalsimplikationen dieser Basis hei en in diesem Fall nach Bernhard Ganter Pseudoinhalte Dementspre chend werden sie hier f r Gegenstandsimplikationen Pseudoumf nge genannt 108 3 Formale Begriffsanalyse Definition 32 Pseudoinhalt Pseudoumfang Sei G M I ein endlicher formaler Kontext Dann hei t PCM Pseudoinhalt von G M 1 wenn P P und f r jeden Pseudoinhalt OGP schon Q cP gilt Analog hei t PC G Pseudoumfang von G M I wenn P P und f r jeden Pseudoumfang OGP schon Q cP gilt Vergl G W 96 2 3 Definition 40 S 83 Diese Definition entspricht nach Hilfssatz 14 auf Seite 105 genau Definition 29 auf Seite 99 Die Implikationen mit Pseudoinhalten bzw Pseudoumf ngen als Pr misse und ma ximaler Konklusion ergeben die Duquenne Guigues Basis der Merkmals bzw Gegenstandsimplikationen Satz 14 Duquenne Guigues Basis f r formale Kontexte Sei G M J ein endlicher formaler Kontext Dann ist DOg M P P
482. st f r jede Menge M ein vollst ndiger Verband in dem Infima durch Schnittmengen und Suprema durch Vereinigungen gegeben sind denn sind T eine Indexmenge und Y c X Vte T so ist f r alle te T dann N Y cY also NY AY und andersherum AE CH seT also AY c OQ Ye seT seT Dual sieht man VY U Y teT teT Die Definition von Verb nden ist selbstdual in dem Sinne da die duale Ordnung auch wieder einen Verband ergibt 69 3 2 Ordnungstheoretische Grundlagen Satz 2 Dualit tsprinzip f r Verb nde Ist V lt ein vollst ndiger Verband so auch V ey Bir 67 1 4 S 6 Beweis Sei V lt ein vollst ndiger Verband und X c V Setze inf X VX Dann gilt in amp X 2 x f r alle x X d h infX ist bez glich 2 eine untere Schranke von N F r alle unteren gt Schranken y von N gilt x gt VX inf X Also ist inf X wirklich bez glich 2 das Infimum von N Dual erledigt man das Supremum Die Betrachtung nicht vollst ndiger Verb nde erh lt man durch die Beschr nkung auf zweielementige Mengen X Satz 2 zeigt den Zusammenhang zwischen V lt und V af Durch das Umdre hen von Ordnung und Infima lt gt Suprema erh lt man die duale Sicht Definition 8 Duale verbandstheoretische Aussage Zu einer verbandstheoretischen Aussage A ber einen Verband V lt die au er Variablen Konstanten und logischen Operatoren nur die Zeichen lt A v A V Oy Lp enth lt erh lt man die duale Aussage
483. stigten Boden der Analyse Seine Behandlung von Dingen als formale Gegenst nde erscheint verwandt zu BASE f hrt aber gerade auf das Problem der geeigneten Klassenaus wahl das BASE zu l sen hilft Ein anderer Unterschied ist da bei ihm die Unter scheidung von aktiven und passiven Modellelementen Anwendungsf llen und Dingen in BASE nicht zur Unterteilung in formale Gegenst nde und Merkmale herangezogen wird 241 6 7 Vergleich mit BASE Diese Unterscheidung trifft auf den Ansatz zur Modularisierung von Altsystemen zu Deshalb wurde zur Analyse der entstehenden Begriffsverb nde in BASE die Zerlegung durch Blockrelationen als Technik aus diesem Ansatz bernommen Die Untersuchung von Konfigurationen durch Lindig und Snelting verwendet ebenfalls entsprechende Techniken Die Erzwingung von Implikationen wie sie in BASE zur Behandlung von uses extends Beziehungen und funktionalen Zerlegungen verwendet wird findet auch in mehreren der geschilderten Ans tze Anwendung Vorstellbar erscheint nach einer Analyse mit BASE den Ansatz von Godin et al zur Strukturierung der Klassenhierarchie zu nutzen Im Fall da bei der Analyse schon auf Muster Fow 99 zur ckgegriffen werden kann spielt auch die Suche in entsprechenden Bibliotheken fr h eine Rolle Offen ist noch ob und wie BASE helfen k nnte Muster zu identifizieren oder Schlagworte f r eine Mustersuche zu liefern 242 Zusammenfassung und Ausblick 7 1 Zusammen
484. sumf nge und in halte jeweils f r sich allein genommen gegen ber dem urspr nglichen Be griffsverband aus Abbildung 3 11 auf Seite 111 nicht neu die formalen Be griffe aber schon So sind jetzt alle Begriffe aus dem Intervall zwischen dem Gegenstandsbe griff zu Booch Nummer 9 und dem globalen Supremum Nummer 0 bzw alle Begriffe zwischen dem globalen Infimum Nummer 10 und dem Merk malsbegriff zu Grammatikalische Analyse Nummer 3 zusammengefa t Die in Beispiel 16 aufgezeigte Zusammenfassung von Intervallen des zugrunde lie genden Begriffsverbands durch eine Blockrelation spielt in Anwendungen die ent scheidende Rolle Um zu zeigen da wirklich immer Intervalle des Ausgangsver bands zusammengefa t werden und wie man diese Intervalle im urspr nglichen Begriffsverband beschreiben kann mu nun weiter ausgeholt werden Zun chst einmal sei festgehalten da die Blockrelationen eines gegebenen forma len Kontexts wieder einen vollst ndigen Verband bilden Satz 15 Verband der Blockrelationen Die Menge der Blockrelationen eines formalen Kontexts bildet mit der Inklusionsordnung einen vollst ndigen Verband Beweis G W 96 3 4 S 122 Sei also G M I ein formaler Kontext Seien weiter T eine beliebige Indexmenge und f r jedes te T die Relation J lt GXM eine Blockrelation von G M J Dann ist I c ae weil JCJ fiir alle te T Weiter gilt f r ge G da N g tmeM gm e OJ ImeM g m eJ Vie T II
485. t Die Angaben zu Formatierungen werden wie folgt gemacht PunktFormat Radius Ma einheit LinienStil P LinienSt rke Ma einheit LinienFarbe s F llstil Fullfarbe Diagrammknoten werden als Kreise gezeichnet Die Art der Kreislinie und der F llung innerhalb der Kreislinie k nnen unabh ngig voneinander gew hlt werden Radius GpZahl LinienStil s d t Dabei bedeutet s durchgezogen d gestrichelt und t gepunktet Die beiden letz teren stehen aber in BASE nur zur Verf gung wenn die Linienst rke 0 1 mm be tragt 220 5 Ein Analyse Werkzeug f r BASE LinienSt rke GpZahl LinienFarbe Farbe Fullfarbe Farbe Ful1Stil e 1 u Dabei bedeutet e unausgef llt t komplett ausgef llt in der unteren H lfte ausgef llt und u in der oberen H lfte ausgef llt Farbe wird weiter unten erkl rt LinienFormat n LinienStil r LinienSt rke Ma einheit LinienFarbe Zur Formatierung und Ausrichtung von Beschriftungen dient TextFormat n SchriftartName 4 SchriftAttribut Farbe i GpZahl Schriftgr enEinheit 5 HoriPosition VertPosition 5 HoriBezugspunkt VertBezugspunkt i BoxBreite BoxH he SchriftartName Zeichenkette Schriftgr enEinheit pt mm SchriftAttribut b o s u Dabei bedeutet b fett c kursiv o durchgestrichen s schattiert und u unterstri chen Eine Textdarstellung mit Schatten wird aber von vorliegendem Werkzeug nicht unterstiitzt Desweite
486. t G M J mit M my Mm t Der Algorithmus berechnet in pInh die Pseudoinhalte B9 1 Anzahl der Pseudoinhalte pAnz 0 B9 2 Ist die leere Menge Pseudoinhalt IF G 4 THEN B9 3 pInh pAnz B9 4 pAnz pAnz 1 B9 5 die lektisch erste H lle ist die leere Menge B B9 6 Die letzte H lle ist die Gesamtmenge WHILE B M DO B9 7 B nextIntentPseudointent B pInh B9 8 Wurde ein Pseudoinhalt gefunden IF B ZB B9 9 pinh pAnz B B9 10 pAnz pAnz 1 Schleife ber Begriffs und Pseudoinhalte Nach der berpr fung der leeren Menge in B9 2 bis B9 4 wird in B9 5 bis 89 10 Ganters H llenalgorithmus abgearbeitet Ist die lektisch n chste H lle berechnet mu in B9 8 noch entschieden werden ob es sich um einen Begriffs oder Pseudoinhalt handelt F r die Pseudoumf nge ist der Algorithmus ber G 189 8jg ana log nur f r die berpr fung ob die leere Menge ein Pseudoumfang ist mu dann in B9 2 M berechnet und zur Berechnung der n chsten H lle in B9 7 nextExtentPseudoExtent aufgerufen werden G W 96 2 3 S 85 291 B 3 Berechnung der Duquenne Guigues Basis Bezeichnet PI die Menge der Pseudoinhalte und PU die der Pseudoumf nge und sind n max G M und p P3 bzw p PU ergibt f r sich Algorith mus B9 eine Komplexit t von On logn p Die Duquenne Guigues Implik
487. t Liniendiagram me und berpr fungsfragen bilden dabei eine Richtschnur f r die Kommunikati on Die Bezeichnung von formalen Begriffen als Nuclei zur Klassenbildung vergl 4 5 2 ist nicht wirklich korrekt Die angesprochenen Nuclei werden durch Dinge und Funktionen gebildet die in der reduzierten Beschriftung des Liniendiagramms den gleichen Knoten referenzieren nicht aber aus den formalen Begriffen mit komplettem Umfang und Inhalt Die Kennzeichnung der Semantik der Begriffsverbandsordnung ist ebenfalls ver k rzt angegeben Innerhalb von BASE stellt das Diagramm von oben nach unten gelesen die funktionale Verfeinerung des Anwendungsfallmodells dar Entspre chende Unterordnung von Anwendungsf llen oder Funktionen unter andere mu aber nicht zwingend eine vorliegende Benutzung bedeuten Lediglich finden sich oben die allgemeineren und unten die spezielleren Anwendungsf lle bzw Funktio nen In bezug auf die involvierten Dinge stellt sich der bergang von allgemein wichtigen zu in speziellen Zusammenh ngen interessanten Dingen gerade von unten nach oben dar Zuerst seien nun die zwei Ans tze dargestellt die sich um die Strukturierung von Klassenmodellen bem hen 6 1 Klassenhierarchie nach Godin et al Robert Godin Hafedh Mili Guy W Mineau Rokia Missaoui Amina Arfi und Thuy Tien Chau schlagen in GMM 98 vor Vererbungshierarchien von Klassen als Begriffsverb nde zu organisieren Dazu werden jeder als formaler G
488. t Um ihre Ab h ngigkeit voneinander gering zu halten versucht man die Klassen so zu gruppie ren da sie innerhalb einer Komponente miteinander in Beziehung stehen aber wenige Klassenbeziehungen ber Komponentengrenzen hinweg gehen F r jede Komponente entwickelt man ein eigenes Klassendiagramm Mit Sichten kann man dann noch Filter bilden die Klassen aus Diagrammen ausblenden z B Hilfsklas sen die im Entwurf zugef gt wurden Besondere Bedeutung gewinnt eine Komponentenzerlegung des Systems im Hin blick auf Wiederverwendung Anstatt nur einzelne Klassen wiederzuverwenden sollen fachlich zusammengeh rige Klassen als ganze Komponenten in neuen Pro jekten Anwendung finden Component Ware ist ein gro es Schlagwort Szy 98 S xii component technology is expected to be THE cornerstone of software in the years to come Ziel ist es von der kompletten Neuentwicklung von Systemen in allen ihren Einzelteilen immer weiter weg zu kommen sondern fertige Komponenten die man entweder schon fr her selber entwickelt hat oder die man bei einem Komponentenanbieter einkauft nach einer eventuellen Anpas sung zusammenzustecken Daraus resultieren Anforderungen an Komponenten Szy 98 S A software component is a unit of composition with contractually specified interfaces and explicit context dependencies only A software component can be deployed independently and is subject to composition by third parties Eine Betonung der
489. t Geltung haben oder das untersuchte System noch nicht bedachte Funktionen enth lt die einer Implikation widersprechen Im zweiten Fall ist eine solche Funktion noch in die Betrachtung einzuschlie en um das Systemmodell zu vervollst ndigen Aus den entstandenen Datenstrukturen k nnen anwendungsfall bergreifend wich tige Datenelemente als m gliche Klassenkandidaten direkt abgelesen und weitere Vorschl ge f r Klassen und Systemkomponenten als Kombinationen von Datenele menten und Funktionen generiert werden In bezug auf die zu erstellenden Klassen ergibt sich durch die zweite M glichkeit ein bottom up Verfahren in dem erst die Klassenbestandteile Attribute und Operationen und dann die Klasse betrachtet werden Dies ist sinnvoll solange die wichtigen als Klasse zu modellierenden Begriffe des Untersuchungsbereichs noch nicht klar sind F r ein top down Verfahren das eine klarere Modellstruktur verspricht fehlen in dieser fr hen Phase noch Informationen Mey 88 S 325 top down devel opment appears as an almost impossible recipe Since the architecture is hierarchi cal and built from the top you are asked to make the most important decisions at the very beginning when you have the least information at your disposal to avoid design errors Only a genius could do this Sind einmal im Konsens der bei den Gruppen die wichtigen Begriffe als Klassenkandidaten ausgemacht k nnen diese Klassen selber top do
490. t bereitgestellt werden mu Die Leitfrage seines Ansatzes zur prak tisch durchf hrbaren Bereichsanalyse ist wie ein Modell des Untersuchungsbe reichs inkrementell so erstellt werden kann bis gewisse Vorgaben ber die Mo dellm chtigkeit in bezug auf vorgesehene Wiederverwendung erreicht werden In seinem Ansatz sind also F lle der Wiederverwendung vorherzusehen und es ist zu beschreiben in welchem Ma e ihre Modellierung schon aus dem bereits vorliegenden Modell abgeleitet werden k nnen soll Ein solcher Ansatz mu in krementell angelegt sein denn nur so kann man sich in ein unbekanntes Gebiet einarbeiten Dennoch bleibt die Frage nach dem passenden Ansatzpunkt die ge rade ohne tiefgehende Kenntnis nicht zuverl ssig beantwortet werden kann Au erdem besteht die Gefahr das wesentliche Ziel des Bereitstellens der ben tig ten Funktionalit t aus den Augen zu verlieren weil die Struktur des Anwen dungsbereichs erst noch erarbeitet wird Es ist zu bef rchten da viel Aufwand zu wenig zielgerichtet betrieben wird berhaupt ist der enorme Zeitbedarf f r die Bereichsanalyse nach Arango sind F lle der Wiederverwendung vorauszu planen und berpr fbare Kriterien f r das Ma der m glichen Wiederverwen dung zu definieren f r viele Projekte ein k o Kriterium weil sie unter gro em Zeitdruck durchgef hrt werden F r den Auftraggeber ist in den meisten F llen das Argument da man wiederverwertbare Bausteine f r sp te
491. t einmal eine mittelbare Behandlung der Objekte durch Programmvaria blen zur Verf gung 1 6 3 Entwicklungsumgebung f r BASE In Kapitel 5 wird ein Analyse Werkzeug f r BASE vorgestellt Der Benutzer eines solchen Systems gibt die Anwendungsf lle zusammen mit ihren Beschreibungen ein Zu jedem Anwendungsfall w hlt der Benutzer die relevanten Dinge aus der Beschreibung oder gibt sie ebenfalls frei ein Aus diesen Angaben werden ein er stes Liniendiagramm und eine Basis von Implikationen innerhalb der formalen Ge genst nde Dinge berechnet Im Diagramm stehen anwendungsweit wichtige Din 17 1 7 Aufbau der Arbeit ge unten und bieten sich als erste Klassenkandidaten an Entscheidet sich der Anwender einen Anwendungsfall funktional zu zerlegen hat er jede Funktion in der Zerlegung ebenfalls zu beschreiben und mit Dingen zu indi zieren Dadurch entsteht ein neues Diagramm Die Implikationen f hren zu Nach fragen bei den Fachexperten Eine Implikation beschreibt einen Zusammenhang zwischen Dingen der im aktuellen Modell durch die Anwendungsf lle oder Funk tionen gestiftet wird Die Fachexperten k nnen beurteilen ob ein solcher Zusam menhang fachlich begr ndet ist Andernfalls wird eine neue Funktion in der funk tionalen Zerlegung betrachtet Eine neu betrachtete Funktion f hrt h ufig auch zu neu zu betrachteten Dingen So wird das Modell immer weiter angereichert Zu jedem Zeitpunkt kann der Benutzer des Systems Vorschl g
492. t man die Dinge aus benutzten Bl cken automatisch dazu Damit das Diagramm nicht neu ausgerichtet werden mu ist es aber sinnvoll es aus dem Gesamtdiagramm her auszuschneiden Dann m ssen die zus tzlichen Dinge extra gesucht werden Da bei besteht auch die Option Funktionen aus benutzten Komponenten zu ber ck sichtigen Diese lassen sich aber keinem der Knoten des Liniendiagramms sinnvoll und korrekt zuordnen Z B hat in Abbildung 4 33 kein formaler Begriff den Um fang Produkt Lagerbestand Also gibt es f r den benutzten Anwendungsfall La gerbestand ermitteln keinen passenden Knoten Man m te solche Funktionen au erhalb der Liniendiagrammdarstellung notieren oder f r sie neue Knoten ein f hren Letzteres w rde das Diagramm mitunter doch wieder stark vergr ern Aus diesen Gr nden sind hier benutzte Funktionen aus anderen Bl cken nicht wie dergegeben Wenn jedoch ein von anderen benutzter Block dargestellt wird k nnen leicht alle benutzenden Anwendungsf lle in die Darstellung integriert werden So k nnte der linke Block aus Abbildung 4 22 auf Seite 166 wie in Abbildung 4 34 pr sentiert werden Fehlbest nde nachbestellen Nachbestellung Maximalen und minimalen Lagerbestand definieren Q Minimalbestand Lieferant Vorgemerkte Menge Maximalbestand Lagerbestand ermitteln O Lagerbestand Produkt Abb 4 34 Ein zweiter Block aus
493. tArray the_concepts Namen von formalen Begriffen TRelation the _transitive_closure reflexiv transitive H lle des Liniendiagramms int transitive_closure_ok Ist die gespeicherte reflexiv transitive H lle g ltig TintArray the _indices Speichert zu jeder Knotennummer die Position in lt the_points gt int indices_ok Sind die Angaben in lt the indices gt g ltig Fr Die reflexiv transitive H lle des Liniendiagramms als gerichteter Graph ist gerade die Verbandsordnung wenn das Liniendiagramm einen Verband darstellt Aus ihr k nnen die Knotennummern zu ber oder unter einem Knoten gelegenen Knoten d h dessen Hauptfilter und Hauptideal Definition 5 auf Seite 66 direkt abgele sen werden Diese spielen f r Verbandsoperationen eine herausragende Rolle sie he etwa Anhang B 4 2 Deshalb wird die reflexiv transitive H lle im Attribut the_transitive_closure gespeichert wenn sie einmal berechnet wurde Mit der in B 2 2 auf Seite 286 erl uterten Erweiterung in der Diagrammerzeugung geschieht dies sofort mit der Diagrammberechnung Die Klasse TLineDiagram stellt aber auch Operationen wie das Zuf gen und L schen von Knoten oder Kanten bereit die Einflu auf die reflexiv transitive H lle haben Weil die reflexiv transitive H lle nur bei einigen Operationen ben tigt 213 5 4 Technischer Aufbau des Werkzeugs wird wird sie nicht immer sofort neu berechnet In transitive_closure_ok kann man deshalb abfra
494. te 109 werden ebenfalls mit Ganters H llenalgorithmus Algorithmus B1 berechnet Das betreffende H llen system ist das folgende Satz B3 H llensystem der Pseudo und Begriffsinhalte umf nge Sei G M T ein endlicher formaler Kontext Dann bildet die Menge aller Pseudo und Begriffsinhalte von G M I ein H llensystem auf M und dual die Menge aller Pseudo und Begriffsumf nge von G M T ein H llensystem auf G Pseudoinhalte und umf nge wurden in Definition 32 auf Seite 109 einge f hrt G W 96 2 3 Hilfssatz 26 S 85 Beweis Nach der Bemerkung nach Definition 32 auf Seite 109 Hilfssatz 14 auf Seite 105 und Hilfssatz 13 auf Seite 102 ist der Schnitt von zwei Pseudo oder Begriffsinhalten ein Pseudo oder Begriffsinhalt Weiter ist M N ein Begriffsinhalt Weil mit M auch P M endlich ist sind beliebige Schnitte von Pseudo oder Begriffsinhalten selber Begriffsinhalte F r Pseudo und Begriffsumf nge analog Zu diesem H llensystem mu nun der H llenoperator gefunden werden um den Algorithmus zu seiner Erzeugung umsetzen zu k nnen Satz B4 H llenoperator f r Begriffs und Pseudoinhalte umf nge Seien G M J ein endlicher formaler Kontext PF die Menge seiner Pseu doinhalte und PU die Menge seiner Pseudoumf nge F r B CM definiere a BP BUUI P Pe P3 PSB b By B und B Bi f r ke No c p B N B 287 B 3 Berechnung der Duquenne Guigues Basis F r A c G definiere ana
495. ten die durch den linken und rechten Block beschrieben werden Links finden sich alle Elemente zur JWI internen Lagerverwaltung und rechts zur 166 4 BASE ein begriffsbasiertes Analyseverfahren f r die Software Entwicklung Lieferungsabwicklung Letztgenannte Komponente stellt auch das grundlegende Ding Bestellposten zur Verf gung Links sind dagegen schon die Attribute der potentiellen Klasse Produkt zusammengefa t wobei nur das Ding Nachbestel lung aus der Reihe f llt Es ergibt sich in diesem Beispiel nicht eine Klassenstruk tur f r das zu entwickelnde System aber eine sinnvolle Komponentenaufteilung Bestellung bearbeiten Bestellung annehmen Bestellung bearbeiten Bestellung annehmen Wareneingang bearbeiten Lagerbestand ermitteln Fehlbest nde nachbestellen Lieferscheine erstellen R cklauf bearbeiten Maximalen und minimalen Lagerbestand definieren O Wareneingang bearbeiten R cklauf bearbeiten Lieferschein Lieferwagen O Wartekartei Lieferkartei Minimalbestand Maximalbestand Fahriziel Lieferscheinvermerk Lieferant Nachbestellung Bestellposten Vorgemerkte Menge Wartekartei Kunde Kundenbestellung Produkt Lagerbestand Lieferscheinvermerk Kunde Kundenbestellung Maximalen und minimalen Lagerbestand definieren Fehlbest
496. tends b Abb 4 7 extends Beziehungen im Liniendiagramm 1 Die mathematische Formulierung f r die Situation m glicher extends Beziehungen ist komplizierter als die f r uses Beziehungen Zus tzlich zu der Reduzibilit t ist die Existenz von Anwendungsf llen a a mit Ha pa lt Ub und Ha ua Ha ua gefordert Die entsprechende Bedingung in der Situation von uses Beziehungen w re da es Anwendungsf lle a a mit Ha pa gt ub und Ma ua Ha fa gibt Dies folgt aber schon aus der A Reduzibilit t von ub wenn man allein zusi chert da ub nicht das globale Supremum ist Diesen Sachverhalt sieht man wie folgt Da der Merkmalsbegriff zu einem Anwendungsfall b A reduzibel ist hei t ub A 4 B B G M T A B gt ub Ist ub nicht das Supremum des untersuchten Begriffsver bands B G M I so hat ub mindestens zwei obere Nachbarn 44 B1 42 By denn bei nur einem obe ren Nachbarn A B w re A A B B G M I A B gt ub A B Aud Weil 4 B und A B unvergleichbar sind gibt es zwei Anwendungsf lle a a so da a B B und a B B Wegen B B cb folgt ua ua gt ub Weiter ist wa ua Ha fa weil etwa in dem Fall ua Spa im Widerspruch zur Wahl von a a auch a a Ca CB w re In der Uberpriifung auf extends Beziehungen kann aber die Zusatzbedingung nicht durch die einfachere Bedingung ub ist nicht das Infimum des Begriffsverb
497. tere Klassen erg nzt Zum ersten Ausgangspunkt gelangt man indem man Substantive der Anforde rungsbeschreibungen betrachtet Dies sind Klassenkandidaten Auszusondern sind dann e redundante Klassenkandidaten die man durch Synonyme erh lt e f r das angestrebte System irrelevante Klassenkandidaten e Klassenkandidaten die keine spezifische abgrenzende Beschreibung erlauben 50 2 Objektorientierte Anwendungsentwicklung e Kandidaten mit einfachen Datentypen die man besser als Attribute einer ande ren Klasse modelliert wenn nicht eine zus tzliche ver nderbare Eigenschaft von ihnen wichtig ist e Klassenkandidaten die Operationen ausdr cken und nicht selber innerhalb von Systemfunktionen manipuliert werden e Namen die Rollen und nicht die wirkliche Natur von Objekten bezeichnen e Implementierungskonstrukte Bei diesem ersten Ansatz zerbreche man sich noch nicht den Kopf tiber Verer bungsbeziehungen Generalisierende Klassen k nnen noch sp ter eingef hrt wer den Nach der Erstellung des kompletten Klassenmodells gibt es folgende Anzei chen von fehlenden Klassen e asymmetrische Modellierung von gleichartigen Assoziationen oder parallelen Spezialisierungsbeziehungen Einf hren analoger Klassen e unvereinbare Attribute oder Operationen in einer Klasse gt Aufsplitten der Klasse e Schwierigkeiten sauber zu generalisieren gt Aufsplitten von Klassen e eine Operation die keiner Klasse passend zugeor
498. tert bestimmt sondern ein Knoten des neuen Diagramms der ja einem ganzen Block Satz 18 auf Seite 121 im alten Liniendiagramm entspricht wird in den Mittelpunkt die 296 B Algorithmen zur FBA ses Blocks gelegt Nach Hilfssatz 18 auf Seite 120 und Satz 18 auf Seite 122 ist die so entstehende vertikale Anordnung der Knoten des Blockrelationsdiagramms kor rekt Zu einem Blockrelationskontext ist also nach der Berechnung seines Begriffs verbands zu jedem formalen Begriff der entsprechende Block im urspr nglichen Diagramm zu ermitteln Dies erm glicht dann auch die Bl cke innerhalb des Ori ginaldiagramms darzustellen wie in Abbildung 5 5 auf Seite 196 gezeigt Wie zu einem formalen Begriff eines Blockrelationskontexts der zugeh rige Block ermittelt werden kann zeigen Satz 18 auf Seite 121 und Folgerung 5 auf Seite 88 e Ist J eine Blockrelation zum formalen Kontext G M J so ist zu A B B G M J das Intervall CB B A A der zugeh rige Block in B G M D Dabei ist B B Aum A m m und meB meB AA Vyg Vig g ge ged Damit sind zu einem formalen Begriff des Blockrelationsverbands Infimum und Supremum bestimmt Wie die Umsetzung dieser Vorschrift konkret aussieht hangt stark von der benutzten Datenstruktur f r Liniendiagramme ab Im Falle von einer Datenstruktur wie in The Formal Concept Analysis Library die e zu Liniendiagrammen Knoten und Kanten speichert e zu formalen Gegenst nden
499. tet hier da alle Funktionen die alle Dinge aus X ber hren auch alle Dinge aus Y betreffen Entsprechend werden Entwickler und Fachexperten gefragt ob dies zutreffend ist Gibt es innerhalb der Abfolge der Schritte des betrachteten Anwendungsfalls noch nicht erfa te Funktio nen f r die das nicht gilt m ssen diese bei der Verfeinerung betrachtet werden K nnen dagegen alle Implikationen bejaht werden kann die funktionale Zerlegung des betreffenden Anwendungsfalls in bezug auf die bis dahin betrachteten invol vierten Dinge als abgeschlossen betrachtet werden Die Duquenne Guigues Basis der Gegenstandsimplikationen Satz 14 auf Seite 109 zum Liniendiagramm in Abbildung 4 15 bzw dem zugrundeliegenden formalen Kontext besteht aus Lieferscheinvermerk Bestellposten Produkt Lieferkartei Lieferschein Fahrtziel Bestellposten Lieferkartei Lieferschein Lieferwagen Lieferwagen Bestellposten Lieferkartei Lieferschein Fahrtziel Lieferschein gt Bestellposten Lieferkartei Maximalbestand Produkt Minimalbestand Minimalbestand Produkt Maximalbestand Lieferant Produkt Lagerbestand Nachbestellung gt Produkt Lagerbestand Vorgemerkte Menge Lieferant Minimalbestand Maximalbestand 9 Vorgemerkte Menge gt Produkt Lagerbestand 10 Wartekartei Bestellposten Produkt Lagerbestand Lieferkartei 11 Lieferkartei Bestellposten 12 Lagerbestand Produkt 13 Produkt Lage
500. tikale Position einer Beschriftung mit einem Merkmal relativ zum zugeh rigen Knoten in Zeichenbereichskoordinaten end CBASEView 342 Abbildungsverzeichnis Nachfolgend die Liste der enthaltenen Abbildungen Diese Arbeit wurde gesetzt mit Adobe FrameMaker von Adobe Systems Incorpo rated Zu allen Grafiken die nicht innerhalb von Framemaker oder dem Werkzeug zu BASE erzeugt wurden ist angegeben welche Software zu ihrer Erstellung benutzt wurde Diesem Zweck dienen die Indices an den Titeln der Abbildungen Sie sind in der anschlie end an die Liste angegebenen Legende aufgeschl sselt 2 1 22 23 2 4 29 2 6 2T 3 1 3 2 3 3 3 4 3 5 3 6 3 7 3 8 3 9 3 10 3 11 3 12 3 13 Nachrichten zwischen Objekten eines Textverarbeitungssystems 26 Klassen und Objekte eines Grafik Programms Tosethen 29 Klassenmodell f r ein Bibliothekssystem Rs 36 Sequenzdiagramm f r die Ausleihe bei einer Bibliothek nnovator 39 Zustandsdiagramm der Klasse Ausleihobjekt s 40 Anwendungsfalldiagramm f r eine Bibliothek Inrovator 46 Anwendungsfall getriebene Analyse Inovator Rose 47 127 Geordnete Mengen mit 3 Elementen T2 Liniendiagramm von 1 2 3 4 c Anaconda 72 Zwei Verb nde und eine ordnungserhaltende Funktion 75 Strukturen der Formalen Begriffsanalyse 79 Formaler Kontext zu OO Methoden und Beschreibungstechniken Anaconda 80 Ein endlicher Verband als Begriffsverband 86 Liniendiagramm zu Beispiel
501. tion http www rational com uml resources documentation formats jsp 1997 G Booch I Jacobson J Rumbaugh The Unified Modeling Lan guage Reference Manual Addison Wesley Object Technology Series 1999 G Booch I Jacobson J Rumbaugh The Unified Software Development Process Addison Wesley Object Technology Series 1999 R Budde K Kautz K Kuhlenkamp H Z llighoven Prototyping An Approach to Evolutionary System Development Springer Ver lag Berlin Heidelberg 1992 M Barbut B Monjardet Ordre et classification Algebre et combi natoire Serie M thodes math matiques des sciences de l homme Hachette Paris 1970 Boe 76 Boo 91 Boo 94 BPR 88 Bur 91 C A 00 CAB 94 C E 96 C E 99 CEG 97 C F 92 Literatur B W Boehm Software Engineering IEEE Transactions on Compu ters C 25 12 pp 1216 1241 1976 G Booch Object Oriented Design with Applications The Benja min Cummings Publishing Company 1991 G Booch Object Oriented Analysis and Design with Applications Second edition The Benjamin Cummings Publishing Company 1994 M Blaha W Premerlani J Rumbaugh Relational Database Design using an Object Oriented Methodology Communications of the ACM vol 31 no 4 April 1988 P Burmeister Merkmalexploration bei unvollst ndigem Wissen S 15 46 in W Lex Hrsg Arbeitstagung Begriffsanalyse und K nstliche Intelligenz Informatik Bericht 89 3 TU C
502. top down Modellierung von Klassen steht zun chst der Typaspekt im Vordergrund Nachdem die Semantik einer Klasse festgelegt ist werden Attribute und Operationen zur genaueren Klassenbeschreibung modelliert Aber auch wenn man dagegen bottom up von bestehenden Attributen und Operationen ausgeht werden diese nur zu solchen Klassen zusammengefa t die f r den Untersuchungs bereich hilfreiche Abstraktionen darstellen Zun chst einmal m ssen die Klassen in ihrer fachlichen Bedeutung festgelegt sein um berhaupt ein aussagekr ftiges objektorientiertes Analysemodell aufstellen zu k nnen Der Modulaspekt ist also in der Analyse gegen ber dem Typaspekt sekund r In der Analyse dienen Klassen zur Abstraktion Sie reduzieren die Betrachtung ei ner Menge einzelner Objekte auf deren Gemeinsamkeiten Bei der Einteilung von Objekten in Klassen nimmt man eine Klassifikation vor Boo 94 S 146 The identification of classes and objects is the hardest part of object oriented analysis and design Our experience shows that identification involves both discovery and invention Ultimately discovery and invention are both problems of classifica tion So bekommen die Klassen einen extensionalen und einen intensionalen Charakter einerseits betrachtet man sie als Zusammenfassung ihrer Objekte andererseits le gen sie als Typ die gemeinsamen Eigenschaften der Objekte fest Boo 94 S 103 A class is a set of objects that share a common st
503. tschieden werden mu ob von dem bestellten Produkt genug auf Lager ist um den Bestellposten direkt ausliefern zu k nnen Nach der Verfeinerung ergibt sich das Liniendiagramm in Abbildung 4 9 Durch die funktional detailliertere Betrachtung wurde das Modell um ein neu zu betrachtendes Ding als zus tzlichen Klassen bzw Attributkandidat und zwei Operationskandidaten bereichert Die Struktur des Liniendiagramms ist in diesem Fall jedoch unver ndert geblieben Gegen ber Abbildung 4 5 auf Seite 137 unver nderte Diagrammelemente sind grau dargestellt und die neuen schwarz hervorge hoben Die Funktion Kundenbestellung anlegen benutzt genau die Dinge die in den An wendungsfall Bestellung annehmen involviert sind Das neue Ding Bestellmenge ist genau den Anwendungsf llen und Funktionen zugesprochen worden welche die Kundenbestellung ber hren Schlie lich betrifft die neue Funktion Bestellpo sten anlegen gerade die Dinge Produkt Bestellposten Kundenbestellung und Bestellmenge Im bisherigen Modell war die entsprechende Gegenstandsmenge ohne den neuen formalen Gegenstand Bestellmenge der Begriffsumfang der die Gemeinsamkeit der Anwendungsf lle Bestellung annehmen und Bestellung bear beiten beschrieb Also k nnte Bestellposten anlegen eine gemeinsam von beiden Anwendungsf llen genutzte Funktion sein Vergl 4 2 4 auf Seite 138 was hier je doch nicht der Fall ist weil innerhalb der Bearbeitung von Bestellungen keine Be 1
504. tzer des Verfahren ist aber da er sich jeweils nur auf einen Themenbereich konzentrieren mu Eine Visualisierung ist in gestuften Liniendiagrammen m glich Dazu wird etwa bei zwei betrachteten Skalen in jedem Knoten des einen Liniendiagramms das andere angezeigt siehe G W 96 2 2 S 75 79 TOSCANA ist ein kommerzi elles Werkzeug zur Datenanalyse das diese Technik nutzt KSVW 94 Im Bereich der Verwaltung von Projekt und Software Bibliotheken erscheint die ser Ansatz vielversprechend wenn die Erstellung der Skalen auf einem bestehen den Klassifikationssystem etwa einer Facetten Klassifikation P F 87 auf bauen kann Inwieweit der Ansatz der begrifflichen Skalierung in BASE zu tragen kommen k nnte w re zu untersuchen Vorstellbar ist die Sichten verschiedener Projektbe teiligter oder Anwendungsfallmodelle von Systemkomponenten einzeln zu skalie ren 6 6 Projektverfolgung Frank Vogt sieht Liniendiagramme von Begriffsverb nden als geeignetes Mittel zur Kommunikationsunterst tzung In Vog 97 wird als Beispiel ein Projekt zur Weiterentwicklung von The Formal Concept Analysis Library Vog 96 unter sucht Formale Gegenst nde sind bei diesem Ansatz die Dinge des Untersu chungsbereichs die f r die Systementwicklung relevant sind In diesem Fall ist der Untersuchungsbereich die Formale Begriffsanalyse und dementsprechend sind die formalen Gegenst nde Strukturen der Formalen Begriffsanalyse die als Klassen
505. uf alle vorhandenen Gegenst nde zutreffen denen das neue Merk mal zugeordnet werden soll Umgekehrt d rfen auch nur solche vorhandene Ge genst nde das neue Merkmal erhalten die schon alle dem neuen Gegenstand zuge ordneten vorhandenen Merkmale tragen Diese Bedingung beschreiben die Auto ren mit Hilfe von Vorbegriffen Vor allem die Einschr nkung auf Paare aus formalen Gegenstand und formalem Merkmal im Algorithmus von Ganter Kuznetsov erscheint f r BASE zu restriktiv Wie diese Einschr nkung aufzul sen w re ist nicht zu sehen F r die Anwendung in BASE m ten beide Algorithmen noch um die Zuordnung von graphischen Koordinaten zu den neuen Liniendiagrammknoten erweitert wer den weil in beiden F llen die graphische Repr sentation nicht behandelt wird Graphische Anpassung von Liniendiagrammen Aus den angef hrten Gr nden wurde in BASE ein anderer Ansatz gew hlt Das neue Diagramm wird erst wie in B 2 B 5 1 und B 5 2 beschrieben komplett neu er stellt Danach werden ber die Knoteninhalte die Knoten des Ausgangsdiagramms mit Knoten des neuen Diagramms identifiziert Die entsprechenden Knoten des neuen Diagramms erhalten die Koordinaten der Knoten des alten Alle dabei noch nicht erfa ten Knoten des neuen Diagramms werden gem ihrer neu berechneten Koordinaten ins Diagramm eingepa t Dies gibt nur die Idee wieder in der Umset zung m ssen noch wichtige Anpassungen vorgenommen werden damit ein in sei ner vertikale
506. uf das Vorliegen von W schlie en Betrachtet man als X eine Menge von aussagenlogischen Variablen und V W R C X so respektiert R die Implikation V gt W genau dann wenn Xr X AT F ein Modell f r die aussagenlogische Formel V oder W ist Die aussagenlogische Untersuchung solcher Implikationen insbesondere eine aus sagenlogische Formulierung von Satz 14 auf Seite 109 findet man in GKr 99 Im Bereich der relationalen Datenbanken werden Implikationen als funktionale Abh ngigkeiten zwischen Attributen eines Relationsschemas betrachtet Eine Im plikation V gt W bedeutet in diesem Zusammenhang da die Wertebelegung der Attribute aus W schon durch die Belegung der Attribute aus V bestimmt ist In dieser Weise kann man semantische Bedingungen an die Auspr gungen eines Re lationsschemas fordern Siehe Vos 99 Respektierende Mengen werden dabei als abgeschlossen bzgl der entsprechenden Implikationen bezeichnet BDFS 84 Beispiel 8 Implikationen auf a b c Betrachte X a b c und KH a ia b fa cH eee eee eS Dann sind die in X g ltigen Impli CMS SoS eS E kationen Abbildung 3 8 zu entneh x x men Pr missen in Zeilen Konklu a x x sionen in Spalten bp x x x x c x x x x In Definition 24 ist keine Einschr nkung a b x x x 3 an die Menge X gemacht Aber selbst ace x x x wenn man X als endlich annimmt und bc x x x ne N
507. unda beV Dann giltag lt bo ao lt bo G W 96 3 4 S 122 Beweis gt Es gelte ag lt bo Dann gilt bo ag V bo O ag v bo Also ist bo V xe V xObo 2 ao v bo 2 ao Es gelte ao lt CAR Dann gilt ao ag be dg bo Nach Hilfssatz 17 ist damit de de Jo Nxe V xO dag Sag A be do 118 3 Formale Begriffsanalyse Dementsprechend betrachtet man auf der Menge der Bl cke einer Toleranzrelation die folgende Ordnung Definition 36 Ordnung der Bl cke Seien V ein vollst ndiger Verband eine vollst ndige Toleranzrelation auf Vunda beV Dann definiere a o lt le gt ao lt bo V sei die Menge der Bl cke von mit dieser Ordnung Die in Definition 36 definierte Relation ist wirklich eine Ordnung Reflexivit t und Transitivit t bertragen sich direkt von der Ordnung auf V Die Antisymmetrie folgt mit Hilfssatz 18 und der Antisymmetrie der Ordnung auf V Hilfssatz 19 Blockintervallgrenzen lt gt Homomorphismen Seien V ein vollst ndiger Verband und eine vollst ndige Toleranzrelation auf V Dann ist die Abbildung 9 V gt V x gt xe ein vollst ndiger V Morphis mus und die Abbildung w V gt V x gt x ein vollst ndiger A Morphis mus G W 96 3 4 Hilfssatz 56 S 121 Beweis Seien T eine beliebige Indexmenge und a V f rallere T Zeige Va Vae ter T te Wegen der Supremumsvertr glichkeit von gilt Va
508. undlagen angewandt werden kann und deshalb keinen entscheidenden Mehrauf wand gegen ber herk mmlichen Methoden verlangt Der technische Aufbau des Werkzeugs ist auch kurz beschrieben In Kapitel 6 sind verschiedene Ans tze f r die Software Entwicklung zusammen gestellt die Formale Begriffsanalyse verwenden Besonderes Augenmerk liegt da bei auf der jeweiligen Wahl von formalen Gegenst nden und formalen Merkma len Eine Darstellung des Beitrags von BASE zum Gebiet der objektorientierten An wendungsentwicklung und m glicher Erweiterungen bzw Kombinationen mit an deren Ans tzen beschlie t die Arbeit in Kapitel 7 Der kompakteren Darstellung wegen wurden einige Teile der mathematischen Grundlagen aus Kapitel 3 in den Anhang A ausgelagert Im wesentlichen betrifft dies berlange Beweise Es finden sich dort aber auch einige erg nzende Informa tionen die f r die Darstellung von BASE nicht direkt ben tigt werden Der Anhang B enth lt einen Teil ber Algorithmen zur FBA Zitiert werden die Al gorithmen zur Berechnung der mathematischen Strukturen Dar ber hinaus wurde der blicherweise genutzte Algorithmus zum automatischen Zeichnen von Linien 19 1 7 Aufbau der Arbeit diagrammen an die Bed rfnisse von BASE angepa t Der Anhang C besteht aus der groben Anforderungsbeschreibung auf deren Grundlage das in Kapitel 4 benutzte Beispiel modelliert wurde F r Interessierte sind in Anhang D die Schnittstellen der wichtigsten
509. ung weit von einander entfernt liegen und deren Funktionalit t von der fachlichen Be deutung nichts gemeinsam hat Dadurch ist es schwer alle von einer nderung be troffenen Funktionen zu bestimmen Insgesamt wird das System fehleranf llig und insbesondere nderungsfeindlich 2 2 2 Prinzipien objektorientierter Modelle Datenabstraktion Um die oben geschilderten Nachteile zu vermeiden modularisiert man Systeme nach dem Prinzip der Datenabstraktion vergl L Z 74 Funktionen die gleiche Daten benutzen werden um diese Daten gruppiert Eine solche Gruppierung nennt man Modul Zugriffe von au erhalb des Moduls auf die Daten innerhalb werden nur ber Funktionen des Moduls erlaubt So sind die Daten gekapselt und nde rungen an ihnen beeinflussen idealerweise nur den eigenen Modul Man unter teilt den Modul in einen privaten und einen ffentlichen Teil die Schnittstelle Nach dem Prinzip der Datenabstraktion bestehen die Modulschnittstellen nur aus Vereinbarungen von Funktionen des Moduls Deren Implementierung und die von ihnen manipulierten Daten sind von au en unsichtbar Durch solche klar definierten Schnittstellen ist es m glich einen Modul zu be nutzen ohne seine interne Organisation zu kennen Insbesondere kann der Ent wickler eines Moduls M Funktionen des Moduls M benutzen ohne deren Imple mentierung zu kennen Sieht er also sogenannte stubs vor die die aufgerufenen Funktionen aus M etwa durch R ckgabe eines
510. ungen 4 7 Zur bersichtlichkeit des Liniendiagramms 4 8 Vorgehensmodell Ein Analyse Werkzeug f r BASE 5 1 Benutzeroberflache 5 1 1 Darstellung von Anwendungsfalldaten 5 1 2 Darstellung von Liniendiagrammen 5 1 3 Darstellung von berpr fungsfragen 5 2 Arbeitsweise mit dem Werkzeug 5 2 1 Erste automatisch berechnete Liniendiagramme 5 2 2 Diagramme zu ver nderten Anwendungsfallmodellen 5 2 3 Modularisierungsvorschlage 5 2 4 Negativ beschiedene berpr fungsfragen 5 3 Test des Ansatzes 5 4 Technischer Aufbau des Werkzeugs 5 4 1 Die Klassen des Werkzeugs 5 4 2 Verwaltung der Anwendungsfalldaten 3 4 3 Verwaltung der Liniendiagramme 3 4 4 Dateiformat Verwandte Anwendungen von FBA 6 1 Klassenhierarchie nach Godin et al 6 2 Klassenhierarchie nach Snelting und Tip 6 3 Modularisierung 6 4 Konfigurationsanalyse 6 5 Komponentensuche 6 6 Projektverfolgung 6 7 Vergleich mit BASE Inhaltsverzeichnis 163 163 164 169 174 177 181 189 190 190 193 198 199 199 201 202 203 204 206 206 210 213 216 223 224 228 232 234 231 239 241 Inhaltsverzeichnis 7 Zusammenfassung und Ausblick 7 1 Zusammenfassung der wichtigsten Ergebnisse 7 1 1 Darstellung von Daten und funktionaler Sicht 7 1 2 Komponentenzerlegungen 7 1 3 Funktionale Zerlegung in BASE 7 1 4 Uberpriifungsfragen 72 Ausblick auf weiterf hrende Arbeiten 7 2 1 Integration verschiedener Sichten 7 2 2 Vervollst ndigung der Implikationenbehan
511. ur da dann feiner granu lare Funktionen zus tzlich zu den bergreifenden Anwendungsf llen betrachtet werden Es ist in Abbildung 4 40 schematisch dargestellt Im Gegensatz zur ersten Phase die einen breiten berblick ber den Untersuchungsbereich liefern soll ar beitet man sich in der zweiten Phase in die Tiefe Einzelne Anwendungsf lle wer den detailliert betrachtet So wird die Betrachtung von zusammenfallenden Merk mals und Gegenstandsbegriffen nach 4 5 2 Seite 162 zur Bildung von Klassen kandidaten oder zumindest ihren Teilen erst interessant Au erdem ist die Gra nularit t der Zerlegung zu steuern Aus diesem Grund werden in der Darstellung des Vorgehens in Abbildung 4 40 Gegenstands und Merkmalsimplikationen ge trennt behandelt Erstere dienen nach 4 3 2 zur berpr fung der Zerlegungsdetail lierung Der eigentlichen Zerlegung vorgeschaltet ist ein Schritt zur Auswahl des zu verfei nernden Modells Dem liegt die Idee zugrunde da man im allgemeinen zun chst jeden Anwendungsfall f r sich einzeln betrachtet um sich voll auf seine Details konzentrieren zu k nnen Man kann aber auch die enge Verbindung mehrerer An wendungsf lle zum Anla nehmen die Zerlegung aus einem Modell heraus vorzu nehmen in dem schon andere Anwendungsf lle funktional verfeinert sind wie es etwa in Abbildung 4 13 auf Seite 149 geschehen ist Dementsprechend ist im letz ten Schritt auch eine Verzweigung vorgesehen Von Fall zu Fa
512. us tzlich ber cksichtig ten formalen Gegenst nde und Merkmale erscheinen nicht als Beschriftung im Li niendiagramm wenn man dieses einfach aus dem urspr nglichen herausschneidet jedoch im Liniendiagramm des entsprechenden Teilkontexts Sie sollten einbezo gen werden um die Einordnung der Komponente in das Gesamtsystem zu veran schaulichen So sieht man wo welche Dinge aus anderen Komponenten benutzt werden und welche Anwendungsf lle aus anderen Komponenten welche Kompo nententeile benutzen Die entsprechende Beschriftung sollte allerdings den Unter schied zwischen der Komponente zugeh rigen und externen Dingen und An wendungsf llen bzw Funktionen kenntlich machen Wareneingang bearbeiten Bestellung bearbeiten Bestellung annehmen R cklauf bearbeiten Kunde Lieferscheinvermerk Wartekartei Kundenbestellung Abb 4 33 Ein Block aus Abbildung 4 22 178 4 BASE ein begriffsbasiertes Analyseverfahren f r die Software Entwicklung Abbildung 4 33 gibt in solcher Weise die oberste Komponente aus Abbildung 4 22 auf Seite 166 wieder Die benutzten Dinge aus anderen Bl cken sind grau ge zeichnet Die am globalen Supremum angegebenen sind hier in keinen Anwen dungsfall involviert Man kann Dinge aus anderen Bl cken auch weglassen wenn sie unter keinen Merkmalsbegriff fallen Berechnet wurde in diesem Fall das Diagramm aus dem oben beschriebenen Teilkontext So bekomm
513. von Konfigurationsstrukturen siehe 6 4 bestimmen wie viele Knoten entfernt werden m ssen damit das Liniendiagramm horizontal zerlegbar ist Horizontale Summanden bedeuten unabh ngige Systemteile F r die entspre chenden horizontalen Summanden w ren eine bestimmte Anzahl oder eine gewis se Gr e absolut z B f r Summandengr e 7 2 Regel nach Mil 56 oder rela tiv zur Diagrammgr e anzupeilen 7 2 4 Verbindung mit anderen Analyseverfahren BASE betrachtet keine Beziehungen der betrachteten Dinge untereinander Dies w rde aber eine wertvolle Bereicherung der Analyse im Hinblick auf die Frage bringen was als Klasse und was als Attribut modelliert werden soll Ein m glicher Ansatz hierf r ist KCPM Klagenfurt Conceptual Predesign Model K M 98a K M 98b Die Autoren von KCPM sehen die Eignung objektorien tierter Modelle f r die Kommunikation zwischen Entwicklern und Anwendern ebenfalls kritisch Weiter dient ihr Ansatz wie BASE dazu die Entscheidung was als Klasse modelliert werden soll in der Analysephase eines Software Entwick lungsprojekts zeitlich nach hinten zu verschieben um sie auf der Basis eines tiefe ren Systemverst ndnisses treffen zu k nnen Deshalb schalten sie zwischen die Aufnahme der Systemanforderungen in nat rlicher Sprache und der Erstellung ei nes objektorientierten Analysemodells ihr Predesign Modell Die Elemente dieses Modells sind e Ding Typen e Beziehungstypen Beziehunge
514. von Martin Odell bernommenen Aktivit tsdiagramme Dieser Sachverhalt ist dem Diagramm zu entnehmen indem man vom Gegenstandsbegriff zu UML aus die aufsteigenden Linienz ge betrach tet Alle auftretenden formalen Merkmale hier Beschreibungsmittel bis auf Ac tivity diagram sind ber absteigende Linienz ge auch einem der drei formalen Ge genst nde Autoren Jacobson Booch oder Rumbaugh zugeordnet Weiter sieht man auch den spezifischen Einflu der einzelnen Autoren Alle drei Paare von UML mit einem der drei Autoren kommt als Begriffsumfang vor UML 90 3 Formale Begriffsanalyse Jacobson ist Umfang des mit Use case diagram beschrifteten Begriffs Jacobsons spezifischer Beitrag zur UML ist eben gerade die Anwendungsfallbetrachtung Analog ist durch das Liniendiagramm dokumentiert da Booch die Einsatz und Komponentendiagramme eingebracht hat Denn das Supremum der Gegenstands begriffe zu UML und Booch ist der Merkmalsbegriff zu Deployment diagram und weiter ist auch Component diagram im Inhalt dieses Begriffs enthalten ohne ei nem der beiden anderen Autoren der UML zugeordnet zu sein Das von Rumbaugh bernommene Spezifikum ist die gleichzeitige Betrachtung von Sequenz und Kol laborationsdiagrammen Inhalt des Begriffs mit Umfang UML Rumbaugh ist dementsprechend Sequence diagram Collaboration diagram Diese Ausf hrungen zeigen wie das Liniendiagramm des Begriffsverbands inter pretiert werden kann und so
515. von Operationen Solche Fragen bieten einen guten Ausgangspunkt f r die weitere Analyse Rein syntaktische Kriterien wie mindestens zwei Attribute erscheinen wenig hilfreich weil sie keinerlei Bezug zum Untersuchungsbereich aufweisen e Negativ Listen f r Objekteigenschaften Solche Listen dienen dazu Klassenkandidaten von der weiteren Betrachtung auszuschlie en Neben den Umkehrungen der Positiv Kriterien wird auf die Abgrenzung der verschiedenen Klassenkandidaten untereinander abgehoben Rumbaugh f hrt sogar Punkte auf die erst nach einer weitgehenden Erstellung des Klassenmo dells zu beurteilen sind F r den ersten Schritt der Kandidatenauswahl erschei nen solche Ratschl ge nur sehr eingeschr nkt brauchbar e Grammatikalische Analyse Der Tenor der entsprechenden Vorschl ge lautet Substantive in den Anforde rungsbeschreibungen ergeben Klassenkandidaten Verben ihre Operationen Vorteil einer solchen Methode ist ihre leichte Anwendbarkeit Sie f hrt in der Regel aber zu vielen wertlosen Kandidaten Schwierigkeiten ergeben sich da durch da grammatikalische und semantische Kategorien nicht bereinstim men So ist es etwa in vielen Sprachen m glich und blich Verben als Substan tive zu benutzen Eine intensive Besch ftigung mit diesem Ansatz f hrt dazu da die Aufmerksamkeit der Entwickler nur auf die Anforderungsdokumente ausgerichtet ist So werden die Anwender nicht in erforderlichem Ma e in den Entwicklungsproze ei
516. weis Vergl G D 86 S 9 und Proposition 1 S 10 Sei also V W informativ und gelte in I Nach Konstruktion gilt VC k V f r jede Menge V Zu zeigen ist nur V ky V Nach Hilfssatz 10 ist W c ky V Laut Voraussetzung gilt weiter W g V Also gibt es ein x e WWW Cky V V D h Vka V Ist andererseits V k V so folgt ky V V wegen VCkK AV D h V k V ist informativ 97 3 4 Implikationen Um eine g ltige Implikationenfamilie festzulegen reicht es aus informative Impli kationen mit maximaler Konklusion anzugeben Folgerung 9 Vollst ndigkeit der Implikationen mit maximaler Konklusion Ist X eine Menge und X c P X ein System von Teilmengen so ist die Menge der informativen Implikationen mit in X maximaler Konklusion V gt ky V VEXAky V 4 V vollst ndig f r X Genauer folgt jede in R g ltige Implikation aus einer informativen Implika tion mit in R maximaler Konklusion Beweis Nach Hilfssatz 10 auf Seite 95 gelten alle Implikationen der Form Vak in R Sei V gt W eine beliebige in R g ltige Implikation Ist V W nicht informativ so folgt V W nach Hilfssatz 6 auf Seite 93 aus jeder Implikationenfamilie Sei nun also V gt W informativ Nach Hilfssatz 10 ist VWCk V Nach Hilfssatz 9 auf Seite 95 folgt daher V gt W aus V gt ky V Ware ky V CV so auch WCky V CV also V W nicht informativ Also ist auch V gt k V informativ Damit folgt V gt W aus einer informativen Implikation m
517. wn entwickelt werden Eine top down Entwicklung ei ner Klasse beginnt mit dem Begriff den die Klasse implementieren soll Sukzessi ve wird die Klassendefinition verfeinert bis alle Attribute und Operationen der Klasse enthalten sind Bei Anwendungen deren grundlegende Klassen schon aus Erfahrung der Entwickler klar sind kann BASE zur berpr fung der vorgesehe nen Modellierung eingesetzt werden Ziel des Vorgehens ist es Konsens der Beteiligten ber die wichtigen Begriffe des Untersuchungsbereichs und die Klassenkandidaten herzustellen 1 6 1 Formale Begriffsanalyse Die oben erw hnten Autoren Martin und Odell behandeln Begriffe als Einheiten von Begriffsumfang Extension und Begriffsinhalt Intension Der Umfang eines 15 1 6 Das Vorgehen in BASE Begriffs besteht aus allen Gegenst nden die unter diesen Begriff fallen und der Inhalt aus allen gemeinsamen Merkmalen dieser Gegenst nde Dies ist die klassi sche Auffassung von Begriff Formale Begriffsanalyse FBA G W 96 ist eine mathematische Theorie die Be griffssysteme so wie das Denken und Schlie en in solchen Systemen mit dem be schriebenen Verst ndnis von Begriffen zu formalisieren versucht Ausgangspunkt bei der Verwendung von FBA ist ein formaler Kontext der durch eine einfache In zidenzmatrix Kreuztabelle beschreiben wird In ihm werden formalen Gegen st nden formale Merkmale zugeschrieben Daraus entsteht als mathematische Struktur ein vollst
518. x x Vx x Idempotenz te T te T b xAy yax xvy yvx Kommutativit t J A AY a U a V VY v U r Assoziativit t teT teT teT teT d xA xVy x x Vv xAy x Absorption Beweis Bir 67 1 5 Lemma 1 S 8 a ist klar denn x lt x und f r jede andere untere Schranke u und obere s gilt u lt x bzw xs b ist direkt durch die Definition von x Ay bzw x v y gegeben c Esist A AY SAY Sy Vte T ye Y te T D h A AY SA U Y te T teT Andererseits ist UY lt y Vye Y teT te Also A un lt AY Vte T und damit N U 5 MA Vie te te te F r Suprema dual d ergibt sich aus Hilfssatz 1 Nicht in allen Ordnungen sind alle Elemente vergleichbar wie am Beispiel der Inklusionsordnung auf Potenzmengen Beispiel 1 c auf Seite 65 gesehen Eine schw chere Eigenschaft ist die mittelbare Vergleichbarkeit ber ein gemeinsames Infimum und Supremum Dies f hrt zur Definition von Verb nden Definition 7 Verband vollst ndiger Verband 68 Eine geordnete Menge V lt hei t Verband wenn zu je zwei Elementen x y V das Infimum x Ay und das Supremum x v y existieren Ein Verband VS hei t vollst ndig wenn zu jeder beliebigen Teilmenge X CV das Infimum AX und Supremum VX existieren Werden mehrere Verb nde gleichzeitig betrachtet finden auch die Schreib weisen x Ay y x Yyy Ay X Vy X Anwendung Sind dagegen mehrere Ordnungen auf ein und derselben Menge involviert so wird die Bezeichnung
519. x_msg void OnKomponentenmodellLoeschen L t den Benutzer das aktuelle Blockrelationsdiagramm l schen Interne Hilfsfunktionen private void eingabenUebernehmen TFormalContext eingabenInKontext TFormalContext zielKontext Kopiert die f r BASE relevanten Daten vom formalen Kontext lt eingabenInKontext gt in lt zielKontext gt void diagrammBerechnenUndZufuegen TFormalContext kontext CUsecaseAngaben usecases Berechnet in lt aktuellesDiagramm gt ein Liniendiagramm zum Kontext lt kontext gt nachdem vorher die Implikationen zu uses extends Beziehungen und funktionalen Zerlegungen aus lt usecases gt ber cksichtigt wurden CString strukturNamenWaehlen const CString amp namensVorschlag const CString meldung ffnet einen Dialog zu Eingabe eines Bezeichners f r ein Diagramm void blockrelationenEinlesen TLineDiagram origDiag Liest schon berechnete Blockrelationen zu lt origDiag gt ein und belegt lt blockrels gt int anhaengendeBlockrelationenLoeschen TLineDiagram origDiag Erm glicht das L schen der Blockrelationsdiagramme zu lt origDiag gt R ckgabewert ist IDYES wenn der Benutzer die Blockrelationen l schen wollte IDNO wenn er es 337 D 3 CBASEView ablehnte und IDCANCEL wenn er auf Abbruch geklickt hat um auch das L schen von lt origDiag gt zu stoppen TLineDiagram getDiagramm CString name Liest das Diagramm lt nam
520. y Uy Ky V2 Da V und V saturierte Pr missen sind sind sie unvergleichbar denn bei Vi EV w re ka V1 CV Ek V2 Nach dem Beweis von Hilfssatz 13 respektiert also V N V ganz DIN Die Implikation U gt ky U wird von V A V nicht respektiert folgt aber nach Hilfssatz 10 auf Seite 95 und Satz 11 auf Seite 100 aus DIN Dies ist ein Widerspruch Also ist U Uy womit auch die betrachteten Implikationen verschieden sind Daraus folgt da 3 mindestens die Kardinalit t von DD X hat In diesem Sinne ist also DQ X minimal Bei der Angabe von Implikationen reicht es nat rlich nur den informativen Teil der Konklusion anzugeben Folgerung 11 Darstellung der Duquenne Guigues Basis Sei X eine endliche Menge und H c P X ein System von Teilmengen Dannist IDOHN V gt kA NAV V gt kV E DOKN eine Basis der in X g ltigen Implikationen Vergl G W 96 2 3 S 84 103 3 4 Implikationen Beweis Nach Hilfssatz 9 auf Seite 95 folgt V gt ky V V aus V gt kyV Also gilt FSDD CX nach Satz 11 auf Seite 100 in X Laut Hilfssatz 12 auf Seite 99 folgt V gt ky V aus V gt ky V V und V JV also nach Hilfssatz 6 auf Seite 93 aus V gt ky V V allein Nach Hilfssatz 8 auf Seite 95 ist damit SNO X vollst ndig Sei V gt ky V V IDD A beliebig W rde V gt ky V V aus SDN4 X V gt ka V V folgen so folg te V gt ky lV aus DONy X V gt kylV denn aus DONg X V gt ky V f
521. yse Nat rlich kann man die Duquenne Guigues Basis leicht aus ED X gewinnen und umgekehrt 3 4 2 Implikationen von formalen Kontexten blicherweise betrachtet man zu einem formalen Kontext Implikationen zwischen Mengen formaler Merkmale dual kann man aber auch solche zwischen Mengen formaler Gegenst nde untersuchen Folgende Definition legt die Sprechweisen f r beide F lle fest Definition 31 Merkmals Gegenstandsimplikation Sei G M I ein formaler Kontext BD mit B DCM hei t Merkmalsimplikation von G M I und dual A gt C mit A C CG Gegenstandsimplikation von G M 1 Eine Merkmalsimplikation B gt D gelte in G M I wenn B gt D in M g ge G gilt Dual gelte eine Merkmalsimplikation 4 C in G M I wenn A gt C in 6 m me M gilt G W 96 2 3 Definition 36 S 80 Wie eingangs erw hnt kann man sich auch auf die Betrachtung von etwa Merkmal simplikationen beschr nken ohne die Allgemeinheit der bisherigen Ausf hrungen zu verlieren Bemerkung 7 Implikationen als Merkmalsimplikationen Sei X eine Menge und R c P X ein System von Teilmengen Setzt man G R M X und RIx xe R so hat man einen forma len Kontext G M I dessen g ltige Merkmalsimplikationen gerade die in R g ltigen Implikationen auf X sind Die maximalen Konklusionen sind bei Implikationen eines formalen Kontexts ge rade die Begriffsinhalte bzw Begriffsumf nge Hilfssatz 14 Maximale Konklusionen
522. yse gewinnbringend eingesetzt werden siehe 6 5 auf Seite 237 Ausgangsmodell f r Zerlegung ausw hlen Einen Anwendungsfall funktional zerlegen Neue Funktionen der Zerlegung beschreiben l Involvierte Dinge festlegen und Funktionen zuordnen Neue Dinge den anderen Anwendungsf llen au er dem aktuell zerlegten zuordnen l Detaillierungsgrad der Zerlegung anhand Indizierung als von Gegenstandsimplikationen berpr fen Neue Funktionen unzutreffend identifiziert erkannt Alle Gegenstandsim plikationen zutreffend Modell anhand von Merkmalsimplikationen berpr fen Indizierung als unzutref fend erkannt oder neue Dinge identifiziert Alle Merkmalsimpli kationen zutreffend Bausteinzerlegungen anhand von Blockrelationen untersuchen l Klassenkandidaten unter den Dingen bestimmen l Klassenkandidaten oder teile anhand von bereinstimmen den Merkmals und Gegenstandsbegriffen identifizieren N lt alternativ Zerlegungen ber ihre Kontexte zusammenf hren Abb 4 40 Feinanalyse Funktionale Zerlegung der Anwendungsf lle 187 4 8 Vorgehensmodell Die Modellierung des Klassenmodells selber und die Erstellung von Sequenzdia grammen wie in Abbildung 2 7 auf Seite 127 sind als Analyseziel vorgegeben un ter den angegebenen Schritte aber nicht explizit
523. zunehmen Vor der Berechnung des zugeh rigen Liniendiagramms m ssen sie in den Kontext eingearbeitet werden Dies ist der Grund warum die sp tere Bearbeitung von Mo dellen bis auf nderungen der Anwendungsfalldaten allein anhand des Linien diagramms geschieht der gespeicherte formale Kontext pa t ohne die erzwunge nen Merkmalsimplikationen nicht zum Diagramm W hrend der Eingabe der Anwendungsfalldaten werden die im Endeffekt in the_specials gespeicherten Angaben in einer eigenen Datenstruktur verwaltet um nicht immer die oben spezifizierten Zeichenketten parsen zu m ssen Die Klasse f r diese Datenstruktur hei t CUsecaseAngaben Ihre Deklaration ist in Anhang D wiedergegeben 212 5 Ein Analyse Werkzeug f r BASE 5 4 3 Verwaltung der Liniendiagramme Liniendiagramme werden mit Hilfe der Klasse TLineDiagram verwaltet Wie sie aus formalen Kontexten berechnet werden erl utert Anhang B 2 Die Attribute der Klasse TLineDiagram sind class _FCAEXPORT TLineDiagram public TFCAObject static const char ID_stringl ConScript Schl sselwort f r Liniendiagramme double the unitlength Zeicheneinheit bzgl der Positions L ngenangaben zu verstehen sind CString the_ unit Ma einheit der Zeicheneinheit TOSDPointArray the points Diagrammknoten TOSDLineArray the lines Diagrammkanten TQSObjectArray the objects formale Gegenst nde ToSAttributeArray the attributes formale Merkmale ToSConcep
Download Pdf Manuals
Related Search
Related Contents
FICHA TECNICA M-REPAR G Nokia Asha 300 2.4" 85g Graphite Material - Professor Luiz Alberto MagicLift™ Hydraulic Service Jack Page 1 Page 2 口 www・Hbecc。jp 座警告 如果不参照本指南安装和 取扱説明書一覧 - M ROMER ABSOLUTE ARM Benutzerhandbuch CHAPTER EIGHT - ComancheFlyer.Com Kyocera manuale utente FS-1018MFP Copyright © All rights reserved.
Failed to retrieve file