-
Technisches Gebiet
-
Die vorliegende Erfindung bezieht sich auf ein Software-Analyseunterstützungssystem und ein Computerprogramm davon.
-
Stand der Technik
-
In der jüngeren Software-Entwicklung ist eine Ableitungsentwicklung zum Entwickeln von neuer Software durch Erweitern oder Ändern von entwickelter Software als Basis eine Hauptrichtung. Bei der Ableitungsentwicklung von Software wird, da die Software aufgrund einer wiederholten Funktionserweiterung oder Funktionsänderung über viele Jahre kompliziert wird, die Lesbarkeit eines Quellencodes verschlechtert und es braucht Zeit und Anstrengung, um eine Struktur und ein Verhalten von Software zu verstehen. Daher wurden Techniken zum Visualisieren von Informationen von Software-Komponenten auf einer zweidimensionalen Ebene oder in einem dreidimensionalen Raum, um zu helfen, eine Struktur und ein Verhalten von Software zu verstehen, vorgeschlagen (Patentliteraturen 1 und 2).
-
Entgegenhaltungsliste
-
Patentliteratur
-
- PTL 1: JP 2013-152576 A
- PTL 2: JP 2004-5649 A
-
Zusammenfassung der Erfindung
-
Technisches Problem
-
Bei dem Verfahren der Patentliteratur 1 werden Informationen von Software-Komponenten als Figuren mit verschiedenen Farben auf einer zweidimensionalen Ebene angezeigt. In der zweidimensionalen Ebene gibt die erste Achse die Richtung der Abhängigkeitsbeziehung an und die zweite Achse gibt die Stärke der Abhängigkeitsbeziehung zwischen den Programmen an. Da jedoch jede Software-Komponente, die die Software bildet, verschiedene Attribute aufweist und die Beziehung zwischen den Software-Komponenten kompliziert ist, ist es unmöglich, die Software-Komponenten in einer zweidimensionalen Ebene auszudrücken.
-
In der Patentliteratur 2 werden eine graphische Anzeige jedes Knotens und eine graphische Anzeige einer hierarchischen Beziehung in einem konischen Raum angeordnet. Die Patentliteratur 2 kann jedoch die Konfiguration der Software mit der Baumstruktur visualisieren, sie ist jedoch für das Verständnis der Konfiguration der Software, die nicht die Baumstruktur aufweist, nicht nützlich. Daher ist die Technologie der Patentliteratur 2 nur zum Analysieren einer gewissen Software nützlich und weist eine geringe Vielseitigkeit auf.
-
In beiden Patentliteraturen 1 und 2 werden ferner die Farbe, die Größe und die Achsendefinition der Figur im Voraus festgelegt und folglich ist die Nutzbarkeit gering. An einem Software-Entwicklungsort ist es erforderlich, eine Software-Struktur und dergleichen von verschiedene Blickpunkten in Abhängigkeit von einem Prozess oder einer Rolle zu beobachten und zu verstehen, aber die Patentliteraturen 1 und 2 haben Raum für eine Verbesserung hinsichtlich der Nutzbarkeit des Benutzers.
-
Die vorliegende Erfindung wurde angesichts der obigen Probleme durchgeführt und eine Aufgabe davon besteht darin, ein Software-Analyseunterstützungssystem und ein Computerprogramm davon zu schaffen, die ermöglichen, dass ein Benutzer eine Software leicht analysiert.
-
Lösung für das Problem
-
Um das obige Problem zu lösen, umfasst ein Software-Analyseunterstützungssystem, das die Analyse einer Struktur von Software unterstützt, gemäß der vorliegenden Erfindung mindestens einen Computer. Der Computer erfasst Software-Komponenteninformationen, die eine Beziehung und ein Attribut jeder Software-Komponente angeben, erfasst Anzeigeelementfestlegungsinformationen, in denen ein erstes Anzeigeelement, das einem Attribut jeder Software-Komponente entspricht, und ein zweites Anzeigeelement, das einer Beziehung zwischen jeder Software-Komponente entspricht, festgelegt werden, die bearbeitbaren Anzeigeelementfestlegungsinformationen, und ordnet jedes des ersten Anzeigeelements und des zweiten Anzeigeelements in einer vorbestimmten Position eines virtuellen Raums an, der die Beziehung jeder Software-Komponente auf der Basis von mehreren vorbestimmten Attributen anzeigt, die im Voraus unter Attributen jeder Software-Komponente ausgewählt werden.
-
Vorteilhafte Effekte der Erfindung
-
Da gemäß der vorliegenden Erfindung die Anzeigeelementfestlegungsinformationen, in denen ein erstes Anzeigeelement, das einem Attribut jeder Software-Komponente entspricht, und ein zweites Anzeigeelement, das einer Beziehung zwischen Software-Komponenten entspricht, festgelegt werden, bearbeitbar sind, kann die Anordnung des ersten Anzeigeelements und des zweiten Anzeigeelements im virtuellen Raum geändert werden und das Verständnis und die Nutzbarkeit der Struktur der Software werden verbessert.
-
Figurenliste
-
- [1] 1 ist ein Funktionskonfigurationsdiagramm eines Software-Analyseunterstützungssystems.
- [2] 2 ist ein Hardware-Konfigurationsdiagramm des Software-Analyseunterstützungssystems.
- [3] 3 ist ein Konfigurationsdiagramm, das individuelle Software-Komponenteninformationen darstellt.
- [4] 4 ist ein Konfigurationsdiagramm, das Beziehungsinformationen zwischen Software-Komponenten darstellt.
- [5] 5 ist ein Konfigurationsdiagramm, das eine Abbildungsfestlegung darstellt, die eine Entsprechung zwischen einer Software-Komponente und einem Anzeigeelement definiert.
- [6] 6 ist ein Konfigurationsdiagramm der Abbildungsfestlegung im Anschluss an 5.
- [7] 7 ist ein Ablaufplan, der eine Software-Analyseunterstützungsverarbeitung darstellt.
- [8] 8 ist ein Beispiel eines virtuellen Raums, der eine Software-Struktur und dergleichen ausdrückt.
- [9] 9 ist ein erläuterndes Diagramm einer Konfiguration eines Software-Analyseunterstützungssystems gemäß einer zweiten Ausführungsform.
- [10] 10 ist ein Ablaufplan, der eine Verarbeitung zum Steuern der Geschwindigkeit in einem Fall, in dem mehrere virtuelle Räume sich bewegen, gemäß der dritten Ausführungsform darstellt.
- [11] 11 ist ein erläuterndes Diagramm, das einen Zustand, in dem eine dritte Achse (radiale Richtung) in einem virtuellen Raum festgelegt wird, gemäß einer vierten Ausführungsform darstellt.
- [12] 12 ist ein erläuterndes Diagramm, das gemäß einer fünften Ausführungsform darstellt, dass eine Referenzposition eines Blickpunkts eines Benutzers in einem virtuellen Raum bewegt werden kann.
- [13] 13 ist ein Ablaufplan, der die Verarbeitung zum Ändern von Inhalten einer Software-Komponente in einem virtuellen Raum und Widerspiegeln eines Änderungsergebnisses im virtuellen Raum gemäß einer sechsten Ausführungsform darstellt.
- [14] 14 ist ein erläuterndes Diagramm, das einen Zustand einer Bewegung zu einem unteren virtuellen Raum durch Auswählen eines Anzeigeelements in einem oberen virtuellen Raum gemäß einer siebten Ausführungsform darstellt.
-
Beschreibung von Ausführungsformen
-
Nachstehend werden Ausführungsformen der vorliegenden Erfindung auf der Basis der Zeichnungen beschrieben. In der vorliegenden Ausführungsform wird eine Konfiguration von Software in einem virtuellen Raum ausgedrückt, so dass ein Benutzer die Konfiguration bestätigen kann. Ferner kann in der vorliegenden Ausführungsform Software mit verschiedenen Strukturen von verschiedenen Blickpunkten durch Ändern der Ausdrucksform im virtuellen Raum analysiert werden.
-
In der vorliegenden Ausführungsform werden die Konfiguration jeder Software-Komponente, die die Software bildet, und die Beziehung zwischen den Software-Komponenten visualisiert, so dass sie durch den Benutzer leicht verstanden werden. Die Einheit der Software-Komponente kann irgendeine von einer Klasse, einem Modul, einer Datei, einer Funktion, einem Block und dergleichen sein. Das heißt, in der vorliegenden Ausführungsform ist es möglich, die Konfigurationen von Einheiten, die einen Teil des Quellencodes bilden, zu visualisieren.
-
In der vorliegenden Ausführungsform können die Attribute der Komponente, die die Software bildet, beliebig jedem Element, das den virtuellen Raum bildet, zugewiesen werden. Die Elemente, die den virtuellen Raum bilden, umfassen beispielsweise Raumformen wie z. B. einen Zylinder, einen Kasten und eine Kugel, Linien und Punkte, die im virtuellen Raum angezeigt werden, und Attribute davon (Farbe, Größe, Dicke und dergleichen).
-
In der vorliegenden Ausführungsform wird, wie später beschrieben, wenn die Software-Komponenteninformationen und die Abbildungsfestlegung, die die Entsprechungsbeziehung zwischen dem Attribut der Software-Komponente und dem Anzeigeelement (Zeichnungsobjekt) definiert, eingegeben werden, die Konfiguration und dergleichen der zu analysierenden Software im virtuellen Raum ausgedrückt.
-
Gemäß der vorliegenden Ausführungsform kann der Benutzer Informationen zum Visualisieren der Software-Komponenteninformationen auf der Basis eines gewünschten Blickpunkts (von welchem Blickpunkt die Software-Komponenteninformationen visualisiert werden) festlegen und kann die Software-Komponenteninformationen analysieren. Nachstehend wird ein Beispiel der vorliegenden Ausführungsform im Einzelnen beschrieben.
-
[Erste Ausführungsform]
-
Eine erste Ausführungsform wird mit Bezug auf 1 bis 8 beschrieben. 1 stellt eine Funktionskonfiguration eines Software-Analyseunterstützungssystems 1 dar. Das Software-Analyseunterstützungssystem 1 (nachstehend kann es als System 1 abgekürzt werden) analysiert die Struktur und dergleichen (Konfiguration, Verhalten und dergleichen) der Software, die als Analyseziel ausgewählt wird, und zeigt das Analyseergebnis in einem virtuellen Raum 40 an, um das Verständnis der Analyseziel-Software durch den Benutzer zu unterstützen.
-
Das System 1 umfasst beispielsweise eine Software-Analyseunterstützungsvorrichtung 10 mit einer Zeichnungsobjekterzeugungseinheit 11, Software-Komponenteninformationen 12, eine Software-Komponentenzeichnungsobjektabbildungsfestlegung 13, Zeichnungsobjektinformationen 14, Festlegungseinheiten 15 und 16, eine Ausgabevorrichtung 21 und eine Eingabevorrichtung 22.
-
Die Informationen 12, 13 und 14 werden in einer später mit Bezug auf 2 beschriebenen Speichervorrichtung 103 gespeichert. Die Software-Komponenteninformationen 12 sind Informationen über jede Software-Komponente, die die Software bildet, und Details davon werden später mit Bezug auf 3 und 4 beschrieben. Die Software-Komponentenzeichnungsobjektabbildungsfestlegung 13 ist Informationen, die eine Entsprechung zwischen einer Software-Komponente und einem Zeichnungsobjekt als „Anzeigeelement“ definieren, und Details davon werden später mit Bezug auf 5 und 6 beschrieben. Nachstehend kann die Software-Komponentenzeichnungsobjektabbildungsfestlegung 13 als Abbildungsfestlegung 13 abgekürzt werden.
-
Die Zeichnungsobjekterzeugungseinheit 11 ist eine Funktion zum Erzeugen der Zeichnungsobjektinformationen 14 zum Ausdrücken der Konfiguration und der Verbindungsbeziehung der Software-Komponenten im virtuellen Raum 40 auf der Basis der Software-Komponenteninformationen 12 und der Abbildungsfestlegung 13.
-
Die Zeichnungsobjektinformationen 14 sind Informationen zum Anordnen und Visualisieren eines Punktobjekts 41 als „erstes Anzeigeelement“, das das Attribut der Software-Komponente symbolisiert, und eines Linienobjekts 42 als „zweites Anzeigeelement“, das die Beziehung zwischen den Software-Komponenten in einem vorbestimmten virtuellen Raum 40 symbolisiert.
-
Hier wird ein „erstes Attribut“ der Software-Komponente der Umfangsrichtung des virtuellen Raums 40 als θ-Achse 43 zugewiesen. Ein „zweites Attribut“ der Software-Komponente wird als Z-Achse 44 in der axialen Richtung des virtuellen Raums 40 zugewiesen. Wie später beschrieben, ist das erste Attribut ein Verzeichnis einer Software-Komponente und das zweite Attribut ist eine Hierarchie, zu der die Software-Komponente gehört. Ferner kann wie in einer später zu beschreibenden anderen Ausführungsform ein „drittes Attribut“ der Software-Komponente der radialen Richtung des virtuellen Raums 40 als r-Achse zugewiesen werden.
-
Der Benutzer des vorliegenden Systems 1 kann den Blickpunkt in einer vorbestimmten Position im virtuellen Raum 40 beispielsweise durch Tragen einer Brille für virtuelle Realität (VR) anordnen. Dann kann der Benutzer die Beziehung zwischen den Software-Komponenten durch visuelles Erkennen von Objekten 41 und 42 aus dem Inneren des virtuellen Raums 40 begreifen. Obwohl nicht dargestellt, kann der Benutzer ferner ein beliebiges Objekt 41 auswählen, um den Quellencode der Software-Komponente, die dem Objekt im virtuellen Raum 40 entspricht, anzuzeigen und eine Bearbeitungsarbeit durchzuführen.
-
Die Festlegungseinheit 15 ist eine Funktion zum Festlegen der Software-Komponenteninformationen 12, die in das System 1 durch den Benutzer eingegeben werden. Die andere Festlegungseinheit 16 ist eine Funktion zum Festlegen der Abbildungsfestlegung 13, die in das System 1 durch den Benutzer eingegeben wird. In dieser Weise kann der Benutzer manuell die zu analysierende Software oder Software-Komponente angeben und den Blickpunkt des Ausdrucks im virtuellen Raum 40 festlegen. Es ist zu beachten, dass zur Zeit der manuellen Festlegung das System 1 dem Benutzer ein Festlegungsverfahren, einen Festlegungswert oder dergleichen empfehlen kann.
-
Die Ausgabevorrichtung 21 ist eine Funktion zum Bereitstellen von Informationen vom System 1 an den Benutzer. Wenn die Zeichnungsobjektinformationen 14 eingegeben werden, gibt die Ausgabevorrichtung 21 ein Bild, in dem die Objekte 41 und 42 im virtuellen Raum 40 angeordnet sind, an die Anzeige aus.
-
Die Eingabevorrichtung 22 ist eine Funktion eines Benutzers, der einen Befehl oder dergleichen in das System 1 eingibt. Die Eingabevorrichtung 22 überträgt den Betriebsinhalt durch den Benutzer zur Software-Analyseunterstützungsvorrichtung 10. Obwohl in 1 nicht dargestellt, kann der Benutzer ferner auch die Software-Komponenteninformationen 12 und die Abbildungsfestlegung 13 über die Festlegungseinheiten 15 und 16 unter Verwendung der Eingabevorrichtung 22 festlegen.
-
2 ist ein Beispiel einer Hardware-Konfiguration des Software-Analyseunterstützungssystems 1. Das System 1 kann beispielsweise einen oder mehrere Computer 100 und ein oder mehrere Benutzerendgeräte 200 umfassen.
-
Der Computer 100 umfasst beispielsweise einen Mikroprozessor 101 (in der Zeichnung die CPU 101), einen Arbeitsspeicher 102, eine Speichervorrichtung 103, eine Kommunikationseinheit 104 und eine Benutzerschnittstelleneinheit 105 (in der Zeichnung die Ul-Einheit 105).
-
Der Mikroprozessor 101 implementiert eine Funktion als Software-Analyseunterstützungsvorrichtung durch Lesen eines in der Speichervorrichtung 103 gespeicherten Computerprogramms in den Arbeitsspeicher 102 und Ausführen des Computerprogramms.
-
Die Speichervorrichtung 103 speichert beispielsweise ein Computerprogramm zum Verwirklichen der Zeichnungsobjekterzeugungseinheit 11, die Software-Komponenteninformationen 12, die Abbildungsfestlegung 13 und die Zeichnungsobjektinformationen 14. Außerdem sind ein Betriebssystem, ein Vorrichtungstreiber und dergleichen auch in der Speichervorrichtung 103 gespeichert, sind jedoch hier weggelassen.
-
Die Kommunikationseinheit 104 ist eine Vorrichtung zum Kommunizieren mit einer externen Vorrichtung 300 über ein Kommunikationsnetz CN. Das Kommunikationsnetz CN kann beispielsweise entweder ein öffentliches Leitungsnetz wie z. B. das Internet oder ein zweckgebundenes Leitungsnetz sein. Ferner kann das Kommunikationsnetz CN entweder eine verdrahtete Kommunikation oder drahtlose Kommunikation sein.
-
Die externe Vorrichtung 300 ist beispielsweise ein anderer Computer, eine Speichervorrichtung oder dergleichen. Das Computerprogramm zum Verwirklichen der Zeichnungsobjekterzeugungseinheit 11 kann von der externen Vorrichtung 300 zum Computer 100 übertragen und installiert werden. Alle oder ein Teil der Informationen 12, 13 und 14 können von der externen Vorrichtung 300 zum Computer 100 übertragen und in der Speichervorrichtung 103 gespeichert werden.
-
Die Benutzerschnittstelleneinheit 105 ist mit dem Benutzerendgerät 200 und/oder einer Benutzerschnittstellenvorrichtung 110 verbunden. Die Benutzerschnittstellenvorrichtung 110 ist eine Vorrichtung für einen Benutzer, einen Systemadministrator oder dergleichen, um die Abbildungsfestlegung 13 und dergleichen für das System 1 festzulegen. Die Benutzerschnittstellenvorrichtung 110 kann beispielsweise eine Tastatur, eine Anzeige, einen Drucker und dergleichen umfassen.
-
Das Benutzerendgerät 200 umfasst die Ausgabevorrichtung 21, die beispielsweise als VR-Brille (am Kopf angebrachte VR-Anzeige) konfiguriert ist, und die Eingabevorrichtung 22. Anstelle des VR-Endgeräts kann zumindest ein Teil des Benutzerendgeräts 200 beispielsweise als Personalcomputer, Mobiltelefon, persönlicher digitaler Assistent, Tablet oder tragbares Endgerät konfiguriert sein.
-
Es ist zu beachten, dass alles oder ein Teil des Computerprogramms unter Verwendung des externen Speichermediums MM, das durch den Computer 100 gelesen und beschrieben werden kann, in die Speichervorrichtung 103 eingegeben oder aus dieser ausgegeben werden kann. Beispiele des externen Speichermediums MM umfassen eine Flash-Arbeitsspeichervorrichtung und eine Festplattenvorrichtu ng.
-
3 stellt ein Beispiel von individuellen Software-Komponenteninformationen 121 dar, die eine der Software-Komponenteninformationen 12 sind.
-
Die individuellen Software-Komponenteninformationen 121 sind Informationen zum Managen von mehreren Attributen der Software-Komponenteninformationen. Beispiele der Attribute (auch als Attributnamen bezeichnet) jeder Software-Komponente umfassen eine Software-Komponentennummer 1211, die Anzahl von Zeilen 1212, ein letztes Aktualisierungsdatum und eine letzte Aktualisierungszeit 1213, einen letzten Aktualisierer 1214, eine Verzeichnisstruktur 1215, eine Hierarchie 1216 und eine Komplexität 1217. Die hier erwähnten Attributnamen sind lediglich Beispiele und ein Teil der vorstehend beschriebenen Attributnamen kann nicht in den individuellen Software-Komponenteninformationen 121 enthalten sein. Alternativ können andere Attribute 1218 als der vorstehend beschriebene Attributname in den individuellen Software-Komponenteninformationen 121 enthalten sein.
-
Ein Datensatz 1210 der individuellen Software-Komponenteninformationen 121 ist ein Beispiel von Informationen, in denen ein Wert, der jedem Attributnamen jeder Software-Komponente entspricht, beschrieben ist.
-
4 stellt ein Beispiel von Software-Komponentenbeziehungsinformationen 122 dar, die ein anderer Teil der Software-Komponenteninformationen 12 sind. Die Software-Komponentenbeziehungsinformationen 122 (nachstehend auch als Beziehungsinformationen 122 bezeichnet) sind Informationen zum Managen eines Attributnamens, der eine Beziehung zwischen jedem Teil von Software-Komponenteninformationen angibt.
-
Die Beziehungsinformationen 122 managen beispielsweise eine Software-Komponentenaufrufbeziehungsnummer 1221, eine Aufrufer-Software-Komponentennummer 1222, eine Aufgerufenen-Software-Komponentennummer 1223, die Anzahl von Aufrufen 1224, und einen Aufruf 1225 des gleichen Moduls. Die vorstehend beschriebenen Attributnamen sind lediglich Beispiele und einige Attributnamen können nicht enthalten sein oder andere Attributnamen 1226 können enthalten sein.
-
Ein Datensatz 1220 der Beziehungsinformationen 122 ist ein Beispiel von Informationen, in denen ein Wert, der jedem Attributnamen entspricht, der die Beziehung jedes Teils von Software-Komponenteninformationen angibt, beschrieben ist.
-
Ein Beispiel der Abbildungsfestlegung 13 wird mit Bezug auf 5 und 6 beschrieben. Wie vorstehend beschrieben, ist die Abbildungsfestlegung 13 Informationen, die die Objekte 41 und 42, die im virtuellen Raum 40 angezeigt werden, den Attributen der Software-Komponenten zuordnen, und kann durch den Benutzer bearbeitet werden.
-
Die Abbildungsfestlegung 13 umfasst beispielsweise einen Zeichnungsobjektnamen 131, ein Attribut 132 eines Zeichnungsobjekts, ein Attribut 133 einer entsprechenden Software-Komponente und ein Zuordnungsverfahren 134. Der Abbildungsfestlegungsdatensatz 130 ist ein Beispiel von Informationen, die einen Wert beschreiben, der jedem Element 131 bis 134 entspricht.
-
5 stellt Abbildungsfestlegungen in Bezug auf das Punktobjekt 41 dar. Das Punktobjekt 41 weist beispielsweise mehrere Attribute wie z. B. „Körper“, „Farbe“, „Form“, „Größe“, „θ-Koordinate“ und „Z-Koordinate“ auf.
-
Der „Hauptkörper“ gibt die Anwesenheit des Punktobjekts 41 an und entspricht der Komponentennummer 1211 (siehe 3) der Software-Komponente. Eine Software-Komponente wird im virtuellen Raum 40 als ein Punktobjekt 41 angezeigt.
-
Die „Farbe“ ist die Farbe des Punktobjekts 41 und ein Wert davon wird auf der Basis des letzten Aktualisierungsdatums und der letzten Aktualisierungszeit 1213 (siehe 3) der Software-Komponente, die dem Punktobjekt 41 entspricht, bestimmt. Wenn beispielsweise das letzte Aktualisierungsdatum und die letzte Aktualisierungszeit innerhalb einer vorbestimmten Zeit (beispielsweise innerhalb einer Woche) der aktuellen Zeit liegen, wird das Punktobjekt 41 in einer vorbestimmten Farbe (beispielsweise rot) ausgedrückt, und wenn das letzte Aktualisierungsdatum und die letzte Aktualisierungszeit nicht innerhalb der vorbestimmten Zeit der aktuellen Zeit liegen, wird das Punktobjekt 41 in einer anderen Farbe (beispielsweise weiß) ausgedrückt.
-
Die „Form“ ist die Form des Punktobjekts 41 und ein Wert davon wird auf der Basis der Komplexität 1217 (siehe 3) der Software-Komponente, die dem Punktobjekt 41 entspricht, bestimmt. Die Form wird beispielsweise als kugelförmig, wenn die Komplexität c1 oder mehr und weniger als c2 ist, als regelmäßiges Tetraeder, wenn die Komplexität c2 oder mehr und weniger als c3 ist, und als regelmäßiges Hexaeder, wenn die Komplexität c3 oder mehr ist, festgelegt.
-
Es ist zu beachten, dass die Komplexität 1217 auch als „vorbestimmte Bewertung, die auf der Basis der Komplexität bestimmt wird“, oder „Komplexitätsbewertung“ bezeichnet werden kann.
-
Die „Größe“ ist die Größe des Punktobjekts 41 und ein Wert davon wird auf der Basis der Anzahl von Zeilen 1212 (siehe 3) der Software-Komponente, die dem Punktobjekt 41 entspricht, festgelegt. Das heißt, das Punktobjekt 41 wird größer, wenn die Anzahl von Zeilen der Software-Komponenten größer wird.
-
Die „θ-Koordinate“ gibt eine Position auf der θ-Achse 43 (ein Bereich, der durch Unterteilen eines zylindrischen virtuellen Raums in der Umfangsrichtung erhalten wird) an, die im virtuellen Raum 40 definiert ist. Der Wert der θ-Achse wird auf der Basis der Verzeichnisstruktur 1215 (siehe 3) der Software-Komponente, die dem Punktobjekt 41 entspricht, bestimmt. Der virtuelle Raum 40 in der Umfangsrichtung kann beispielsweise in mehrere Bereiche unterteilt werden und jeder Bereich und ein Verzeichnisumfang können im Voraus zugeordnet werden. Diese Zuordnung kann frei durch den Benutzer durchgeführt werden. Der Benutzer kann durch Bestätigen des Bereichs auf der θ-Achse, wo das Punktobjekt 41 angeordnet ist, intuitiv verstehen, in welchem Umfang in der Verzeichnisstruktur die Software-Komponente angeordnet ist.
-
Die „Z-Koordinate“ gibt eine Position an einer Z-Koordinate 44 (ein Bereich, der durch Unterteilen des zylindrischen virtuellen Raums in der axialen Richtung erhalten wird) an, die im virtuellen Raum 40 definiert ist. Der Wert der Z-Achse wird auf der Basis der Hierarchie 1216 (siehe 3) bestimmt, zu der die Software-Komponente, die dem Punktobjekt 41 entspricht, gehört. Die Hierarchie 1216 wird beispielsweise in eine Treiberschicht, eine mittlere Schicht und eine Anwendungsschicht klassifiziert und die Treiberschicht, die mittlere Schicht und die Anwendungsschicht werden in der Reihenfolge von der Unterseite der Z-Achse 44 positioniert. Der Benutzer kann durch Bestätigen des Bereichs auf der Z-Achse, wo das Punktobjekt 41 angeordnet ist, intuitiv verstehen, zu welcher Hierarchie die Software-Komponente gehört. Der Benutzer kann frei festlegen, welchem Bereich auf der Z-Achse die Software-Komponenten auf welchen Ebenen zugeteilt werden.
-
6 stellt die Abbildungsfestlegung für das Linienobjekt 42 dar. Das Linienobjekt 42 weist beispielsweise mehrere Attribute wie z. B. „Hauptkörper“, „Startpunkt“, „Endpunkt“, „Dicke“ und „Farbe“ auf.
-
Der „Hauptkörper“ gibt die Existenz des Linienobjekts 42 an und entspricht der Nummer 1221 (siehe 4) zum Managen der Aufrufbeziehung zwischen den Software-Komponenten. Eine Aufrufbeziehungsnummer wird im virtuellen Raum 40 als ein Linienobjekt 42 angezeigt.
-
Der „Startpunkt“ ist der Startpunkt des Linienobjekts 42 und entspricht der Komponentennummer 1211 der Software-Komponente des Aufrufers in der durch die Aufrufbeziehungsnummer angegebenen Aufrufbeziehung.
-
Der „Endpunkt“ ist der Endpunkt des Linienobjekts 42 und entspricht der Komponentennummer 1211 der Software-Komponente des Aufrufziels in der durch die Aufrufbeziehungsnummer angegebenen Aufrufbeziehung.
-
Die „Dicke“ ist die Dicke des Linienobjekts 42 und ein Wert davon wird auf der Basis der Anzahl von Aufrufen 1224 der Software-Komponente, die dem Linienobjekt 42 entspricht, bestimmt. Wenn die Anzahl von Aufrufen zunimmt, wird das Linienobjekt 42 dicker angezeigt.
-
Die „Farbe“ ist die Farbe des Linienobjekts 42 und ein Wert davon wird in Abhängigkeit davon bestimmt, ob es der Aufruf 1225 (siehe 4) im gleichen Modul ist. Im Fall des Aufrufs vom gleichen Modul wird beispielsweise das Linienobjekt 42 blau angezeigt und ansonsten wird das Linienobjekt 42 weiß angezeigt.
-
Wie das Linienobjekt 42 auszudrücken ist, das die Beziehung zwischen den Software-Komponenten im virtuellen Raum 40 angibt, kann durch den Benutzer frei festgelegt werden. Der Benutzer kann die Beziehung zwischen den Software-Komponenten aus der Ausdruckform des Linienobjekts 42, das im virtuellen Raum 40 angezeigt wird, intuitiv verstehen.
-
7 ist ein Ablaufplan einer Software-Analyseunterstützungsverarbeitung. Die Zeichnungsobjekterzeugungseinheit 11 der Software-Analyseunterstützungsvorrichtung 10 liest alle Software-Komponenteninformationen 12 aus der Speichervorrichtung 103 (S11 bis S13) und liest anschließend die Abbildungsfestlegung 13 aus der Speichervorrichtung 103 (S14).
-
Dann legt die Zeichnungsobjekterzeugungseinheit 11 das Anzeigeverfahren des anzuzeigenden Punktobjekts 41 und Linienobjekts 42 im virtuellen Raum 40 fest (S15) und bestimmt, ob die Festlegung für alle Objekte normal vollendet wurde (S16).
-
Wenn die Festlegung aller Objekte normal vollendet wird (S16: JA), erzeugt die Zeichnungsobjekterzeugungseinheit 11 die Zeichnungsobjektinformationen 14 auf der Basis der Festlegung, speichert die Zeichnungsobjektinformationen in der Speichervorrichtung 103 (S17) und beendet den Prozess. Wenn andererseits die Festlegung des Objekts nicht normal vollendet wird (S16: NEIN), wird dieser Prozess beendet.
-
Folglich erzeugt die Zeichnungsobjekterzeugungseinheit 11 die Zeichnungsobjektinformationen 14 auf der Basis jedes Teils von Software-Komponenteninformationen 12 und der Abbildungsfestlegung 13.
-
8 stellt ein Software-Analyseergebnis dar, das durch die Ausgabevorrichtung 21 gezeichnet wird. In 8 sind mehrere Punktobjekte 41 auf der Umfangsoberfläche des zylindrischen virtuellen Raums 40 angeordnet. Wie vorstehend beschrieben, entspricht ein Punktobjekt 41 einer Software-Komponente (Software-Komponenteninformationen 12).
-
Ein bestimmtes Punktobjekt 41 und ein anderes Punktobjekt 41 können durch das Linienobjekt 42 verbunden werden. Wie vorstehend beschrieben, stellt das Linienobjekt 42 die Beziehung zwischen Software-Komponenten dar.
-
Als Koordinatenachsen zum Bestimmen der Koordinaten des Punktobjekts 41 werden die θ-Achse 43 und die Z-Achse 44 in dem Beispiel von 8 verwendet. Der Wert der θ-Achse 43 wird auf der Basis des Verzeichnisses bestimmt, zu dem die Software-Komponente gehört. Der Wert der Z-Achse 44 wird auf der Basis der Hierarchie bestimmt, zu der die Software-Komponente gehört.
-
Ein Beispiel eines Flusses von der Erzeugung der Zeichnungsobjektinformationen 14 durch den Benutzer unter Verwendung der Software-Analyseunterstützungsvorrichtung 10 bis zur Visualisierung und zum Durchsuchen der Software-Komponenten und der Beziehung zwischen den Software-Komponenten auf der Basis der Zeichnungsobjektinformationen 14 wird beschrieben.
-
Zuerst bereitet der Benutzer die Software-Komponenteninformationen 12 und die Abbildungsfestlegung 13 vor. Es wird angenommen, dass der Benutzer die individuellen Software-Komponenteninformationen 121 und die Software-Komponentenbeziehungsinformationen 122 als Software-Komponenteninformationen 12 vorbereitet. Der Benutzer kann die Software-Komponenteninformationen 12 und die Abbildungsfestlegung 13 von der externen Vorrichtung 300 in die Speichervorrichtung 103 herunterladen oder kann die Software-Komponenteninformationen 12 und die Abbildungsfestlegung 13 vom externen Speichermedium MM in die Speichervorrichtung 103 übertragen. Der Benutzer kann alle oder einen Teil der Software-Komponenteninformationen 12 oder der Abbildungsfestlegung 13 über die Festlegungseinheiten 15 und 16 umschreiben.
-
Wie in 3 beschrieben, weisen die individuellen Software-Komponenteninformationen 121 eine Attributnamenliste wie z. B. die Software-Komponentennummer 1211, die Anzahl von Zeilen 1212, das letzte Aktualisierungsdatum und die letzte Aktualisierungszeit 1213, den letzten Aktualisierer 1214, die Verzeichnisstruktur 1215, die Hierarchie 1216 und die Komplexität 1217 auf. Der Datensatz 1210 ist ein Beispiel eines Datensatzes, in dem ein Wert, der jedem Attributnamen jeder Software-Komponente entspricht, beschrieben ist. Tatsächlich sind viele Datensätze in den Software-Komponenteninformationen 121 enthalten.
-
Wie in 4 beschrieben, weisen die Beziehungsinformationen 122 zwischen den Software-Komponenten eine Attributnamenliste wie z. B. die Software-Komponentenaufrufbeziehungsnummer 1221, die Aufrufer-Software-Komponentennummer 1222, die Aufgerufenen-Software-Komponentennummer 1223, die Anzahl von Aufrufen 1224 und den Aufruf 1225 desselben Moduls auf. Der Datensatz 1220 ist ein Beispiel eines Datensatzes, in dem ein Wert, der jedem Attributnamen jeder Software-Komponente entspricht, beschrieben ist.
-
Tatsächlich sind viele Datensätze in den Software-Komponentenbeziehungsinformationen 122 enthalten.
-
Als nächstes bereitet der Benutzer die Abbildungsfestlegung 13 vor. Wie mit Bezug auf 5 und 6 beschrieben, umfasst die Abbildungsfestlegung 13 den Zeichnungsobjektnamen 131, das Attribut 132 des Zeichnungsobjekts, das Attribut 133 der entsprechenden Software-Komponente und das Zuordnungsverfahren 134.
-
Die Software-Komponentennummer 1211 entspricht dem „Hauptkörper“, der ein Attribut des Punktobjekts 41 ist. Das Zuordnungsverfahren ist beispielsweise „ein Punkt entspricht einer Software-Komponentennummer“.
-
Das Attribut „Farbe“ des Punktobjekts 41 entspricht dem letzten Aktualisierungsdatum und der letzten Aktualisierungszeit 1213. Das Zuordnungsverfahren ist beispielsweise „wenn das letzte Aktualisierungsdatum und die letzte Aktualisierungszeit innerhalb einer vorbestimmten Zeit von der aktuellen Zeit liegen, entspricht Rot, ansonsten entspricht Weiß“.
-
Die Komplexität 1217 entspricht dem Attribut „Form“ des Punktobjekts 41. Das Zuordnungsverfahren ist beispielsweise „die Form entspricht einer Kugel, wenn die Komplexität c1 oder mehr und weniger als c2 ist, entspricht einem regelmäßigen Tetraeder, wenn die Komplexität c2 oder mehr und weniger als c3 ist, und entspricht einem regelmäßigen Hexaeder, wenn die Komplexität c3 oder mehr ist“.
-
Die Anzahl von Zeilen entspricht dem Attribut „Größe“ des Punktobjekts 41. Das Zuordnungsverfahren ist beispielsweise „die Größe des Punkts ist proportional zur Anzahl von Zeilen“.
-
Eine Verzeichnisstruktur entspricht dem Attribut „θ-Koordinate“ des Punktobjekts 41. Das Zuordnungsverfahren ist beispielsweise „die θ-Koordinate des Punktobjekts ist irgendein Wert von 0 Grad oder mehr und weniger als 120 Grad, wenn die Verzeichnisstruktur src/G1/* ist, die θ-Koordinate des Punktobjekts ist irgendein Wert von 120 Grad oder mehr und weniger als 240 Grad, wenn die Verzeichnisstruktur src/G2/* ist, und die θ-Koordinate des Punktobjekts ist irgendein Wert von 240 Grad oder mehr und weniger als 360 Grad, wenn die Verzeichnisstruktur src/G3/* ist“.
-
Die Hierarchie entspricht dem Attribut „Z-Koordinate“ des Punktobjekts 41. Das Zuordnungsverfahren ist beispielsweise „die Z-Koordinate des Punktobjekts ist irgendein Wert von 0 oder mehr und weniger als 100, wenn die Hierarchie die Treiberschicht ist, die Z-Koordinate des Punktobjekts ist irgendein Wert von 100 oder mehr und weniger als 200, wenn die Hierarchie die mittlere Schicht ist, und die Z-Koordinate des Punktobjekts ist irgendein Wert von 200 oder mehr und weniger als 300, wenn die Hierarchie die Anwendungsschicht ist“.
-
Das Attribut „Körper“ des Linienobjekts 42 entspricht der Software-Komponenten-Aufrufbeziehungsnummer. Das Zuordnungsverfahren ist beispielsweise „eine Zeile entspricht einer Software-Komponentenaufrufbeziehungsnummer“.
-
Das Attribut „Startpunkt“ des Linienobjekts 42 entspricht der Aufrufer-Software-Komponentennummer. Das Zuordnungsverfahren ist beispielsweise „das Punktobjekt, dessen Software-Komponentennummer die Aufrufer-Software-Komponentennummer ist, entspricht dem Startpunkt des Linienobjekts“.
-
Das Attribut „Endpunkt“ des Linienobjekts 42 entspricht der Aufgerufenen-Software-Komponentennummer. Das Zuordnungsverfahren ist beispielsweise „ein Punktobjekt, dessen Software-Komponentennummer eine Aufgerufenen-Software-Komponentennummer ist, entspricht dem Endpunkt des Linienobjekts“.
-
Das Attribut „Dicke“ des Linienobjekts 42 entspricht der Anzahl von Aufrufen. Das Zuordnungsverfahren ist beispielsweise „die Dicke des Linienobjekts ist zur Anzahl von Aufrufen proportional“.
-
Das Attribut „Farbe“ des Linienobjekts 42 entspricht einem Aufruf im gleichen Modul. Das Zuordnungsverfahren ist beispielsweise „wenn ein Aufruf im gleichen Modul „WAHR“ ist, ist das Linienobjekt blau, und wenn ein Aufruf im gleichen Modul „FALSCH“ ist, ist das Linienobjekt weiß“.
-
Wie vorstehend beschrieben, liest die Software-Analyseunterstützungsvorrichtung 10 (Zeichnungsobjekterzeugungseinheit 11) die individuellen-Software-Komponenteninformationen 121, die Software-Komponentenbeziehungsinformationen 122 und die Abbildungsfestlegung 13 (S11 bis S14 in 7) und führt die Festlegung zur Zeit der Objekterzeugung durch (S15). Die Software-Analyseunterstützungsvorrichtung 10 bestätigt, dass die Festlegung zur Zeit der Objekterzeugung normal vollendet wird (S16: JA), und erzeugt die Zeichnungsobjektinformationen 14 (S17). Die Zeichnungsobjektinformationen 14 sind Informationen mit Informationen, die erforderlich sind, damit die Ausgabevorrichtung 21 das Analyseergebnis der Software im virtuellen Raum 40 zeichnet.
-
Die Ausgabevorrichtung 21 liest die Zeichnungsobjektinformationen 14 und zeichnet den virtuellen Raum 40 und die Objekte 41 und 42, wie in 8 dargestellt.
-
In 8 gibt die Figur des Punktobjekts 41 tatsächlich die Form des Punktobjekts an. Ein Punktobjekt, das durch ein gleichseitiges Dreieck in 8 angegeben ist, gibt an, dass das Punktobjekt tatsächlich ein regelmäßiges Tetraeder ist. Ein Punktobjekt, das durch einen Kreis in 8 angegeben ist, ist tatsächlich eine Kugel. Ein Punktobjekt, das durch ein Quadrat in 8 angegeben ist, ist tatsächlich ein regelmäßiges Hexaeder.
-
Die Ausgabevorrichtung 21 zeichnet den Zeichnungsinhalt, wie in 8 dargestellt, im virtuellen 3D-Raum und der Benutzer betrachtet den Zeichnungsinhalt durch die planare Anzeige. Alternativ zeichnet die Ausgabevorrichtung 21 den Zeichnungsinhalt, wie in 8 dargestellt, im VR-Raum und der Benutzer betrachtet den Zeichnungsinhalt durch die am Kopf angebrachte Anzeigevorrichtung.
-
Gemäß der vorliegenden Ausführungsform, die wie vorstehend beschrieben konfiguriert ist, kann der Benutzer die Software-Komponenteninformationen im virtuellen Raum 40 auf der Basis eines gewünschten Blickpunkts visualisieren, wodurch er intuitiv die Software-Komponenteninformationen versteht und analysiert. Das heißt, der Benutzer kann intuitiv und grob den Umriss der Software-Komponenten (zu welchem Verzeichnis und welcher Hierarchie die Software-Komponente gehört, wie komplex, wie groß die Anzahl von Zeilen ist, ob sie kürzlich aktualisiert wurde usw.) durch visuelles Erkennen der Objekte 41 und 42, die im virtuellen Raum 40 angeordnet sind, begreifen und folglich wird die Nutzbarkeit verbessert.
-
[Zweite Ausführungsform]
-
Eine zweite Ausführungsform wird mit Bezug auf 9 beschrieben. In den folgenden Ausführungsformen, einschließlich der vorliegenden Ausführungsform, werden hauptsächlich Unterschiede zur ersten Ausführungsform beschrieben.
-
Ein Software-Analyseunterstützungssystem 1A gemäß der vorliegenden Ausführungsform versieht den Benutzer mit mehreren virtuellen Räumen 40(1) bis 40(4) für mehrere Teile von Software. Das heißt, die virtuellen Räume 40(1) bis 40(4) entsprechen jeweils verschiedenen Teilen von Software und stellen Software-Komponenten in den jeweiligen Teilen von Software und Beziehungen davon dar.
-
Wie als „R = 38“ und „R = 80“ in 9 dargestellt, berechnet das Software-Analyseunterstützungssystem 1A ferner den Grad der Relevanz zwischen der Software (virtueller Raum), die durch den Benutzer ausgewählt wird, und der anderen Software und zeigt den Grad der Relevanz im virtuellen Raum 40 an.
-
Das heißt, wenn die Software, die dem virtuellen Raum 40(1) entspricht, die durch den Benutzer unter den virtuellen Räumen 40(1) bis 40(4) ausgewählt wird, angegeben wird (S21), berechnet das Software-Analyseunterstützungssystem 1A den Grad der Relevanz zwischen der in Schritt S21 angegebenen Software und anderer Software (Software, die den virtuellen Räumen 40(2) bis 40(4) entspricht) (S22). Dann zeigt das Software-Analyseunterstützungssystem 1A den in Schritt S22 berechneten Grad der Relevanz in Zusammenhang mit den virtuellen Räumen 40(2) bis 40(4) an (S23).
-
Ein Verfahren zum Berechnen des Grades der Relevanz ist nicht begrenzt. Als Beispiel kann der Grad der Relevanz durch Vergleichen von Anzeigeinhalten der jeweiligen virtuellen Räume 40 berechnet werden. Der Grad der Relevanz zwischen Teilen von Software kann beispielsweise vom Blickpunkt des Ausdrucks wie z. B. der Position, Größe, Form und Farbe der Objekte 41 und 42 berechnet werden. Das heißt, der Grad der Relevanz zwischen Teilen von Software kann aus der Ähnlichkeit im Aussehen berechnet werden, wenn sie im virtuellen Raum 40 ausgedrückt wird. Selbst für unterschiedliche Software wie z. B. einen Zweck oder ein Ziel ist es folglich möglich, Software mit einer ähnlichen wesentlichen Struktur zu finden, und es ist möglich, die Software zur Verbesserung der Software, für die der Benutzer zuständig ist, zu verwenden.
-
Diese wie vorstehend beschrieben konfigurierte Ausführungsform erreicht dieselben Betriebseffekte wie die erste Ausführungsform. Ferner kann in der vorliegenden Ausführungsform, da mehrere virtuelle Räume, die mehreren Teilen von Software entsprechen, angezeigt werden können und der Grad der Relevanz zwischen den virtuellen Räumen angezeigt werden kann, der Benutzer die zugehörige Software finden und verwenden und die Nutzbarkeit wird verbessert.
-
[Dritte Ausführungsform]
-
Eine dritte Ausführungsform wird mit Bezug auf 10 beschrieben. In der vorliegenden Ausführungsform wird die Geschwindigkeit im Fall der Bewegung des Blickpunkts des Benutzers im virtuellen Raum 40 oder außerhalb des virtuellen Raums 40 gesteuert.
-
Wie in der zweiten Ausführungsform beschrieben, kann der Blickpunkt des Benutzers in das Innere von irgendeinem der mehreren virtuellen Räume 40(1) bis 40(4) bewegt werden oder der Blickpunkt des Benutzers kann von einem bestimmten virtuellen Raum zu einem anderen virtuellen Raum bewegt werden. Alternativ kann der Blickpunkt des Benutzers innerhalb des virtuellen Raums bewegt werden, wie in 12 beschrieben.
-
In der vorliegenden Ausführungsform wird, wenn der Blickpunkt des Benutzers bewegt wird (S31: JA), die Bewegungsgeschwindigkeit festgelegt (S32) und der Blickpunkt des Benutzers wird mit der festgelegten Geschwindigkeit bewegt (S33).
-
Die Bewegungsgeschwindigkeit des Blickpunkts des Benutzers kann beispielsweise auf der Basis einer Bewegungsgeschwindigkeitsmanagementtabelle 60 bestimmt werden. Die Bewegungsgeschwindigkeitsmanagementtabelle 60 kann beispielsweise eine oder mehrere einer Tabelle 61, die einen Wert der manuellen Festlegung des Benutzers speichert, einer Tabelle 62, die eine Verwendungsgeschichte des Benutzers managt, einer Festlegungstabelle 63 auf der Basis eines Benutzerattributs, einer Tabelle 64, die einen Korrekturwert auf der Basis eines Benutzerzustandes speichert, und dergleichen umfassen. Die Bewegungsgeschwindigkeit des Blickpunkts des Benutzers kann aus einer anderen Tabelle oder Funktion als den dargestellten Tabellen festgelegt werden.
-
Die Verwendungsgeschichtstabelle 62 des Benutzers managt die Bewegungsgeschwindigkeit des Blickpunkts des Benutzers, wenn der Benutzer das Software-Analyseunterstützungssystem in der Vergangenheit verwendet hat. In der Festlegungstabelle 63 auf der Basis des Benutzerattributs wird beispielsweise die Bewegungsgeschwindigkeit des Blickpunkts des Benutzers vom Benutzerattribut wie z. B. dem Alter, der Vorliebe und der Ausübungsgewohnheit des Benutzers festgelegt. Die Tabelle 64, die den Korrekturwert auf der Basis des Benutzerzustandes speichert, speichert beispielsweise einen Korrekturkoeffizienten zum Einstellen der Bewegungsgeschwindigkeit des Blickpunkts des Benutzers auf der Basis des aktuellen Gesundheitszustandes (Herzfrequenz, Blutdruck usw.) des Benutzers.
-
Diese wie vorstehend beschrieben konfigurierte Ausführungsform erreicht dieselben Betriebseffekte wie die erste Ausführungsform. Ferner wird in der vorliegenden Ausführungsform, da die Geschwindigkeit, mit der der Benutzer den Blickpunkt innerhalb und außerhalb des virtuellen Raums bewegt, festgelegt werden kann, die Nutzbarkeit weiter verbessert.
-
[Vierte Ausführungsform]
-
Eine vierte Ausführungsform wird mit Bezug auf 11 beschrieben. In der vorliegenden Ausführungsform wird zusätzlich zur θ-Achse 43 in der Umfangsrichtung und zur Z-Achse 44 in der axialen Richtung des zylindrischen virtuellen Raums 40B eine r-Achse 46 in der radialen Richtung auch verwendet. Die r-Achse 46 wird gemäß dem Abstand von der Achse des virtuellen Raums 40B festgelegt. In der r-Achse 46 werden beispielsweise mehrere Bereiche mit einer Randoberfläche, die in einem Radius r1 vom axialen Zentrum angeordnet ist, und einer Randoberfläche, die in einem Radius r2 (r2 > r1) vom axialen Zentrum angeordnet ist, festgelegt. Ein Attribut wie z. B. ein „Aktualisierer“ kann beispielsweise der r-Achse 46 zugewiesen werden. Andere Attribute können der r-achse 46 zugewiesen werden.
-
Diese wie vorstehend beschrieben konfigurierte Ausführungsform erreicht dieselben Betriebseffekte wie die erste Ausführungsform. Da in der vorliegenden Ausführungsform nicht nur die θ-Achse und die Z-Achse, sondern auch die r-Achse verwendet werden kann, kann ferner die Ausdrucksleistung weiter verbessert werden und die Nutzbarkeit des Benutzers wird verbessert.
-
[Fünfte Ausführungsform]
-
Eine fünfte Ausführungsform wird mit Bezug auf 12 beschrieben. In der vorliegenden Ausführungsform kann die Position des Blickpunkts 50 des Benutzers im virtuellen Raum 40 eingestellt werden.
-
Der Blickpunkt 50(1) des Benutzers kann in einem unteren Abschnitt des virtuellen Raums 40 festgelegt werden, der Blickpunkt 50(2) des Benutzers kann in einem zentralen Abschnitt des virtuellen Raums 40 festgelegt werden oder der Blickpunkt 50(3) des Benutzers kann in einem oberen Abschnitt des virtuellen Raums 40 festgelegt werden.
-
Der Benutzer verwendet beispielsweise den unteren Blickpunkt 50(1), wenn er die Software-Komponenten der Treiberschicht betrachtet, den zentralen Blickpunkt 50(2), wenn er die Software-Komponenten der mittleren Schicht betrachtet, und den oberen Blickpunkt 50(3), wenn er die Software-Komponenten der Anwendungsschicht betrachtet. Alternativ kann der Benutzer den Winkel zum Aufwärts- und Abwärtsschütteln des Kopfs im virtuellen Raum 40 unter Verwendung des zentralen Blickpunkts 50(2) verringern und die Nutzbarkeit wird verbessert.
-
Diese wie vorstehend beschrieben konfigurierte Ausführungsform erreicht dieselben Betriebseffekte wie die erste Ausführungsform. Ferner wird in der vorliegenden Ausführungsform, da der Blickpunkt 50 des Benutzers im virtuellen Raum 40 eingestellt werden kann, die Nutzbarkeit des Benutzers verbessert.
-
[Sechste Ausführungsform]
-
Eine sechste Ausführungsform wird mit Bezug auf 13 beschrieben. In der vorliegenden Ausführungsform kann der Benutzer die Software-Komponenteninformationen 12 im virtuellen Raum 40 bearbeiten (umschreiben oder dergleichen) und kann das Bearbeitungsergebnis im virtuellen Raum 40 widerspiegeln.
-
Die Software-Analyseunterstützungsvorrichtung 10 bestimmt, ob der Benutzer die Software-Komponenteninformationen 12 bearbeiten will (S41). Der Benutzer kann beispielsweise ein gewünschtes Punktobjekt 41 aus den Punktobjekten 41 auswählen, die im virtuellen Raum 40 angezeigt werden, und eine Bearbeitungstaste (nicht dargestellt) betätigen, um den Code der Software-Komponenteninformationen 12, die dem ausgewählten Punktobjekt 41 entsprechen, zu bearbeiten.
-
Wenn der Benutzer die Software-Komponenteninformationen 12 bearbeiten will (S41: JA), zeigt die Software-Analyseunterstützungsvorrichtung 10 den Code der ausgewählten Software-Komponenteninformationen 12 im virtuellen Raum 40 an (S42). Der Benutzer kann den Code beispielsweise unter Verwendung einer virtuellen Tastatur (nicht dargestellt), die im virtuellen Raum 40 angezeigt wird, bearbeiten. Die Software-Analyseunterstützungsvorrichtung 10 detektiert eine Eingabe vom Benutzer (S43).
-
Es ist zu beachten, dass die Bearbeitungstaste und die virtuelle Tastatur auch unter Verwendung der Eingabevorrichtung 22 verwirklicht werden können.
-
Die Software-Analyseunterstützungsvorrichtung 10 bestimmt, ob die Bearbeitungsarbeit durch den Benutzer geendet hat (S44), und wenn die Bearbeitung geendet hat (S44: JA), spiegelt sie die Bearbeitungsarbeit im Anzeigezustand der zu bearbeitenden Software-Komponenteninformationen 12 gemäß der Bearbeitung durch den Benutzer wider (S45). In einem Fall, in dem die Anzahl von Zeilen der Software-Komponenteninformationen 12 zunimmt oder abnimmt, ändert sich beispielsweise die Größe des Punktobjekts 41 dementsprechend, und in einem Fall, in dem die Komplexität der Software-Komponenteninformationen 12 sich ändert, ändert sich die Form des Punktobjekts 41 dementsprechend. Es ist zu beachten, dass in einem Fall, in dem die Bearbeitungsarbeit des Benutzers nicht vollendet wurde (S44: NEIN), der Prozess zu Schritt S41 zurückkehrt.
-
Diese wie vorstehend beschrieben konfigurierte Ausführungsform erreicht dieselben Betriebseffekte wie die erste Ausführungsform. Ferner kann in der vorliegenden Ausführungsform der Benutzer die Software-Komponenteninformationen 12 im virtuellen Raum 40 bearbeiten und kann das Ergebnis der Bearbeitungsarbeit im Anzeigezustand des virtuellen Raums 40 widerspiegeln.
-
Der Benutzer kann die Konfiguration der Software aus der Anordnung und aus dem Anzeigezustand jedes der Objekte 41 und 42 im virtuellen Raum 40 intuitiv begreifen, kann die gewünschten Software-Komponenteninformationen 12 gemäß dem Verständnis umschreiben und kann das Ergebnis der Arbeit durch Widerspiegeln der Arbeit im virtuellen Raum 40 bestätigen. Daher wird die Nutzbarkeit des Benutzers weiter verbessert.
-
[Siebtes Beispiel]
-
Eine siebte Ausführungsform wird mit Bezug auf 14 beschrieben. In der vorliegenden Ausführungsform wird, wenn das Punktobjekt 41 im virtuellen Raum 40 ausgewählt wird, der virtuelle Raum 410, der die Konfiguration der Software-Komponenteninformationen 12, die dem ausgewählten Punktobjekt 41 entsprechen, angibt, angezeigt.
-
Der virtuelle Raum 40, der das Analyseergebnis der Software höherer Ebene angibt, umfasst den virtuellen Raum 410, der das Analyseergebnis der Software-Komponenteninformationen 12 angibt, die die Software höherer Ebene bilden. Ähnlich zum oberen virtuellen Raum 40 umfasst der untere virtuelle Raum 410 ein Punktobjekt 411, ein Linienobjekt 412, eine θ-Achse 413 und eine Z-Achse 414. Das Punktobjekt 411 ist beispielsweise eine Funktion oder ein Block.
-
Diese wie vorstehend beschrieben konfigurierte Ausführungsform erreicht dieselben Betriebseffekte wie die erste Ausführungsform. Ferner kann in der vorliegenden Ausführungsform, wenn das Punktobjekt 41 des virtuellen Raums 40 der höheren Ebene ausgewählt wird, der virtuelle Raum 410 der unteren Ebene, der das Analyseergebnis der Software-Komponenteninformationen 12 visualisiert, die dem Punktobjekt 41 entsprechen, angezeigt werden. Daher ist die vorliegende Ausführungsform für die Konfigurationsanalyse von komplexer Software nützlich und die Nutzbarkeit des Benutzers wird verbessert.
-
Es ist zu beachten, dass die vorliegende Erfindung nicht auf die vorstehend beschriebenen Ausführungsformen begrenzt ist und verschiedene Modifikationen umfasst. Die obigen Ausführungsformen wurden beispielsweise für ein leichtes Verständnis der Erfindung im Einzelnen beschrieben und die Erfindung ist nicht notwendigerweise darauf begrenzt, dass sie alle beschriebenen Konfigurationen aufweist. Ein Teil der Konfiguration einer bestimmten Ausführungsform kann durch die Konfiguration einer anderen Ausführungsform ersetzt werden und die Konfiguration einer anderen Ausführungsform kann zur Konfiguration einer bestimmten Ausführungsform hinzugefügt werden. Es ist möglich, andere Konfigurationen zu einem Teil der Konfiguration jeder Ausführungsform hinzuzufügen, davon zu streichen und dagegen auszutauschen.
-
Bezugszeichenliste
-
- 1, 1A
- Software-Analyseunterstützungssystem
- 10
- Software-Analyseunterstützungsvorrichtung
- 11
- Zeichnungsobjekterzeugungseinheit
- 12
- Software-Komponenteninformationen
- 13
- Abbildungsfestlegung
- 14
- Zeichnungsobjektinformationen
- 15, 16
- Festlegungseinheit
- 21
- Ausgabevorrichtung
- 22
- Eingabevorrichtung
- 40, 40B
- virtueller Raum
- 41, 42
- Objekt
- 43
- 0-Achse
- 44
- Z-Achse
- 45
- der Relevanz Grad
- 46
- r-Achse
- 50
- Blickpunkt des Benutzers
- 410
- unterer virtueller Raum
- 411, 412
- Objekt
- 413
- θ-Achse
- 414
- Z-Achse
-
ZITATE ENTHALTEN IN DER BESCHREIBUNG
-
Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
-
Zitierte Patentliteratur
-
- JP 2013152576 A [0002]
- JP 2004005649 A [0002]