2009/02/20

1

オブジェクト指向技術４年制カリキュラム 発表資料

資料１：IT 系人材派遣会社による求人数集計結果

23●出典：http://www.workport.co.jp/news/news_090213.html

4●概要：IT 系人材派遣会社(株)ワークポートによる、プログラム言語別求人数の集計結果。今日の5

IT 技術動向を推し量る材料のひとつと考えられる。

6

求人数全順位

言語オブジェクト

WEBプログラ

2008年

2007年

体に対す指向技術

ミング技術

求人数

求人数る比率（2008）

1位

JAVA

○

2位

C

3位

C++

○

4位

PHP

△

5位

C#

○

6位

VisualBasic

△

7位

Perl

8位

JavaScript

683

783

23.2%

653

764

22.2%

345

314

11.7%

○272

270

9.2%

○223

172

7.6%

189

148

6.4%

○162

205

5.5%

○

110

111

3.7%

9位

COBOL

60622.0%

10位

VisualBASIC.NET○○54231.8%

11位

ruby○○

58

432.0%

12位

ActionScript○○37301.3%

13位

ASP.NET○○37241.3%

14位

PL/SQL

31201.1%

15位

VBA

2930

1.0%

△

○78※○は関連性の高さ、△は条件付きで関連性が高いことを意味する

9※全体に対する比率は求人総数を 2943 件として計算

10※「ASP.NET」はプログラム言語ではないが、プログラム言語と同様に求人の条件として含まれ111213ているため、他の言語と同様に扱われている。
●ポイント

14

①オブジェクト指向技術はソフトウェア開発プロセスの全体（主に分析、設計、実装）をカバー

15

する 1 方法論であり、WEB プログラミング技術は、オンラインショッピングサイト、掲示板、

16

ブログ、SNS といった WEB アプリケーションを開発するための製品技術（目的をもった技17術）

18②2008 年オブジェクト指向技術に関連する求人数合計の全体に対する比率

68.2%

19③2008 年 WEB プログラミング技術に関連する求人数合計の全体に対する比率
155.6%

2009/02/20

20

オブジェクト指向技術４年制カリキュラム 発表資料

資料 2：専門学校における教育動向（2008 年度調査）

2122●概要：2008 年度の都内の主要な情報系専門学校のカリキュラム（ネット上やパンフレットなど23で公開されているもの）に含まれる分野別授業時間数を独自に集計した結果。情報系専門学

24校の教育動向を推し量る材料と考えられる。ここで、「オブジェクト指向実装」は、Java や

25

C#といったオブジェクト指向言語によるプログラミング技術。
「オブジェクト指向設計」は

26

UML、オブジェクト指向設計の原則、ソフトウェアパターンを駆使した設計技術。
「オブジェ

27

クト指向分析」は、OOSE 法や ICONIX 法に基づいたドメイン分析、要求分析、ロバスト

28

ネス分析などの上流工程を構成する技術。
「WEB プログラミング」は、PHP、Perl、ASP.NET、

29

J2EE、Flash、JavaScript などの WEB アプリケーション・RIA（Rich Internet Application）

30関連技術を意味する。
学校

学科

年制

オブジェクト指向 オブジェクト指向 WEBプログラミン
実装系科目
設計系科目
グ系科目

データベース
総時間数
系科目

WEB系学科2

240/11.8%

30/1.5%120/5.9%60/2.9%2,040

A
情報処理系学科
校3

240/7.9%30/1.0%30/1.0%90/3.0%3,030

情報処理系学科

2

240/11.6%

0090/4.3%

2,070

WEB系学科2

345/17.3%

300/15%

125/6.3%

60/3%

2,000

情報処理系学科

2

300/15%225/11.3%

60/3.0%180/9.0%2,000

2360/20.7%

0150/8.6%

0

1,740

B
校

31
32

C
WEB系学科校※45 分授業を 1 時間に換算

33※授業内容は、授業タイトルおよびシラバスより判定

34※総時間数は、選択科目、必修科目、卒業制作などの時間の総数として算出

3536

●ポイント

37

①オブジェクト指向実装に関する授業が、カリキュラム全体の 10%～20%程度（300 時間前後）。

38

カリキュラム中の主要要素となるべきプログラミング技術の比率がこの程度で、本当に十分な39プログラマー育成教育が可能なのか。WEB プログラミングに関する授業時間はさらに少ない。

40②オブジェクト指向設計に関する授業時間の比率はさらに低く、また、オブジェクト指向分析に41関する授業はほとんど見られないため、オブジェクト指向技術を駆使するシステムエンジニア

42

や上流工程に関わるアーキテクトは育成できない。

43
44③「基本情報技術者試験」への対応などが影響して、専門学校のカリキュラムは、今日の IT 技術動向から大きく外れているのではないか。
2

2009/02/20

45

オブジェクト指向技術４年制カリキュラム 発表資料

資料 3：大学における教育動向（2008 年度調査）

46
47
48

●概要：有名大学理工系学部情報系学科におけるオブジェクト指向実装（Java）科目内容の実例。
全部で 11 コマの授業からなる。以下、授業各コマのテーマ。

49
50

１．講義概要、Java とは、計算、変数と型

51

２．条件分岐、繰り返し、メソッド

52

３．配列、上巻のまとめ

53

４．オブジェクト指向とは、クラス、オブジェクト、属性

54

５．継承、インタフェース、例外処理

55

６．ガーベッジコレクション、デバグ

56

７．プログラミング演習(I)57

８．GUI、コレクション

58

９．マルチスレッド

59

１０．ファイル入出力、ネットワーク

60

１１．プログラミング演習(II)6162※それぞれ 1 回の時間は 90 分

63
64
65

●ポイント

66

①オブジェクト指向実装に関する科目の時間数は、45 分換算でわずか 22 時間。授業時間が不足

67

しているのではないかと危惧される情報系専門学校におけるオブジェクト指向実装に関する授68

業時間のさらに 10 分の 1 を下回る。

69
70
71
72

②オブジェクト指向設計・オブジェクト指向分析は、別途、「ソフトウェア工学」科目で扱われる。授業規模はオブジェクト指向実装と同程度と思われる。
③WEB プログラミング技術に関する授業の存在は確認できない。少なくとも、学科内のカリキュラムではカバーしていない。

73④仮に、オブジェクト指向設計・オブジェクト指向分析に関する授業が内容的に充実していたと74

しても、実際にプログラムを作成する技術（実装技術）や WEB プログラミングといった製品

75

技術に関する知識が希薄となるため、オブジェクト指向設計・オブジェクト指向分析といった76技術の意義やメリットを認識しにくいのではないか。また、知識と職業との関連性に関する認77

識も希薄になるのではないか。

783

2009/02/20

79

オブジェクト指向技術４年制カリキュラム 発表資料

資料 4：全国スキル調査 2008 の結果に見られる情報教育の"効果"

80
81●出典：http://itpro.nikkeibp.co.jp/article/COLUMN/20090121/323151/

82
83
84
85
86

●概要：IT スキル研究フォーラム（iSRF/アイサーフ）主催の調査。3 万人を対象に、ITSS に準拠したスキルチェックテスト（ITSS-DS）を WEB 上で受験した結果を集計したもの。ITSSに準拠して、スキルレベルが未経験から 7 までの 8 段階で判定されている。受験者の 48.3%がソフトウェア開発に関わるエンジニアである（アプリケーションスペシャリスト：37.3%、ソフトウェアデベロップメント：6.3%、IT アーキテクト：4.7%）。

8788１）最終学歴別に見た、スキルレベルの分布

899091２）スキルレベル別に見た、会社で 1 年間に受ける教育・研修の日数

9293

●ポイント

94
95
96979899
100①大学・専門学校における情報教育は、その後のエンジニアのスキルレベルにほとんど影響していない（中学・高等学校卒エンジニアと優位な差が見られない）。
②このような結果になる一因は、現場の技術動向と、大学・専門学校における教育動向の不一致にあるのではないか。
③しかも、企業入社後の教育・研修も充実しているとは言い難い。
④学生時代の教育も入社後の教育も期待できないエンジニアは、どうやってエンジニアとして成長していくのか。
4

2009/02/20

101

オブジェクト指向技術４年制カリキュラム 発表資料

資料 5：企業における人材育成実態調査２００８の結果

102●出典：http://help.goo.ne.jp/info/detail/1237/

103●概要：NTT レゾナント株式会社が、国内の株式公開・非公開企業 138 社（有効回答者数）の人

104

事・人材育成部門の管理職以上を対象に、企業における人材育成の実態調査を行った結果。

105

対象業種の内訳は、製造業 28％、運輸・情報通信業 15％、サービス業 23％、商業 17％、

106

金融・保険業 7％、建設業７％、不動産業７％、電気・ガス業 1％。

107108１）研修テーマと研修形式

109110111２）研修に対する（管理職から見た）満足度

112
113
114

３）研修に対する現場の認識

115

この調査の報告書では、「現場の不満は実務に沿っていない（『研修効果が不明確（61.6%）』『即116

戦力の育成に役立たない（44.9%）』『研修内容が不足している（40.6%）』）ことがうかがえ、117

現場の求めている研修と実際に実施されている研修との間のズレが生じていて、そのズレが不118満の原因となっている可能性があります。」と指摘されている。

119
120

●ポイント

121

①この調査は、IT 企業のみを対象としたものではないが、集合研修型の新人教育を始めとする企

122

業内教育・研修が、あまり充実したものとなっていない（質的にも量的にも）ことが伺える。

123
5

2009/02/20124

オブジェクト指向技術４年制カリキュラム 発表資料

資料 6：IT 企業向け集合型新人研修の事例

125
126
127

●概要：代表的な IT 系研修サービス企業の新人向け研修サービスの事例（WEB プログラミング系コースのひとつと思われる）

128

オブジェクト指向設計・分析を扱うと思われる。

129
130
131

※1 日の研修時間は、推定で 6 時間（昼食時間などを除外）。45 分換算で 8 時間。

132
133
134
135

●ポイント
①実装技術に関しては、正味 11－14 日程度しか行われていない。45 分換算で 88－112 時間（2年制専門学校の 3 分の 1 程度か）。

136②オブジェクト指向設計や分析に関しては 2 日しか時間がとられていない。45 分換算で 16 時間。

137③この実例は PHP を扱うコースであり、オブジェクト指向実装技術（Java や C#）を扱うコー

138

スではないが、実例として紹介されている点から、新人研修コース全体の推定材料となる。
6

2009/02/20

139

オブジェクト指向技術４年制カリキュラム 発表資料

資料 7：基本情報処理資格の IT スキルの関係（全国スキル調査 2007）

140
141

●出典：https://www.isrf.jp/home/event/chousa.asp

142●概要：資料 4 に挙げた調査の 2007 年度版の報告書に含まれる。IT 企業の経営者や人事関係者が、143

就職希望者や採用内定者、情報系教育機関関係者に勧める（採用試験エントリの条件となる144

ことさえある）「基本情報技術者試験」の取得と ITSS スキルレベルとの関係を示すデータ。

145

146
147
148

●ポイント

149

①25 才以下（おそらくほぼ新人と考えられる）では、「基本情報技術者」取得によって得られた150

スキルの上乗せは、ITSS スキルレベル換算で 0.3 ポイント程度。初級シスアドと基本情報技151

術者のスキルレベルの差が 1.0 であり、さらに、その 3 分の 1 の実力差しか認められない。

152②情報系教育機関は、IT 企業の経営者や人事関係者に勧められるがまま、「基本情報技術者」取153
154
155

得に全力を傾けるほど、この資格に価値を見いだして良いのか。
③もっと、今日の IT 業界の（開発現場の）技術動向を見極めて、カリキュラムの構成を検討するべきではないか。
7

2009/02/20

156

オブジェクト指向技術４年制カリキュラム 発表資料

資料 8：オブジェクト指向技術 4 年制カリキュラムの全体像

157●概要：本研究における 4 年制カリキュラムの全体像と東京工科専門学校 WEB プログラミング科

158（2 年制）カリキュラムとの比較（表中の矢印の番号は「ポイント」の番号と対応）
1

分野

5

6

主な学習要素

増加率

4年制
対総時間比

120

300

250.0%

8.4%

195

225

115.4%

6.3%

495

915

184.8%

25.6%

345

510

147.8%

14.3%

0

270

－

7.6%

300

705

235.0%

19.7%

オブジェクト指向実装

Javaの文法
Javaのライブラリ
実装パターン
Java仮想マシン

オブジェクト指向設計

UML
オブジェクト指向の原則
ソフトウェアパターン
フレームワークの開発・利用③

オブジェクト指向分析・
開発プロセスドメイン分析
要求分析
ロバストネス分析
開発プロセス

データベースSQLによるオペレーション
データベースの作成・管理パフォーマンスチューニング
概念・論理・物理設計

③

②

③

HTML
Flash・JavaScript
J2EE
WEBサービス

255

375

147.1%

10.5%

資格対策

SJC-P
Oracle Master 10g Bronze
OCUP Fundamental
XMLマスター ベーシック

210

270

128.6%

7.6%

1,920

3,570

総履修時間

①

③

WEBプログラミング

159
161
162
163
164
165
166
167
168
169
170

4
4年制
分野別
合計
履修
時間

プログラム言語の歴史
データベースの役割
コンピュータのアーキテクチャ
コンピュータ数学
インターネット・ネットワーク

IT基礎知識

160

3
2年制
分野別
合計
履修
時間

時事問題
外国語

一般教養

③

2

⑤

●ポイント
①IT 基礎知識は、「基本情報技術者試験」の出題傾向に合わせるのではなく、各分野にとって本当に必要な内容に限定している。
②オブジェクト指向実装・設計・分析で、カリキュラム全体の 47.5%を占める③従来、専門学校が扱ってこなかった実装パターン（資料 p.9 参照）とオブジェクト指向設計（資料 p.10 参照）、オブジェクト指向分析、データベースに関するパフォーマンスチューニング・物理設計を含む。
④2 年制カリキュラムでは、オブジェクト指向分析、データベースに関する高度技術（設計・チューニング）を欠き、プログラマー・SE 止まりだったが、4 年制となることで、アーキテクトの育成が可能になる。
⑤資格試験は重要視していない。カリキュラム全体の 7.6%。
8

2009/02/20

171

オブジェクト指向技術４年制カリキュラム 発表資料

資料 9：実装パターンとは何か

172
173

●概要：実装パターンこそ、プログラミング経験に依存せずに、教育や学習によってコーディング

174の質を向上させる有力な手段の 1 つである。デザインパターンを云々する以前に、実装パター

175

ンをまず教育するべき。以下は、実装パターンの 1 つである Composed Method Pattern の176紹介。

177
178

●Composed Method Pattern適用前

179

class Product{

180

private int _price; private double _tax;

181

Product(int price,double tax){

182

public void showTaxedPrice(){_price=price;_tax=tax;}

183

int taxedPrice=(int)(_price+(_price*_tax));

184

System.out.println(taxedPrice);

185

}

186

public void showAll(){//税込価格の計算

187

int taxedPrice=(int)(_price+(_price*_tax));

188

System.out.println(_price+\t+_tax+\t+taxedPrice);189//税込価格の計算

}

190

}

191

●Composed Method Pattern適用後

192

class Product{

193

private int _price; private double _tax;

194

Product(int price,double tax){

195

public void showTaxedPrice(){_price=price;196

int taxedPrice = getTaxedPrice();

197

System.out.println(taxedPrice);198}

199

public void showAll(){_tax=tax;}

int taxedPrice = getTaxedPrice();

201

System.out.println(_price+\t+_tax+\t+taxedPrice);

202

}

203

//税込価格を計算する処理を独立させる。

204

private int getTaxedPrice() {205

int taxedPrice=(int)(_price+(_price*_tax));

206

return taxedPrice;

208

コードの可読性、再利用性、柔軟性が向上する。これを知っているだけで、経験に依存せずに、コーディング能力を向上させること

200

207

たったこれだけの工夫で、}}9ができる。

2009/02/20

209

オブジェクト指向技術４年制カリキュラム 発表資料

資料 10：オブジェクト指向設計技術として教えるべき内容

210
211

●概要："オブジェクト指向教育"と言えば、「カプセル化」、「継承」、「多態性」で済ませる傾向があ

212

るが、それは Java などのオブジェクト指向言語の基本文法程度（オブジェクト指向実装）

213の教育でしかない。オブジェクト指向が価値を発揮する分析・設計について教育するために

214

は、"オブジェクト指向設計教育"に、「開放-閉鎖原則」（Open-Closed Principle）を始めと215

する Robert C. Martin の「オブジェクト指向設計の原則」は欠かせない。以下、オブジェ

216

クト指向設計の原則についてのコマシラバスの一部。

217①オブジェクト指向設計原則とは、再利用可能なシステムを構築するための設計原則であること解説する。オブジェクト指向による設計のメリットである再利用性について確認した後、オブジェクト指向設計原則の適用時にシステムの再利用性が確保されることを、原則に準拠している設計と違反している設計を用いて、システムに対して機能の変更や追加が発生した場合に、必要になる対応の違いを比較することで解説する。本科目では、設計内容を解説する際にUMLについての知識が不可欠となるため、原則に準拠している設計と違反している設計をUMLで提示して読み方の確認もしておくこと。
②Robert C. Martinがまとめたオブジェクト指向設計における５つの原則（オブジェクト指向設計五原則）を一覧として提示して、全体像を紹介する。
オブジェクト指向の原則③５原則の１つである、開放-閉鎖原則（OCP:The Open-Closed Principle）について解説する。
1
Robert C. Martinが著書で定義している（※）OCPを紹介し、その意味を解説する。この際、ソフトウェアの構成要素や拡張、修正といった言葉が何を指しているのかについて解説することで原則の意味を理解させる。ソフトウェアの構成要素についてはクラスやインターフェイス等、具体的かつ身近な例をあげるだけでよいが、拡張と修正については別途解説が必要になる。"拡張"とは、ソースコードの修正を伴わずにシステムの機能を追加・変更することを指し、"修正"とは、ソースコードを修正することでシステムの機能を追加・変更することを指していることを、UMLやソースコードを使って、システムに対して"拡張"するケースと、"修正"するケースの具体例をあげ、解説する。また、ソースコードを修正せずに機能の追加・修正を行う"拡張"を可能にするためには、次コマ以降に解説する他の原則に準拠することが必要であることを解説しておく。なお、本コマでは、拡張によって機能の追加・変更に対応することのメリットからOCPの意味について解説することを趣旨とし、OCPの実現方法については、他の原則を理解する必要があるため詳しくは触れない。
①５原則の１つである、依存関係逆転の原則(DIP:The Dependency Inversion Principle)について解説する。Robert C. Martinが著書で定義しているDIPを紹介し、その意味を解説する。また、階層構造を設計に取り込む際に、レイヤ間（上位レイヤと下位レイヤ）の依存関係における、守るべき法則を定めたものがDIPであることを解説する。他の科目(オブジェクト指向設計2（レイヤリング）)で、Layersパターンとして階層構造を設計に取り込む意味について解説しているが、再度、確認として簡単に解説をしてもよい。その後、原則に準拠している（クライアントが抽象に依存している）設計と、違反している（クライアントが具象サプライアに依存している）設計を、UMLとソースコードで提示し、システムに対して機能の追加・修正が発生した場合の再利用性や保守性の違いを解説する。
特に、違反している設計に発生する問題として、クライアントが具体的なサプライアに依存することによってサプライアの変更にクライアントまでもが影響を受け、修正を余儀なくされることをあげ、クライアントとサプライアの依存関係に抽象を挟むことでクライアントの再利用が可能になっていることを解説しておくこと。また、この際、上位レイヤ（抽象）と下位レイヤの依存関係が逆になっている
オブジェクト指向の原則 ことを取り上げ、原則の名前の意味も解説する。
2②DIPをより深く理解するために、クライアントが依存するべき抽象について「上位レベルの方針」という面から解説する。上位レベルの方針とは、クライアントが要求しているインターフェイスであり、それに下位レベルのレイヤが従う形になることが依存関係の逆転に繋がり、クライアントが求めている抽象的な要求をクライアントとサプライアの間に挟むことが必要であることを解説する。また、定義する抽象の名前の留意点として、クライアントやサプライアに依存してしまうような名前（ClientServerやAbstract Suplier）にするのではなく、様々なクライアントの抽象的な要求を表す名前(生成を要求するのであれば、Creatable Deviceなど)にし、別パッケージで管理することで抽象を再利用できることを解説しておく。

218③DIPについて、設計実習を行い理解を確認する。①で提示したような原則に違反している設計を複数種類、UMLとソースコードで提示した後に、一定の時間を与え、原則に準拠した設計になるように修正させる。その後、修正した例を提示して解説をしていく。この際、原則に違反している設計のど219
10

2009/02/20

220

オブジェクト指向技術４年制カリキュラム 発表資料

資料 11：5 学期制のスケジュール

221
222

●概要：本カリキュラムでは 1 年 5 学期制を前提としている。一般的な大学・専門学校の前・後期

223

制はもちろん、中学・高等学校の 3 学期制よりも粒度の小さな学期構成となっている。5 学

224

期制では、どの科目も、履修判定試験による実力チェックを含め 7 週間程度で終了する。こ225の場合、長期にわたる科目運営による授業脱落者の発生率を抑制できる、科目の粒度が小さ

226

いため学生にとって科目全体の学習内容を把握しやすい、短いスパンで設置される履修判定

227

試験の受験機会により、教員および学生の授業に対する緊張感を維持しやすいといったメ228

リットがある。5 学期制の具体的なスケジュール例は、以下の通りである。

229
230

学期

スケジュール例

14 月 1 日から 5 月下旬の 5 週間

26 月上旬から 7 月中旬の 7 週間

38 月下旬から 10 月中旬の 7 週間

410 月下旬から 12 月中旬の 7 週間

51 月中旬から 3 月 31 日の 7 週間

231
232
233

※1 学期は、入学式や新入生向けのオリエンテーションなどの行事が多数あることを想定し、他

234

学期よりも短めに設定している。

235

11

2009/02/20

236

オブジェクト指向技術４年制カリキュラム 発表資料

資料 12：カリキュラムの進行237●概要：1・2 年次はオブジェクト指向実装、3・4 年次はオブジェクト指向設計、4 年次にオブジェ

238

クト指向分析・開発プロセスを、それぞれ主題とする。WEB プログラミング技術に関して

239

は 4 年間を通じて扱われるが、主要部分は 3 年次に教育する。

240
年次

1

分野履修時間一般教養

75

8.1%IT基礎知識

225

24.2%

オブジェクト指向実装

315

33.9%

オブジェクト指向設計--

オブジェクト指向分析・開発プロセス--

データベース180

19.4%

WEBプログラミング

75

8.1%

資格対策

60

6.5%

75

8.1%

一般教養

2

分野別 年次別
時間 合計履修比率
時間・2進数、16進数による演算、論理演算、配列を含むサン
プルプログラムを作成することができる。
・一定の機能を、Javaの文法に基づいて、独立したモジュールとして表現することができる。
930

IT基礎知識--オブジェクト指向実装

450

48.4%

オブジェクト指向設計--

オブジェクト指向分析・開発プロセス--

データベース

225

24.2%

WEBプログラミング

60

6.5%

資格対策

120

12.9%

一般教養

75

8.1%

・リレーショナルデータベースのデータ構造の修正、集合論理に基づいた特定データの抽出、データを加工するための操作を行うことができる。
・静的なホームページを作成し、WEBサーバを通して公開することができる。

・一定の論理モデルを、Javaによって表現することができる。
・Javaの実装モデルに基づいて、再利用性・保守性に優れたモジュールを作成することができる。

930

・リレーションルデータベースの論理構造を調整し、アプリケーションから適切に利用することができる。
・JavaScriptやFlashを用いた動的なホームページを作成することができる。
・「Oracle Master 10g Bronze」を取得することができる。
・「SJC-P」を取得することができる。

IT基礎知識--オブジェクト指向実装

135

14.5%

オブジェクト指向設計

255

27.4%

オブジェクト指向分析・
開発プロセス

75

8.1%

・開発プロセス全体のフローを理解している。

データベース

135

14.5%

・データベースを利用したWEBアプリケーションを設計・実装することができる。

WEBプログラミング

210

22.6%

資格対策

30

3.2%

一般教養

75

8.1%

3

IT基礎知識4

到達点-

・様々なソフトウェアパターンを適用することにより、アプリケーションを、最適化されたモジュール集合として設計・実装することができる。
・XMLデータの論理構造を調整し、アプリケーションから915 適切に利用することができる。

・WEBアプリケーションの開発にフレームワークを導入することにより、開発効率を促進することができる。

-

オブジェクト指向実装

15

1.6%

オブジェクト指向設計

255

27.4%

・様々なソフトウェアパターンを適用することにより、WEBアプリケーションの全体に対して、最適な設計を行うことができる。
795

オブジェクト指向分析・
開発プロセス

195

21.0%

データベース

165

17.7%

WEBプログラミング

30

3.2%

資格対策

60

6.5%

・WEBアプリケーションの開発について、オブジェクト指向の方法論に即して、分析から実装まで一貫したプロセスを実現することができる。
・高可用性、高パフォーマンスを実現するために、WEBアプリケーションで利用するリレーショナルデータベースを最適化することができる。
・「XMLマスターベーシック」を取得することができる。

241
242

総履修時間

3570

12

2009/02/20

243

オブジェクト指向技術４年制カリキュラム 発表資料

資料 13：反復的学習
195

学期

オブジェクト指向実装

オブジェクト指向設計

オブジェクト指向分析・
開発プロセス

データベースWEBプログラミング

1概要：ソースコードの保守性の向上というテーマが、実装パターン（第一段階）、オブ2

ジェクト指向設計の原則とレイヤリング（第1年次二段階）、WEB アプリケーションの設計（第3三段階）へと規模を拡大しながら反復的に4学習される。他の分野も同様に同一テーマ

Oracle SQL入門

HTML入門Oracle SQL応用HTML応用

Oracleオブジェクト入門

HTTP概論を多段階的に扱う。
Oracleオブジェクト応用

5

1

データベースの概念・論理設計

実装パターン1

第一段階
2

Oracle DBA1
（アーキテクチャ）

実装パターン2

3

Oracle DBA2
（データベースの論理構造）

4

Oracle DBA3
（オブジェクト XML概論の構造）

WEBアプリケーション概論

5

Oracle DBA4
（ユーザー管理・権限）

J2EE概論

2年次

第二段階

3年次

1

UML概論

開発プロセスJ2EE1（リクエクライアントサイド
スト・レスポン
プログラミング応用ス）

2

オブジェクト指向
設計の原則

ドメイン・要求
分析入門

J2EE2（JSPと式言語）

3

レイヤリングの理 デザインパ論と方法
ターン1

ユースケース分析（システム分析入門）

XML1（スキー J2EE3（MVCモマ定義）
デル2）

4

例外設計

デザインパターン2

設計・実装・テスト・保守
入門

J2EE4（フィルXML2（XPath・タ・イベント処
XSLT）
理）

5

WEBアプリケー
ションの設計ソフトウェア
品質概論

XML3（DOM・SAX）

1

J2EEパターンドメイン分析
応用

データベースの物理設計

2

エンタープライズアプリケー要求分析応Strutsに基づく設
ションアーキ
用
計と実装
テクチャパ
ターン

Oracle DBA6（パフォーマンスチューニング）

第三段階
4年次

244

クライアントサイド
プログラミング入門

3

JSFに基づく設計 O/Rマッピンと実装
グ

ユースケース分析（システム分析応用）

Oracle DBA7（RAC）

4

Springと依存性注
入

アーキテク
チャ設計・
J2EE実装Oracle DBA8（ストアドプロ
グラム・パッケージ）

5

ポストオブジェクト
指向プログラミング

レビュー、テスト、デバッ 保守グ

Oracle DBA5（ネットワーク）

13

J2EE5（タグライブラリとカスタムタグ）

WEBサービス

2009/02/20

245

オブジェクト指向技術４年制カリキュラム 発表資料

資料 14：コマシラバスの構成

246
247

●概要：以下、コマシラバスを構成するフォーマット。

248

項目
シラバス

記述内容
その科目で扱う技術に関して、その技術の背景、科目の内容、科目の目標について説明する。
「講義 80％、実習 20％」のように、その科目のコマ授業全体に対し、講義と実習の比率を示す。従来、講義一辺倒となり授業形態がちな科目であっても、できる限り実習を盛り込むように作成している。これは、実装、実装パターン、設計、分析を分離しないで学習するための工夫でもある。

シラバスとの関係
コマ主題

コマ主題細目

シラバスに記述された科目の目的や趣旨のなかで、そのコマがどのような位置づけとなっているかを示す。
そのコマの主題を示す。
そのコマの主題が、どのようなサブテーマに分節されるかを示す。必ず三つ以上存在する。
サブテーマごとに、どのような内容をどのような方法で授業コマ主題細目深度するかについて詳細な指示を記述する。コマシラバスの〈再現性〉のための最も重要な情報がここに記述される。

次コマとの関係

教材・教具

次のコマに対して、そのコマではどのような事後条件を満たさなければならないかを記述する。
そのコマの内容に関する主要な参考文献を挙げる。
履修判定試験の前に、それまでの授業内容をまとめて確認す

まとめるためのコマの内容を指示する。科目によって、「まとめ」コマは、ひとつあるいはふたつ存在する。

履修判定試験

学期末に実施される履修判定試験における出題内容を指示する。

249

14

2009/02/20

250

オブジェクト指向技術４年制カリキュラム 発表資料

資料 15：コマシラバスのサンプル

251
252

●概要：コマシラバスは、科目の担当教員に対する授業内容に関する指示である。何を教えるか（授253

業対象の明確化）、どこまで教えるか（授業レベルの明確化）、どのように教えるか（授業方254

法のノウハウの提供）を示すものである。これにより、カリキュラム責任者が、授業（常勤・255

非常勤教員による）を制御する。以下、オブジェクト指向設計分野 3 年次 3 学期 「レイヤ256

リングの理論と方法」の 5 コマ目のコマシラバス。

257

何を5_ 1 シラバスとの関係

エンタープライズアプリケーションの開発に適したレイヤー分割の設計・実装方法について解説する。

5_ 2 コマ主題

プレゼンテーションレイヤー、ビジネスロジックレイヤー、インテグレーションレイヤーに分割した場合の、それぞれのレイヤーの設計・実装の仕方について解説する。

5_ 3 コマ主題細目①プレゼンテーションレイヤーの設計と実装 ②ビジネスロジックレイヤーの設計と実装③インテグレーションレイヤーの設計と実装 ④サンプルコードの提示①簡単なコマンドラインアプリケーション（スケジュール管理プログラムなど）を例にとり、プレゼンテーションレイヤーの設計と実装について解説する。プレゼンテーションレイ
ヤーのクラスはユーザーからの入力（たとえば、新しい予定など）を受け取るメソッドやユーザーに処理結果（たとえば、予定の一覧など）を出力するメソッドを持っていること、内部でビジネスロジックレイヤーに対する関連もしくは依存の関係を持っていることを解説する。スケジュール管理プログラムなどの簡単なプログラムを例にとり、クラス図とソースコードを挙げながら解説すること。

どこまでどのように②ビジネスロジックレイヤーの設計と実装について解説する。ここでも、スケジュール管理プログラムなどの簡単なプログラムを例にとり、クラス図とソースコードを挙げながら解説すること。ビジネスロジックレイヤーのクラス（たとえば、予定クラスなど）は、プレゼン
テーションレイヤーから入力内容（たとえば、新しい予定に関するデータなど）を受け取りレイヤーの粒度と分割3妥当性（たとえば、日付データとして妥当かどうかなど）をチェックするメソッドやプレゼン
テーションレイヤーに業務処理の結果（たとえば、検索された予定の情報など）を返すメ
5_ 4 コマ主題細目深度
ソッドを持っていること、インテグレーションレイヤーのクラスに対する関連もしくは依存の関係を持ち、インテグレーションレイヤーの永続化処理（たとえば、新しい予定の記録や不要な予定の削除など）に必要なデータを渡すことができるようになっていることを解説する。また、プレゼンテーションレイヤーが複数のデータの表示のために（たとえば、すべての予定の表示など）、ビジネスロジックレイヤーのクラス（たとえば、予定クラスなど）のコレクションや配列を必要とする場合があり、ビジネスロジックレイヤーはこれを提供するためのメソッドが要求されることも解説しておく。
③インテグレーションレイヤーの設計と実装について解説する。インテグレーションレイ
ヤーはビジネスロジックレイヤーからデータを受け取り、JDBC APIなどの低レベルなAPIを利用してリソースレイヤーにアクセスしデータの書き込み処理行うこと、逆にリソースレイヤーから取得したデータをコレクションや配列へと変換し、ビジネスロジックレイヤーに返すといった実装をもつことを解説する。ここでもクラス図とソースコードを挙げながら解説する。
④ここではまだ疎結合については扱っていないため、疎結合を無視したサンプルコードとシーケンス図を提示し、それぞれのレイヤーが協調して動作することを示す。
5_ 5 次コマとの関係

258

次コマでは、アプリケーションを3つのレイヤーに分割する実習を行うため、ここでは、3つのレイヤーの債務について解説しておく。

259
260

●ポイント

261

①何を教えるかだけでは、カリキュラムの責任者と科目担当教員の間のコンセンサスは十分では262ない。必ず、どこまで教えるのかを明確にする必要がある。また、それにより、「何を」に関263する不要な誤解を避けることもできる。また、「どのように」というノウハウも担当教員にとって264重要な情報。
15