JP2006221316A - Project management system - Google Patents
Project management system Download PDFInfo
- Publication number
- JP2006221316A JP2006221316A JP2005032793A JP2005032793A JP2006221316A JP 2006221316 A JP2006221316 A JP 2006221316A JP 2005032793 A JP2005032793 A JP 2005032793A JP 2005032793 A JP2005032793 A JP 2005032793A JP 2006221316 A JP2006221316 A JP 2006221316A
- Authority
- JP
- Japan
- Prior art keywords
- component
- requirement
- revision
- requirements
- version
- 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
- 238000000034 method Methods 0.000 claims abstract description 29
- 230000008569 process Effects 0.000 claims abstract description 19
- 230000007547 defect Effects 0.000 claims description 19
- 230000008859 change Effects 0.000 claims description 16
- 238000012217 deletion Methods 0.000 claims description 5
- 230000037430 deletion Effects 0.000 claims description 5
- 238000011161 development Methods 0.000 description 27
- 238000012937 correction Methods 0.000 description 8
- 230000002776 aggregation Effects 0.000 description 6
- 238000004220 aggregation Methods 0.000 description 6
- 238000012360 testing method Methods 0.000 description 4
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 238000012552 review Methods 0.000 description 2
- 230000009897 systematic effect Effects 0.000 description 2
- 125000002066 L-histidyl group Chemical group [H]N1C([H])=NC(C([H])([H])[C@](C(=O)[*])([H])N([H])[H])=C1[H] 0.000 description 1
- 238000012508 change request Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000007850 degeneration Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000007373 indentation Methods 0.000 description 1
- 238000011017 operating method Methods 0.000 description 1
- 230000000153 supplemental effect Effects 0.000 description 1
- 238000010626 work up procedure Methods 0.000 description 1
Images
Landscapes
- Stored Programmes (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
Description
本発明は、ソフトウエア開発等の開発管理を支援するプロジェクト管理システムに関し、特に開発で達成すべき要件や解決すべき不具合の予定と実績を管理するシステムに関する。 The present invention relates to a project management system that supports development management such as software development, and more particularly to a system that manages requirements to be achieved in development and schedules and results of defects to be solved.
プロジェクト管理では、達成すべき要件や様々なトラブル等の一覧と、それらの達成・解決の予定・実績を管理することが重要であり、このような観点からこれまで多くのプロジェクト管理システムが考案されてきた。 In project management, it is important to manage the list of requirements to be achieved, various troubles, etc., and the schedules and achievements of achieving and solving them. From this perspective, many project management systems have been devised. I came.
又、近年では顧客要求に柔軟に対応するため、単に1つの製品開発だけを行うプロジェクトだけでなく、それを基にした多くの派生製品を開発することが要求されており、又、それぞれに対してテストや出荷後或は開発途中での不具合修正や要望追加・変更のため、非常に多くのバージョンを開発・出荷することが必要になってきている。 In recent years, in order to respond flexibly to customer requirements, it has been required not only to develop a single product but also to develop many derivative products based on it. Therefore, it is necessary to develop and ship a large number of versions in order to correct defects and add / change requests after testing and shipping or during development.
このため、複数製品間でのモジュールの共用を目指した共通部品の開発や、過去の製品の既存モジュールの修正によって新規のバージョンや派生製品を開発する流用開発等が積極的に行われるようになってきている。 For this reason, development of common parts aimed at sharing modules among multiple products, and diversion development to develop new versions and derivative products by modifying existing modules of past products, etc. have been actively carried out. It is coming.
このような共用開発・流用開発では、多数の製品、多数のバージョンを多数の共用モジュール、流用モジュールの組合せによって開発するため、これら多数の製品やバージョンにおいて達成すべき要件や解消すべき不具合の予定とその実績、即ち製品全体として予定された要件は達成されたか・不具合は解消されたかと、各モジュールに行われた修正とを正確に管理し、開発者及び関係者に周知徹底することが極めて重要である。 In such shared development and diversion development, since many products and many versions are developed by combining many common modules and diversion modules, requirements to be achieved and problems to be solved in these many products and versions are scheduled. And the actual results, that is, whether the planned requirements for the product as a whole have been achieved, whether the defects have been resolved, and the corrections made to each module are accurately managed and thoroughly communicated to developers and related parties. is important.
このため、例えばハードウエアの例ではあるが、特許文献1においては、製品を構成する部品に対する技術的な改良に基づく恒久的な変更と、顧客要求に基づく変更を管理し、それらに基づいて様々な製品構成を管理し、行われた変更を追跡可能にしたシステムが提案されている。
For this reason, although it is an example of a hardware, in
しかし、前記特許文献1では変更結果の管理だけであり、結果に至るまでの業務に関しては何も支援を行えない。
However, in the above-mentioned
特に、どういう製品のどのバージョンにおいてどいう変更を行うかどうかといった予定が管理されておらず、又、予定の作成も支援されていない。 In particular, the schedule of what version and what version of the product will be changed is not managed, and the creation of the schedule is not supported.
又、このような共用・流用開発では、多数の他の製品や以前のバージョンに対しても修正を行う必要が多く、このような場合にも支援が必要とされている。 Further, in such shared and diverted development, it is often necessary to make modifications to many other products and previous versions, and support is also required in such cases.
又、以前に実現した要件は新規の製品やバージョンでは削除や変更される場合があるが、このような場合には確実に削除・変更されるよう管理されなければならない。 In addition, previously realized requirements may be deleted or changed in a new product or version. In such a case, management must be performed so that the requirement is surely deleted or changed.
又、このような多くの変更は変更を受ける実体である製品のコンポーネント、例えばソフトウエアの場合には各モジュールのソースコード等の変更と確実に対応づけて管理することが望まれる。 In addition, it is desirable to manage such many changes in association with changes in the source code of each module in the case of software components, such as software components, which are entities subject to change.
本発明はこのような課題に鑑み、以下を目的とする。 In view of such problems, the present invention has the following objects.
・多数の製品、多数のバージョンにおける達成すべき要件や解消すべき不具合の予定とその実績の管理を支援する。 ・ Support the requirements and achievements to be achieved and the problems to be solved in many products and many versions.
・ 品を構成する多数のコンポーネントの修正の予定・実績を管理し、又、製品全体の達成すべき要件の予定・実績との対応付けを支援する。又、ソースコード等の修正作業との対応付けを支援する。 -Manages the schedule and performance of modifications of a number of components that make up the product, and supports the correspondence between the requirements and achievements to be achieved for the entire product. It also supports the association with correction work such as source code.
・不具合が生じた場合に、他の製品や以前のバージョンでの対処の必要性と対処方法の判断を支援する。 ・ If a problem occurs, support the need for and countermeasures for other products and previous versions.
・以前に達成済みの要件の変更や削除が要求された場合、これらに対する処置が正確に行われるよう支援する。 • Helps ensure that corrective actions are taken when changes or deletions of previously fulfilled requirements are required.
本発明に係るプロジェクト管理システムは、コンポーネントの階層的な構造を管理する過程と、その上位のコンポーネントに対して達成すべき要件を割り当てる過程と、その子孫のコンポーネントに対してその達成すべき要件を該上位のコンポーネントに割り当てられた達成すべき要件のうちから割り当てる過程と、該子孫コンポーネントに対して割り当てられた達成すべき要件の達成状況をコンポーネントのリビジョンの更新に伴って更新させる過程と、これらを基に上位のコンポーネントに対する達成すべき要件の達成状況を算出する過程とを有することを特徴とする。 The project management system according to the present invention includes a process of managing a hierarchical structure of components, a process of assigning requirements to be achieved for the higher-level components, and a requirement to be achieved for its descendant components. A process of assigning among the requirements to be achieved assigned to the higher-level component, a process of updating the achievement status of the requirements to be achieved assigned to the descendant component as the component revision is updated, and And calculating the achievement status of the requirements to be achieved for the higher-order component based on the above.
本発明によれば、製品全体に対する要件とソフトウェア・モジュール等のコンポーネントに対する変更とを確実に対応づけて管理することができるとともに、担当者のコンポーネントに対する作業状況から製品全体の進捗状況を容易に把握することができるという効果が得られる。 According to the present invention, the requirements for the entire product and the changes to the components such as the software module can be reliably associated with each other, and the progress status of the entire product can be easily grasped from the work status of the person in charge for the component. The effect that it can do is acquired.
以下に本発明の実施の形態を添付図面に基づいて説明する。 Embodiments of the present invention will be described below with reference to the accompanying drawings.
<実施の形態1>
図1に本発明の基本構成を示す。
<
FIG. 1 shows the basic configuration of the present invention.
図1において、A−a,A−2はクライアントとなるコンピュータ、A−3はサーバーとなるコンピュータであり、互いにネットワークで接続されている。サーバーコンピュータA−3は、データを管理するためのデータベースA−4を持ち、サーバープログラムが動作する。 In FIG. 1, Aa and A-2 are computers serving as clients, and A-3 is a computer serving as a server, which are connected to each other via a network. The server computer A-3 has a database A-4 for managing data, and a server program operates.
本発明におけるサーバープログラムは、例えばWebアプリケーションとして構築される。即ち、クライアントは、汎用的なWebブラウザであり、サーバー上で稼動するプログラムとHTTPプロトコルでやり取りを行う。 The server program in the present invention is constructed as a Web application, for example. That is, the client is a general-purpose Web browser, and exchanges with a program running on the server using the HTTP protocol.
又、他の構成としては、サーバーマシンではデータベースを管理する汎用的なデータベース管理システム(DBMS)のみが稼動し、各クライアント上で稼動する本発明におけるクライアントプログラムが直接データベースA−4をアクセスする形態でも良い。 As another configuration, the server machine operates only a general-purpose database management system (DBMS) for managing the database, and the client program according to the present invention operating on each client directly accesses the database A-4. But it ’s okay.
図2はデータベースA−4に収容されるデータの概念的なデータ構造を示す。尚、図中の矢印は1→多の向きにデータ間が1対多の関係にあることを示す.
B−1は対象とする製品群に関する要件、B−2は対象とする製品、B−3は製品のあるバージョン、B−5は対象とする製品群に関するコンポーネント、B−6はコンポーネントのリビジョンを表すデータである。
FIG. 2 shows a conceptual data structure of data stored in the database A-4. The arrows in the figure indicate that there is a one-to-many relationship between the data in the direction of 1 → many.
B-1 is a requirement related to the target product group, B-2 is a target product, B-3 is a version of the product, B-5 is a component related to the target product group, and B-6 is a component revision. It is data to represent.
又、B−8は或る製品バージョンにおけるコンポーネント・リビジョンの構成を示すコンポーネント構成データである。 B-8 is component configuration data indicating the configuration of component revisions in a certain product version.
以下では製品とそのバージョン、コンポーネントとそのリビジョンが図3及び図4のような関係にあるとして説明する。 In the following description, it is assumed that the product and its version, and the component and its revision are in the relationship as shown in FIGS.
図3は製品バージョンの系統の例であり、先ず、製品P1とP2の2つがあり、製品P1には3つのバージョンv1.0,v1.1,v1.2がある。図中の矢印の向きはバージョンの作成順序を示しており、バージョンv1.1はv1.0を基にして作成され、v1.2はv1.1を基に作成されることを示す。 FIG. 3 shows an example of the product version system. First, there are two products P1 and P2, and the product P1 has three versions v1.0, v1.1, and v1.2. The direction of the arrow in the figure indicates the order of version creation. Version v1.1 is created based on v1.0, and v1.2 is created based on v1.1.
又、製品P2のv1.0は製品P1のバージョンv1.0を基に作成され、v1.1は製品P2の前バージョンv1.0と製品P1のバージョンv1.1の2つを基に、即ち2つの製品バージョンがマージされて作成されることを示している。 Further, v1.0 of the product P2 is created based on the version v1.0 of the product P1, and v1.1 is based on two of the previous version v1.0 of the product P2 and the version v1.1 of the product P1, that is, It shows that two product versions are merged and created.
尚、矢印の上の+RX.Xの意味については後述する。 Note that + RX. The meaning of X will be described later.
同様に図4は製品を構成するコンポーネントの系統の例であり、先ず、コンポーネントC1とC2があり、コンポーネントC1はr1.0,r1.1,r1.2,r1.3の4つのリビジョンを持つ。ここで、矢印の意味は図3と同様であり、例えばr1.2はr1.1を基に作成されることを示す。コンポーネントC2は、この順に作成されたリビジョンr1.0,r1.1,r1.2,r1.3とr1.0から派生したリビジョンr2.1,r2.2,r2.3の2つのリビジョン系列を持ち、特にr2.2はr1.2からも矢印が入っていて2つのリビジョンr2.1とr1.2がマージされたことを示している。 Similarly, FIG. 4 shows an example of a system of components constituting a product. First, there are components C1 and C2, and the component C1 has four revisions r1.0, r1.1, r1.2, and r1.3. . Here, the meaning of the arrow is the same as in FIG. 3, and for example, r1.2 indicates that it is created based on r1.1. The component C2 includes two revision sequences of revisions r1.0, r1.1, r1.2, r1.3 and revisions r2.1, r2.2, r2.3 derived from r1.0 created in this order. In particular, r2.2 has an arrow from r1.2 to indicate that two revisions r2.1 and r1.2 have been merged.
図3と同様に矢印の上の+RX.Xの意味については後述する。 Similar to FIG. 3, + RX. The meaning of X will be described later.
ところで、図2において、要件B−1は例えば外部的或は内部的な機能や性能の1つ1つであり、開発で実現すべきものである。ここでは、対象とする製品群の全ての要件が管理され、新たな要件が発生するごとに追加される。 In FIG. 2, requirement B-1 is, for example, each of external or internal functions and performances and should be realized by development. Here, all the requirements of the target product group are managed and added every time a new requirement is generated.
図5は要件B−1の一覧の例を示す。各要件は識別するための要件IDと標題を属性として持つ。その他その詳細や補足のための属性等を持っても良い。 FIG. 5 shows an example of a list of requirement B-1. Each requirement has a requirement ID for identifying it and a title as attributes. Other details and supplemental attributes may be included.
又、要件は非常に多数になるため、その分類のための属性を持って検索等に利用しても良い。 Also, since the requirements are very large, it may be used for searching or the like with attributes for classification.
ここでは、階層的に要件を分類・整理するとして、図5ではインデントと要件IDの記号R1,R1.1,R1.1.1…の付け方で階層構造を示している。又、図2で要件B−1から出てB−2に入る矢印はこの階層構造を示す。尚、要件の階層的な分類は必須のものではない。 Here, assuming that the requirements are classified and organized hierarchically, in FIG. 5, the hierarchical structure is shown by the indentation and requirement ID symbols R1, R1.1, R1.1.1,. Moreover, the arrow which goes out of requirement B-1 and enters B-2 in FIG. 2 shows this hierarchical structure. The hierarchical classification of requirements is not essential.
図2において、製品データB−2は製品名と製品の内容等を管理し、新たな製品ごとに追加する。 In FIG. 2, product data B-2 manages the product name, product content, etc., and is added for each new product.
製品は改良や不具合修正を行ったものが何度か出荷されるが、各々が製品バージョンB−3である。 The products that have been improved or corrected are shipped several times, each of which is a product version B-3.
製品バージョンデータB−3の例を図6に示す。 An example of product version data B-3 is shown in FIG.
製品バージョンデータは製品名とバージョン名をキーとし、その製品バージョンのステータスと、その製品バージョンの基となった親バージョン情報を属性として持つ。 The product version data has the product name and version name as keys, and has the status of the product version and parent version information on which the product version is based as attributes.
製品バージョンのステータスは、例えば「予定」「開発中」「出荷済み」から1つの値を取る。 For example, the status of the product version takes one value from “planned”, “under development”, and “shipped”.
尚、これ以外にテスト時等における構成を確定するために出荷済み以外の中間バージョンを設けても良く、この場合には例えばステータスに「テスト」という値を加えても良い。 In addition, an intermediate version other than that which has been shipped may be provided in order to determine the configuration at the time of testing or the like. In this case, for example, a value of “test” may be added to the status.
親バージョン情報は、その製品バージョンの基となった製品バージョンのリスト、即ちそのキー値(製品名、バージョン名)のリストであり、図2におけるB−4の矢印で示される関係である。 The parent version information is a list of product versions on which the product version is based, that is, a list of key values (product name, version name), and has a relationship indicated by an arrow B-4 in FIG.
図6の内容は図3の製品バージョン系統の例に基づいており、例えば製品P1のバージョンv1.1を基にして製品P1のバージョンv1.2の開発が予定されており、製品P1のバージョンv1.0を基にした製品P2のバージョンv1.1が開発中であることを示す。 The content of FIG. 6 is based on the example of the product version system of FIG. 3. For example, development of version v1.2 of product P1 is scheduled based on version v1.1 of product P1, and version v1 of product P1 is planned. Version v1.1 of product P2 based on .0.0 is under development.
尚、親バージョン情報が1組の(製品名、バージョン名)でなく、リストである意味は実施の形態3で説明する。 The meaning that the parent version information is not a set (product name, version name) but a list will be described in the third embodiment.
図2において、コンポーネントB−5は、対象とする製品群に関する全てのコンポーネントのそれぞれであり、コンポーネント名とその説明等を属性として持ち、新たなコンポーネントの追加ごとにデータが追加される。 In FIG. 2, a component B-5 is each of all components related to the target product group, and has a component name and its description as attributes, and data is added every time a new component is added.
ここで、コンポーネントとは、ソフトウエア開発の場合には製品で使用するモジュールであるが、その他機能仕様書やテスト仕様書等の開発に関連する文書等を含んでも良い。 Here, the component is a module used in a product in the case of software development, but may include other documents related to development such as functional specifications and test specifications.
コンポーネントB−5は、開発の途上で順次機能追加や不具合修正が行われていくため、それらのリビジョンB−6が管理される。 Component B-5 is managed in the course of development because its function addition and defect correction are performed sequentially, so that revision B-6 is managed.
図7にコンポーネント・リビジョンデータB−6の例を示す。 FIG. 7 shows an example of component revision data B-6.
図7でコンポーネント・リビジョンは製品バージョンと同様に(コンポーネント名、リビジョン名)をキーとし、リビジョンのステータスと親リビジョン情報等を属性として持つ。 In FIG. 7, the component revision has (component name, revision name) as a key, and the status of the revision, parent revision information, and the like as the product version.
リビジョンのステータスは、例えば「予定」「作成中」「作成済」のうちの1つの値を取る。 The revision status takes, for example, one value of “planned”, “under construction”, and “created”.
ここで、「予定」とは、そのリビジョンが未だ実体としては存在せず、作成作業も始まっていない状態である。「作成中」は作成作業中であることを示し、特に前リビジョンの修正によって新リビジョンを作成する場合には前リビジョンをチェックアウトしている状態である。 Here, “scheduled” means that the revision does not yet exist as an entity, and the creation work has not started. “Creating” indicates that the work is being created. In particular, when a new revision is created by correcting the previous revision, the previous revision is checked out.
「作成済」はそのリビジョンが実際に作成され存在していることを示し、いわゆるチェックイン済みの状態である。 “Created” indicates that the revision is actually created and exists, and is a so-called checked-in state.
親リビジョン情報は、製品バージョンの親バージョン情報と同様に、そのリビジョンの基となったリビジョン名のリストであり、図2の矢印B−7で示される関係である。 Like the parent version information of the product version, the parent revision information is a list of revision names that are the basis of the revision, and has a relationship indicated by an arrow B-7 in FIG.
尚、ここでは他のコンポーネントのリビジョンを基にリビジョンを作成することはないとして、(コンポーネント名、リビジョン名)のリストの代わりにリビジョン名だけのリストとしている。 Here, assuming that revisions are not created based on revisions of other components, a list of only revision names is used instead of a list of (component name, revision name).
図7の内容は図4のコンポーネント・リビジョンの系統の例に基づいており、例えばコンポーネントC1にはr1.0→r1.1→r1.2の順に各リビジョンが作成済みであり、r1.2を基にr1.3を作成する予定があることを示す。 The contents of FIG. 7 are based on the example of the component revision system of FIG. 4. For example, each revision has been created in the order of r1.0 → r1.1 → r1.2 in the component C1, and r1.2 Based on this, r1.3 is scheduled to be created.
尚、製品バージョンの場合と同様に、親リビジョン情報が1つのリビジョン名だけでなく、リストである意味は実施の形態3で説明する。 As in the case of the product version, the meaning that the parent revision information is not only one revision name but also a list will be described in the third embodiment.
尚、このコンポーネント・リビジョンデータは、その他例えばそのリビジョンの作成担当者や作成日時、修正内容に関するコメント等の属性を持っても良い。 The component / revision data may have other attributes such as a person in charge of creating the revision, a creation date / time, and a comment regarding the correction contents.
図2において、B−8は或る製品バージョンにおけるコンポーネント・リビジョンの構成を示すコンポーネント構成データである。 In FIG. 2, B-8 is component configuration data indicating the configuration of the component revision in a certain product version.
図8はこのコンポーネント構成データの例であり、製品P1のバージョンv1.0はコンポーネントC1のリビジョンr1.1とC2のリビジョンr1.0から成り、製品P2のバージョンv1.1は、コンポーネントC1のリビジョンr1.3とC2のリビジョンr2.2から成ることを示している。 FIG. 8 shows an example of the component configuration data. The version v1.0 of the product P1 is composed of the revision r1.1 of the component C1 and the revision r1.0 of the C2, and the version v1.1 of the product P2 is the revision of the component C1. It shows that it consists of r1.3 and C2 revision r2.2.
この製品バージョンのコンポーネント・リビジョン構成は、製品バージョンのステータスを出荷済みにしたときに確定されるが、ステータスが予定あるいは開発中の場合には各コンポーネントの作成・修正作業に伴うコンポーネント・リビジョンの改訂によって変化する。 The component revision configuration of this product version is confirmed when the status of the product version is shipped, but if the status is planned or under development, the revision of the component revision accompanying the creation / modification of each component It depends on.
図2において、B−9は各製品バージョンで実現されるべき要件を示す製品バージョン要件データであり、図9にこのデータの例を示す。 In FIG. 2, B-9 is product version requirement data indicating requirements to be realized in each product version. FIG. 9 shows an example of this data.
製品バージョン要件データは(製品名、バージョン名、要件ID)をキーとし、その製品バージョンにおけるその要件の対応状況を管理する対応ステータス属性を持つ。 Product version requirement data has (product name, version name, requirement ID) as a key, and has a corresponding status attribute for managing the corresponding status of the requirement in the product version.
尚、B−1の要件データが階層的に分類されている場合には、この要件IDは最下層の葉ノードに対してのみ設定する。 When the requirement data of B-1 is classified hierarchically, this requirement ID is set only for the leaf node at the lowest layer.
対応ステータスは、例えば「予定」「未完」「対応済」「無関係」のうちの1つの値を取る。 For example, the correspondence status takes one value of “planned”, “incomplete”, “corresponding”, and “unrelated”.
ここで、「予定」はこの製品バージョンでこの要件を実現すべきであるが、未だ実現されていないこと、「対応済み」は実現されたこと、「未完」は実現するための処置は実施したが不具合等により完全には実現されていないことを示す。 Here, “schedule” should fulfill this requirement in this product version, but it has not yet been realized, “already supported” has been realized, and “unfinished” has been implemented to realize it. Indicates that it has not been fully realized due to a defect.
「無関係」はこの製品バージョンと要件に対する製品バージョン要件データが実際には存在しない場合、或はデータが存在してもこの製品バージョンとこの要件は無関係であることを例えば後から予定を削除した等の場合に明示する等の場合に使用する。 “Unrelated” means that product version requirement data does not actually exist for this product version and requirement, or that this product version and this requirement are irrelevant even if data exists, for example, the schedule was later deleted It is used in cases such as when clearly indicating in the case of.
図9では例えば製品P1のバージョンv1.0では2つの要件R1.1とR1.2に対応済みであること示す。又、製品P1のバージョンv1.1では更に2つの要件R1.3とR1.4に対応済みであることを示す。 In FIG. 9, for example, version v1.0 of the product P1 indicates that two requirements R1.1 and R1.2 have been handled. The version v1.1 of the product P1 indicates that the two requirements R1.3 and R1.4 are already supported.
尚、ここではこの製品バージョン要件データは製品バージョンの親バージョンとの差分で作成されるとしている。即ち、製品P1のバージョン1.1の親バージョンはバージョンv1.0であるので、既に要件R1.1とR1.2には対応済みであり、それに加えてR1.3とR1.3に対応済みであることを示す。 Here, it is assumed that the product version requirement data is created by the difference between the product version and the parent version. That is, since the parent version of the version 1.1 of the product P1 is version v1.0, the requirements R1.1 and R1.2 have already been dealt with, and in addition to that, R1.3 and R1.3 have been dealt with. Indicates that
これらの関係は図3では+RX.Xにより示されており、製品バージョン間を繋ぐ矢印上の要件が、この間の開発で前のバージョンで実現済みのものに追加して実現されたことを示している。 These relationships are shown in FIG. X indicates that the requirement on the arrow connecting the product versions is realized in addition to what has been realized in the previous version in the development during this period.
即ち、親バージョンと比較し、親バージョンにない要件を割り当てる場合、或は親バージョンと同じ要件が割り当てられていてもその属性である対応ステータスが異なる場合にのみ、この製品バージョン要件データが作成される。 That is, the product version requirement data is created only when a requirement that is not in the parent version is assigned compared to the parent version, or when the same requirement as the parent version is assigned but the corresponding status is different. The
尚、新たな要件の追加によって以前対応済みであった要件に不具合が発生する等、いわゆる「退化」が起こる場合があり得るが、このような場合の対応については実施の形態2で後述する。 In addition, there may be a case where a so-called “degeneration” occurs, for example, a problem occurs in a requirement that has been dealt with previously due to the addition of a new requirement. The response in such a case will be described later in the second embodiment.
図2において、B−10は各コンポーネント・リビジョンで実現されるべき要件を示すコンポーネント・リビジョン要件データであり、図10にこのデータの例を示す。 In FIG. 2, B-10 is component revision requirement data indicating requirements to be realized in each component revision, and FIG. 10 shows an example of this data.
各コンポーネント・リビジョン要件データは(コンポーネント名、リビジョン名、要件ID)をキーとし、その各コンポーネント・リビジョンでのその要件に対する対応状況を管理する対応ステータス属性を持つ。 Each component revision requirement data has (component name, revision name, requirement ID) as a key, and has a corresponding status attribute for managing the corresponding status of the requirement in each component revision.
対応ステータスは、例えば製品バージョン要件の場合と同様に「予定」「未完」「対応済」「無関係」のうちの1つの値を取る。 For example, as in the case of the product version requirement, the correspondence status takes one value of “planned”, “incomplete”, “corresponding”, and “unrelated”.
又、このデータも製品バージョン要件の場合と同様に、親リビジョンに対する差分で管理される。 Also, this data is managed as a difference with respect to the parent revision as in the case of the product version requirement.
図10では例えばコンポーネントC1のリビジョンr1.0では要件R1.1とR1.2に対応すべきであったがR1.1に対しては「未完」即ち未だ不完全であり,R1.2に対しては「予定」即ち未だ何も行われておらず、リビジョンr1.1でこの2つの要件に対応済になったことを示す。 In FIG. 10, for example, the revision r1.0 of the component C1 should correspond to the requirements R1.1 and R1.2, but R1.1 is “incomplete”, that is, still incomplete, This indicates that “scheduled”, that is, nothing has been done yet, and that these two requirements have been met in revision r1.1.
又、コンポーネントC1のリビジョンr1.2では更に要件R1.3,R1.4への対応が必要になったが、R1.4に対しては「未完」であり、r1.3で「対応済」になったことを示す。 Further, the revision R1.2 of the component C1 requires further correspondence to the requirements R1.3 and R1.4, but R1.4 is “incomplete” and r1.3 is “corresponding”. It shows that it became.
製品バージョン要件の場合と同様に、このような関係も図4における矢印上の+RX.Xの要件が、前のリビジョンからの修正作業によってその要件に対する対応ステータスが変化したことを示している。 As in the case of the product version requirement, this relationship is also + RX. The requirement of X indicates that the corresponding status for the requirement has changed due to the correction work from the previous revision.
尚、図10では例えば要件R1.2とR1.3の実現のためにはコンポーネントC1とC2の2つと関連するが、このように製品全体に対する要件とそのために対応が必要なコンポーネントとは一般的に多対多の関係になる。 In FIG. 10, for example, the requirements R1.2 and R1.3 are related to the two components C1 and C2. However, the requirements for the entire product and the components that need to be dealt with for this are general. It becomes a many-to-many relationship.
以下にユーザーの操作とシステムにおける処理について説明する。 The following describes user operations and processing in the system.
先ず、「対応ステータスの集計」関数を定義する。これは製品バージョン要件或はコンポーネント・リビジョン要件の対応ステータスの値のリストを取り、その集計結果として対応ステータスの1つの値を返す。 First, a “counting of corresponding status” function is defined. This takes a list of values of the corresponding status of the product version requirement or the component revision requirement, and returns one value of the corresponding status as the total result.
これは例えば対応ステータスの値を「予定」「未完」「対応済」「無関係」の順に大きくなる大小関係を持つと見なし、リストから最小の値を求めれば良い。又、リストが空なら「無関係」とする。 For example, the value of the corresponding status may be regarded as having a magnitude relationship that increases in the order of “planned”, “incomplete”, “corresponding”, and “unrelated”, and the minimum value may be obtained from the list. If the list is empty, “unrelated” is assumed.
次に、「製品バージョン要件の対応ステータス獲得」関数を定義する。 Next, a function “get corresponding status of product version requirement” is defined.
図11にそのフローを示す。この関数は(製品名、バージョン名、要件ID)を引数とし、この製品バージョンにおける要件IDの要件の対応ステータスを求め、(定義製品名、定義バージョン名、対応ステータス)の組を返す。 FIG. 11 shows the flow. This function takes (product name, version name, requirement ID) as arguments, obtains the corresponding status of the requirement of the requirement ID in this product version, and returns a set of (defined product name, defined version name, supported status).
前述のように製品バージョン要件データは差分のみを保持しているため、この製品バージョンに対して要件データがなければ、祖先の製品バージョンを辿って製品バージョン要件データが定義されている最も近い祖先の値を返す。 As mentioned above, the product version requirement data holds only the difference, so if there is no requirement data for this product version, the product version requirement data is defined by tracing the ancestor product version. Returns a value.
これは図11のようにこの関数の再帰呼び出しにより得られる。 This is obtained by recursive calling of this function as shown in FIG.
全く同様にコンポーネント・リビジョンに対しては「コンポーネント・リビジョン要件の対応ステータス獲得」関数が定義できる。 In exactly the same way, for a component revision, a “get component revision requirement status” function can be defined.
以下では或る製品のあるバージョンを出荷し、これを基に機能拡張等の新規要件を加えて次のバージョン、或は動作するプラットフォームや対象ユーザーが異なる別系統の製品の最初のバージョンを開発するとする。 In the following, when a certain version of a product is shipped and new requirements such as enhancements are added based on this, the next version, or the first version of a different system with different platforms and target users will be developed. To do.
この場合、本発明におけるプロジェクト管理システムを利用して開発担当者及び開発管理者は以下の手順で作業を行う。 In this case, using the project management system according to the present invention, the person in charge of development and the development manager work in the following procedure.
S1:新規製品の場合は製品データを追加させる。 S1: In the case of a new product, product data is added.
S2:開発する製品バージョンを追加させる。 S2: A product version to be developed is added.
このためにはシステムは製品名を一覧表示し選択させ、バージョン名を入力させる。 To do this, the system displays a list of product names, selects them, and enters a version name.
バージョン名に重複がないかをチェックし、新たな製品バージョンデータをデータベースに追加する。 Check for duplicate version names and add new product version data to the database.
このデータの親バージョンは指定した製品バージョン、ステータスは「予定」とする。 The parent version of this data is the specified product version, and the status is “planned”.
S3:追加したステータス「予定」の製品バージョンで実現すべき要件を入力する。 S3: Enter the requirements to be realized in the product version with the added status “scheduled”.
システムは図11の「製品バージョン要件の対応ステータス獲得」関数を使用し、要件データからこの製品バージョンで対応済みでない要件の一覧を表示し、複数選択させる。要件データがなければ追加させる。 The system uses the “obtain product version requirement correspondence status” function of FIG. 11 to display a list of requirements that are not supported by this product version from the requirement data, and select a plurality of requirements. If there is no requirement data, let it be added.
選択された各要件に対し、システムは、製品バージョン要件データをその対応ステータス=「予定」で追加する。 For each selected requirement, the system adds product version requirement data with its corresponding status = “planned”.
S4:この新たな製品バージョンの初期状態となるコンポーネント・リビジョン構成を作成させる。 S4: Create a component revision configuration that is the initial state of this new product version.
このためにはシステムは、親の製品バージョンのコンポーネント・リビジョン構成を基に、例えば各コンポーネントのブランチリビジョンをステータス=「予定」で作成し、コンポーネント・リビジョンデータに追加する。 For this purpose, the system creates, for example, a branch revision of each component with status = “planned” based on the component revision configuration of the parent product version, and adds it to the component revision data.
又、合わせてこの製品バージョンに対するコンポーネント構成の初期データとして、これらのコンポーネント・リビジョンを登録する。 In addition, these component revisions are registered as initial data of the component configuration for this product version.
尚、この過程において各コンポーネントの初期リビジョンをどうするかは全体の検討の結果に基づいて決定することが必要である。 In this process, it is necessary to decide what to do with the initial revision of each component based on the results of the overall review.
例えば、或るコンポーネントは親の製品バージョンと同一のリビジョンを使用した方が良い場合もあるし、他の製品におけるリビジョンからブランチリビジョンを作成した方が良い場合もある。 For example, a component may want to use the same revision as its parent product version, or it may be better to create a branch revision from revisions in other products.
このような場合には、ユーザーに各コンポーネントのリビジョンを修正させる。 In such cases, let the user modify the revision of each component.
又、コンポーネントの情報として、あるものは親の製品バージョンに関わらず常にその時点での全体での最新のリビジョンを使用する等と定めておき、それに従って初期リビジョンを設定しても良い。 In addition, as component information, it may be determined that some latest information is always used regardless of the parent product version, and the initial revision may be set accordingly.
S5:次に、各コンポーネントに対するコンポーネント・リビジョン要件を入力させる。 S5: Next, the component revision requirement for each component is input.
これは例えば各コンポーネントの担当者が行う。コンポーネントの担当者は新規に追加された製品バージョン要件から各コンポーネントに関連しコンポーネントの修正を行わなければならないコンポーネントと要件の組合せを検討し決定しなければならない。システムは、このために図12のような「コンポーネント要件状況画面」を表示する。 This is done by the person in charge of each component, for example. The person in charge of the component must examine and determine the combination of the component and requirement that must be corrected in relation to each component from the newly added product version requirement. For this purpose, the system displays a “component requirement status screen” as shown in FIG.
図12では各行にこの製品バージョンにおける現在のコンポーネント・リビジョンの一覧を表示し、各コンポーネント・リビジョンに対して設定されている要件とその対応状況を表示する。 In FIG. 12, a list of current component revisions in this product version is displayed in each row, and requirements set for each component revision and the corresponding status are displayed.
図の要件及び対応ステータス欄は、この製品バージョンにおける製品バージョン要件の各々要件IDに対し、このコンポーネント・リビジョンにおける対応ステータスを前記「コンポーネント・リビジョン要件の対応ステータス獲得」関数により獲得し、値が「無関係」以外のものの要件ID、要件名と獲得した対応ステータス値を表示する。 In the requirement and correspondence status column of the figure, for each requirement ID of the product version requirement in this product version, the correspondence status in this component revision is obtained by the “obtain component revision requirement correspondence status” function, and the value is “ Requirement ID, requirement name, and acquired corresponding status value other than “unrelated” are displayed.
図の集計対応ステータスは、各コンポーネント・リビジョンにおける個々の要件によらない対応状況であり、要件ごとの対応ステータスから「対応ステータスの集計」関数で得た値である。 The total correspondence status in the figure is a correspondence status that does not depend on individual requirements in each component revision, and is a value obtained from the correspondence status for each requirement by the “total correspondence status” function.
最初は何もコンポーネント・リビジョン要件が登録されていないので、各行の集計対応ステータス列は「無関係」が表示され、要件列には<追加>ボタンのみが表示される。<追加>ボタンを選択すると、この製品バージョンにおける製品バージョン要件一覧を表示し、このコンポーネントに関連する要件を複数選択させ、その要件IDに対しコンポーネント・リビジョン要件データを対応ステータス=「予定」で登録する。 Since no component revision requirement is registered at first, “Unrelated” is displayed in the aggregation correspondence status column of each row, and only the <Add> button is displayed in the requirement column. When the <Add> button is selected, a list of product version requirements for this product version is displayed, multiple requirements related to this component are selected, and component revision requirement data is registered with the corresponding status = "planned" for that requirement ID To do.
S6:以上のように製品バージョン要件と、その実現のために修正が必要なコンポーネント・リビジョンの対応付けが終わると、この製品バージョンデータのバージョン状態=「開発中」として開発をスタートさせる。 S6: As described above, when the product version requirement is associated with the component / revision that needs to be corrected to realize it, the development is started with the version state of the product version data = “under development”.
各コンポーネント担当者は、コンポーネントの修正作業を実施し、何度かリビジョンを改訂していく。 The person in charge of each component performs component correction work and revises revisions several times.
リビジョン改訂時には担当者は図12の画面を表示し、コンポーネントに割り当てられた各要件に対する対応ステータスを例えば「未完」「対応済」等に変更する。 When the revision is revised, the person in charge displays the screen of FIG. 12 and changes the corresponding status for each requirement assigned to the component to, for example, “incomplete” or “corresponding”.
各要件ごとの対応ステータスが変更されれば、上述のように集計対応ステータス列の値を再集計して表示を更新する。 If the correspondence status for each requirement is changed, the display is updated by re-aggregating the values in the aggregation correspondence status column as described above.
S7:管理担当者は開発中の製品バージョンの状態を、例えば図13のような「製品バージョン要件状況画面」を表示する。 S7: The manager in charge displays the status of the product version under development, for example, a “product version requirement status screen” as shown in FIG.
ここでは、製品バージョン要件データとB−1の要件データの階層構造とを突き合わせ、この製品バージョンに関連する要件を階層的に各行に表示する。 Here, the product version requirement data and the hierarchical structure of the requirement data B-1 are matched, and the requirements related to this product version are displayed hierarchically in each row.
又、この製品バージョンにおける現在のコンポーネント・リビジョン構成とコンポーネント・リビジョン要件データから、要件ごとに関連するコンポーネント、リビジョンとその対応ステータスを表示する。 Further, from the current component revision configuration and component revision requirement data in this product version, the components, revisions and corresponding statuses associated with each requirement are displayed.
図の集計対応ステータス欄は各要件に対して、関連コンポーネントの対応ステータスの集計値であり、前述の「対応ステータスの集計」関数により得られる。 The total correspondence status column of the figure is a total value of the correspondence status of the related component for each requirement, and is obtained by the above-mentioned “correspondence status aggregation” function.
又、階層構造上の親要件に対しては、その子要件の集計対応ステータスの集計値をその集計対応ステータスとして表示する。 For the parent requirement in the hierarchical structure, the aggregation value of the aggregation correspondence status of the child requirement is displayed as the aggregation correspondence status.
S8:図13の製品バージョン要件状況画面で、全ての要件の集計対応ステータスが「対応済」になればこの製品バージョンの完成である。 S8: On the product version requirement status screen of FIG. 13, if the total correspondence status of all requirements becomes “Compliant”, the product version is completed.
管理者はシステムを使用してこの製品バージョンの状態を「出荷済」とすることによりこのバージョンのコンポーネント・リビジョン構成を確定する。 The administrator uses the system to determine the component revision configuration for this version by setting the status of this product version to “shipped”.
尚、上述の説明では、図2の製品バージョン要件B−9、コンポーネント・リビジョン要件B−10は差分管理するとしたが、勿論、差分管理でなくても良い。 In the above description, the product version requirement B-9 and the component revision requirement B-10 in FIG. 2 are managed as differences, but of course, they may not be managed as differences.
この場合には、例えば或るコンポーネント・リビジョンに割り当てられたコンポーネント・リビジョン要件データがあれば、このコンポーネントの次のリビジョンでも要件データが同じ対応ステータスで作成される。この方法ではデータ量は大幅に増加するが、処理は単純なため処理速度は向上する。 In this case, for example, if there is component revision requirement data assigned to a certain component revision, the requirement data is created with the same corresponding status in the next revision of this component. This method greatly increases the amount of data, but the processing speed is improved because the processing is simple.
又、部分的に差分管理を行う方法もある。例えば、製品バージョンの出荷時点におけるコンポーネント・リビジョンに、それまでに関連したコンポーネント・リビジョン要件をコピーし、以後、このリビジョンを基に次のリビジョンが作成される場合には、次のリビジョンに対して割り当てられた要件のみを差分管理していく等である。 There is also a method of performing difference management partially. For example, if you copy a related component revision requirement to the component revision at the time of shipment of the product version, and the next revision is created based on this revision, For example, differential management is performed only on the allocated requirements.
又、上述の説明では製品が複数のコンポーネントから直接構成されるとして説明したが、勿論、「製品−ユニット−部品」のような階層構造として管理しても良い。このような場合には、図2の代わりに図14のようなデータ構造を使用する。 In the above description, the product is described as being directly composed of a plurality of components, but of course, it may be managed as a hierarchical structure such as “product-unit-part”. In such a case, a data structure as shown in FIG. 14 is used instead of FIG.
図14において、要件データB−1は、図2と同様、コンポーネント・リビジョンデータB−11は階層を含めた全てのコンポーネント、即ち製品、ユニット、部品等のそれぞれのコンポーネント名とリビジョン名を管理する。その内容は図7と同様である。 In FIG. 14, requirement data B-1 manages component names and revision names of all components including hierarchies, that is, products, units, parts, etc., as in FIG. . The contents are the same as in FIG.
コンポーネント構成B−12は、コンポーネント・リビジョンの親子関係、例えば製品1のリビジョン1.1は、ユニット1のリビジョン1.1とユニット2のリビジョン1.2から成り、ユニット1のリビジョン1.1は、部品1のリビジョン1.3とから成るといった関係を保持するデータである。尚、例えば部品1のリビジョン1.1は、製品2のユニット1のリビジョン1.5にも使用する等、共有される場合があるので、コンポーネント構成B−12は、コンポーネント・リビジョンB−11同士を多対他に関連づけるリレーションとなる。
Component configuration B-12 is a parent-child relationship of component revisions, for example, revision 1.1 of
図14の例においても、基本的には最下層のコンポーネントである部品に実現すべき要件を割当て、その対応ステータスを管理していくことになるが、やはり先ずは最上位の製品に対して開発する次のリビジョンの要件の予定を割当て、更にその要件の中から順次下位のコンポーネントに要件の予定を割り当てていくことが望ましい。 In the example of FIG. 14 as well, the requirements to be realized are basically assigned to the component that is the lowest layer component, and the corresponding status is managed. It is desirable to assign a schedule of requirements for the next revision to be executed, and further assign a schedule of requirements to the lower components sequentially from the requirements.
このようにして各コンポーネントに対して実現すべき要件を割り当てた後、開発をスタートし、以後は前述のように担当者は最下層のコンポーネントのリビジョンアップと要件の対応ステータスを入力していく。 After assigning the requirements to be realized to each component in this way, the development is started, and thereafter, as described above, the person in charge inputs the revision status of the lowermost component and the corresponding status of the requirement.
尚、操作上、例えば中位のコンポーネントに割り当てられた要件を「対応済み」にすることにより、下層のコンポーネント全てに対しその要件の対応ステータスを「対応済み」に変更するようにすることもできる。 In operation, for example, by changing the requirement assigned to the middle component to “Compliant”, it is possible to change the corresponding status of the requirement to “Compatible” for all the lower-layer components. .
上位コンポーネントの要件の対応状況は前述のように子孫のコンポーネントの対応状況の集計結果が自動的に反映される。 As described above, the correspondence status of the requirement of the higher-level component automatically reflects the total result of the correspondence status of the descendant component.
又、例えば図12のコンポーネント要件状況画面で、担当者が各要件に対する対応ステータスの予定や実績を入力する際、その対応作業のための期間や開発工数の予定・実績等も合わせて入力させれば、製品バージョンでの要件ごとの期間や開発工数、或は製品バージョン全体での期間や開発工数等も自動集計可能である。 For example, on the component requirement status screen of FIG. 12, when the person in charge inputs the schedule and results of the corresponding status for each requirement, the period for the corresponding work and the schedule and results of the development man-hour are also entered. For example, the period and the development man-hour for each requirement in the product version, or the period and the development man-hour for the entire product version can be automatically tabulated.
又、対応ステータスの代わりに実績としては進捗率のような数値で入力させても良い。 Further, instead of the corresponding status, the actual result may be input as a numerical value such as a progress rate.
又、開発作業には「会議」等のコンポーネントの作成・修正以外の作業もあるが、そのような場合には例えば会議の議事録等をダミーのコンポーネントとして作成し、同様に管理することができる。 In addition, development work includes work other than creating and modifying components such as “meetings”. In such cases, for example, meeting minutes can be created as dummy components and managed in the same way. .
又、或る製品の複数のバージョン、或は複数の製品の次バージョンを同時に開発するような場合もあり得る。 In some cases, a plurality of versions of a product or a next version of a plurality of products may be developed simultaneously.
このような場合には、例えば図12及び図13で特定の製品バージョンにおけるコンポーネント・リビジョン要件対応状況、製品バージョン要件対応状況を表示するだけでなく、現在開発中の全ての製品バージョンに対する要件対応状況を同時に表示するような画面を設けると有用である。 In such a case, for example, in FIG. 12 and FIG. 13, not only the component revision requirement support status and product version requirement support status for a specific product version are displayed, but also the requirement support status for all product versions currently under development. It is useful to provide a screen that simultaneously displays
<実施の形態2>
次に、例えば出荷した製品バージョンに不具合が発生した場合について説明する。
<
Next, for example, a case where a defect occurs in a shipped product version will be described.
不具合の解析の結果、2つのコンポーネントに問題があり、このため2つの要件に対する対応が不完全であったことが分ったとする。実際には、この問題は製品バージョンにおけるコンポーネント・リビジョンで持ち込まれたものでなく、それ以前のリビジョンで既にあった問題である場合も多い。 As a result of failure analysis, it is assumed that there is a problem with two components, and thus the correspondence to the two requirements is incomplete. In practice, this problem is not a problem introduced in component revisions in product versions, but is often a problem that was already present in previous revisions.
更に、これらのコンポーネントは他の製品でも使用されており、他の製品も同様に修正しなければならない場合もある。 In addition, these components are used in other products, and other products may need to be modified as well.
何れにせよ担当者は問題のあったコンポーネントのどのリビジョンまで遡って修正するかを決定しなければならない。このために対応ステータスの選択肢として「不具合」を追加し、「不具合」「予定」「未完」「対応済」「無関係」の順に大きくなる大小関係とし、前述の対応ステータスの集計関数ではこれらの最小値を求めるものとする。 In any case, the person in charge must decide which revision of the component in question should be retroactive. For this reason, “defect” is added as an option for the corresponding status, and the magnitude relationship increases in the order of “defect”, “planned”, “incomplete”, “completed”, “irrelevant”. The value shall be obtained.
修正を行うリビジョンが決定されれば、システムは、そのリビジョンのリビジョン要件データの対応ステータス値を例えば「不具合」に変更する。このとき、システムは、このリビジョンの子孫の全てのリビジョンを辿り、もし同じ要件に対するリビジョン要件データがあればその対応ステータスも「不具合」に変更していく。 When the revision to be corrected is determined, the system changes the corresponding status value of the revision requirement data of the revision to, for example, “failure”. At this time, the system traces all revisions of the descendants of this revision, and if there is revision requirement data for the same requirement, the corresponding status is also changed to “failure”.
上述のように、製品バージョン要件データのステータス値は、コンポーネント・リビジョン要件データの対応ステータス値の集計値が反映されるので、結果として関連した製品バージョンの対応ステータスが「不具合」となる。 As described above, the status value of the product version requirement data reflects the total value of the corresponding status values of the component / revision requirement data. As a result, the corresponding status of the product version becomes “failure”.
尚、この方法では、要件データの対応ステータス値が変更されてしまい、以前の値が分からなくなってしまう問題がある。この対処のためには、製品バージョン要件データ、コンポーネント・リビジョン要件データの前の対応ステータス値を保存するようにしておく。又、不具合も解決すべき課題であるから要件と同様と考える方法もある。即ち、発生した不具合の情報を図2のB−1の要件データとして追加する。 In this method, there is a problem that the corresponding status value of the requirement data is changed and the previous value is not known. In order to cope with this, the corresponding status value before the product version requirement data and the component revision requirement data is stored. There is also a method of thinking that the problem is the same as the requirement because the problem is a problem to be solved. That is, information on the defect that has occurred is added as the requirement data of B-1 in FIG.
次に、原因となったコンポーネント・リビジョンに対し、この不具合要件に対する要件データを対応ステータス=「不具合」で追加する。 Next, the requirement data for the defect requirement is added with the corresponding status = “defect” for the component revision that caused the problem.
システムは、このリビジョンの子孫およびそれを使用している製品バージョンを追跡することによって、この不具合が存在する可能性のあるものを指摘できる。 By tracking the descendants of this revision and the product version that uses it, the system can point out what might be present.
次に、修正する製品バージョンの派生バージョンを作る。 Next, a derivative version of the product version to be modified is created.
前述のように、各コンポーネント・リビジョンのブランチリビジョンが作成されるが、原因となったコンポーネントに対しては対応ステータス=「不具合」となっているので、これがブランチリビジョンに引き継がれる。 As described above, a branch revision of each component revision is created, but since the corresponding status is “failure” for the component that caused it, this is inherited by the branch revision.
以後はこの不具合を修正し、修正したリビジョンで対応ステータス=「対応済み」とすれば良い。 After that, this problem can be corrected, and the corresponding status should be set to “Supported” in the revised revision.
尚、この不具合要件データを不具合の生じた要件データの子データとして追加するようにするか、或は不具合要件データ中に不具合の生じた要件IDを持たせることによりどの要件に対して不具合が生じたのかを追跡することが可能になる。 It should be noted that this defect requirement data is added as a child data of the defect data where the defect has occurred, or a defect occurs with respect to which requirement by having the defect requirement ID in the defect requirement data. It becomes possible to track what happened.
<実施の形態3>
複数の別系列のリビジョンから新たなリビジョンを作るいわゆる「マージ」を支援する場合について説明する。
<
A case of supporting so-called “merge” in which a new revision is created from a plurality of different series of revisions will be described.
この場合、図6の製品バージョンにおける親バージョン情報、図7のコンポーネント・リビジョンにおける親リビジョン情報は複数の親を持つためリストになる場合がある。従って、図11における「製品バージョン要件の対応ステータス獲得」関数F−1は、図15のF−1’よりのフローに変更される。即ち、ステップF−7に代わるF−7’おいて複数の親バージョンに対して要件の対応ステータスを獲得し、その集計値を結果として返す。「コンポーネント・リビジョン要件の対応ステータス獲得」関数も同様に変更される。 In this case, the parent version information in the product version in FIG. 6 and the parent revision information in the component revision in FIG. Accordingly, the “obtain product version requirement correspondence status” function F-1 in FIG. 11 is changed to the flow from F-1 ′ in FIG. That is, in F-7 'instead of Step F-7, the requirement correspondence status is acquired for a plurality of parent versions, and the total value is returned as a result. The “Get Component / Revision Requirement Status” function is also changed.
或るコンポーネントのリビジョンを他の2つの親リビジョンのマージで作成した場合、このリビジョンは2つの親リビジョンで対応済みの全ての要件に対し、対応済みであることになる。 When a revision of a component is created by merging two other parent revisions, this revision is already supported for all requirements that have been handled by the two parent revisions.
但し、これらの対応ステータス値が正しいかどうか、即ち、実際に2つの親リビジョンで対応済みの要件には対応済みかどうかは問題であり、基本的には担当者が検討を行い決定しなければならないが、例えば以下のような方法で初期値を設定しても良い。
(1)2つの親リビジョンの共通の祖先となるリビジョンを求め、その共通祖先リビジョンでの対応済み要件は対応済みとし、共通祖先から2つの親リビジョン間で対応された要件に対しては「予定」或は「未完」とする。
(2)2つの親リビジョンそれぞれでの対応済みの要件の集合に対し、その共通集合である要件に対しては「対応済」、残りの要件に炊いては「未完」とする。
However, it is a problem whether these correspondence status values are correct, that is, whether the requirements that have already been dealt with by the two parent revisions have been dealt with. The initial value may be set by the following method, for example.
(1) A revision that is a common ancestor of two parent revisions is obtained, and the requirements that have been handled in the common ancestor revision are already handled. Or “incomplete”.
(2) For a set of requirements that have already been handled in each of the two parent revisions, the requirement that is the common set is “corresponding”, and the remaining requirements are “unfinished”.
何れにせよ担当者はコンポーネントの詳細を検討し、マージ後の要件の各々について新たな修正が必要か、以前のままで問題ないかを判断し、対応ステータス値を適した値に設定しなければならない。 In any case, the person in charge will review the details of the component, determine if each of the post-merge requirements needs a new fix or if there is no problem with it, and set the corresponding status value to an appropriate value. Don't be.
<実施の形態4>
次に、要件自体の削除や変更があった場合の対応方法について説明する。
<
Next, a method for dealing with a case where the requirement itself is deleted or changed will be described.
例えば、古い機能が必要なくなった場合には、以後のバージョンではこの機能が確実に削除されていなければ問題を起こす可能性が高い。 For example, if an old function is no longer needed, it is likely to cause problems in later versions if this function is not reliably removed.
又、要件の内容が変更された場合、例えばこれまで5桁であったユーザーコードが6桁に変更されたような場合、以降のバージョンではこの変更が確実に対応されていることが必要である。即ち、要件の削除や変更は、それ自体が新たな要件となる。このためには、図2の要件データB−1の内容は図5のものから図16のものに変更される。 In addition, when the content of the requirement is changed, for example, when the user code that has been 5 digits so far is changed to 6 digits, it is necessary to ensure that this change is supported in later versions. . In other words, the deletion or change of a requirement itself becomes a new requirement. For this purpose, the content of the requirement data B-1 in FIG. 2 is changed from that in FIG. 5 to that in FIG.
図16では、各要件に対し、要件種別、対象要件ID、変更回数の3つの属性が追加されている。 In FIG. 16, three attributes of a requirement type, a target requirement ID, and the number of changes are added to each requirement.
要件種別は「通常」「変更」「削除」の3つの値を取り、「通常」は通常の要件、「変更」は対象要件IDで示される要件の変更であること、「削除」は対象要件IDで示される要件の削除であることを示す。 The requirement type takes three values: “Normal”, “Change”, and “Delete”, where “Normal” is a normal requirement, “Change” is a change in the requirement indicated by the target requirement ID, and “Delete” is a target requirement Indicates that the requirement indicated by the ID is deleted.
変更回数属性は、要件の変更は何度か行われる可能性があるため、その識別のために使用し、同一の対象要件IDを持つ種別が「変更」或は「削除」である要件に対して、1より順次増加させるとする。即ち、この番号の一番大きなものが対象要件IDで示される要件に対して現在有効な変更或は削除である。 The change count attribute is used for identification because the requirement may be changed several times. For the requirement with the same target requirement ID as “Change” or “Delete” It is assumed that the number is sequentially increased from 1. That is, the largest number is the currently effective change or deletion for the requirement indicated by the target requirement ID.
図16では、R1.1のXX表示要件に対し、2度変更が行われており、現在有効なのはR1.11であってR1.1とR1.9は有効でないことを灰色で示している。 In FIG. 16, the XX display requirement of R1.1 has been changed twice, and currently R1.11 is valid, and R1.1 and R1.9 are not valid in gray.
又、R1.10はR1.2の要件を廃止するという要件であり、R1.2は現在有効でないことを灰色で示している。 R1.10 is a requirement to abolish the requirement of R1.2, and R1.2 is grayed out that it is not currently valid.
このような種別が「変更」「削除」である要件も、上述の説明のように通常の要件と全く同様に扱うことができる。 Such a requirement whose type is “change” or “deletion” can be handled in exactly the same way as a normal requirement as described above.
<実施の形態5>
次に、コンポーネント・リビジョンの実体と本発明におけるシステムを連動させる例を説明する。
<
Next, an example in which the entity of the component revision is linked with the system of the present invention will be described.
コンポーネントが例えばソースファイルや文書ファイルである場合には、その実体の管理には汎用的ないわゆるファイルのバージョン管理ツールが有用である。このようなツールには、例えばGNUのCVS等が利用できる。 When the component is, for example, a source file or a document file, a general-purpose so-called file version management tool is useful for managing the entity. As such a tool, for example, GNU CVS can be used.
図17にこのようなファイルのバージョン管理ツールをバックエンドとして、コンポーネントの実体管理に利用する場合の構成を示す。 FIG. 17 shows a configuration in the case where such a file version management tool is used as a back end for component entity management.
図17では、図1に対してファイルのバージョン管理ツールのサーバーが動作するファイル管理サーバーマシンA−5と、このツールが使用するファイルリポジトリA−6が追加されている。 In FIG. 17, a file management server machine A-5 on which the server of the file version management tool operates and a file repository A-6 used by this tool are added to FIG.
各クライアントマシンA−1,A−2には、このファイル管理ツールのクライアントプログラムがインストールされており、各ユーザーは、自分のクライアントマシンから直接このファイル管理ツールを使用することが可能である。 The client program of this file management tool is installed in each client machine A-1, A-2, and each user can use this file management tool directly from his / her client machine.
又、システムのサーバーマシンA−3にもこのファイル管理ツールのクライアントプログラムがインストールされており、サーバープログラムは、これを利用してファイル管理ツールに実行を指示したり、情報を読み出したりできる。 Further, the client program of this file management tool is also installed in the server machine A-3 of the system, and the server program can instruct execution to the file management tool and read information by using this.
勿論、サーバーA−3,A−5は、同一マシンであっても構わず、ファイル管理サーバー或はファイルリポジトリが複数あっても構わない。 Of course, the servers A-3 and A-5 may be the same machine, and there may be a plurality of file management servers or file repositories.
連携のためには、例えばシステムはコンポーネントデータB−5の属性として、このコンポーネントのファイルリポジトリA−5における識別子、例えばリポジトリ名とファイルのパス名を記憶する。 For linkage, for example, the system stores, as an attribute of the component data B-5, an identifier of the component in the file repository A-5, for example, a repository name and a file path name.
コンポーネントのリビジョン名としては、ファイルのバージョン管理ツールが使用するリビジョン名と同じ値を使用しても良く、リビジョン名の対応表を作成・管理しても良い。 The component revision name may be the same as the revision name used by the file version management tool, or a revision name correspondence table may be created and managed.
システムの操作手順は基本的に前述のS1〜S8と同様であるが、ファイルのバージョン管理ツールと特に関連するのはS4及びS6である。 The system operating procedure is basically the same as S1 to S8 described above, but S4 and S6 are particularly related to the file version management tool.
S4で新たな製品バージョンの初期状態となるコンポーネント・リビジョン構成を作成させるときには、前述と同様に先ずシステムのデータベースにこの製品バージョンで使用する初期コンポーネント・リビジョンを登録する。 When creating a component revision configuration that is the initial state of a new product version in S4, the initial component revision to be used in this product version is first registered in the system database as described above.
ユーザーは、必要によっては他のリビジョンを使用する等、このデータを変更しても良い。 The user may change this data, such as using another revision if necessary.
各コンポーネントの初期リビジョンが或る程度確定すれば、担当者或は管理者の指示により、システムは、ファイル管理ツールを使用して、各コンポーネントに対して必要となるファイルリビジョンを一括して生成する。 If the initial revision of each component is determined to some extent, the system generates a necessary file revision for each component in a batch using a file management tool according to the instructions of the person in charge or the administrator. .
例えば、派生リビジョンの作成が必要な場合には、親リビジョン名を指定してブランチを作るようファイル管理ツールに指示する。 For example, if a derivative revision needs to be created, the file management tool is instructed to create a branch by specifying the parent revision name.
2つのリビジョンをマージしたリビジョンの作成が必要な場合には、2つの親リビジョン名を指定してマージしたファイルリビジョンを作成させる。 When it is necessary to create a revision in which two revisions are merged, two parent revision names are designated to create a merged file revision.
又、S6では、以下のようにして担当者が行うコンポーネントに割り当てられた各要件に対する対応ステータスの入力とファイル管理ツールを使用したファイルの修正作業を連動させる。 In S6, the input of the corresponding status for each requirement assigned to the component performed by the person in charge is linked with the file correction work using the file management tool as follows.
担当者は、ファイル管理ツールのクライアントプログラムを使用して、先ず、修正を行うファイルリビジョンをチェックアウトするようファイル管理サーバーA−5に要求する。この要求は実行される前に先ずそのクライアントマシンで動作するシステムのプログラムに通知される。このプログラムは、必要ならチェックアウトするリビジョンの情報等をファイル管理サーバーA−5から獲得し、システムサーバーから対応するコンポーネント・リビジョンの情報を得て、このコンポーネント・リビジョンの情報を表示するURLを作成してWebブラウザを起動してこのURLを表示させる。 Using the client program of the file management tool, the person in charge first requests the file management server A-5 to check out the file revision to be corrected. This request is first notified to the system program running on the client machine before being executed. This program acquires the revision information to be checked out from the file management server A-5 if necessary, obtains the corresponding component revision information from the system server, and creates a URL for displaying the component revision information. Then, the Web browser is activated to display this URL.
担当者は、この画面で、このチェックアウトで新たに対応する要件があれば、これをこの新リビジョンに対して割り当て、システムのデータベースを更新する。或は、一度対応済みとした要件だが問題が見つかった場合には、対応ステータスを「未完」に変更して更新する。 On this screen, the person in charge assigns a new requirement to this new revision if there is a new requirement for this checkout, and updates the system database. Alternatively, if the requirement is once handled but a problem is found, the response status is changed to “incomplete” and updated.
この操作の終了は再びシステムのクライアントプログラムに通知され、この通知によってシステムのクライアントプログラムはファイル管理サーバーに対して実際にチェックアウト処理を実行するよう指示する。これによってファイル管理サーバーからファイルがチェックアウトされ、クライアントマシンにファイルが転送されてくる。 The completion of this operation is notified again to the system client program, and the system client program instructs the file management server to actually execute the checkout process by this notification. As a result, the file is checked out from the file management server, and the file is transferred to the client machine.
続いて、担当者は、ファイルの修正を行い、修正が終わればそのファイルをチェックインするようサーバーA−5に要求する。この場合も同様に、システムのクライアントプログラムがこの要求をトラップし、同様にコンポーネント・リビジョンの情報を表示するURLを作成し、Webブラウザを起動して表示させる。 Subsequently, the person in charge corrects the file, and requests the server A-5 to check in the file when the correction is completed. In this case as well, the client program of the system traps this request, creates a URL for displaying the component revision information, and activates and displays the Web browser.
担当者は、この画面で,チェックインしようとしたリビジョンに対して割り当てられている要件を確認し,その対応ステータスを例えば「未完」から「対応済」に変更する.
この操作の終了も同様に再びシステムのクライアントプログラムに通知され,この通知によってシステムのクライアントプログラムはファイル管理サーバーに対して実際にファイルのチェックインを実行するよう指示する。これによってクライアントマシン上のファイルがファイル管理サーバーに転送され、ファイルリポジトリ上に新たなリビジョンとして保管されることになる。
The person in charge confirms the requirements assigned to the revision to be checked in on this screen, and changes the corresponding status from “incomplete” to “supported”, for example.
Similarly, the end of this operation is again notified to the system client program, and the system client program instructs the file management server to actually execute the file check-in. As a result, the file on the client machine is transferred to the file management server and stored as a new revision in the file repository.
尚、クライアントマシンからファイル管理ツールへの要求をシステムがトラップする方法としては、各クライアント上のファイル管理ツールのクライアントプログラムを置き換える方法がある。 As a method for the system to trap a request from the client machine to the file management tool, there is a method of replacing the client program of the file management tool on each client.
又、他の方法としては、例えばGNU,CVSではファイル管理サーバーA−5で動作するファイル管理ツールのサーバーに、チェックインやチェックアウトを実行する前後に指定したプログラムを実行するよう設定できる機能がある。このような場合には、ファイル管理サーバーにシステムのプログラムを設定すれば良い。 As another method, for example, in GNU and CVS, a file management tool server operating on the file management server A-5 can be set to execute a specified program before and after executing check-in and check-out. is there. In such a case, a system program may be set in the file management server.
A−1 クライアント
A−2 クライアント
A−3 サーバー
A−4 データベース(DB)
A−5 ファイル管理サーバー
A−6 ファイルリポジトリ
A-1 Client A-2 Client A-3 Server A-4 Database (DB)
A-5 File management server A-6 File repository
Claims (5)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005032793A JP2006221316A (en) | 2005-02-09 | 2005-02-09 | Project management system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005032793A JP2006221316A (en) | 2005-02-09 | 2005-02-09 | Project management system |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2006221316A true JP2006221316A (en) | 2006-08-24 |
Family
ID=36983627
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005032793A Withdrawn JP2006221316A (en) | 2005-02-09 | 2005-02-09 | Project management system |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2006221316A (en) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008217168A (en) * | 2007-02-28 | 2008-09-18 | Toshiba Corp | Version control device |
JP2010282361A (en) * | 2009-06-03 | 2010-12-16 | Toshiba Corp | Specification change management device and specification change management program |
JP2012203702A (en) * | 2011-03-25 | 2012-10-22 | Nec Corp | Business system change support system, business system change support program, and business system change support method |
JP2013191003A (en) * | 2012-03-14 | 2013-09-26 | Hitachi Solutions Ltd | Branch repository management system |
JP2020115317A (en) * | 2019-01-18 | 2020-07-30 | 株式会社東芝 | Management device, method, and program |
JP7533923B2 (en) | 2020-05-22 | 2024-08-14 | Necソリューションイノベータ株式会社 | Information processing device, information management method and program |
-
2005
- 2005-02-09 JP JP2005032793A patent/JP2006221316A/en not_active Withdrawn
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008217168A (en) * | 2007-02-28 | 2008-09-18 | Toshiba Corp | Version control device |
JP2010282361A (en) * | 2009-06-03 | 2010-12-16 | Toshiba Corp | Specification change management device and specification change management program |
JP2012203702A (en) * | 2011-03-25 | 2012-10-22 | Nec Corp | Business system change support system, business system change support program, and business system change support method |
JP2013191003A (en) * | 2012-03-14 | 2013-09-26 | Hitachi Solutions Ltd | Branch repository management system |
JP2020115317A (en) * | 2019-01-18 | 2020-07-30 | 株式会社東芝 | Management device, method, and program |
JP7086873B2 (en) | 2019-01-18 | 2022-06-20 | 株式会社東芝 | Management equipment, methods and programs |
JP7533923B2 (en) | 2020-05-22 | 2024-08-14 | Necソリューションイノベータ株式会社 | Information processing device, information management method and program |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7418453B2 (en) | Updating a data warehouse schema based on changes in an observation model | |
US7861227B2 (en) | Software development environment with design specification validation tool | |
US8180732B2 (en) | Distributing data in master data management systems | |
US7099887B2 (en) | Hierarchical environments supporting relational schemas | |
US8490054B2 (en) | Software and related software tracking during software modification | |
US9582253B2 (en) | Expression editor system | |
US8271520B1 (en) | Expression editor tool | |
US20160217423A1 (en) | Systems and methods for automatically generating application software | |
CA2457878A1 (en) | Project modelling and management tool | |
US20230045235A1 (en) | Trusted application release architecture and dashboard | |
US8244644B2 (en) | Supply chain multi-dimensional serial containment process | |
US8606762B2 (en) | Data quality administration framework | |
US7707559B2 (en) | Analysis of errors within computer code | |
Melzer et al. | Model-based development of a federated database infrastructure to support the usability of cross-domain information systems | |
JP2006221316A (en) | Project management system | |
US20070156742A1 (en) | Visual modeling method and apparatus | |
JP5336906B2 (en) | Design process management device | |
JP6665637B2 (en) | Program creation support system | |
JP5243908B2 (en) | Computer system, method and computer program for verifying model quality | |
JP5820324B2 (en) | Design support system, design support method and program | |
US20240320606A1 (en) | Stream based framework for associating logistics documents using correlation features | |
Ondik et al. | Activity-based model synchronization and defects detection for small teams | |
JP2007264937A (en) | Program transfer control system and method and program | |
Kemmo | Development of Electronic Component Life Cycle Management Tool for Automated Data Integration Processes Between Heterogeneous Databases | |
DE SILVA | Sales and inventory management system for imperial auto care |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Application deemed to be withdrawn because no request for examination was validly filed |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20080513 |