EP1861796A2 - Verfahren zum erstellen einer dokumentation - Google Patents

Verfahren zum erstellen einer dokumentation

Info

Publication number
EP1861796A2
EP1861796A2 EP06724953A EP06724953A EP1861796A2 EP 1861796 A2 EP1861796 A2 EP 1861796A2 EP 06724953 A EP06724953 A EP 06724953A EP 06724953 A EP06724953 A EP 06724953A EP 1861796 A2 EP1861796 A2 EP 1861796A2
Authority
EP
European Patent Office
Prior art keywords
documentation
project
architectural
detailed descriptions
elements
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
Application number
EP06724953A
Other languages
English (en)
French (fr)
Inventor
Markus Fislage
Christophe Kolb
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Robert Bosch GmbH
Original Assignee
Robert Bosch GmbH
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Robert Bosch GmbH filed Critical Robert Bosch GmbH
Publication of EP1861796A2 publication Critical patent/EP1861796A2/de
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/166Editing, e.g. inserting or deleting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/73Program documentation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling

Definitions

  • the invention relates to a method for creating a documentation, a documentation for a project, a computer program and a computer program product for carrying out the method. 5
  • This process provides consistent documentation for the project, which can also be a product.
  • this documentation the at least one architectural description or at least one o architecture information and detailed descriptions are brought together.
  • Architectural elements may be different software elements such as modules, functions, structs, enums (decision tree methods), APIs (application or programming interfaces), variables, documents, models, design information, file codes, and the like. 5
  • the software elements change due to changes, revisions and handovers that accompany the development.
  • the software elements can therefore be present as dynamic or non-static files.
  • Each of the software elements of the product may be available in its own version at the time of the o creation. This again reflects that some software elements are to be modified more intensively or more frequently than other software elements.
  • the configuration management tool may be configured as a tool or program for managing and / or versioning all of the software elements present within the product at different times in different versions. With this configuration management tool, relationships between the software elements may also be organized depending on different versions of at least one specific software element depending on time. To test the product, it is necessary to freeze a full version of the product currently available at a given time. The product is tested in a specific condition that is static at this time. All software elements that are currently available in the latest versions are taken into account. Further future changes and thus versions to be updated are not taken into consideration.
  • a software element does not necessarily have to use the most up-to-date version; depending on the requirements, an older version may also be better suited for specific requirements. Accordingly, a software element may be present in at least one version within the entire product, with different versions of this software element being interrelated or interacting with different other software elements.
  • a frame with at least one architectural description for the project can be generated.
  • the at least one architectural description can be used to represent structural relationships or relationships between architectural elements. Furthermore, it is possible to provide detailed descriptions of individual architectural elements to the project in the
  • the detailed descriptions are transmitted from the code generator from a first point of the documentation or the frame to a second position of the documentation or the frame and optionally inserted with minor method change in this second point or 5 merged.
  • the detailed descriptions from the first place are to be cut or copied.
  • the documentation When the procedure is performed, the documentation is automatically generated. It also suggests that the process be accompanied by a development of the project or product. In this case, the documentation can be continuously updated during a development process of the project at least in time or in sections, for example at suitable, stipulated times or after suitable, fixed periods of time. The documentation thus created or generated is adapted to the project and thus always up-to-date or up-to-date.
  • the method can provide a versioned and template-compliant document within the documentation for at least one architectural element that is a module. However, it can also for other architectural elements, such. For example, functions, structs, and the like, such documentation may be provided. 5
  • the method is preferably suitable for the creation of up-to-date documentation of software products.
  • the documentation may be prepared.
  • the documentation according to the invention for a project is created in the form of a code generator.
  • a frame with at least one architectural description of the project for example, can be generated by this code generator, wherein the detailed descriptions of individual architectural elements are added to the project in the frame.
  • the documentation is preferably based on the HTML format or any other suitable application in a graphical or illustrative environment.
  • the procedure can be carried out accompanying the project, so that the documentation is created during the project.
  • the project can be under version control.
  • the invention provides a uniform tooling that combines both architecture and detailed software descriptions. A relationship between architecture and design is transient. Thus, an automatic generation of a unified document, whereby a detail in the software can be changed without affecting the architecture.
  • Projects designed as complex and sophisticated software landscapes are generated separately by the at least one architectural description and many detailed descriptions of individual modules.
  • an architecture for the project or product is developed, for example by means of a UML tool, and, if necessary, code is also generated.
  • code is also generated.
  • an existing implementation can be maintained.
  • the architecture can be regularly project-spanned and therefore does not necessarily have to be different between different projects.
  • Architectural elements e.g. Software modules, on the other hand, almost always differ from project to project. Therefore, detailed descriptions are set up together with a code by means of MKS, ClearCase, as an example of a configuration management tool, cvs, and the like in a version control system.
  • the project or product may also be a complex system, such as a motor vehicle or an electromechanical device having various different functions.
  • Such systems usually consist of a plurality of interacting components or modules.
  • a development and a production of the system can be accompanied. It is also conceivable to provide an operating or operating manual based on the documentation o for this system.
  • the computer program with program code means according to the invention is designed to carry out all steps of the method according to the invention when this computer program is carried out on a computer or a corresponding computer unit.
  • the computer program product according to the invention with program code means which are stored on a computer-readable data carrier is intended to carry out all the steps of the method according to the invention when the computer program is executed on a computer or a corresponding computer unit.
  • Figure 1 shows a schematic representation of a first embodiment of a
  • Figure 2 shows a schematic representation of a preferred embodiment of a description of a module.
  • Figure 3 shows a schematic representation of another embodiment of a
  • FIG. 4 shows a schematic diagram of a preferred implementation of a method.
  • FIG. 1 shows a schematic representation of a first embodiment of a documentation 1 embedded in a user interface. It is envisaged that this documentation 1 results in a construction in a possible variant of the method according to the invention from a plurality of components 3, 5, 7, 9. It flows one
  • Detailed descriptions 9 are provided by a MKS library in the present first embodiment.
  • a QRP script 5 is provided, with which it is possible to generate diagrams and reference lists for diagrams.
  • a C code generator 7 as a component of a C compiler, for example an ACD code generator, a design for the documentation 1 is created.
  • the result in this case is documentation 1 in HTML format.
  • a versioned and template-compliant document is available, from which detailed descriptions 9 are introduced into the final documentation 1.
  • the detailed ones Descriptions 9 also HTML based.
  • Regions within the documentation 1 that are to be edited are marked accordingly and uniquely provided with identifiers that assign specific information to a respective architectural element. These identifiers are hidden behind HTML comments in this embodiment.
  • Figure 2 shows a schematic representation of an embodiment of a
  • HTML HyperText Markup Language
  • HTML HyperText Markup Language
  • the embedded page is not just a template, it also includes links and dynamic architectural descriptions.
  • Such documentation 13 which includes architectural and detail descriptions, can be provided to programmers and writers, as well as future users of a product or system, ie, customers.
  • the process is an automated process for providing documentation.
  • FIG. 4 shows a schematic representation of a diagram for the procedure of a method for producing a documentation 15 for a project 17, in which a
  • a code generator 19 is used with which a frame 21 for the architectural description is created and detailed descriptions are inserted into this frame.
  • the code generator 19 makes it possible to retain attributable areas and to intermix descriptive fragments from another site with a slight change of method.
  • the frame 21 is generated with all the architectural descriptions.
  • Detailed descriptions of the architecture elements such as modules, functions, APIs, structs, enums are included in detailed documents.
  • the templates for the detailed descriptions are also generated.
  • the documentation 15 created in this way is individually adapted to the project 17 and is always up-to-date.
  • the method can be used, for example, in a project 17, product or system for a motor vehicle application, wherein a number of control devices, for example for an airbag, interact with one another.
  • the documentation produced by the method may also accompany a development of a complex system, such as a motor vehicle having many individual components. Based on the documentation, a user manual is to be made available to a future user of the system.

Abstract

Die Erfindung betrifft ein Verfahren zum automatischen Erstellen einer Dokumentation (1, 15) zu einem Projekt (17), bei dem mindestens eine Architekturbeschreibung, die eine Architektur des Projekts (17) mit einzelnen Architekturelementen wiedergibt, und detaillierte Beschreibungen (23) zu den Architekturelementen mit einem Konfigurationsmanagementtool zusammengeführt werden.

Description

23.02.2006
5
ROBERT BOSCH GMBH, 70442 Stuttgart
0 Verfahren zum Erstellen einer Dokumentation
Die Erfindung betrifft ein Verfahren zum Erstellen einer Dokumentation, eine Dokumentation zu einem Projekt, ein Computerprogramm und ein Computerprogrammprodukt zur Durchführung des Verfahrens. 5
Stand der Technik
Eine aktuelle Dokumentation zu einem Software-Produkt ist gerade in größeren Teams, die dieses Software-Produkt erstellen, von großer Bedeutung. Mit dieser Dokumentation o können ein Kommunikations-Overhead, der in der Regel weitere zu den eigentlichen Nutzdaten hinzukommende Daten enthält, und eventuell auftretende Missverständnisse vermieden werden. Die Bereitstellung einer einheitlichen und umfassenden Dokumentation stellt bei einem Produkt, das viele Varianten besitzt, momentan ein Problem dar, da kein einheitliches Tooling oder Werkzeug bekannt ist, mit dem es 5 möglich ist, unterschiedliche Aspekte zu dem Produkt zusammenzufassen und somit eine Dokumentation bereitzustellen.
Vor diesem Hintergrund werden ein Verfahren, eine Dokumentation, ein Computerprogramm und ein Computeφrogrammprodukt mit den Merkmalen der 0 unabhängigen Patentansprüche vorgestellt. Bei dem erfindungsgemäßen Verfahren zum automatischen Erstellen einer Dokumentation zu einem Projekt werden mindestens eine Architekturbeschreibung, die eine Architektur des Projekts mit einzelnen Architekturelementen wiedergibt, und detaillierte Beschreibungen zu den Architekturelementen mit einem 5 Konfigurationsmanagementtool zusammengeführt.
Mit diesem Verfahren wird eine durchgängige Dokumentation für das Projekt, bei dem es sich auch um ein Produkt handeln kann, bereitgestellt. In dieser Dokumentation sind die mindestens eine Architekturbeschreibung bzw. mindestens eine o Architekturinformation und detaillierte Beschreibungen zusammengeführt. Bei den
Architekturelementen kann es sich um unterschiedliche Softwareelemente, wie Module, Funktionen, Structs, Enums (Entscheidungsbaumverfahren), APIs (Anwendungs- bzw. Programmierschnittstellen), Variablen, Dokumente, Modelle, Designinformationen, Files Codes und dergleichen, handeln. 5
Bei der Erstellung oder einer Entwicklung des Produkts, bspw. eines Softwareprodukts, ändern sich die Softwareelemente aufgrund von Änderungen, Überarbeitungen und Übergaben, die die Entwicklung begleiten. Die Softwareelemente können demnach als dynamische bzw. nicht-statische Dateien vorliegen. Zu einem jeweiligen Zeitpunkt der o Erstellung kann jedes der Softwareelemente des Produkts jeweils für sich in einer eigenen Version vorliegen. Dies spiegelt wieder, dass einige Softwareelemente intensiver oder häufiger als andere Softwareelemente zu modifizieren sind.
Das Konfigurationsmanagementtool kann als Werkzeug oder Programm zur Verwaltung 5 und/oder Versionsüberwachung von sämtlichen innerhalb des Produkts zu unterschiedlichen Zeitpunkten in jeweils verschiedenen Versionen vorliegenden Softwareelementen ausgebildet sein. Mit diesem Konfigurationsmanagementtool werden Zusammenhänge zwischen den Softwareelementen ggf. auch unter Berücksichtigung verschiedener Versionen mindestens eines bestimmten Softwareelements zeitabhängig 0 organisiert. Zum Testen des Produkts ist es notwendig, eine zu einem bestimmten Zeitpunkt aktuell vorliegende Gesamtversion des Produkts einzufrieren. Das Produkt wird in einem bestimmten, zu diesem Zeitpunkt statisch vorliegenden Zustand getestet. Dabei werden sämtliche Softwareelemente, die zu diesem Zeitpunkt in den jeweils aktuellsten Versionen vorliegen, berücksichtigt. Weitere zukünftige Änderungen und somit zu aktualisierende Versionen bleiben unberücksichtigt.
Mit dem Konfigurationsmanagementtool ist es somit möglich, zu dem jeweiligen Zeitpunkt automatisch die aktuelle, an die Gesamtversion des Produkts angepasste Dokumentation bereitzustellen. Hierbei erfolgt eine automatische Zusammenstellung von Design- und Architekturinformationen, die aus unterschiedlichen Quellen oder Softwarebeständen stammen und wiederum in verschiedenen Versionen vorliegen. Es muss von einem Softwareelement nicht zwangsläufig die aktuellste Version herangezogen werden, je nach Anforderung kann auch eine ältere Version für bestimmte Anforderungen besser geeignet sein. Innerhalb des gesamten Produkts kann demnach ein Softwareelement in mindestens einer Version vorliegen, wobei unterschiedliche Versionen dieses Softwareelements mit unterschiedlichen anderen Softwareelementen zusammenhängen oder wechselwirken.
Bei dem Verfahren zum Erstellen einer Dokumentation zu einem Projekt kann in einer möglichen Ausführungsform mit einem Codegenerator ein Rahmen mit mindestens einer Architekturbeschreibung zu dem Projekt generiert werden. Durch die mindestens eine Architekturbeschreibung können strukturelle Beziehungen oder Zusammenhänge zwischen Architekturelementen dargestellt werden. Des weiteren ist es möglich, detaillierte Beschreibungen von einzelnen Architekturelementen zu dem Projekt in den
Rahmen einzufügen.
Weiterhin können detaillierte Beschreibungen mit einer oder mehrerer Architekturbeschreibungen gemischt werden. Handeditierbare Bereiche der Dokumentation können dabei unverändert beibehalten werden. - A -
In Ausgestaltung des Verfahrens werden die detaillierten Beschreibungen von dem Codegenerator von einer ersten Stelle der Dokumentation oder des Rahmens zu einer zweiten Stelle der Dokumentation bzw. des Rahmens übertragen und gegebenenfalls unter geringfügiger Methodenveränderung in diese zweite Stelle eingefügt oder 5 eingemischt. Dazu sind die detaillierten Beschreibungen aus der ersten Stelle auszuschneiden oder zu kopieren.
Es ist des weiteren möglich, bei dem Verfahren bspw. mit Hilfe des Codegenerators Vorlagen für detaillierte Beschreibungen zu generieren. Somit wird das Erstellen oder o Erzeugen der Dokumentation zusätzlich erleichtert.
Bei Durchführung des Verfahrens wird die Dokumentation automatisch generiert. Es bietet sich des weiteren an, dass das Verfahren eine Entwicklung des Projekts oder Produkts begleitend durchgeführt wird. Dabei kann die Dokumentation während eines 5 Entstehungsprozesses des Projekts zumindest zeit- oder abschnittsweise, bspw. zu geeigneten, festgelegten Zeitpunkten oder nach geeigneten, festgelegten Zeiträumen, laufend aktualisiert werden. Die somit erstellte oder erzeugte Dokumentation ist dem Projekt angepasst und somit stets aktuell bzw. up-to-date.
o Bei dem Verfahren kann für mindestens ein Architekturelement, das als Modul ausgebildet ist, ein versioniertes und template-konformes Dokument innerhalb der Dokumentation bereitgestellt werden. Dabei können jedoch auch für andere Architekturelemente, wie z. B. Funktionen, Structs und dergleichen, derartige Dokumentationen bereitgestellt werden. 5
Das Verfahren bietet sich vorzugsweise zur Erstellung aktueller Dokumentationen von Software-Produkten an. Parallel zu einer Bereitstellung oder Programmierung eines derartigen Software-Produkts kann die Dokumentation erstellt werden. Somit wird Programmierern und Entwicklern stets ein strukturierter und leicht überschaubarer o Überblick über einen jeweiligen Entwicklungsstand eines Software-Projekts oder -
Produkts bereitgestellt. In der erfindungsgemäßen Dokumentation zu einem Projekt sind mindestens eine Architekturbeschreibung, die eine Architektur des Projekts mit einzelnen Architekturelementen wiedergibt, und detaillierte Beschreibungen zu den 5 Architekturelementen mit einem Konfigurationsmanagementtool automatisch zusammengeführt.
Diese Dokumentation dokumentiert detaillierte Beschreibungen einzelner Architekturelemente des Projekts. Außerdem sind in der Dokumentation strukturelle l o Beziehungen oder Zusammenhänge zwischen einzelnen Architekturelementen wiedergegeben.
Die erfindungsgemäße Dokumentation zu einem Projekt ist in Ausgestaltung mit einem Codegenerator erstellt. Dabei kann ein Rahmen mit mindestens einer 15 Architekturbeschreibung zu dem Projekt bspw. durch diesen Codegenerator generiert werden, wobei die detaillierte Beschreibungen von einzelnen Architekturelementen zu dem Projekt in dem Rahmen eingefugt sind.
Mit dieser Dokumentation ist es möglich, detaillierte Beschreibungen einzelner 20 Architekturelemente des Projekts, bei dem es sich auch um ein Produkt handeln kann, zu dokumentieren.
Die Dokumentation basiert vorzugsweise auf dem HTML-Format oder jeder anderen dafür geeigneten Anwendung in graphischer oder darstellender Umgebung.
25
Das Verfahren kann projektbegleitend durchgeführt werden, so dass die Dokumentation projektbegleitend erstellt wird. Dabei kann das Projekt unter Versionskontrolle stehen. Mit der Erfindung wird ein einheitliches Tooling bereitgestellt, das sowohl Architekturals auch detaillierte Softwarebeschreibungen in sich vereint. Eine Beziehung zwischen 30 Architektur und Design ist dabei transient. Somit ist eine automatische Erzeugung eines einheitlichen Dokuments möglich, wobei ein Detail in der Software geändert werden kann, ohne dass dieses einen Einfluss auf die Architektur hat.
Projekte, die als komplexe und anspruchsvolle Softwarelandschaften konzipiert sind, werden getrennt durch die mindestens eine Architekturbeschreibung und viele detaillierte Beschreibungen zu einzelnen Modulen erzeugt. Dabei wird eine Architektur zu dem Projekt oder Produkt bspw. mittels eines UML-Tools entwickelt und ggf. auch Code generiert. Bei einer derartigen Generierung kann eine bestehende Implementierung beibehalten werden. In Teilen werden dieselben Informationen aus der mindestens einen Architekturbeschreibung in der detaillierten Dokumentation zu der Software wiederholt, um somit den Kontext und Schnittstellen (Interfaces) zu beschreiben. Die Architektur kann regelmäßig projektübergreifend angelegt sein und muss sich folglich nicht notwendigerweise zwischen verschiedenen Projekten unterscheiden. Architekturelemente, z.B. Softwaremodule, unterscheiden sich dagegen fast immer von Projekt zu Projekt. Deswegen werden detaillierte Beschreibungen zusammen mit einem Code mittels MKS, ClearCase, als einem Beispiel für ein Konfigurationsmanagementtool, cvs, und dergleichen in einem Versionskontrollsystem angelegt.
Mit dem erfindungsgemäßen Verfahren und der erfindungsgemäßen Dokumentation werden bzw. sind die mindestens eine Architekturbeschreibung und die detaillierten
Beschreibungen automatisch zusammengeführt. In komplexen Softwarelandschaften ist eine große Anzahl von Kombinationen zwischen Architektur- und Modulvarianten bzw. - Versionen üblich. All diese Kombinationen werden in der automatisch generierten Dokumentation dynamisch berücksichtigt. Die Dokumentation wird idealerweise aus allen Modulversionen und der Architektur, die gerade genutzt wird, zusammengestellt. Ein Nutzer der Dokumentation kann sich an der übersichtlich strukturierten Architektur in einfacher Weise orientieren und somit "entlanghangeln", wodurch er zu einer gewünschten Information oder detaillierten Beschreibung geführt wird. Innerhalb der Dokumentation ist ein Zugriff auf bestimmte APIs, Enums, Variable oder sonstige Architekturelemente per Mausklick und Suchfunktionen möglich. Die Dokumentation ist wegen der automatischen Generierung immer aktuell. Für die Dokumentation existiert ein durchgängiges Single- Source- Konzept.
Bei dem Projekt oder Produkt kann es sich auch um ein komplexes System, wie bspw. 5 ein Kraftfahrzeug oder eine elektromechanische Vorrichtung mit verschiedenen unterschiedlichen Funktionen, handeln. Derartige Systeme bestehen üblicherweise aus einer Vielzahl miteinander wechselwirkender Komponenten oder Module. Mit dem erfindungsgemäßen Verfahren kann eine Entwicklung und eine Herstellung des Systems begleitet werden. Es ist zudem denkbar, für dieses System eine auf der Dokumentation o basierende Betriebs- oder Bedienungsanleitung bereitzustellen.
Das erfindungsgemäße Computerprogramm mit Programmcodemitteln ist dazu ausgelegt, sämtliche Schritte des erfindungsgemäßen Verfahrens durchzuführen, wenn dieses Computerprogramm auf einem Computer oder einer entsprechenden 5 Recheneinheit durchgeführt wird.
Das erfindungsgemäße Computerprogrammprodukt mit Programmcodemitteln, die auf einem computerlesbaren Datenträger gespeichert sind, ist dazu vorgesehen, sämtliche Schritte des erfindungsgemäßen Verfahrens durchzuführen, wenn das o Computerprogramm auf einem Computer oder einer entsprechenden Recheneinheit durchgeführt wird.
Weitere Vorteile und Ausgestaltungen der Erfindung ergeben sich aus der Beschreibung und der beiliegenden Zeichnung. 5
Es versteht sich, dass die voranstehend genannten und die nachstehend noch zu erläuternden Merkmale nicht nur in der jeweils angegebenen Kombination, sondern auch in anderen Kombinationen oder in Alleinstellung verwendbar sind, ohne den Rahmen der vorliegenden Erfindung zu verlassen. 0 Die Erfindung ist anhand von Ausführungsbeispielen in der Zeichnung schematisch dargestellt und wird im folgenden unter Bezugnahme auf die Zeichnung ausführlich beschrieben.
Figur 1 zeigt in schematischer Darstellung eine erste Ausführungsform einer
Dokumentation mit einzelnen Komponenten.
Figur 2 zeigt in schematischer Darstellung eine bevorzugte Ausführungsform einer Beschreibung eines Moduls.
Figur 3 zeigt in schematischer Darstellung eine weitere Ausführungsform einer
Dokumentation.
Figur 4 zeigt in schematischer Darstellung ein Diagramm zu einer bevorzugten Durchführung eines Verfahrens.
Figur 1 zeigt in schematischer Darstellung eine erste Ausführungsform einer Dokumentation 1 in eine Benutzeroberfläche eingebettet. Es ist vorgesehen, dass diese Dokumentation 1 bei einem Erstellen in einer möglichen Variante des erfindungsgemäßen Verfahrens aus mehreren Komponenten 3, 5, 7, 9 hervorgeht. Dabei fließt eine
Projektauswahl 3 in die Dokumentation 1 ein. Detaillierte Beschreibungen 9 werden in der vorliegenden ersten Ausführungsform von einer MKS-Bibliothek bereitgestellt. Des weiteren ist ein QRP- Skript 5 vorgesehen, mit dem es möglich ist, Diagramme und Referenzlisten für Diagramme zu generieren. Mit einem C-Codegenerator 7 als Komponente eines C-Compilers, bspw. einem ACD-Codegenerator, wird ein Design für die Dokumentation 1 erstellt.
Das Ergebnis ist in diesem Fall eine Dokumentation 1 im HTML-Format. Jeweils zu einem Architekturelement oder Modul steht ein versioniertes und template-konformes Dokument bereit, aus dem detaillierte Beschreibungen 9 in die endgültige Dokumentation 1 eingebracht werden. In diesem Fall sind die detaillierten Beschreibungen 9 auch HTML-basiert. Regionen innerhalb der Dokumentation 1, die editiert werden sollen, sind entsprechend gekennzeichnet und eindeutig mit Identifiern versehen, die einem jeweiligen Architekturelement eine bestimmte Information zuweisen. Diese Identifier sind bei dieser Ausführungsform hinter HTML-Kommentaren versteckt. Somit kann aus einem Architekturmodell ein Template erstellt werden, das einem
Verfasser oder Programmierer eine Vorgabe gibt, wo weitere detaillierte Beschreibungen 9 oder Informationen während einer Erstellung eines Projekts oder Produkts, für das die Dokumentation 1 gedacht ist, eingetragen werden sollen.
Figur 2 zeigt in schematischer Darstellung eine Ausführungsform eines
Architekturelements, das als ein Modul 11 ausgebildet ist. Hierbei wird eine Beschreibung dieses Moduls 11 oss ind interruptdispatcher verlangt. Diese Beschreibung muss zwischen den in kursiver Schrift dargestellten Textstellen "Manual Edit Section" und "Manual Edit Section End - do not remove" erfolgen. Derartige Bereiche werden z.B. durch eine Funktion beeinflusst. Hier sind in ein zugehöriges Template noch nicht in ausreichendem Umfang Details oder Informationen eingetragen.
In einer endgültigen Dokumentation 13, die in einer möglichen Ausführungsform in Figur 3 schematisch dargestellt ist, wird die detaillierte Beschreibung dann in eine vollständig verlinkte Seite eingebracht, die sich auf ein jeweiliges Modul bezieht.
In diesem Fall ist die detaillierte Beschreibung noch nicht ausgefüllt. Alle über HTML integrierbaren Elemente, wie Bilder, Animationen und dergleichen, können benutzt werden. Die eingebettete Seite ist nicht nur eine Vorlage, sondern umfasst auch links und dynamische Architekturbeschreibungen.
Eine derartige Dokumentation 13, die Architektur- und Detailbeschreibungen enthält, kann neben Programmierern und Verfassern auch zukünftigen Nutzern eines Produkts oder Systems, also Kunden, bereitgestellt werden. In einer Landschaft, die aus verschiedenen Projekten und deren Versionen besteht, ist durch das Verfahren ein automatisierter Ablauf zur Bereitstellung der Dokumentation gegeben.
Figur 4 zeigt in schematischer Darstellung ein Diagramm zum Ablaufeines Verfahrens zur Erstellung einer Dokumentation 15 zu einem Projekt 17, bei dem eine
Architekturbeschreibung, die eine Architektur zu dem Projekt 17 mit einzelnen Architekturelementen wiedergibt und detaillierte Beschreibungen 23 von einzelnen Architekturelementen zu dem Produkt 17 zusammengefügt werden.
Bei dieser Variante zur Erzeugung der Dokumentation 15 wird zumindest teilweise ein Codegenerator 19 genutzt, mit dem ein Rahmen 21 für die Architekturbeschreibung erstellt wird und detaillierte Beschreibungen in diesen Rahmen eingefügt werden. Der Codegenerator 19 erlaubt es, handeditierbare Bereiche beizubehalten und bei leichter Methodenveränderung Beschreibungsfragmente von einer anderen Stelle einzumischen. Dabei wird der Rahmen 21 mit allen Architekturbeschreibungen generiert. Detaillierte Beschreibungen 23 zu den Architekturelementen wie Module, Funktionen, APIs, Structs, Enums werden aus detaillierten Dokumenten mit eingemischt. Dabei werden die Vorlagen für die detaillierten Beschreibungen ebenfalls generiert. Die auf diese Weise erstellte Dokumentation 15 ist zu dem Projekt 17 individuell angepasst und stets aktuell.
Das Verfahren kann bspw. bei einem Projekt 17, Produkt oder System für eine Kfz- Anwendung zum Einsatz kommen, wobei eine Anzahl Steuergeräte, bspw. für einen Airbag, miteinander wechselwirken. Die durch das Verfahren erstellte Dokumentation kann auch eine Entwicklung eines komplexen Systems, wie ein Kraftfahrzeug, das viele einzelne Komponenten aufweist, begleiten. Auf Grundlage der Dokumentation ist einem zukünftigen Nutzer des Systems eine Bedienungsanleitung zur Verfügung zu stellen.

Claims

23.02.2006ROBERT BOSCH GMBH, 70442 StuttgartAnsprüche
1. Verfahren zum automatischen Erstellen einer Dokumentation (1 , 13, 15) zu einem Projekt (17), bei dem mindestens eine Architekturbeschreibung, die eine Architektur des Projekts (17) mit einzelnen Architekturelementen wiedergibt, und detaillierte Beschreibungen (9, 23) zu den Architekturelementen mit einem Konfigurationsmanagementtool zusammengeführt werden.
2. Verfahren nach Anspruch 1, bei dem ein Rahmen (21) mit der mindestens einen Architekturbeschreibung zu dem Projekt (17) generiert wird.
3. Verfahren nach Anspruch 1 oder 2, das eine Entwicklung des Projekts (17) begleitend durchgeführt wird.
4. Verfahren nach einem der voranstehenden Ansprüche, bei dem handeditierbare Bereiche der Dokumentation (1, 13, 15) beibehalten werden.
5. Verfahren nach einem der voranstehenden Ansprüche, bei dem die detaillierten Beschreibungen von einer ersten Stelle in eine zweite Stelle der Dokumentation (1, 13, 15) eingefügt werden.
6. Verfahren nach einem der voranstehenden Ansprüche, bei dem Vorlagen für die detaillierten Beschreibungen (9, 23) generiert werden.
7. Verfahren nach einem der voranstehenden Ansprüche, bei dem für jedes Architekturelement, das als Modul (11) ausgebildet ist, ein versioniertes und templatekonformes Dokument bereitgestellt wird.
8. Dokumentation zu einem Projekt (17), bei der mindestens eine Architekturbeschreibung, die eine Architektur des Projekts (17) mit einzelnen Architekturelementen wiedergibt, und detaillierte Beschreibungen (9, 23) zu den Architekturelementen mit einem Konfigurationsmanagementtool automatisch zusammengeführt sind.
9. Dokumentation nach Anspruch 8, die detaillierte Beschreibungen (9, 23) einzelner Architekturelemente des Projekts (17) dokumentiert.
10. Dokumentation nach Anspruch 8 oder 9, durch die Beziehungen zwischen einzelnen Architekturelementen wiedergegeben sind.
11. Dokumentation nach einem der Ansprüche 8 bis 10, die auf dem HTML-Format basiert.
12. Computerprogramm mit Programmcodemitteln, um alle Schritte eines Verfahrens nach einem der Ansprüche 1 bis 7 durchzuführen, wenn das Computerprogramm auf einem Computer oder einer entsprechenden Recheneinheit durchgeführt wird.
13. Computerprogrammprodukt mit Programmcodemitteln, die auf einem computerlesbaren Datenträger gespeichert sind, um alle Schritte eines Verfahrens nach einem der Ansprüche 1 bis 7 durchzuführen, wenn das Computerprogramm auf einem Computer oder einer entsprechenden Recheneinheit durchgeführt wird.
EP06724953A 2005-03-11 2006-03-06 Verfahren zum erstellen einer dokumentation Withdrawn EP1861796A2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE102005011247A DE102005011247A1 (de) 2005-03-11 2005-03-11 Verfahren zum Erstellen einer Dokumentation
PCT/EP2006/060495 WO2006094966A2 (de) 2005-03-11 2006-03-06 Verfahren zum erstellen einer dokumentation

Publications (1)

Publication Number Publication Date
EP1861796A2 true EP1861796A2 (de) 2007-12-05

Family

ID=36953727

Family Applications (1)

Application Number Title Priority Date Filing Date
EP06724953A Withdrawn EP1861796A2 (de) 2005-03-11 2006-03-06 Verfahren zum erstellen einer dokumentation

Country Status (5)

Country Link
US (1) US20080250395A1 (de)
EP (1) EP1861796A2 (de)
CN (1) CN101156151A (de)
DE (1) DE102005011247A1 (de)
WO (1) WO2006094966A2 (de)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7910500B2 (en) * 2005-03-28 2011-03-22 Idemitsu Technofine Co., Ltd. Fiber treatment agent, fiber treated with such fiber treatment agent, fiber fabric, laminate and method for treating fiber
CN104424159A (zh) * 2013-09-04 2015-03-18 上海复旦微电子集团股份有限公司 软件项目文档生成方法和软件项目文档生成器

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5903897A (en) * 1996-12-18 1999-05-11 Alcatel Usa Sourcing, L.P. Software documentation release control system
US7114149B2 (en) * 1999-10-05 2006-09-26 Borland Software Corporation Navigation links in generated documentation
WO2001082066A1 (en) * 2000-04-21 2001-11-01 Togethersoft Corporation Diagrammatic control of software in a version control system
US6976213B1 (en) * 2000-11-10 2005-12-13 Interspec, Inc. Method of automatically generating specifications and providing online services for same
US7509577B2 (en) * 2002-03-08 2009-03-24 Toshiba Corp Oration Method and system for implementing a clipboard
US7617447B1 (en) * 2003-12-09 2009-11-10 Microsoft Corporation Context free document portions
US7290205B2 (en) * 2004-06-23 2007-10-30 Sas Institute Inc. System and method for management of document cross-reference links

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See references of WO2006094966A2 *

Also Published As

Publication number Publication date
DE102005011247A1 (de) 2006-09-28
WO2006094966A2 (de) 2006-09-14
CN101156151A (zh) 2008-04-02
WO2006094966A3 (de) 2007-05-24
US20080250395A1 (en) 2008-10-09

Similar Documents

Publication Publication Date Title
EP1176482B1 (de) Verfahren und Computerprogramm zum Herstellen einer Regelung oder Steuerung
DE69937332T2 (de) Verfahren und Gerät zur Software-Entwicklung
DE10121790B4 (de) Softwarekonfigurationsverfahren zur Verwendung in einem Computersystem
DE10051645B4 (de) Prozesssteuersystem und Verfahren zum Kontrollieren eines Prozesses
EP1723513B1 (de) Verfahren zur konfiguration eines computerprogramms
WO2015185328A1 (de) Computerimplementiertes verfahren und signalfolge für ein programm zur wiederverwendung von ausführbaren softwarekonfigurationen für softwaresysteme sowie rechneranlage und ein computerprogramm mit programmcode zur durchführung des verfahrens
DE102005026040A1 (de) Parametrierung eines Simulations-Arbeitsmodells
DE102005032944A1 (de) Verfahren und Softwaresystem zur Konfiguration eines modularen Systems
EP3217236A1 (de) Verfahren und system zur generierung eines bedienprogramms in form einer auf einem mobilen gerät lauffähigen mobilen applikation
DE69907714T2 (de) Komponentbasiertes quellcodegeneratorverfahren
DE102004009676A1 (de) Verfahren und Systeme zum Erzeugen von Unterstützungsdateien für Befehle
EP3629151A1 (de) Verfahren zum ändern von modellen für die erzeugung von quellcode
DE102021116315A1 (de) Verfahren zum Zusammenführen von Architekturinformationen
EP3719632A1 (de) Verfahren und vorrichtung zur verwaltung von softwaremodulen und von objekten
EP1861796A2 (de) Verfahren zum erstellen einer dokumentation
WO2009010338A1 (de) Verfahren zur rechnergestützten obfuskierung eines softwareprogramms und computerprogrammprodukt
DE102009043287A1 (de) Verfahren und Anordnung zum Installieren und Konfigurieren eines Computersystems
EP1202166B1 (de) System zur Verifikation von Software-Anwendungsmodellen in Ketten von Software-Entwurfswerkzeugen
DE102006060322A1 (de) Verfahren und Vorrichtung zum automatischen Testen von modellbasierten Funktionen
DE102004012315A1 (de) Verfahren zur automatischen Anpassung von Software
DE10033812A1 (de) Verfahren zum Erzeugen von Informationsmodellen
EP1387260A1 (de) Verfahren und Vorrichtung zur Erzeugung von Software
DE102005002362A1 (de) Programmsystem sowie Verfahren und Systemanordnung zu seiner Konfiguration
DE10233971A1 (de) Verfahren und Vorrichtung zur Erzeugung von Software
EP1343078B1 (de) System zur Modellierung und Generierung von Softwaregenerierungssystemen

Legal Events

Date Code Title Description
PUAI Public reference made under article 153(3) epc to a published international application that has entered the european phase

Free format text: ORIGINAL CODE: 0009012

AK Designated contracting states

Kind code of ref document: A2

Designated state(s): AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IS IT LI LT LU LV MC NL PL PT RO SE SI SK TR

AX Request for extension of the european patent

Extension state: AL BA HR MK YU

17P Request for examination filed

Effective date: 20071126

RBV Designated contracting states (corrected)

Designated state(s): DE FR GB IT

DAX Request for extension of the european patent (deleted)
RBV Designated contracting states (corrected)

Designated state(s): DE FR GB IT

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: THE APPLICATION IS DEEMED TO BE WITHDRAWN

18D Application deemed to be withdrawn

Effective date: 20101001