UML入門

基礎情報技術
ー第1日目Ver.2ー
平成20年4月18日(金)
○亀田・中村
本講義担当教員
• クラスA: 亀田弘之 (世話役) @研A302
• クラスB: 中村太一
@研A303
研A601
研A???
日程
4/18
5/2
6/6
7/4
4/25
5/9 5/16 5/23 5/30
6/13 6/20 6/27
7/11 7/18 + (補講)
本日(4月18日)はガイダンス
日程
4/18
5/2
6/6
7/4
4/25
5/9 5/16 5/23 5/30
6/13 6/20 6/27
7/11 7/18 + (補講)
本日(4月18日)はガイダンス+イントロ
日程
4/18
5/9
6/6
7/4
4/25
5/16 5/23 5/30
6/13 6/20 6/27
7/11 7/18 + (補講:7/23 or 24)
4月25日は休講
もう少しガイダンス
• まずは、雑談から…
(皆さんへのアドバイス)
アドバイス(1)
– 資格を取ろう (基礎情報処理技術者試験関連)
• 情報処理技術者試験(www.jitec.jp)
– 経済産業省 ・ 国家試験
– 3年生の秋までにはとろう(年2回実施、4月と10月)
– 今年の春は4月15日???
» 3年次後期授業「実践コンピュータ技術」の単位が取れる!
• ディジタル技術検定(www.digital.kentei.or.jp)
–
–
–
–
–
実務技能検定協会
文部科学省 後援・全工協後援・日本技能協会連合会推薦
情報2級部門 がお勧め
4年生までに1級が取れるとすごい
今年は6月24日と11月26日???
お知らせ
• 「情報処理技術者試験」に合格するといいこ
とがある!
• 「実践コンピュータ技術」の単位が
取得できる。
• 詳細は、教務課に確認すること。
(ガイダンスでも話があったと
思いますが…)
We have to
strive for what
we want.
ミニ情報
• 平成19年度「実践コンピュータ技術」の単位
を無事修得した先輩に関する情報に関する
報告会のパワーポイント(一部)を以下に掲
載しておきます。参考になれば幸いです。
「実践コンピュータ技術」
結果報告
平成20年1月16日(水)
東京工科大学
コンピュータサイエンス学部
Αγορα
科目担当:亀田弘之
レポートの内容
1.
2.
3.
4.
5.
資格取得に向けた各自の取り組み(具体的に)
1.1 主に使用した参考書
1.2 役に立った授業・演習・実験
1.3 役に立ったWebのサイト
苦労した点・良かった点
すでに取得している資格(IT以外も含む)
今後取得したい資格(もしあれば)
その他
(全体的な感想や本授業に対するコメント等)
1.資格取得に向けた取り組
み
1.1 主に使用した参考書
1.2 役に立った授業・演習・実験
1.3 役に立ったWebのサイト
主に使用した参考書
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
基本情報技術者 スーパー合格本 午前
C言語の切り札
1週間で分かる基本情報技術者集中ゼミ 午後
平成17年度秋季基本情報技術者合格本
よく出るよく分かる基本情報技術者 【午前】問題集2名
よく出るよく分かる基本情報技術者 【午後】問題集2名
基本情報技者試験らくらく突破C言語
平成19年度春季秋季 基本情報技術者 合格教本
基本情報技術者集中ゼミ[午前編]
イメージ&クレバー方式でよく分かる
栢木先生の基本情報技術者教室2名
基本情報「午前」完全合格教本
基本情報技術者完全解答
役に立った授業・演習・実験




基礎教育科目
共通技術科目
専門科目
実験科目
基礎教育科目









コンピュータ概論I5名
コンピュータ概論II5名
コンピュータ操作演習I2名
コンピュータ操作演習II2名
プログラミング技術I4名
プログラミング技術II4名
プログラミング技術III4名
プログラミング技術IV2名
(プログラミングの授業)
共通技術科目





論理回路
Web技術基礎
データベース技法入門3名
情報ネットワーク概論
信頼性工学2名
専門科目







コンピュータサイエンス概論
インターネット
ブロードバンドネットワーク
Web技術応用
情報セキュリティ
アルゴリズムとデータ構造
コンピュータアーキテクチャ
実験科目






ネットワーク系実験
コンピュータ系実験I
コンピュータ系実験II
自然科学講義付き実験
実験のクライアント・サーバ・システム
実験の論理回路
役に立ったWebサイト
情報処理技術者試験センター(http://www.jitec.jp)
の過去問ページ等3名
2. 一夜漬け 情報処理技術者試験
(http://www15.plala.or.jp/gcap/data)
3. 猫でもわかるプログラミング
(http://www.kumei.ne.jp/c_lang/)
2名
4. Amazon.co.jp(良書探しに役立った)
5. 特になし
1.
苦労した点
プログラミング言語とデータベース(独学)
データベース(操作経験がなくACCESSで自習)
アルゴリズムは難しかった2名.
試験範囲が広い(大学で学んだ以外の知識も必要)
体力と集中力
業務知識関係が非常に覚えづらく,苦戦した.
午前問題はとにかく覚えることが多かった.
午後問題は問題文が長い.
大学で習っていない内容は苦労した.
英語の略語の記憶に苦労した.
良かった点
ソフトウェアの観点からハードウェアの基本的なこと
を理解で,授業の理解に役立った.
問題1つ1つは簡単
大学の授業で学んだ内容との重複が多く,授業の
ありがたみがわかった.
大学にて下地ができていたので,本を1冊読むだけ
で合格ラインを超えることができた.
資格を取得することで次の目標を考えることができ
た.
大学での学習の筋道を立てるのにも役立った.
特になし2名.
すでに取得している資格
初級システムアドミニストレータ(18年度春)
普通自動車免許2名
実用英語技能検定2級
日本漢字能力検定2級
日本テニス協会公認C級審判員
特になし
今後取りたい資格
ソフトウェア開発技術者6名
CCNA3名
情報セキュリティアドミニストレータ
テクニカルエンジニア(データベース)
特になし
その他(感想など)(1)

本授業の認知度が高まれば,本授業の履修者
が増え,情報処理技術者試験の受験者が増える
のでは.
その他(感想など)(2)
大学のカリキュラムに基本情報技術者等の資格に
対してのアプローチをもっと組み込むべき.そうでな
いと,大学での学習の筋道の中で,中間的な目標が
立てにくい.
情報処理技術者やCCNAの資格取得をアピールし
ているが,カリキュラムでは後付に感じる.
CCNAに対しては触れてもいない.
Linuxも自発的に扱う以外はほとんど扱っていない.
基本情報技術者がCSの基礎に当たるのであれば,
1つの目標,カリキュラムの一環,進級条件にして
もいいのではないか.
その他(感想など)(3)
資格取得により就職を有利にしようと考えてい
る学生は多いと思う反面,受験するかどうか
迷っている学生も多いのではないかと思う.シラ
バスや大学のホームページに,資格取得に有
利な科目などを記載し,年度の初めのガイダン
スでより詳しいガイダンスを実施すれば,学生に
とってよい指針となるのではないか.
独学の部分も多かったが,参考書がたくさんあ
るのでそれほど苦労しなかった.
後輩へのアドバイス
参考書を用いてまずは午後の対策を取るべき.初
めて学ぶことや,理解しにくいこと,プログラミング
など時間を費やしてじっくりやる必要がある.その
後,午前の対策として参考書を一通り終わらせたら,
ただひたすら過去問を解くこと.
日頃の授業,勉強は大変重要である.
資格の取得だけでなく,情報技術に関する基礎的
な知識を学ぶことができた.
大学の授業を真剣に受けていれば資格を取れるレ
ベルに達すると思う.
勉強開始時期
2ヶ月程度前
今回が3度目の学生も1名いた
今後の対策
本授業をアピールし,学生の活性化を図りたい.
4月のガイダンス
関連授業の中で
体験談を学生に話してもらう など
教務委員会において詳細を詰めたい.
(ここまで)
• 以下は、本来の話の続きです。
アドバイス(2)
• 統計処理
基礎的かつ重要!
– なぜ高校までの間にしっかり学ばないのか?
– 実務・研究あらゆる分野で人より一歩先んじる
には、統計は不可欠!
– 興味のある人は、統計学を深く学ぶこと!
• 理論:平均・分散・確率分布・推定・検定・
大数の定理・中心極限の定理・相関・
多変量解析・共分散分析(構造方程式モデリング) など
• 実践:記述統計学(図表の作り方),統計分析の体験・訓練
• ツール:R,gnuplot,Excel etc.
参考までに
• 本学における統計の講義
– 「確率と統計」 (CS,2年前期)
– 「データ解析法」(CS,2年後期)
– 「確率と統計」(MS,1年後期木曜日1限)
• 基礎の基礎から丁寧に
• 実務処理の観点にも重点をおいている
• EXCELでの統計処理とその結果の解釈
– 大学院でも「高度データマイニング」で統計が学べ
たのに!(なくなってしまいました…)
アドバイス(3)
• その他
– UML(Unified Modeling Language)
– XML(eXtened Markup Langauage)
– UNL(Universal Networking Langaugae)
– Semantic Web
– Semantic Computing
– 情報倫理・法律(知的財産権) など
いずれも皆さんの役に立ちます。
亀田の個人的コメント(1)
• IT(Information Technology)を真にかつ
格段に発展させるためには、以下の問題点を
本質的に解決する必要がある。
– 複雑さ(complexity)
– 意味(semantics)
の取り扱いの困難性
そろそろ本題へ入りましょう
• まずは「シラバス」を用いて、本授業の概要を
説明します。
(Webにつなげられる人は、シラバスのペー
ジにアクセスしてみてください。)
– 共通技術科目
– 2年次前期
授業概要
• ITエンジニアのプロフェッショナルになるためには、プロとして
の嗜み(たしなみ)と作法を身につけることも大切である。本
授業では、今後プロとしてソフトウェアかかわる人たちにとっ
て避けて通ることのできない嗜み・作法を簡単な演習を通じ
て紹介するとともに、学生の皆さんにそれらの必要性・重要
性を身を持って理解してもらうことを目指す。
• 具体的には、ソフトウェア開発を上流工程から下流工程へ向
けて実際に体験してもらいながら、UML(Unified Modeling
Language)やプロジェクト管理等の紹介を行う。
• ITシステム ≠ プログラミング であることや、ソフトウェア開発
におけるコミュニケーションの意義、プロジェクト管理の重要
性についてなど、多くのことを学生の皆さん自らが気づくこと
を期待する。
授業方法
• 基本的には講義形式で行うが、理解を深め
知識を確実なものとするために数多くの演習
を行う。なお本授業は中村と亀田でそれぞれ
行うため、各クラスで多少の授業方法・内容
に異なる部分があり得ることをあらかじめ
断っておく。
準備学習
• 取り立てて予備知識を必要とはしない。
• ただ、取り組みに対する真剣さ・熱意は必要。
履修上の注意
• 受講時には教員からの指定・紹介の有無に
かかわらず、積極的に関連書籍・Webに目を
通し、主体的な学習を心がけること。また、当
然のことであるが欠席・遅刻・早退はしないこ
と。
成績評価方法・基準
• 原則としてレポート課題で評価する。詳細は
授業で説明をする。
=>
– レポート
– (出席は前提)
教科書・参考書
• 浅井他:“現場のUML -モデルベース開発の
すべて-”(ソーテック社)2,880円.
• 竹政他:“UMLモデリング教科書 UMLモデリ
ングL2”(翔泳社)3,444円.
その他は、Webで紹介します。
回
項 目
内
容
第1回
はじめに
ソフトウェア産業の現状と問題点、
今後重要な技術・知識とは
第2回
プログラミングパラダイム
オブジェクト指向、オブジェクト指向プログラ
ミング、再利用性など
第3回
モデル記述言語と
プロジェクト管理
モデル記述、プロジェクト管理、UML、
関連ツールの紹介など
第4回
仕様の分析・記述とUML
ユースケース、ユースケース図など
第5回
外部設計とUML
シークエンス図、ステイト・マシンズ図、
コミュニケーション図
第6回
外部設計とUML記述
ステイト・マシン図などの作成練習
第7回
内部設計とUML
クラス図、オブジェクト図
第8回
内部設計とUML記述
クラス図の作成練習
第9回
プログラム設計とUML
クラス図とソースコードの対応
第10回
プログラム設計とUML記述
UML図に基づくコーディング,
開発環境Eclipseの紹介
第11回
UMLに基づくコーディング
プログラムの作成、システムテスト
第12回
演習予備日
最終的仕上げとドキュメント記述
第13回
まとめ
全体の総括
本講義日程(クラスA)
• 亀田弘之(CS)
– 4月18日
• ソフトウェア工学とは
• オブジェクト指向とは
– 5月9日
• グループ分け
• 要求仕様書とその作成
– 以後、順次
それでははじめましょう。
Are you ready?
基礎情報技術
ー イントロ(1日目続き)ー
平成20年4月18日(金)
亀田弘之
背景と問題点
現実世界
実装された
での活動
情報システム
(作成)
モデル
(分析)
ソフトウェア工学とは
• バグのないソフトウェアを効率よく開発・テスト・維持す
るための手法に関する理論・ノウハウの総体
• 従来からさまざまな手法が提案されては消えていきま
した。
• 現状は、UML(Unified Modeling Language)の登場に
より、オブジェクト指向を前提とする手法が主流になり
つつあります。
(UML・オブジェクト指向・デザインパターン・
開発プロセス・ツール)
ソフトウェアのライフサイクル(1)
1.
2.
3.
4.
5.
6.
要求分析
設計
プログラミング
デバッグ
評価
運用
⇒再び1へ戻る
ソフトウェアのライフサイクル(2)
1.
2.
3.
4.
5.
6.
何(どんなもの)を作ればいいの?
どう作ればいの?
作成作業そのもの(デバッグもやりながら)
本当にちゃんとできたのかな?
実際に使おう!
ちょっと変更したいな。
ソフトウェア開発モデル
•
•
•
•
•
•
•
ウォーターフォール(water fall)モデル
プロトタイピングによるソフトウェア開発
インクリメンタルモデルとイテラティブモデル
スパイラルモデル
データフローモデル
アジャイルモデル
モデル駆動型
=>一長一短あり
自主問題:
ウォーターフォールモデル , スパイラルモデルおよび
モデル駆動型アーキテクチャ(MDA)について調べよ。
現在のソフトウェア
• 大規模化・複雑化
• 継続的な進化(短時間での変更・高性能化)
(ソフトウェア開発はムービングターゲット)
一方、
• 安心・安全への要求(高品質)
• コストダウンへの要求 など
アジャイル開発手法
• 背景:
– 仕様が確定しない
– 短期開発
– 低コスト化の要請
• 意義
– 優秀な小規模人材のチームの生産性大
– コンカレントエンジニアリングが不可欠
– お客のコミットした仕様を実現したテスト済ソース
コードの生産性(throughput)の最大化
MDA(Model Driven Architecture)
• (日を改めて詳しくお話します。)
UMLとは
• その発生の歴史
• その意義・役割
UMLの歴史(背景)No.1
オブジェクト指向分析/設計の方法論
• 1980年代~90年代(pre-historic)
– Grady Booch(Booch method),
– James Rumbaugh(OMT),
– Ivar Jacobson(OOSE; Object Oriented
Software Engineering)
• 1994年 BoochとRumbaughが協力
• 1995年 Jacobsonも加わる(Three amigos)
->UMLの始まり
UMLの歴史(背景)No.2
• 1997年1月 UML1.0OMG(Object
Management Group)へ提案
• 1997年末 UML1.1はOMGの標準に
• 1998年
2回改定される。
• 2004年4月 UML2.0発表される!
(現在はUML2.1.1)
<<注>> 本講義ではUML1.5 & 2.0に準拠する。
UMLとは
• モデリング言語
背景と問題点
現実世界
実装された
での活動
情報システム
モデル
UMLの利点
1. システム分析や設計の結果を
理解しやすく表現できる。
2. Object-orientedの考えに基づくため、
Javaなどと相性がよい。
3. OMGが策定した仕様(de facto standard)
(http://www.omg.org/)
4. 開発者相互、開発者ー利用者間の
円滑な意思疎通ができる。
UMLの適用有効分野
• 携帯電話やカーナビゲーション機器の
「組み込みソフトウェア」の分野 などなど
UML理解のためのキーワード
• モデリング
– モデル記述言語とモデル
• オブジェクト指向
UML
開発言語
開発プロセス
開 発 ツ ー ル
UMLを学ぶ意義
意思疎通手段としての有効性
モデリング手段としての有効性
情報システム開発に
UMLの積極的活用を
UMLモデリングツールの充実
UMLはde facto standard
(国際性)
技術者認定試験
(社会的認知度)
モデリングツールの例
•
•
•
•
•
•
Jude
EclipsUML (http://www.omondo.com/)
Pattern Weaver
IIOSS (http://www.iioss.org/)
Rational Rose XDE Developer
Visual studio.NET Enterprise Architect
など
1回目前半おわり
• 以上が、ソフトウェア工学とUML.
次は、…
• オブジェクト指向
オブジェクト指向の理解も必要
•
•
•
•
•
•
•
オブジェクト
抽象化
クラスとオブジェクト(インスタンス)
データ抽象(カプセル化・隠蔽)
メッセージとメソッド
継承と集約
ポリモフィズム(polymorphism, 多相性)
など
基礎情報技術
-1日目後半-オブジェクト指向平成20年4月18日(金)
亀田弘之
「オブジェクト指向」理解のキーワード
1.
2.
3.
4.
5.
6.
7.
オブジェクト
抽象化
クラスとインスタンス
データ抽象(カプセル化・情報の隠蔽)
メッセージとメソッド
継承と集約
ポリモフィズム(polymorphism多相性)
など
1.オブジェクト(1)
• オブジェクト(object)とは、
– 「もの」のこと
• 例:
– 自動車、人、携帯電話器、教科書、…
1.オブジェクト(2)
• オブジェクト指向(object-oriented)というもの
の考え方は、複雑な現実世界を
「オブジェクトとそれらの相互関係」
で記述しようとするもの。
2.抽象化(1)
• 抽象化とは、
– 必要なものだけを取り出し、不要なものを捨て去
ること。
– つまり、システムの構築を目的として、オブジェク
ト(対象物)の属性や振る舞いの内、必要なもの
を選び出すこと。
2.抽象化(2)
• 例:成績管理システム
– オブジェクト: 学生など
– 学生の属性: 氏名・学籍番号・成績など
<<注>> 学生の属性としては、これらの他に
趣味・出生地・体重など
があるが、成績管理システムにとっては
関係ない(捨て去られる属性)
3.クラスとインスタンス(1)
• クラスとは、
– 設計図や型紙のようなもの(比喩的に言うと)
– 同じ性質を持つオブジェクトの集まりのこと
• インスタンスとは、
– 実際の「もの」そのもの
3.クラスとインスタンス(2-1)
• 例1:
乗用車クラス
山田さんの車
田中さんの車
中山さんの車
3.クラスとインスタンス(2-1)
• 例1:
クラス
インスタンス
乗用車クラス
山田さんの車
田中さんの車
中山さんの車
3.クラスとインスタンス(2-2)
• 例2:
生徒 ---鈴木さん
佐藤さん
吉田さん
3.クラスとインスタンス(2-2)
• 例2:
生徒 ---鈴木さん
佐藤さん
吉田さん
クラス
オブジェクト
4.データ抽象(1)
• データ抽象とは、
– カプセル化や情報隠蔽のこと
• カプセル化(encapsulation):
– オブジェクトに関して、データとそれを操作する手続
きをまとめること。
• 情報の隠蔽:
– オブジェクト内部の情報を外部から見えなくすること。
– カプセル化により、オブジェクトの内部構造などの情
報を外部から隠蔽することができる。
4.データ抽象(2)
操作1
操
作 データ
3
操作2
オブジェクトのイメージ
操作1
操
作 データ
3
操作2
オブジェクト1
オブジェクト2
オブジェクト1からはオブジェクト2のデータが
見えない。操作(method)を介する必要がある。
5.メッセージとメソッド(1)
• メッセージとは、
– オブジェクトに与える指示
• 例:あるオブジェクト1(プログラム)とオブジェクト2(プ
リンター)相互の対話。
「オブジェクト2さん、準備はできていますか?」
「オブジェクト1さん、準備OKですよ。」
「オブジェクト2さん、あなたの機種を教えてください。」
「はい、私はレーザビームプリンタですよ。」
「オブジェクト2さん、この絵を印刷して!」
「オブジェクト1さん、印刷終了しました。」
5.メッセージとメソッド(2)
• 先の例のように、相互にメッセージを送りあう
ことを、メッセージパッシング(message
passing)と言う。
• メッセージパッシングは、メソッド(操作)を介し
て行う。
メッセージパッシング(1)
メッセージ1
操作1
操
作 データ
3
操作2
オブジェクト2
オブジェクト1
メッセージ2
メッセージパッシング(1)
メッセージ1
メッセージ
パッシング
操作1
操
作 データ
3
操作2
オブジェクト2
オブジェクト1
メッセージ2
メッセージパッシング(2)
メッセージ1
メソッドを介する
操作1
操
作 データ
3
操作2
オブジェクト2
オブジェクト1
メッセージ2
メッセージパッシング(3)
• メッセージの送り方(例):
dbcon = driveManager.getConnection(RDBNAME);
System.out.println(“認証エラー”);
メッセージパッシング(3)
• メッセージの送り方(例):
dbcon = driveManager.getConnection(RDBNAME);
オブジェクト
メソッド
メッセージパッシング(4)
• 他のオブジェクトに処理を任せることを、委譲
と言う。
• 例:
– Aさん:「お母さん、明日のお弁当作ってね。」
– お母さん:「お弁当のおかず買ってきて。」
「Aさん」は「お母さんに」お弁当つくりの処理を委
譲し、「お母さん」は「Aさん」におかずの買出し処
理を委譲している。
6.継承と集約
• 継承とは、
– 新たなクラスを作成する際に、既存のクラスの共
通部分を引き継ぐこと。
– 継承は、is-a関係になっている。
3.継承と集約(2)
• 例:
自動車クラス
レーシングカー
クラス
バスクラス
タクシークラス
3.継承と集約(2)
• 例:
自動車クラス
is-a関係
Racing car is a car.
レーシングカー
クラス
バスクラス
タクシークラス
3.継承と集約(2)
• 継承の例:
自動車クラス
一般化
is-a関係
Racing car is a car.
特殊化
レーシングカー
クラス
バスクラス
タクシークラス
3.継承と集約(3-1)
• 継承の例:
犬
しろ
哺乳類
猫
ポチ
ミーちゃん
鯨
太郎
カモノハシ
Melbourn動物園
のカモノハシJohn
3.継承と集約(3-2)
• 継承の例:
犬
しろ
哺乳類
猫
ポチ
ミーちゃん
スーパークラス
とサブクラス
鯨
太郎
カモノハシ
Melbourn動物園
のカモノハシJohn
クラスとインスタンス
犬クラスのインスタンス
実体
3.継承と集約(4-1)
• 集約とは、
– 部品(component)を組み合わせること。
– コンポーネントを組み合わせた全体を、コンポ
ジット(composite)あるいはコンテナ(container)と
呼ぶ。
– 集約は、part-of関係になっている。
3.継承と集約(4-2)
車 台
窓ガラス
ボディ
タイヤ
エンジン
ハンドル
3.継承と集約(4-2)
Part of 関係
Engine is a
part of a car
車 台
窓ガラス
ボディ
タイヤ
エンジン
ハンドル
・車台・ボディ・エンジンは、自動車のコンポーネント
・自動車がコンポジット(コンテナ)
7.ポリモルフィズム
• ポリモフィズムとは、
– 異なるクラスに対して、同じメソッドでそれぞれの
動作を実行させること。
– 例:
今日の話はここまで
• Let’s call it a day.
(あとは、レポート課題と宿題について)
成績評価の方法
• レポートでしたよね。
(出席は当然です。)
確認
• 4月25日(金) は休講です。
• 7月23日(水)か24日(木) に補講をします。
レポート課題No1
• 教科書の8ページから40ページまでを読ん
で、専門用語と思われる用語を抽出し以下の
ように分類しなさい。
– [手順0] A4の紙を3枚用意し、各用紙の右上に
○、△、×の印を大きめに書く。
– [手順1] 教科書の8~40ページを順に読む。
– [手順2] 専門用語を見つけ、もし知っている用語
ならば○の紙に、知らない用語ならば×の紙に、
それ以外は△の紙に、それぞれ順次書き込む。
– [手順3] 集まったらコピーをとり、表紙を付けて次
回授業時に提出する。原本は手元に保存してお
くこと。
宿題
• 大学の掲示版として、「個人専用の掲示板」を
作るとしたらどんなものがいいのかを考えて
みなさい。
– ページデザイン
– 情報デザイン
仲間と相談
してもいい
– 利用サービス(種類と利用方法)
よ。
– OS
その他、いろいろな観点があります。
http://kameken.clique.jp
• 授業のURLです。
以上