DE102011112451A1 - Method for developing, testing and operating e.g. computer program, involves reading out procedure manual by data processing system for executing process steps by data processing system - Google Patents
Method for developing, testing and operating e.g. computer program, involves reading out procedure manual by data processing system for executing process steps by data processing system Download PDFInfo
- Publication number
- DE102011112451A1 DE102011112451A1 DE201110112451 DE102011112451A DE102011112451A1 DE 102011112451 A1 DE102011112451 A1 DE 102011112451A1 DE 201110112451 DE201110112451 DE 201110112451 DE 102011112451 A DE102011112451 A DE 102011112451A DE 102011112451 A1 DE102011112451 A1 DE 102011112451A1
- Authority
- DE
- Germany
- Prior art keywords
- computer program
- data
- data processing
- processing system
- computer
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
Abstract
Description
Die Erfindung betrifft ein Verfahren zur Softwareentwicklung, insbesondere zum Entwickeln und/oder Testen und/oder Betreiben eines Computerprogramms. Außerdem betrifft die Erfindung ein Programmprodukt zur Ausführung des Verfahrens. Des Weiteren betrifft die Erfindung eine Datenverarbeitungsanlage zur Ausführung der Verfahren.The invention relates to a method for software development, in particular for developing and / or testing and / or operating a computer program. Moreover, the invention relates to a program product for carrying out the method. Furthermore, the invention relates to a data processing system for carrying out the method.
Die Entwicklung einer Software bzw. eines Computerprogramms vollzieht sich im Allgemeinen in mehreren Schritten. Dabei werden die Schritte üblicherweise durch wenigstens eine Person durchgeführt, bei der es sich insbesondere um Planer, Entwickler, Designer, Programmierer und/oder Benutzer handelt. Diese Personen bzw. Entwickler arbeiten häufig im Rahmen des Entwicklungsprozesses auch als Arbeitsgruppe bzw. Team zusammen.The development of a software or a computer program generally takes place in several steps. The steps are usually carried out by at least one person, who is in particular a planner, developer, designer, programmer and / or user. These people or developers often work together as a working group or team as part of the development process.
In einem ersten vorbereitenden Schritt der Softwareentwicklung erfolgt eine Spezifikation, also eine Festlegung der Anforderungen an das Computerprogramm durch den oder die Entwickler. Hierbei werden unter anderem die zu Grunde legenden bzw. zu bearbeitenden Daten, die damit durchzuführenden Verarbeitungsschritte bzw. Berechnungen und/oder die entsprechenden Definitionen, insbesondere von Schnittstellen, Datenmodellen etc., und andere spezifische Anforderungen festgelegt.In a first preparatory step of the software development, a specification is made, that is, a definition of the requirements for the computer program by the developer or developers. Among other things, the underlying data or data to be processed, the processing steps or calculations to be performed therewith and / or the corresponding definitions, in particular of interfaces, data models, etc., and other specific requirements are determined.
Als nächstes erfolgt die eigentliche Programmierung im Schritt der sogenannten Umsetzung. Ausgehend von den vorgegebenen Randbedingungen und Definitionen von Schnittstellen etc. wird nun der auch als Quellcode bzw. englisch Sourcecode, bezeichnete, eigentliche Quelltext, geschrieben. Dieser wird im Regelfall vollständig manuell durch wenigstens eine Person, wie einen Programmierer, entwickelt. Häufig ist jedoch ein ganzes Entwicklerteam mit einem Projekt beschäftigt. Gegebenenfalls kann aber auch eine Unterstützung des Entwicklers bzw. der Entwickler durch einen Computer, zum Beispiel durch eine entsprechende Programmierumgebung, erfolgen. Damit können beispielsweise aufgrund konkreter Vorgaben durch den Benutzer und entsprechender Einstellungen in der Programmierumgebung einzelne Quelltextabschnitte erzeugt werden, die dann durch den Programmierer vervollständigt werden müssen. In jedem Fall muss der Entwickler die Spezifikation auswerten und direkt oder indirekt in Quellcode umsetzen. Sobald dieser Quelltext vollständig vorliegt, wird er gegebenenfalls von Fehlern, wie Programmierfehlern und/oder Syntaxfehlern, befreit und schließlich zu einem fertigen Programm kompiliert, das auf einer Datenverarbeitungsanlage bzw. einem Computersystem lauffähig ist.Next, the actual programming takes place in the step of the so-called implementation. Starting from the given boundary conditions and definitions of interfaces, etc., the actual source code, also called source code or English source code, is written. This is usually fully developed manually by at least one person, such as a programmer. Often, however, a whole development team is busy with a project. Optionally, however, a support of the developer or developers by a computer, for example, by an appropriate programming environment, take place. Thus, for example, due to concrete specifications by the user and corresponding settings in the programming environment, individual source text sections can be generated, which then have to be completed by the programmer. In any case, the developer must evaluate the specification and translate it directly or indirectly into source code. Once this source code is complete, it may be freed from errors such as programming errors and / or syntax errors, and eventually compiled into a finished program executable on a data processing system or computer system.
Zur Sicherstellung einer hohen Softwarequalität steht im Allgemeinen ein Test des fertiggestellten Computerprogramms an. Im Rahmen einer solchen Maßnahme einer Qualitätssicherung lassen sich beispielsweise Abweichungen von vorher getroffenen Anforderungen und versteckte Programmierfehler entdecken und gegebenenfalls beseitigen. Hierzu wird das fertige Computerprogramm üblicherweise mit Eingabedaten gefüttert, die insbesondere zulässige und nicht zulässige Wertebereiche abdecken, um damit im Rahmen eines solchen so genannten Testfalls die korrekte Funktionsweise und Fehlerbehandlung zu testen.To ensure a high quality of software is generally a test of the finished computer program. In the context of such a measure of quality assurance, for example, deviations from previously met requirements and hidden programming errors can be discovered and possibly eliminated. For this purpose, the finished computer program is usually fed with input data covering in particular permissible and non-permissible ranges of values in order to test the correct functioning and error treatment in the context of such a so-called test case.
Für den eigentlichen Betrieb des Computerprogramms kann es außerdem erforderlich sein, insbesondere bereits im Voraus entsprechende Informationen bereitzustellen bzw. gezielte Eingriffe zur Laufzeit vorzunehmen. Beispielsweise können geeignete Einstellungen an einem Serversystem vorgenommen werden, auf dem eine Instanz der Software, also ein ablaufendes Programm, läuft. Dabei können beispielsweise Informationen wie Ablaufsteuerungsdaten, Berechtigungen, Wertebereiche etc. vorgegeben werden. Des Weiteren kann beispielsweise auch die eigentliche Benutzeroberfläche auf einem Server- oder einem Clientrechner im Rahmen der Softwareentwicklung während des Betriebs erzeugt oder variiert werden. Hier kann beispielsweise ebenso eine Vorgabe von Wertebereichen, Hilfetexten und Fehlermeldungen erforderlich sein.For the actual operation of the computer program, it may also be necessary in particular to provide corresponding information in advance or to carry out targeted interventions at runtime. For example, suitable settings can be made on a server system running an instance of the software, that is to say an executing program. In this case, for example, information such as flow control data, authorizations, value ranges, etc. can be specified. Furthermore, for example, the actual user interface on a server or a client computer can be generated or varied during the software development during operation. Here, for example, a specification of value ranges, help texts and error messages may also be required.
Alle vorstehend genannten Verfahrensschritte bei der Softwareentwicklung erfordern jeweils eine Reihe aufwändiger Benutzereingriffe durch den oder die Programmierer. Diese Benutzereingriffe werden dabei jeweils seitens des Programmierers bzw. Entwicklers aus den Vorgaben der Spezifikation abgeleitet. Auch die Qualitätssicherung leitet die Anforderungen an die Programmfunktionen eigenständig erneut aus der Spezifikation ab. Diese prinzipbedingt separate Durchführung jedes einzelnen Entwicklungsschritts der Software mit manuellen Eingaben bzw. Eingriffen macht den Entwicklungsprozess sehr arbeitsaufwändig und insbesondere auch fehleranfällig. Ein solches Vorgehen führt damit auch häufig zu Inkonsistenzen und Programmfehlern, da die Spezifikation für die Verfahrensschritte jeweils durch Menschen ausgewertet wird und zudem häufig späteren Änderungen im Prozess unterliegt, da sie im Allgemeinen vorab nicht vollständig geprüft worden ist.All of the aforementioned software development process steps require a series of complex user interventions by the programmer (s). These user interventions are derived in each case by the programmer or developer from the specifications of the specification. Quality assurance also independently derives the requirements for the program functions from the specification. This principle-independent implementation of each individual development step of the software with manual inputs or interventions makes the development process very labor-intensive and in particular error-prone. Such a procedure also often leads to inconsistencies and program errors, since the specification for the method steps is evaluated by humans in each case and is often subject to later changes in the process, since it has generally not been fully tested in advance.
Der vorliegenden Erfindung liegt daher die Aufgabe zugrunde, ein Verfahren zur Softwareentwicklung, insbesondere eines Computerprogramms anzugeben, der einerseits die Softwareentwicklung vereinfacht und andererseits insbesondere die Gefahr von Fehlern und Inkonsistenzen reduziert.The present invention is therefore based on the object of specifying a method for software development, in particular of a computer program, which on the one hand simplifies software development and on the other hand reduces the risk of errors and inconsistencies on the one hand.
Die Aufgabe wird durch ein Verfahren gemäß Anspruch 1 gelöst.The object is achieved by a method according to claim 1.
Das Verfahren zum Entwickeln von Software, wie insbesondere eines Computerprogramms, vorzugsweise zum Entwickeln und/oder Testen und/oder Betreiben der Software bzw. des Computerprogramms, weist demnach mindestens einen der folgenden Verfahrensschritte auf:
- – Generierung eines Programmquelltextes des Computerprogramms, insbesondere eines Programmquelltextgerüstes;
- – Steuerung wenigstens einer Instanz des Computerprogramms, vorzugsweise durch Bereitstellung von Steuerdaten zur Beeinflussung des Programmablaufs;
- – Erzeugung und/oder Durchführung wenigstens eines Tests des Computerprogramms mit insbesondere wenigstens einem Testfall;
- – Überprüfung der Konsistenz und/oder Generierung wenigstens eines Konsistenzreports für wenigstens einen der oben genannten Verfahrensschritte;
- – Generierung einer menschenlesbaren und/oder maschinenlesbaren Dokumentation.
- Generation of a program source text of the computer program, in particular of a program source text framework;
- - Controlling at least one instance of the computer program, preferably by providing control data for influencing the program flow;
- Generating and / or carrying out at least one test of the computer program, in particular with at least one test case;
- Checking the consistency and / or generation of at least one consistency report for at least one of the above-mentioned method steps;
- - Generation of human-readable and / or machine-readable documentation.
Dabei werden zur Durchführung zumindest der durchzuführenden, vorzugsweise aller Verfahrensschritte erforderlichen Daten und/oder Informationen in einem Verfahrenshandbuch zusammengefasst. Außerdem wird das Verfahrenshandbuch durch eine Datenverarbeitungsanlage ausgelesen zur Durchführung des wenigstens einen Verfahrensschrittes.In this case, at least the data and / or information required to be carried out, preferably all of the method steps, are summarized in a procedure manual. In addition, the procedure manual is read by a data processing system for performing the at least one method step.
Vorteilhaft ist hieran insbesondere die Zusammenfassung sämtlicher erforderlicher Informationen an einer zentralen Stelle, nämlich in dem Verfahrenshandbuch. Das Verfahrenshandbuch wird im Rahmen der Spezifikation insbesondere bereits vollständig erstellt. Dadurch ist es möglich, jegliche Informationen zentral abzulegen und im gesamten Entwicklungsprozess vorzuhalten, vorzugsweise unverändert, insbesondere zumindest nach Abschluss der Spezifikation. Um einen einzelnen oder mehrere der Verfahrensschritte im Rahmen der Softwareentwicklung durchzuführen, muss nun jeweils lediglich das Verfahrenshandbuch ausgelesen werden. Da für alle Verfahrensschritte derselbe Informationsstand vorliegt, werden Inkonsistenzen und Fehler zumindest auf ein Minimum reduziert oder sogar gänzlich ausgeschlossen. Eine weitere Verbesserung besteht insbesondere darin, dass das Verfahrenshandbuch durch eine Datenverarbeitungsanlage ausgelesen wird, statt fehleranfällig durch einen Menschen. Damit wird der Entwicklungsprozess für das Computerprogramm durch den Einsatz elektronischer Datenverarbeitung vereinfacht. Gegenüber einem menschlichen Programmierer sinkt durch Einsatz einer Datenverarbeitungsanlage zum Auslesen des Verfahrenshandbuchs die Fehlerquote außerdem deutlich, da einem Computersystem keine Fehler beim Auslesen solcher Informationen unterlaufen.This is particularly advantageous in the summary of all necessary information at a central point, namely in the procedure manual. In particular, the procedure manual is already completely created within the scope of the specification. This makes it possible to store all information centrally and maintain it in the entire development process, preferably unchanged, in particular at least after completion of the specification. In order to carry out a single or several of the method steps in the context of software development, now only the procedure manual has to be read out. Since the same level of information is available for all process steps, inconsistencies and errors are at least reduced to a minimum or even completely excluded. A further improvement is, in particular, that the procedure manual is read by a data processing system, instead of prone to error by a human. This simplifies the development process for the computer program through the use of electronic data processing. Compared to a human programmer, by using a data processing system for reading out the procedure manual, the error rate also drops significantly because a computer system does not make mistakes in reading such information.
Bevorzugt wird das Verfahrenshandbuch durch wenigstens eine Person, insbesondere einen Planer, einen Programmierer, einen Designer, oder anderen menschlichen Benutzer erstellt bzw. geschrieben. Somit können die erforderlichen Informationen an zentraler Stelle in dem Verfahrenshandbuch abgelegt werden. Alle erforderlichen Informationen und Anforderungen an die Entwicklung des Computerprogramms werden so direkt durch die dazu qualifizierten Personen bereitgestellt. Weiter bevorzugt werden die Daten und/oder Informationen für das Verfahrenshandbuch durch wenigstens eine Person vorgegeben, wobei das Verfahrenshandbuch wiederum insbesondere durch eine Datenverarbeitungsanlage aus diesen Daten und/oder Informationen erstellt wird. In diesem Fall kann bereits die Erstellung des Verfahrenshandbuchs computergestützt oder nahezu vollständig durch einen Rechner durchgeführt werden, um damit bereits an dieser Stelle die Fehlerquote und den Aufwand zu reduzieren. Vorzugsweise können die Vorgehensweisen zur Erstellung des Verfahrenshandbuchs auch miteinander kombiniert werden. Beispielsweise können dementsprechend einige Teile des Verfahrenshandbuchs durch einen menschlichen Benutzer erfasst werden, während andere Teile computergestützt aus den gemachten Vorgaben entstehen.Preferably, the procedure manual is created or written by at least one person, in particular a planner, a programmer, a designer, or other human user. Thus, the required information can be stored centrally in the procedure manual. All necessary information and requirements for the development of the computer program are thus provided directly by the qualified persons. More preferably, the data and / or information for the procedure manual are predetermined by at least one person, wherein the procedure manual in turn is created in particular by a data processing system from these data and / or information. In this case, the preparation of the procedure manual can already be carried out computer-assisted or almost completely by a computer in order to already reduce the error rate and the effort at this point. Preferably, the procedures for creating the procedure manual can also be combined with each other. For example, accordingly, some parts of the procedure manual may be detected by a human user, while other parts may be computer-assisted from the specifications made.
Insbesondere werden das Verfahrenshandbuch und/oder die dem Computerprogramm beziehungsweise einer Instanz desselben zugeordneten Daten und/oder Informationen und/oder die dem wenigstens einen durchgeführten Verfahrensschritt zugeordneten Daten und/oder Informationen an zentraler Steile gespeichert. Es handelt sich bei der zentralen Stelle vorzugsweise um eine Datenbank, besonders bevorzugt auf einem zentralen Serversystem. Insbesondere wird zumindest ein Teil der bzw. vorzugsweise werden alle Ein- und/oder Ausgabewerte des Programmablaufs und/oder Zustandsparameter einer Instanz des Computerprogramms an zentraler Stelle gespeichert. Dies erfolgt vorzugsweise ebenfalls in der wenigstens einen Datenbank. Eine zentrale Speicherung bietet den Vorteil, dass die Informationen an einer einzigen Stelle zusammengefasst sind. Dies kann vorzugsweise ein zentraler, insbesondere über das Internet erreichbarer Server sein. Die Datenbank sorgt dabei insbesondere für einen schnellen Zugriff über standardisierte Schnittstellen. Indem auch weitere Informationen, wie beispielsweise die Zustandsparameter und/oder die Ein- bzw. Ausgabewerte einzelner Instanzen des Computerprogramms, zu dessen Laufzeit in der Datenbank abgelegt werden, ergeben sich besondere Vorteile. Es ist insbesondere möglich, den Programmablauf zu überwachen, gezielt Parameter vorab festzulegen bzw. insbesondere zur Laufzeit der Software zu modifizieren bzw. zu optimieren.In particular, the procedure manual and / or the data associated with the computer program or an instance thereof and / or information and / or the data and / or information associated with the at least one method step are stored at a central location. The central location is preferably a database, particularly preferably a central server system. In particular, at least a portion of or preferably all input and / or output values of the program sequence and / or status parameters of an instance of the computer program is stored at a central location. This is preferably also done in the at least one database. Centralized storage offers the advantage that the information is concentrated in one place. This can preferably be a central, in particular accessible via the Internet server. In particular, the database ensures quick access via standardized interfaces. By also further information, such as the state parameters and / or the input or output values of individual instances of the computer program are stored at its term in the database, there are particular advantages. In particular, it is possible to monitor the program sequence, to predetermine specific parameters in advance or, in particular, to modify or optimize the software at runtime.
Das Verfahrenshandbuch liegt vorzugsweise als wenigstens ein, insbesondere als genau ein strukturiertes Dokument vor. Das strukturierte Dokument ist bevorzugt computerlesbar und/oder menschenlesbar. Außerdem ist das strukturierte Dokument besonders bevorzugt in einer plattformunabhängigen Dokumentensprache formuliert. Als eine solche Sprache kommen vorzugsweise die ”Hypertext Markup Language” (HTML) und insbesondere die ”Extensible Markup Language” (XML) in Betracht. Ein strukturiertes Dokument zeichnet sich dabei insbesondere durch einen hierarchischen Aufbau aus. Die darin vorhandenen Daten und Informationen werden in einer streng strukturierten Form lediglich an den entsprechenden, dafür vorgesehenen Stellen abgelegt. Die Überprüfung eines solchen strukturierten Dokumentes auf Korrektheit ist damit auf sehr einfache Weise durchzuführen, da jedes enthaltene Objekt beziehungsweise Element einen definierten Anfang und ein definiertes Ende aufweisen muss. Dies gilt dabei grundsätzlich für die Objekte aller Hierarchiestufen des Dokuments. Außerdem kann zu jedem Objekt vorgeschrieben werden, welche Informationen einzutragen sind, so dass damit der Umfang der jeweiligen Spezifikation einer Software vorgeschrieben werden kann. Ein solches strukturiertes Dokument als textbasierte Datenstruktur lässt sich insbesondere auf einfache Weise in einer Datenbank ablegen. The procedure manual is preferably present as at least one, in particular as a precisely structured document. The structured document is preferably computer-readable and / or human-readable. In addition, the structured document is particularly preferably formulated in a platform-independent document language. As such a language preferably the "Hypertext Markup Language" (HTML) and in particular the "Extensible Markup Language" (XML) come into consideration. A structured document is characterized in particular by a hierarchical structure. The data and information contained therein are stored in a strictly structured form only at the appropriate, designated places. Checking such a structured document for correctness is thus very easy to carry out, since each contained object or element must have a defined beginning and a defined end. This basically applies to the objects of all hierarchy levels of the document. In addition, it can be prescribed for each object which information is to be entered, so that the scope of the respective specification of a software can be prescribed. In particular, such a structured document as a text-based data structure can be stored in a simple manner in a database.
Besonders bevorzugt werden die Daten und/oder Informationen aus dem Verfahrenshandbuch mittels wenigstens eines Skriptes ausgelesen. Ein Skript ist im Allgemeinen ein Programm beispielsweise zur Steuerung von Anwendungen zur Laufzeit, das üblicherweise in einer interpretierten Skriptsprache formuliert ist, also nicht vorab in Maschinensprache kompiliert werden muss. Es kann aber auch als maschinenlesbarer Code vorliegen, Als Skriptsprache wird bevorzugt die ”Extensible Stylesheet Language Transformations” (XSLT) verwendet. Diese Skriptsprache ist insbesondere gerade für die Bearbeitung, Analyse und Datenverarbeitung von strukturierten Dokumenten in der ”Extensible Markup Language” (XML) vorgesehen. Somit kann das in XML formulierte Verfahrenshandbuch optimal verarbeitet werden.Particularly preferably, the data and / or information from the process manual is read out by means of at least one script. A script is generally a program, for example, for controlling applications at runtime, which is usually formulated in an interpreted scripting language, that is, does not have to be compiled in advance in machine language. It can also be a machine-readable code. The scripting language is preferably the Extensible Stylesheet Language Transformations (XSLT). This scripting language is especially intended for the processing, analysis and data processing of structured documents in Extensible Markup Language (XML). Thus, the procedural manual formulated in XML can be optimally processed.
Aus den Daten des Verfahrenshandbuchs wird vorzugsweise ein Quelltextgerüst generiert. Dabei werden dem Verfahrenshandbuch alle relevanten Informationen, insbesondere die dort festgelegten Definitionen und/oder Schnittstellen, entnommen, insbesondere zur Erzeugung der vorgesehenen Funktionsaufrufe innerhalb des Quelltextes. Bevorzugt werden sogenannte Klassen-Definitionen aus der objektorientierten Programmierung aus dem Verfahrenshandbuch abgeleitet, wobei weiter bevorzugt die wenigstens eine Methode der jeweiligen Klasse im Allgemeinen durch einen Programmierer zu entwickeln ist. Bei den aus dem Verfahrenshandbuch abgeleiteten Informationen handelt es sich insbesondere um Eingabe- und/oder Ausgabeparameter, Funktionsnamen, Datenstrukturen, Wertebereiche, Beschreibungs- und/oder Hilfetexte etc. Vorzugsweise sind alte relevanten Informationen vollständig in dem Verfahrenshandbuch abgelegt. Damit wird eine vollständige Spezifikation der Software gewährleistet.From the data of the procedure manual, a source code framework is preferably generated. All relevant information, in particular the definitions and / or interfaces defined there, is taken from the procedure manual, in particular for generating the intended function calls within the source text. Preferably, so-called class definitions are derived from object-oriented programming from the manual of procedures, wherein more preferably the at least one method of the respective class is generally to be developed by a programmer. The information derived from the process manual is, in particular, input and / or output parameters, function names, data structures, value ranges, descriptions and / or help texts, etc. Preferably, old relevant information is stored completely in the procedure manual. This ensures a complete specification of the software.
Besonders bevorzugt läuft zumindest eine Instanz des Computerprogramms auf einem zentralen Serversystem ab. Damit können die Daten an zentraler Stelle vorgehalten werden. Weiter bevorzugt wird eine Benutzeroberfläche als Schnittstelle zu einem Benutzer der Software auf dem Serversystem und/oder einem Clientsystem dargestellt bzw. erzeugt. Dazu kommunizieren insbesondere der Programmteil zur Erzeugung der Benutzeroberfläche als Clientkomponente und das Computerprogramm als Serverkomponente auf dem Serversystem miteinander, insbesondere über das Internet. Vorzugsweise werden die erforderlichen Daten für die Benutzeroberfläche vom Serversystem an das Clientsystem geliefert. Umgekehrt überträgt das Clientsystem die Eingaben eines Benutzers vorzugsweise an den Server. Damit wird eine zentrale Datenhaltung und ein flexibler Einsatz der Software beim jeweiligen Kunden ermöglicht.Particularly preferably, at least one instance of the computer program runs on a central server system. Thus, the data can be kept in a central location. More preferably, a user interface is displayed or generated as an interface to a user of the software on the server system and / or a client system. In particular, the program part for generating the user interface as a client component and the computer program as a server component on the server system communicate with one another, in particular via the Internet. Preferably, the required user interface data is provided by the server system to the client system. Conversely, the client system preferably transmits the inputs of a user to the server. This enables centralized data management and flexible use of the software by the respective customer.
Insbesondere wird die Auswahl der zur Laufzeit des Computerprogramms erforderliches Informationen und/oder Daten anhand des Verfahrenshandbuchs bestimmt. Vorzugsweise stellt die Benutzeroberfläche dem Benutzer insbesondere aus dem Verfahrenshandbuch abgeleitet lediglich diejenigen Informationen bereit, die einerseits in der konkreten Situation erforderlich sind und die er andererseits aufgrund seiner Benutzerrechte auch einsehen darf.In particular, the selection of the information and / or data required at runtime of the computer program is determined by means of the procedure manual. Preferably, the user interface, in particular derived from the manual of the user, merely provides the user with information which, on the one hand, is required in the specific situation and which, on the other hand, he is allowed to see on the basis of his user rights.
Die Aufgabe wird außerdem durch ein Programmprodukt bzw. ein Computerprogrammprodukt zur Durchführung eines Verfahrens gemäß den obigen Ausführungen gelöst, sofern das Programmprodukt auf einer programmtechnisch eingerichteten Datenverarbeitungsanlage abläuft, also insbesondere auf einem Computersystem, einem Personalcomputer (PC), einem Mobiltelefon, einem Laptop, einem Tabletcomputer, einem verteilten Rechnersystem, einem Client-Server-System und dergleichen.The object is also achieved by a program product or a computer program product for carrying out a method according to the above statements, provided that the program product runs on a program-equipped data processing system, ie in particular on a computer system, a personal computer (PC), a mobile phone, a laptop, a Tablet computer, a distributed computer system, a client-server system and the like.
Die Aufgabe der Erfindung wird außerdem gelöst durch eine Datenverarbeitungsanlage zur Ausführung des beschriebenen Verfahrens mit einem in einem der Datenverarbeitungsanlage zugeordneten Speicher hinterlegten Programmprodukt gemäß obigen Ausführungen.The object of the invention is also achieved by a data processing system for carrying out the method described with a stored in one of the data processing system memory stored program product according to the above.
Eine bevorzugte Ausführungsform der Erfindung wird im Folgenden anhand der Zeichnungen näher beschrieben. In dieser zeigtA preferred embodiment of the invention will be described in more detail below with reference to the drawings. In this shows
Ein Prozess zur Entwicklung einer Software bzw. eines Computerprogramms lässt sich im Allgemeinen in einer Reihe unabhängiger Verfahrensschritte unterliegen. Das entsprechende hier beschriebene Verfahren beinhaltet dementsprechend die einzelnen Verfahrensschritte, wobei einzelne Schritte ausgespart werden können. Im Folgenden wird eine Unterteilung in vier wesentliche Verfahrensschritte vorgenommen, die den Schritten der Integration (A), der Umsetzung (B), des Tests (C) und des Betriebs (D) entsprechen. Auch wenn diese Aufteilung nicht zwingend ist, handelt es sich dabei um die üblicherweise vorhandenen Verfahrensschritte. Ein Zeitstrahl
In der
Die Bestandsdokumentation
Ausgehend von dieser Bestandsdokumentation
Eine Erstellung bzw. Bearbeitung
Die rechnerseitige Be- und Verarbeitung der Bestandsdokumentation
Unterschiedliche Softwarepakete können schließlich anwenderseitig zur Erstellung und Bearbeitung der einzelnen Teile der Bestandsdokumentation
Die Daten der Bestandsdokumentation
Der Schritt der Umsetzung B schließt sich an die Spezifikation A an. Ausgehend von den in der Bestandsdokumentation
Im Rahmen der Umsetzung B können dem Quellcode
Der somit vervollständigte Quellcode
Im Verfahrensschritt der Umsetzung B wird außerdem noch die Umwandlung des erzeugten Quelltextes in ein lauffähiges Programm vorgenommen. In diesem als ”Kompilieren” bezeichneten Schritt wird der Quelltext durch einen sogenannten ”Compiler” auf einem Rechnersystem in direkt ausführbare Maschinensprache umgewandelt. Alternativ kann auch eine so genannte interpretierte Programmiersprache verwendet werden, bei der die Umwandlung durch einen sogenannten ”Interpreter” erst zur Laufzeit des Computerprogramms erfolgt. Eine Syntaxprüfung und einfache Plausibilitätsprüfung ist aber in beiden Fällen möglich.In the process step of the implementation B, the conversion of the generated source text into an executable program is also carried out. In this step, referred to as "compiling", the source text is converted by a so-called "compiler" on a computer system into directly executable machine language. Alternatively, a so-called interpreted programming language can be used, in which the conversion by a so-called "interpreter" only takes place at runtime of the computer program. A syntax check and simple plausibility check is possible in both cases.
Ergänzt wird dies gegebenenfalls durch einen Abgleich mit den in der Bestandsdokumentation
Sobald ein lauffähiges Computerprogramm generiert worden ist, kann sich der erwähnte Verfahrensschritt C anschließen, bei dem ein Test beziehungsweise eine Qualitätssicherung des lauffähigen Computerprogramms vollzogen wird. Hierzu werden basierend auf Daten der Bestandsdokumentation
Diese Testfälle
Die Daten zur Erzeugung der Testfälle
Im Verfahrensschritt des Betriebs D befindet sich das Computerprogramm im Allgemeinen erst nach erfolgreichem Abschluss der vorhergehenden Schritte A und B, insbesondere aber nach den entsprechenden Tests im Schritt C.In the method step of the operation D, the computer program is generally only after the successful completion of the preceding steps A and B, but in particular after the corresponding tests in step C.
Im Betrieb kann das Computerprogramm beispielsweise als monolithisches Programm betrieben werden, bei dem eine eigentliche datenverarbeitende Komponente und eine Bedienoberfläche in einem einzelnen Programm auf einem einzelnen Rechnersystem ablaufen. Zumeist wird dagegen eine Client-Server-Lösung bei großen Softwareentwicklungsprojekten bevorzugt werden. In diesem Fall läuft eine eigentliche datenverarbeitende Serverkomponente
Die Benutzeroberfläche
In jedem Fall müssen die Serverkomponente
An verschiedenen Stellen im Entwicklungsprozess lässt sich aufgrund der zentralen Datenbasis auf einfache Weise die Konsistenz der Verfahrensschritte prüfen. Dazu wird in der Umsetzung B und beim Test C der erzeugte Quelltext
Durch die zentrale und umfassende Datenbasis im Rahmen der Bestandsdokumentation
Aufgrund der vollständigen und in sich geschlossenen Abbildung des gesamten Entwicklungsprozesses einer Software in einem einzigen Verfahren lässt sich die Entwicklung sehr detailliert planen und beobachten. Insbesondere kann beispielsweise eine neue Version, ein sogenanntes ”Release” der Software bereits im Stadium der Bestandsdokumentation
Außerdem werden aufgrund der vollständigen Planungsphase im Schritt der Spezifikation A, bei der entsprechend alle Elemente des strukturierten Dokuments ausgefüllt sein müssen, Fehler durch fehlende bzw. ungenaue Definitionen vermieden. Schließlich wird eine verlässliche Basis für den gesamten Entwicklungsprozess geschaffen, die für alle Teilschritte gültig ist. Das Vorhandensein der Bestandsdokumentation
BezugszeichenlisteLIST OF REFERENCE NUMBERS
- AA
- Spezifikationspecification
- BB
- Umsetzungimplementation
- CC
- Testtest
- DD
- Betriebbusiness
- 1010
- Zeitstrahltime beam
- 2020
- BestandsdokumentationBuilt documentation
- 2222
- AV-VerfahrenshandbuchAV Procedures Manual
- 2424
- SystemarchitekturhandbuchSystem Architecture Guide
- 2626
- Datenmodelldata model
- 2828
- Rechnerlistencomputer lists
- 3030
- PflichtenheftSpecification book
- 3232
- Vorabdokumentationpreliminary documentation
- 3434
- Bearbeitungprocessing
- 4040
- DatenbankDatabase
- 4242
- Quellcodegeneratorsource code generator
- 4444
- Quellcodesource code
- 5050
- TestfallgeneratorTest case generator
- 5252
- Testfalltest case
- 6060
- Serversystemserver system
- 6262
- Clientsystemclient system
- 6464
- Serverkomponenteserver component
- 6666
- Clientkomponenteclient component
- 7070
- Konsistenzreportconsistency Report
- 8080
- Dokumentationdocumentation
- 8282
- Variantevariant
- 8484
- Veröffentlichungpublication
Claims (10)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE201110112451 DE102011112451A1 (en) | 2011-09-06 | 2011-09-06 | Method for developing, testing and operating e.g. computer program, involves reading out procedure manual by data processing system for executing process steps by data processing system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE201110112451 DE102011112451A1 (en) | 2011-09-06 | 2011-09-06 | Method for developing, testing and operating e.g. computer program, involves reading out procedure manual by data processing system for executing process steps by data processing system |
Publications (1)
Publication Number | Publication Date |
---|---|
DE102011112451A1 true DE102011112451A1 (en) | 2013-03-07 |
Family
ID=47710724
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE201110112451 Withdrawn DE102011112451A1 (en) | 2011-09-06 | 2011-09-06 | Method for developing, testing and operating e.g. computer program, involves reading out procedure manual by data processing system for executing process steps by data processing system |
Country Status (1)
Country | Link |
---|---|
DE (1) | DE102011112451A1 (en) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5187788A (en) * | 1989-05-01 | 1993-02-16 | The United States Of America As Represented By The Secretary Of The Air Force | Graphics system for automatic computer code generation |
US6978440B1 (en) * | 1998-12-28 | 2005-12-20 | International Business Machines Corporation | System and method for developing test cases using a test object library |
US7058857B2 (en) * | 2001-10-10 | 2006-06-06 | International Business Machines Corporation | Method and system for testing a software product |
US7774435B2 (en) * | 2001-07-26 | 2010-08-10 | Oracle America, Inc. | System and method for batch tuning intelligent devices |
US7823122B1 (en) * | 2003-12-16 | 2010-10-26 | The Mathworks, Inc. | Model and subsystem function signatures |
-
2011
- 2011-09-06 DE DE201110112451 patent/DE102011112451A1/en not_active Withdrawn
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5187788A (en) * | 1989-05-01 | 1993-02-16 | The United States Of America As Represented By The Secretary Of The Air Force | Graphics system for automatic computer code generation |
US6978440B1 (en) * | 1998-12-28 | 2005-12-20 | International Business Machines Corporation | System and method for developing test cases using a test object library |
US7774435B2 (en) * | 2001-07-26 | 2010-08-10 | Oracle America, Inc. | System and method for batch tuning intelligent devices |
US7058857B2 (en) * | 2001-10-10 | 2006-06-06 | International Business Machines Corporation | Method and system for testing a software product |
US7823122B1 (en) * | 2003-12-16 | 2010-10-26 | The Mathworks, Inc. | Model and subsystem function signatures |
Non-Patent Citations (2)
Title |
---|
MAHAPATRA, S.: Automatic Report Generation in Model_based Design. In: SAE Technical Paper, 05.10.2010, DOI 10,4271/2010-01-2000 * |
TEUCHERT S.: TargetLink in der Seriencode-Generierung am Beispiel des CCRT-Systems, MAN Nutzfahrzeuge AG, 10.10.2002, Firmenschrift * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE10121790B4 (en) | Software configuration method for use in a computer system | |
DE69826659T2 (en) | CHEAP, EASY TO USE SOFTWARE FOR AN AUTOMATIC TEST SYSTEM | |
DE69937332T2 (en) | Method and device for software development | |
EP1176482B1 (en) | Method and computer program for generating a regulation or control system | |
DE102017102651A1 (en) | Apparatus for formulating rules in a process control network | |
DE60017457T2 (en) | PROCEDURE FOR ISOLATING AN ERROR IN ERROR MESSAGES | |
DE19960050A1 (en) | Test code generation method for automatic testing procedure for computer system using visual representation for selection of test object and test object options | |
DE102017106023A1 (en) | Method and system for automated user interface testing via model-driven techniques | |
DE102012101089A1 (en) | Methods, apparatus and products for batch configuration testing | |
DE10127170A1 (en) | Troubleshooting procedures and troubleshooting device | |
DE102010008889A1 (en) | Platform Independent Method and System for Using Control Logic Programming | |
EP2439691A1 (en) | Method and device for mechanical production of a process diagram | |
DE102004043788A1 (en) | Personal computing device executes program based on individual programming code to provide predefined code and to define direct relation between input and output of data by user and attribute of classes in input model | |
EP1920357A1 (en) | Migration and transformation of data structures | |
DE102010033861A1 (en) | On a formal analysis based development of requirements specifications | |
DE102004009676A1 (en) | Methods and systems for generating command support files | |
DE102021116315A1 (en) | Method for merging architectural information | |
DE102009043287A1 (en) | Method and device for installing and configuring a computer system | |
DE102013202376A1 (en) | Systems and methods for generating high quality formal software executable requirements | |
EP2577452A2 (en) | Method and system for generating an integration model | |
EP1947567A2 (en) | Device and method for automatically testing model-based functions | |
DE102009032333A1 (en) | Method for testing models | |
DE102011112451A1 (en) | Method for developing, testing and operating e.g. computer program, involves reading out procedure manual by data processing system for executing process steps by data processing system | |
DE102010044039A1 (en) | Method and device for quality analysis of system models | |
Wenzel | Measurement-based timing analysis of superscalar processors |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
R163 | Identified publications notified | ||
R119 | Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee | ||
R119 | Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee |
Effective date: 20150401 |