状態遷移図

オブジェクト プログラミング
第1回
この授業の主題



オブジェクト指向プログラミング
データ構造とアルゴリズム
設計言語としてのUML
この授業の目標


プログラムで、自分のアイディアを表現で
きるようになる
そのために、



アイディアを明確化する
手順に分解する
実行可能な形式に具体化する
教科書

Javaで学ぶアルゴリズムとデータ構造
Robert Lafore(著)
岩谷 宏(訳)
SOFTBANK(1999)
定価4,800円
なぜデータ構造とアルゴリズム
が重要なのか?

現実世界のデータを記録したり表したりす
る。
(例えば、工場の部品在庫状況を適切なデータ構造で表
現し、適切なアルゴリズムで操作したい。)

プログラマのツールとして
(例えば、プログラムをより速くするために)

現実世界の現象をうまくモデル化したい
(例えば、会社の人事組織を最もぴったり表せるデータ構
造を使いたい)
教科書より抜粋
オブジェクト指向プログラミング
手続き型言語の問題点
 編成単位が原始的である。
課題を複数の機能に分けてそれらを編成する、というプ
ログラムの構成は、それらの機能が操作するデータのこ
とをまったく考えていません。

実世界のモデルを作る機能が貧弱である。
関数は仕事を実行し、データは情報を収納します。しかし、
現実世界の物事は仕事と情報の両方を持っている場合
がほとんどである。
教科書より抜粋
IT革命に必要な能力

1. タッチタイピング


反射運動能力
2. プログラミング

計画作定能力
プログラミングがなぜ必要か




1. コンピュータの本質が分る
2. ITを用いたビジネスモデル作成
ができる
3. ビジネスに必要な情報システム(IS)
を発注できる
4. 使用するISの思想が理解できる
(メンタルモデルを持つ)
プログラミングは易しい



1. 6歳の子どもが教えれば覚える
2. 18歳の大学生が教えても覚えられな
い
3. IT教育は初等・中等教育で行なうのが
世界標準
ハンガリーの幼児の作品
(5,6歳)
ハンガリーの幼児の作品(2)
日本の幼児の作品
ソフトウエア開発(1)
プロジェクト依頼者の考えていたこと
プロジェクト要求書に書かれていたこと
システム分析者が設計したもの
プログラマが作ったプログラム
利用者側に導入されたプログラム
利用者が要求していたもの
University of London Computer Centre Newsletter No.53,March 1973
ソフトウエア開発(2)
分析
設計
UML
(Unified Modeling Language)
実装
Java
UMLとは?
Unified Modeling Language
 Booch法、OMT法などのオブジェクト指
向設計の方法論の記法が統一(Unifiy)さ
れ、1997年にOMGにて標準化された。


オブジェクト指向の分析/設計のための言
語
現在UML1.2
UMLのダイアグラム



ユースケース図
クラス図
相互作用図
シーケンス図
コラボレーション図
状態遷移図
アクティビティー図

飲み物を買う
ユーザ
商品
0..*
1
自動販売機
1
1
1
ボタン
1
1
取り出し口
1
コイン投入口
1 おつり取り出し口
状態A
1
投入金額表示ウインドウ
状態B
実装図
コンポーネント図
配置図
詳しくは、
(株)オージス総研「かんたんUML」翔永社 1980円
を勉強してみよう
今学期のテーマ:自動販売機
自動販売機の
プログラミングを通じて
オブジェクト指向
プログラミングの基礎を
学んでいきましょう。
この授業のホームページ



http://www.crew.sfc.keio.ac.jp/lecture/i
ndex.html
来週までの宿題
ラップトップにJDKをインストールしておい
てください。(やり方はwebを参照)
来週はラップトップを持ってきてください。