ウィリアムのいたずらの、まちあるき、たべあるき

ウィリアムのいたずらが、街歩き、食べ物、音楽等の個人的見解を主に書くブログです(たま~にコンピューター関係も)

新:開発の初めから順番に書いていってみる(1) 全体像

2021-09-01 08:11:54 | Weblog
前に、

プログラミング教育って、意味あるの?

という記事を書いたときに、

むかし、このブログで開発の最初から最後までというシリーズをやっていたけど、たしかKAOSからはやっていなかった気がする・・・ 

と書いた。そのKAOSからのシリーズを始めてみたいと思う。
前のシリーズが、
「開発の初めから順番に書いていってみる」
だったので、今度のシリーズは頭に新をつけて
「新:開発の初めから順番に書いていってみる」
にしてみます。今回は全体像。



■開発の全体像

開発の全体像としては、新人教育のテキスト
 最近は改定されて・・・
になったみたいなんだけど、こんなのに書いてあると思う。
ざっくりこんなかんじ

(1)要求分析
 ステークホルダーの要求を聞いて、システムが満たすべき要件定義書を作成する

(2)外部設計
 要件定義書を受けて、システムの外側から見える部分である、画面・帳票・DB定義書(設計書)を作成する。この段階まででは、プログラミング言語の差はあまりない。

(3)詳細設計(内部設計)
 外部設計を受けて、プログラミング可能な文書を作成する。ここでは言語・フレームワークを意識する(ということは言語によって異なる可能性がある)

(4) 実装・プログラミング
 プログラミング言語に落として、プログラムできるようにする

(5)テスト
 プログラムが設計、要求を満たしているか確認する
 ということは、設計書(定義書)、要求(要件定義書)に対応したしけんが存在するということ。
 この試験を、実際には詳細設計→外部設計→要求分析としたからやっていく。以下のように書くと、V字になるので、V字型モデルという

要求分析          総合テスト(受入テスト)
  外部設計      結合テスト
    詳細設計  単体テスト
       プログラミング

テストには有名な↓の教科書がある
 
(5-1)単体テスト(ユニットテスト)
 ソースコードに対応して(このようにソースコードを見てやるテストをホワイトボックステストという)仕様書の期待通りのものになっているか試験する。試験レベルに応じて
  C0:命令は通っている(命令網羅)
  C1:条件のすべては通っている(条件網羅)
  C2:組み合わせのすべてを確認した(組み合わせ網羅)
C0,C1は網羅率100%になるようにする。
C2を100%とすると、組み合わせ爆発するため、どこかで止める。この組み合わせをどこまでやるかで、pair-wize法や直行表がある
 これらのテストによって、内部(詳細)設計書の内容が担保される

(5-2)結合テスト(インテグレーションテスト:IT)
 単体のユニットを組み合わせてテストする。ITテストには2種類分けて行うことがある。
 IT1:低レベルの結合テスト
  あるユニットの出力が、別のユニットの入力になっているようなとき、出力と入力が矛盾しないかを確認するため、そのユニットを結合して行うテスト。内部(詳細)設計書のインターフェースが担保される。

 IT2:高レベルの結合テスト
 画面設計書に基づき、画面項目の全項目について、仕様通り動いているかを確認する。これで外部設計書の内容が担保される。外部設計書はソースコードは現れないのでブラックボックステストになる

 ただし、IT1とIT2を分けなかったり、この間にテストがあり、IT1,IT2,IT3,IT4…となるときもある。プロジェクトによる。

(5-3)総合テスト
 要求仕様書を満たしているかをテストする。
 負荷試験とかがそれにあたる。
 また、受け入れに際し、実際の業務にあっているかということで、業務に基づいた(=業務シナリオ)試験が行われたり、エンドでの試験(E2Eテスト)が行われる。
 受け入れの際に、移行作業が発生する



全体像はこんな感じ。

(このシリーズの)次回からは、要求分析から説明していきます。


  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

綾瀬はるかコロナ陽性で緊急入院していた!

2021-09-01 01:34:37 | そのほか
まじか!



  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする