JPH08194610A - Software designing method and program structure - Google Patents

Software designing method and program structure

Info

Publication number
JPH08194610A
JPH08194610A JP655895A JP655895A JPH08194610A JP H08194610 A JPH08194610 A JP H08194610A JP 655895 A JP655895 A JP 655895A JP 655895 A JP655895 A JP 655895A JP H08194610 A JPH08194610 A JP H08194610A
Authority
JP
Japan
Prior art keywords
message
input
input waiting
objects
software
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.)
Pending
Application number
JP655895A
Other languages
Japanese (ja)
Inventor
Yutaka Shirai
豊 白井
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.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co Ltd
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 Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP655895A priority Critical patent/JPH08194610A/en
Publication of JPH08194610A publication Critical patent/JPH08194610A/en
Pending legal-status Critical Current

Links

Abstract

PURPOSE: To easily design a software while keeping the validity of object orientation by deciding the behaviors of respective objects after a message between a decided input waiting control object and the respective objects is decided. CONSTITUTION: When the specification of an object to be provided for the software and the hierarchical relation of objects are decided based on a rough specification, the input waiting control object for controlling all the input waiting states from an operator included in this rough specification is decided. Next, the message to be transmitted from the input waiting control object to the respective objects is decided and the message to be transmitted after this message is received by each object is decided by referring to the specification of respective objects. When all the messages are decided by these two stages of message deciding work, while referring to the specification of respective objects, the behaviors of respective objects after the reception of the message are decided.

Description

【発明の詳細な説明】Detailed Description of the Invention

【0001】[0001]

【産業上の利用分野】本発明は、ソフトウェアの設計を
効果的に行なえるオブジェクト指向型のソフトウェアの
設計方法及びプログラム構造に関するものである。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to an object-oriented software design method and a program structure for effectively designing software.

【0002】[0002]

【従来の技術】近年、ソフトウェアの設計を行うにあた
って、ソフトウェアの構成要素をオブジェクトとして設
計することで、より高能率なソフトウェアを設計する設
計方法(オブジェクト指向型設計方法)が注目をあびつ
つある。オブジェクトとは、「なにをするか」というw
hat−to−doの動作指示のみによって挙動するソ
フトウェアの構成要素である。このようなオブジェクト
によって構成されたソフトウェアシステムは、モジュー
ル性が非常に高く、再利用性をも有する。尚、上記の
「なにをするか」というwhat−to−doの動作指
示はメッセージと称される。また、メッセージによる動
作指示が与えられた場合の各オブジェクトの挙動は、
「メソッド」とも称される。
2. Description of the Related Art In recent years, in designing software, a design method (object-oriented design method) for designing software with higher efficiency by designing software components as objects has been attracting attention. An object is a w that says "what to do"
It is a component of software that behaves only by a hat-to-do operation instruction. The software system composed of such objects has extremely high modularity and also has reusability. The above-mentioned what-to-do operation instruction “what to do” is called a message. Also, the behavior of each object when an operation instruction by message is given,
Also called a “method”.

【0003】尚、オブジェクト指向については、以下の
文献に詳細が記載されている。 Rumbaugh,J.,Blaha,M.,Prem
erlani,W.,Eddy,F.andLoren
sen,W.の著による「Object−Orient
edModelingandDesign,Prent
ice−Hall」(出版Prentice−Hal
l) 「羽生田監訳:オブジェクト指向方法論(OMT)」
(トッパン出版 上記著書の邦訳書) 近年盛んに利用されているワードプロセッサ、グラフィ
ックエディタ等の対話型編集システムは出荷後の仕様変
更、メンテナンスの頻度が特に高いので、上記のオブジ
ェクト指向での設計が望まれる。オブジェクト指向型の
対話型編集システムの各オブジェクトがどのように動作
するかを、ワードプロセッサの複写機能を一例に挙げ
て、簡単に説明する。図18は、当該複写機能におい
て、各オブジェクトがどのようにメッセージを送受する
かを示した事象トレース図である。
Details of the object orientation are described in the following documents. Rumbaugh, J. et al. Blaha, M .; , Prem
erlani, W .; , Eddy, F .; and Loren
sen, W.S. By "Object-Orient"
edModelingandDesign, Prent
ice-Hall "(published Prentice-Hal
l) "Translated by Hanyuda: Object-Oriented Methodology (OMT)"
(Toppan Publishing Japanese translation of the above book) Since interactive editing systems such as word processors and graphic editors, which have been actively used in recent years, are frequently subject to specification changes and maintenance after shipment, the above object-oriented design is desirable. Be done. How each object of the object-oriented interactive editing system operates will be briefly described by taking a copying function of a word processor as an example. FIG. 18 is an event trace diagram showing how each object sends and receives a message in the copy function.

【0004】本図において、「カーソルオブジェクト」
「メニューオブジェクト」等の文字列が付された縦軸方
向の破線はオブジェクトを示す。また「機能キー入力を
待つイベントループ」等の文字列が付された破線の矢印
は入力待ちのイベントループを示す。入力待ちのイベン
トループとは、操作者がキー入力を行ったという事象を
待つための、各オブジェクトの処理をいう。更に『「複
写」キーが入力される。』等の文字列が付された一点鎖
線の矢印は入力事象を示す。本明細書における入力とは
操作者が本ワードプロセッサに対して行ったキー入力を
示し、入力事象とは、操作者がキー入力を行ったという
事象(イベント)を示す。
In the figure, "cursor object"
A vertical broken line with a character string such as "menu object" indicates an object. Further, a dashed arrow with a character string such as "event loop waiting for function key input" indicates an event loop waiting for input. The input-waiting event loop refers to the processing of each object to wait for the event that the operator inputs a key. Further, the "copy" key is input. An arrow of a one-dot chain line with a character string such as “” indicates an input event. The input in the present specification indicates a key input made by the operator to the word processor, and the input event indicates an event (event) that the operator makes a key input.

【0005】更に『カーソル移動のイベントループを開
始させる。』等の文字列が付された実線の矢印はメッセ
ージを示す。本図における矢印を上から順に追ってゆく
と、「機能キー入力を待つイベントループ」のイベント
ループb4が行われた後に、「複写キーが入力される」
の入力事象が生じることがわかる。このように入力事象
が生じると、メニュ−オブジェクトは、「カーソル移動
のイベントループを開始させる」メッセージb7と、
「始点位置を指定するためのイベントループを開始させ
る」メッセージb10とを送信している。このように送
信されたメッセージを受信すると、カーソルオブジェク
トは「カーソル移動キー入力を待つイベントループ」イ
ベントループb1を行い、文字列型領域オブジェクトは
「実行キー入力を待つイベントループ」イベントループ
b5を行う。このループ処理の実行中に、操作者がカー
ソルを移動し、また、「実行」キーを入力すると、カー
ソルオブジェクトは『カーソルを移動する。』の入力事
象b12を受信し、文字列型領域オブジェクトは『「実
行」キーが入力される。』の入力事象b13を受信す
る。『「実行」キーが入力される。』の入力事象b13
を受信すると、文字列型領域オブジェクトは、『カーソ
ル移動のイベントループを継続させる』メッセージb8
をカーソルオブジェクトに送信し、カーソルオブジェク
トに「カーソル移動キー入力を待つイベントループ」イ
ベントループb2を継続させる。また、文字列型領域オ
ブジェクト自身も、「実行キー入力を待つイベントルー
プ」イベントループb3を引き続き行う。
Further, "The cursor movement event loop is started. A solid arrow with a character string such as “” indicates a message. When the arrows in this figure are followed in order from the top, "copy key is input" after the event loop b4 of "event loop waiting for function key input" is performed.
It can be seen that the input event of When an input event occurs in this way, the menu object displays a message "b7: start cursor movement event loop",
A message b10 “starting an event loop for designating a starting point position” is transmitted. When the message transmitted in this way is received, the cursor object executes an "event loop waiting for cursor movement key input" event loop b1, and the character string type area object executes an "event loop waiting for execution key input" event loop b5. . When the operator moves the cursor during execution of this loop processing and also inputs the "execute" key, the cursor object "moves the cursor." The input event b12 of “” is received, and the “execute” key is input to the character string type area object. Of the input event b13 ”. "Enter" key is entered. Input event b13
Upon receiving the message, the character string type area object causes the message "b8" to continue the event loop of cursor movement.
Is sent to the cursor object, and the cursor object is caused to continue the “event loop waiting for cursor movement key input” event loop b2. Further, the character string type area object itself also continues the "event loop waiting for execution key input" event loop b3.

【0006】以上の説明から、各オブジェクトは、「ど
うやってなにをするか」の「どうやって」の部分を指示
されずに「なにをするか」の部分を指示されて挙動する
ことがわかる。各オブジェクトが「どうやって」の部分
を指示されずに挙動することで、ソフトウェアシステム
のモジュール性が高められている。
From the above description, it can be seen that each object behaves by being instructed in the "what to do" portion of the "how to do" portion without being instructed in the "how" portion. The modularity of the software system is enhanced by the fact that each object behaves without being instructed on the "how" part.

【0007】[0007]

【発明が解決しようとする課題】しかしながらオブジェ
クト指向によって、対話型編集システムを設計しようと
する場合、どのオブジェクトにどのような入力待ち処理
を分担させるかが決定しづらく、最適な分担を考えるの
に、設計が手間取ってしまうという問題点があった。
However, when designing an interactive editing system by object orientation, it is difficult to decide which object and what input waiting process is to be assigned, and it is necessary to consider an optimal assignment. However, there was a problem that the design took time.

【0008】また、入力待ち処理をメッセージの送信に
よって制御する必要があるため、どのようなメッセージ
をどのオブジェクトに与えてやるかを設計しなくてはな
らなず、多種多様な制御用のメッセージを決定段階で定
義してやる必要があり、この定義のため、システムの設
計が非常に難しくなってしまうといった問題点があっ
た。
Further, since it is necessary to control the input waiting process by sending a message, it is necessary to design what kind of message is to be given to which object, and various kinds of control messages are required. It was necessary to define it at the decision stage, and this definition made the system design very difficult.

【0009】上記図18には、カーソルオブジェクトが
行う『カーソル移動キー入力を待つイベントループ』イ
ベントループb1、b2、b3と、メニュ−オブジェク
トが行う『機能キー入力を待つイベントループ』イベン
トループb4と、文字列型領域オブジェクトが行う
『「実行」キー入力を待つイベントループ』イベントル
ープb5と、文書バッファオブジェクトが行う『「実
行」キー入力を待つイベントループ』イベントループb
6といったイベントループが存在する。
In FIG. 18, there are an "event loop waiting for cursor movement key input" event loops b1, b2, b3 performed by the cursor object and an "event loop waiting for function key input" event loop b4 performed by the menu object. , "Event loop waiting for" execution "key input" performed by the character string area object b5 and "event loop waiting for" execution "key input performed by the document buffer object" event loop b "
There is an event loop such as 6.

【0010】また本図には、『カーソル移動のイベント
ループを開始させる』メッセージb7、『カーソル移動
のイベントループを継続させる』メッセージb8、『始
点位置を指定するためのイベントループを開始させ
る。』メッセージb9、『複写先を指定するためのイベ
ントループを開始させる。』メッセージb10といっ
た、イベントループを他オブジェクトに行わせるための
メッセージが存在する。
Further, in this figure, a message "b7 to start an event loop of cursor movement", a message "b8 to continue an event loop of cursor movement" b8, and an event loop for designating a starting point position are started. Message b9, "start an event loop for specifying the copy destination." ] There is a message such as the message b10 for causing another object to perform an event loop.

【0011】以上の多種多様のイベントループ及びイベ
ントループ制御用のメッセージを、どのオブジェクトに
担わせるかを設計者に委ねるのは、設計者の負担を増大
させることになり、強いてはソフトウェアの開発効率を
落としてしまう結果となる。本発明は上記問題点に鑑
み、オブジェクト指向の有用性を保ちつつも、より容易
にオブジェクト指向型のソフトウェアを設計できる設計
方法、及び、より容易に設計が行えるオブジェクト指向
型のプログラム構造を提供することを目的とする。
It is a burden on the designer to entrust the designer with which object is to be responsible for the above-mentioned various kinds of event loops and messages for controlling the event loop, which in turn increases the software development efficiency. Will result in dropping. In view of the above problems, the present invention provides a design method that can more easily design object-oriented software while maintaining the usefulness of object-oriented software, and an object-oriented program structure that can be designed more easily. The purpose is to

【0012】[0012]

【課題を解決するための手段】上記目的を達成するため
に請求項1のソフトウェア設計方法は、対話型編集シス
テムの動作状態の遷移を列挙した概略仕様に基づいて、
当該システムに搭載されるソフトウェアが具備すべきオ
ブジェクト、メッセージ、及びオブジェクトの挙動を設
計するソフトウェア設計方法であって、概略仕様に基づ
いて、ソフトウェアが具備すべきオブジェクトの仕様、
及び、オブジェクト同士の階層関係を決定するオブジェ
クト決定ステップと、概略仕様に含まれる操作者からの
全ての入力待ち状態を制御するための入力待ち制御オブ
ジェクトを決定する入力待ち制御オブジェクト決定ステ
ップと、入力待ち制御オブジェクトがオブジェクト決定
ステップで決定された各オブジェクトに送信すべきメッ
セージを、各オブジェクトの仕様を参照して決定する第
1のメッセージ決定ステップとオブジェクト決定ステッ
プで決定された各オブジェクトが、第1のメッセージ決
定ステップで決定されたメッセージを受信した後に送信
すべきメッセージを、各オブジェクトの仕様を参照して
決定する第2のメッセージ決定ステップと、第1のメッ
セージ決定ステップで決定されたメッセージを受信した
後の、各オブジェクトの挙動を各オブジェクトの仕様を
参照して決定する挙動決定ステップと、を備えることを
特徴としている。
In order to achieve the above object, a software designing method according to a first aspect of the present invention is based on a general specification enumerating transitions of operating states of an interactive editing system.
A software design method for designing objects, messages, and behaviors of objects that the software installed in the system should have, wherein the specifications of the objects that the software should have, based on general specifications,
An object deciding step for deciding a hierarchical relationship between the objects, an input waiting control object deciding step for deciding an input waiting control object for controlling all input waiting states from an operator included in the general specification, The waiting control object determines a message to be transmitted to each object determined in the object determining step by referring to the specification of each object, and the first message determining step and each object determined in the object determining step are Second message determining step of determining the message to be transmitted after receiving the message determined in the message determining step of step 1 and receiving the message determined in the first message determining step Each object after Is characterized by comprising a behavior decision step of bets behavior is determined with reference to the specifications of each object, the.

【0013】また、請求項2において、オブジェクト決
定ステップは、それぞれのオブジェクトの継承関係を表
した木構造図を作図する木構造図作図サブステップを有
し、入力待ち制御オブジェクト決定ステップは、木構造
図作図サブステップによって作図された木構造図におい
て何れのオブジェクトの継承関係にならない位置に、入
力待ち制御オブジェクトを配置することを特徴としてい
る。
In the second aspect, the object determining step has a tree structure drawing sub-step for drawing a tree structure diagram representing the inheritance relationship of each object, and the input waiting control object determining step is the tree structure It is characterized in that the input waiting control object is arranged at a position where there is no inheritance relation of any object in the tree structure diagram drawn by the drawing sub-step.

【0014】また、請求項3において、第1のメッセー
ジ決定ステップは、オブジェクト間のメッセージの送受
信を表したトレース図を作図するトレース図作図ステッ
プを有し、トレース図作図ステップは、入力待ち制御オ
ブジェクト決定ステップで決定された入力待ち制御オブ
ジェクトを配置し、当該入力待ち制御オブジェクトの配
置位置の隣から階層順に、オブジェクト決定ステップで
決定された各オブジェクトを配置するオブジェクト配置
サブステップと、入力待ち制御オブジェクトが各オブジ
ェクトに送信すべきメッセージを、オブジェクト配置サ
ブステップで配置されたオブジェクト間に配置するメッ
セージ配置サブステップとからなり、第2のメッセージ
決定ステップは、オブジェクト決定ステップで決定され
た各オブジェクトがメッセージ配置サブステップで配置
されたメッセージを受信した後に送信するメッセージ
を、トレース図作図ステップで作図されたトレース図に
配置するを備えることを特徴としている。
Further, in claim 3, the first message determining step has a trace drawing step for drawing a trace drawing showing the transmission and reception of messages between objects, and the trace drawing step comprises the input waiting control object. An object placement sub-step in which the input waiting control object determined in the determination step is arranged, and the objects determined in the object determination step are arranged in hierarchical order from the position next to the position of the input waiting control object, and the input waiting control object. A message placement substep for placing a message to be sent to each object between the objects placed in the object placement substep, and the second message decision step is for each object decided in the object decision step. The message to send a message arranged in a message placed substep after receiving, it is characterized in that it comprises placing the trace view after drawing the trace diagram plotting step.

【0015】また、請求項4において、概略仕様中の入
力待ち状態には、操作者によって条件が入力されるもの
が存在し、第2のメッセージ決定ステップは、条件が入
力される入力待ち状態の個々の条件に対応しているメッ
セージを、まとめて配置することを特徴としている。請
求項3記載のソフトウェア設計方法。
Further, in claim 4, in the input waiting state in the general specification, there is one in which a condition is input by the operator, and the second message determining step is in the input waiting state in which the condition is input. The feature is that messages corresponding to individual conditions are collectively arranged. The software design method according to claim 3.

【0016】また、請求項5において、メッセージ配置
サブステップでまとめて配置されたそれぞれのメッセー
ジは、上位の階層と継承関係にある階層のそれぞれのオ
ブジェクトを送信先とすることを特徴としている。ま
た、請求項6において、挙動決定ステップは、第1のメ
ッセージ決定ステップで決定されたメッセージを受信し
た後の、オブジェクト決定ステップで決定された各オブ
ジェクトの挙動を、トレース図作図ステップで作図され
たトレース図中のメッセージの受信時に相当する箇所に
配置することを特徴としている。
Further, in claim 5, the respective messages collectively arranged in the message arrangement sub-step are characterized in that the respective objects of the hierarchy having an inheritance relationship with the upper hierarchy are the transmission destinations. Further, in claim 6, in the behavior determining step, the behavior of each object determined in the object determining step after receiving the message determined in the first message determining step is plotted in the trace drawing step. It is characterized in that it is placed at a position corresponding to the time of receiving a message in the trace diagram.

【0017】また、請求項7において、オブジェクト指
向型のプログラム構造であって、複数個のオブジェクト
の1つは、操作者の入力待ち事象の全てを管理している
入力待ち管理オブジェクトであり、その他のオブジェク
トは、入力待ち管理オブジェクトのメッセージに基づ
く、挙動を行うオブジェクトであることを特徴としてい
る。
According to a seventh aspect of the present invention, in the object-oriented program structure, one of the plurality of objects is an input waiting management object that manages all input waiting events of the operator. Is characterized by being an object that behaves based on the message of the input waiting management object.

【0018】[0018]

【作用】請求項1によれば、ソフトウェアが具備すべき
オブジェクトの仕様、及び、オブジェクト同士の階層関
係がオブジェクト決定ステップによって、概略仕様に基
づいて決定される。このように、仕様、階層関係が決定
されると、概略仕様に含まれる操作者からの全ての入力
待ち状態を制御するための入力待ち制御オブジェクト
が、入力待ち制御オブジェクト決定ステップによって決
定される。この入力待ち制御オブジェクトは、操作者か
らの全ての入力を受け付けるため、設計者は、どのオブ
ジェクトにどのような入力待ち処理を分担させるかを判
断しなくてもよい。
According to the first aspect of the invention, the specifications of the objects that the software should have and the hierarchical relationship between the objects are determined by the object determining step based on the general specifications. When the specifications and hierarchical relationships are determined in this way, the input waiting control object determining step for determining all input waiting states from the operator included in the general specifications is determined in the input waiting control object determining step. Since this input waiting control object receives all input from the operator, the designer does not have to determine which object is to be assigned what input waiting process.

【0019】入力待ち制御オブジェクトが各オブジェク
トに送信すべきメッセージが、第1のメッセージ決定ス
テップによって決定される。決定後、各オブジェクトが
当該メッセージを受信した後に送信すべきメッセージ
が、各オブジェクトの仕様が参照されることで第2のメ
ッセージ決定ステップによって決定される。メッセージ
の決定がこれらの作業で済むので、このようにどのよう
なメッセージをどのオブジェクトに与えてやるかの設計
が大きく簡略化される。
The message that the input waiting control object should send to each object is determined by the first message determination step. After the determination, the message to be transmitted after each object receives the message is determined by the second message determination step by referring to the specification of each object. Since the determination of the message is performed by these operations, the design of what message is given to which object is greatly simplified.

【0020】以上の2段階のメッセージ決定作業で、メ
ッセージが全て決定されると、挙動決定ステップによっ
て、メッセージを受信した後の各オブジェクトの挙動が
各オブジェクトの仕様が参照されることで決定される。
また、請求項2によればそれぞれのオブジェクトの継承
関係を表した木構造図が、木構造図作図サブステップに
よって作図される。木構造図作図サブステップによって
作図された木構造図において何れのオブジェクトの継承
関係にならない位置に、入力待ち制御オブジェクト決定
ステップによって、入力待ち制御オブジェクトが配置さ
れる。このような位置に入力待ち制御オブジェクトが配
置されれば、オブジェクト指向における継承関係を損な
わないように、入力待ち制御オブジェクトを定義でき
る。
When all the messages have been decided in the above two-step message decision work, the behavior decision step decides the behavior of each object after receiving the message by referring to the specification of each object. .
According to the second aspect, the tree structure diagram representing the inheritance relationship of each object is constructed by the tree structure diagram constructing sub-step. In the input waiting control object determining step, the input waiting control object is arranged at a position where there is no inheritance relationship of any object in the tree structure drawing constructed by the tree structure drawing substep. If the input waiting control object is arranged in such a position, the input waiting control object can be defined so as not to impair the inheritance relationship in object orientation.

【0021】また、請求項3によれば第1のメッセージ
決定ステップによって、オブジェクト間のメッセージの
送受信が表したトレース図が作図される。入力待ち制御
オブジェクト決定ステップで決定された入力待ち制御オ
ブジェクトがオブジェクト配置サブステップによって配
置され、当該入力待ち制御オブジェクトの配置位置の隣
から階層順に、オブジェクト決定ステップで決定された
各オブジェクトが配置される。入力待ち制御オブジェク
トが各オブジェクトに送信すべきメッセージが、メッセ
ージ配置サブステップによってオブジェクト配置サブス
テップで配置されたオブジェクト間に配置される。この
ように配置されたメッセージは、階層順に段差をなし、
送信先のオブジェクトが、上位から下位へと移り変わっ
てゆくようになる。
According to the third aspect of the present invention, the trace diagram showing the transmission / reception of the message between the objects is drawn by the first message determining step. The input-waiting control object determined in the input-waiting control object determining step is placed in the object placement sub-step, and each object determined in the object determining step is placed in hierarchical order from the position next to the input-waiting control object. . The message that the input waiting control object should send to each object is arranged by the message arrangement substep between the objects arranged in the object arrangement substep. The messages arranged in this way form a step in the hierarchical order,
The destination object will change from higher to lower.

【0022】また、請求項4によれば条件が入力される
入力待ち状態の個々の条件に対応しているメッセージ
が、第2のメッセージ決定ステップによって、まとめて
配置される。このようにまとめて配置することで、複数
の事象トレース図を描かなくても、一つの事象トレース
図で、多岐に渡る事象の遷移を明確にできる。
According to the fourth aspect, the messages corresponding to the individual conditions in the input waiting state in which the conditions are input are collectively arranged by the second message determining step. By arranging them collectively in this way, it is possible to clarify transitions of a wide variety of events in one event trace diagram without drawing a plurality of event trace diagrams.

【0023】また、請求項5によればメッセージ配置サ
ブステップでまとめて配置されたそれぞれのメッセージ
は、上位の階層と継承関係にある階層のそれぞれのオブ
ジェクトが送信先とされる。それぞれのオブジェクトが
送信先となることで、継承関係が明確になるように、メ
ッセージが配置される。
According to the fifth aspect of the present invention, the messages placed in the message placement sub-step are sent to the respective objects in the hierarchy that has an inheritance relationship with the upper hierarchy. Messages are arranged so that the inheritance relationship becomes clear by making each object a destination.

【0024】また、請求項6によれば第1のメッセージ
決定ステップで決定されたメッセージが受信した後のオ
ブジェクト決定ステップで決定された各オブジェクトの
挙動が、トレース図作図ステップで作図されたトレース
図中のメッセージの受信時に相当する箇所に配置され
る。このように、トレース図にメソッドを配置すること
で、メッセージの送受とメソッドの対応が明確になる。
According to the sixth aspect, the behavior of each object determined in the object determining step after the message determined in the first message determining step is received is traced in the trace drawing step. It is placed at a position corresponding to the reception of the inside message. In this way, by arranging the methods in the trace diagram, the correspondence between the sending and receiving of messages and the methods becomes clear.

【0025】また、請求項7によれば入力待ち管理オブ
ジェクトによって、操作者の入力待ち事象の全てが管理
される。その他のオブジェクトによって、入力待ち管理
オブジェクトのメッセージに基づく、挙動が行われる。
このように、操作者の入力待ち事象の全てが入力待ち管
理オブジェクトに統合されることで、入力待ちに関する
出荷後の仕様変更、メンテナンスは、この入力待ち管理
オブジェクトに対する修正のみで済む。
According to the seventh aspect, the input waiting management object manages all input waiting events of the operator. The behavior based on the message of the input waiting management object is performed by other objects.
In this way, all the input waiting events of the operator are integrated into the input waiting management object, so that specification changes and maintenance after shipment regarding the input waiting can be made only by modifying the input waiting management object.

【0026】[0026]

【実施例】以降、図面を参照しながらソフトウェア設計
方法の実施例を説明してゆく。先ず、対話型編集システ
ムの一例として、ワードプロセッサの構成を説明する。
図16は、ワードプロセッサのハードウェア構成を一例
を示した図である。ワードプロセッサ10は、図16に
示すように、キーパンチによる文字コード入力、及び、
カーソル位置の指示を受け付けるキーボード1と、当該
文字コード入力によって入力された文字コードを蓄積す
るテキストバッファ2と、テキストバッファの1頁分の
内容を表示するディスプレィ3と、各文字コードの表示
用のビットマップパタンを記憶する表示用フォントRO
M4と、蓄積された一群の文字コードを文書として記憶
するハードディスク5と、当該ワードプロセッサのアプ
リケ−ションプログラムを記憶するRAM6と、アプリ
ケ−ションプログラムの各ステップを逐一実行するCP
U7とからなる。
Embodiments of the software design method will be described below with reference to the drawings. First, the configuration of a word processor will be described as an example of an interactive editing system.
FIG. 16 is a diagram showing an example of the hardware configuration of the word processor. As shown in FIG. 16, the word processor 10 uses a key punch to input a character code, and
A keyboard 1 for receiving a cursor position instruction, a text buffer 2 for accumulating the character code input by the character code input, a display 3 for displaying the contents of one page of the text buffer, and a display for each character code. Display font RO that stores bitmap patterns
M4, hard disk 5 for storing a group of accumulated character codes as a document, RAM 6 for storing the application program of the word processor, and CP for executing each step of the application program
It consists of U7.

【0027】図17は、上述したアプリケ−ションプロ
グラムの概要を示すフロ−チャ−トである。本フロ−チ
ャ−トにおいて、アプリケ−ションプログラムは、操作
者による文書呼出、キーパンチ、カーソルキー押下、複
写機能の選択が行われたかを監視している(ステップK
1、K6、K8、K10)。操作者のキー入力によって
文書呼出が指定されると(ステップK1)、アプリケ−
ションプログラムは、ハードディスクに記憶されている
文書の一覧を表示し(ステップK2)、所望文書を選択
させ(ステップK3、K4)、選択された文書をテキス
トバッファに読み出す(ステップK5)。キーパンチが
行われると(ステップK6)、入力された文字コードを
テキストバッファ2に蓄積する(ステップK7)。カー
ソルキーが押下されると(ステップK8)、テキストバ
ッファ2中のカーソル位置を変更する(ステップK
9)。複写機能が選択されると(ステップK10)、複
写機能プログラムを実行し、文字列の複写を行う(ステ
ップK11)。ワードプロセッサが行う処理には他にも
多種多様なものが存在するが、これらは本願の主眼では
ないので説明を省略する。
FIG. 17 is a flow chart showing the outline of the above-mentioned application program. In this flowchart, the application program monitors whether the operator has called a document, pressed a key, pressed a cursor key, or selected a copy function (step K).
1, K6, K8, K10). When the document call is designated by the key input of the operator (step K1), the application
The application program displays a list of documents stored in the hard disk (step K2), selects a desired document (steps K3 and K4), and reads the selected document into the text buffer (step K5). When key punching is performed (step K6), the input character code is stored in the text buffer 2 (step K7). When the cursor key is pressed (step K8), the cursor position in the text buffer 2 is changed (step K).
9). When the copy function is selected (step K10), the copy function program is executed to copy the character string (step K11). There are various other types of processing performed by the word processor, but these are not the main subject of the present application, and therefore description thereof is omitted.

【0028】<アプリケ−ションプログラムの開発工程
の説明>以上のようなアプリケ−ションプログラムが如
何に開発されるかを説明してゆく。図1は、ソフトウェ
アの開発工程の全容を示すフロ−チャ−トである。ステ
ップm1は分析工程であり、作成すべきアプリケ−ショ
ンプログラムがどういった性能を具備すべきかを分析
し、作成すべきアプリケ−ションプログラムの概略仕様
を決定する。
<Description of Application Program Development Process> How the above application program is developed will be described. FIG. 1 is a flowchart showing the entire process of software development. Step m1 is an analysis process, which analyzes what kind of performance the application program to be created should have, and determines the general specifications of the application program to be created.

【0029】ステップm2は設計工程であり、作成すべ
きアプリケ−ションプログラムにどのような機能を持た
せるかを決定して、オブジェクト、メッセージ、メソッ
ドを定義してゆく。ステップm3は、製造工程であり、
設計工程での設計結果に基づき、コーディング、コンパ
イル、リンク、デバッグ(単体デバッグ)を行い、実行
可能なプログラム(実行プログラム)を作成する。
Step m2 is a designing process, in which it is determined what kind of function the application program to be created has, and objects, messages and methods are defined. Step m3 is a manufacturing process,
Coding, compilation, linking, and debugging (single debugging) are performed based on the design result in the design process to create an executable program (execution program).

【0030】ステップm4は、テスト工程であり、製造
されたソフトウェアをハードウェア上で動作させ、仕様
との整合を最終確認する。 <ソフトウェア設計工程の説明>図1に示したソフトウ
ェア設計工程(ステップm2)の詳細について、図面を
参照しながら説明を行う。本設計工程のフロ−チャ−ト
を図2及び図3に示す。以降これらのフロ−チャ−トを
参照しながら、本実施例に係るソフトウェア設計方法の
説明を行う。尚、本実施例での設計対象は、先に述べた
複写機能プログラムとし、本複写機能プログラムは、図
16の構成図に示したハードウェアに適用されるものと
する。ここで設計者には、分析工程(図1に示したステ
ップm1)で作成された概略仕様が与えられている。概
略仕様とは、ソフトウェアの動作状態が、どのような事
象によってどう遷移してゆくかを列挙したものである。
複写機能を実現するための概略仕様についての説明図を
図4に示す。
Step m4 is a test process, in which the manufactured software is operated on the hardware to finally confirm the conformity with the specifications. <Description of Software Design Process> Details of the software design process (step m2) shown in FIG. 1 will be described with reference to the drawings. The flow chart of this design process is shown in FIGS. The software design method according to this embodiment will be described below with reference to these flowcharts. Note that the design target in this embodiment is the above-mentioned copy function program, and this copy function program is applied to the hardware shown in the configuration diagram of FIG. Here, the designer is given the general specifications created in the analysis process (step m1 shown in FIG. 1). A general specification is a list of what kind of events cause the operating state of software to transition.
FIG. 4 shows an explanatory diagram of the outline specifications for realizing the copy function.

【0031】図中の『「複写」キーが入力される。』、
『領域のタイプ(文字列型、行型、領域型)を選択する
メニューが、編集画面上に表示される。』、『領域のタ
イプが選択される。』は、スクリプトと称され、複写機
能の動作状態を示している。各スクリプトに付された
「1.」、「2.」、「3.」といった数値は時系列的
な順位を示している。
The "copy" key in the figure is input. ],
"A menu for selecting the area type (character string type, line type, area type) is displayed on the edit screen. ], “Area type is selected. ] Is called a script and indicates the operating state of the copy function. Numerical values such as “1.”, “2.”, and “3.” attached to each script indicate a time-series ranking.

【0032】ステップS1において、設計者は概略仕様
から全てのオブジェクトを抽出し、当該オブジェクトの
メソッドを定義する。図4の概略仕様では、文書が処理
されているから、本システムには文書編集のオブジェク
トが必要である。また、文書編集を行うためには、文書
内容を扱う文書バッファのオブジェクトが必要である。
またこの文書バッファオブジェクトには、「複写する」
「複写先を調べる」といった機能が必要であるから、
《複写する》《複写先を調べる》といったメソッドを定
義する。これらのメソッドは、文書内容を扱う必要があ
るから、文書内容といった属性(属性とはそのメソッド
で扱う変数や値に該当する。)を定義する。
In step S1, the designer extracts all the objects from the general specifications and defines the method of the object. In the general specifications of FIG. 4, since the document is processed, this system requires a document editing object. In addition, in order to edit a document, an object of a document buffer that handles document contents is required.
In addition, "copy" to this document buffer object
Since a function such as "check the copy destination" is required,
Define methods such as << copy >><< check copy destination >>. Since these methods need to handle document contents, attributes such as document contents (attributes correspond to variables and values handled by the method) are defined.

【0033】また概略仕様には、「文書を表示する。」
といった事象が存在するから、文書を表示するための編
集画面のオブジェクトを抽出する。この編集画面のオブ
ジェクトには、「表示する」といった機能が必要である
から、《表示する》というメソッドを編集画面のオブジ
ェクトに定義する。この《表示する》というメソッドに
は、「どこに表示を行う」といった項目が必要であるか
ら、表示位置という属性を編集画面のオブジェクト内に
定義する。以上のような抽出、定義を繰り返し、図4の
概略仕様からは、「文書編集」、「文書バッファ」、
「領域」、「文字型領域」、「行型領域」、「箱型領
域」、「編集画面」「メニュー」および「カーソル」と
いったオブジェクトを抽出する。
Further, the general specifications include "Display document."
Since there is such a phenomenon, the object of the edit screen for displaying the document is extracted. Since the object of this edit screen needs a function such as "display", a method "display" is defined for the object of the edit screen. Since the method "display" requires an item such as "where to display", an attribute called display position is defined in the object of the edit screen. The above extraction and definition are repeated, and from the schematic specifications of FIG. 4, "document edit", "document buffer",
Objects such as “area”, “character area”, “line area”, “box area”, “edit screen”, “menu”, and “cursor” are extracted.

【0034】<オブジェクトモデル図の作図>ステップ
S2において、図5に示すようなオブジェクトモデルを
作図する。オブジェクトモデルとは、オブジェクトのク
ラス間の継承関係、集約関係を示した木構造図である。
オブジェクトモデルの作図は、ステップS1で抽出され
たオブジェクトをツリー状に配置し、各オブジェクトの
メソッド、属性を示す文字列を書き込んで、各オブジェ
クト間に継承関係、集約関係を示す記号を配置すること
で行われる。
<Drawing of Object Model Diagram> In step S2, an object model as shown in FIG. 5 is drawn. The object model is a tree structure diagram showing inheritance relationships and aggregation relationships between classes of objects.
To draw the object model, arrange the objects extracted in step S1 in a tree shape, write the character strings indicating the methods and attributes of each object, and arrange the symbols indicating the inheritance relationship and the aggregation relationship between the objects. Done in.

【0035】図中の記号「▲」は継承関係を示す。本図
では、「領域」オブジェクトを継承する下位クラスのオ
ブジェクトとして、「文字型領域」、「行型領域」およ
び「箱型領域」の各オブジェクトを規定していることを
示す。また言い換えると、「文字型領域」、「行型領
域」および「箱型領域」の各オブジェクトの上位クラス
として「領域」オブジェクトを規定している。この場
合、下位クラスは上位クラスに属する属性およびメソッ
ドを継承している。
The symbol "▲" in the figure indicates an inheritance relationship. In the figure, it is shown that the objects of the "character type area", the "line type area" and the "box type area" are defined as the objects of the lower class inheriting the "area" object. In other words, the "area" object is defined as a superclass of the "character area", the "row area", and the "box area". In this case, the lower class inherits the attributes and methods belonging to the upper class.

【0036】また記号「◇」は集約関係を示し、「文書
編集」オブジェクトは、「文書バッファ」および「編集
画面」の各オブジェクトから構成されることを示してい
る。オブジェクトの関係を記述する方法としては、図5
の「▲」「◇」は一例に過ぎず、オブジェクト間の関係
を規定できれば特に問わない。図中の四角で囲まれたも
のがオブジェクトを示す。また、四角内の「[]」、
「〈〉」、および「《》」は、それぞれ「オブジェクト
名」「属性名」および「メソッド名」に対応する。例え
ば、図中の[領域]オブジェクトは、属性〈始点〉〈終
点〉と、メソッド《始点を登録する》《終点を登録す
る》をカプセル化している。
Further, the symbol "⋄" indicates an aggregation relation, and the "document edit" object is constituted by each object of "document buffer" and "edit screen". As a method of describing the relationship between objects, refer to FIG.
The "▲" and "◇" in the above are merely examples, and are not particularly limited as long as the relationship between objects can be defined. Objects surrounded by squares in the figure represent objects. In addition, "[]" in the square,
"<>" And "<<>>" correspond to "object name", "attribute name" and "method name", respectively. For example, the [area] object in the figure encapsulates the attributes <start point><endpoint> and the method <register start point><register end point>.

【0037】<入力待ち状態制御オブジェクトの定義>
図5のオブジェクトモデル図を作図した後、ステップS
3では、設計者は、図6に示すように、文書編集オブジ
ェクトの下位クラスに入力待ち状態制御オブジェクトを
定義する。入力待ち状態制御オブジェクトとは、概略仕
様に含まれる全ての入力待ち状態を制御するためのオブ
ジェクトである。そのため、設計者は、《入力待ち状
態》といったメソッドと、〈入力待ち状態処理〉といっ
た属性とを入力待ち状態制御オブジェクトに定義する。
ここで入力待ち状態制御オブジェクトを文書編集オブジ
ェクトの下位クラスに設けたのは、入力待ち状態制御オ
ブジェクトが、何れのオブジェクトの継承関係となるこ
とを避けるためである。
<Definition of input waiting state control object>
After drawing the object model diagram of FIG. 5, step S
In 3, the designer defines an input waiting state control object in a lower class of the document edit object as shown in FIG. The input waiting state control object is an object for controlling all input waiting states included in the general specifications. Therefore, the designer defines a method such as << input waiting state >> and an attribute such as <input waiting state processing> in the input waiting state control object.
The input waiting state control object is provided in the lower class of the document edit object in order to prevent the input waiting state control object from inheriting any object.

【0038】入力待ち状態制御オブジェクトを定義した
後、ステップS4では、概略仕様から、入力事象と、入
力待ち状態とを抽出する。抽出された入力事象及び入力
待ち状態を図7に示す。 <動的モデルの作図>ステップS5では、ステップS4
で抽出された入力待ち状態を枠に囲まれた文字列として
表し、この入力待ち状態間の遷移を動的モデル図で表
す。動的モデル図とは、各オブジェクトの状態から状態
への遷移を矢印で表した図である。ステップS5におい
て作図された動的モデル図を図8に示す。ステップS5
において作図された動的モデル図を図8に示す。
After defining the input waiting state control object, in step S4, the input event and the input waiting state are extracted from the general specifications. FIG. 7 shows the extracted input event and input waiting state. <Dynamic model drawing> In step S5, step S4
The input waiting state extracted in (1) is represented as a character string surrounded by a frame, and the transition between the input waiting states is represented by a dynamic model diagram. The dynamic model diagram is a diagram in which the transition from state to state of each object is represented by an arrow. The dynamic model diagram drawn in step S5 is shown in FIG. Step S5
FIG. 8 shows a dynamic model diagram drawn in FIG.

【0039】この動的モデル図の作図は、入力待ち状態
を表した文字列を均等に配置して、配置した文字列を角
の丸い枠で囲み、囲んだものを入力待ち状態のモデルと
し、この入力待ち状態のモデル間を矢印で結び、この矢
印を入力事象のモデルとすることで行われる。本図にお
いて(1)(3)(5)(7)および(9)が付された
矢印は入力事象を示す。(2)(4)(6)および
(8)が付された枠は入力待ち状態を示す。図中の矢印
には、「複写」「実行」といった文字列が付されている
が、これは、当該入力事象によってどのようなキーコー
ドが、オブジェクトに返されるかを示している。また
(3)(5)(7)(9)で指示する、枝分かれした矢
印は、操作者による入力事象によって、入力待ち状態の
遷移先が切り換わることを示す。
In the drawing of this dynamic model diagram, the character strings representing the input waiting state are evenly arranged, the arranged character strings are surrounded by a frame with rounded corners, and the enclosed one is a model in the input waiting state. This is done by connecting the models in the input waiting state with an arrow and using this arrow as a model of the input event. In this figure, the arrows labeled (1), (3), (5), (7) and (9) indicate input events. The boxes with (2), (4), (6) and (8) indicate the input waiting state. Characters such as “copy” and “execute” are attached to the arrows in the figure, which indicate what kind of key code is returned to the object by the input event. Further, the branched arrows designated by (3), (5), (7), and (9) indicate that the transition destination of the input waiting state is switched by the input event by the operator.

【0040】尚、本図の(1)から(10)までは、図
4及び図7のスクリプトの番号に対応する。動的モデル
の記述方法は、状態間遷移を記述できるものであれば特
に問わない。 <事象トレース図の作図>ステップS6では、図6の動
的モデルに基づく、事象トレース図を作図する。事象ト
レース図とは、オブジェクト間のメッセージの送受信の
行き来を表した図である。ステップS6で作図された事
象トレース図を図9に示す。
Incidentally, (1) to (10) in this figure correspond to the script numbers in FIGS. 4 and 7. The description method of the dynamic model is not particularly limited as long as it can describe the transition between states. <Drawing of Event Trace Diagram> In step S6, an event trace diagram is drawn based on the dynamic model of FIG. The event trace diagram is a diagram showing the exchange of messages between objects. The event trace diagram drawn in step S6 is shown in FIG.

【0041】事象トレース図の作図は、各のオブジェク
トのオブジェクト名を、階層順に横方向に均等に配置
し、配置後、これらのオブジェクト名から縦方向に破線
を描き、描いた後に、これらの破線を結ぶ矢印としてメ
ッセージを配置してゆくことで行われる。図中の矢印を
順に追って、設計者がどのようにメッセージを配置して
いったかについて説明を行う。
In the drawing of the event trace diagram, the object names of the respective objects are evenly arranged in the horizontal direction in the hierarchical order, and after the arrangement, a broken line is drawn in the vertical direction from these object names. It is done by arranging messages as arrows connecting the. The arrows in the figure will be followed in order to describe how the designer arranged the messages.

【0042】先ず入力待ち状態制御オブジェクトは、イ
ベントループを行い、操作者がキー入力を行うのを待つ
必要がある。そのため、設計者は、イベントループe1
を配置する。イベントループe1が行われている間、
「複写キーが入力される」といった事象が発生すると入
力待ち状態制御オブジェクトは、複写機能についてのメ
ニュ−画面を表示させる必要がある。そのため、設計者
は、メニュ−表示を行わせるメッセージm1を、入力待
ち状態制御オブジェクトとメニュ−オブジェクトとの間
に配置する。このメッセージの送信後、入力待ち状態制
御オブジェクトは、メニュ−画面の選択結果を知る必要
がある。選択結果を知るには、入力待ち状態制御オブジ
ェクトは、「カーソルを移動する。」といった事象が発
生するのを待たせなければならない。そのため設計者
は、イベントループe2を配置する。
First, the input waiting state control object needs to perform an event loop and wait for the operator to input a key. Therefore, the designer is required to use the event loop e1.
To place. While the event loop e1 is being performed,
When an event such as "copy key is input" occurs, the input waiting state control object needs to display a menu screen for the copy function. Therefore, the designer arranges the message m1 for displaying the menu between the input waiting state control object and the menu object. After sending this message, the input wait state control object needs to know the selection result of the menu screen. In order to know the selection result, the input waiting state control object must wait for an event such as “move cursor” to occur. Therefore, the designer arranges the event loop e2.

【0043】事象「カーソルを移動する。」が発生する
と、入力待ち状態制御オブジェクトは、カーソルオブジ
ェクトに現在のカーソル位置を調べさせなければならな
い。そのため設計者は、カーソル位置を調べさせるメッ
セージm2を、入力待ち状態制御オブジェクトとカーソ
ルオブジェクトとの間に配置する。操作者によってカー
ソル移動が行われ、実行キーの入力が行われると、現在
のカーソル位置を領域の始点として登録しておく必要が
ある。そのため、設計者は、入力待ち状態制御オブジェ
クトと文書バッファオブジェクトとの間に『カーソル位
置を領域の始点として登録する。』といったメッセージ
m3を配置する。以上の要領で、設計者がメッセージを
配置してゆくことで、図9に示したような事象トレース
図が作成される。
When the event "move cursor" occurs, the input-waiting control object must cause the cursor object to look up the current cursor position. Therefore, the designer arranges the message m2 for checking the cursor position between the input waiting state control object and the cursor object. When the cursor is moved by the operator and the execution key is input, it is necessary to register the current cursor position as the start point of the area. Therefore, the designer "registers the cursor position as the start point of the area between the input waiting state control object and the document buffer object. Message m3 such as ". As the designer arranges the messages in the above manner, the event trace diagram as shown in FIG. 9 is created.

【0044】事象トレース図の作図後、ステップS7に
おいて、動的モデル図中の個々の状態遷移についての詳
細な仕様を書き起こす。この詳細仕様について、図9の
破線枠h2に示した部分を一例に挙げて、説明を行う。
「領域終点指定のための入力待ち」から「複写先指定の
ための入力待ち」へと状態が遷移する間には、現在のカ
ーソル位置を調べ、複写元の終点の文字を登録し、複写
不能文字を調べるといった事象を有するはずである。設
計者は、このような事象を図10に示すように全て列挙
する。
After drawing the event trace diagram, in step S7, detailed specifications for each state transition in the dynamic model diagram are written. The detailed specifications will be described with reference to the portion indicated by the broken line frame h2 in FIG. 9 as an example.
While the status transitions from "Waiting for input to specify area end point" to "Waiting for input to specify copy destination," the current cursor position is checked, the character at the end point of the copy source is registered, and copying is not possible. It should have the event of looking up characters. The designer enumerates all such events as shown in FIG.

【0045】詳細事象を書き起こした後、ステップS8
において、図9に示した事象トレース図の破線枠h2で
示す部分に、以上の詳細仕様についてのメッセージと、
当該メッセージの送信先のオブジェクトとを更に配置し
てゆく。「領域終点指定のための入力待ち」から「複写
先指定のための入力待ち」への状態遷移は、事象トレー
ス図中の破線枠h2で囲んだ部分に相当する。この部分
に図10で書き起こした事象に相当するメッセージ及び
当該メッセージの送信先のオブジェクトを設計者は更に
配置してゆく。メッセージ及びオブジェクトの追加配置
後の図9の破線枠h2に係る部分の拡大図を図11に示
す。
After transcribing the detailed event, step S8
In the event trace diagram shown in FIG. 9, the message about the detailed specifications above is displayed in the part indicated by the broken line frame h2.
The object to which the message is sent is further arranged. The state transition from "waiting for input for specifying area end point" to "waiting for input for specifying copy destination" corresponds to the portion surrounded by the broken line frame h2 in the event trace diagram. The designer further arranges a message corresponding to the event transcribed in FIG. 10 and an object of the transmission destination of the message in this portion. FIG. 11 shows an enlarged view of the portion related to the broken line frame h2 of FIG. 9 after the additional arrangement of the message and the object.

【0046】メッセージm2に相当する『カーソル位置
を調べる。』を受信した後、カーソルオブジェクトは、
何れかのオブジェクトに『カーソル位置を知らせる。』
といったメッセージを送信しなければならない。そのた
め、設計者は、『カーソル位置を知らせる。』メッセー
ジm21を、カーソルオブジェクトと、文書バッファオ
ブジェクトとの間に配置する。
"Check the cursor position" corresponding to the message m2. After receiving the
"Notify the cursor position to any object. 』
You must send a message such as. Therefore, the designer "informs the cursor position. ] The message m21 is arranged between the cursor object and the document buffer object.

【0047】一方、『カーソル位置を領域の終点として
登録する。』メッセージm5を送信後には、その終点位
置の複写不能文字の存否を調べる必要があるし、その調
べた結果を他のオブジェクトに通知する必要がある。そ
のため設計者は、『複写する領域内に複写不能文字があ
るかを調べる。』メッセージm51を文書バッファオブ
ジェクトと文字列型領域オブジェクトとの間に配置し、
また調べた結果を文書バッファオブジェクトに知らせる
ための『複写する領域内に複写不能文字があるかを知ら
せる』メッセージm52を文書バッファオブジェクトと
文字列型領域オブジェクトとの間に配置する。
On the other hand, "The cursor position is registered as the end point of the area. After sending the message m5, it is necessary to check the presence or absence of the non-copyable character at the end position, and to notify other objects of the check result. Therefore, the designer "inspects whether there is a non-copyable character in the copy area. ] The message m51 is arranged between the document buffer object and the character string type area object,
Further, a message "m52 notifying whether uncopyable character exists in copy area" for notifying the document buffer object is arranged between the document buffer object and the character string type area object.

【0048】配置後、ステップS9において、設計者は
概略仕様中の入力待ち状態のうち条件が入力されるもの
の個々の条件に対応したメッセージをまとめて配置す
る。図4に示した概略仕様の入力待ち状態のうち、条件
が入力されるものは、「2.領域のタイプ(文字列型、
行型、箱型)を選択するメニュ−が編集画面上に表示さ
れる。」、「3.領域のタイプが選択される。」であ
る。これらの入力条件に基づいて、設計者は文字列型領
域オブジェクトに送信されるメッセージm51の他に、
行型領域オブジェクトに送信されるメッセージm53、
箱列型領域オブジェクトに送信されるメッセージm55
をまとめて配置する。これらのメッセージを配置した
後、これらの送信に対する返信メッセージm52、m5
4、m56を配置する。
After the arrangement, in step S9, the designer collectively arranges the messages corresponding to the individual conditions in the input waiting state in the general specifications, although the conditions are input. Among the input waiting states of the outline specifications shown in FIG. 4, the ones to which the condition is input are “2. area type (character string type,
A menu for selecting the line type or box type is displayed on the edit screen. , "3. Area type is selected." Based on these input conditions, the designer, in addition to the message m51 sent to the character string type area object,
The message m53 sent to the line-type area object,
Message sent to box-type area object m55
Are placed together. After placing these messages, reply messages m52, m5 for these transmissions
4 and m56 are arranged.

【0049】概略仕様中の入力待ち状態での領域指定に
よっては、複写不能文字を指定することも有り得る。こ
の複写不能文字の有無によって、文書バッファオブジェ
クトは、複写不能文字の有の場合のメッセージと無しの
場合のメッセージとを切り換えて送信するはずである。
複写不能文字が無い場合には、複写先の指定を行わせれ
ばよい。そのため、『「複写先を指定して下さい」メニ
ュ−を表示させる』メッセージm58を、文書オブジェ
クトとメニュ−オブジェクトとの間に配置する。
A non-copyable character may be designated depending on the area designation in the input waiting state in the general specifications. Depending on the presence or absence of the non-copyable character, the document buffer object should switch between the message with the non-copyable character and the message with the non-copyable character.
If there is no non-copyable character, the copy destination may be designated. Therefore, a message "Display" Please specify the copy destination "menu" message m58 is arranged between the document object and the menu object.

【0050】複写不能文字が有る場合には、再度領域の
始点の指定を行わせる必要がある。そのため設計者は、
『「領域の始点を指定して下さい」メニュ−を表示させ
る』メッセージm57を、文書オブジェクトとメニュ−
オブジェクトとの間に配置する。以上のようにして、メ
ッセージm57、58を配置した後、これらのメッセー
ジについての返信メッセージm6、m61を入力待ち状
態制御オブジェクトとメニュ−オブジェクトとの間に配
置する。
If there are uncopyable characters, it is necessary to again specify the start point of the area. Therefore, the designer
"Display the" Please specify the start point of the area "menu" message m57 is displayed.
Place it between objects. After arranging the messages m57 and 58 as described above, the reply messages m6 and m61 for these messages are arranged between the input waiting state control object and the menu object.

【0051】以上の過程を経て、メッセージを配置した
後、ステップS10において入力条件による分岐、事象
の連続性、事象の終端を示す記号を図中に書き込み、事
象がどうやって遷移してゆくかを明らかにしてゆく。図
12中の(1)は入力条件による分岐を示し、領域の指
定方法が「文字列型領域」、「行型領域」または「箱型
領域」であるかによって、処理が枝分かれすることを示
している。(2)の矢印は事象の連続性を示し、矢印で
結ばれた事象は連続して実行することを示す。これによ
り、「カーソル位置を調べる」、「カーソル位置を知ら
せる」および「カーソル位置を領域の終点として登録す
る」が連続して実行されていることを示す。さらに、
(3)の「○」は連続した事象の終端を示し、その時点
で処理が終了したことを示す。
After arranging the message through the above process, in step S10, a branch according to the input condition, the continuity of the event, and symbols indicating the end of the event are written in the figure to clarify how the event transits. I'll do it. (1) in FIG. 12 shows branching according to input conditions, and shows that processing branches depending on whether the area designation method is "character string area", "row area", or "box area". ing. The arrow in (2) indicates the continuity of events, and the events connected by the arrows indicate that they are continuously executed. This indicates that “check cursor position”, “notify cursor position”, and “register cursor position as end point of region” are continuously executed. further,
"3" in (3) indicates the end of consecutive events, and indicates that the processing has ended at that point.

【0052】この(1)(2)および(3)の記述を用
いることにより、複数の事象トレース図を描かなくて
も、一つの事象トレース図で、多岐に渡る事象の遷移を
明確にできる。尚、事象トレース図の記述方法は、この
ように条件分岐などの処理の制御の流れを記述できるも
のであれば特に問わない。ステップS11において設計
者は、各オブジェクトが、メッセージの受信時にどのよ
うに挙動するかを配置してゆく。この挙動(メソッド)
の配置は、図12に示した事象トレース図に、必要なメ
ソッドを書き込んでゆくことで行われる。
By using the descriptions of (1), (2) and (3), it is possible to clarify transitions of a wide variety of events in one event trace diagram without drawing a plurality of event trace diagrams. Incidentally, the description method of the event trace diagram is not particularly limited as long as it can describe the control flow of the processing such as the conditional branch. In step S11, the designer arranges how each object behaves when receiving a message. This behavior (method)
Is placed by writing necessary methods in the event trace diagram shown in FIG.

【0053】図12において、カーソルオブジェクト
は、『カーソル位置を調べる』メッセージを受信し、
『カーソル位置を知らせる』メッセージを送信するまで
の間、『カーソル位置を調べる』といった挙動を行う必
要がある。そのため、設計者は、『カーソル位置を調べ
る』メソッドk1をカーソルオブジェクトの位置に配置
する。
In FIG. 12, the cursor object receives the "check cursor position" message,
It is necessary to perform a behavior such as "check the cursor position" until the "notify the cursor position" message is sent. Therefore, the designer arranges the method “check cursor position” method k1 at the position of the cursor object.

【0054】図12において、文字列型領域オブジェク
トは、『カーソル位置を領域の終点として登録する』メ
ッセージを受信した後に、『終点を登録する』といった
挙動を行う必要がある。そのため、設計者は、『終点を
登録する』メソッドk2を文字列型領域オブジェクトの
位置に配置する。図12において、文字列型領域オブジ
ェクトは、『複写する領域内に複写不能文字があるかを
調べる。』メッセージを受信し、『複写する領域内に複
写不能文字があるかを知らせる』メッセージを送信する
までの間、『複写不能文字を調べる。』といった挙動を
行う必要がある。そのため、設計者は、『複写不能文字
を調べる』メソッドk3をカーソルオブジェクトの位置
に配置する。
In FIG. 12, the character string type area object needs to perform the behavior of "registering the end point" after receiving the message "register the cursor position as the end point of the area". Therefore, the designer arranges the “register end point” method k2 at the position of the character string type area object. In FIG. 12, the character string type area object "checks whether there is an uncopyable character in the area to be copied. Until the message is received and the message "Notify if there are non-copyable characters in the area to be copied" is sent, "Check for non-copyable characters." It is necessary to perform such a behavior. Therefore, the designer arranges the method “check for uncopyable characters” method k3 at the position of the cursor object.

【0055】以上の手順を繰り返すと、図13に示すよ
うに、事象トレース図に、メソッドが配置される。ステ
ップS12において、設計者は、図13の事象トレース
図に配置されたメソッドから、動的モデル図を展開して
ゆき、メソッドに含まれる様々の状態が、如何に遷移す
るかを配置してゆく。ステップS12において状態の遷
移が描かれた動的モデル図を図14に示す。
When the above procedure is repeated, the method is arranged in the event trace diagram as shown in FIG. In step S12, the designer expands the dynamic model diagram from the method arranged in the event trace diagram of FIG. 13 and arranges how various states included in the method transit. . FIG. 14 shows a dynamic model diagram in which the state transition is drawn in step S12.

【0056】この処理過程を図13に示したメソッドk
4を一例に挙げて説明してゆく。複写不能文字を調べる
には、指定された領域がどこからどこまでであるかが何
れかの変数に格納されてなければならない。そのため設
計者は、指定領域内の各文字を指示する変数としてポイ
ンタ変数[range]を定義する。定義後、この[r
ange]の状態が、如何に遷移してゆくかを動的モデ
ル図を作図してゆくことで明らかにしてゆく。
This processing step is represented by the method k shown in FIG.
4 will be described as an example. In order to check the non-copyable character, it is necessary to store in which variable the specified area is from to where. Therefore, the designer defines a pointer variable [range] as a variable that indicates each character in the designated area. After definition, this [r
How the [state] transitions will be clarified by drawing a dynamic model diagram.

【0057】複写不能文字の有無を調べるには、先ず、
ポインタ変数[range]に指定領域の始点位置を指
示させなければならない。そこで、第1に、状態j1を
配置する。配置後、指定領域中の[range]で指示
されている文字が複写不能文字であるかを調べなければ
ない。そしてもし複写不能文字でなければ、[rang
e]のポインタ変数を1文字分進める必要がある。そこ
で、図14の状態j2、j3を配置し、これらの状態間
に状態の遷移を示す矢印y1、y2を配置する。
In order to check the presence of non-copyable characters, first,
The pointer variable [range] must be made to point to the starting point position of the specified area. Therefore, firstly, the state j1 is arranged. After the arrangement, it is necessary to check whether or not the character designated by [range] in the designated area is a non-copyable character. And if it is not a non-copyable character, [range
It is necessary to advance the pointer variable of e] by one character. Therefore, the states j2 and j3 in FIG. 14 are arranged, and the arrows y1 and y2 indicating the state transition are arranged between these states.

【0058】以上のようにポインタ変数を進めていけ
ば、[range]は、複写不能文字か、あるいは、領
域の終点位置に行き当たる。そこで、設計者は、複写不
能文字に出会った場合の状態j4と、領域の終点位置に
行き当たった状態j5とを配置する。配置後、状態j3
と、状態j4、j5とを矢印で結び、動的モデル図を完
成させる。
By advancing the pointer variable as described above, [range] reaches a non-copyable character or the end position of the area. Therefore, the designer arranges a state j4 when a non-copyable character is encountered and a state j5 when the character reaches the end position of the area. After placement, state j3
And the states j4 and j5 are connected by an arrow to complete the dynamic model diagram.

【0059】図中の各状態は各内部処理に対応する。ま
た矢印のラベルはポインタ変数[range]の状態が
遷移するの際の条件式を示している。ラベルがないもの
は、自動的に状態が遷移することを示している。このよ
うな動的モデルを、ステップS11で定義した全てのメ
ソッドに対して記述する。動的モデルの記述方法は、状
態間遷移を記述できるものであれば、特に問わない。以
上の配置を全て終えた後、メッセージの送信についての
事象を書き入れた動的モデル図を図15に示す。
Each state in the figure corresponds to each internal process. The arrow label indicates the conditional expression when the state of the pointer variable [range] transits. If there is no label, it means that the state automatically changes. Such a dynamic model is described for all the methods defined in step S11. The description method of the dynamic model is not particularly limited as long as it can describe the transition between states. FIG. 15 shows a dynamic model diagram in which events regarding message transmission are entered after the above arrangement is completed.

【0060】以上のような動的モデル図への展開を、ス
テップS11で定義された全ての事象について繰り返す
(ステップS13、S14)。また、ステップS15、
S16の繰り返しによって、図8の破線h1に示した
「領域終点の指定のための入力待ち」から「複写先指定
のための入力待ち」への遷移と同様に、「領域始点の指
定のための入力待ち」から「領域終点の指定のための入
力待ち」への遷移、「領域タイプ選択のための入力待
ち」から「領域始点の指定のための入力待ち」への遷移
を設計してゆく(ステップS8〜S15)。
The expansion into the dynamic model diagram as described above is repeated for all the events defined in step S11 (steps S13 and S14). Also, in step S15,
By repeating S16, similar to the transition from "waiting for input for designation of area end point" to "waiting for input for designation of copy destination" shown by the broken line h1 in FIG. Design the transition from "Waiting for input" to "Waiting for input to specify area end point", and the transition from "Waiting for input to select area type" to "Waiting input for specifying area start point" ( Steps S8 to S15).

【0061】以上の設計工程を経て、入力待ち制御オブ
ジェクトを備えたアプリケ−ションプログラムが設計さ
れる。 <従来例との対比説明>次に、以上の設計工程において
作図された図面と、従来のオブジェクト指向型のソフト
ウェア設計方法で作成された図面とを対比する。従来の
オブジェクト指向型設計方法で上記アプリケ−ションプ
ログラムを設計した場合の図面を図18、図19、図2
0に示す。図18は、従来のオブジェクト指向型設計方
法で作図された事象トレース図であり、上記図9に相当
する。
Through the above design process, an application program having an input waiting control object is designed. <Description of Comparison with Conventional Example> Next, the drawing drawn in the above design process and the drawing created by the conventional object-oriented software design method will be compared. FIG. 18, FIG. 19 and FIG. 2 are drawings when the application program is designed by the conventional object-oriented design method.
0 is shown. FIG. 18 is an event trace diagram drawn by the conventional object-oriented design method and corresponds to FIG. 9 described above.

【0062】また図19は、従来のオブジェクト指向型
設計方法で作図された事象トレース図であり、上記図1
1に相当する。更に図20は、従来のオブジェクト指向
型設計方法で作図された動的モデル図であり、上記図1
5に相当する。先ず、図9の事象トレース図と、図18
の事象トレース図とを対比する。
FIG. 19 is an event trace diagram drawn by the conventional object-oriented design method, which is shown in FIG.
Equivalent to 1. Further, FIG. 20 is a dynamic model diagram drawn by the conventional object-oriented design method.
Equivalent to 5. First, the event trace diagram of FIG. 9 and FIG.
Contrast with the event trace diagram of.

【0063】図18と比較すれば、図9は、イベントル
ープが全て入力待ち状態制御オブジェクトから伸びてい
るため、非常に見易くなっているのが判る。更に、イベ
ントループは、入力待ち状態制御オブジェクトのみに配
置されているので、設計者は、イベントループを入力待
ち状態制御オブジェクトのみに配置していけばよい。そ
のため、設計者の負担は著しく軽減される。
Compared with FIG. 18, it can be seen that FIG. 9 is very easy to see because all the event loops extend from the input wait state control object. Further, since the event loop is arranged only in the input waiting state control object, the designer may arrange the event loop only in the input waiting state control object. Therefore, the burden on the designer is significantly reduced.

【0064】先ず、図11の事象トレース図と、図19
の事象トレース図とを対比する。図19と比較すれば、
図11は、メッセージの行き来が非常に整然と示されて
いることが判る。またメッセージが段差をなしており、
送信先のオブジェクトが、上位から下位へと移り変わっ
てゆくことが判る。このように送信先のオブジェクトが
移り変わってゆくように事象トレース図を作図すること
で、概略設計から詳細設計へと、設計レベルに応じてメ
ッセージを定義してゆくことができる。
First, the event trace diagram of FIG. 11 and FIG.
Contrast with the event trace diagram of. Compared with FIG.
It can be seen in FIG. 11 that the message flow is shown very neatly. Also, the message is stepped,
It can be seen that the destination object changes from higher to lower. By drawing an event trace diagram so that the destination objects change in this way, it is possible to define messages from rough design to detailed design according to the design level.

【0065】また、メッセージの行き来が非常に整然
と、段差をなして描かれているため、条件分岐に応じて
切り換えて送信されるメッセージや、メッセージの受信
時での各オブジェクトの挙動を、1つの事象トレース図
を用いて設計できる。先ず、図15の事象トレース図
と、図20の事象トレース図とを対比する。図15と比
較すれば、図20は、イベントループが存在することが
わかる。このように、各メソッドにイベントループが存
在するのと、そうでないのとでは、ソフトウェア全体の
総コーディング量が著しく変わってしまう。
Since the messages are drawn in a very orderly manner and with steps, the messages sent by switching according to the conditional branch and the behavior of each object at the time of receiving the message can be controlled by one. It can be designed using the event trace diagram. First, the event trace diagram of FIG. 15 and the event trace diagram of FIG. 20 will be compared. Compared with FIG. 15, it can be seen that the event loop exists in FIG. In this way, the total amount of coding in the software as a whole changes significantly depending on whether or not each method has an event loop.

【0066】このような対比から、本実施例で設計され
たソフトウェアは、設計者の負担を大きく軽減できるも
のであることがわかる。また図1〜図15のモデル図、
トレース図に表した構造を有するプログラムは、入力待
ち制御オブジェクトに入力待ち処理が統合されているた
め、例えば、『Ctrl+K』の併押下から『Ctrl+n』
に領域指定キーを変更するといったキーコードの割り当
て変更が、入力待ち制御オブジェクトに対する変更で済
む。このように、入力待ち処理が入力待ち制御オブジェ
クトに統合されているため、本設計方法で設計されたプ
ログラムは、拡張性に富む。
From such a comparison, it is understood that the software designed in this embodiment can greatly reduce the burden on the designer. Also, the model diagrams of FIGS.
In the program having the structure shown in the trace diagram, since the input waiting processing is integrated into the input waiting control object, for example, from the simultaneous pressing of "Ctrl + K" to "Ctrl + n".
The key code assignment change such as changing the area designation key can be done by changing the input waiting control object. Since the input waiting process is integrated with the input waiting control object in this way, the program designed by this design method is highly expandable.

【0067】[0067]

【発明の効果】請求項1に係るソフトウェア設計方法に
よれば、設計者は、どのオブジェクトにどのような入力
待ち処理を分担させるかを判断しなくてもよく、どのよ
うなメッセージをどのオブジェクトに与えてやるかの設
計が大きく簡略化されるので、オブジェクト、メッセー
ジの決定が容易になり、最適な分担を考えずとも設計が
行える。このため、オブジェクト指向型のソフトウェア
の設計が大きく簡易化され、対話型編集システムの開発
効率を大きく向上させることができる。
According to the software designing method of the first aspect, the designer does not have to determine which object is assigned to which input waiting process and what message is assigned to which object. Since the design of whether or not to give it is greatly simplified, it is easy to decide the object and the message, and the design can be performed without considering the optimal sharing. Therefore, the design of the object-oriented software is greatly simplified, and the development efficiency of the interactive editing system can be greatly improved.

【0068】また、請求項2に係るソフトウェア設計方
法によれば、請求項1の効果に加えて、オブジェクト指
向における継承関係を損なわないように、入力待ち制御
オブジェクトが定義されるので、オブジェクト指向型の
有用性を損なわずに、オブジェクト指向型のソフトウェ
アをより容易に開発できる。また、請求項3に係るソフ
トウェア設計方法によれば、請求項1の効果に加えて、
トレース図に配置されたメッセージは、階層順に段差を
なし、送信先のオブジェクトが、上位から下位へと移り
変わってゆくようになるので、メッセージの送信とオブ
ジェクトの階層構造との対応が明確なトレース図が得ら
れる。このようなトレース図によって、設計者は、オブ
ジェクトの階層構造を確認しながらも、メッセージを定
義してゆくことができる。
According to the software designing method of the second aspect, in addition to the effect of the first aspect, since the input waiting control object is defined so as not to impair the inheritance relationship in the object-oriented, the object-oriented type. You can more easily develop object-oriented software without compromising the usefulness of. According to the software design method of claim 3, in addition to the effect of claim 1,
The messages placed in the trace diagram form a step in the hierarchical order, and the destination object moves from the higher level to the lower level.Therefore, the correspondence between the message transmission and the hierarchical structure of the object is clear. Is obtained. With such a trace diagram, the designer can define the message while confirming the hierarchical structure of the object.

【0069】また、請求項4に係るソフトウェア設計方
法によれば、請求項1の効果に加えて、条件が入力され
る入力待ち状態の個々の条件に対応しているメッセージ
が、第2のメッセージ決定ステップによって、まとめて
配置される。このようにまとめて配置することで、複数
の事象トレース図を描かなくても、一つの事象トレース
図で、多岐に渡る事象の遷移を明確にできる。
According to the software designing method of the fourth aspect, in addition to the effect of the first aspect, the message corresponding to each condition in the input waiting state in which the condition is inputted is the second message. The decision steps place them together. By arranging them collectively in this way, it is possible to clarify transitions of a wide variety of events in one event trace diagram without drawing a plurality of event trace diagrams.

【0070】また、請求項5に係るソフトウェア設計方
法によれば、請求項1の効果に加えて、継承関係が明確
になるように、メッセージが配置されるので、設計者は
階層関係との対応を確認しながらメッセージの配置を行
え、設計効率を大いに向上できる。また、請求項6に係
るソフトウェア設計方法によれば、請求項1の効果に加
えて、トレース図にメソッドを配置することで、メッセ
ージの送受とメソッドの対応が明確になるので、メッセ
ージ及び階層関係を確認しながら、メソッドを決定して
ゆくことができる。そのため、設計効率を大きく向上で
きる。
According to the software designing method of the fifth aspect, in addition to the effect of the first aspect, since the message is arranged so that the inheritance relationship becomes clear, the designer can deal with the hierarchical relationship. You can arrange the messages while checking, and greatly improve the design efficiency. According to the software designing method of claim 6, in addition to the effect of claim 1, by arranging the method in the trace diagram, the correspondence between the sending and receiving of the message and the method becomes clear. While confirming, you can decide the method. Therefore, the design efficiency can be greatly improved.

【0071】また、請求項7に係るプログラム構造によ
れば、請求項1の効果に加えて、入力待ちに関する出荷
後の仕様変更、メンテナンスは、この入力待ち管理オブ
ジェクトに対する修正のみで済むので、メンテナンス効
率を大きく向上できる。また他のオブジェクトは、入力
待ちに関する処理を有していないため、簡単に設計する
ことができる。
According to the program structure of claim 7, in addition to the effect of claim 1, the specification change and the maintenance concerning the input waiting after the shipment can be made only by modifying the input waiting management object. Greatly improve efficiency. Also, other objects do not have processing related to input waiting, so they can be easily designed.

【図面の簡単な説明】[Brief description of drawings]

【図1】ソフトウェアの開発工程の全容を示したフロ−
チャ−トである。
[Figure 1] Flow chart showing the overall process of software development
It is a chart.

【図2】図1に示したソフトウェア設計工程のフロ−チ
ャ−トである。
FIG. 2 is a flowchart of the software design process shown in FIG.

【図3】図1に示したソフトウェア設計工程のフロ−チ
ャ−トである。
FIG. 3 is a flowchart of the software design process shown in FIG.

【図4】概略仕様が、どのような状態遷移を表したもの
であるかを示した図である。
FIG. 4 is a diagram showing what kind of state transition the outline specifications represent.

【図5】図1に示したステップS2において、作図され
たオブジェクトモデルである。
5 is an object model drawn in step S2 shown in FIG. 1. FIG.

【図6】文書編集オブジェクトの下位クラスに入力待ち
状態制御オブジェクトが定義されたオブジェクトモデル
を示した図である。
FIG. 6 is a diagram showing an object model in which an input waiting state control object is defined in a lower class of a document edit object.

【図7】概略仕様から抽出された入力事象と、入力待ち
状態とを示した図である。
FIG. 7 is a diagram showing an input event extracted from a general specification and an input waiting state.

【図8】ステップS5において作図された動的モデル図
を示した図である。
FIG. 8 is a diagram showing a dynamic model diagram drawn in step S5.

【図9】ステップS6で作図された事象トレース図であ
る。
FIG. 9 is an event trace diagram drawn in step S6.

【図10】ステップS7において、動的モデル図中の個
々の状態遷移について書き起こされた詳細仕様を示した
図である。
FIG. 10 is a diagram showing detailed specifications transcribed for each state transition in the dynamic model diagram in step S7.

【図11】図9の事象トレース図の破線枠h2に係る部
分の拡大図である。
11 is an enlarged view of a part related to a broken line frame h2 of the event trace diagram of FIG. 9.

【図12】操作者の入力に応じて切り換えて送信される
複数のメッセージが追加配置された事象トレース図であ
る。
FIG. 12 is an event trace diagram in which a plurality of messages that are switched and transmitted according to an operator's input are additionally arranged.

【図13】ステップS11においてメソッドが配置され
た事象トレース図である。
FIG. 13 is an event trace diagram in which a method is arranged in step S11.

【図14】ステップS12において状態の遷移が描かれ
た動的モデル図である。
FIG. 14 is a dynamic model diagram depicting state transitions in step S12.

【図15】メッセージの送信についての事象を書き入れ
た動的モデル図である。
FIG. 15 is a dynamic model diagram in which events regarding message transmission are entered.

【図16】設計対象となるワードプロセッサのハードウ
ェア構成を示した構成図である。
FIG. 16 is a configuration diagram showing a hardware configuration of a word processor to be designed.

【図17】図16に示したワードプロセッサのアプリケ
−ションプログラムの概要を示すフロ−チャ−トであ
る。
FIG. 17 is a flowchart showing an outline of an application program of the word processor shown in FIG.

【図18】従来のオブジェクト指向型設計方法で作図さ
れた事象トレース図である。
FIG. 18 is an event trace diagram drawn by a conventional object-oriented design method.

【図19】従来のオブジェクト指向型設計方法で作図さ
れた事象トレース図である。
FIG. 19 is an event trace diagram drawn by a conventional object-oriented design method.

【図20】従来のオブジェクト指向型設計方法で作図さ
れた動的モデル図である。
FIG. 20 is a dynamic model diagram drawn by a conventional object-oriented design method.

【符号の説明】[Explanation of symbols]

m1 分析工程 m2 設計工程 m3 製造工程 m4 テスト工程 S2 オブジェクトモデルの作図 S5 動的モデル図の作図 S6 事象トレース図の作図 1 キーボード 2 テキストバッファ 3 ディスプレィ 4 表示用フォントROM 5 ハードディスク 6 RAM 7 CPU 10 ワードプロセッサ m1 analysis process m2 design process m3 manufacturing process m4 test process S2 object model drawing S5 dynamic model drawing S6 event trace drawing drawing 1 keyboard 2 text buffer 3 display 4 display font ROM 5 hard disk 6 RAM 7 CPU 10 word processor

Claims (7)

【特許請求の範囲】[Claims] 【請求項1】 対話型編集システムの動作状態の遷移を
列挙した概略仕様に基づいて、当該システムに搭載され
るソフトウェアが具備すべきオブジェクト、メッセー
ジ、及びオブジェクトの挙動を設計するソフトウェア設
計方法であって、 概略仕様に基づいて、ソフトウェアが具備すべきオブジ
ェクトの仕様、及び、オブジェクト同士の階層関係を決
定するオブジェクト決定ステップと、 概略仕様に含まれる操作者からの全ての入力待ち状態を
制御するための入力待ち制御オブジェクトを決定する入
力待ち制御オブジェクト決定ステップと、 入力待ち制御オブジェクトがオブジェクト決定ステップ
で決定された各オブジェクトに送信すべきメッセージ
を、各オブジェクトの仕様を参照して決定する第1のメ
ッセージ決定ステップとオブジェクト決定ステップで決
定された各オブジェクトが、第1のメッセージ決定ステ
ップで決定されたメッセージを受信した後に送信すべき
メッセージを、各オブジェクトの仕様を参照して決定す
る第2のメッセージ決定ステップと、 第1のメッセージ決定ステップで決定されたメッセージ
を受信した後の、各オブジェクトの挙動を各オブジェク
トの仕様を参照して決定する挙動決定ステップと、 を備えることを特徴とするソフトウェア設計方法。
1. A software design method for designing an object, a message, and a behavior of an object, which software installed in the interactive editing system should have, on the basis of a general specification enumerating transitions of operating states of the interactive editing system. In order to control the specifications of the objects that the software should have based on the general specifications and the object determination step that determines the hierarchical relationship between the objects, and the state of waiting for all input from the operator included in the general specifications. The input waiting control object determining step for determining the input waiting control object of the above, and the first determining the message to be transmitted by the input waiting control object to each object determined in the object determining step with reference to the specifications of each object. Message decision steps and objects A second message determining step in which each object determined in the determining step determines a message to be transmitted after receiving the message determined in the first message determining step, with reference to the specification of each object, A behavior deciding step of deciding a behavior of each object by referring to a specification of each object after receiving the message decided in the first message deciding step, and a software designing method.
【請求項2】 オブジェクト決定ステップは、 それぞれのオブジェクトの継承関係を表した木構造図を
作図する木構造図作図サブステップを有し、 入力待ち制御オブジェクト決定ステップは、 木構造図作図サブステップによって作図された木構造図
において何れのオブジェクトの継承関係にならない位置
に、入力待ち制御オブジェクトを配置することを特徴と
する請求項1記載のソフトウェア設計方法。
2. The object deciding step has a tree structure drawing sub-step for drawing a tree structure drawing representing the inheritance relationship of each object, and the input waiting control object deciding step is performed by the tree structure drawing drawing sub-step. 2. The software designing method according to claim 1, wherein the input waiting control object is arranged at a position where no inheritance relation of any object occurs in the drawn tree structure diagram.
【請求項3】 第1のメッセージ決定ステップは、オブ
ジェクト間のメッセージの送受信を表したトレース図を
作図するトレース図作図ステップを有し、 トレース図作図ステップは、 入力待ち制御オブジェクト決定ステップで決定された入
力待ち制御オブジェクトを配置し、当該入力待ち制御オ
ブジェクトの配置位置の隣から階層順に、オブジェクト
決定ステップで決定された各オブジェクトを配置するオ
ブジェクト配置サブステップと、 入力待ち制御オブジェクトが各オブジェクトに送信すべ
きメッセージを、オブジェクト配置サブステップで配置
されたオブジェクト間に配置するメッセージ配置サブス
テップとからなり、 第2のメッセージ決定ステップは、オブジェクト決定ス
テップで決定された各オブジェクトがメッセージ配置サ
ブステップで配置されたメッセージを受信した後に送信
するメッセージを、トレース図作図ステップで作図され
たトレース図に配置するを備えることを特徴とする請求
項1又は2記載のソフトウェア設計方法。
3. The first message determining step has a trace drawing step for drawing a trace drawing showing transmission and reception of messages between objects, and the trace drawing step is determined in the input waiting control object determining step. The input waiting control object is placed, and the object placement sub-step of placing each object determined in the object determination step in the hierarchical order from the position next to the input waiting control object, and the input waiting control object is sent to each object. A message placement sub-step for placing a message to be placed between the objects placed in the object placement sub-step, and the second message decision step is that each object decided in the object decision step is a message placement sub-step. Messages to Send placed message step after the received software design method of claim 1, wherein further comprising a placing trace view after drawing the trace diagram plotting step.
【請求項4】 概略仕様中の入力待ち状態には、操作者
によって条件が入力されるものが存在し、 第2のメッセージ決定ステップは、 条件が入力される入力待ち状態の個々の条件に対応して
いるメッセージを、まとめて配置することを特徴とする
請求項3記載のソフトウェア設計方法。
4. The input waiting state in the general specifications includes a condition input by an operator, and the second message determination step corresponds to each condition in the input waiting state in which the condition is input. 4. The software design method according to claim 3, wherein all the messages that have been written are arranged together.
【請求項5】 メッセージ配置サブステップでまとめて
配置されたそれぞれのメッセージは、上位の階層と継承
関係にある階層のそれぞれのオブジェクトを送信先とす
ることを特徴とする請求項4記載のソフトウェア設計方
法。
5. The software design according to claim 4, wherein the respective messages collectively arranged in the message arrangement sub-step are destined for respective objects in a hierarchy having an inheritance relationship with an upper hierarchy. Method.
【請求項6】 挙動決定ステップは、 第1のメッセージ決定ステップで決定されたメッセージ
を受信した後の、オブジェクト決定ステップで決定され
た各オブジェクトの挙動を、トレース図作図ステップで
作図されたトレース図中のメッセージの受信時に相当す
る箇所に配置することを特徴とする請求項5記載のソフ
トウェア設計方法。
6. The behavior deciding step, after receiving the message decided in the first message deciding step, shows the behavior of each object decided in the object deciding step in a trace drawing drawn in a trace drawing step. 6. The software designing method according to claim 5, wherein the software designing method is arranged at a position corresponding to the reception of the internal message.
【請求項7】 オブジェクト指向型のプログラム構造で
あって、 複数個のオブジェクトの1つは、 操作者の入力待ち事象の全てを管理している入力待ち管
理オブジェクトであり、 その他のオブジェクトは、 入力待ち制御オブジェクトのメッセージに基づく、挙動
を行うオブジェクトであることを特徴とするプログラム
構造。
7. An object-oriented program structure, wherein one of the plurality of objects is an input waiting management object that manages all input waiting events of the operator, and the other objects are input objects. A program structure that is an object that behaves based on the message of a waiting control object.
JP655895A 1995-01-19 1995-01-19 Software designing method and program structure Pending JPH08194610A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP655895A JPH08194610A (en) 1995-01-19 1995-01-19 Software designing method and program structure

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP655895A JPH08194610A (en) 1995-01-19 1995-01-19 Software designing method and program structure

Publications (1)

Publication Number Publication Date
JPH08194610A true JPH08194610A (en) 1996-07-30

Family

ID=11641668

Family Applications (1)

Application Number Title Priority Date Filing Date
JP655895A Pending JPH08194610A (en) 1995-01-19 1995-01-19 Software designing method and program structure

Country Status (1)

Country Link
JP (1) JPH08194610A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10019453B2 (en) 2012-12-27 2018-07-10 Fujitsu Limited Recording medium, search method, and information processing apparatus

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10019453B2 (en) 2012-12-27 2018-07-10 Fujitsu Limited Recording medium, search method, and information processing apparatus

Similar Documents

Publication Publication Date Title
JP4448881B2 (en) Method and system for generating a computer program
US6225998B1 (en) Visual design of workflows for transaction processing
US6243092B1 (en) Transaction flow editing tool
US7904821B1 (en) Graphical user interface that is convertible at runtime
EP0612014B1 (en) Menu inquiry system
JP3441309B2 (en) How to display functional objects in graphical programming
US9830417B1 (en) Methods and systems for generation and editing of parameterized figure group
US8458648B2 (en) Graphical modelization of user interfaces for data intensive applications
JPH0749759A (en) Electronic document as user interface for software system located in computer
JPS6391742A (en) Operation monitoring of object directivity program
JP2006107478A (en) Extensible flamework for designing work flow
JP5147240B2 (en) Method and system for reversible design tree transformation
CN112506500B (en) Visual control creating method and device
Sander VCG-visualization of compiler graphs
EP1341081A1 (en) Sequence analysis method and sequence analysis apparatus
US5907851A (en) Editing nested documents by appointing a portion for insertion with an alternative substitute
JPH06223147A (en) Graphic display processing system
US20090228678A1 (en) Mapping definition creation system and mapping definition creation program
JPH06231224A (en) Device and method for generating operation guidance
JPH08194610A (en) Software designing method and program structure
EP1003097A2 (en) Method and apparatus for storing data as liquid information
JP2000029677A (en) Automatic generating device for screen constitution
EP0410062B1 (en) Dynamic selection of logical element data format
JP5521349B2 (en) IP model generation program, IP model generation apparatus, and IP model generation method
JPS6386021A (en) Screen control method