Auswahl eines CASE-Tools: Kriterien und Vergleichsmethodik. CASE-Tools: allgemeiner Überblick und Vergleichsmerkmale

1.1 Der Begriffsbegriff – „CASE-Tools“

Ursprünglich wurde der Begriff „CASE-Technologie“ (Computer – Aided Software Engineering) wörtlich als „automatisierte Entwicklung von IS-Software mithilfe von Computertechnologie“ verstanden.

Derzeit bezieht sich der Begriff CASE-Tools auf einen umfangreichen Satz von Softwaretools, die die Prozesse der Erstellung und Pflege von IS unterstützen, einschließlich Analyse und Formulierung von Anforderungen, Design von Anwendungssoftware (Anwendungen) und Datenbanken, Codegenerierung, Tests, Dokumentation und Qualitätssicherung , Konfigurationsmanagement und Projektmanagement sowie andere Prozesse. CASE-Tools zusammen mit Systemsoftware und technische Mittel bilden eine vollständige IS-Entwicklungsumgebung.

Bei CASE-Technologien handelt es sich um eine Reihe von Methoden und Werkzeugen für Analysten, Entwickler und Programmierer, die darauf ausgelegt sind, die Entwurfsprozesse und die Unterstützung von Informationssystemen über den gesamten Zeitraum zu automatisieren Lebenszyklus.

Die CASE-Tool-Methodik definiert die Phasen und Schritte der Projektumsetzung sowie die Regeln für die Verwendung der Methoden, mit denen das Projekt entwickelt wird. Die CASE-Tool-Methode ist ein Verfahren oder eine Technik zur Erstellung von Beschreibungen von Informationssystemkomponenten (Entwurf von Datenflüssen und -strukturen). CASE-Tool-Notation – Anzeige der Struktur des Systems und der Datenelemente mithilfe spezieller grafischer Symbole.

CASE-Tools sind spezielle Programme, die eine oder mehrere Analyse- und Entwurfsmethoden unterstützen Informationssysteme. Die CASE-Technologie umfasst im Rahmen der Methodik Methoden, mit denen auf der Grundlage von Notationen Diagramme erstellt werden, die von einem bestimmten CASE-Tool unterstützt werden. CASE-Technologien können nicht als unabhängig betrachtet werden; sie bieten lediglich eine hohe Effizienz ihrer Anwendung, die durch den Zeitpunkt der Projektentwicklung bestimmt wird.

Moderne CASE-Tools decken ein breites Spektrum an Unterstützung für zahlreiche Informationssystem-Designtechnologien ab: von einfachen Analyse- und Dokumentationstools bis hin zu umfassenden Automatisierungstools, die den gesamten Softwarelebenszyklus abdecken. Die arbeitsintensivsten Phasen bei der Entwicklung von Informationssystemen sind die Phasen der Analyse und des Designs, in denen CASE-Tools die Qualität der getroffenen technischen Entscheidungen und die Erstellung der Projektdokumentation sicherstellen. Dabei spielen Methoden der visuellen Darstellung von Informationen eine wichtige Rolle. Dazu gehört die Erstellung struktureller oder anderer Diagramme in Echtzeit unter Verwendung einer vielfältigen Farbpalette und eine durchgängige Überprüfung syntaktischer Regeln. Mithilfe grafischer Domänenmodellierungstools können Entwickler ein vorhandenes Informationssystem visuell untersuchen und es entsprechend ihren Zielen und bestehenden Einschränkungen neu aufbauen.

1.2 Typischer Aufbau von CASE-Tools

CASE-Tools dienen als Werkzeuge zur Unterstützung und Nutzung von Strukturanalysemethoden im Entwurf. Diese Tools unterstützen Benutzer beim interaktiven Erstellen und Bearbeiten eines Grafikprojekts. Sie helfen dabei, das Projekt in Form einer Hierarchie von Abstraktionsebenen zu organisieren und führen Komponentenkonformitätsprüfungen durch. Tatsächlich handelt es sich bei CASE-Tools um eine neue Art grafikorientierter Tools, die auf das Software-Lifecycle-Support-System zurückgehen. Typischerweise handelt es sich hierbei um jedes Softwaretool, das automatische Unterstützung bei der Softwareentwicklung, deren Wartung oder Projektmanagementtätigkeiten bietet und die folgenden zusätzlichen Eigenschaften aufweist:

    leistungsstarke Grafiken zur Beschreibung und Dokumentation von Softwaresystemen mit einer spezifischen Benutzeroberfläche, die die kreativen Fähigkeiten von Spezialisten fördern und sie nicht vom Designprozess ablenken, um sekundäre Probleme zu lösen;

    Integration, die eine einfache Datenübertragung zwischen Tools gewährleistet und es Ihnen ermöglicht, den gesamten Software-Design- und Entwicklungsprozess direkt über den Projektplanungsprozess hinweg zu verwalten;

    die Verwendung von Computerspeicher (Repository) für Vorlagen von Teilen und einzelnen Elementen des Projekts, die von verschiedenen Entwicklern als Grundlage für die automatische Produktion von Software und deren Wiederverwendung in zukünftigen Systemen verwendet werden können.

Neben den aufgeführten Grundprinzipien der grafischen Ausrichtung, Integration und Lokalisierung aller Projektinformationen im Repository liegen der konzeptionellen Konstruktion von CASE-Tools folgende Bestimmungen zugrunde:

1. Der menschliche Faktor, der die Softwareentwicklung als einfachen, bequemen und wirtschaftlichen Prozess bestimmt.

2. Weit verbreiteter Einsatz grundlegender Softwaretools, die in anderen Anwendungen weit verbreitet sind (Datenbanken und DBMS, Compiler für verschiedene Programmiersprachen, Debugger, Dokumentierer, Veröffentlichungssysteme, Expertensystem-Shells und Wissensdatenbanken, Sprachen der vierten Generation usw.).

3. Automatisierte oder automatische Codegenerierung für verschiedene Plattformen und verschiedene Codetypen: Transformationen zur Dokumentation; Aufbau der Datenbankstruktur, Dateneingabe/-änderung; Erhalten ausführbarer Maschinencodes aus Softwarespezifikationen; Zusammenstellen von Modulen aus Wörterbüchern und Datenmodellen sowie wiederverwendbaren Programmen.

4. Benutzerfreundlichkeit, was zu überschaubaren, sichtbaren und verständlichen Komponenten sowie einer einfachen und klaren Struktur führt.

5. Verfügbarkeit für verschiedene Benutzerkategorien.

6. Rentabilität.

7. Effektive Problemlösung zur Unterstützung des entwickelten Projekts, Gewährleistung der Anpassungsfähigkeit, wenn sich die Anforderungen und Ziele des Projekts seitens des Kunden ändern.

Fast alle modernen CASE-Tools umfassen die folgenden Elemente:

    Mit dem Repository können Sie die Sicherheit von Projektvorlagen und ihren spezifischen Komponenten gewährleisten, Informationen von verschiedenen Entwicklern im Prozess der Gruppenentwicklung synchronisieren und Metadaten auf Vollständigkeit und Konsistenz überprüfen.

    Anwendungsentwicklungstools mit 4GL-Sprachen und Codegeneratoren;

    Prüfwerkzeuge;

    Dokumentationstools;

    grafische Analyse- und Designwerkzeuge, die es ermöglichen, Informationssystemmodelle in Form hierarchisch verknüpfter Diagramme in der implementierten Notation einer bestimmten Methodik zu erstellen und zu bearbeiten;

    Reengineering-Tools;

    Konfigurationsmanagement-Tools;

    Projektmanagement-Tools.

1.3 Entwicklung der Entwicklung von CASE-Technologien

Von Anfang an haben sich die CASE-Technologien weiterentwickelt, um die Einschränkungen der „manuellen“ Anwendung der Strukturanalyse- und Entwurfsmethodik der 60er und 70er Jahre zu überwinden, indem sie automatisiert und in unterstützende Tools integriert wurden. Daher können CASE-Technologien nicht als unabhängige Modellierungsmethoden betrachtet werden; sie machen ihren Einsatz lediglich effizienter im Hinblick auf die Entwicklungszeit.

Traditionell werden sechs Perioden unterschieden, die sich qualitativ in der eingesetzten Technologie und Methoden der Softwareentwicklung unterscheiden und sich durch ihren Einsatz als Werkzeuge auszeichnen:

1. Assembler, Speicherauszüge, Analysatoren;

2. Compiler, Interpreter, Tracer;

3. Symbolische Debugger, Softwarepakete;

4. Quelltextanalyse- und Managementsysteme;

5. CASE-Tools zum Analysieren von Anforderungen, Entwerfen von Spezifikationen und Strukturen, Bearbeiten von Schnittstellen (die erste Generation von CASE-I);

6. CASE-Tools zur Generierung von Quellcodes und zur Implementierung einer integrierten Umgebung zur Unterstützung des gesamten Softwareentwicklungslebenszyklus (zweite Generation von CASE-II)

CASE-I ist die erste Technologie, die sich direkt an Systemanalytiker und -designer richtet und Tools zur Unterstützung grafischer Modelle, Spezifikationsdesign, Bildschirmeditoren und Datenwörterbücher umfasst. Es soll nicht den gesamten Lebenszyklus unterstützen und konzentriert sich auf funktionale Spezifikationen und die ersten Schritte des Projekts – Systemanalyse, Anforderungsdefinition, Systemdesign, logisches Datenbankdesign.

CASE-II bietet deutlich erweiterte Funktionen, verbesserte Leistung und einen umfassenden Ansatz für den gesamten Lebenszyklus der zu entwickelnden Software. Das CASE-II-Toolkit verwendet hauptsächlich Tools zur Unterstützung der automatischen Codegenerierung und bietet außerdem vollständige Funktionsunterstützung für die grafische Ausführung System Anforderungen und Designspezifikationen; Steuerung, Analyse und Verknüpfung von Systeminformationen und Designmanagementinformationen; Erstellen von Prototypen und Modellen des Systems; Testen, Verifizieren und Analysieren generierter Programme; Erstellen von Projektdokumenten; Kontrolle der Einhaltung von Standards in allen Phasen des Lebenszyklus. CASE-II kann über 100 funktionale Komponenten umfassen, die alle Phasen des Lebenszyklus unterstützen, während Benutzern die Möglichkeit gegeben wird, die erforderlichen Werkzeuge auszuwählen und sie in der gewünschten Zusammensetzung zu integrieren.

1.4 In CASE-Tools verwendete Entwurfsmethoden

CASE-Werkzeuge sind das Ergebnis der natürlichen evolutionären Entwicklung der Werkzeug- (oder Technologie-)Industrie. CASE-Technologien wurden entwickelt, um die Einschränkungen der strukturierten Programmiermethodik zu überwinden.

Trotz ihrer Formalisierung in der Programmierung ist diese Methodik immer noch durch Verständnisschwierigkeiten, hohe Arbeitsintensität und hohe Nutzungskosten sowie die Schwierigkeit gekennzeichnet, Änderungen an Designspezifikationen vorzunehmen. Die darin enthaltenen Prinzipien ermöglichten es, diese Methodik zu entwickeln und ihre Effizienz durch Automatisierung der routinemäßigsten Phasen zu steigern (Abb. 1.1).

Die wichtigsten Standards der in CASE-Tools implementierten Methoden sind:

SADT (Structured Analysis and Design Technique) – Methodik Strukturanalyse und Design. Basierend auf den Konzepten der funktionalen Modellierung. Spiegelt Systemeigenschaften wie Kontrolle, Feedback und Performer wider;

IDEF0 (Integrated Definition Function Modeling) – funktionale Modellierungsmethodik. Wird zur Erstellung eines Funktionsmodells verwendet, das die Struktur und Funktionen des Systems sowie die durch diese Funktionen transformierten Informationsflüsse und Materialobjekte darstellt. Es handelt sich um eine Teilmenge der SADT-Methodik.

DFD (DataFlow Diagram) ist eine Methodik zur Modellierung von Datenflüssen.

Abbildung 1.1 – Vergleich der traditionellen Entwicklung und der Entwicklung mit CASE-Technologien

Zur Beschreibung des Datenaustauschs zwischen Arbeitsabläufen werden die folgenden Methodenstandards verwendet:

IDEF1 wird verwendet, um ein Informationsmodell zu erstellen, das die Struktur und den Inhalt von Informationsflüssen anzeigt, die zur Unterstützung von Systemfunktionen erforderlich sind.

Mit IDEF2 können Sie ein dynamisches Modell des zeitlich variierenden Verhaltens von Funktionen, Informationen und Systemressourcen erstellen.

IDEF3 ist eine Methodik zur Modellierung von Arbeitsabläufen. Ist detaillierter in Bezug auf IDEF0 und DFD. Ermöglicht die Betrachtung eines bestimmten Prozesses unter Berücksichtigung der Abfolge der durchgeführten Vorgänge. IDEF3 beschreibt das Skript und die Abfolge der Vorgänge für jeden Prozess;

IDEF1X (IDEF1 Extended) – Methodik zur Beschreibung von Daten. Wird zum Erstellen von Datenbanken verwendet. Bezieht sich auf den Methodentyp Entity-Relationship (ER) und wird typischerweise zur Modellierung relationaler Datenbanken verwendet, die für das betreffende System relevant sind;

IDEF4 ist eine objektorientierte Methodik. Spiegelt die Interaktion von Objekten wider. Ermöglicht die klare Darstellung der Struktur von Objekten und der zugrunde liegenden Prinzipien ihrer Interaktion. Praktisch zum Erstellen von Softwareprodukten in objektorientierten Sprachen;

IDEF5 ist eine Methodik zur ontologischen Erforschung komplexer Systeme. Mit der IDEF5-Methodik kann die Ontologie eines Systems anhand eines spezifischen Wörterbuchs von Begriffen und Regeln beschrieben werden, auf deren Grundlage zuverlässige Aussagen über den Zustand des betrachteten Systems zu einem bestimmten Zeitpunkt getroffen werden können;

ARIS – beschreibt einen Geschäftsprozess in Form eines Flusses sequentiell ausgeführter Arbeit;

UML – (Unified Modeling Language) ist eine einheitliche Modellierungssprache, die auf einem objektorientierten Ansatz basiert. Mit UML können Sie die statische Struktur eines Systems und sein dynamisches Verhalten in geeigneten Notationen beschreiben.

CASE-Tools nutzen in großem Umfang strukturierte und objektorientierte Entwurfsmethoden. Strukturelles Design basiert auf algorithmischer Zerlegung, während objektorientiertes Design auf objektorientierter Zerlegung basiert. Mit der algorithmischen Zerlegung können Sie die Reihenfolge der Ereignisse bestimmen. Mit der objektorientierten Zerlegung können Sie die Hierarchie von Objektklassen, ihren Methoden und Eigenschaften definieren. CASE-Tools, die objektorientiertes Design unterstützen, verwenden die RUP-Methodik (Rational Unified Process) und UML-Sprachnotationen.

1.5 Methodik der CASE-Tools für objektorientiertes Design

Beim objektorientierten Ansatz vereint die Hauptkategorie des Objektmodells, die Klasse, auf elementarer Ebene sowohl Daten als auch die darauf ausgeführten Operationen (Methoden). Unter diesem Gesichtspunkt sind die Veränderungen, die mit dem Übergang von einem strukturellen zu einem objektorientierten Ansatz verbunden sind, am deutlichsten. Die Trennung von Prozessen und Daten ist überwunden, das Problem der Überwindung der Systemkomplexität bleibt jedoch bestehen, das durch den Einsatz des Komponentenmechanismus gelöst wird.

Im Vergleich zu Prozessen sind Daten ein stabilerer und sich relativ selten ändernder Teil des Systems. Daraus ergibt sich der Hauptvorteil des objektorientierten Ansatzes, den Gradi Booch wie folgt formulierte: Objektorientierte Systeme sind offener und leichter veränderbar, da ihr Design auf stabilen Formen basiert. Dies ermöglicht eine schrittweise Weiterentwicklung des Systems und führt auch bei wesentlichen Änderungen der ursprünglichen Anforderungen nicht zu einer völligen Neugestaltung.

Booch weist außerdem auf eine Reihe der folgenden Vorteile des objektorientierten Ansatzes hin.

1. Die Objektzerlegung ermöglicht die Erstellung kleinerer Softwaresysteme durch die Verwendung gemeinsamer Mechanismen, die die notwendigen Einsparungen bei den Ausdrucksmitteln ermöglichen. Die Verwendung des Objektansatzes erhöht den Grad der Vereinheitlichung der Entwicklung und die Eignung zur Wiederverwendung nicht nur von Programmen, sondern auch von Projekten erheblich, was letztendlich zur Schaffung einer Entwicklungsumgebung und zum Übergang zur Assembler-Softwareerstellung führt. Systeme sind oft kompakter als ihre strukturellen Äquivalente, was nicht nur weniger Code, sondern auch ein günstigeres Design durch die Nutzung früherer Designs bedeutet.

2. Die Zerlegung von Objekten verringert das Risiko der Erstellung komplexe Systeme Software, da sie einen evolutionären Weg der Systementwicklung annimmt, der auf relativ kleinen Subsystemen basiert. Der Prozess der Systemintegration erstreckt sich über den gesamten Entwicklungszeitraum und ist kein einmaliges Ereignis.

3. Das Objektmodell ist ganz natürlich, da es in erster Linie auf die menschliche Wahrnehmung der Welt und nicht auf die Computerimplementierung ausgerichtet ist.

4. Mit dem Objektmodell können Sie die Ausdrucksfähigkeiten von Objekten und objektorientierten Programmiersprachen vollständig nutzen.

Zu den Nachteilen des objektorientierten Ansatzes gehören ein leichter Rückgang der Softwareleistung und hohe Anschaffungskosten. Die Objektzerlegung unterscheidet sich erheblich von der Funktionszerlegung, daher ist der Übergang zu einer neuen Technologie sowohl mit der Überwindung psychologischer Schwierigkeiten als auch mit zusätzlichen finanziellen Kosten verbunden. Natürlich spiegelt das objektorientierte Modell die reale Welt am besten wider, die eine Sammlung interagierender (über Nachrichtenübermittlung) Objekte ist. In der Praxis wird jedoch derzeit der UML-Sprachstandard für die objektorientierte Modellierung entwickelt, und die Anzahl der CASE-Tools, die den objektorientierten Ansatz unterstützen, ist im Vergleich zu ähnlichen Tools, die den strukturellen Ansatz unterstützen, gering.

Darüber hinaus sind Diagramme, die die Besonderheiten des Objektansatzes widerspiegeln (Klassendiagramme usw.), viel weniger visuell und für Laien schlecht verständlich. Daher ist eines der Hauptziele der Einführung der CASE-Technologie die Versorgung aller Projektbeteiligten (einschließlich des Kunden) gemeinsame Sprache„Verständnis vermitteln“ wird heute nur noch durch strukturelle Methoden geleistet.

Beim Übergang von einem strukturellen Ansatz zu einem objektiven Ansatz ist es, wie bei jedem Technologiewechsel, notwendig, Geld in die Anschaffung neuer Werkzeuge zu investieren. Hier sollten Sie auch die Kosten für die Schulung (Beherrschung der Methode, Werkzeuge und Programmiersprache) berücksichtigen. Für einige Organisationen können diese Umstände ernsthafte Hindernisse darstellen. Der objektorientierte Ansatz bietet keine unmittelbaren Vorteile. Die Wirkung seines Einsatzes macht sich erst nach der Entwicklung von zwei oder drei Projekten und der Anhäufung wiederverwendbarer Komponenten bemerkbar, die Standarddesignlösungen in diesem Bereich widerspiegeln. Der Übergang einer Organisation zur objektorientierten Technologie ist eine Veränderung der Weltanschauung und nicht nur das Erlernen neuer CASE-Tools und Programmiersprachen.

Es liegt auf der Hand, dass es in einem konkreten Projekt unmöglich ist, ein komplexes System auf zwei Arten gleichzeitig zu zerlegen. Sie können die Zerlegung auf eine Art beginnen und dann anhand der Ergebnisse versuchen, das System aus einem anderen Blickwinkel zu betrachten. Betrachten wir nun die Beziehung zwischen dem strukturellen und dem objektorientierten Ansatz. Grundlage der Beziehung ist die Gemeinsamkeit einer Reihe von Kategorien und Konzepten beider Ansätze (Prozess und Anwendungsfall, Entität und Klasse usw.). Diese Beziehung kann sich in verschiedenen Formen manifestieren. Ein möglicher Ansatz besteht daher darin, die Strukturanalyse als Grundlage für den objektorientierten Entwurf zu nutzen. Dieser Ansatz ist aufgrund der weit verbreiteten Verwendung von CASE-Tools zur Unterstützung der Strukturanalyse angemessen. Die Strukturanalyse wird so lange fortgesetzt, bis Datenflussdiagramme beginnen, nicht nur den Themenbereich, sondern auch das Softwaresystem widerzuspiegeln.

Nachdem Sie eine Strukturanalyse durchgeführt und Datenflussdiagramme zusammen mit Datenstrukturen und anderen Analyseergebnissen gezeichnet haben, können Sie damit beginnen, Klassen und Objekte auf verschiedene Arten zu definieren. Wenn wir also ein einzelnes Diagramm nehmen, können Kandidaten für Objekte externe Entitäten und Datenspeichergeräte sein, und Kandidaten für Klassen können Datenströme sein.

Eine andere Form der Manifestation der Verbindung kann als Integration von Objekt- und Beziehungstechnologien angesehen werden. Relationale DBMS sind heute das wichtigste Mittel zur Implementierung großer Datenbanken und Data Warehouses. Die Gründe dafür liegen auf der Hand: Die relationale Technologie wird schon seit geraumer Zeit eingesetzt, wird von einer großen Anzahl von Benutzern und Entwicklern beherrscht, hat sich zu einem Industriestandard entwickelt, es wurden erhebliche Mittel in sie investiert und viele Unternehmensdatenbanken erstellt In einer Vielzahl von Branchen ist das relationale Modell einfach und basiert auf einer strengen Mathematik. Es gibt eine Vielzahl industrieller Tools zum Entwerfen, Implementieren und Betreiben relationaler Datenbanken. Daher werden relationale Datenbanken hauptsächlich zum Speichern und Abrufen von Objekten in sogenannten objektrelationalen Systemen verwendet. Objektorientiertes Design hat Gemeinsamkeiten mit relationalem Design. Beispielsweise können, wie oben erwähnt, Klassen in einem Objektmodell in irgendeiner Weise Entitäten entsprechen (als Übung sollten Sie erwägen, alle Ähnlichkeiten und Unterschiede zwischen Entitäts-Beziehungsdiagrammen und Klassendiagrammen im Detail zu analysieren). Eine solche Korrespondenz findet in der Regel nur am statt frühen Zeitpunkt Systementwicklung – die Phase der Anforderungsbildung. In Zukunft gehen natürlich die Ziele des objektorientierten Designs (adäquate Modellierung des Themengebiets im Hinblick auf die Interaktion von Objekten) und der Entwicklung einer relationalen Datenbank (Datennormalisierung) auseinander. Daher besteht die einzig mögliche Möglichkeit, diese Lücke zu schließen, darin, die Entsprechung zwischen objektorientierten und relationalen Technologien zu bestimmen, was hauptsächlich auf die Abbildung von Klassendiagrammen und Entitätsbeziehungsdiagrammen des relationalen Modells hinausläuft. Ein Beispiel für die praktische Umsetzung des Zusammenhangs zwischen dem strukturellen und objektorientierten Ansatz ist die Softwareschnittstelle (Brücke) zwischen dem strukturellen CASE-Tool Silverrun und dem objektorientierten CASE-Tool Rational Rose, das von der russischen Firma Argussoft entwickelt wurde Rational Rose-Klassendiagramme basierend auf dem Silverrun RDM-Modell (Relational Data Model) und umgekehrt. Ähnliche Schnittstellen bestehen auch zwischen den CASE-Tools ERwin (einerseits), Rational Rose und Paradigm Plus (andererseits).

1.6 Methodik der CASE-Werkzeuge für den Strukturentwurf

Der Kern des strukturellen Ansatzes zur Entwicklung von Informationssystemen liegt in seiner Zerlegung (Partitionierung) in automatisierte Funktionen. Das automatisierte System ist in funktionale Teilsysteme unterteilt, die wiederum in Unterfunktionen unterteilt sind, in Aufgaben unterteilt sind usw. Der Partitionierungsprozess wird bis zu bestimmten Prozeduren fortgesetzt. Gleichzeitig behält das automatisierte System eine ganzheitliche Sicht bei, in der alle Komponenten miteinander verbunden sind. Bei der Entwicklung eines Systems „bottom-up“ von einzelnen Aufgaben zum Gesamtsystem geht die Integrität verloren und es entstehen Probleme bei der Informationsanbindung einzelner Komponenten.

Alle gängigen Strukturansatzmethoden basieren auf einer Reihe allgemeiner Prinzipien. Die verwendeten Grundprinzipien sind:

    das Prinzip der Zerlegung – das Prinzip, komplexe Probleme zu lösen, indem man sie in viele kleinere und unabhängige Aufgaben zerlegt, die leicht zu verstehen und zu lösen sind;

    Prinzip der hierarchischen Ordnung – Prinzip der Organisation Komponenten Probleme in hierarchische Baumstrukturen, wobei auf jeder Ebene neue Details hinzugefügt werden.

    das Prinzip der Abstraktion – besteht darin, die wesentlichen Aspekte des Systems hervorzuheben und vom Unwichtigen zu abstrahieren;

    das Prinzip der Formalisierung ist die Notwendigkeit eines strengen methodischen Ansatzes zur Lösung des Problems;

    das Prinzip der Konsistenz – liegt in der Gültigkeit und Konsistenz der Verwendung von Systemelementen;

    Das Prinzip der Datenstrukturierung besteht darin, dass Daten strukturiert und hierarchisch organisiert sein sollten.

Die Strukturanalyse verwendet hauptsächlich zwei Gruppen von Werkzeugen, um die vom System ausgeführten Funktionen und die Beziehungen zwischen Daten zu veranschaulichen.

Jede Werkzeuggruppe entspricht bestimmten Modelltypen (Diagrammen), von denen die folgenden am häufigsten vorkommen:

    SADT-Modelle (Structured Analysis and Design Technique) und entsprechende Funktionsdiagramme;

    DFD-Datenflussdiagramme (Data Flow Diagrams);

    ERD (Entity-Relationship Diagrams) Entity-Relationship-Diagramme.

In der Entwurfsphase des Informationssystems (IS) werden die Modelle komplexer, verfeinert und durch Diagramme, die die Struktur und Architektur der Software widerspiegeln, Blockdiagramme von Programmen und Bildschirmdiagramme ergänzt. Die aufgeführten Modelle liefern zusammen eine vollständige Beschreibung des Informationssystems, unabhängig davon, ob es bereits vorhanden oder neu entwickelt ist. Die Zusammenstellung der Diagramme im Einzelfall richtet sich nach der geforderten Vollständigkeit der Systembeschreibung.

FALL(Computergestützte Software/Systemtechnik) – Richtung in der Softwaretechnik. Der Inhalt dieses Konzepts wird in der Regel durch die Liste der mit CASE gelösten Probleme sowie die Menge der verwendeten Methoden und Werkzeuge bestimmt. Grob gesagt handelt es sich bei der CASE-Technologie um eine Reihe von Methoden zur Analyse, Gestaltung, Entwicklung und Wartung komplexer Softwaresysteme, die durch eine Reihe miteinander verbundener Automatisierungstools unterstützt werden.

CASE ist ein Toolkit für Systemanalytiker, Entwickler und Programmierer, das Papier und Bleistift durch einen Computer ersetzt, um den Prozess des Softwaredesigns und der Softwareentwicklung zu automatisieren.

Grundlegendes Konzept

Die meisten CASE-Tools basieren auf dem Paradigma Methodik/Methode/Notation/Werkzeug:

  • Methodik legt Richtlinien zur Bewertung und Auswahl eines zu entwickelnden Softwareprojekts, Arbeitsschritte und deren Reihenfolge sowie Regeln für die Verteilung und Zuordnung von Methoden fest.
  • Methode ist ein systematisches Verfahren oder eine Technik zur Generierung von Beschreibungen von Softwarekomponenten (z. B. Entwurf von Abläufen und Datenstrukturen).
  • Notationen sollen die Struktur des Systems, Datenelemente und Verarbeitungsstufen beschreiben und umfassen Grafiken, Diagramme, Tabellen, Flussdiagramme sowie formale und natürliche Sprachen.
  • Einrichtungen- Werkzeuge zur Unterstützung und Stärkung von Methoden. Diese Tools unterstützen Benutzer beim interaktiven Erstellen und Bearbeiten eines grafischen Projekts, helfen bei der Organisation des Projekts in Form einer Hierarchie von Abstraktionsebenen und führen Komponentenkonformitätsprüfungen durch.

Unterschiede zwischen CASE und traditioneller Entwicklung

Traditionelle Entwicklung FALL
1 Der Hauptaufwand liegt im Codieren und Testen Der Schwerpunkt liegt auf Analyse und Design
2 „Papier“-Spezifikationen Schnelles iteratives Prototyping
3 Manuelle Codierung Automatische Codegenerierung
4 Manuelle Dokumentation Automatische Dokumentationserstellung
5 Codes testen Automatische Projektsteuerung
6 Codepflege Pflege von Designvorgaben

Software-Lebenszyklusmodell

CASE-Technologien bieten einen neuen automatisierungsbasierten Ansatz für das Software-Lebenszykluskonzept. Beim Einsatz von CASE verändern sich alle Phasen des Lebenszyklus, wobei die größten Veränderungen die Analyse- und Designphasen betreffen.

Das einfachste Lebenszyklusmodell:

Prototyping -> Spezifikationsdesign -> Projektsteuerung -> Codegenerierung -> Systemtests -> Wartung

Klassifizierung von CASE-Tools

Alle CASE-Tools sind in Typen, Kategorien und Ebenen unterteilt.

Klassifizierung nach Typ

Die Klassifizierung nach Typ spiegelt die funktionale Ausrichtung der CASE-Tools im technologischen Prozess wider:

  1. ANALYSE UND DESIGN. Die Werkzeuge dieser Gruppe werden zum Erstellen von Systemspezifikationen und -designs verwendet. Sie unterstützen bekannte Designmethoden. Zu diesen Mitteln gehören:
    • CASE.Analyst (Itex),
    • Der Entwickler (ASYST Technologies),
    • POSE (Berater für Computersysteme),
    • ProKit*Workbench (McDonnell Douglas),
    • Excelerator (Index-Technologie),
    • Design-Hilfe (Nastec),
    • Designmaschine (Optima),
    • MicroStep (Meta Systems),
    • vsDesigner (Visuelle Software),
    • Analyst/Designer (Yourdon),
    • Design/IDEF (Meta-Software),
    • BPWin (Logic Works),
    • SELECT (Software-Tools auswählen),
    • Systemarchitekt (Popkin Software & Systems),
    • Westmount I-CASE Yourdon (Westmount Technology B.V. & CADRE Technologies),
    • CASE/4/0 (microTOOL GmbH).
    Ihr Ziel besteht darin, die Systemanforderungen und Eigenschaften zu ermitteln, die das System haben muss, sowie einen Entwurf für ein System zu erstellen, das diese Anforderungen erfüllt und über die entsprechenden Eigenschaften verfügt. Die Ausgabe umfasst Spezifikationen von Systemkomponenten und Schnittstellen, die diese Komponenten verbinden, sowie ein „Tracing Sheet“ der Systemarchitektur und ein detailliertes „Tracing Sheet“ des Projekts, einschließlich Algorithmen und Definitionen von Datenstrukturen.
  2. Datenbank- und Dateidesign. Die Tools dieser Gruppe bieten logische Datenmodellierung, automatische Konvertierung von Datenmodellen in die Dritte Normalform, automatische Generierung von Datenbankschemata und Dateiformatbeschreibungen auf Programmcodeebene:
    • ERWin (Logic Works),
    • Chen Toolkit (Chen & Associates),
    • S-Designor (SDP),
    • Designer2000 (Oracle),
    • Silverrun (Berater für Computersysteme).
  3. PROGRAMMIERUNG. Tools in dieser Gruppe unterstützen die Programmier- und Testphasen sowie die automatische Codegenerierung aus Spezifikationen, was zu einem vollständig dokumentierten ausführbaren Programm führt:
    • COBOL 2/Workbench (Mikro Focus),
    • DECASE (DEC),
    • NETRON/CAP (Netron),
    • APS (Sage-Software).
    Zu dieser Werkzeuggruppe gehören neben Diagrammprogrammen für verschiedene Zwecke und Tools zur Unterstützung der Arbeit mit dem Repository auch herkömmliche Codegeneratoren, Codeanalysatoren (sowohl statisch als auch dynamisch), Testsuitegeneratoren, Testabdeckungsanalysatoren und Debugger.
  4. UNTERSTÜTZUNG UND REENGINEERING. Zu diesen Tools gehören Dokumentierer, Programmanalysatoren sowie Restrukturierungs- und Reengineering-Tools:
    • Adpac CASE Tools (Adpac),
    • Scan/COBOL und SuperStructure (Computerdatensysteme),
    • Inspektor/Recoder (Sprachtechnologie).
    Ihr Zweck besteht darin, anzupassen, zu ändern, zu analysieren, zu transformieren und neu zu konstruieren bestehendes System. Die Mittel erlauben
    • Unterstützung der gesamten Systemdokumentation, einschließlich Codes, Spezifikationen und Testsuiten;
    • Überwachen Sie die Testabdeckung, um die Vollständigkeit der Testbarkeit zu beurteilen.
    • Kontrollieren Sie die Funktion des Systems usw.
    Von besonderem Interesse sind Mobilitätstools (in FALL werden sie Migrationstools genannt) und Reengineering. Zu den Migrationstools gehören Übersetzer, Konverter, Makrogeneratoren usw., die die Übertragung eines bestehenden Systems auf eine neue Betriebs- oder Hardwareumgebung ermöglichen. Zu den Reengineering-Tools gehören:
    • statische Analysegeräte zur Erstellung von Diagrammen eines Softwaresystems aus seinen Codes und zur Bewertung der Auswirkungen von Änderungen (z. B. des „Ripple-Effekts“ – Änderungen zur Korrektur von Fehlern erzeugen neue Fehler);
    • dynamische Analysatoren (normalerweise Compiler und Interpreter mit integrierten Debugging-Funktionen);
    • Dokumentationen, die es Ihnen ermöglichen, bei Codeänderungen automatisch aktualisierte Dokumentation zu erhalten;
    • Code-Editoren, die beim Bearbeiten automatisch alle dem Code vorangehenden Strukturen (z. B. Spezifikationen) ändern;
    • Mittel, um auf Spezifikationen zuzugreifen, sie zu ändern und neuen (modifizierten) Code zu generieren;
    • Reverse-Engineering-Tools, die Codes in Spezifikationen übersetzen.
  5. UMFELD. Plattformunterstützungstools zur Integration, Erstellung und Vermarktung von CASE-Tools:
    • Multi/Cam (AGS-Managementsysteme),
    • Design/OA (Meta-Software).
  6. PROJEKTMANAGEMENT. Werkzeuge, die Planung, Steuerung, Steuerung, Interaktion unterstützen, d. h. Funktionen, die bei der Entwicklung und Wartung von Projekten erforderlich sind:
    • Projekt-Workbench (Angewandte Geschäftstechnologie).

Klassifizierung nach Kategorie

  • Hilfsprogramme (Tools)- Hilfspakete, die ein kleines, autonomes Problem lösen, das zu einem größeren Problem gehört.
  • Entwicklungspakete (Toolkit)- eine Reihe integrierter Softwaretools, die Unterstützung für eine der Klassen von Softwareaufgaben bieten; nutzt ein Repository für alle technischen und Managementinformationen zu einem Projekt und konzentriert sich dabei auf die Unterstützung typischerweise einer Phase oder Phase der Softwareentwicklung.
  • Werkbank- Integration von Software, die
    • Unterstützung Systemanalyse, Softwaredesign und -entwicklung;
    • Verwenden Sie ein Repository, das alle technischen und Managementinformationen über das Projekt enthält.
    • Bereitstellung einer automatischen Übertragung von Systeminformationen zwischen Entwicklern und Entwicklungsphasen;
    • Organisieren Sie den Support für einen nahezu vollständigen Lebenszyklus (von der Anforderungsanalyse und dem Softwaredesign bis zur Beschaffung eines dokumentierten ausführbaren Programms).
    Workbench weist im Vergleich zu Toolkit einen höheren Integrationsgrad der ausgeführten Funktionen, eine größere Unabhängigkeit und Autonomie bei der Nutzung sowie das Vorhandensein einer engen Verbindung mit dem System und den technischen Mitteln der Hardware- und Computerumgebung auf, auf der die Workbench basiert betreibt. Im Wesentlichen kann eine Workbench als automatisierte Workstation betrachtet werden, die als Toolkit zur Automatisierung aller oder einzelner Arbeitsschritte bei der Softwareerstellung dient.

Einteilung nach Stufen

Die Ebenenklassifizierung hängt mit dem Umfang von CASE innerhalb des Softwarelebenszyklus zusammen. Da jedoch keine klaren Kriterien für die Festlegung der Grenzen zwischen den Ebenen festgelegt wurden, ist diese Klassifizierung im Allgemeinen qualitativer Natur.

  • Oberes Gehäuse oft als Computerplanungstools bezeichnet. Sie sollen die Effizienz von Firmen- und Projektmanagern steigern, indem sie die Kosten für die Festlegung der Firmenpolitik und die Erstellung eines Gesamtprojektplans senken. Dieser Plan umfasst Ziele und Strategien zu deren Erreichung, Hauptmaßnahmen im Lichte der Ziele und Zielsetzungen des Unternehmens sowie die Festlegung von Standards für Verschiedene Arten Beziehungen usw. Mithilfe der oberen FÄLLE können Sie ein Modell des Themenbereichs erstellen, das alle vorhandenen Besonderheiten widerspiegelt. Ziel ist es, die allgemeinen und spezifischen Funktionsmechanismen, verfügbaren Fähigkeiten, Ressourcen und Projektziele im Einklang mit dem Unternehmenszweck zu verstehen. Mit diesen Tools können Sie verschiedene Szenarien (einschließlich Best- und Worst-Case-Szenarien) analysieren und Informationen sammeln, um optimale Entscheidungen zu treffen.
  • Mittlerer Fall gelten als Werkzeuge zur Unterstützung der Phasen der Anforderungsanalyse und des Entwurfs von Softwarespezifikationen und -strukturen. Ihr Einsatz verkürzt den Projektentwicklungszyklus erheblich; Gleichzeitig spielt die Möglichkeit, Wissen zu sammeln und zu speichern, das normalerweise nur im Kopf des Entwickler-Analysten vorhanden ist, eine wichtige Rolle, um die gesammelten Lösungen bei der Erstellung anderer Projekte nutzen zu können. Der Hauptvorteil der Verwendung eines durchschnittlichen CASE besteht darin, dass der Systementwurf dadurch zu einem iterativen Prozess wird, der die folgenden Schritte umfasst:
    • Der Benutzer bespricht mit dem Analysten die Anforderungen an das zu entwerfende System.
    • Der Analyst dokumentiert diese Anforderungen mithilfe von Diagrammen und Eingabewörterbüchern.
    • Der Benutzer überprüft diese Diagramme und Wörterbücher und ändert sie gegebenenfalls.
    • Der Analyst reagiert auf diese Änderungen, indem er die entsprechenden Spezifikationen ändert.
    Darüber hinaus bieten mittlere CASEs eine schnelle Anforderungsdokumentation und schnelle Prototyping-Funktionen.
  • Kleinbuchstaben sind Softwareentwicklungstools (bis zu 30 % der mit durchschnittlichen CASE-Tools erstellten Spezifikationen können verwendet werden). Sie enthalten Systemvokabulare und grafische Tools, die die Entwicklung physischer Spezifikationen überflüssig machen. Es gibt Systemspezifikationen, die direkt in Programmcodes des zu entwickelnden Systems übersetzt werden (bis zu 80-90 % der Codes werden automatisch generiert). Diese Tools sind auch für Tests, Konfigurationsmanagement und Dokumentationserstellung verantwortlich. Die Hauptvorteile niedrigerer CASEs sind: eine deutliche Verkürzung der Entwicklungszeit, einfachere Modifikationen und Unterstützung von Prototyping-Funktionen (zusammen mit mittleren CASEs).

Vorteile der CASE-Methoden

  • Verbesserung der Qualität der erstellten Software durch automatische Kontrollinstrumente (hauptsächlich Projektkontrolle);
  • ermöglichen es Ihnen, in kurzer Zeit einen Prototyp zu erstellen zukünftiges System, wodurch Sie das erwartete Ergebnis frühzeitig beurteilen können;
  • den Design- und Entwicklungsprozess beschleunigen;
  • Befreien Sie den Entwickler von Routinearbeiten, sodass er sich ganz auf den kreativen Teil der Entwicklung konzentrieren kann.
  • Unterstützung der Entwicklung und Aufrechterhaltung der Entwicklung;
  • Unterstützungstechnologien für die Wiederverwendung von Entwicklungskomponenten.
  • Globale Informationsgemeinschaft
  • Zeichen der Informationsgesellschaft:
  • Nutzung der Informationstechnologie für internationale Geschäfte.
  • Klassifizierung von Informationssystemen. Klassifizierung von Informationssystemen anhand der Strukturierung von Aufgaben Das Konzept der Strukturierung von Aufgaben
  • Arten von Informationssystemen, die zur Lösung halbstrukturierter Probleme verwendet werden
  • Klassifizierung von Informationssystemen nach Funktionsmerkmalen und Managementebenen Was bedeutet ein Funktionsmerkmal?
  • Arten von Informationssystemen
  • Informationssysteme für mittlere Führungskräfte
  • Strategische Informationssysteme
  • Strategische Informationssysteme
  • Informationssysteme im Unternehmen
  • Andere Klassifizierungen von Informationssystemen Klassifizierung nach Automatisierungsgrad
  • Klassifizierung nach der Art der Informationsnutzung
  • Einteilung nach Anwendungsgebiet
  • Thema 3. Unternehmensinformationssysteme. ConceptKis.
  • Entstehungsgeschichte
  • Moderne Konzepte von Kitty.
  • Entwicklungsperspektiven
  • Inländische Entwicklungen, ihre Vor- und Nachteile.
  • Vorlesung 3. Erstellung von Informationssystemen, Qualität und Effizienz Thema 1. Erstellung, Implementierung und Wartung von Informationssystemen in der Produktion.
  • Systematischer Planungsansatz
  • Planungsmethodik für Informationssysteme
  • Bibliotheksinformationssystem
  • Struktureller Ansatz für das Softwaredesign
  • Objektorientierter Ansatz für das Softwaredesign
  • Einheitliche Modellierungssprache UML
  • Implementierung von Informationssystemen
  • Auswahl von Optionen zur Implementierung von Informationstechnologie in einem Unternehmen
  • Veralterung der Informationstechnologie
  • Unterstützung von IP in der Produktion. Thema 2. Qualität und Effizienz von Informationssystemen. Grundsätze für den effektiven Einsatz von IT
  • Möglichkeiten zur Verbesserung der Effizienz der Informationstechnologie
  • IT-Qualitätsbewertung
  • Die darin verwendeten Leistungskriterien. Kriterium 1. „Sättigung mit Computern.“
  • Kriterium 2. „IS-Integration“.
  • Kriterium 3. „Netzwerke öffentlich zugänglicher Informationsbanken.“
  • Ein Ansatz zur Bewertung der Wirksamkeit von Projekten zur Implementierung von Informationssystemen in einem Unternehmen
  • Quantitative Bewertung der Optionen für IS-Implementierungsprojekte
  • Ranking der Optionen für IS-Implementierungsprojekte
  • Prozessparameter „Zeit“
  • Kostenprozessparameter
  • Prozessparameter „Qualität“
  • Vorlesung 4. Mathematische, Software- und Informationsunterstützung neuer Informationstechnologien (nit) Thema 1. Arten unterstützender Subsysteme. Arten unterstützender Subsysteme
  • Informationsunterstützung
  • Technische Unterstützung
  • Thema2. Mathematik und Software von Informationssystemen Mathematik und Software
  • Organisatorische Unterstützung
  • Rechtsbeistand
  • Vorlesung 5. Entscheidungsunterstützungssysteme Thema 1. Entscheidungsunterstützungssysteme
  • Thema2. Analytische Methoden und Tools zur Unterstützung der Management-Entscheidungsfindung.
  • Komponenten eines Expertensystems
  • Entwicklung von Expertensystemen.
  • Klassifizierung von Computertrainingssystemen
  • EOS als Bestandteil der intensiven Ausbildung von Fachkräften
  • Systemzusammensetzung
  • Subsystemfunktionen: league:Law Classic
  • Liga: Rechtswirtschaft
  • Besonderheiten der Liga:Rechtssysteme:
  • Thema2. .E-Commerce-Grundlagen
  • Vorlesung 11. Falltechnologien und ihre Verwendung Thema 1. Gehäusetechnologien und ihre Verwendung
  • Trends in der Entwicklung moderner Informationstechnologien
  • Fall-Mittel. Allgemeine Merkmale und Klassifizierung
  • Der Begriff Fall bedeutet
  • Allgemeine Merkmale und Klassifizierung der Fallmittel
  • Technologie zur Implementierung von Case-Tools
  • Analyse der Fähigkeiten der Organisation
  • Fallmarktanalyse
  • Wirkungsbewertung
  • Voraussetzungen für eine erfolgreiche Umsetzung
  • Bewertung von Case-Tools
  • Fall-Mittel. allgemeine Charakteristiken und Klassifizierung

    Moderne CASE-Tools decken ein breites Spektrum an Unterstützung für zahlreiche IS-Designtechnologien ab: von einfachen Analyse- und Dokumentationstools bis hin zu umfassenden Automatisierungstools, die den gesamten Software-Lebenszyklus abdecken.

    Die arbeitsintensivsten Phasen der IS-Entwicklung sind die Phasen der Analyse und des Designs, in denen CASE-Tools die Qualität der getroffenen technischen Entscheidungen und die Erstellung der Projektdokumentation sicherstellen. Dabei spielen Methoden der visuellen Darstellung von Informationen eine wichtige Rolle. Dazu gehört die Erstellung struktureller oder anderer Diagramme in Echtzeit unter Verwendung einer vielfältigen Farbpalette und eine durchgängige Überprüfung syntaktischer Regeln. Grafische Domänenmodellierungstools ermöglichen es Entwicklern, einen vorhandenen IS visuell zu untersuchen und ihn gemäß ihren Zielen und bestehenden Einschränkungen neu aufzubauen.

    Die Kategorie der CASE-Tools umfasst sowohl relativ günstige Systeme für Personalcomputer mit sehr begrenzten Fähigkeiten als auch teure Systeme für heterogene Computerplattformen und Betriebsumgebungen. So umfasst der moderne Softwaremarkt etwa 300 verschiedene CASE-Tools, von denen die leistungsstärksten auf die eine oder andere Weise von fast allen führenden westlichen Unternehmen genutzt werden.

    Der Begriff Fall bedeutet

    Typischerweise umfassen CASE-Tools jede Software, die den einen oder anderen Satz von Software-Lebenszyklusprozessen automatisiert und die folgenden Hauptmerkmale aufweist:

      leistungsstarke grafische Tools zur Beschreibung und Dokumentation von geistigem Eigentum, die eine praktische Schnittstelle zum Entwickler bieten und seine kreativen Fähigkeiten entwickeln;

      Integration einzelner Komponenten von CASE-Tools, um die Kontrolle über den IS-Entwicklungsprozess sicherzustellen;

      Nutzung einer speziell organisierten Speicherung von Projektmetadaten (Repository).

    Ein integriertes CASE-Tool (oder eine Reihe von Tools, die einen vollständigen Software-Lebenszyklus unterstützen) enthält die folgenden Komponenten:

      ein Repository, das die Grundlage eines CASE-Tools bildet. Es sollte die Speicherung von Versionen des Projekts und seiner einzelnen Komponenten, die Synchronisierung der von verschiedenen Entwicklern während der Gruppenentwicklung erhaltenen Informationen sowie die Kontrolle von Metadaten auf Vollständigkeit und Konsistenz gewährleisten.

      grafische Analyse- und Designtools, die die Erstellung und Bearbeitung hierarchisch zusammenhängender Diagramme (DFD, ERD usw.) ermöglichen, die IS-Modelle bilden;

      Anwendungsentwicklungstools, einschließlich 4GL-Sprachen und Codegeneratoren;

      Konfigurationsmanagement-Tools;

      Dokumentationstools;

      Prüfwerkzeuge;

      Projektmanagement-Tools;

      Reengineering-Tools.

    Allgemeine Merkmale und Klassifizierung der Fallmittel

    Alle moderne CASE-Tools können hauptsächlich in Typen und Kategorien eingeteilt werden. Die Klassifizierung nach Typ spiegelt die funktionale Ausrichtung von CASE-Tools auf bestimmte Lebenszyklusprozesse wider. Die Klassifizierung nach Kategorien bestimmt den Grad der Integration entsprechend den ausgeführten Funktionen und umfasst separate lokale Tools, die kleine autonome Aufgaben lösen (Tools), eine Reihe teilweise integrierter Tools, die die meisten Phasen des IS-Lebenszyklus abdecken (Toolkit), und vollständig integrierte Tools, die unterstützen den gesamten Lebenszyklus des IS und sind über ein gemeinsames Repository miteinander verbunden. Darüber hinaus lassen sich CASE-Tools nach folgenden Kriterien klassifizieren:

      Angewandte Methoden und Modelle von Systemen und Datenbanken;

      Grad der Integration mit dem DBMS;

      verfügbaren Plattformen.

    Die Klassifizierung nach Typ stimmt grundsätzlich mit überein Komponentenzusammensetzung CASE-Tools und umfasst die folgenden Haupttypen:

      Analysetools (Upper CASE), die zum Erstellen und Analysieren von Domänenmodellen entwickelt wurden (Design/IDEF (Meta Software), BPwin (Logic Works));

      Analyse- und Designtools (Middle CASE), die die gängigsten Designmethoden unterstützen und zur Erstellung von Designspezifikationen verwendet werden (Vantage Team Builder (Cayenne), Designer/2000 (ORACLE), Silverrun (CSA), PRO-IV (McDonnell Douglas), CASE . Analyst (MacroProject)). Das Ergebnis solcher Tools sind Spezifikationen von Systemkomponenten und Schnittstellen, Systemarchitektur, Algorithmen und Datenstrukturen;

      Datenbankentwurfstools, die Datenmodellierung und Generierung von Datenbankschemata (normalerweise in SQL-Sprache) für die gängigsten DBMS ermöglichen. Dazu gehören ERwin (Logic Works), S-Designor (SDP) und DataBase Designer (ORACLE). Datenbankdesign-Tools sind auch in den Tools Vantage Team Builder, Designer/2000, Silverrun und PRO-IV CASE verfügbar.

      Anwendungsentwicklungstools. Dazu gehören 4GL-Tools (Uniface (Compuware), JAM (JYACC), PowerBuilder (Sybase), Developer/2000 (ORACLE), New Era (Informix), SQL Windows (Gupta), Delphi (Borland) usw.) und Generatorcodes im Vantage Team Builder, PRO-IV und teilweise in Silverrun enthalten;

      Reengineering-Tools, die eine Analyse von Programmcodes und Datenbankschemata und die darauf basierende Bildung verschiedener Modelle und Designspezifikationen ermöglichen. Tools zur Datenbankschemaanalyse und ERD-Generierung sind in Vantage Team Builder, PRO-IV, Silverrun, Designer/2000, ERwin und S-Designor enthalten. Im Bereich der Programmcode-Analyse werden am häufigsten objektorientierte CASE-Tools verwendet, die ein Reengineering von Programmen in C++ ermöglichen (Rational Rose (Rational Software), Object Team (Cayenne)).

    Zu den Hilfstypen gehören:

      Planungs- und Projektmanagement-Tools (SE Companion, Microsoft Project usw.);

      Konfigurationsmanagement-Tools (PVCS (Intersolv));

      Testtools (Quality Works (Segue Software));

      Dokumentationstools (SoDA (Rational Software)).

    Denken wir daran, dass die CASE-Technologie nicht nur eine Methodik, sondern auch ein Toolkit ist. Mittlerweile gibt es eine große Anzahl an CASE-Paketen auf dem Markt. Alle modernen CASE-Tools können hauptsächlich nach Typen und Kategorien klassifiziert werden.

    Die Klassifizierung nach Typ spiegelt die funktionale Ausrichtung von CASE-Tools auf bestimmte Lebenszyklusprozesse wider.

    Die Klassifizierung nach Kategorien bestimmt den Grad der Integration entsprechend den ausgeführten Funktionen und umfasst separate lokale Tools, die kleine autonome Aufgaben lösen (Tools), eine Reihe teilweise integrierter Tools, die die meisten Phasen des IS-Lebenszyklus abdecken (Toolkit), und vollständig integrierte Tools, die unterstützen den gesamten Lebenszyklus des IS und sind über ein gemeinsames Repository miteinander verbunden. Darüber hinaus lassen sich CASE-Tools nach folgenden Kriterien klassifizieren:

    Ø angewandte Methoden und Modelle von Systemen und Datenbanken;

    Ø Grad der Integration mit dem DBMS;

    Ø zugängliche Plattformen.

    Klassifizierung nach Typ stimmt grundsätzlich mit der Komponentenzusammensetzung der CASE-Tools überein und umfasst folgende Haupttypen:

    Ø Analysetools(Großbuchstabe), konzipiert für die Erstellung und Analyse von Domänenmodellen. Beispiele für Programme dieser Art sind: Design/IDEF, entwickelt von Meta Software, und BPwin (entwickelt von Logic Works);

    Ø Analyse- und Designtools(Mittlerer Fall), unterstützt die gängigsten Designmethoden und wird zur Erstellung von Designspezifikationen verwendet.

    Beispiele: Vantage Team Builder (Cayenne), Designer/2000 (ORACLE), Silverrun (CSA), PRO-IV (McDonnell Douglas), CASE.Analyst (MacroProject)).

    Das Ergebnis solcher Tools sind Spezifikationen von Systemkomponenten und Schnittstellen, Systemarchitektur, Algorithmen und Datenstrukturen;

    Ø Datenbank-Design-Tools, Bereitstellung von Datenmodellierung und Generierung von Datenbankschemata (normalerweise in SQL-Sprache) für die gängigsten DBMS.

    Dazu gehören ERwin (Logic Works), S-Designor (SDP) und DataBase Designer (ORACLE).

    Datenbankdesign-Tools sind auch in den Tools Vantage Team Builder, Designer/2000, Silverrun und PRO-IV CASE verfügbar.

    Ø Anwendungsentwicklungstools.

    Dazu gehören 4GL-Tools (Uniface (Compuware), JAM (JYACC), PowerBuilder (Sybase), Developer/2000 (ORACLE), New Era (Informix), SQL Windows (Gupta), Delphi (Borland) usw.) und Generatorcodes im Vantage Team Builder, PRO-IV und teilweise in Silverrun enthalten;

    Ø Reengineering-Tools, Bereitstellung einer Analyse von Programmcodes und Datenbankschemata und der darauf basierenden Bildung verschiedener Modelle und Designspezifikationen.



    Ø Tools zur Datenbankschemaanalyse enthalten in Vantage Team Builder, PRO-IV, Silverrun, Designer/2000, ERwin und S-Designor.

    Im Bereich der Programmcode-Analyse werden am häufigsten objektorientierte CASE-Tools verwendet, die ein Reengineering von Programmen in C++ ermöglichen (Rational Rose (Rational Software), Object Team (Cayenne)).

    Zu den Hilfstypen gehören:

    Ø Projektplanungs- und Managementtools

    o Beispiele: SE Companion, Microsoft Project usw.;

    Ø Konfigurationsmanagement-Tools

    o Beispiel: PVCS (Intersolv);

    Ø Testwerkzeuge

    o Beispiel: Quality Works (Segue-Software);

    Ø Dokumentationstools

    o Beispiel: SoDA (Rational Software).

    Ø lokal, unterstützt ein oder zwei Arten von Modellen und Methoden. Beispiele: Design/IDEF, ProCap, S-Designor, „CASE. Analyst“;

    Ø klein integriert Modellierungswerkzeuge, die verschiedene Arten von Modellen und Methoden unterstützen (ERwin, BPwin);

    Ø mittel integriert Modellierungswerkzeuge, die 4 bis 10–15 Arten von Modellen und Methoden unterstützen (Rational Rose, Paradigm Plus, Designer/2000);

    Ø groß integriert Modellierungswerkzeuge, die mehr als 15 Arten von Modellen und Methoden unterstützen (ARIS Toolset).

    Bei der Entwicklung eines IMS lokal Modellierungswerkzeuge können nur auf konzeptioneller Ebene zur Voranalyse oder als Mittel zur Demonstration allgemeiner Vorschläge für ein zukünftiges Projekt gegenüber dem Kunden eingesetzt werden. Aufgabe umfassende Analyse System kann nicht mit lokalen Mitteln gelöst werden.

    Klein integriert Modellierungswerkzeuge sind in der Regel aus lokalen Werkzeugen „historisch gewachsen“. Ebenso wie letztere konzentrierten sie sich zunächst nicht auf die komplexe Analyse von Systemen. Möglichkeiten zur Integration verschiedener Modelle allgemeines Modell erschien im Prozess der Verbesserung und Entwicklung dieser Softwaretools. Charakteristische Eigenschaften Diese Kategorie umfasst das Vorhandensein unabhängiger Komponenten im Tool und die Integration von Modellen durch Export und Import von Daten

    Ein typischer Vertreter kleiner integrierter Modellierungswerkzeuge ist die Software-Suite Platinum Technology (CA/Platinum/Logic Works), die auf den beliebten Paketen BPwin und Erwin basiert.

    BPwin. Unterstützt drei Modellierungsmethoden: IDEF0 (Funktionsdiagramme), IDEF3 (nur Prozessdiagramme), DFD (Datenflussdiagramme) und ermöglicht die Integration von drei Modelltypen ohne Export oder Import von Daten. Die Integration erfolgt entweder durch die Zusammenführung mehrerer Modelle oder durch den Wechsel zu unterschiedlichen Methoden während der Entwicklung einzelner Modelldiagramme. Es ist möglich, die Möglichkeiten der Systemanalyse sowohl im BPwin-Paket selbst (Funktionskostenanalyse) als auch durch den Export von Daten in andere Pakete zu erweitern.

    ERwin. Unterstützt verschiedene Arten von Ibasierend auf ER-Diagrammen (Entity-Relationship). Die Integration von BPwin-Modellen mit ERwin-Modellen erfolgt durch den Datenaustausch über Export-/Importfunktionen. Diese Pakete sind beispielsweise Standardwerkzeuge für die Prozessanalyse bei der NATO

    Kleine integrierte Systeme sowie lokale Systeme ermöglichen praktisch keine umfassende Systemanalyse, die für die Erstellung kleiner, mittlerer und großer PMIS mehr oder weniger notwendig ist. Mit ihrer Hilfe können Sie lokale PMIS oder kleine Subsysteme entwickeln, die einzelne Geschäftsketten automatisieren sollen, also wenn keine umfassende Analyse des Unternehmens erforderlich ist. Ein typischer Einsatzbereich kleiner integrierter Tools ist die Lösung von Problemen der sogenannten „stückweisen“ Automatisierung eines Unternehmens.

    Unter den lokalen und kleinen Tools erfreuen sich Programme, die auf der Umsetzung eines strukturierten Ansatzes zur Analyse und zum Design von Systemen und IDEF-Methoden basieren, nach wie vor großer Beliebtheit.

    Lokale und kleine Tools können bei der Entwicklung lokaler bzw. kleiner PMIS verwendet werden. Für mittlere und große PMIS ist der Einsatz dieser Tools als Ergänzung zu einem vielseitigeren Mittelklasse-Tool sinnvoll.

    Mittlere integrierte Simulatoren. Diese Kategorie stellen Softwareprodukte dar, deren Erstellung zunächst die Anforderungen für den integrierten Einsatz verschiedener Methoden und Modelltypen beinhaltete. Produkte der mittleren Kategorie haben einheitliche Umgebung um alle unterstützten Modelltypen zu entwickeln, sodass Sie dieselben Objekte in verschiedenen Modellen verwenden können.

    Zu den mittelintegrierten Tools gehören die folgenden: berühmte Produkte, wie Rational Rose (Rational Software), Paradigm Plus (CA/Platinum), Designer/2000 (Oracle).

    Mittelklasse-Simulationstools sind für die Durchführung komplexer Systemanalysen konzipiert. Sie können bei der Erstellung kleiner und mittlerer Managementsysteme erfolgreich eingesetzt werden, insbesondere ab der Phase der Spezifikationsanalyse. Schwache Seite- unzureichende Möglichkeiten zur Modellierung und Analyse höheres Niveau(Anforderungsanalyse).

    Mittelklasse-Modellierungswerkzeuge basieren typischerweise auf einem objektorientierten Ansatz zur Systemmodellierung und -analyse. Der De-facto-Standard für diese Werkzeugkategorie ist die Unified Modeling Language UML.

    Nach Angaben des Forschungsunternehmens International Data Corporation nimmt unter den Tools, die in diese Kategorie eingeordnet werden können, das Rational Rose-Paket die Spitzenposition ein.

    Mittlere integrierte Tools sind in erster Linie für die Spezifikationsanalyse- und Implementierungsebene konzipiert. Sie eignen sich für die Entwicklung von Managementinformationssystemen für mittlere, kleine und lokale Unternehmen. Fehlende Analysemöglichkeiten auf Anforderungsebene können durch den Einsatz in Verbindung mit lokalen oder kleinräumigen Tools ausgeglichen werden.


    Reis. 2.1. Der Einsatz lokaler, kleiner und mittlerer integrierter Modellierungstools in verschiedenen Phasen der Erstellung eines IMS

    Große integrierte Simulationstools. Zu dieser Kategorie gehören Tools, die speziell für den Entwurf großer Managementsysteme entwickelt wurden, beispielsweise Unternehmensmanagementsysteme der ERP-Klasse.

    Ein Beispiel ist die ARIS-Softwareproduktfamilie (ARIS Toolset, ARIS Easy Design) der IDS Sheer AG. Verkörpert in ARIS praktische Erfahrung vielen Analysten, die im Bereich des PMIS-Designs arbeiten, und berücksichtigt auch die Mängel vorhandener Tools. Besonderheit ARIS- Besondere Aufmerksamkeit bis zur ersten Analyseebene (Anforderungsanalyse).

    Ohne die Klassifizierung von Werkzeugen in lokal, klein, mittel und groß aufzugeben, verwenden wir auch eine andere Klassifizierung von Werkzeugen, ähnlich der Klassifizierung von PMIS in ERP - Nicht-ERP.

    Die Zugehörigkeit zur ERP-Kategorie für ein Modellierungstool bedeutet, dass es für die Durchführung komplexer Analysen in allen Phasen (Anforderungen, Spezifikationen, Implementierung) der Entwicklung eines PMIS der ERP-Klasse konzipiert ist. Selbstverständlich können mit einem solchen Tool auch beliebige andere Managementsysteme erstellt werden, nicht nur ERP.

    Wenn das Modellierungstool zur Nicht-ERP-Kategorie gehört, bedeutet dies, dass es nicht dazu gedacht ist, alle Analyseebenen beim Entwurf eines PMIS der ERP-Klasse durchzuführen, sondern dass es (das Tool) zur Erstellung lokaler, kleiner oder mittlerer große PMIS, die nicht zur ERP-Klasse gehören


    Reis. 2.2. Bewertung der Anwendbarkeit von Tools für die PMIS-Analyse

    Von den oben besprochenen Tools kann nur ARIS als ERP klassifiziert werden. Auf die Softwareproduktfamilie ARIS wird in Kapitel 7 dieses Handbuchs ausführlicher eingegangen.

    Zusammenfassung. Alle oben besprochenen Tools werden häufig zur Modellierung und Analyse von Systemen verwendet, auch beim Erstellen eines IMS.

    Fragen zu Kapitel 2

    1. Definieren Sie ein CASE-Tool .

    2. Was versteht man unter „struktureller Methodik“?

    3. Formulieren Sie die wichtigsten Bestimmungen der Strukturmodellierungsmethodik.

    4. Welche Eigenschaften müssen Informationen für die erfolgreiche Implementierung von CASE-Tools haben?

    5. Welche Vorteile bietet die Implementierung von CASE-Tools einer Organisation?

    6. Nennen Sie die Hauptmerkmale der CASE-Tools?

    7. Was ist ein „Repository“?

    8. Wie können CASE-Tools klassifiziert werden?

    9. Welche CASE-Fonds werden als klein eingestuft?

    10. Was ist typisch für große CASE-Fonds?