システム開発の見積もり方法


システム開発の見積もりは、次のように3つに分類できる。

 
種類 手法 タイミング 精度
初期見積 類推法 企画後
概算見積 FP法,WBS法,タスク法 要件定義後
詳細見積 FP法,WBS法,タスク法 基本設計後

・類推法:過去に開発したシステムと比較して、新規システムの規模や工数を類推する。要件定義の完了前でも、おおまかな工数やコストを算出できる。担当者の経験に左右されるため精度は低く、実績値と50%程度乖離することもある。

・FP法:「外部入力」、「外部出力」、「内部論理ファイル」、「外部インタフェース・ファイル」、「外部照会」の機能(ファンクション)を抽出し、各ファンクションのレコード数やファイル数に応じてFP(ファンクションpoint)値を算出する。コストを算出するには、FP値に別の係数(生産性指標)を掛ける(重み付け)必要がある。見積もりに必要な材料が厳密に決められているため、要件定義が完了していないと見積もることができない。

・WBS法・タスク法:作業単位ごとに見積もった工数を加算していき、コストを算出する。プロジェクト管理に流用できるメリットもある。ソフトウエア開発は、要件定義が完了していないと見積もることができない。

基本設計後の詳細見積もりは、精度の高いものになりやすいが、機能抽出漏れや想定外作業により、過少見積もりになる可能性もある。


このサイトの30日間のブラウザのシェア


このサイトの30日間のブラウザのシェアは次のようになる。

browser_graph

2016/06/27

1. Chrome 39%

2. Internet Explorer 30%

3. Safari 10%

4. Firefox 6%

5. Edge 6%

6. Android Browser 4%

7. Safari (in-app) 3%

8. Mozilla Compatible Agent 1%

9. DoCoMo 1%


オープンソースのWebサーバ、Apache(アパッチ)


Apache(アパッチ)は、世界でもっとも多く使われているオープンソースのWebサーバとして知られている。

Apacheには、次のような機能がある。

・httpプロトコルによる応答
・サーバーサイド・プログラム
・SSL暗号化
・ユーザー認証
・アクセス制限
・モジュールによる機能追加
・多言語対応
・パフォーマンス設定
・バーチャルホスト
・ログの記録

apache_logo


プログラマ


プログラマとは、コンピューター上で動作するプログラムを作成する人を指し、職務を細分化すると次のようになる。
・コーダー
・テスター
・アプリケーション開発者
・システムソフトウェア開発者
・組み込みファームウェア開発者
・ソフトウェア技術者
・計算機科学者
・ソフトウェアアナリスト
・システムエンジニア

コーダーとテスター以外の職務においては、プログラミングを越えた専門知識が要求されるため、一緒くたにプログラマと呼ぶのは問題があるのではないか、という意見もある。

高年齢のプログラマはコストが高すぎると考える企業がある一方、製造工程に設計が入り込む現場を理解している企業においては、熟練プログラマにも一定の需要がある。

コンピュータは社会に深く浸透したため、プログラマに課せられた責任は増大している。


MVCアーキテクチャーは、開発や保守にかかる費用を削減する


MVCアーキテクチャーは、システムをModel,View,Controllerの3層に分離することで、開発や保守にかかる費用を削減する設計手法として知られている。

Modelは、Controllerから依頼されたビジネスロジックを実行(データベースから必要な情報を取り出して加工し、処理結果をControllerに返す)する。

Viewは、ユーザーからの入力をControllerに通知し、Controllerから受け取ったオブジェクトをHTMLに埋め込んで表示する。

Controllerは、Viewから入力された情報に対応するビジネスロジックの実行をModelに依頼し、Modelから返された実行結果をViewに送る。

主要なフレームワークの全てがMVCアーキテクチャーを採用しており、フレームワークを利用しないシステムにおいてもModel,View,Controllerの3層に分離する設計が浸透している。

 


検索エンジン


検索エンジンとは、インターネット上または個別のコンピュータから情報を検索するシステムをいう。
現在は、費用対効果から、ロボット型の検索エンジンが主流になっている。

サイトが多様化した結果、各種目的別の検索エンジンも利用されている。

ロボット型検索エンジンは、インターネット上のコンテンツを複製して保存するようになっているため、著作権上の問題について議論されてきたが、2010年1月の法改正により、コンテンツの複製を合法とした。


World Wide Web(ウェブ)


World Wide Web(ワールド ワイド ウェブ)は、インターネットを応用した分散システムで、次のような特徴がある。

・個人の情報交換媒体として、地球全体で多種多様な情報を自由に交換することができる

・ドキュメントの記述にハイパーテキストマークアップ言語(HTML)が使用される

・ドキュメントに別のドキュメントのURLを埋め込むことで、インターネット上に存在するドキュメントを参照できる

・WWW上のドキュメントを参照するために必要なウェブブラウザが、ハードウェアやOSの違いを吸収している

・WWW上のドキュメントは、ウェブサーバに保存されている


オープンソースで高機能な統合開発環境、Eclipse


従来、プログラマは、コマンドライン上で、エディタ、コンパイラ、デバッガを使ってソフトウェアを開発していた。これら一連の作業をGUI上で行えるようにしたものを統合開発環境という。統合開発環境を利用することで、ツール操作性は大幅に改善され、ソフトウェア生産性も向上する。

Eclipseは、オープンソースで高機能な統合開発環境として知られている。Eclipseには、多くのプラグインパッケージがあり、必要な機能を選んで組み込むことができる。

Eclipseの主な機能は次のようになる。

・バージョン管理システム(CVS,Subversion,git)でソースコードを管理できる。

・デバッガでプログラムのトレースができる。ブレークポイントの条件設定ができる(例外処理の検証も容易になる)。

・JUnitと連携してテストできる。JUnitテストコードを生成してテストできる。

Eclipseは、GUIツールキットにJava標準のSwingやAWTを使用せず、Eclipse独自のGUIツールキットSWT (Standard Widget Toolkit) を使うことで軽快な操作性を実現している。


ウェブブラウザ


ウェブブラウザ(ブラウザ)とは、HTML・CSS・JavaScriptなどの様々な機能を実装したHTTPユーザーエージェントをいう。

プラグインをダウンロードしてウェブブラウザの機能を拡張することもできるが、HTML5で十分な機能拡張がなされた為、プラグインでの機能拡張は不要になりつつある。

主なウェブブラウザとして、Internet Explorer, Edge, Firefox, Chrome, Opera, Safariがある。


10億件を突破したウェブサイト数


World wide web上にある固有のアドレスに対応したサーバーに格納されているウェブページ群をウェブサイトという。

1995年8月に1万8000件だったインターネット上のサイト数は、2006年11月に1億件を突破し、2014年9月に10億件を突破した。

ウェブサイトの種類としては、ウェブ検索、企業紹介、ネット通販、施設案内、個人のブログなどがある。

有用コンテンツが豊富なサイトは、ウェブ検索で上位に表示される。