システム開発の開発モデルと流れについての勉強。
こんにちは。
sipelです。
今回はシステム開発モデルのとその流れについてただただ書いていきます。
システム開発モデル一覧
・ウォータフォールモデル・・・工程ごとに成果物を完成し、次の工程に引き継ぐ。一回一回成果物を完成させているので後戻りができないというデメリット。(最後の方の工程でミスが出てくると一からやり直しということが出てくる)
・プロトタイプモデル・・・プロトタイプという試作品を作って、ユーザが評価。リスク削減を目的としたモデル。モデルルームを先に作るイメージ。
・スパイラルモデル・・・開発の工程を何度も繰り返す。代替案も用意して評価を進めていくのでリスクが最小となる。
新しいシステム開発モデル
・アジャイル開発・小単位で実装とテストを繰り返して開発。XPとスクラムという2つの代表格がある。
XP
具体的な実装を12個にまとめて進める。
例 テスト駆動開発・・・実装の前にテストケースを作成
ベアプログラミング・・・2人で常に共同コードを書く
リファクタリング・・・動作を変えることなくプログラムを書き直す
スクラム
反復増加型のプロジェクト管理法。チームのコミュニケーションが最重視
DevOps(デヴォオプス)・・・開発と運用が連携してよりスピーディに開発する手法
システム設計のアプローチの手法一覧
・プロセス中心アプローチ・・・プロセスに着目して設計
・データ中心アプローチ・・・データに着目して設計。シンプルに設計しようという考え方
・オブジェクト指向アプローチ・・・データとそのメソッドをオブジェクトと呼んで1つにまとめて管理しその組み合わせに着目して設計
リバースエンジニアリング・・・分解して技術などを明らかにすること。逆のアプローチ。
レビューの目的・・・エラーの早期検出
ソフトウェアの品質項目一覧
ISO 9123に定義されたソフトウェア品質特性モデルを参照
・機能性・・・仕様書通りの実行結果や操作ができる
・信頼性・・・障害が起こりにくい
・使用性・・・使いやすい、わかりやすい
・効率性・・・時間、メモリなど有効に利用しているか
・保守性・・・修正しやすい
・移植性・・・別の環境(ハードウェア、OSなど)に移しやすい
まとめ
システム開発モデルには種類がある。
ウォータフォールモデルは最も基本的な方式で順番に開発していくということ。
飲食店で言うまず店を立て、次に外装、内装みたいなイメージ
プロトタイピングモデルは先に作っておく。
飲食店で言うと居抜きみたいなこと。
スパイラスモデルは一緒に代替案も考えておくこと。
飲食店で言うとこういう設備も用意しとくみたいな感じ。
アジャイル開発法は一つの大きなチームじゃなく、複数の小さなチームで作るみたいなこと。
XPはそのチームがやるべき仕事は決めておく。
スクラムはその都度チームで話し合って決めるみたいなこと。
ソフトウェアの品質とは
上記のことをいう。これらが組み合わさって高いとソフトウェアの品質が高いと言える。
sipel