Wie erstellt man eine "dependency graph" für IT-assets
Einer meiner Kunden versucht, zu erstellen eine interaktive "matrix" - Abhängigkeiten für verschiedene Anwendungen in Ihre Firma (es ist ein Reise&Freizeit Unternehmen mit rund 2500 Mitarbeitern).
Die Idee (noch im Prototyp-Stadium) ist eine Art Karte, basiert auf Visio oder ähnlichen Tools, welche Spuren die Kommunikation und die Interdependenzen zwischen allen IT-assets im Unternehmen, so dass, wenn jemand fragt, für eine änderung können Sie sich einen überblick über die Auswirkungen.
Dieser erwähnt wurde, in einer ungezwungenen Atmosphäre und es wird nicht meine Verantwortung, direkt arbeiten, aber ich Tat beitragen, den kleinen kenne ich bereits in Bezug auf die vage Verwandte Methoden (Zachman Framework).
Würde ich gerne hören, von den Menschen hier, wenn Sie wissen, von Methoden oder tools, die helfen können, diese Art der Anstrengung, und wenn Sie eine bestimmte Erfahrung beitragen. Ich werde verdauen, die Antworten und schicken das Ergebnis zurück an meine Kunden, in der Hoffnung, dies kann eine Hilfe sein bei Ihrer Aufgabe (die halte ich für ein bisschen VISIONÄR und anfällig für alle die Tücken der Dokumentation-Projekt, aber immer noch lohnt sich zu verfolgen).
N. B.: Die Frage ist nicht, "ich habe alle diese Daten habe ich gesammelt über die IT-assets und ich bin nicht in der Lage zu leisten, Visio oder Google für Graphviz oder wandeln Sie es in ein MindMapping-tool, oder erstellen Sie eine benutzerdefinierte navigator mit Jgraph etc.etc.".
Das problem ist "wie bekomme ich die relevanten/nützlichen Informationen, und wie soll ich das organisieren dieser, überlege ich eventuell aktualisieren die Daten regelmäßig, aufgrund interface, version und Paket verpasst?"
Dies ist nicht viel von einer Visualisierung problem, oder noch nicht. Wir haben, um einen guten start mit der Erhebung von Daten und die Organisation. Wenn Sie möchten, schlagen Sie ein tool, es muß auch die Daten-Sammlung und-management (z.B.: Rational System Architect). Aber in diesem Fall, schlagen Sie bitte es, wenn Sie einige echte Erfahrung, oder wenn du sicher bist, dass es ziemlich Nische und nicht sehr gut kennen (ich kann Google, danke).
Wenn Sie wollen schlagen vor, einige Bücher/Methoden dies ist auch hilfreich (ich kenne nur das Zachman Framework, und nicht sicher, ob es wirklich eine gute Passform).
"Erstellen Sie einfach eine Excel-Datei" oder "könnten Sie SmartDraw, Mann!!!" nicht viel helfen, fürchte ich.
Gefunden Iteraplan das aussieht, passt sehr gut!
InformationsquelleAutor der Frage p.marino | 2010-06-10
Du musst angemeldet sein, um einen Kommentar abzugeben.
Mich korrigieren, wenn ich falsch Liege... Du bist auf der Suche zu verwenden, ein Diagramm als Werkzeug zur Rückverfolgung der Abhängigkeiten in einem system.
Wenn das der Fall ist, das, was Sie verwenden würden, um grafisch anzeigen das layout wäre wohl ein Verteilungsdiagramm in UML.
Sie eine übersicht über die Systeme/servers/Sachwerten als box-Objekte dann innerhalb von denen Sie sich eine übersicht über die verschiedenen Anwendungen, Datenbanken, Komponenten und Ihre Beziehungen mit einander.
Das problem mit der Verwendung von UML, Programmierer konzentrieren sich vor allem auf Klassendiagramme (wegen Ihrer direkten Beziehung zur Datenmodellierung in der software), so ist es schwer zu finden 'gut' Ressourcen und Beispiele für die nicht-Klasse von UML-Diagrammen.
Ich habe diese einmal in der Vergangenheit auf die Karte eine relativ komplexe cross-system cross-Anwendung, die Umsetzung und meine Gedanken in einer Weise, die geteilt werden könnten, mit anderen Entwicklern bei der Entwicklung des Systems. Kurz gesagt, es war einfach und es hat seine Aufgabe gut.
Erstellen Sie das Diagramm, die ich verwendet ø. Wenn ich musste es tun alle wieder ich würde definitiv Visio verwenden, weil es viel einfacher zu finden, pre-made Schablone/template-Pakete zu Diagramm mit onlineund wenn diejenigen, die nicht haben, was Sie brauchen, es ist sehr leicht zu Rollen Sie Ihre eigenen Schablonen in Visio.
Hinweis: ich habe viele (Hunderte von Stunden) Erfahrung in Visio tut elektrischen designs, so würde ich halte mich für ausreichend vertraut mit den tools zu geben, die einen objektiven Vergleich.
Der Nachteil an einer gut angegebenen format:
Meine Vorschläge sind:
Wenn ein Entwickler, der noch nie gesehen hat, das Diagramm kann nicht gestartet werden, entschlüsseln Sie das layout und Bedeutungen innerhalb der ersten paar Minuten, es zu betrachten, es wird wahrscheinlich mehr Schaden als gutes tun.
Halte ich die Zachman Framework eine schlechte option, weil:
Während Sie forschen Optionen Fragen Sie sich diese Frage. Verstehen Sie, der Punkt des Diagramms?
Das problem mit der Diagrammerstellung ein design ist, wenn man es falsch wird erstellen mehr Kopfschmerzen dann seinen Wert, und niemand wird es verwenden. Keine design-Dokument ist in der Regel besser als ein bad design-Dokument.
Ich hoffe, das hilft.
InformationsquelleAutor der Antwort Evan Plaice
Wenn Ihr Kunde will, um zu verstehen, die Auswirkungen, die Sie brauchen, um zu modellieren, was die Artefakte sind, was den Informationsfluss zwischen Ihnen, und wie die Teile von Unternehmen, die Interaktion mit den Artefakten.
Könnten Sie darüber nachdenken, eine SADT Modell. Boxen in der SADT Modelle stellen Prozesse. Ausgezeichneten Daten-input-Bögen zeigen, was [möglicherweise Verbindung] Informationen/Ressourcen zugeführt in einen Prozess; gekennzeichnet Ausgabe Bögen zeigen Daten/Ressourcen produziert. Steuern Bögen zeigen die "großen" Signale, dass die Kontrolle der Verarbeitung. Ressource/Mechanismus Bögen zeigen, welche Ressourcen erforderlich sind, um Weg von der Prozess (z.B., hardware-Systeme, Netzwerke, ...).
Für Ihre Aufgabe, Sie zu behandeln, Anwendungen und Unternehmen Aktivitäten wie SADT Prozesse (Kästen). Daten in/out und Steuern Bögen connect-Anwendungen (SADT-Boxen) zu anderen SADT-Boxen, oder an externe Datenquellen und-senken (interne Abteilungen, Mitarbeiter, Vertrieb, Versand, e.g, Unternehmens-Stakeholder). So können Sie Modell der Informationsfluss durch das Unternehmen über die verschiedenen Anwendungen und darüber, welche Informationen Sie konsumieren/verarbeiten/produzieren/verwenden, und dem, was Agenten produzieren/verwenden Sie die Daten. (Dies alles ist als "Strukturierte Analyse").
[Für anspruchsvolle SADT-Modellen, die einzelnen Prozess-box kann sinnvoll rekursiv zerlegt in sub SADT-Diagramme. Ich glaube nicht, dass Sie müssen das Modell nur die Anwendung von Abhängigkeiten; Sie brauchen nicht zu wissen, wie die Anwendungen die Arbeit im inneren, es sei denn, Sie sind wirklich Komplex und die Trennung von Datenfluss Angelegenheit.]
Jede änderung informaiton input/output, Löschung einer Anwendung wäre dann eine offensichtliche Entsprechung in der SADT-Diagramm, und somit würde dazu führen, besser zu verstehen, was die Konsequenzen sind.
Seine eine große Verpflichtung, dieses Recht, und du wirst arbeiten müssen, um auf dem neuesten Stand halten, das ist wahrscheinlich der Ort, es wird scheitern, es sei denn, jeder ist angemeldet für die lange Sicht.
Für diejenigen von Euch, die nicht versucht, mit SADT, es ist ein bemerkenswert einfaches system zu erfassen (dies entspricht anderen Antwort Diktum halten Sie es einfach), und bemerkenswert effektiv bei der Zerschlagung komplexe Bearbeitung der Aufgaben in Blöcken, wo Sie sehen können (und tatsächlich kommunizieren) im wesentlichen alles, auch für Führungskräfte! Ein Schlüssel zu SADT Arbeit ist, um nicht schlampig zu definieren; die Bögen und Knoten gezielt und nicht überspringen, Informationsquellen oder-senken. Wenn Sie das tun, SADT zahlt ansehnlich. [ Die meisten whiteboard-box und die Pfeil-Grafiken sind schrecklich: man kann nicht sagen, was wirklich eine Aktion, welche wirklich Daten, oder wenn alle Angaben tatsächlich gezeigt, und wer ihn nutzt].
IMHO ist es interessant zu beachten, dass SADT-Modellen erfassen, die intuition, die hinter farbige Petri-Netzewelches Modell beliebig komplexe asynchrone Berechnungen, generalizaton von Petri-Netzedie eine Verallgemeinerung von endlichen Automaten.
InformationsquelleAutor der Antwort Ira Baxter
Ich kenne mindestens zwei Kunden, zwei große Finanzinstitute, die implementiert eine benutzerdefinierte Web-App erlauben, auf das gleiche Ziel erreichen (Suche nach Abhängigkeiten zu tun, impact-Analyse) und ich demütig glauben, dass Sie brauchen nicht eine Karte zu "visualisieren" Dinge.
Grundsätzlich, speichern, Maschinen, Dienstleistungen (app server, Datenbank, etc), Anwendungen (Sprachen, funktionale Domäne, etc), und Abhängigkeiten zwischen Applikationen und Implementierung einer Abfrage-Modul ermöglicht zu finden (Optional transitive) Abhängigkeiten für eine bestimmte app (hängt/hängt aus) und um einen Bericht zu drucken.
Ich würde diese umsetzen mit einer schnellen CRUD application development Frameworks wie RoR, Grails, etc., das ist, was Sie (die Finanzinstitute oben) haben.
InformationsquelleAutor der Antwort Pascal Thivent
Ihre erste problem ist, wie zu bauen, einen konzeptionellen Rahmen zu halten alle diese Informationen (NB: ich spreche nicht über das format der Daten, sondern vielmehr, wie Sie eine Bedeutung zuordnen). Dies ist schwieriger als es aussieht, aber zum Glück gab es ein bisschen Arbeit auf dieser bereits (siehe Abbildung 1), so dass Sie nicht brauchen, um zu beginnen von einem leeren Blatt Papier.
Dann müssen Sie sammeln die Informationen. Zum Glück der Kunden nicht zu groß, so dass Sie möglicherweise in der Lage sein, um erfolgreich zu sein, aber für große Organisationen ist es oft der Fall, dass Sie keine Ahnung haben, was die echten Abhängigkeiten zwischen den verschiedenen teilen Ihrer IT-Infrastruktur wirklich sind. (Sie kann gut denkedie Sie kennen, und wird weiterhin die illusion, bis Sie etwas ändern und das Gesetz der unerwarteten Konsequenzen beißt.) Ich wünschte, ich war in der Lage zu empfehlen einige Produkte (freie oder kommerzielle), die helfen könnten, aber alle, die ich wirklich haben ist eine Mischung aus Kriegs-Geschichten und das fehlen von Zufriedenheit. Insbesondere, viel mehr von den traditionellen Werkzeugen für diese Art der Sache scheint das nicht zu bewältigen, sowie mit virtualisierten Servern. Wenn es etwas gibt, open-source für diese Art der Sache, ich würde gerne hören, über Sie!
Schließlich, Sie benötigen, um die Informationen anzuzeigen. Das ist die einfachste bit, die meisten anderen Antworten hier Adresse. Mein einziger Kommentar dazu ist, dass die Allgemeinen (konzeptuellen) graph von Informationen ist wahrscheinlich zu Komplex, um die Anzeige in Ihrer Gesamtheit und bleiben verständlich, so was auch immer Sie tun, Sie gehen, um mit zu überlegen, wie Informationen ausblenden, so dass nur teilweise Ansichten sind, die je vorgestellt.
InformationsquelleAutor der Antwort Donal Fellows
Haben Sie versucht, mit Graphviz?
Kann es zeichnen Sie ein Diagramm auf der Basis der Abhängigkeiten in eine text-Datei. Einfach!
Möchten Sie vielleicht beginnen mit der Graphviz-Galerie für grundlegende Beispiele und die daraus resultierenden Diagramme.
InformationsquelleAutor der Antwort PP.
@p.marino der Diagrammerstellung Teil des EAI/ESB-Produkten in der Regel nicht lohnt, für jede einigermaßen komplexe system. Größte Problem ist, dass ich immer noch nicht gesehen, dass man zeigen kann, dass Sie das große ganze und sinnvolle Bestandteile des Systems, ohne übermäßige manuelle Feinabstimmung.
Möchten Sie vielleicht zu prüfen, OS-registry/repository-thingies wie Mule Galaxy, WSO2 Registyry oder JBoss ist ein ähnliches Produkt.
Ich habe Erfahrung über etwas entlang diesen Linien mit Mule Galaxy. Sie können definieren Entitäten mit Attributen und Abhängigkeiten unterschiedlichen Typs sind. Jede änderung Revision-verfolgt und gefördert werden können, entsprechend einer lifecycle. Die Person kann Abstrakt sein oder eine Datei (z.B. Hauptmenü-Konfiguration-Datei). Auch jeder Organisation oder Domäne können über Berechtigungen verfügen.
Diese können Sie beschreiben die logische Struktur des Systems in vertretbare Möglichkeit. Für die Visualisierung, die Sie brauchen würden, um es ins Rollen zu sich selbst. Sie können saugen bis die Daten über einfache REST-style API.
InformationsquelleAutor der Antwort ddimitrov
Visual Studio 2010 hat eine nette neue Funktion mit der Bezeichnung "Architekten-Explorer", der Ihnen erlaubt, zu erzeugen Diagramme zeigen die Abhängigkeiten der verschiedenen .net-Klassen.
Kann es helfen, wenn Sie mir sagen, was Technologien, die Sie verwenden.
InformationsquelleAutor der Antwort Daniel Allen Langdon
Ich bin nicht sicher, ob Sie brauchen, um zu erfassen, nur um die Beziehung, oder auch die Rolle (abhängig von der vs hat als abhängig, als in einer parent-child-Beziehung). Die folgende scheint zu tun, alles, was Sie brauchen:
alt-text http://heeroz.com/depends.png
InformationsquelleAutor der Antwort cdonner
Vielleicht eine gute Lösung um Ihre Daten zu speichern ist einfach schreiben benutzerdefinierte web-Anwendung. Wenn Sie Anforderungen haben deutlich hingewiesen, es sollte ein Stück Kuchen. Es sollte billiger sein als der Kauf einige anpassbare riesige tool kann aber einige Zeit dauern, sich zu entwickeln. Aus meiner Erfahrung ist manchmal besser, etwas zu tun, die Ihren Bedürfnissen genau so, wie Sie wollen, anstatt zu lernen, über einige neue Allgemeine Zwecke-tool, das entworfen wurde, zu tun, alles und nichts.
Über die Visualisierung: ich habe verschiedene Werkzeuge für die UML und die zugehörigen Diagramme und fand ich 2, die sind sehr gut für die meisten Aufgaben (sehr intuitiv, einfach zu bedienen und zeitsparend).
Ich keine Beratung Visio für diesen Fall, fand ich es nützlich ist für die kleinen Diagramm, aber in deinem Fall klingt nicht wie ein kleiner.
InformationsquelleAutor der Antwort dzida
Weiß ich nicht, der Umfang dieses problem genau ist, oder wie viel Aufwand wäre es sich zu investieren lohnt, aber es scheint mir, dass eine der offensichtlichsten Möglichkeiten zu dokumentieren, wie die Menschen und die Systeme interagieren, wäre zu starten, um den workflow. Es gibt Unmengen von workflow-Programme gibt, die reichen von wirklich funktionsfähig zu mehr Dokumentation basiert. Die hey wäre, um herauszufinden, was alle Spieler in den workflow. Einige mit-Menschen/job-Titel, während andere Systeme sein.
Durch einen workflow, der auch eine rauhe, sollte es Recht einfach sein, zu analysieren, was die Menschen interagieren mit dem, was Systeme, durch welche Maßnahmen. Nicht, dass dies eine einfache Aufgabe ist, natürlich. Beschreiben Sie die Aufgaben der einzelnen Jobs ist definitiv ein Unternehmen. Die gute Sache mit dabei ein workflow, obwohl, ist, dass es leicht verstanden werden kann. Es könnte im ganzen Unternehmen verteilt und werden viel leichter auf dem neuesten Stand gehalten, weil es etwas ist, dass jeder manager sollte in der Lage sein, die Pflege für sich selbst und Ihr team.
Wenn man sich mit der workflow-software, stellen Sie sicher, dass es in der Lage ist die Beschreibung der workflow mit ausreichend detail, und auch, dass die daraus resultierenden Daten können einfach analysiert, durch ein Programm, das Sie schreiben könnten, und übersetzen Sie in ein Abhängigkeits-graph.
Es würde dienen auch als eine ausgezeichnete Stück von Unterlagen in seinem eigenen Recht.
InformationsquelleAutor der Antwort Russell Leggett
Selbst wenn die Frage ist "geschlossen" und das Kopfgeld bezahlt wurde, die person, die die Arbeit an der aktuellen Ausgabe hat kein tool gefunden, das sieht sehr gut passen, so bin ich mit diesen für alle interessierten (oder Menschen, die eventuell die Frage in der Zukunft):
https://www.iteraplan.de/en
InformationsquelleAutor der Antwort p.marino
Für die Organisation und die übermittlung von Informationen über Anwendungen, Technologien, Vermögensgegenständen, etc., Ich mag Iteraplan. Es ist ein open source enterprise Architektur Modellierungs-tool konzentriert sich in "IT-Landschaft", die ziemlich kommt down zu Erfassung von Daten (Listen und links) über Ihre Technologie-assets und die Erstellung der Berichte. So ist es gut, bei der Beantwortung von Fragen wie "welche Anwendungen werden verwendet, X zu tun für alle unsere lines of business" oder "welche Systeme haben wir mit running-Technologien wurden end-of-lifed" oder "welche Anwendungen laufen auf diesem server" oder "welche Systeme gescheitert, security audits". Mehr Infos unter http://www.iteratec.de.
Für UML-Diagramme, Sparx Enterprise Architect ist groß und ziemlich Billig. http://www.sparxsystems.com. Betrachten Sie es als Visio, weiß, um was es diagramming, du bist also wirklich ein Modell zu bauen, von Ihrem Unternehmen/Anwendungen in einer Datenbank, und die Diagramme gebunden sind. Sehr mächtig. Freundlicher und wesentlich billiger als Rational.
InformationsquelleAutor der Antwort Laird Popkin
Für die Erhebung und Verwaltung der Daten, die ich auch mit Iteraplan. Es ist großartig für das Enterprise-Architecture-Sammlung von Daten und die Generierung bestimmter Arten von Visualisierungen.
Für UML diagraming, die wir verwenden, Sparx, das ist toll. Wir arbeiten an einem tool zu integrieren die zwei. Wir haben es Auffüllen der Sparx-repository mit den Daten aus Iteraplan, das macht diagraming sehr einfach.
InformationsquelleAutor der Antwort Laird Popkin