めも

メモ.

応用情報技術者試験の対策時のメモ(約60日前)

引き続き自学用のメモです。

今回までのでひとまず範囲になりそうなところは一度全て目を通したと思うので、隙間時間で過去問を解きながらミスを減らしていけたらなと思います。

試験日

2020年4月第三日曜日.

前回

メモ

ソフトウェア開発の管理

ソフトウェアの再利用技術

ソフトウェア開発に必要とされるプログラムやデータ構造をパターン化・標準化することで繰返し利用を可能にするとともにメンテナンス・保守・テストもしやすくする考え。

再利用の対象になりうるものは例えば以下などが考えられる。

  • 開発環境
  • 設計仕様
  • プログラム部品
  • 個別応用プログラム
  • テストデータ

下位の細かい部分のレベルでは再利用する効果が小さい(が繰り返し使用するものならば再利用しやすい)、上位レベルでは再利用のための標準化が困難になる。

Don't repeat yourself

重複を防ぐ考え方である。この哲学は、情報の重複は変更の困難さを増大し透明性を減少させ、不一致を生じる可能性につながるため、重複するべきでないことを強調する。 引用元:Don't repeat yourself - Wikipedia

デザインパターン

各デザインパターンの詳しい解説は、プログラミング言語ごとに多く存在するのでそちらを参照したい。

デザインパターンはソフトウェアやアプリの動作・使用環境によっても複数に別れる。新しい開発や設計を行うときは、まずはじめにこのようなテンプレート・デザインパターンがないか調べてみる。

www.slideshare.net

フレームワーク例

  • MFC デスクトップ アプリケーション | Microsoft Docs:Win用アプリのためのアプリケーションフレームワーク(クラスライブラリ)。Winの開発を容易にする一方、このようなフレームワークに依存しすぎると他の環境(Macなど)での類似アプリの開発・移植は困難になるため注意する必要がある。
  • Windows Presentation Foundation (WPF)

フレームワーク

再利用可能なコードをフレームワークにまとめることで、新たなソフトウェアの開発時に一から再び標準的なコードを書き直すことなく新規の機能開発に集中することができる。

あくまでもコンセプトとして参照すべきであり、何が最善であるかは開発内容や環境によって当然変わりうる。

モジュール

モジュール強度

モジュールに含まれる複数機能の関連性の強さの度合い。上ほど強い強度になり、一般的には強度が強い程よい設計になる。

  • 機能的強度
  • 連絡的強度
  • 手順的強度:処理の順序が決まっている
  • 時間的強度:
  • 論理的強度:引数の値によって処理が変わる
  • 暗合的強度:重複機能を一つにまとめた

モジュール強度(機能的強度)とは - IT用語辞典 e-Words

モジュール結合

2つのモジュール間の結びつきの強さを表しており、 結合度が低いほど良い設計となる。上ほど弱い結合になる。

  • データ結合:引数でデータを渡す
  • スタンプ結合:引数で構造体をを渡す
  • 制御結合:引数の型・内容によってメソッドの内の処理が分岐する
  • 外部結合:外部に宣言したデータを複数箇所で参照
  • 共通結合:複数のモジュールが外部に宣言された共通の構造体を参照
  • 内容結合:外部宣言していない他オブジェクト・モジュール内部のデータを直接参照

モジュール分割

ソフトウェア全体を何らかの基準にしたがって複数のモジュールに分割すること。様々な基準があり、バグの発見のしやすさ・再利用性などを考えて分割を行うことになる。

  • 共通機能分割
  • TR分割:ソフトウェアの処理の流れを複数のトランザクションと呼ばれる単位に分割していく
  • STS分割:データの入力(Source)、変換(Transformation)、出力(Sink)の3つに分割して分析を行う
  • ワーニエ法
  • ジャクソン法:基本・連接・選択・反復の組合せでソフトウェアの処理を表現する

CMM/CMMI

参考文献

ja.wikipedia.org

マネジメント

スコープマネジメント

プロジェクトにおける作業範囲を明確化する。 作業範囲・進捗管理を行う手法には様々なものが存在する。

プロジェクト・スコープ・マネジメント - Wikipedia

  • EVM

EVM(アーンドバリューマネジメント)とは - IT用語辞典 e-Words

作業の到達度を金銭・発生した付加価値などに換算して進捗度を測る。

工程ごとにコストをはじめに求めて、スケジュールに沿って積算した計画値(PV)と比較する。

  • ガントチャート

横軸を時間・縦軸を工数にしたグラフを用意。

  • アローダイアグラム

  • WBS

  • バックログ

PMBOK

PMBOK:プロジェクトマネジメント知識体系ガイド

プロジェクトに一般的に含まれる49個のプロセスを、5個の基本的なプロセス群と10個のマネジメント対象となる知識エリアに分類し体系化したもの。

  • プロセス

    • 立上げプロセス
    • 計画プロセス
    • 実行プロセス
    • 監視プロセス
    • 終結プロセス
  • マネジメントの知識エリア

    • 統合?
    • スコープ
    • スケジュール
    • コスト
    • 品質
    • 資源
    • コミュニケーション
    • リスク
    • 調達
    • ステークホルダー
  • Project Management Professional(PMP):プロマジの国際資格

参考文献