山傘のプログラミング勉強日記

プログラミングに関する日記とどうでもよい雑記からなるブログです。

CODE COMPLETE 第2版 上 その3

第3章 2回測って、1度で切る:上流工程の必要性

ソフトウェアコンストラクションを行うために必要な前段階の作業についての章です。良い設計図がなければ良い家が建築できないのと同様に、ソフトウェアについても同じことが言えます。ユーザの要求を汲み取り、設計に反映させるための作業があります。

準備の重要性

ソフトウェアコンストラクションという作業はコストが多く掛かるので、この作業を繰り返すことは好ましくないです。従って、下準備となる作業でソフトウェアの品質を向上させる取り組みを行います。テストやデバッグなどは品質を向上させるための一部であり、製品の構築方法などのミスを検出するものではないです。よって、コンストラクションの前に対処しておくべき事柄について考える必要があります。

上流工程で適切なプロジェクト計画を行い、プロジェクト上でのリスクを低減させ、コンストラクションへと繋げます。プロジェクトが進んだところで出戻りが発生するよりも、初期の段階で欠陥を見つける方が被害を抑えられるので、準備の必要性が分かります。

アーキテクチャ

アーキテクチャの品質がソフトウェアの概念的な整合性を左右し、最終的な品質が決定されます。

アーキテクチャの構成要素の一部は、次の通りです。

  • プログラムの構成
  • 主要なクラス
  • データ設計
  • ユーザインタフェースの設計
  • リソース管理
  • セキュリティ
  • パフォーマンス
  • 入出力
  • エラー処理

アーキテクチャの設計を適切に行うことで、コンストラクションにおいて間違った方法で解決しないようにすることができます。

CODE COMPLETE 第2版 上 完全なプログラミングを目指して

CODE COMPLETE 第2版 上 完全なプログラミングを目指して

感想

ソフトウェアを開発するときに重要な内容が書かれていました。情報処理の勉強をしたときに学んだ内容が含まれていたので、知っている内容と結び付けて学べたと思います。