SlideShare a Scribd company logo
システム開発の流れ
株式会社エル
伝えたいこと
1
このスライドを通して、伝えたいことは主に3つ
1. 「プロジェクト」とはなにか?
2. 「システム開発」とはなにか?
3. 各工程でなにをするのか?
プロジェクトとはなにか?
システム開発の多くが「プロジェクト」形式で遂行する。
多くのエンジニアは、なにかしらのプロジェクトに身を置くことになる。
※ IT業界では保守系のプログラマやインフラエンジニア、ヘルプデスクなど幅広い職種が
ある。
そのため、エンジニアにとっては、「技術的なスキル」と同様に、
プロジェクト等についてなどの「マネジメントスキル」も同じくらい重要になる。
2
プロジェクトの定義
プロジェクトの定義は2つしかない。
1. 有期性(Temporary)
→期限が存在すること
2. 独自性(Unique)
→通常業務ではないこと
3
プロジェクトの歴史
プロジェクトマネジメントの歴史は浅い。
近代的なプロジェクトマネジメントの始まりは、
第二次大戦中の1941年アメリカでの「マンハッタン計画(原子爆弾開発プロジェクト)」
だと言われている。
また、1960年のアポロ計画でも大きな前進があった。
ただし、過去の歴史においてもプロジェクトは存在した。
中国の「万里の長城」、エジプトの「ピラミッド」を始めとして、
大規模な建築物の構築には、なんらかのマネジメントが行われていたはずである。
4
プロジェクトマネジメントにおける標準
プロジェクトマネジメントにおける事実的標準は、PMIによる「PMBOK」となっている。
10個の知識エリア、5のプロセス群、47のプロセスなど詳細にプロジェクトについて学ぶ
ことができる。
また、PMPという資格も発行している。
マネジメントについて、興味がある方は是非。
(ただし、マネジメントは座学ではなく、“実践”であることを忘れないように。)
※ PMBOKでは「200~300人で3~5年かけて行う大規模なプロジェクト」を想定している
5
システム開発とはなにか
1.受託開発
お客様から○○のシステムを作ってほしいと依頼を受けたり、
こちらから提案して、お客様の会社にあったシステムを構築します。
既存のパッケージの組み合わせや、フルスクラッチで開発することもあります。
2.自社製品開発
自社で企画・開発した製品やサービスをお客様に提供します。
6
開発手法
1.ウォーターフォール型開発
日本の多くの企業で採用されている開発手法
要件定義~検収まで各工程を一つずつこなしていく。
※ 前工程に戻らないことを前提、もしくは期待されている
2.アジャイル開発(反復開発)
海外では主流となっている開発手法で、日本ではスタートアップや自社サービスを提供
している勢いの会社では採用されている開発手法。
XPや、Scrumなどの方法論に分けられる。
7
ウォーターフォール開発(WF)
8
要件定義
基本設計
詳細設計
製造
単体テスト
結合テスト
システム
テスト
水の流れのように、上から下へ
V字モデル
9
ウォーターフォールの変形で、各工程間の関係を表す
要件定義
基本設計
詳細設計
製造
単体テスト
結合テスト
システム
テスト
アジャイル開発(Agile)
10
設計
プログラミン
グ
テスト
設計
プログラミン
グ
テスト
設計
プログラミン
グ
テスト
設計~実装までのサイクルを、繰り返していく。
要件定義フェーズ
11
目的
要件定義フェーズではシステムで実現したいことを明確にします。
厳密には要件定義以前の工程に要求定義というものがあり、
その工程でエンドユーザの要求を整理します。
要件定義では要求定義に従って、業務要件やシステム化要件を定義します。
成果物
・要件定義書
・業務フロー/新業務フロー
基本設計フェーズ
12
目的
基本設計フェーズでは、個々の業務をシステムに落とし込み、それに応じた画面や帳票を設計したり、
テーブル定義を行います。
また、ハードウェア/ソフトウェアの構造や実装方針を決定したり、個々の画面のビジネスロジックを検
討します。
成果物
・基本設計書
・画面/帳票設計書
・テーブル定義書
・バッチ設計書
・ネットワーク構成図
詳細設計フェーズ
13
目的
詳細設計フェーズでは基本設計で決めたことを、プログラムレベルに落とし込んでいきます。
システム/関数などのインターフェースの設計や、正常/異常系の処理などを具体的なレベルで設計しま
す。
成果物
・詳細設計書
・ER図
製造(プログラミング)フェーズ
14
目的
製造フェーズでは、詳細設計書を元にして、実際にプログラミングを行います。
成果物
・ソースコード
・実行モジュール
単体テストフェーズ
15
目的
単体テストフェーズでは、実装されたクラス・関数レベルの入出力に、バグの摘出を行います。
この工程以前で、単体テストの方針や、実施方法などを決めておく必要があります。
テスト設計では、同値分割法や境界値分析などを利用して行われることが多いです。
成果物
・単体テスト仕様書
結合テストフェーズ
16
目的
結合テストフェーズでは、各画面や帳票などが正しく出力されているか、
データの入出力に誤りかないか、基本設計を満たしていないところはないか、仕様バグやプログラムの
バグを摘出します。
成果物
・結合テスト仕様書
システムテストフェーズ
17
目的
システムテストでは、可能な限り実際の環境で、実際に利用するデータを用いてテストを実施します。
このテストでは、シナリオを作成して、シナリオに沿ってテストを行うこともあります。
このテストが仕上げ段階になるため、仕様を満たしているか、性能を満たしているか厳しくチェックを
行います。
成果物
・システムテスト仕様書
参考文献
• What is Project Management?(PMI)
https://www.pmi.org/about/learn-about-pmi/what-is-project-management
• 非ウォーターフォール型開発の普及要因と適用領域の拡大に関する調査報告書(IPA)
http://www.ipa.go.jp/sec/softwareengineering/reports/20120611.html
• Kent Beck『エクストリームプログラミング 』オーム社
*本ファイルの無断転用・無断コピーは固くお断りします。
19
el

More Related Content

What's hot

リーンスタートアップ実践者によるSDGs事業立ち上げ支援の取り組み
リーンスタートアップ実践者によるSDGs事業立ち上げ支援の取り組みリーンスタートアップ実践者によるSDGs事業立ち上げ支援の取り組み
リーンスタートアップ実践者によるSDGs事業立ち上げ支援の取り組み
Arata Fujimura
 
チケット駆動開発現場の最前線.pdf
チケット駆動開発現場の最前線.pdfチケット駆動開発現場の最前線.pdf
チケット駆動開発現場の最前線.pdf
Yokoba
 
われわれはなぜアジャイルに向かうのか
われわれはなぜアジャイルに向かうのかわれわれはなぜアジャイルに向かうのか
われわれはなぜアジャイルに向かうのか
toshihiro ichitani
 
"DAD本"の歩き方 - DevLOVE #134
"DAD本"の歩き方 - DevLOVE #134"DAD本"の歩き方 - DevLOVE #134
"DAD本"の歩き方 - DevLOVE #134
Hiromasa Oka
 
あなたのチームの「いい人」は機能していますか?
あなたのチームの「いい人」は機能していますか?あなたのチームの「いい人」は機能していますか?
あなたのチームの「いい人」は機能していますか?
Minoru Yokomichi
 
これから始めるSpringのwebアプリケーション
これから始めるSpringのwebアプリケーションこれから始めるSpringのwebアプリケーション
これから始めるSpringのwebアプリケーション
土岐 孝平
 
劇的改善 Ci4時間から5分へ〜私がやった10のこと〜
劇的改善 Ci4時間から5分へ〜私がやった10のこと〜劇的改善 Ci4時間から5分へ〜私がやった10のこと〜
劇的改善 Ci4時間から5分へ〜私がやった10のこと〜
aha_oretama
 
プログラミング支援AI GitHub Copilot すごいの話
プログラミング支援AI GitHub Copilot すごいの話プログラミング支援AI GitHub Copilot すごいの話
プログラミング支援AI GitHub Copilot すごいの話
Mitsushige Ishiguro
 
うそのアジャイル、まことのアジャイル 公開用
うそのアジャイル、まことのアジャイル 公開用うそのアジャイル、まことのアジャイル 公開用
うそのアジャイル、まことのアジャイル 公開用
ESM SEC
 
オブジェクト指向設計の原則
オブジェクト指向設計の原則オブジェクト指向設計の原則
オブジェクト指向設計の原則
Toru Koido
 
大企業アジャイルの勘所(ver1.1) #アジャイルマネジメントセミナー
大企業アジャイルの勘所(ver1.1) #アジャイルマネジメントセミナー大企業アジャイルの勘所(ver1.1) #アジャイルマネジメントセミナー
大企業アジャイルの勘所(ver1.1) #アジャイルマネジメントセミナー
Itsuki Kuroda
 
オトナのTDD(テスト駆動開発)入門
オトナのTDD(テスト駆動開発)入門オトナのTDD(テスト駆動開発)入門
オトナのTDD(テスト駆動開発)入門
Yoshinori Yamanouchi
 
RDRAモデリングを見てみよう
RDRAモデリングを見てみようRDRAモデリングを見てみよう
RDRAモデリングを見てみよう
Zenji Kanzaki
 
データベース01 - データベースとは
データベース01 - データベースとはデータベース01 - データベースとは
データベース01 - データベースとは
Kenta Oku
 
継続的にテスト可能な設計を考える
継続的にテスト可能な設計を考える継続的にテスト可能な設計を考える
継続的にテスト可能な設計を考える
Atsushi Nakamura
 
改善の型 コーチングの型
改善の型 コーチングの型改善の型 コーチングの型
改善の型 コーチングの型
Masanori Kado
 
RDRA DDD Agile
RDRA DDD AgileRDRA DDD Agile
RDRA DDD Agile
増田 亨
 
すぐに分かる!プロジェクト計画の作り方
すぐに分かる!プロジェクト計画の作り方すぐに分かる!プロジェクト計画の作り方
すぐに分かる!プロジェクト計画の作り方
Eisuke Sugitani
 
Springを何となく使ってる人が抑えるべきポイント
Springを何となく使ってる人が抑えるべきポイントSpringを何となく使ってる人が抑えるべきポイント
Springを何となく使ってる人が抑えるべきポイント
土岐 孝平
 
実践に向けたドメイン駆動設計のエッセンス
実践に向けたドメイン駆動設計のエッセンス実践に向けたドメイン駆動設計のエッセンス
実践に向けたドメイン駆動設計のエッセンス
増田 亨
 

What's hot (20)

リーンスタートアップ実践者によるSDGs事業立ち上げ支援の取り組み
リーンスタートアップ実践者によるSDGs事業立ち上げ支援の取り組みリーンスタートアップ実践者によるSDGs事業立ち上げ支援の取り組み
リーンスタートアップ実践者によるSDGs事業立ち上げ支援の取り組み
 
チケット駆動開発現場の最前線.pdf
チケット駆動開発現場の最前線.pdfチケット駆動開発現場の最前線.pdf
チケット駆動開発現場の最前線.pdf
 
われわれはなぜアジャイルに向かうのか
われわれはなぜアジャイルに向かうのかわれわれはなぜアジャイルに向かうのか
われわれはなぜアジャイルに向かうのか
 
"DAD本"の歩き方 - DevLOVE #134
"DAD本"の歩き方 - DevLOVE #134"DAD本"の歩き方 - DevLOVE #134
"DAD本"の歩き方 - DevLOVE #134
 
あなたのチームの「いい人」は機能していますか?
あなたのチームの「いい人」は機能していますか?あなたのチームの「いい人」は機能していますか?
あなたのチームの「いい人」は機能していますか?
 
これから始めるSpringのwebアプリケーション
これから始めるSpringのwebアプリケーションこれから始めるSpringのwebアプリケーション
これから始めるSpringのwebアプリケーション
 
劇的改善 Ci4時間から5分へ〜私がやった10のこと〜
劇的改善 Ci4時間から5分へ〜私がやった10のこと〜劇的改善 Ci4時間から5分へ〜私がやった10のこと〜
劇的改善 Ci4時間から5分へ〜私がやった10のこと〜
 
プログラミング支援AI GitHub Copilot すごいの話
プログラミング支援AI GitHub Copilot すごいの話プログラミング支援AI GitHub Copilot すごいの話
プログラミング支援AI GitHub Copilot すごいの話
 
うそのアジャイル、まことのアジャイル 公開用
うそのアジャイル、まことのアジャイル 公開用うそのアジャイル、まことのアジャイル 公開用
うそのアジャイル、まことのアジャイル 公開用
 
オブジェクト指向設計の原則
オブジェクト指向設計の原則オブジェクト指向設計の原則
オブジェクト指向設計の原則
 
大企業アジャイルの勘所(ver1.1) #アジャイルマネジメントセミナー
大企業アジャイルの勘所(ver1.1) #アジャイルマネジメントセミナー大企業アジャイルの勘所(ver1.1) #アジャイルマネジメントセミナー
大企業アジャイルの勘所(ver1.1) #アジャイルマネジメントセミナー
 
オトナのTDD(テスト駆動開発)入門
オトナのTDD(テスト駆動開発)入門オトナのTDD(テスト駆動開発)入門
オトナのTDD(テスト駆動開発)入門
 
RDRAモデリングを見てみよう
RDRAモデリングを見てみようRDRAモデリングを見てみよう
RDRAモデリングを見てみよう
 
データベース01 - データベースとは
データベース01 - データベースとはデータベース01 - データベースとは
データベース01 - データベースとは
 
継続的にテスト可能な設計を考える
継続的にテスト可能な設計を考える継続的にテスト可能な設計を考える
継続的にテスト可能な設計を考える
 
改善の型 コーチングの型
改善の型 コーチングの型改善の型 コーチングの型
改善の型 コーチングの型
 
RDRA DDD Agile
RDRA DDD AgileRDRA DDD Agile
RDRA DDD Agile
 
すぐに分かる!プロジェクト計画の作り方
すぐに分かる!プロジェクト計画の作り方すぐに分かる!プロジェクト計画の作り方
すぐに分かる!プロジェクト計画の作り方
 
Springを何となく使ってる人が抑えるべきポイント
Springを何となく使ってる人が抑えるべきポイントSpringを何となく使ってる人が抑えるべきポイント
Springを何となく使ってる人が抑えるべきポイント
 
実践に向けたドメイン駆動設計のエッセンス
実践に向けたドメイン駆動設計のエッセンス実践に向けたドメイン駆動設計のエッセンス
実践に向けたドメイン駆動設計のエッセンス
 

More from Sawada Makoto

ABC 第2回スライド
ABC 第2回スライドABC 第2回スライド
ABC 第2回スライド
Sawada Makoto
 
AlphabetBootCamp 第1回勉強スライド
AlphabetBootCamp 第1回勉強スライドAlphabetBootCamp 第1回勉強スライド
AlphabetBootCamp 第1回勉強スライド
Sawada Makoto
 
QAサイトをつくってみよう
QAサイトをつくってみようQAサイトをつくってみよう
QAサイトをつくってみよう
Sawada Makoto
 
QAサイトをつくってみよう
QAサイトをつくってみようQAサイトをつくってみよう
QAサイトをつくってみよう
Sawada Makoto
 
PHP+DB
PHP+DBPHP+DB
第4回 データベース
第4回 データベース第4回 データベース
第4回 データベース
Sawada Makoto
 
第4回 PHPのおさらい
第4回 PHPのおさらい第4回 PHPのおさらい
第4回 PHPのおさらい
Sawada Makoto
 

More from Sawada Makoto (7)

ABC 第2回スライド
ABC 第2回スライドABC 第2回スライド
ABC 第2回スライド
 
AlphabetBootCamp 第1回勉強スライド
AlphabetBootCamp 第1回勉強スライドAlphabetBootCamp 第1回勉強スライド
AlphabetBootCamp 第1回勉強スライド
 
QAサイトをつくってみよう
QAサイトをつくってみようQAサイトをつくってみよう
QAサイトをつくってみよう
 
QAサイトをつくってみよう
QAサイトをつくってみようQAサイトをつくってみよう
QAサイトをつくってみよう
 
PHP+DB
PHP+DBPHP+DB
PHP+DB
 
第4回 データベース
第4回 データベース第4回 データベース
第4回 データベース
 
第4回 PHPのおさらい
第4回 PHPのおさらい第4回 PHPのおさらい
第4回 PHPのおさらい
 

システム開発について