講義概要
本講義では、ソフトウェアの設計におけるモデルと抽象化の意義について述べ、手続き型言語による開発で広く用いられている構造化分析・設計法について述べる。次に、オブジェクト指向の考え方に基づく設計方法の基本について述べ、合わせて、ソフトウェア開発で広く用いられているUMLの基礎を学ぶ。
講師
- 所属
- 京都産業大学
- 講師名
- 荻原剛志
京都産業大学情報理工学部にてOS、プログラミング関連科目を担当し、データ圧縮アルゴリズムなどの研究にも従事。オブジェクト指向技術には30年以上の経験を持ち、macOS、iOSでのアプリ開発も行う。主な著書に「詳解Objective-C 2.0」、「詳解Swift」など。
講義内容
- ソフトウェアの設計とは
- ソフトウェア開発の困難さ、設計の視点、モデルと抽象化の意義
- 構造化分析・設計法
- データフロー図、データ辞書の書き方、構造図への変換
- オブジェクト指向開発とは
- オブジェクト指向プログラミング、動的結合と型の多態性、クラス継承とインタフェース継承
- オブジェクト指向モデリングとUML
- モジュールの抽象化、可視性と相互関係、UMLの基礎(全体構成、クラス図、シーケンス図など)
受講要件
- 【受講要件】
- C言語などによる数千行以上からなるソフトウェアシステムの開発に携わった経験があることが望ましい。オブジェクト指向言語の開発経験は特に問わない。
- 【事前学習のポイント】
- 規模の大きなソフトウェア開発は、複数人による長期間のプロジェクトとなることも多い。そのようなソフトウェアの全体を把握したり、設計方針を議論するには何が必要か考えてみよう。
事前学習教材
- オージス総研 組み込みソリューション部、「いまさら聞けない構造化手法とオブジェクト指向の違い」
(http://www.ogis-ri.co.jp/casestudy/docs/CaseStudy_ESEC2010_StructOO.pdf) 各自で参照してください。
講義に関連する解説記事・参考文献・図書等
- ・SESSAME WG2(著)、「組込みソフトウェア開発のための構造化モデリング」、翔泳社
- ・Gamma他(著)、「オブジェクト指向における再利用のためのデザインパターン 改訂版」、SBクリエイティブ