---
# System prepended metadata

title: Chapter14-1「システム開発」
tags: [基本情報技術]

---

# Chapter14-1「システム開発」

## 7/1(木)
###### tags:`基本情報技術`



さつき：
> 企画→要件定義→開発→運用→保守
> という５段階プロセスで、システムの一生はあらわされます。
* システム開発の調達を行う
    * 情報提供依頼
        > 最新の導入事例の提供を依頼する
        > 「こういうことをシステム化したい、最近の技術情報は？」
        > 「こんな感じです」
    * 提案依頼書の作成と提出
        > 「こんな計画を考えている」
        > 「こんな感じです」
    * 提案書の受け取り
    * 見積書の受け取り
    * システムベンダの選定
* 開発の大まかな流れとついになる組み合わせ 
    * 基本計画（要件定義）
    * システム設計
        * 外部設計...システムを「利用者側から見た」設計を行います。  
        UIなど、利用者が実際に手を触れる部分の設計を行います。
        * 内部設計...「開発者から見た」設計を行います。
        外部設計を実現するための実装方法や物理データ設計などを行います。
        * プログラム設計...プログラムを「どう作るか」という視点の設計を行います。
    * プログラミング
    * テスト


にわ：
- 読み込み
    * システム開発の流れ
        * 企画→要件定義→開発→運用→保守
    * まずはシステムベンダーへの発注。（＝調達）
        * ベンダーへ情報提供依頼書（Request For Information）を渡す：システム作りたいから最近の動向とかの情報ください！
        * ベンダーへ提案依頼書（Request For Proposal）を渡す：こんな感じでやりたいんだけど提案してくれます？
        * 提案書もらって内容がOKなら、見積もりもらう。
        * で、契約。
    * システム設計について
        * 外部設計：システム利用者側から見た設計。UIなど。
        * 内部設計：システム開発者側から見た設計。実装方法やDB設計など。
        * プログラム設計：プログラムを「どう作るか」の設計。プログラム内の構造の設計やモジュール同士のIF設計など。
    * テストについて（設計と対になる）
        * 単体テスト<=>プログラム設計
        * 結合テスト<=>内部設計
        * システムテスト<=>外部設計
        * 運用テスト<=>要件定義
- 過去問
    * 問1：OK
    * 問2：OK

まい：
* システム開発って？ それまで人の手で行なっていた企業内の業務活動をコンピュータに置き換えて効率アップしようとすること
  * 実際の業務を把握するところから
  * システムに対する要望を知る
  * システムの細部を煮詰める
  * システムを作り始める
  * 完成したらテストを行う
  * 結論：システム開発は長い長い道のり

* ソフトウェアサイクル
  * 企画プロセス
    * 検討すべきこと：スケジュール、体制、リスク分析、費用対効果、適用範囲 
  * 要件定義プロセス
  * 開発プロセス
  * 運用プロセス/ 完成したシステムを使う
  * 保守プロセス/ 定期的なメンテナンス

* システム開発の調達
  * 調達って？ 開発を担当するシステムベンダに対して発注をかけること
  * 流れ？
    * 情報提供依頼書(RFI:Request For Information)/ 最新の導入事例などの提供をお願いする
    * 提案依頼書の作成と提出(RFP:Request For Proposal)/ システムの内容や予算などの諸条件をシステムベンダに提出
    * 提案書の受け取り/ システムベンダが具体的な内容を提案書としてまとめ発注側に提出
    * 見積書の受け取り
    * システムベンダの選定

* 開発の大まかな流れ
  * 基本計画(要件定義)
    * 利用者へのヒアリングが大切、要件定義書を残す
  * システム設計/ 詳細な仕様を固める
    * 外部設計/ システムを利用者側から見た設計。ユーザインターフェースなど
    * 内部設計/ システムを開発者から見た設計。外部設計を実現するための実装方法やデータ設計
    * プログラム設計/ プログラムの構造化設計、モジュール同士のインターフェイス仕様など
  * プログラミング
    * プログラムをモジュール単位で作成
    * コンパイラ方式/ 最初に全部機械語に翻訳してから実行
    * インタプリタ方式/ 逐次翻訳しながら実行
  * テスト
    * 単体テスト Unit testing/ モジュールレベル
    * 結合テスト Integration testing/ モジュールを結合させた状態での動作確認や入出力検査(内部設計通りできてるか)
    * システムテスト System testing/ システム全体を稼働、動作確認、負荷試験(外部設計通りできてるか)
    * 運用テスト Operation testing/ 実際の運用と同じ条件下で動作確認
  * 導入、運用/ 問題なければ発注源にシステムを納入、運用開始
  
* 過去問
  * 問1 ok
  * 問2 ok