ソフトウェア設計論 (130006) Software Design (130006)
 
◇ 担当教員 Instructor : 飯田 元(Hajimu Iida / いいだ はじむ)、 吉田 則裕(Norihiro Yoshida / よしだ のりひろ)、
崔 恩瀞(Eunjong Choi / ちぇ うんじょん)
◇ 単位数 Credits : 1単位 ◇ 選択・必修 Required/Elective : 選択 ◇ 講義室 Room : L3
◇ 講義スタイル Style : 講義/公開
◇ 開講時期 Quarter : Ⅱ期 金曜2・3・4・5限
※本講義は開講日程が変則的なので、履修にあたっては講義カレンダーおよびサポートサイトの最新情報を必ず参照すること。

◇ 授業目的 Course goals : ソフトウェアの開発に必須である、要求分析・設計におけるモデリングの手法を修得し、そのためのプロセスを理解する。

Learn the modeling method/process and technique for requirement analysis and design that are essential in software development.
◇ 授業内容 Course description : ソフトウェアが社会に浸透し、高度化・大規模化するにつれて、ソフトウェア開発における生産性の向上と品質の確保は、ますます重要な技術的課題となってきている。

工業製品としてソフトウェアを開発するためには、要求分析、設計、実装、テスト、運用といったソフトウェア構築のためのエンジニアリングプロセス全体を通じた理解と、各フェーズにおいて有効な手法やツールの習得が不可欠である。

本授業では、ソフトウェア工学の知識領域のうち、ソフトウェアのライフサイクルを通じたエンジニアリングプロセスの部分に焦点を当てる。
具体的には、次の3つの基本知識領域を取り上げる。

1.ソフトウェア要求:構造化分析、オブジェクト指向分析
2.ソフトウェア設計:構造化設計、オブジェクト指向設計、デザインパターン
3.ソフトウェア構築:構造化プログラミング、再利用技術

特にUMLなどのモデリング言語を用いた要求分析および設計の手法を中心に、オープンソース開発で標準的に用いられているツール群の活用手法などのトピックスを概説すると共に、実際に演習などを行うことで理解を深める。

(全8回、1単位)

As software permeates society and advance / magnify, improvement of the productivity and quality in the software development are being an increasingly important technical problem.

Developing software as industrial products requires utilization of effective methods and tools in every phase of the software development process (such as requirement analysis, design, implementation, testing, operation) as well as understanding the whole process.

The lecture focus to the engineering process through the software life-cycle, which is the major part of the software engineering knowledge areas. Specifically, the following three basic knowledge area will be taken up:

1. Software requirement: Structured analysis/analyses and object-oriented analysis
2. Software design: Structured design, object-oriented design and design pattern
3. Software maintenance: Structured programming and reuse technology

The lecture emphasize methods of requirement analysis and design with modeling language such as UML (the unified modeling language) and its tool. Software maintenance technique such as refactoring will also introduced. All topics will have exercises after lectures.

(8 lectures / 1 credit)

◇ 教科書 Textbook : 特になし。講義ノートを配布。

Lecture slides will be provided prior to each class.
◇ 参考書 Reference materials : 関連する書籍や資料は講義中に紹介する。

Related publication and materials will be provided at class.
◇ 履修条件 Prerequisites : プログラミング手法、アルゴリズムとデータ構造、プログラミング言語、OSなどに関する基礎知識を有することが望ましいが、必須ではない。

履修にあたっては,下記リンクのサポートサイトで受講登録を行なうこと.
資料の配付・課題の提出はすべてサポートサイトにて行なう.
登録締め切りは講義初回日24:00とする。

Basic knowledge of programming methods, algorithm and data structure, programming language, and operating system will help to understand the lectures but not mandatory.

On site registration is required to take this class at the support site indicated below. All materials will be published on that support site. registration must be made before 24:00pm Fri. Jun 12th.
◇ 成績評価 Grading : 中間演習課題40%,最終演習課題50%(レポートの完成度や独創性を重視)、講義中の議論への参加状況10%

Interim exercises report 40%, Final exercise report 50% (Originality and documentation quality are important as well as validity of the description), contributions to the class discussions 10%
◇ オフィスアワー Office Hours : 随時。まずはサポートサイトかメールでの問い合わせをお願いします。

On demand. Please contact by email or web (support site) at once.
◇ 講義関連URL URL :
ソフトウェア設計論サポートサイト(2016)
Software Design Class Support Web Site
◇ 配布資料 Handouts : 現在、配布資料はありません。