オブジェクト プログラミング 第1回.

Slides:



Advertisements
Similar presentations
All Rights Reserved Copyright © 2004, Takashi Kobayashi 1 ロバストネス分析の演習問題 <問題1> 次の文をよんで問いに答えよ。 顧客は、 ATM により自分の口座から預金を払い出す。 顧客は、 ATM にキャッシュカードを挿入し、個人認証を行う。
Advertisements

1 情報基礎 A 第 9 週 プログラミング入門 VBA の基本文法 1 準備・変数・データの入出力 徳山 豪・全 眞嬉 東北大学情報科学研究科 システム情報科学専攻 情報システム評価学分野.
Chapter1 UML の概要とオブジェクト指向の基本概念 1 情報工学専攻 MFM10004 奥平 健太.
ソフトウェア工学 理工学部 情報システム工学科 新田直也. 演習問題 1 の解答例  入庫処理の DFD 酒屋の在庫問題の DFD( 入庫処理 ) 更新情報 在庫ファイル 更新処理 倉庫係 在庫不足リスト 在庫ファイル 出庫指示書 新規出庫 判定 出庫指示書 作成処理 出庫依頼 積荷票.
プログラミング言語論 第10回(演習) 情報工学科 木村昌臣   篠埜 功.
4 相互作用図 後半 FM13001 青野大樹.
プログラミング演習II 2004年11月 30日(第6回) 理学部数学科・木村巌.
相互作用図 FM11010 田中健太.
情報処理実習 第05回 Excelマクロ機能入門 操作マクロ入門.
ソフトウェア工学特論III 第10回 その他の図 情報通信工学専攻 GM11013 堀江 真史
プログラマのレベルアップ.
リレーショナル・データベース データベース論 第10回.
アルゴリズムとプログラミング (Algorithms and Programming)
Chapter 4 相互作用図 FM12010 中山直飛.
C#によるWindowsFormApplication入門
ソフトウェア工学特論Ⅲ ユースケース図 後半
データ構造と アルゴリズム 理工学部 情報システム工学科 新田直也.
マルチエージェント・シミュレーション(2)
計算の理論 I ー DFAとNFAの等価性 ー 月曜3校時 大月 美佳.
マルチエージェント・シミュレーション(2)
プログラミング言語論 第6回 型 情報工学科 篠埜 功.
VBA(Visual Basic Application)を使ったプログラミングの初歩概説
プログラミング演習II 2004年10月19日(第1回) 理学部数学科・木村巌.
応用情報処理V 第1回 プログラミングとは何か 2004年9月27日.
CHAPTER1 UMLとオブジェクト指向の基本概念(2)
情報科学1(G1) 2016年度.
UMLの概要と オブジェクト指向の 基本概念
データ構造と アルゴリズム 知能情報学部 新田直也.
応用情報処理V 第1回 プログラミングとは何か 2003年9月29日.
Chapter 2 ユースケース図 FM12011 バユウユウ 山内研究室
C#とC++とオブジェクト指向 上甲 健史.
UML入門 UML PRESS vol.1 より 時松誠治 2003年5月19日.
ユースケース オブジェクト指向の要求分析のためのモデル。 スウェーデンのイヴァー・ヤコブソンが1990年代前半に開発。
情報 第2回:状態遷移 その2.
UMLとは           032234 田邊祐司.
基礎プログラミング演習 第1回.
続・WebApplication研究 2001年度秋学期大岩研究会2 第一回 ~紹介~.
オブジェクト・プログラミング 第12回 状態遷移図 シーケンス図.
その他の図 Chapter 7.
オブジェクト指向 プログラミング 第二回 知能情報学部 新田直也.
WEBアプリケーションの開発 2002年度春学期 大岩研究会2.
社会シミュレーションのための モデル作成環境
     年  月  日 名前 太郎 x 班.
オブジェクト指向モデリング [2] 2003年10月 7日.
 情報の授業 アルゴリズムとプログラム(1) Go.Ota.
UML関係のTIPS 2008年5月26日 2010年5月16日改訂 海谷 治彦.
ステートチャート図 前半 FM13003 怡土 宗太.
All Rights Reserved, Copyright © 2004, Kobayashi
情報 第1回:状態遷移 その1.
オブジェクト指向 プログラミング 第二回 知能情報学部 新田直也.
1-3 UMLの図(ダイアグラム) コンポーネント図 システムの物理的な構成を表現 ソフトウェアコンポーネントの依存性を表現
これからの情報教育 識字教育としての情報教育
UMLの概要とオブジェクト指向の基本概念
オブジェクト プログラミング 第2回 プログラムの基本.
基礎プログラミング演習 第6回.
オブジェクト指向言語論 第十二回 知能情報学部 新田直也.
All Rights Reserved, Copyright © 2004, Kobayashi
計算機プログラミングI 木曜日 1時限・5時限 担当: 増原英彦 第1回 2002年10月10日(木)
ウェブデザイン演習 第6回.
自然言語処理2015 Natural Language Processing 2015
vc-1. Visual Studio C++ の基本操作 (Visual Studio C++ の実用知識を学ぶシリーズ)
アルゴリズム入門 (Ver /10/07) ・フローチャートとプログラムの基本構造 ・リスト ・合計の計算
第6回放送授業.
情報数学Ⅲ 5,6 (コンピュータおよび情報処理)
ソフトウェア工学 知能情報学部 新田直也.
より分かりやすい ユースケースモデルを作る
自然言語処理2016 Natural Language Processing 2016
シミュレーション論Ⅱ 第2回 モデル化の手法.
新しい情報教育 基礎としてのコンピュータ科学
Chapter 5-2 ステートチャート図 FM12011 バユウユウ 山内研
Presentation transcript:

オブジェクト プログラミング 第1回

この授業の主題 オブジェクト指向プログラミング データ構造とアルゴリズム 設計言語としてのUML

この授業の目標 プログラムで、自分のアイディアを表現できるようになる そのために、 アイディアを明確化する 手順に分解する 実行可能な形式に具体化する

教科書 Javaで学ぶアルゴリズムとデータ構造 Robert Lafore(著) 岩谷 宏(訳) SOFTBANK(1999) 岩谷 宏(訳) SOFTBANK(1999) 定価4,800円

なぜデータ構造とアルゴリズムが重要なのか? 現実世界のデータを記録したり表したりする。 (例えば、工場の部品在庫状況を適切なデータ構造で表現し、適切なアルゴリズムで操作したい。) プログラマのツールとして (例えば、プログラムをより速くするために) 現実世界の現象をうまくモデル化したい (例えば、会社の人事組織を最もぴったり表せるデータ構造を使いたい) 教科書より抜粋

オブジェクト指向プログラミング 手続き型言語の問題点 編成単位が原始的である。 課題を複数の機能に分けてそれらを編成する、というプログラムの構成は、それらの機能が操作するデータのことをまったく考えていません。 実世界のモデルを作る機能が貧弱である。 関数は仕事を実行し、データは情報を収納します。しかし、現実世界の物事は仕事と情報の両方を持っている場合がほとんどである。 教科書より抜粋

IT革命に必要な能力  1. タッチタイピング    反射運動能力  2. プログラミング    計画作定能力

プログラミングがなぜ必要か 1. コンピュータの本質が分る 2. ITを用いたビジネスモデル作成 ができる  1. コンピュータの本質が分る  2. ITを用いたビジネスモデル作成 ができる  3. ビジネスに必要な情報システム(IS) を発注できる  4. 使用するISの思想が理解できる (メンタルモデルを持つ)

プログラミングは易しい 1. 6歳の子どもが教えれば覚える 2. 18歳の大学生が教えても覚えられない  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のダイアグラム ユースケース図 クラス図 相互作用図 シーケンス図 コラボレーション図 状態遷移図 アクティビティー図 実装図 コンポーネント図 配置図 状態A 状態B 詳しくは、 (株)オージス総研「かんたんUML」翔永社 1980円 を勉強してみよう

今学期のテーマ:自動販売機 自動販売機の プログラミングを通じて オブジェクト指向 プログラミングの基礎を 学んでいきましょう。

今日のお題 ー状態遷移図ー 今日は相互作用図の一つである状態遷移図を 描いてみよう! 自動販売機をテーマとします。 電源を切った 今日のお題 ー状態遷移図ー 今日は相互作用図の一つである状態遷移図を 描いてみよう! 自動販売機をテーマとします。 ボタンが押されるのを待つ 商品を出す ボタンが押された 商品が取り出し口に出た 電源を切った

状態遷移図とは? あるオブジェクトの状態の変化を表した図 例えば、右の図は、 開始状態 状態A 状態A 状態B 状態B 終了状態 と、状態が変化していくことを表している

記号の意味1(状態) 状態 一つの状態を表す 角丸四角の中に状態の名前を書く 「ボタンが押されるのを待つ」状態を表す

記号の意味2(遷移) 状態遷移 ある状態から別の状態に変化する(遷移する) ことを表す 矢印で表す ボタンが押されるのを待つ 商品を出す

記号の意味3(イベント) イベント 状態遷移のきっかけ 状態遷移の矢印のそばに書く ボタンが押されるのを待つ ボタンが押された 商品を出す 商品が取り出し口に出た ボタンが押されるのを待つ ボタンが押された 商品を出す

記号の意味4(ガード条件) イベントを条件分岐させることを表す [ ]内に書く お金が入れられるのを待つ ランプ点灯 お金が入れられた [投入金額 ≧120円] お金が入れられた [投入金額 <120円] ランプ点灯

記号の意味5(開始状態) 開始状態 一番最初の状態 黒丸で表す 商品が取り出し口に出た ボタンが押されるのを待つ ボタンが押された 商品を出す

記号の意味6(終了状態) 終了状態 一番最後の状態 中黒の二重丸であらわす 電源を切った 商品が取り出し口に出た ボタンが押されるのを待つ ボタンが押された 商品を出す

自動販売機の状態遷移図 この図から、自動販売機の動作が以下のようなものであることが分かる。 ・ 自動販売機はボタンが押されるのを待っている ボタンが押されるのを待つ 商品を出す ボタンが押された 商品が取り出し口に出た 電源を切った この図から、自動販売機の動作が以下のようなものであることが分かる。 ・ 自動販売機はボタンが押されるのを待っている   ・ ボタンが押されたら商品を出して、その後再びボタンが 押されるのを待つ。   ・ 電源を切ったら自動販売機は停止する。

演習 以下のような自動販売機の状態遷移図を書いてみよう。 ・自動販売機はお金が入れられるのを待っている ・120円以上のお金が入れられたらランプを点灯する ・投入金額が120円未満のときは何も起こらず、待っている ・ランプが点灯している時にボタンが押されると商品を出す ・もし残金が120円以上残っていたら再びランプを点灯する ・残金が120円未満の場合は、お釣りを出す ・また、ランプが点灯している時にお釣りを出す操作が  なされたら、お釣りを出す

この授業のホームページ http://www.crew.sfc.keio.ac.jp/lecture/index.html 来週までの宿題 ラップトップにJbuilderをダウンロードしておいてください。(やり方はwebを参照) 来週はラップトップを持ってきてください。

解答例 前ページの自動販売機の状態遷移図 お金が入れられるのを待つ お金が入れられた[投入金額 ≧120円] お金が入れられた[投入金額 <120円 ]  ランプ点灯 おつりを出す操作がなされた 商品が出た  [残金 ≧120円 ] ボタンが押された  おつりを出す 選択された商品を出す 商品が出た  [残金 <120円 ]