オブジェクト指向言語論 第十四回 知能情報学部 新田直也.

Slides:



Advertisements
Similar presentations
ソフトウェア工学 知能情報学部 新田直也. 講義概要  私の研究室: 13 号館 2 階 (13-206)  講義資料について :  参考図書 : 玉井哲雄 : 「ソフトウェア工学の基礎」, 岩波書店.
Advertisements

オブジェクト指向 プログラミング 第二回 知能情報学部 新田直也. 講義計画(あくまで予定) 第 1 回 プログラミング言語の種類と歴史 第 2 回 eclipse の基本操作 第 3 回 eclipse のデバッグ機能 第 4 回 構造化プログラミングの復習 第 5 回 演習 第 6 回 構造化指向からオブジェクト指向へ.
ソフトウェア工学 知能情報学部 新田直也. オブジェクト指向パラダイムと は  オブジェクト指向言語の発展に伴って形成され てきたソフトウェア開発上の概念.オブジェク ト指向分析,オブジェクト指向設計など,プロ グラミング以外の工程でも用いられる.  ソフトウェアを処理や関数ではなくオブジェク.
オブジェクト指向 言語 論 知能情報学部 新田直也. 講義概要  私の研究室: 13 号館 2 階 (13-206)  講義資料について :  参考図書 : 河西朝雄 : 「原理がわかる プログラムの法則」,
「コンピュータと情報システム」 03章 ソフトウェア
C言語システムプログラミング クラス分け 1の人:紫合クラス(302教室) 学籍番号を3で割った余りが、 0の人:冬爪クラス(208教室)
プログラマのレベルアップ.
リレーショナル・データベース データベース論 第10回.
プログラミング入門 (教科書1~3章) 2005/04/14(Thu.).
オブジェクト指向言語論 知能情報学部 新田直也.
ソフトウェア工学 知能情報学部 新田直也.
プログラミング言語論 理工学部 情報システム工学科 新田直也.
プログラミング言語論 理工学部 情報システム工学科 新田直也.
オブジェクト指向 プログラミング 第一回 知能情報学部 新田直也.
C言語システムプログラミング C Language System Programming
UMLとは           032234 田邊祐司.
オントロジーを使用した プログラム開発支援システムの提案
【プログラミング応用】 必修2単位 通年 30週 授業形態:演習.
ネットワークプログラミング 中村 修.
オブジェクト指向 プログラミング 第十四回 知能情報学部 新田直也.
ソフトウェア工学 知能情報学部 新田直也.
オブジェクト指向 プログラミング 第十三回 知能情報学部 新田直也.
オブジェクト指向 プログラミング 第二回 知能情報学部 新田直也.
ソフトウェア工学 知能情報学部 新田直也.
米山研究室紹介 -システム制御工学研究室-
オブジェクト指向 プログラミング 第十四回 知能情報学部 新田直也.
データ構造とアルゴリズム論 終章 専門科目におけるプログラミング
オブジェクト指向 プログラミング 第七回 知能情報学部 新田直也.
社会シミュレーションのための モデル作成環境
ソフトウェア設計検証 研究室の紹介 知能情報学部 准教授 新田直也.
プログラミング言語論 第十四回 理工学部 情報システム工学科 新田直也.
UMLモデルを対象とした リファクタリング候補検出の試み
Ibaraki Univ. Dept of Electrical & Electronic Eng.
オブジェクト指向 プログラミング 第六回 知能情報学部 新田直也.
第二回 Javaの開発環境 04A2029           古賀慎也.
プログラミング言語論 第十四回 理工学部 情報システム工学科 新田直也.
オブジェクト指向 プログラミング 第二回 知能情報学部 新田直也.
オブジェクト指向言語論 第六回 知能情報学部 新田直也.
プログラミング言語論 第六回 理工学部 情報システム工学科 新田直也.
UMLの概要とオブジェクト指向の基本概念
プロジェクト演習 知能情報学部 新田直也.
ソフトウェア工学 知能情報学部 新田直也.
オブジェクト指向言語論 第十二回 知能情報学部 新田直也.
オブジェクト指向 プログラミング 第六回 知能情報学部 新田直也.
プログラミング言語論 第十一回 理工学部 情報システム工学科 新田直也.
リレーショナル・データベース J2EE I (データベース論) 第2回 /
ソフトウェア工学 知能情報学部 新田直也.
ソフトウェア工学 理工学部 情報システム工学科 新田直也.
第6回放送授業.
ソフトウェア工学 知能情報学部 新田直也.
オブジェクト指向言語論 第十一回 知能情報学部 新田直也.
情報数学Ⅲ 5,6 (コンピュータおよび情報処理)
オブジェクト指向 プログラミング 第四回 知能情報学部 新田直也.
オブジェクト指向言語論 第九回 知能情報学部 新田直也.
オブジェクト指向言語論 第二回 知能情報学部 新田直也.
ソフトウェア工学 知能情報学部 新田直也.
知識ベースの試作計画 ●●●研究所 ●●●技術部 稲本□□ 1997年1月.
ソフトウェア工学 知能情報学部 新田直也.
オブジェクト指向言語論 第一回 知能情報学部 新田直也.
プログラミング言語論 第九回 理工学部 情報システム工学科 新田直也.
オブジェクト指向言語論 第六回 知能情報学部 新田直也.
オブジェクト指向言語論 第七回 知能情報学部 新田直也.
プログラミング言語論 第九回 理工学部 情報システム工学科 新田直也.
オブジェクト指向言語論 第七回 知能情報学部 新田直也.
オブジェクト指向言語論 第三回 知能情報学部 新田直也.
オブジェクト指向 プログラミング 第六回 知能情報学部 新田直也.
C#プログラミング実習 第1回.
オブジェクト指向言語論 第九回 知能情報学部 新田直也.
ソフトウェア工学 理工学部 情報システム工学科 新田直也.
オブジェクト指向言語論 第六回 知能情報学部 新田直也.
Presentation transcript:

オブジェクト指向言語論 第十四回 知能情報学部 新田直也

テトリスの開発 Swingを使用 開発期間:9時間40分 コード行数:903行 http://silverbullet.is.konan-u.ac.jp/ lectures/ProgrammingLanguage/tetris.html

開発の様子

プログラミング能力 の個人差 プログラミング能力の差は大きい. 最優秀者は最低者の約10倍! 最優秀者は平均作業者の約2.5倍! 上位半分の平均値は下位半分の平均値の2倍以上!

何が違うのか? 知識を十分に持っている. 必要以上に考え込まない. → まず動かして試してみる. 作業に取り掛かる前によく考える. → きちんと設計してからプログラミング.

テトリス開発の流れ 9時間40分の作業の内訳 最初の実行 設計

テトリス開発の流れ 9時間40分の作業の内訳 設計

テトリス開発の流れ 9時間40分の作業の内訳

テトリスの完成

何が違うのか? 作り始めて20分後に動かしている →まず動かして試す. 1時間24分かけて設計している. →設計してからプログラミング.

ソフトウェアの設計とは? 後の作業をやり易くするためのもの. 巨大なソフトウェアの開発では,プロジェクトの成否を決める. ソフトウェアの品質も左右する. 技術者の経験と勘に頼っている.

テトリスの設計(1) 画面の構成物にどのようなものがあるか? Block: Tetromino: PiledBlocks:

テトリスの設計(2) 構成物を適切に分類する Model Movable PiledBlocks Tetromino

テトリスの設計(2)

講義で話せなかったこと プログラム理論: コンパイラやインタプリタの内部処理: 他のプログラミングパラダイム: 型理論 意味論 計算モデル コンパイラやインタプリタの内部処理: 最適化 構文解析 ガベージコレクション 他のプログラミングパラダイム: 関数型プログラミング(特にLisp) アスペクト指向 開発手法:(後期のソフトウェア工学で…) デザインパターン リファクタリング

参考文献,URL Java Eclipse UML: デザインパターン: フレームワーク: http://java.sun.com/j2se/1.4.2/ja/download.html Eclipse http://www.eclipse.org/ UML: http://www.uml.org/ デザインパターン: E.Gamma, R.Helm, R.Johnson, J.Vlissides著,本位田真一, 吉田和樹 訳:「オブジェクト指向における再利用のための デザインパターン 改訂版」, ソフトバンクパブリッシング. フレームワーク: R.Johnson, 中村宏明, 中山裕子,吉田和樹著: 「パターンとフレームワーク」, 共立出版 ソフトウェアテクノロジーシリーズ1.

講義を終えるに当たって… 日本のソフトウェア産業 2000年の日本のソフトウェアの輸出額は輸入額の100分の1程度. 1995~2000年の間の カスタムソフトの輸入の伸びは約8倍(32%). 輸入元は米国89%, 欧州7%と続く. 中国,インドへのオフショアリングの増加. 「ソフトウェア輸出入統計調査」 電子情報技術産業協会(2003)

ソフトウェア産業の未来 ソフトウェアの高度化,大規模化 世界の潮流を読むこと!! コンポーネント指向 ダウンサイジング ビジネスモデリング ハードウェア アプリケーション 高級言語 OS フレームワーク ミドルウェア コンポーネント指向 ダウンサイジング ハードウェア アプリケーション 高級言語 OS ハードウェア アプリケーション 低級言語 OS アプリケーション ビジネスモデリング アジャイル ハードウェア SOA オープンソース 世界の潮流を読むこと!!