←講義のツボメニューへ
ソフトウェアの定義/特徴
2000.10.23.4 第5回
先週のビデオの補足
I. ソフトウェアとは何か?
ソフトウェアの定義(時代順?)
- ソフトウェア=プログラム(古い)
プログラムの定義
「計算機に仕事をさせるために
- 情報を入力し :情報入力 → 変数の書き込み
- 計算をさせ :情報変換 → 変数間の変換
- その結果を出力する :変換結果出力 → 変数の出力
の命令群(command)の集合」
計算メカニズム --ノイマン型コンピュータ
(ノイマン型コンピュータ:プログラムがメモリーに内蔵されている。命令の実行は遂次方式。)
- ソフトウェア = 命令 + データ(メモリーに内蔵)
- ソフトウェア = アルゴリズム + データ
アルゴリズム:問題の解決/算法
- ソフトウェア = アルゴリズム + データ + ドキュメント 現在
アルゴリズム + データ :コンピュータ内
ドキュメント:コンピュータ外
ドキュメントの種類
- 要求仕様書
- 外部設計書
- 内部設計書
- データベース定義書
- コーディング規約
- 取扱説明書
JIS 情報処理用語集での定義(JISX0001-1987)
「データ処理システムを機能させるためのプログラム。手順、規制、関連文書などを含む知的な創作」
手順、規制 → 開発手法
知的な創作 → 人間が主体
II. ソフトウェアの特徴
- 性能
年 | ハードウェア(CPU) | ソフト生産性 | 規模
|
1945 | 1 | 年に約3% | 巨大化
|
1975 | 10,000
|
1995 | 1000,000
|
- 特徴
- 属人性
人間に依存、ソフト生産性 1 : 30
- 一品生産
オーダーメイド、大量生産ができない(OSは別)
- 複雑化、巨大化)
組織化、分業化、信頼性の問題)
- プログラム言語の進化)
アセンブラ → COBOL,FORTRAN,BASIC,PASCAL → C,C++,VB,JAVA(習熟期間が長い!))
- ソフトウェア言語的理解の重要性
コンピュータ人工言語 :人間が理解していく
(機械語しか理解できない)
人間 :人間が理解できる
(生まれたときから自然に習得)
人間と同じ能力を持ったコンピュータ
↓
人間はプログラミングから解放される
↓
現状:高級言語
↓
特定の言語によらずに良いソフトをつくる方法 → 方法論を追求