JPWO2015136606A1 - Software development support apparatus, software development support method, and software development support program - Google Patents
Software development support apparatus, software development support method, and software development support program Download PDFInfo
- Publication number
- JPWO2015136606A1 JPWO2015136606A1 JP2016507150A JP2016507150A JPWO2015136606A1 JP WO2015136606 A1 JPWO2015136606 A1 JP WO2015136606A1 JP 2016507150 A JP2016507150 A JP 2016507150A JP 2016507150 A JP2016507150 A JP 2016507150A JP WO2015136606 A1 JPWO2015136606 A1 JP WO2015136606A1
- Authority
- JP
- Japan
- Prior art keywords
- design
- software development
- outline
- development support
- target device
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/20—Software design
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
Abstract
ソフトウェア開発支援装置(200)の制御部は、実機(300)のソフトウェア開発の概要の設計段階で必要な処理と、概要設計に基づく実機(300)の動作確認に必要な処理とを実行し、概要設計の動作確認後に、概要設計に関連する詳細な設計段階に必要な処理と、詳細設計に基づく実機(300)の動作確認に必要な処理とを実行する。制御部は、ユーザ操作による概要設計および詳細設計に基づく設計情報を作成する設計機能部と、設計情報に基づき、実機(300)を動作させるソースコードを生成するソースコード生成機能部と、を有し、さらに、実機(300)を動作させるために、ソースコードを実機(300)に転送する通信機能部を有する。The control unit of the software development support apparatus (200) executes processing necessary at the design stage of the outline of software development of the actual machine (300) and processing necessary for confirming the operation of the actual machine (300) based on the outline design. After confirming the operation of the general design, processing necessary for a detailed design stage related to the general design and processing necessary for confirming the operation of the actual machine (300) based on the detailed design are executed. The control unit includes a design function unit that creates design information based on a summary design and a detailed design by a user operation, and a source code generation function unit that generates a source code for operating the actual machine (300) based on the design information. In addition, in order to operate the real machine (300), a communication function unit for transferring the source code to the real machine (300) is provided.
Description
この発明は、ソフトウェアの開発を支援するソフトウェア開発支援装置、ソフトウェア開発支援方法およびソフトウェア開発支援プログラムに関する。 The present invention relates to a software development support apparatus, a software development support method, and a software development support program that support software development.
組み込み機器等におけるソフトウェアの開発は、1.仕様書の作成後、各プラットフォーム別に2.設計書、3.コード、4.テストを行っている。従来、例えば、要求機能に対応する複数のソフトウェア部品を組み合わせて、新規なソフトウェアの開発を効率化する技術が開示されている(例えば、下記特許文献1参照。)。 The development of software for embedded devices is as follows: After creating the specifications, 2. Design document, 3. Code, 4. I am testing. Conventionally, for example, a technique for efficiently developing new software by combining a plurality of software components corresponding to a required function has been disclosed (see, for example, Patent Document 1 below).
従来の技術では、上記1.〜4.の各工程完了後に次の工程を実行し、各工程別に専門の開発者が独立して作業を行っていた。したがって、最後の4.テスト段階でデバッグが生じたときには修正が必要な工程への手戻りが必要となり、この際、修正が必要な工程を特定しなければならず手戻りの工数がかかった。 In the conventional technique, the above 1. ~ 4. After completing each process, the next process was executed, and a specialized developer worked independently for each process. Therefore, the last 4. When debugging occurred in the test stage, it was necessary to return to the process that needed correction. At this time, it was necessary to specify the process that needed correction, and it took time for the return.
また、工程の修正により前後の工程についても新たな修正が必要になる場合が生じた。これにより、ソフトウェア開発を効率的に行えず、全体工数を削減することができなかった。 In addition, there has been a case where a new correction is required for the preceding and succeeding processes due to the process correction. As a result, software development could not be performed efficiently, and the total man-hours could not be reduced.
本発明は、上記課題に鑑み、ソフトウェアの開発を効率化できることを目的とする。 In view of the above problems, an object of the present invention is to improve the efficiency of software development.
上記目的を達成するため、本発明のソフトウェア開発支援装置は、対象装置のソフトウェア開発の概要の設計段階で必要な処理と、当該概要設計に基づく前記対象装置の動作確認に必要な処理とを実行し、前記概要設計の動作確認後に、当該概要設計に関連する詳細な設計段階に必要な処理と、当該詳細設計に基づく前記対象装置の動作確認に必要な処理とを実行する制御部、を有することを特徴とする。 In order to achieve the above object, the software development support apparatus of the present invention executes processing necessary in the design stage of the outline of software development of the target apparatus and processing necessary for checking the operation of the target apparatus based on the outline design And a control unit that executes processing necessary for a detailed design stage related to the outline design and processing necessary for operation confirmation of the target device based on the detailed design after confirming the operation of the outline design. It is characterized by that.
また、前記制御部は、ユーザ操作による前記概要設計および前記詳細設計に基づく設計情報を作成する設計機能部と、前記設計情報に基づき、前記対象装置を動作させるソースコードを生成するソースコード生成機能部と、を有し、さらに、前記対象装置を動作させるために、前記ソースコードを前記対象装置に転送する通信機能部を有する、ことを特徴とする。 The control unit includes a design function unit that creates design information based on the outline design and the detailed design by a user operation, and a source code generation function that generates a source code that operates the target device based on the design information. And a communication function unit for transferring the source code to the target device in order to operate the target device.
また、前記制御部は、前記概要設計の動作確認時に問題が生じた場合、再度前記概要設計と当該概要設計の動作確認に必要な処理を実行し、前記概要設計の動作確認時の問題の修正後に前記詳細設計に移行する、ことを特徴とする。 In addition, when a problem occurs during the operation check of the outline design, the control unit executes the outline design and processing necessary for the operation check of the outline design again, and corrects the problem during the operation check of the outline design. It shifts to the said detailed design later, It is characterized by the above-mentioned.
また、前記制御部は、前記概要設計および前記詳細設計時の前記設計情報を表示することにより、前記表示内容に対応する前記対象装置の動作を確認できる、ことを特徴とする。 In addition, the control unit can confirm the operation of the target device corresponding to the display content by displaying the design information at the time of the outline design and the detailed design.
本発明のソフトウェア開発支援方法は、コンピュータが、対象装置のソフトウェア開発の概要の設計段階で必要な処理と、当該概要設計に基づく前記対象装置の動作確認に必要な処理と、前記概要設計の動作確認後に、当該概要設計に関連する詳細な設計段階に必要な処理と、当該詳細設計に基づく前記対象装置の動作確認に必要な処理と、を実行することを特徴とする。 In the software development support method of the present invention, the computer performs a process required in the design stage of the outline of the software development of the target device, a process necessary for checking the operation of the target device based on the outline design, and the operation of the outline design. After the confirmation, a process necessary for a detailed design stage related to the outline design and a process necessary for confirming the operation of the target device based on the detailed design are executed.
本発明のソフトウェア開発支援プログラムは、コンピュータに、対象装置のソフトウェア開発の概要の設計段階で必要な処理と、当該概要設計に基づく前記対象装置の動作確認に必要な処理と、前記概要設計の動作確認後に、当該概要設計に関連する詳細な設計段階に必要な処理と、当該詳細設計に基づく前記対象装置の動作確認に必要な処理と、を実行させることを特徴とする。 The software development support program according to the present invention includes a computer that includes a process necessary for a design stage of an outline of software development of a target device, a process necessary for confirming the operation of the target device based on the summary design, and an operation of the summary design. After the confirmation, a process necessary for a detailed design stage related to the outline design and a process necessary for confirming the operation of the target device based on the detailed design are executed.
上記構成によれば、概要設計と動作確認を行った後に、詳細設計と動作確認を行うことができ、これら概要設計と詳細設計とを分離してソフトウェア開発を行うことができる。また、概要設計時および詳細設計時にそれぞれ実機による動作確認を行うため、ソフトウェア開発の序盤から実機で動作を確認することができ、設計の手戻りを極力防ぐことができ、全体の開発工数を削減できるようになる。 According to the above configuration, after performing the outline design and the operation check, the detailed design and the operation check can be performed, and the software development can be performed by separating the outline design and the detailed design. In addition, since the operation is checked with the actual machine at the time of overview design and detailed design, the operation can be confirmed with the actual machine from the early stage of software development, and rework of the design can be prevented as much as possible, reducing the total development man-hours. become able to.
本発明によれば、ソフトウェアの開発を効率化できるという効果を奏する。 According to the present invention, it is possible to improve the efficiency of software development.
(実施の形態)
以下に添付図面を参照して、この発明にかかるソフトウェア開発支援装置、ソフトウェア開発支援方法およびソフトウェア開発支援プログラムの好適な実施の形態を詳細に説明する。(Embodiment)
Exemplary embodiments of a software development support apparatus, a software development support method, and a software development support program according to the present invention will be described below in detail with reference to the accompanying drawings.
(ソフトウェア開発支援の概要処理)
図1は、実施の形態にかかるソフトウェア開発支援装置が支援するソフトウェア開発支援の概要処理を示すフローチャートである。ソフトウェア開発支援装置は、下記の手順でソフトウェア開発を支援する。以下の説明では、実機としての組み込み機器を対象装置とするソフトウェア開発の支援を例に説明する。(Summary processing of software development support)
FIG. 1 is a flowchart illustrating an outline process of software development support supported by the software development support apparatus according to the embodiment. The software development support device supports software development in the following procedure. In the following description, software development support using an embedded device as an actual device as a target device will be described as an example.
はじめに、設計者がソフトウェア開発支援装置を用いてソフトウェアの概要を設計する(ステップS101)。この後、設計したソフトウェアの概要を実機で動作させ、実機上での動作を確認する(ステップS102)。ここで、概要の動作確認で問題が生じデバッグや仕様の変更が必要な場合、ステップS101に戻り、概要の設計の修正を行う(図中点線)。 First, a designer designs an outline of software using a software development support device (step S101). Thereafter, the outline of the designed software is operated on the actual machine, and the operation on the actual machine is confirmed (step S102). Here, when a problem occurs in the outline operation check and debugging or specification change is necessary, the process returns to step S101 and the outline design is corrected (dotted line in the figure).
次に、設計者がソフトウェア開発支援装置を用いてソフトウェアの詳細を設計する(ステップS103)。詳細とは、ステップS101で設計した概要を構成する複数の設計項目の一部についてのより詳細な設計内容である。この後、設計したソフトウェアの詳細を実機で動作させ、実機上での動作を確認する(ステップS104)。 Next, the designer designs the details of the software using the software development support device (step S103). The details are more detailed design contents for some of the plurality of design items constituting the outline designed in step S101. Thereafter, the details of the designed software are operated on the actual machine, and the operation on the actual machine is confirmed (step S104).
そして、概要に含まれる複数の詳細の設計、実機確認の終了を判断し(ステップS105)、未だ設計していない詳細があればステップS103に戻る(ステップS105:No)。一方全ての詳細について設計および実機確認が終了すれば(ステップS105:Yes)、以上の処理を終了する。 Then, it is determined whether a plurality of details included in the outline are designed and the actual machine confirmation is finished (step S105). If there are details not yet designed, the process returns to step S103 (No in step S105). On the other hand, if the design and the actual machine confirmation are completed for all details (step S105: Yes), the above processing is terminated.
なお、ステップS104の処理後、詳細の動作確認で問題が生じデバッグや仕様の変更が必要な場合についてもステップS103に戻り、詳細の設計の修正を行う。なお、概要の設計に対して修正が必要な場合には、ステップS101に戻ることもできる(図中点線)。 Note that after the processing in step S104, if a problem occurs in the detailed operation check and debugging or specification change is necessary, the process returns to step S103 to correct the detailed design. Note that if the outline design needs to be corrected, the process can return to step S101 (dotted line in the figure).
上記処理によれば、概要設計と詳細設計とを分離し、現時点で行っている設計についてその場で実機による動作確認を行いながらソフトウェア開発を行うことができる。これにより、概要設計に関わる開発者のみで概要設計でき、詳細設計に関わる開発者のみで詳細設計できるようになる。したがって、開発の各工程で直接関係する開発者のみで開発を進めることができ、不必要に他の開発者の手間(同席等)を煩わせることがなく、開発を効率化できる。 According to the above processing, it is possible to separate the outline design from the detailed design, and to perform software development while confirming the operation of the design currently performed on the spot with the actual machine. As a result, the outline design can be performed only by the developer involved in the outline design, and the detailed design can be performed only by the developer involved in the detailed design. Therefore, development can be carried out only by developers directly related in each development process, and development can be made more efficient without unnecessarily burdening other developers (seats, etc.).
また、概要設計時および詳細設計時にそれぞれ実機による動作確認を行うため、ソフトウェア開発の序盤から実機で動作を確認することができ、設計の手戻りを極力防ぐことができ、全体の開発工数を削減できるようになる。 In addition, since the operation is checked with the actual machine at the time of overview design and detailed design, the operation can be confirmed with the actual machine from the early stage of software development, and rework of the design can be prevented as much as possible, reducing the total development man-hours. become able to.
そして、詳細は後述するが、ソフトウェア開発支援装置と実機とを通信接続し、設計したソフトウェア(ソースコード)を実機に転送することにより、設計に対応する動作確認をリアルタイムに行うこともできるようになり、より効率的なソフトウェア開発が行えるようになる。 As will be described in detail later, the software development support device and the actual machine are connected by communication, and the designed software (source code) is transferred to the actual machine so that the operation confirmation corresponding to the design can be performed in real time. Thus, more efficient software development can be performed.
(ソフトウェア開発支援装置のハードウェア構成)
図2は、ソフトウェア開発支援装置のハードウェア構成例を示すブロック図である。図2において、ソフトウェア開発支援装置200は、制御部(CPU)201と、Read−Only Memory(ROM)202と、Random Access Memory(RAM)203と、半導体メモリやディスクドライブ等の記憶部204と、通信インターフェース(I/F)205と、を含む。これらCPU201〜通信インターフェース205、キーボード206、ディスプレイ207は、バス208によってそれぞれ接続されている。(Hardware configuration of software development support device)
FIG. 2 is a block diagram illustrating a hardware configuration example of the software development support apparatus. In FIG. 2, a software
CPU201は、ソフトウェア開発支援装置200の全体の制御を司る演算処理装置である。ROM202は、ソフトウェア開発支援装置200のプログラム等を記憶する不揮発性メモリである。RAM203は、CPU201によるプログラムの演算処理実行時のワークエリアとして使用される揮発性メモリである。記憶部204には、作成した設計データや実機動作データ等が格納保持される。
The
通信インターフェース205は、ネットワーク210等とのインターフェースを司り、データの入出力を制御する。具体的に、通信インターフェース205は、通信回線を通じてネットワーク210となるLocal Area Network(LAN)、Wide Area Network(WAN)、インターネットなどに接続され、ネットワーク210を介して他の装置に接続される。また、通信インターフェース205は、ネットワーク210に限らず、シリアル通信やUSB接続によって他の装置に接続する構成とすることもできる。
The
特に、実施の形態では、通信インターフェース205を介して、ソフトウェア開発支援装置200には、ソフトウェア開発の実機(組み込み機器)が接続される。詳細は後述するが、実機には、ソフトウェア開発支援装置200が作成したソースコードが転送され、実機上のコンパイラがスクリプト言語のソースコードをVM(Virtual Machine)やインタプリタ形式で実行する。これによりソフトウェア開発支援装置200で設計した内容を実機で動作させることができる。
In particular, in the embodiment, an actual software development device (embedded device) is connected to the software
キーボード206は、設計時や動作テスト時にユーザ操作によるデータ入力を行うために設けられる。ディスプレイ207は、CPU201のプログラム実行により、記憶部204から読み出した設計データや実機動作データを表示する装置である。ディスプレイ207には、例えば、Thin Film Transistor(TFT)液晶表示部、プラズマ表示部、有機EL表示部などを採用することができる。
The
(ソフトウェア開発例)
図3は、ソフトウェア開発の実機の例としてのキッチンタイマーを示す図である。組み込み機器としてのキッチンタイマーのソフトウェア開発を例に説明する。キッチンタイマー300は、表示部301と、操作ボタン302を有する。(Software development example)
FIG. 3 is a diagram illustrating a kitchen timer as an example of an actual machine for software development. The development of software for a kitchen timer as an embedded device will be described as an example. The
操作ボタン302は、分操作ボタン302aと、秒操作ボタン302bと、スタート/ストップ操作ボタン302cとを有する。また、不図示であるが、内部には、プロセッサおよびメモリによる計時機能を有する。
The
このキッチンタイマー300は、以下の3つの状態と、4つのイベントがある。
[状態]
1.停止状態
2.カウントダウン状態
3.アラーム状態
[イベント]
1.スタート/ストップ押下イベント(ハードウェアのスタート/ストップ操作ボタン302c)
2.分押下イベント(ハードウェアの分操作ボタン302a)
3.秒押下イベント(ハードウェアの秒操作ボタン302b)
4.タイマー通知イベント(CPUのソフトウェア処理:カウントダウンの終了通知)The
[State]
1. Stop state 2. Countdown state Alarm status [event]
1. Start / stop pressing event (hardware start /
2. Minute pressing event (hardware
3. Second press event (hardware
4). Timer notification event (CPU software processing: countdown completion notification)
図4〜図6は、実施の形態にかかるソフトウェア開発の手順を説明する図である。はじめに、図4に示すように、キッチンタイマー300のソフトウェア開発の概要設計を行う。この概要設計では、キッチンタイマー300の画面の遷移を設計する。図4〜図6には、それぞれ画面の状態遷移を記載してあり、図4に示す各画面の表示内容はこの後の詳細設計で行う。
4 to 6 are diagrams for explaining a software development procedure according to the embodiment. First, as shown in FIG. 4, the outline design of the software development of the
後述するが、ソフトウェア開発支援装置200は、このソフトウェア開発の設計時に、実機であるキッチンタイマー300をソフトウェア開発支援装置200に接続し、動作確認を行う。
As will be described later, the software
この概要設計では、キッチンタイマー300が有する複数の画面を定めて、各画面間の遷移を設計する。表示部301の表示画面は、タイマー画面401と、ストップウォッチ画面402と、タイマー時間設定画面403と、がある。
In this outline design, a plurality of screens of the
タイマー画面401は、タイマーのタイムアップによりタイマー時間設定画面403に遷移する(状態遷移:D1)。ストップウォッチ画面402は、分操作ボタン302aと秒操作ボタン302bの同時押しでタイマー時間設定画面403に遷移する(状態遷移:D2)。
The
タイマー時間設定画面403は、0秒以外のタイマー設定の状態でスタート/ストップ操作ボタン302cを押すとタイマー画面401に遷移する(状態遷移:D3)。また、0秒のタイマー設定の状態でスタート/ストップ操作ボタン302cを押すとストップウォッチ画面402に遷移する(状態遷移:D4)。
When the start /
上記のように、概要設計では、表示部301の各表示画面401〜403と、各画面遷移だけを設計する。この際、ソフトウェア開発支援装置200は、各表示画面401〜403と、表示画面間の遷移D1〜D4を含むソースコードを作成し、実機であるキッチンタイマー300に転送する。
As described above, in the overview design, only the display screens 401 to 403 of the
図4の概要設計時には、各表示画面401〜403には、例えばタイマー画面401であれば文字列で「タイマー画面」と表示するなど、各表示画面401〜403を識別できる程度の内容を設定しておく。これにより、ソフトウェア開発支援装置200に接続されたキッチンタイマー300は、各表示画面401〜403の状態で操作ボタン302の操作により画面遷移し、ユーザ(開発者)は、この画面遷移(動作)を実機(キッチンタイマー300)上で確認することができる。
At the time of designing the outline of FIG. 4, the display screens 401 to 403 are set to contents that can identify the display screens 401 to 403, for example, “timer screen” is displayed as a character string in the case of the
そして、この実機での確認により、画面遷移が冗長となる場合や、遷移手順が複雑となるような問題、機能に対する画面の不足問題、などをこの概要設計の時点で検出することができ、早期に対応できるようになる。 And by checking with this actual machine, it is possible to detect when the screen transition becomes redundant, problems that make the transition procedure complicated, screen shortage problems for functions, etc. at the time of this general design, It becomes possible to cope with.
次に、図5に示すように、キッチンタイマー300のソフトウェア開発の詳細設計を行う。この詳細設計では、図4により概要設計した各表示画面401〜403に表示する内容(画像、文字等)をより具体的に設計する。図5に示す例では、各表示画面401〜403に1秒単位で1時間までの時間範囲でタイマーカウント用の数値501を表示する例を示している。
Next, as shown in FIG. 5, the detailed design of the software development of the
表示画面401〜403に表示する画像などは、仕様設計者などが仮に作成した画像でもよい。そして、作成した表示の内容(画像、文字等)は、ソフトウェア開発支援装置200の表示画面上でキッチンタイマー300相当の表示画面内にドラッグ&ドロップすることもできる。
Images displayed on the display screens 401 to 403 may be images temporarily created by a specification designer or the like. Then, the created display contents (images, characters, etc.) can be dragged and dropped on the display screen of the software
これにより、ソフトウェア開発支援装置200に接続されたキッチンタイマー300は、各表示画面401〜403の状態で操作ボタン302の操作により画面遷移し、ユーザ(開発者)は、この画面遷移時の動作、すなわち、数値501のカウント状態等の使用感覚を実機(キッチンタイマー300)上で確認することができる。
Thereby, the
次に、図6に示すように、キッチンタイマー300のソフトウェア開発の詳細設計を行う。この詳細設計では、図5により詳細設計した各表示画面401〜403のデザインをより具体的に設計する。図6に示す例では、各表示画面401〜403のタイマーカウント用の数値501のデザイン601(文字フォントに相当)を設計する例について示している。
Next, as shown in FIG. 6, the detailed design of the software development of the
これにより、ソフトウェア開発支援装置200に接続されたキッチンタイマー300は、各表示画面401〜403の状態で操作ボタン302の操作により画面遷移し、ユーザ(開発者)は、この画面遷移時の動作、すなわち、所定のデザイン601でデザインされた数値501のカウント状態の使用感覚を実機(キッチンタイマー300)上で確認することができる。
Thereby, the
上記のソフトウェア開発の手順によれば、図4に示した概要設計の段階で実機動作によりソフトウェア開発にかかる根本的な問題を検出可能となり、修正等の対応が可能となる。この後、図5や図6に示した詳細設計に移行することができる。 According to the above software development procedure, it is possible to detect a fundamental problem related to software development by actual machine operation at the stage of the outline design shown in FIG. Thereafter, the detailed design shown in FIGS. 5 and 6 can be performed.
この点、従来では、図4〜図6に示したような階層的なソフトウェア開発を行っていないため、例えば、図6に示した詳細設計後の実機テストで問題が発生した場合、図4に示す概要設計についても見直しが必要となり、手戻りの作業にかかる工数が大きくなる。同時に、修正後には、図5、図6に示した詳細設計を再度やり直すこともある。 In this regard, conventionally, hierarchical software development as shown in FIGS. 4 to 6 has not been performed. For example, when a problem occurs in the actual machine test after the detailed design shown in FIG. The outline design shown needs to be reviewed, and the man-hours required for reworking work increase. At the same time, after the correction, the detailed design shown in FIGS. 5 and 6 may be performed again.
(ソフトウェア開発支援装置のプログラム動作確認の機能)
図7は、実施の形態のソフトウェア開発支援装置のプログラム動作確認にかかる機能ブロック図である。この図には、実機(キッチンタイマー300)側の機能についても併記してある。(Function for checking program operation of software development support device)
FIG. 7 is a functional block diagram according to the program operation check of the software development support apparatus of the embodiment. This figure also shows the functions on the actual machine (kitchen timer 300) side.
ソフトウェア開発支援装置200は、設計機能部701と、ソースコード生成機能部702と、通信機能部703と、を有する。
The software
設計機能部701は、ユーザ操作により上述した概要設計と詳細設計を行い設計情報711を作成する。ソースコード生成機能部702は、作成された設計情報711に基づきスクリプト言語のソースコード712を自動生成する。このソースコード712は、通信機能部703を介して実機(キッチンタイマー300)に送信される。
The
図7に記載の設計機能部701と、ソースコード生成機能部702の機能は、図2に記載の制御部(CPU201)がROM202に格納されたプログラムを実行し、RAM203を作業領域に用いることにより実現できる。図7に記載の設計情報711と、ソースコード712は、図2に記載の記憶部204に格納保持される。また、図7に記載の通信機能部703は、図2に記載の通信インターフェース205を用いて実現できる。
The functions of the
実機(キッチンタイマー300)は、キッチンタイマーとしての基本機能に加えて、プログラム動作確認の追加機能部として通信機能部721と、スクリプト言語コンパイラ部722と、スクリプト言語実行部723と、ライブラリ機能部724と、を有する。なお、これらの追加機能部は、全体でも数百Kbyte程度であり、実機(キッチンタイマー300)のメモリ消費や処理負担を抑えることができる。
In addition to the basic function as a kitchen timer, the actual machine (kitchen timer 300) includes a
通信機能部721は、ソフトウェア開発支援装置200から送信されたソースコード712を受信する。スクリプト言語コンパイラ部722は、ソースコード712をコンパイルし、スクリプト言語のオブジェクトコード(ユーザの作成プログラム)732を生成する。
The
スクリプト言語実行部723は、生成されたオブジェクトコード732をVM上で実行する。VMに限らずインタプリタ形式で実行してもよい。ライブラリ機能部724には、予め処理速度の必要な部分や静的に処理が決まっている部分などを予めC言語等で作成してライブラリとして実機(キッチンタイマー300)に組み込まれ、オブジェクトコード732によって呼び出される。
The script
実機(キッチンタイマー300)についても、図2同様のCPU,ROM,RAM,メモリを有する。また、通信機能部721は、このプログラム動作確認時にのみ外付けしてもよい。
The actual machine (kitchen timer 300) also has the same CPU, ROM, RAM, and memory as in FIG. Further, the
図8は、実施の形態のソフトウェア開発支援装置のプログラム動作確認の手順を説明する図である。ソフトウェア開発支援装置200は、汎用のPCを用い、通信インターフェース205により、通信ケーブル800やネットワーク210を介して実機(キッチンタイマー300)に通信接続する。
FIG. 8 is a diagram for explaining a procedure for checking the program operation of the software development support apparatus according to the embodiment. The software
はじめに、(1)ソフトウェア開発支援装置(PC)200の表示画面801上で、ユーザがソフトウェア設計する。このソフトウェア設計では、上述した概要設計および詳細設計の階層構造により状態遷移や画面レイアウトを設計する。
First, (1) the user designs software on the
そして、(2)ソフトウェア開発支援装置(PC)200は、設計情報711からスクリプト言語のソースコード712を自動生成する。次に、(3)ソフトウェア開発支援装置(PC)200は、実機(キッチンタイマー300)に対してソースコード712を転送する。
Then, (2) the software development support apparatus (PC) 200 automatically generates a script
次に、(4)実機(キッチンタイマー300)上で動作しているスクリプト言語コンパイラ部722に、ソースコード712を渡してコンパイルする。そして、生成されたオブジェクトコード732をスクリプト言語実行部(VM)723上で実行する。
Next, (4) the
これにより、ソフトウェア開発支援装置200上で設計した内容を実機(キッチンタイマー300)上で動作させることができる。そして、この動作確認は、上述したように、概要設計時、および詳細設計時、のそれぞれにおいて行うことができる。このような階層的なソフトウェア開発により、逐次確認しながら実機(キッチンタイマー300)の動作をリアルタイムに直接見ながら行えるため、ソフトウェア開発を効率的に行えるようになる。
Thereby, the contents designed on the software
そして、ソフトウェア開発支援装置200の表示画面801上には設計情報711に基づく期待した動作状態が表示され、実機(キッチンタイマー300)の表示部301には、ソースコード712の実行に基づく動作状態が表示される。したがって、これら表示画面801と表示部301の異同等に基づく設計の問題抽出も行える。
The expected operation state based on the
(ソフトウェア開発支援装置の自動テスト実行の機能)
図9は、実施の形態のソフトウェア開発支援装置の自動テスト実行にかかる機能ブロック図である。この図には、実機(キッチンタイマー300)側の機能についても併記してある。(Software test support device automatic test execution function)
FIG. 9 is a functional block diagram according to the automatic test execution of the software development support apparatus of the embodiment. This figure also shows the functions on the actual machine (kitchen timer 300) side.
上記プログラム動作確認(図7,図8参照)により所定の設計が終了した後、実機(キッチンタイマー300)の動作確認のためのテストを自動実行することができる。 After the predetermined design is completed by the program operation confirmation (see FIGS. 7 and 8), a test for confirming the operation of the actual machine (kitchen timer 300) can be automatically executed.
ソフトウェア開発支援装置200は、テスト機能部901と、通信機能部703(図7参照)と、を有する。
The software
テスト機能部901は、ユーザ操作によるテストシナリオによってテストシナリオデータ911を作成する。このテストシナリオデータ911は、通信機能部703を介して実機(キッチンタイマー300)に転送される。
The
図9に記載のテスト機能部901の機能についても、図2に記載のCPU201がROM202に格納されたプログラムを実行し、RAM203を作業領域に用いることにより実現できる。図9に記載のテストシナリオデータ911は、図2に記載の記憶部204に格納保持される。
The function of the
実機(キッチンタイマー300)は、キッチンタイマーとしての基本機能に加えて、自動テスト実行の追加機能部として通信機能部721と、テスト管理機能部921と、を有する。
The actual machine (kitchen timer 300) includes a
通信機能部721は、ソフトウェア開発支援装置200から送信されたテストシナリオデータ911を受信する。テスト管理機能部921は、テストシナリオデータ911を読み込み解釈する。
The
そして、テスト管理機能部921は、ユーザ作成プログラム931、すなわち、実機(キッチンタイマー300)として作成したプログラム(アプリケーション)に対して、テスト用模擬情報(イベント/データ)の通知を行い、テストを自動実行する。また、テスト管理機能部921は、テスト実行結果を取得して、ソフトウェア開発支援装置200に転送する。
Then, the test
図10は、実施の形態のソフトウェア開発支援装置の自動テスト実行の手順を説明する図である。ソフトウェア開発支援装置200は、上述したプログラム動作確認(図8参照)の後に、実機(キッチンタイマー300)として作成したプログラム(アプリケーション)に対する自動テストを実行する。
FIG. 10 is a diagram illustrating a procedure for executing an automatic test of the software development support apparatus according to the embodiment. The software
はじめに、(1)ソフトウェア開発支援装置(PC)200の表示画面801上で、ユーザ操作によるテストシナリオによってテストシナリオデータ911を作成する。そして、(2)このテストシナリオデータ911は、通信機能部703を介して実機(キッチンタイマー300)に転送される。
First, (1)
そして、(3)実機(キッチンタイマー300)では、ソフトウェア開発支援装置200から送信されたテストシナリオデータ911を受信し、テスト管理機能部921がテストシナリオデータ911を読み込み解釈する。そして、テスト管理機能部921は、ユーザ作成プログラム931(キッチンタイマー300のアプリケーション)に対して、テスト用模擬情報(イベント/データ)の通知を行い、テストを自動実行する。
(3) The actual machine (kitchen timer 300) receives the
この後、(4)テスト管理機能部921は、テスト結果を取得して、ソフトウェア開発支援装置200に送信する。(5)ソフトウェア開発支援装置200は、実機(キッチンタイマー300)から送信されたテスト結果を受信し、テスト結果を管理する。例えば、テスト結果をソフトウェア開発支援装置200の表示画面801上に表示したり、外部出力したりする。
Thereafter, (4) the test
これにより、ソフトウェア開発支援装置200上で作成したテストデータを実機(キッチンタイマー300)上で動作させ自動テストを実行することができる。そして、この自動テストは、ソフトウェア開発支援装置200に実機(キッチンタイマー300)を接続した状態で、実機(キッチンタイマー300)の動作をリアルタイムに直接見ながら行える。
Thereby, the test data created on the software
この際、テストシナリオデータ911にしたがい、例えばイベント毎にテストを実行していくことができ、テスト実行結果、例えば合否結果やテスト動作状態を逐次確認できるため、テスト効率を向上できるようになる。
At this time, according to the
上記実施の形態では、実機としてキッチンタイマーの表示の設計例を説明したが、これに限らず各種の組み込み機器や表示以外の設計にも同様に適用することができ、組み込み機器のソフトウェア開発を効率化できるようになる。 In the above embodiment, the design example of the display of the kitchen timer has been described as an actual machine. However, the present invention is not limited to this, and can be similarly applied to various types of embedded devices and designs other than displays. It becomes possible to become.
以上説明したように、実施の形態によれば、概要設計と詳細設計とを明確に分離してソフトウェア開発を行うことができ、開発の各工程で直接関係する開発者のみで開発を進めることができるため、開発を効率化できる。 As described above, according to the embodiment, the software development can be performed by clearly separating the outline design and the detailed design, and the development can be promoted only by developers directly related in each development process. This can make development more efficient.
また、概要設計時および詳細設計時にそれぞれ実機による動作確認を行うことができるため、ソフトウェア開発の序盤から実機で動作を確認することができ、設計の手戻りを極力防ぐことができ、全体の開発工数を削減できるようになる。 In addition, since the operation can be checked with the actual machine at the time of the overview design and the detailed design, the operation can be confirmed with the actual machine from the early stage of software development, and rework of the design can be prevented as much as possible. Man-hours can be reduced.
さらには、テストデータを実機に転送することにより、実機の動作をリアルタイムに直接見ながら動作のテストを自動実行することができるようになり、テストを含めたソフトウェア開発の効率化を図ることができるようになる。 Furthermore, by transferring the test data to the actual machine, it becomes possible to automatically execute the test of the operation while directly viewing the operation of the actual machine in real time, which can improve the efficiency of software development including the test. It becomes like this.
以上のように、本発明は、組み込み機器等の対象装置のプログラム開発を支援する装置に有用である。 As described above, the present invention is useful for a device that supports program development of a target device such as an embedded device.
200 ソフトウェア開発支援装置
201 CPU
202 ROM
203 RAM
204 記憶部
205 通信インターフェース
300 実機(キッチンタイマー)
301 表示部
302 操作ボタン
401〜403,801 表示画面
701 設計機能部
702 ソースコード生成機能部
703,721 通信機能部
711 設計情報
712 ソースコード
722 スクリプト言語コンパイラ部
723 スクリプト言語実行部
724 ライブラリ機能部
732 スクリプト言語オブジェクトコード
800 通信ケーブル
901 テスト機能部
911 テストシナリオデータ
921 テスト管理機能部
931 ユーザ作成プログラム200 Software
202 ROM
203 RAM
204
Claims (6)
前記概要設計の動作確認後に、当該概要設計に関連する詳細な設計段階に必要な処理と、当該詳細設計に基づく前記対象装置の動作確認に必要な処理とを実行する制御部、
を有することを特徴とするソフトウェア開発支援装置。Performing processing necessary at the design stage of the outline of software development of the target device and processing necessary for confirming the operation of the target device based on the outline design;
A control unit that executes processing necessary for a detailed design stage related to the outline design and processing necessary for operation confirmation of the target device based on the detailed design after confirming the operation of the outline design;
A software development support apparatus characterized by comprising:
ユーザ操作による前記概要設計および前記詳細設計に基づく設計情報を作成する設計機能部と、
前記設計情報に基づき、前記対象装置を動作させるソースコードを生成するソースコード生成機能部と、を有し、
さらに、前記対象装置を動作させるために、前記ソースコードを前記対象装置に転送する通信機能部を有する、
ことを特徴とする請求項1に記載のソフトウェア開発支援装置。The controller is
A design function unit for creating design information based on the outline design and the detailed design by a user operation;
A source code generation function unit that generates a source code for operating the target device based on the design information;
And a communication function unit that transfers the source code to the target device to operate the target device.
The software development support apparatus according to claim 1.
前記概要設計の動作確認時に問題が生じた場合、再度前記概要設計と当該概要設計の動作確認に必要な処理を実行し、
前記概要設計の動作確認時の問題の修正後に前記詳細設計に移行する、
ことを特徴とする請求項1または2に記載のソフトウェア開発支援装置。The controller is
If a problem occurs during operation check of the outline design, the outline design and processing necessary for operation check of the outline design are executed again,
Transition to the detailed design after correcting the problem when confirming the operation of the general design,
The software development support apparatus according to claim 1, wherein the software development support apparatus is a software development support apparatus.
前記概要設計および前記詳細設計時の前記設計情報を表示することにより、前記表示内容に対応する前記対象装置の動作を確認できる、
ことを特徴とする請求項2に記載のソフトウェア開発支援装置。The controller is
By displaying the design information at the time of the outline design and the detailed design, the operation of the target device corresponding to the display content can be confirmed,
The software development support apparatus according to claim 2.
対象装置のソフトウェア開発の概要の設計段階で必要な処理と、当該概要設計に基づく前記対象装置の動作確認に必要な処理と、
前記概要設計の動作確認後に、当該概要設計に関連する詳細な設計段階に必要な処理と、当該詳細設計に基づく前記対象装置の動作確認に必要な処理と、
を実行することを特徴とするソフトウェア開発支援方法。Computer
Processing required in the design stage of the outline of software development of the target device, processing required for operation confirmation of the target device based on the general design,
After the operation check of the outline design, a process necessary for a detailed design stage related to the outline design, a process necessary for the operation check of the target device based on the detailed design,
Software development support method characterized by executing
対象装置のソフトウェア開発の概要の設計段階で必要な処理と、当該概要設計に基づく前記対象装置の動作確認に必要な処理と、
前記概要設計の動作確認後に、当該概要設計に関連する詳細な設計段階に必要な処理と、当該詳細設計に基づく前記対象装置の動作確認に必要な処理と、
を実行させることを特徴とするソフトウェア開発支援プログラム。On the computer,
Processing required in the design stage of the outline of software development of the target device, processing required for operation confirmation of the target device based on the general design,
After the operation check of the outline design, a process necessary for a detailed design stage related to the outline design, a process necessary for the operation check of the target device based on the detailed design,
A software development support program characterized by causing
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2014/056217 WO2015136606A1 (en) | 2014-03-10 | 2014-03-10 | Software development assistance device, software development assistance method, and software development assistance program |
Publications (1)
Publication Number | Publication Date |
---|---|
JPWO2015136606A1 true JPWO2015136606A1 (en) | 2017-04-06 |
Family
ID=54071086
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016507150A Pending JPWO2015136606A1 (en) | 2014-03-10 | 2014-03-10 | Software development support apparatus, software development support method, and software development support program |
Country Status (2)
Country | Link |
---|---|
JP (1) | JPWO2015136606A1 (en) |
WO (1) | WO2015136606A1 (en) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0338153A (en) * | 1989-07-05 | 1991-02-19 | Hitachi Ltd | Exchange system software design support system |
JPH06103046A (en) * | 1991-11-01 | 1994-04-15 | Televerket | System design method |
JPH0895776A (en) * | 1994-09-29 | 1996-04-12 | Nec Software Ltd | Software process management device |
JP2000276339A (en) * | 1999-03-25 | 2000-10-06 | Digital Electronics Corp | System and method for processing picture data |
JP2007079855A (en) * | 2005-09-13 | 2007-03-29 | I L C:Kk | Information processor, program providing device, program providing method, and program making computer execute the method |
JP2008077316A (en) * | 2006-09-20 | 2008-04-03 | I L C:Kk | Verification device, verification program and verification method |
JP2011022774A (en) * | 2009-07-15 | 2011-02-03 | Mitsubishi Electric Corp | Availability evaluation device, computer program and availability evaluation method |
-
2014
- 2014-03-10 JP JP2016507150A patent/JPWO2015136606A1/en active Pending
- 2014-03-10 WO PCT/JP2014/056217 patent/WO2015136606A1/en active Application Filing
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0338153A (en) * | 1989-07-05 | 1991-02-19 | Hitachi Ltd | Exchange system software design support system |
JPH06103046A (en) * | 1991-11-01 | 1994-04-15 | Televerket | System design method |
JPH0895776A (en) * | 1994-09-29 | 1996-04-12 | Nec Software Ltd | Software process management device |
JP2000276339A (en) * | 1999-03-25 | 2000-10-06 | Digital Electronics Corp | System and method for processing picture data |
JP2007079855A (en) * | 2005-09-13 | 2007-03-29 | I L C:Kk | Information processor, program providing device, program providing method, and program making computer execute the method |
JP2008077316A (en) * | 2006-09-20 | 2008-04-03 | I L C:Kk | Verification device, verification program and verification method |
JP2011022774A (en) * | 2009-07-15 | 2011-02-03 | Mitsubishi Electric Corp | Availability evaluation device, computer program and availability evaluation method |
Non-Patent Citations (3)
Title |
---|
"広告企画 日本を支える中小ものづくり注目企業ガイド:アイ・エル・シー INTERNATIONAL LA", 日経エレクトロニクス, vol. 第1025号, JPN6014014253, 8 March 2010 (2010-03-08), JP, pages p.55 * |
VOS3 オンラインプロトタイプ設計支援システム EAGLE−C/ONPROT 解説/使用の手引, vol. 第1版, JPN6014014252, May 1989 (1989-05-01), JP, pages p.14−15 * |
平林俊一: "HMIシナリオ製作用オーサリングシステム:Inspirium HMI−Studio", FUJITSU, vol. Vol.63,No.4(通巻371号), JPN6014014255, 10 July 2012 (2012-07-10), JP, pages p.440−441 * |
Also Published As
Publication number | Publication date |
---|---|
WO2015136606A1 (en) | 2015-09-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20170286068A1 (en) | Development support system | |
US11048838B2 (en) | Integrated circuits as a service | |
JP4600601B1 (en) | Debug support device, debug support method, and debug support program | |
WO2015136607A1 (en) | Software development assistance system, software development assistance method, and software development assistance program | |
TWI486804B (en) | Execution monitor for electronic design automation | |
JP2009075965A (en) | Software development method and software development device | |
WO2015136606A1 (en) | Software development assistance device, software development assistance method, and software development assistance program | |
JP2012168900A (en) | Programming device and program | |
Lu et al. | Implementation of continuous integration and automated testing in software development of smart grid scheduling support system | |
JP2009223471A (en) | Simulation system | |
JP6322631B2 (en) | Embedded software development method, programming device and embedded device | |
JP5733269B2 (en) | Method for supporting program generation and apparatus for supporting program generation | |
JP2016200872A (en) | Control program creation device, control program debug method | |
JP6279750B2 (en) | Source code equivalence verification device | |
JP2004070561A (en) | Debugging device | |
Majchrzak | Best practices for technical aspects of software testing in enterprises | |
CN109857406B (en) | Satellite embedded software batch processing system and method | |
WO2022190417A1 (en) | Development support device, development support method, and development support program | |
JP2018128919A (en) | Work plan creation system, work plan creation method and work plan creation program | |
JP2011165051A (en) | Development support device, method and program | |
JP5120166B2 (en) | Embedded software development support system, support method and program | |
JP2022175568A (en) | Version management method, version management program, and version management system | |
JP5621426B2 (en) | Option information analysis system, option information analysis method and program | |
JP6314141B2 (en) | Document creation method and document creation apparatus for embedded software | |
Asaithambi et al. | Pragmatic Approach to Test Case Reuse-A Case Study in Android OS BiDiTests Library |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20170307 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20171010 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20171208 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20180522 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20180723 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20181225 |