-
BEANSPRUCHUNG DER PRIORITÄT
-
Die vorliegende Anmeldung beansprucht die Priorität von der am 11. Juni 2013 eingereichten japanischen Patentanmeldung
JP 2013-122647 , deren Inhalt hiermit durch Verweis in diese Anmeldung aufgenommen ist.
-
Hintergrund der Erfindung
-
Gebiet der Erfindung
-
Die Erfindung betrifft Techniken zum Evaluieren einer gerade entwickelten Software.
-
Heute ist der Beschreibungsumfang eingebetteter Software, die auf dem eingebetteten Prozessor als Hauptkomponente eines eingebetteten Systems läuft, infolge des multifunktionellen eingebetteten Systems mit einer hohen Funktionalität zu groß geworden. Insbesondere ist es sehr wahrscheinlich, dass eine ableitende Entwicklung oder Wartungsentwicklung zum Hinzufügen von Funktionalitäten zum existierenden Produkt oder zum Korrigieren von Fehlern des existierenden Produkts die Größe und Komplexität der eingebetteten Software erhöht. An der Entwicklungsstelle ist es wesentlich, die Qualität und Funktionsweise der Software insgesamt zu gewährleisten, so dass eine Qualitätsevaluierung und eine Funktionsweiseevaluierung gefordert werden. In dem Fall, in dem ein Problem infolge der Qualität und der Funktionsweise in einer späteren Entwicklungsstufe entdeckt wird, kann die notwendige Überarbeitung die Entwicklungskosten weiter erhöhen. Es ist daher wirksam, die Evaluierung so früh wie möglich im Entwicklungsstadium auszuführen.
-
Es kann der Fall eintreten, dass die Softwarequalität auf der Grundlage der vorhergesagten Anzahl der latenten Fehler und vorhergesagten Arbeitsstunden für die Entwicklung oder den Test der Software evaluiert wird.
JP-A-2003-140929 offenbart Techniken zum Vorhersagen der Anzahl der latenten Fehler, welche als ”Softwarezuverlässigkeitsvorhersageverfahren, Softwarezuverlässigkeitsvorhersageprogramm, computerlesbares Aufzeichnungsmedium, auf dem das Vorhersageprogramm aufgezeichnet ist, und Softwarezuverlässigkeitsvorhersagevorrichtung, welche das genaue Planen des Testprozesses durch Schätzen der Obergrenze des geschätzten Werts der Anzahl der möglichen Fehler, die in der Software existieren, und das Schätzen des sich ergebenden Testzeitraums zu einem längeren, erlaubt” beschreibt. Als Technik zum Vorhersagen der Entwicklungsarbeitsstunden ist COCOMOII (siehe beispielsweise
Barry Boehm u. a. "Software Cost Estimation with Cocomo II", Prentice Hall, 2000) bekannt. COCOMOII liefert das Modell für die Arbeitsstundenvorhersage bei der Entwicklung unter Verwendung des existierenden Quellcodes.
-
JP-A-2011-181034 offenbart eine Funktionsweiseevaluierungstechnik, welche folgendermaßen beschrieben ist: ”Das System zum Beurteilen einer wirksamen Funktionsweise der Software ist dafür ausgelegt, es dem Ausführungsumgebungsinformationserfassungsabschnitt zu ermöglichen, Ausführungsumgebungsinformationen zu erhalten, welche die Spezifikation und Funktionsweise der Softwareausführungsumgebung repräsentieren. Der Ausführungsumgebungsinformationsspeicherabschnitt speichert die Ausführungsumgebungsinformationen. Der Programmanalyseabschnitt analysiert Verschachtelungen des Softwareprogrammcodes und die jeweiligen Funktionsweisen der Verschachtelungen. Der Speicherabschnitt für analytische Ergebnisse speichert Informationen über die Verschachtelungsfunktionsweise, die durch den Analyseabschnitt analysiert wurde. Der Auswahlabschnitt wählt die Verschachtelung zur Evaluierung der Funktionsweise aus der im Programmcode enthaltenen Verschachtelung aus. Der Funktionsweiseerfassungsabschnitt erhält den die effektive Funktionsweise der Software repräsentierenden Wert auf der Grundlage der Ausführungsumgebungsinformationen und der Verschachtelungsfunktionsweiseinformationen in Bezug auf die durch den Auswahlabschnitt ausgewählte Verschachtelung”.
-
Kurzfassung der Erfindung
-
JP-A-2003-140929 ist so ausgelegt, dass die Anzahl der latenten Fehler nicht bis zum Eintritt in den Testprozess, d. h. in den Softwareentwicklungsprozess, geschätzt werden kann. Literatur von Barry Boehm u. a. offenbart das Bereitstellen des Modells als Basis für die Verwendung des existierenden Quellcodes. Der Schwankungsfaktor von der Basis muss jedoch für die jeweiligen Organisationen oder Projekte berechnet werden, wodurch zusätzliche Arbeitsstunden für das Analysieren des Schwankungsfaktors erzeugt werden.
-
Im Allgemeinen kann der Einfluss auf die Funktionsweise der Software insgesamt abhängig von dem der Korrektur oder Hinzufügung unterzogenen Teil variieren.
JP-A-2011-181034 ist dafür ausgelegt, die wirksame Funktionsweise der Software auf der Grundlage der Ausführungsumgebungsinformationen und der Verschachtelungsfunktionsweiseinformationen zu evaluieren, ohne den korrigierten oder hinzugefügten Teil zu berücksichtigen. Sie ist auch dafür ausgelegt, die Funktionsweise nur nach der Implementation des Quellcodes zu evaluieren.
-
Wie vorstehend beschrieben wurde, ist es schwierig, die Qualität und die Funktionsweise der Software in der ableitenden Entwicklung oder der Wartungsentwicklung für das Hinzufügen der Funktionalität oder das Korrigieren des Fehlers des existierenden Produkts in der Entwicklungsstufe, beispielsweise die Zeit vor oder während der Implementation des Quellcodes, zu evaluieren.
-
Aus diesem Grund waren die Vorrichtung und das Verfahren zum Evaluieren der Softwarequalität und der Softwarefunktionsweise an einer früheren Stufe (während dieser) der ableitenden Entwicklung und der Wartungsentwicklung erforderlich.
-
Die Softwareevaluierungsvorrichtung zum Evaluieren einer gerade entwickelten Software ist mit einer Entwicklungsinformationsdatenbank, in der Softwaremetriken und Prozessmetriken entsprechend einer gerade entwickelten Fassung der Software und einer in der Vergangenheit entwickelten Fassung registriert sind, und einer I/O-Einheit verbunden. Die Vorrichtung umfasst einen Schwankungsmusterberechnungsabschnitt, der einen Schwankungsbetrag wenigstens einer von der Softwaremetrik und der Prozessmetrik der gerade entwickelten Fassung der Software und einer in der Vergangenheit entwickelten Fassung anhand der Fassung vor den jeweiligen Fassungen als ein Schwankungsmuster berechnet, einen Ähnlichkeitsberechnungsabschnitt, der die Ähnlichkeit des Schwankungsmusters zwischen der in der Vergangenheit entwickelten Fassung der Software und der gerade entwickelten Fassung der Software berechnet, einen Evaluierungsvorhersageabschnitt, der die Fassung mit einer hohen Ähnlichkeit aus den in der Vergangenheit entwickelten Fassungen der Software auswählt und ein Evaluierungsvorhersagemodell zum Vorhersagen eines Evaluierungsvorhersagewerts der Software unter Verwendung der Softwaremetrik und der Prozessmetrik der ausgewählten Fassung erzeugt, um den Evaluierungsvorhersagewert der Software anhand des erzeugten Evaluierungsvorhersagemodells und wenigstens einer von der Softwaremetrik und der Prozessmetrik der gerade entwickelten Fassung der Software zu berechnen, und einen Ergebnisausgabeabschnitt, der den berechneten Evaluierungsvorhersagewert auf der I/O-Einheit darstellt.
-
Gemäß der vorliegenden Erfindung können die Softwarequalität und -funktionsweise in einer früheren Entwicklungsstufe evaluiert werden.
-
Kurzbeschreibung der Zeichnung
-
Es zeigen:
-
1 eine Ansicht eines Beispiels einer Struktur einer Softwareevaluierungsvorrichtung gemäß einer ersten Ausführungsform,
-
2 eine Ansicht eines Beispiels einer Softwaremetriktabelle gemäß der ersten Ausführungsform,
-
3 eine Ansicht eines Beispiels einer Prozessmetriktabelle,
-
4 ein Beispiel einer Funktionsweiseevaluierungstabelle,
-
5 eine Ansicht eines Beispiels eines Anzeigebildschirms, der eine durch einen Ergebnisausgabeabschnitt ausgeführte Ausgabe zeigt, gemäß der ersten Ausführungsform,
-
6 ein Flussdiagramm eines Beispiels eines durch einen Evaluierungsprozessausführungsabschnitt ausgeführten Prozesses gemäß der ersten Ausführungsform,
-
7 ein Flussdiagramm eines Beispiels eines durch einen Metrikregistrierungsabschnitt ausgeführten Prozesses gemäß der ersten Ausführungsform,
-
8 ein Flussdiagramm eines Beispiels eines durch einen Schwankungsmusterberechnungsabschnitt ausgeführten Prozesses gemäß der ersten Ausführungsform,
-
9 ein Flussdiagramm eines Beispiels eines durch einen Ähnlichkeitsberechnungsabschnitt ausgeführten Prozesses gemäß der ersten Ausführungsform,
-
10 ein Flussdiagramm eines Beispiels eines durch einen Evaluierungsvorhersageabschnitt ausgeführten Prozesses gemäß der ersten Ausführungsform,
-
11 eine Ansicht eines Beispiels einer Struktur einer Softwareevaluierungsvorrichtung gemäß einer zweiten Ausführungsform,
-
12 ein Flussdiagramm eines Beispiels eines durch den Schwankungsmusterberechnungsabschnitt ausgeführten Prozesses (erste Hälfte) gemäß der zweiten Ausführungsform,
-
13 ein Flussdiagramm eines Beispiels des durch den Schwankungsmusterberechnungsabschnitt ausgeführten Prozesses (spätere Hälfte) gemäß der zweiten Ausführungsform,
-
14 ein Flussdiagramm eines Beispiels des durch den Evaluierungsvorhersageabschnitt ausgeführten Prozesses gemäß der zweiten Ausführungsform,
-
15 eine Ansicht eines Beispiels einer Softwareevaluierungsvorrichtung gemäß einer dritten Ausführungsform,
-
16 eine Ansicht eines Beispiels einer Softwaremetriktabelle gemäß der dritten Ausführungsform,
-
17 eine Ansicht eines Beispiels einer Qualitätsevaluierungstabelle,
-
18 ein Flussdiagramm eines Beispiels eines durch einen Metrikregistrierungsabschnitt ausgeführten Prozesses gemäß der dritten Ausführungsform,
-
19 ein Flussdiagramm eines Beispiels des durch den Schwankungsmusterberechnungsabschnitt ausgeführten Prozesses (spätere Hälfte) gemäß der dritten Ausführungsform,
-
20 ein Flussdiagramm eines Beispiels eines durch einen Ähnlichkeitsberechnungsabschnitt ausgeführten Prozesses gemäß der dritten Ausführungsform,
-
21 ein Flussdiagramm eines Beispiels des durch den Evaluierungsvorhersageabschnitt ausgeführten Prozesses gemäß der dritten Ausführungsform,
-
22 eine Ansicht eines Beispiels einer Struktur einer Softwareevaluierungsvorrichtung gemäß einer vierten Ausführungsform,
-
23 ein Flussdiagramm eines Beispiels des durch den Evaluierungsvorhersageabschnitt ausgeführten Prozesses (erste Hälfte) gemäß der vierten Ausführungsform,
-
24 ein Flussdiagramm eines Beispiels des durch den Evaluierungsvorhersageabschnitt ausgeführten Prozesses (spätere Hälfte) gemäß der vierten Ausführungsform,
-
25 eine Ansicht eines Beispiels eines Anzeigebildschirms, der eine durch einen Ergebnisausgabeabschnitt ausgeführte Ausgabe gemäß der vierten Ausführungsform zeigt, und
-
26 eine Ansicht eines Beispiels einer Computerstruktur zum Verwirklichen der Softwareevaluierungsvorrichtung gemäß den jeweiligen Ausführungsformen.
-
Detaillierte Beschreibung der Erfindung
-
Ausführungsformen werden nachstehend mit Bezug auf die Zeichnung beschrieben.
-
Erste Ausführungsform
-
1 zeigt eine als Beispiel dienende Struktur einer Softwareevaluierungsvorrichtung zum Ausführen eines Softwareevaluierungsprogramms gemäß dieser Ausführungsform. Die in 1 dargestellte Softwareevaluierungsvorrichtung 1 ist ein Computer oder eine zweckgebundene Hardware, der oder die einen Evaluierungsprozessausführungsabschnitt 2 und einen Aufzeichnungsabschnitt 3 aufweist und mit einer I/O-Einheit 4 verbunden ist. Die Softwareevaluierungsvorrichtung 1 ist auch über ein Netz 6 mit einem Verwaltungsserver 5 verbunden. Das Netz 6 kann ein existierendes öffentliches Netz, LAN, WAN und dergleichen verwenden, das vom drahtgestützten oder vom drahtlosen Typ sein kann. Die Softwareevaluierungsvorrichtung 1 berechnet einen Vorhersagewert einer spezifischen Evaluierungskomponente der festgelegten Fassung der gerade entwickelten Software. Die Ausführungsform kann dafür ausgelegt sein, nicht nur die Fassung, sondern auch die Ausgabe und die Version festzulegen.
-
Der Verwaltungsserver 5 umfasst ein Konfigurationsverwaltungssystem 7, das Quellcodes der gerade entwickelten Software verwaltet, eine Entwicklungsinformationsdatenbank 81, die Softwareentwicklungsinformationen speichert, und eine Evaluierungsdatenbank 91, die Softwareevaluierungsergebnisse speichert. Das Konfigurationsverwaltungssystem 7 weist ein Repositorium 71 als OSS (Open Source Software), beispielsweise als Unterversion bezeichnet, auf. Die Entwicklungsinformationsdatenbank 81 weist eine Softwaremetriktabelle, die Softwaremetriken speichert, und eine Prozessmetriktabelle, die Prozessmetriken speichert, auf. Die Evaluierungsdatenbank 91 weist eine Funktionsweiseevaluierungstabelle auf.
-
2 zeigt die Softwaremetriktabelle, in der Fassungsnummern von Quellcodes der jeweiligen im Repositorium 71 gespeicherten Fassungen, Dateinamen, die Anzahl der Quellcodezeilen der Datei und die Komplexität des Quellcodes der Datei registriert sind. Es ist möglich, die Anzahl der Aufrufbeziehungen, die Anzahl der Klassen, die Anzahl der Eigenschaften, die Anzahl der Funktionszeilen, die Anzahl der Codeklone und dergleichen als die zu registrierenden Softwaremetriken ohne Einschränkung auf die Anzahl der Quellcodezeilen der jeweiligen Dateien und die Komplexität zu verwenden. Es ist auch möglich, die statistischen Werte in der Art der Anzahl der Quellcodezeilen für jede Datei in Bezug auf jene der gerade entwickelten Software insgesamt zu berechnen, so dass der berechnete Wert als Softwaremetrik verwendet wird.
-
3 zeigt die Prozessmetriktabelle, in der Fassungsnummern, Dateinamen, die Entwicklungssprache der Datei, die Anzahl der Dateientwickler und das Fähigkeitsniveau der Dateientwickler registriert sind. Abgesehen von der Entwicklungssprache, von der Anzahl und vom Fähigkeitsniveau der Entwickler ist es möglich, die Anzahl der Entwicklungsstellen und den Namen und die Version des Betriebssystems zu verwenden.
-
4 zeigt die Funktionsweiseevaluierungstabelle, in der die Fassungsnummern, die Evaluierungskomponentennamen und die Evaluierungswerte registriert sind.
-
Die Erklärung erfolgt mit Bezug auf 1. Der Evaluierungsprozessausführungsabschnitt 2 weist einen Metrikregistrierungsabschnitt 201, einen Schwankungsmusterberechnungsabschnitt 202, einen Ähnlichkeitsberechnungsabschnitt 203, einen Evaluierungsvorhersageabschnitt 204 und einen Ergebnisausgabeabschnitt 205 auf. Die Evaluierungsprozessausführungseinheit 2 steuert den Metrikregistrierungsabschnitt 201, den Schwankungsmusterberechnungsabschnitt 202, den Ähnlichkeitsberechnungsabschnitt 203, den Evaluierungsvorhersageabschnitt 204 und den Ergebnisausgabeabschnitt 205 und Interaktionen mit einer Peripherievorrichtung wie der I/O-Einheit 4, dem Verwaltungsserver 5 und einer nicht dargestellten externen Speichereinheit. Der Evaluierungsprozessausführungsabschnitt 2 wird durch eine CPU und eine programmierbare Vorrichtung (FPGA, PLD) ausgeführt.
-
Der Aufzeichnungsabschnitt 3 zeichnet ein Schwankungsmuster 301, eine Ähnlichkeit 302 und ein Evaluierungsvorhersagemodell 303 sowie von der I/O-Einheit 4 eingegebene Daten, einen Treiber, eine Datenbank-Stab und eine Netz-Stab auf. Der Aufzeichnungsabschnitt 3 ist ein Speicher, beispielsweise ein ROM, ein RAM oder eine Festplatte. Der Aufzeichnungsabschnitt 3 kann als ein Arbeitsbereich verwendet werden, der Daten aufzeichnet, beispielsweise veränderliche Werte und Parameterwerte zum Ausführen der jeweiligen Prozesse des Evaluierungsprozessausführungsabschnitts 2, wie nachstehend beschrieben wird.
-
Der Metrikregistrierungsabschnitt 201 erhält Quellcodes der jeweiligen Fassungen vor jener, die der Evaluierungsvorhersage der gerade entwickelten Software unterzogen wird, vom Repositorium 71 und berechnet die Softwaremetrik. Die berechnete Softwaremetrik wird in der Entwicklungsinformationsdatenbank 81 gespeichert. Der Metrikregistrierungsabschnitt 201 speichert die von der I/O-Einheit 4 eingegebene Prozessmetrik in der Entwicklungsinformationsdatenbank 81. Die Berechnung der Softwaremetrik kann das durch Open Source, wie CCCC, entwickelte Werkzeug verwenden.
-
Der Schwankungsmusterberechnungsabschnitt 202 erhält die Softwaremetrik und die Prozessmetrik einer beliebigen Fassung vor jener als das Evaluierungsvorhersageziel und die unmittelbar vorhergehende Fassung der beliebigen Fassung von der Entwicklungsinformationsdatenbank 81 und berechnet den Schwankungsbetrag erhaltener Daten der Softwaremetrik und der Prozessmetrik der beliebigen Fassung anhand der unmittelbar vorhergehenden Fassung als Schwankungsmuster 301. Der Schwankungsmusterberechnungsabschnitt 202 zeichnet das berechnete Schwankungsmuster 301 im Aufzeichnungsabschnitt 3 auf.
-
Eine Formel (1) drückt ein Beispiel des Schwankungsmusters 301 von der Fassung C zur Fassung D aus, wie in den 2 und 3 dargestellt ist, welches als Schwankungsmuster 301 der Fassung D bezeichnet wird. Beispielsweise wird mit Bezug auf die in 2 dargestellte Softwaremetriktabelle die Anzahl der Quellcodezeilen der Datei 1 um 20 von 350 bei der Fassung C auf 370 bei der Fassung D erhöht. Dann wird die Komplexität der Datei 1 von 17 bei der Fassung C um 2 auf 15 bei der Fassung D verringert. Bei dem durch Formel (1) ausgedrückten Beispiel wird der Schwankungsbetrag durch den Zahlenwert ausgedrückt, so dass die Entwicklungssprache, die nicht durch den Zahlenwert ausgedrückt wird, nicht in der Komponente des Schwankungsmusters 301 enthalten ist. Das Schwankungsmuster 301 kann, abgesehen vom durch den Zahlenwert ausgedrückten Schwankungsbetrag, durch das Vorhandensein oder Nichtvorhandensein der Änderung ausgedrückt werden. Eine Formel (2) zeigt ein Beispiel des Schwankungsmusters 301 zum Ausdrücken des Vorhandenseins oder Nichtvorhandenseins der Änderung. Beim Vorhandensein einer Schwankung wird der Wert auf ”1” gesetzt, und beim Nichtvorhandensein einer Schwankung wird er auf ”0” gesetzt, um das Schwankungsmuster 301 von der Fassung C zur Fassung D ebenso wie Formel (1) auszudrücken.
Schwankungsmuster = (Schwankungsbetrag der Quellcodezeilen von Datei 1,
Schwankungsbetrag der Komplexität von Datei 1,
Schwankungsbetrag der Anzahl der Entwickler von Datei 1,
Schwankungsbetrag des Fähigkeitsniveaus der Entwickler von Datei 1,
Schwankungsbetrag der Quellcodezeilen von Datei 2,
Schwankungsbetrag der Komplexität von Datei 2,
Schwankungsbetrag der Anzahl der Entwickler von Datei 2,
Schwankungsbetrag des Fähigkeitsniveaus der Entwickler von Datei 2)
= (+20, –2, +1, –1, +10, +4, 0, 0)
...(1)
Schwankungsmuster = (Anzahl der Quellcodezeilen von Datei 1,
Komplexität von Datei 1,
Entwicklungssprache von Datei 1,
Anzahl der Entwickler von Datei 1,
Fähigkeitsniveau der Entwickler von Datei 1,
Anzahl der Quellcodezeilen von Datei 2,
Komplexität von Datei 2,
Entwicklungssprache von Datei 2,
Anzahl der Entwickler von Datei 2,
Fähigkeitsniveau der Entwickler von Datei 2)
= (1, 1, 0, 1, 1, 1, 1, 0, 0, 0)
...(2)
-
Der Ähnlichkeitsberechnungsabschnitt 203 berechnet die Ähnlichkeit 302 des Schwankungsmusters 301 zwischen der Fassung als das Evaluierungsvorhersageziel und der dieser vorhergehenden Fassung und zeichnet die berechnete Ähnlichkeit 302 im Aufzeichnungsabschnitt 3 auf. Indem die Schwankungsmuster 301 jeweils als Vektor angesehen werden, wird die Ähnlichkeit 302 als Abstand zwischen den Vektoren ausgedrückt (Euklidischer Abstand, Mahalanobis-Abstand).
-
Der Evaluierungsvorhersageabschnitt 204 erzeugt das Evaluierungsvorhersagemodell 303 zum Berechnen des Evaluierungsvorhersagewerts der Fassung als das Evaluierungsvorhersageziel und zeichnet das erzeugte Evaluierungsvorhersagemodell 303 im Aufzeichnungsabschnitt 3 auf. Der Evaluierungsvorhersageabschnitt 204 berechnet den Evaluierungsvorhersagewert der Fassung als das Evaluierungsvorhersageziel unter Verwendung des im Aufzeichnungsabschnitt 3 aufgezeichneten Evaluierungsvorhersagemodells 303. Der Ergebnisausgabeabschnitt 205 gibt das Ergebnis an die I/O-Einheit 4 aus.
-
5 zeigt ein Beispiel eines Anzeigebildschirms, der die Ausgabe des Ergebnisausgabeabschnitts 205 an die I/O-Einheit 4 zeigt. Der Anzeigebildschirm weist einen Evaluierungswertübergangsanzeigeabschnitt 40A, einen Vorhersageanalysezusammenfassungsanzeigeabschnitt 40B und einen Vorhersageergebnisanzeigeabschnitt 40C auf. Der Evaluierungswertübergangsanzeigeabschnitt 40A zeigt den Übergang des Evaluierungswerts der vorherzusagenden Evaluierungskomponente im Laufe der Zeit. Der Vorhersageanalysezusammenfassungsanzeigeabschnitt 40B zeigt die Zusammenfassung einschließlich der Einstellung der Evaluierungsvorhersage. Der Vorhersageergebnisanzeigeabschnitt 40C zeigt das durch den Evaluierungsvorhersageabschnitt 204 erzeugte Evaluierungsvorhersagemodell 303 und den unter Verwendung des Evaluierungsvorhersagemodells 303 berechneten Evaluierungsvorhersagewert. Der in 5 dargestellte Anzeigebildschirm zeigt nur ein Beispiel, und er kann dafür ausgelegt sein, nur einen Teil der Anzeige zu zeigen, wie vorstehend beschrieben wurde.
-
Ein Arbeitsvorgang der Softwareevaluierungsvorrichtung 1 wird beschrieben. 6 ist ein Flussdiagramm, das ein Beispiel des durch den Evaluierungsprozessausführungsabschnitt 2 ausgeführten Prozesses zeigt.
-
Der Evaluierungsprozessausführungsabschnitt 2 legt eine Fassung P als Evaluierungsvorhersageziel der gerade entwickelten Software und eine vorherzusagende Evaluierungskomponente Q fest (S601). Der Evaluierungsprozessausführungsabschnitt 2 registriert die Softwaremetrik und die Prozessmetrik in Bezug auf die Fassung vor der Fassung P in der Entwicklungsinformationsdatenbank 81 (S602). Der Prozessschritt S602 wird detailliert mit Bezug auf den in 7 dargestellten Metrikregistrierungsablauf beschrieben.
-
Der Evaluierungsprozessausführungsabschnitt 2 erhält die Softwaremetrik und die Prozessmetrik in Bezug auf eine beliebige Fassung und die unmittelbar vorhergehende Fassung davon von jenen vor der Fassung P von der Entwicklungsinformationsdatenbank 81 und berechnet das Schwankungsmuster 301 der Softwaremetrik und der Prozessmetrik (S603). Der Prozessschritt S603 wird detailliert mit Bezug auf den Schwankungsmusterberechnungsablauf, wie in 8 dargestellt ist, beschrieben. Der Evaluierungsprozessausführungsabschnitt 2 berechnet die Ähnlichkeit 302 des Schwankungsmusters zwischen der Fassung P und der beliebigen Fassung vor der Fassung P (S604). Der Prozessschritt S604 wird detailliert mit Bezug auf den in 9 dargestellten Ähnlichkeitsberechnungsablauf beschrieben.
-
Der Evaluierungsprozessausführungsabschnitt 2 wählt die frühere Fassung mit einer in S604 berechneten hohen Ähnlichkeit (nahen Übereinstimmung) 302 für das Erzeugen des Evaluierungsvorhersagemodells 303 und erzeugt das Evaluierungsvorhersagemodell 303 unter Verwendung der Informationen über die ausgewählte Fassung (S605). Der Evaluierungsprozessausführungsabschnitt 2 berechnet den Evaluierungsvorhersagewert unter Verwendung des erzeugten Evaluierungsvorhersagemodells 303 (S606). Die Prozessschritte S605 und S606 werden detailliert mit Bezug auf den in 10 dargestellten Evaluierungsvorhersageablauf beschrieben.
-
Das Evaluierungsvorhersageergebnis wird ausgegeben (S607), und der Prozess endet.
-
7 zeigt ein Beispiel eines Ablaufs des durch den Metrikregistrierungsabschnitt 201 ausgeführten Prozesses. Dieser Ablauf zeigt detaillierte Prozessschritte von S602, wie vorstehend mit Bezug auf 6 beschrieben wurde.
-
Der Metrikregistrierungsabschnitt 201 bestimmt, ob es Fassungen vor der Fassung P als Evaluierungsvorhersageziel gibt, deren Softwaremetrik nicht in der Entwicklungsinformationsdatenbank 81 registriert ist (S701). Falls es eine Fassung mit einer nicht registrierten Softwaremetrik gibt, wird der Prozess bei S702 fortgesetzt. Falls dies nicht der Fall ist, wird der Prozess bei S703 fortgesetzt. Der Metrikregistrierungsabschnitt 201 berechnet die Softwaremetrik in Bezug auf die Fassung mit der nicht registrierten Softwaremetrik und registriert die berechnete Softwaremetrik in der Entwicklungsinformationsdatenbank 81 (S702).
-
Der Metrikregistrierungsabschnitt 201 bestimmt, ob es eine von der I/O-Einheit 4 eingegebene Prozessmetrik gibt (S703). Falls die eingegebene Prozessmetrik vorhanden ist, wird der Prozess bei S704 fortgesetzt. Falls dies nicht der Fall ist, endet der Prozess. Die von der I/O-Einheit 4 eingegebene Prozessmetrik wird in der Entwicklungsinformationsdatenbank 81 registriert (S704), und der Prozess endet dann. Bei diesem Ablauf wird die Softwaremetrik zuerst registriert. Es ist jedoch auch möglich, zuerst die Prozessmetrik zu registrieren.
-
8 zeigt ein Beispiel eines Ablaufs des durch den Schwankungsmusterberechnungsabschnitt 202 ausgeführten Prozesses. Dieser Ablauf zeigt detaillierte Prozessschritte von S603, wie vorstehend mit Bezug auf 6 beschrieben wurde.
-
Der Schwankungsmusterberechnungsabschnitt 202 bestimmt, ob es eine beliebige Fassung von jenen vor der Fassung P als Evaluierungsvorhersageziel gibt, deren Schwankungsmuster 301 nicht im Aufzeichnungsabschnitt 3 aufgezeichnet ist (S801). Falls es die Fassung mit einem nicht aufgezeichneten Schwankungsmuster 301 gibt, wird der Prozess bei S802 fortgesetzt. Falls dies nicht der Fall ist, endet der Prozess.
-
Der Schwankungsmusterberechnungsabschnitt 202 erhält die Softwaremetrik und die Prozessmetrik der Fassung mit dem nicht aufgezeichneten Schwankungsmuster 301 und die unmittelbar vorhergehende Fassung davon von der Entwicklungsinformationsdatenbank 81 (S802). Der Schwankungsmusterberechnungsabschnitt 202 berechnet das Schwankungsmuster 301 anhand der in S802 erhaltenen Softwaremetrik und Prozessmetrik (S803). Der Schwankungsmusterberechnungsabschnitt 202 zeichnet das in S803 berechnete Schwankungsmuster 301 im Aufzeichnungsabschnitt 3 auf (S804).
-
9 zeigt ein Beispiel eines Ablaufs des durch den Ähnlichkeitsberechnungsabschnitt 203 ausgeführten Prozesses. Dieser Ablauf repräsentiert detaillierte Prozessschritte von S604, wie vorstehend mit Bezug auf 6 beschrieben wurde.
-
Der Ähnlichkeitsberechnungsabschnitt 203 bestimmt, ob es irgendwelche Fassungen ohne eine berechnete Ähnlichkeit 302 des im Aufzeichnungsabschnitt 3 aufgezeichneten Schwankungsmusters 301 mit dem Schwankungsmuster 301 der Fassung P gibt (S901). Falls es die Fassung ohne die berechnete Ähnlichkeit 302 gibt, wird der Prozess mit S902 fortgesetzt. Falls dies nicht der Fall ist, endet der Prozess.
-
Der Ähnlichkeitsberechnungsabschnitt 203 berechnet die Ähnlichkeit 302 des Schwankungsmusters 301 zwischen der Fassung P und der Fassung ohne die berechnete Ähnlichkeit 302 mit der Fassung P (S902). Der Ähnlichkeitsberechnungsabschnitt 203 zeichnet die bei S902 berechnete Ähnlichkeit 302 im Aufzeichnungsabschnitt 3 auf (S903).
-
10 zeigt ein Beispiel eines Ablaufs des durch den Evaluierungsvorhersageabschnitt 204 ausgeführten Prozesses. Dieser Ablauf repräsentiert detaillierte Prozessschritte von S605 und S606, wie vorstehend mit Bezug auf 6 beschrieben wurde.
-
Der Evaluierungsvorhersageabschnitt 204 legt ein Ähnlichkeitsbeurteilungskriterium fest (S1001). Der Minimalwert der als Fassung für das Erzeugen des Evaluierungsvorhersagemodells 303 verwendeten Ähnlichkeit 302 wird als Ähnlichkeitsbeurteilungskriterium festgelegt. Mit anderen Worten wird die Fassung, deren Ähnlichkeit 302 kleiner ist als der Minimalwert, nicht für die Erzeugung des Evaluierungsvorhersagemodells 303 verwendet. Alternativ ist es möglich, die Anzahl der für das Erzeugen des Evaluierungsvorhersagemodells 303 verwendeten Fassungen festzulegen, so dass die festgelegte Anzahl der Fassungen das Ähnlichkeitsbeurteilungskriterium in der Reihenfolge von jener mit der höheren Ähnlichkeit 302 erfüllt. Es ist auch möglich, es den Entwicklern zu erlauben, das Ähnlichkeitsbeurteilungskriterium festzulegen, oder ein solches Kriterium als Standard des Systems festzulegen.
-
Die Evaluierungsvorhersageeinheit 204 bestimmt, ob es die Fassung gibt, die das festgelegte Ähnlichkeitsbeurteilungskriterium erfüllt (S1002). Falls es die Fassung gibt, die das Ähnlichkeitsbeurteilungskriterium erfüllt, wird der Prozess bei S1003 fortgesetzt. Falls dies nicht der Fall ist, wird der Prozess bei S1009 fortgesetzt.
-
Der Evaluierungsvorhersageabschnitt 204 wählt die Fassung, die das Ähnlichkeitsbeurteilungskriterium erfüllt, als jene, die für die Erzeugung des Evaluierungsvorhersagemodells 303 verwendet wird (S1003). Der Evaluierungsvorhersageabschnitt 204 erhält die Softwaremetrik und die Prozessmetrik der bei S1003 gewählten Fassung von der Entwicklungsinformationsdatenbank 81 (S1004). Der Evaluierungsvorhersageabschnitt 204 erhält den Wert der Vorhersageevaluierungskomponente Q (Evaluierungswert) der bei S1003 gewählten Fassung von der Evaluierungsdatenbank 91 (S1005). Die Werte (Evaluierungswerte) der Vorhersageevaluierungskomponenten Q der Fassungen vor der Fassung P als Evaluierungsvorhersageziel werden in der Evaluierungsdatenbank 91 nach der Einwirkung des Evaluierungsvorhersageabschnitts 204 auf die vorliegende Fassung als Evaluierungsvorhersageziel gespeichert.
-
Der Evaluierungsvorhersageabschnitt 204 erzeugt das Evaluierungsvorhersagemodell 303 unter Verwendung der bei S1004 erhaltenen Metrik und des bei S1005 erhaltenen Evaluierungswerts (S1006). Das Evaluierungsvorhersagemodell 303 wird unter Verwendung der bei S1004 erhaltenen Metrik als erklärende Variable und Regressionsanalyse durch Nehmen des bei S1005 erhaltenen Evaluierungswerts als objektive Variable erzeugt.
-
Der Evaluierungsvorhersageabschnitt 204 erhält die Softwaremetrik und die Prozessmetrik der Fassung P als Evaluierungsziel von der Entwicklungsinformationsdatenbank 81 (S1007). Der Evaluierungsvorhersageabschnitt 204 berechnet den Vorhersagewert der Evaluierungskomponente Q der Fassung P durch Ersetzen der bei S1007 erhaltenen Metrik für das bei S1006 erzeugte Evaluierungsvorhersagemodell 303 (S1008) und speichert den berechneten Vorhersagewert (Evaluierungswert) der Evaluierungskomponente Q der Fassung P in der Evaluierungsdatenbank 91. Der Prozess endet dann. Falls der Wert kleiner als der vorläufig festgelegte Evaluierungsvorhersagewert ist, wird eine Mitteilung an die I/O-Einheit 4 ausgegeben (nicht dargestellt).
-
Falls es dagegen keine Fassung gibt, welche das Ähnlichkeitsbeurteilungskriterium bei S1002 erfüllt, gibt der Evaluierungsvorhersageabschnitt 204 eine Mitteilung an die I/O-Einheit 4 aus, die darüber informiert, dass das Evaluierungsvorhersagemodell 303 nicht entsprechend dem festgelegten Ähnlichkeitsbeurteilungskriterium erzeugt werden kann, d. h. dass die Evaluierungsvorhersage nicht ausführbar ist (S1009). Der Prozess endet dann.
-
Zweite Ausführungsform
-
Die erste Ausführungsform ist unter der Annahme ausgelegt, dass es in den verschiedenen für den Schwankungsmusterberechnungsabschnitt 202 für das Berechnen des Schwankungsmusters benötigten Metrikdaten keinen fehlenden Teil gibt. Diese Ausführungsform wird als für das Ergänzen des fehlenden Teils, falls überhaupt, in den verschiedenen Metrikdaten ausgelegt beschrieben.
-
11 ist eine Ansicht einer Struktur einer Softwareevaluierungsvorrichtung 11 zum Ausführen des Softwareevaluierungsprogramms gemäß der Ausführungsform. Die Softwareevaluierungsvorrichtung 11 unterscheidet sich von der gemäß der ersten Ausführungsform beschriebenen dadurch, dass an Stelle des Schwankungsmusterberechnungsabschnitts 202 ein Schwankungsmusterberechnungsabschnitt 206 verwendet wird und dass an Stelle des Evaluierungsvorhersageabschnitts 204 für das Aufzeichnen komplementärer Informationen 304 im Aufzeichnungsabschnitt 3 ein Evaluierungsvorhersageabschnitt 207 verwendet wird. Es wird auf Erklärungen in Bezug auf Strukturen, welche den gleichen Code aufweisen wie gemäß der ersten Ausführungsform, und auf Erklärungen des Teils, der die gleiche Funktion aufweist wie gemäß der ersten Ausführungsform, verzichtet.
-
Falls es in der für die Evaluierungsvorhersage der gerade entwickelten Software verwendeten Metrik einen fehlenden Wert gibt, ergänzt der Schwankungsmusterberechnungsabschnitt 206 den fehlenden Wert und zeichnet den Wert im Aufzeichnungsabschnitt 3 als ergänzende Information 304 auf. Falls der fehlende Wert nicht ergänzt werden kann, gibt der Schwankungsmusterberechnungsabschnitt 206 eine Mitteilung an die I/O-Einheit 4 aus. Dann erhält der Schwankungsmusterberechnungsabschnitt 206 die Softwaremetrik und die Prozessmetrik in Bezug auf die beliebige Fassung und die unmittelbar vorhergehende Fassung davon unter jenen vor jener als das Evaluierungsvorhersageziel der gerade entwickelten Software von der Entwicklungsinformationsdatenbank 81. Falls die ergänzenden Informationen 304 aufgezeichnet werden, werden sie vom Aufzeichnungsabschnitt 3 erhalten. Der Schwankungsmusterberechnungsabschnitt 206 berechnet den Schwankungsbetrag der Softwaremetrik und der Prozessmetrik der erhaltenen Fassung von jenen der unmittelbar vorhergehenden Fassung als das Schwankungsmuster 301. Der Schwankungsmusterberechnungsabschnitt 206 zeichnet das berechnete Schwankungsmuster 301 im Aufzeichnungsabschnitt 3 auf.
-
Der Evaluierungsvorhersageabschnitt 207 erzeugt das Evaluierungsvorhersagemodell 303 zum Berechnen des Evaluierungsvorhersagewerts der Fassung als das Evaluierungsvorhersageziel und zeichnet das erzeugte Evaluierungsvorhersagemodell 303 im Aufzeichnungsabschnitt 3 auf. Der Evaluierungsvorhersageabschnitt 207 berechnet den Evaluierungsvorhersagewert der Fassung unter Verwendung des im Aufzeichnungsabschnitt 3 aufgezeichneten Evaluierungsvorhersagemodells 303. Nach der Erzeugung des Evaluierungsvorhersagemodells 303 erhält der Evaluierungsvorhersageabschnitt 207 die Softwaremetrik und die Prozessmetrik der für die Erzeugung des Evaluierungsvorhersagemodells 303 verwendeten Fassung von der Entwicklungsinformationsdatenbank 81 und erhält ferner die ergänzende Information 304, falls überhaupt, vom Aufzeichnungsabschnitt 3.
-
Die 12 und 13 zeigen ein Beispiel des Ablaufs des durch den Schwankungsmusterberechnungsabschnitt 206 der Ausführungsform ausgeführten Prozesses. Die gleichen Prozessschritte wie jene, die in 8 gemäß der ersten Ausführungsform dargestellt sind, werden mit den gleichen Codes bezeichnet, und überlappende Erklärungen davon werden demgemäß fortgelassen.
-
Der Schwankungsmusterberechnungsabschnitt 206 legt die für die Vorhersage verwendete Metrik aus den in der Entwicklungsinformationsdatenbank 81 gespeicherten fest (S1201). Der Schwankungsmusterberechnungsabschnitt 206 bestimmt, ob es in der bei S1201 festgelegten Metrik einen fehlenden Wert gibt (S1202). Gemäß dieser Ausführungsform kann abgesehen von einem infolge eines Messfehlers fehlenden Wert der Fall als fehlender Wert angesehen werden, in dem in der früheren Fassung der gerade entwickelten Software bei Vorhandensein einer neu hinzugefügten Datei kein Metrikwert existiert. Falls es einen fehlenden Wert gibt, wird der Prozess bei S1203 fortgesetzt. Falls dies nicht der Fall ist, wird der Prozess bei S801 fortgesetzt.
-
Der Schwankungsmusterberechnungsabschnitt 206 bestimmt, ob es möglich ist, die Metrik in Bezug auf den beliebigen fehlenden Wert neu zu berechnen (S1203). Beispielsweise kann die Anzahl der Quellcodezeilen der neu hinzugefügten Datei gezählt werden, und es ist dementsprechend möglich, die Metrik neu zu berechnen. Falls die Neuberechnung des Metrikwerts durch den Schwankungsmusterberechnungsabschnitt 206 ausführbar ist, wird ein solcher Wert berechnet (S1204). Falls die Berechnung nicht ausführbar ist, wird der Prozess bei S1205 fortgesetzt.
-
Der Schwankungsmusterberechnungsabschnitt 206 bestimmt, ob der Metrikwert in Bezug auf den in S1203 bestimmten fehlenden Wert ergänzt werden kann, wobei die Berechnung nicht ausführbar ist. Falls die Ergänzung vorgenommen werden kann, wird der Prozess bei S1206 fortgesetzt. Falls die Ergänzung nicht vorgenommen werden kann, wird der Prozess bei S1207 fortgesetzt.
-
Der Schwankungsmusterberechnungsabschnitt 206 ergänzt den fehlenden Wert der bestimmten Metrik, um die Ergänzung bei S1205 ausführen zu können, und zeichnet die ergänzende Information 304 im Aufzeichnungsabschnitt 3 auf (S1206). Falls die neue Datei beispielsweise hinzugefügt wird, um die Metriktypen zu erweitern, und keine Metrik der Datei zur früheren Fassung hinzugefügt wurde, wird der sich ergebende Wert als ”null” für die Ergänzung angesehen.
-
Alternativ wird der Mittelwert der früheren Fassung für die Ergänzung verwendet. Das ergänzende Verfahren ist jedoch nicht auf die vorstehend beschriebenen beschränkt.
-
Der Schwankungsmusterberechnungsabschnitt 206 gibt eine Mitteilung an die I/O-Einheit 4 aus, die darüber informiert, dass die Metrik mit dem fehlenden Wert, von dem bei S1205 bestimmt wurde, dass er nicht ergänzt werden kann, nicht für die Evaluierungsvorhersage der gerade entwickelten Software zur Verfügung steht (S1207).
-
Auf der Grundlage der Anweisung des Bedieners durch die I/O-Einheit 4 ansprechend auf die Mitteilung, die informiert, dass die Metrik nicht für die Vorhersage verfügbar ist, bestimmt der Schwankungsmusterberechnungsabschnitt 206, ob die Vorhersage fortzusetzen ist (S1208). Falls die Vorhersage zu beenden ist, endet der Prozess.
-
Falls die Metrik bei S1202 keinen fehlenden Wert aufweist, erhält der Schwankungsmusterberechnungsabschnitt 206 die Softwaremetrik und die Prozessmetrik der Fassung mit dem nicht aufgezeichneten Schwankungsmuster 301 und die dieser unmittelbar vorhergehende Fassung von der Entwicklungsinformationsdatenbank 81 durch S801, wie in 13 dargestellt ist. Die im Aufzeichnungsabschnitt 3 aufgezeichnete ergänzende Information 304, falls vorhanden, wird erhalten (S1302), und das Schwankungsmuster wird berechnet.
-
14 zeigt ein Beispiel eines Ablaufs des durch den Evaluierungsvorhersageabschnitt 207 gemäß der Ausführungsform ausgeführten Prozesses. Die gleichen Prozessschritte wie jene der in 10 dargestellten ersten Ausführungsform werden mit den gleichen Codes bezeichnet, und es wird daher auf überlappende Erklärungen davon verzichtet. Der in 14 dargestellte Ablauf weist den bei S1404 ausgeführten Prozess an Stelle des in 10 dargestellten Prozesses S1004 auf.
-
Der Evaluierungsvorhersageabschnitt 207 erhält die Softwaremetrik und die Prozessmetrik der bei S1003 gewählten Fassung von der Entwicklungsinformationsdatenbank 81. Die im Aufzeichnungsabschnitt 3 aufgezeichnete ergänzende Information 304, falls vorhanden, wird erhalten (S1404).
-
Gemäß der Ausführungsform wird selbst dann, wenn der für die Evaluierungsvorhersage verwendete Metrikwert nicht in der Datenbank registriert ist, die Evaluierung der gerade entwickelten Software durch Ergänzen sichergestellt.
-
Dritte Ausführungsform
-
Die erste und die zweite Ausführungsform verwenden die anhand der im Repositorium 71 des Konfigurationsverwaltungssystems 7 gespeicherten Quellcodes berechnete Softwaremetrik. Diese Ausführungsform verwendet die anhand der im Modellrepositorium 72 gespeicherten Modellinformationen berechnete Softwaremetrik ohne Bereitstellen des Konfigurationsverwaltungssystems 7. Diese Ausführungsform verwendet den Schwankungsbetrag von der beliebigen Fassung vor der Zielfassung an Stelle von jenem von der unmittelbar vorhergehenden Fassung zur Berechnung des Schwankungsmusters 301 gemäß dieser Ausführungsform.
-
15 zeigt die Struktur einer Softwareevaluierungsvorrichtung, welche das Softwareevaluierungsprogramm gemäß dieser Ausführungsform ausführt. Eine Softwareevaluierungsvorrichtung 12 unterscheidet sich von jener gemäß der zweiten Ausführungsform in der Verwendung eines Metrikregistrierungsabschnitts 208, eines Schwankungsmusterberechnungsabschnitts 209, eines Ähnlichkeitsberechnungsabschnitts 210 und eines Evaluierungsvorhersageabschnitts 211 an Stelle des Metrikregistrierungsabschnitts 201, des Schwankungsmusterberechnungsabschnitts 206, des Ähnlichkeitsberechnungsabschnitts 203 und des Evaluierungsvorhersageabschnitts 207 gemäß der zweiten Ausführungsform sowie ein Modellrepositorium 72, eine Entwicklungsinformationsdatenbank 82 und eine Evaluierungsdatenbank 92 im Verwaltungsserver 5. Es wird auf Erklärungen in Bezug auf Strukturen, welche den gleichen Code aufweisen wie gemäß der zweiten Ausführungsform, und auf Erklärungen des Teils, der die gleiche Funktion aufweist wie gemäß der zweiten Ausführungsform, verzichtet.
-
Der Verwaltungsserver 5 umfasst das Modellrepositorium 72, welches das Entwurfsmodell der gerade entwickelten Software verwaltet, die Entwicklungsinformationsdatenbank 82, welche die Softwareentwicklungsinformationen speichert, und die Evaluierungsdatenbank 92, welche den Softwareevaluierungswert speichert. Das Modellrepositorium 72 ist in der Lage, Informationen des unter Verwendung von UML (Unified Modeling Language) und MATLAB (MATrix LABoratory) entwickelten Modells in XMI-(XML Metadata Interchange)-Form oder eindeutiger Textform zu speichern. Das Modellrepositorium 72 gemäß dieser Ausführungsform verwendet nicht das Konfigurationsverwaltungssystem. Es kann jedoch das Konfigurationsverwaltungssystem verwendet werden, das in der Lage ist, die Modellinformationen zu speichern. Die Entwicklungsinformationsdatenbank 82 weist die Softwaremetriktabelle auf, welche die Softwaremetrik enthält. Die Evaluierungsdatenbank 92 weist die Qualitätsevaluierungstabelle auf. Die in der Entwicklungsinformationsdatenbank 82 enthaltene Tabelle kann dafür ausgelegt werden, die Prozessmetriktabelle ähnlich jener gemäß der ersten oder der zweiten Ausführungsform neben der Softwaremetriktabelle zu enthalten. Die Evaluierungsdatenbank 92 kann dafür ausgelegt sein, die Funktionsweiseevaluierungstabelle an Stelle der Qualitätsevaluierungstabelle zu enthalten, oder sowohl die Qualitätsevaluierungstabelle als auch die Funktionsweiseevaluierungstabelle zu enthalten.
-
16 zeigt die in der Entwicklungsinformationsdatenbank 82 enthaltene Softwaremetriktabelle. Die Softwaremetriktabelle registriert die Modellfassungsnummern der jeweiligen im Modellrepositorium 72 gespeicherten Fassungen, die Klassennamen, die Anzahl der Beziehungen zwischen der durch den Klassennamen repräsentierten Klasse und der anderen Klasse im Paket, die Anzahl der Beziehungen zwischen der durch den Klassennamen repräsentierten Klasse und der anderen Klasse außerhalb des Pakets und das Verallgemeinerungsniveau der durch den Klassennamen repräsentierten Klasse. Die zu registrierende Softwaremetrik ist in der Lage, abgesehen von der vorstehend beschriebenen die beliebige Metrik zu verwenden, die anhand des Entwurfsmodells berechnet werden kann. Alternativ kann die durch Berechnung erhaltene Statistik verwendet werden.
-
17 zeigt die in der Evaluierungsdatenbank 92 enthaltene Qualitätsevaluierungstabelle. Die Qualitätsevaluierungstabelle registriert die Fassungsnummern, die Evaluierungskomponentennamen und die Evaluierungswerte. Die Qualitätsevaluierungstabelle unterscheidet sich in der Hinsicht von der Funktionsweiseevaluierungstabelle, dass sich die durch den Evaluierungskomponentennamen repräsentierte Evaluierungskomponente auf Qualität, wie Arbeitsstunden und Wiederverwendbarkeit, statt auf die Funktionsweise bezieht.
-
Die Erklärung erfolgt mit Bezug auf 15. Falls es in der für die Evaluierungsvorhersage verwendeten Metrik einen fehlenden Wert gibt, ergänzt der Schwankungsmusterberechnungsabschnitt 209 den fehlenden Wert, um ihn als ergänzende Information 304 im Aufzeichnungsabschnitt 3 aufzuzeichnen. Falls der fehlende Wert nicht ergänzt werden kann, gibt der Schwankungsmusterberechnungsabschnitt 209 eine Mitteilung an die I/O-Einheit 4 aus, die darüber informiert, dass die Ergänzung nicht vorgenommen werden kann. Der Schwankungsmusterberechnungsabschnitt 209 erhält die Softwaremetrik in Bezug auf eine beliebige ”Fassungskombination” vor der Fassung als das Evaluierungsvorhersageziel von der Entwicklungsinformationsdatenbank 82 und erhält ferner die aufgezeichnete ergänzende Information 304, falls vorhanden, vom Aufzeichnungsabschnitt 3. Der Schwankungsmusterberechnungsabschnitt 209 berechnet den Schwankungsbetrag von der erhaltenen Softwaremetrik der Fassung als das Schwankungsmuster 301. Das berechnete Schwankungsmuster 301 wird im Aufzeichnungsabschnitt 3 aufgezeichnet.
-
Der Evaluierungsvorhersageabschnitt 211 erzeugt das Evaluierungsvorhersagemodell 303 zum Berechnen des Evaluierungsvorhersagewerts der Fassung als das Evaluierungsvorhersageziel und zeichnet das erzeugte Evaluierungsvorhersagemodell 303 im Aufzeichnungsabschnitt 3 auf. Der Evaluierungsvorhersageabschnitt 211 verwendet das im Aufzeichnungsabschnitt 3 aufgezeichnete Evaluierungsvorhersagemodell 303 zum Berechnen des Evaluierungsvorhersagewerts der Fassung als Evaluierungsvorhersageziel. Der Evaluierungsvorhersageabschnitt 211 erhält die Softwaremetrik der für die Erzeugung des Evaluierungsvorhersagemodells 303 verwendeten Fassung von der Entwicklungsinformationsdatenbank 82 und erhält ferner die ergänzende Information 304, falls vorhanden, vom Aufzeichnungsabschnitt 3.
-
18 zeigt ein Beispiel des Ablaufs des durch den Metrikregistrierungsabschnitt 208 gemäß der Ausführungsform ausgeführten Prozesses. 18 unterscheidet sich in der Hinsicht von 7, dass die Prozessschritte, welche die in 7 dargestellte Prozessmetrik betreffen (S703, S704), fortgelassen sind. Die Prozessschritte S701 und S702 gleichen den in 7 dargestellten, und es wird daher auf ihre Erklärung verzichtet.
-
19 zeigt die untere Hälfte des Ablaufs des durch den Schwankungsmusterberechnungsabschnitt 209 gemäß der Ausführungsform ausgeführten Prozesses (entsprechend 13). Die gleichen Prozessschritte wie jene, die in der zweiten Ausführungsform mit Bezug auf 13 beschrieben wurden, sind mit den gleichen Codes bezeichnet, und es wird auf überlappende Erklärungen verzichtet. Die erste Hälfte des Ablaufs des durch den Schwankungsmusterberechnungsabschnitt 209 gemäß der Ausführungsform ausgeführten Prozesses gleicht jener, die in der zweiten Ausführungsform mit Bezug auf 12 beschrieben wurde.
-
Der Schwankungsmusterberechnungsabschnitt 209 legt die Fassung R vor der Fassung P als das Evaluierungsziel fest und erhält die Softwaremetriken der Fassungen P und R von der Entwicklungsinformationsdatenbank 82. Die ergänzende Information 304 der Fassungen P und R, die im Aufzeichnungsabschnitt 3 aufgezeichnet ist, falls vorhanden, wird erhalten. Das Schwankungsmuster 301 der Fassung P wird anhand der erhaltenen Softwaremetrik und der ergänzenden Information 304 berechnet (S1900).
-
Der Schwankungsmusterberechnungsabschnitt 209 bestimmt, ob es die ”Fassungskombination” gibt, deren Schwankungsmuster 301 im Aufzeichnungsabschnitt 3 nicht aufgezeichnet ist, mit Bezug auf die beliebige Fassung vor der Fassung P (S1901). Die Fassungskombination bezeichnet die Kombination der beliebigen Fassung vor der Fassung P und der Fassung, die der beliebigen Fassung vorhergeht. Falls es die ”Fassungskombination” mit dem nicht aufgezeichneten Schwankungsmuster 301 gibt, wird der Prozess bei Schritt S1902 fortgesetzt. Falls dies nicht der Fall ist, endet der Prozess.
-
Der Schwankungsmusterberechnungsabschnitt 209 erhält die Softwaremetrik der in der ”Fassungskombination” enthaltenen Fassung mit dem nicht aufgezeichneten Schwankungsmuster 301 von der Entwicklungsinformationsdatenbank 82 und erhält ferner die ergänzende Information 304 der Fassung, falls vorhanden, die im Aufzeichnungsabschnitt 3 aufgezeichnet ist (S1902).
-
Beim Ablauf des durch den Schwankungsmusterberechnungsabschnitt 209 gemäß der Ausführungsform ausgeführten Prozesses, wie in 19 dargestellt ist, werden die Schwankungsmuster 301 für alle ”Fassungskombinationen” berechnet. Es ist möglich, das Schwankungsmuster 301 der beliebigen Fassung mit einem nicht aufgezeichneten Schwankungsmuster 301 in Bezug auf die Fassung zu berechnen, die der beliebigen Fassung unmittelbar vorhergeht, und ferner das Schwankungsmuster 301 wiederholt zu den früheren Fassungen hin sequenziell zu berechnen. Die Berechnung des Schwankungsmusters 301 in Bezug auf die beliebige Fassung kann zu dem Zeitpunkt beendet werden, zu dem der Schwankungsbetrag zwischen den Fassungen den vorab festgelegten Schwankungsbetrag überschreitet. In diesem Fall kann der Schwankungsbetrag des Schwankungsmusters 301 der Fassung P als Evaluierungsziel als vorläufig festgelegter Schwankungsbetrag verwendet werden.
-
20 zeigt einen Ablauf des durch den Ähnlichkeitsberechnungsabschnitt 210 gemäß der Ausführungsform ausgeführten Prozesses. Die Prozessschritte, die jenen gleichen, die gemäß der ersten Ausführungsform mit Bezug auf 9 beschrieben wurden, sind mit den gleichen Codes bezeichnet, und es wird demgemäß auf überlappende Erklärungen verzichtet.
-
Der Ähnlichkeitsberechnungsabschnitt 210 bestimmt, ob es die ”Fassungskombination” ohne eine berechnete Ähnlichkeit 302 zwischen dem im Aufzeichnungsabschnitt 3 aufgezeichneten Schwankungsmuster 301 und dem Schwankungsmuster 301 der Fassung P als Evaluierungsziel gibt (S2001). Falls es die ”Fassungskombination” ohne die berechnete Ähnlichkeit 302 gibt, wird der Prozess bei Schritt S2002 fortgesetzt. Falls es die ”Fassungskombination” nicht gibt, endet der Prozess.
-
Der Ähnlichkeitsberechnungsabschnitt 210 berechnet die Ähnlichkeit 302 des Schwankungsmusters 301 in Bezug auf die beliebige ”Fassungskombination” ohne eine berechnete Ähnlichkeit 302 mit dem Schwankungsmuster 301 der Fassung P (S2002).
-
21 zeigt ein Beispiel des Ablaufs des durch den Evaluierungsvorhersageabschnitt 211 gemäß der Ausführungsform ausgeführten Prozesses. Die gleichen Prozessschritte wie jene, die in der zweiten Ausführungsform mit Bezug auf 14 beschrieben wurden, sind mit den gleichen Codes bezeichnet, und es wird demgemäß auf überlappende Erklärungen verzichtet.
-
Der Evaluierungsvorhersageabschnitt 211 bestimmt, ob es die ”Fassungskombination” mit dem das festgelegte Ähnlichkeitsbeurteilungskriterium erfüllenden Schwankungsmuster der Fassung P gibt (S2102). Falls es die ”Fassungskombination” gibt, welche das Ähnlichkeitsbeurteilungskriterium erfüllt, wird der Prozess bei S2103 fortgesetzt. Falls dies nicht der Fall ist, wird der Prozess bei S1109 fortgesetzt.
-
Der Evaluierungsvorhersageabschnitt 211 wählt alle in der ”Fassungskombination” enthaltenen Fassungen aus, welche das Ähnlichkeitsbeurteilungskriterium erfüllen, das für die Erzeugung des Evaluierungsvorhersagemodells 303 verwendet wurde (S2103).
-
Der Evaluierungsvorhersageabschnitt 211 erhält die Softwaremetrik der bei S2103 ausgewählten Fassung von der Entwicklungsinformationsdatenbank 82 und erhält ferner die ergänzende Information 304, falls vorhanden, die im Aufzeichnungsabschnitt 3 aufgezeichnet ist (S2104).
-
Der Evaluierungsvorhersageabschnitt 211 ist dafür ausgelegt (nicht dargestellt), eine Mitteilung an die I/O-Einheit auszugeben, falls sich der Evaluierungsvorhersagewert verglichen mit jenem der Fassung, die der gerade entwickelten unmittelbar vorhergeht, verschlechtert hat und unterhalb des vorläufig festgelegten Evaluierungsvorhersagewerts liegt.
-
Gemäß der Ausführungsform kann selbst dann, wenn der Schwankungsbetrag der unmittelbar vorhergehenden Fassung klein ist, das Schwankungsmuster 301 in Bezug auf die beliebige Fassung vor jener als das Evaluierungsvorhersageziel festgelegt werden, um die Evaluierung der gerade entwickelten Software zu gewährleisten. Die Verwendung der Metrik, die anhand des Entwurfsmodells vor der Implementation berechnet werden kann, ermöglicht die Evaluierung der Software an einer früheren Entwicklungsstufe vor der Implementation.
-
Vierte Ausführungsform
-
Die dritte Ausführungsform verwendet die Information der gerade entwickelten Software als Evaluierungsziel. Falls die Anzahl der Fassungen der zu evaluierenden Software jedoch klein ist oder die Anzahl der Fassungen mit einem Schwankungsmuster 301 mit einer hohen Ähnlichkeit 302 zu jenem der Fassung als das Evaluierungsvorhersageziel unabhängig von einer ausreichenden Anzahl von Fassungen der zu evaluierenden Software klein ist, kann es schwierig sein, das Evaluierungsvorhersagemodell 303 zu erzeugen. Diese Ausführungsform verwendet die Information des früheren ähnlichen Projekts, falls die Anzahl der Fassungen zur Erzeugung des Evaluierungsvorhersagemodells 303 nicht ausreicht.
-
22 zeigt eine Struktur der Softwareevaluierungsvorrichtung, die das Softwareevaluierungsprogramm gemäß der Ausführungsform ausführt. Eine Softwareevaluierungsvorrichtung 13 unterscheidet sich von der gemäß der dritten Ausführungsform beschriebenen dadurch, dass ein Evaluierungsvorhersageabschnitt 212 an Stelle des Evaluierungsvorhersageabschnitts 211 gemäß der dritten Ausführungsform bereitgestellt ist und dass ferner eine Früheres-Projekt-Datenbank 73 im Verwaltungsserver 5 zusätzlich zum Modellrepositorium 72, zur Entwicklungsinformationsdatenbank 82 und zur Evaluierungsdatenbank 92 bereitgestellt ist. Es wird auf Erklärungen der Strukturen, die mit den gleichen Codes bezeichnet sind, und des Teils mit der gleichen Funktion wie jene, die mit Bezug auf 15 beschrieben sind, verzichtet.
-
Der Evaluierungsvorhersageabschnitt 212 erzeugt das Evaluierungsvorhersagemodell 303 zum Berechnen des Evaluierungsvorhersagewerts der Fassung als das Evaluierungsvorhersageziel. Falls die Anzahl der für das Erzeugen des Evaluierungsvorhersagemodells 303 verwendeten Fassungen nicht ausreicht, werden ähnliche Musterinformationen von der Früheres-Projekt-Datenbank 73 erhalten. Das Evaluierungsvorhersagemodell 303 wird unter Verwendung der erhaltenen Informationen erzeugt. Das erzeugte Evaluierungsvorhersagemodell 303 ist im Aufzeichnungsabschnitt 3 aufgezeichnet, und der Evaluierungsvorhersagewert der Fassung als das Evaluierungsvorhersageziel wird unter Verwendung des aufgezeichneten Evaluierungsvorhersagemodells 303 berechnet.
-
Die 23 und 24 zeigen ein Ablaufbeispiel des durch den Evaluierungsvorhersageabschnitt 212 gemäß der Ausführungsform ausgeführten Prozesses. Die gleichen Prozessschritte wie jene, die in der dritten Ausführungsform mit Bezug auf 21 beschrieben wurden, sind mit den gleichen Codes bezeichnet, und es wird demgemäß auf überlappende Erklärungen verzichtet.
-
Der Evaluierungsvorhersageabschnitt 212 bestimmt, ob die Anzahl der bei S2103 ausgewählten Fassungen ausreicht, um das Evaluierungsvorhersagemodell 303 zu erzeugen (S2310). Die Anzahl der Fassungen für die Bestimmung wird vorläufig festgelegt. Falls die Anzahl ausreicht, wird der Prozess bei S2104 fortgesetzt. Falls sie nicht ausreicht, wird der Prozess bei S2311 fortgesetzt.
-
Der Evaluierungsvorhersageabschnitt 212 stellt fest, ob es ein ähnliches früheres Projekt der zu evaluierenden Software gibt (S2311). In diesem Fall kann das ”ähnliche Projekt” beispielsweise als das Projekt angesehen werden, welches ein ähnliches System und eine ähnliche Vorrichtung oder ein System und eine Vorrichtung mit einer ähnlichen Funktion entwickelt hat. Falls es ein ähnliches früheres Projekt gibt, wird der Prozess bei S2401 fortgesetzt. Falls dies nicht der Fall ist, wird der Prozess bei S1009 fortgesetzt.
-
Der Evaluierungsvorhersageabschnitt 212 bestimmt, ob Informationen für das ähnliche Muster für die früheren Projektinformationen verfügbar sind, wofür eine Ähnlichkeit bestimmt wurde (S2401). Falls es die Informationen gibt, wird der Prozess bei S2402 fortgesetzt. Falls dies nicht der Fall ist, wird eine Mitteilung an die I/O-Einheit 4 ausgegeben, die darüber informiert, dass die Evaluierungsvorhersage nicht ausführbar ist (S2404). Der Prozess endet dann. Beispielsweise kann in dem Fall, in dem die Metrik, welche die gleiche Bedeutung darstellt, sowohl von der zu evaluierenden Software als auch vom früheren Projekt erhalten werden kann, bestimmt werden, dass Informationen für das ähnliche Muster verfügbar sind. In diesem Fall muss der vorherzusagende Evaluierungskomponentenwert in Bezug auf das entsprechende frühere Projekt gemessen werden, um die Verfügbarkeit des ähnlichen Musters zu bestimmen.
-
Der Evaluierungsvorhersageabschnitt 212 erhält die als verfügbar bestimmten ähnlichen Musterinformationen von der Früheres-Projekt-Datenbank 73 (S2402). Der Evaluierungsvorhersageabschnitt 212 erzeugt das Evaluierungsvorhersagemodell 303 unter Verwendung der bei S2402 erhaltenen Informationen (S2403).
-
25 zeigt ein Beispiel des Anzeigebildschirms, worin eine Ausgabe des Ergebnisausgabeabschnitts 205 gemäß der Ausführungsform an die I/O-Einheit 4 dargestellt ist. Der Bildschirm weist den Evaluierungswertübergangsanzeigeabschnitt 40A, den Vorhersageanalysezusammenfassungsanzeigeabschnitt 40B, eine Früheres-Projekt-Information 40D und einen Vorhersageergebnisanzeigeabschnitt 40E auf. Es wird auf Erklärungen der Anzeigeabschnitte verzichtet, die mit den gleichen Codes versehen sind, wie jene, die vorstehend mit Bezug auf 5 beschrieben wurden. Falls das ähnliche frühere Projekt für die Evaluierungsvorhersage durch den Evaluierungsvorhersageabschnitt 212 verwendet wird, zeigt der Früheres-Projekt-Informationsanzeigeabschnitt 40D den Titel und die Zusammenfassung des verwendeten früheren Projekts an. Der Vorhersageergebnisanzeigeabschnitt 40E zeigt das durch den Evaluierungsvorhersageabschnitt 212 erzeugte Evaluierungsvorhersagemodell 303 und den unter Verwendung des Evaluierungsvorhersagemodells 303 berechneten Evaluierungsvorhersagewert. Der in 25 dargestellte Anzeigebildschirm ist lediglich ein Beispiel, und er kann so ausgelegt werden, dass er nur einen Teil der vorstehend erwähnten Anzeige zeigt.
-
Die Ausführungsform gewährleistet die Evaluierung unter Verwendung der Informationen des ähnlichen früheren Projekts selbst in dem Fall, in dem die Entwicklungsfrist der gerade entwickelten Software, die der Evaluierung unterzogen wird, kurz ist und die erforderliche Anzahl der Fassungen für das Vorhersagen des Evaluierungswerts nicht angesammelt wurde.
-
26 zeigt ein Beispiel der Struktur des Computers, der die Softwareevaluierungsvorrichtung gemäß den jeweiligen Ausführungsformen verwirklicht.
-
Ein Computer 260 weist eine CPU 261, eine Kommunikationsschnittstelle 262, eine I/O-Schnittstelle 263, einen Aufzeichnungsabschnitt 264 (ROM, RAM, Festplattenlaufwerk) und eine Aufzeichnungsmediumlesevorrichtung 265 auf. Die vorstehend erwähnten Komponenten sind jeweils mit einem Bus 266 verbunden.
-
Die CPU 261 führt die jeweiligen Prozesse des vorstehend erwähnten Evaluierungsprozessausführungsabschnitts 2 aus, die im Aufzeichnungsabschnitt 264 gespeichert sind.
-
Die Kommunikationsschnittstelle 262 ist eine Schnittstelle für eine LAN-Verbindung, eine Internetverbindung und eine Drahtlosverbindung mit dem anderen Computer und dem Server, wie es erforderlich ist. Sie ist mit der anderen Vorrichtung zur Steuerung der Eingabe von Daten in die äußere Vorrichtung und der Ausgabe von Daten von der äußeren Vorrichtung verbunden.
-
Eine I/O-Vorrichtung 263a (I/O-Einheit 4, Maus, Tastatur, Anzeige) ist mit der I/O-Schnittstelle 263 verbunden, welche die Informationen von der I/O-Vorrichtung 263a eingibt und die Informationen über den Bus 266 an die CPU 261 ausgibt. Entsprechend der Anweisung von der CPU 261 werden die Betriebsinformationen auf dem Bildschirm der I/O-Vorrichtung 263a angezeigt.
-
Der Aufzeichnungsabschnitt 264 zeichnet das Programm und die Daten auf, die von der CPU 261 ausgeführt werden, und er wird als Arbeitsbereich verwendet.
-
Die Aufzeichnungsmediumlesevorrichtung 265 steuert das Lesen und Schreiben von Daten in Bezug auf ein Aufzeichnungsmedium 265a unter der Steuerung durch die CPU 261. Sie zeichnet die im Aufzeichnungsmedium 265a geschriebenen Daten unter der Steuerung der Aufzeichnungsmediumlesevorrichtung 265 auf und liest die im Aufzeichnungsmedium 265a gespeicherten Daten. Eine magnetische Aufzeichnungsvorrichtung, eine optische Scheibe, ein magnetooptisches Aufzeichnungsmedium und ein Halbleiterspeicher können für das abnehmbare Aufzeichnungsmedium 265a als das computerlesbare Aufzeichnungsmedium verwendet werden.
-
Der vorstehend erwähnte Computer führt die jeweiligen vorstehend beschriebenen Prozessschritte aus. In diesem Fall wird das Programm bereitgestellt, das die Verarbeitung der im System zu installierenden Funktion detailliert angibt. Die Ausführung des Programms auf dem Computer verwirklicht die Funktion, die in dem System auf dem Computer zu installieren ist. Das Programm mit dem geschriebenen Prozess kann im computerlesbaren Aufzeichnungsmedium 265a aufgezeichnet werden.
-
Der Computer zum Ausführen des Programms speichert das im tragbaren Aufzeichnungsmedium aufgezeichnete Programm oder das vom Servercomputer übertragene Computer in seiner eigenen Speichervorrichtung. Der Computer liest das Programm dann aus seiner eigenen Speichervorrichtung und führt den Prozess entsprechend dem Programm aus. Der Computer liest das Programm direkt aus dem tragbaren Aufzeichnungsmedium und darf den Prozess entsprechend dem Programm ausführen. Für jede Übertragung des Programms vom Servercomputer darf der Computer den Prozess entsprechend dem empfangenen Programm ausführen.
-
Die vorstehend erwähnte Ausführungsform ermöglicht die Evaluierung der Qualität und der Funktionsweise der Software in einer früheren Entwicklungsstufe (unter Entwicklung) in der Ableitungs- oder Wartungsentwicklung. Es ist auch möglich, die Qualität und die Funktionsweise der Software unter Berücksichtigung des Grads des Einflusses auf den der Korrektur oder Hinzufügung unterzogenen Teil zu evaluieren.
-
Die vorliegende Erfindung ist nicht auf die vorstehend beschriebenen Ausführungsformen beschränkt und kann verschiedenen Verbesserungen und Modifikationen unterzogen werden, ohne vom Schutzumfang der vorliegenden Erfindung abzuweichen. Beispielsweise wurden die Ausführungsformen detailliert für den Zweck des einfachen Verständnisses der vorliegenden Erfindung beschrieben, welche nicht auf die mit allen vorstehend beschriebenen Strukturen bereitgestellte beschränkt sein soll. Es ist auch möglich, einen Teil der Struktur der Ausführungsform durch jenen einer anderen Ausführungsform zu ersetzen. Es ist auch möglich, dass der Teil der Struktur der jeweiligen Ausführungsformen zu der anderen Struktur hinzugefügt wird oder aus der anderen Struktur entfernt und dadurch ersetzt wird.
-
Die Steuerzeilen und Informationszeilen sind gezeigt, weil sie als für die Erklärungen notwendig angesehen werden, und sie sollen daher nicht notwendigerweise alle Steuerzeilen und Informationszeilen an dem Produkt repräsentieren. Tatsächlich können fast alle Strukturen als miteinander verbunden angesehen werden.
-
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 2013-122647 [0001]
- JP 2003-140929 A [0004, 0006]
- JP 2011-181034 A [0005, 0007]
-
Zitierte Nicht-Patentliteratur
-
- Barry Boehm u. a. ”Software Cost Estimation with Cocomo II”, Prentice Hall, 2000 [0004]