System development methods

記事
IT・テクノロジー

System development methods

(1)Waterfall model
This model is to developing the system from requirement definition to testing
in order. This model name comes from the flow of the waterfall.
Please image building your own house. The order is as follows.

①Requirement Definition
The housebuilder asks what kind of house the customer wants to build.
How many floors? How about color? Just like this.
Screenshot 2020-12-05 at 15.27.11.png


②External Design
To design the new house like drawing a rough sketch.
Screenshot 2020-12-05 at 15.25.11.png


③Internal Design
To choose the materials of all parts.
Screenshot 2020-12-05 at 15.34.29.png



④Program Design
To draw up a blueprint including the size of all parts.
Screenshot 2020-12-05 at 15.09.01.png

⑤Coding
To build a new house with the saws or the hammers.
Screenshot 2020-12-05 at 15.20.34.png


⑥Testing(Unit testing, integration testing and system testing, etc.)
To check whether there are the place poorly constructed or water leaks.
Screenshot 2020-12-05 at 15.29.51.png


⑦Preparing for the transition and operation
The customer begins to live in this new house.
Screenshot 2020-12-05 at 15.28.14.png


■Feather
・It is easy to manage progress and process.
・It is difficult to respond to changes the specifications and It is easy to delay
   the discovery of mistakes.
・The earlier the cause of the mistakes is, the higher the correction cost will
   be.
・Delays in finding mistakes increase the cost of correction.


(2)Prototyping model
This is a development technique for creating prototypes. Customers can
confirm the requested contents as soon as possible.

■Feather
・You can give customers a sense of participation in system development.
・You can remove misunderstandings and ambiguities between developers
   and customers.


(3)Agile model
It is a method of proceeding with development by repeating implementation
and testing in small units. It is possible to shorten the development period.

■Feather
・You can fix mistakes with less man-hours when they are found.
・It is difficult to grasp the schedule and progress. This is because you
   proceed with development without making a detailed plan.


(4)Spiral model
It is a development technique that incorporates the methods of both the
waterfall model and the prototyping model. At the beginning of the
development process, the system is divided into highly independent parts,
and each part is designed, programmed, tested, and repeated to develop
the system.

■Feather
・It is possible to respond flexibly if the plan changes.
・You can minimize the burden of changing on the way and redoing.

-----------------------------------------------------------------
[Japanese]

システム開発の手法

(1)ウォータフォールモデル
要件定義からテストまでを滝の水の流れのように逆流することなく開発する
手法です。マイホームの建築に例えると、下記①〜⑦の順に行われます。

①要件定義
建築会社が顧客からどんな家を作りたいか聞きます。
Screenshot 2020-12-05 at 15.27.11.png


②外部設計(基本設計ともいいます)
形、色など大まかなデザインを考えます。
Screenshot 2020-12-05 at 15.25.11.png


③内部設計(詳細設計ともいいます)
木材などの具体的な材質を考えます。
Screenshot 2020-12-05 at 15.34.29.png


④プログラム設計
寸法も含めて設計図を描きます。
Screenshot 2020-12-05 at 15.09.01.png


⑤プログラミング
のこぎりやハンマーなどを利用して家作り。
Screenshot 2020-12-05 at 15.20.34.png


⑥テスト(単体テスト、結合テスト、総合テストなど)
建て付けに問題はないか、水漏れしないかなどをチェックします。
Screenshot 2020-12-05 at 15.29.51.png


⑦移行準備・運用
顧客が家に住み始めます。
Screenshot 2020-12-05 at 15.28.14.png

■特徴
・進捗管理や工程管理が行いやすいです。
・仕様の変更に弱く、誤りの発見が遅れやすいです。
・誤りが発生した場合、原因が開発の初期段階であればあるほど修正コスト
 が高くなってしまいます。


(2)プロトタイピングモデル
システム開発の早い段階でユーザーが要求したインタフェースを目で確認できるように、試作品(プロトタイプ)を作成する開発技法です。

■特徴
・ユーザーにシステム開発の参加意識を持たせることができます。
・開発者とユーザー間の認識のずれや曖昧さを取り除くことができます。


(3)アジャイルモデル
アジャイル(Agile)とは、直訳すると「素早い」という意味です。小単位で実装とテストを繰り返して開発を進めていきます。これにより、従来の開発手法に比べて開発期間を短縮することができます。

■特徴
・不具合が発覚した際に戻る工数が少ないです。
・計画を詳細に立案せずに開発を進めるため、スケジュールや進捗具合が
 把握しにくいです。


(4)スパイラルモデル
ウォータフォールモデルとプロトタイピングモデルの両方の手法を取り入れた開発技法です。システムを開発工程の初期に独立性の高い部分に分割し、各部分ごとに設計、プログラミング、テストを行い、それを繰り返すことでシステムを開発します。

■特徴
・計画変更が起こっても柔軟に対応できます。
・途中変更や、やり直しなどの負担を最小限に抑えることができます。

サービス数40万件のスキルマーケット、あなたにぴったりのサービスを探す