アプリケーションに何かしらのバグがあると様々な問題を起こす可能性があります。 そしてバグの中には悪用ができてしまうものが存在します。そうしたものは脆弱性と呼ばれます。
脆弱性が問題となる理由は下記の通りです。
- 経済的損失の恐れ
- 法的な要求の恐れ
- 利用者が回復不能なダメージを受ける恐れ
アプリ開発の手法としては 「ウォーターフォール開発」「アジャイル開発」 という2つの開発手法がある。
ウォーターフォール開発は、業務システムなどの大規模なシステム開発で使われることが多い手法です。 すべての要求に対し、『企画→計画→設計→実装→テスト』の各工程を段階的に終わらせていくのが最大の特徴です。 初めに要件定義を行って全体の機能設計を固めるため、余裕を持たせた進行計画を立てて動き出すケースが多く、 予算が立てやすい・チームメンバーのアサイン計画が立てやすいといった特徴があります。 開発の途中で要件の変更や設計の不備が見つかってしまうと、相当な対応が必要な状況が発生することもあります。
「データベース」とは、ある特定の条件に当てはまる「データ」を複数集めて、後で使いやすい形に整理した情報のかたまりのことを表します。 特にコンピュータ上で管理するデータをデータベースと呼ぶことが多いですが、紙の上で管理する「電話帳」や「住所録」なども、立派なデータベースです。 また、コンピュータ上でデータベースを管理するシステム(DBMS:Database Management System)のことや、そのシステム上で扱うデータ群のことを、単に「データベース」と呼ぶ場合もあります。 データベースを使ってデータを管理するメリットには、次のようなものが挙げられます。