ソフトウェア開発演習Ⅰ (130054) Exercise in Practical Software Development I (130054)
 
◇ 担当教員 Instructor : 飯田 元(Hajimu Iida / いいだ はじむ)、 渡場 康弘(Yasuhiro Watashiba / わたしば やすひろ)、
崔 恩瀞(Eunjong Choi / ちぇ うんじょん)、 横田 太(Futoshi Yokota / よこた ふとし)
◇ 単位数 Credits : 2単位 ◇ 選択・必修 Required/Elective : 選択 ◇ 講義室 Room : A207
◇ 講義スタイル Style : 演習/公開
◇ 開講時期 Quarter : Ⅲ期 木曜4・5限

◇ 授業目的 Course goals : 近年,ソフトウェアの保守や過去のソフトウェア資産を活用したシステム開発の重要性が高まっている.本演習ではパブリックに公開された、あるいは、組織内に資産として蓄積された、ソフトウェア資産を再利用するためのに理解・分析する技術を学ぶ

The importance of the software maintenance and software development reusing existing software assets developed in the past is increasing. This exercise provides training for the skills of understanding and analyzing software assets that are publicly provided or accumulated in organizations.
◇ 授業内容 Course description : 本演習は二つのテーマについて講義と演習を行う。

・開発リポジトリのマイニングと分析

近年、オープンソースソフトウェア開発のほとんどがネットワーク上のリポジトリを用いて行われている。リポジトリに蓄積されている、コード改編やデバッグの履歴等の開発記録に対して、ソースコード解析やデータマイニング技術を適用する(=リポジトリマイニング)ことで、将来の開発に役立つ情報が抽出できる。本テーマでは、ソフトウェア解析ツールやデータマイニングツールを用いたリポジトリマイニングの技術について事前講義を行った後、実際に分析演習を行う。

・コードリーディング

ソフトウェアの保守や拡張では、多くの場合、他人が記述した膨大な既存プログラムコードが対象となる。そのため、ソースコードを読み解き、全体像を理解することは非常に重要な技術である。本テーマではコードリーディングの意義・目的や、実践的テクニックについての事前講義を行ったのち、コードリーディングの実践的技術を学び、実際にオープンソースソフトウェアのプログラムコードを読み解く演習を行う。


Lectures and exercise for the following two techniques are provided.

- Mining and analysis of the development repositories

Most of the modern software development projects use repositories on the network. Repositories contain various useful information such as history of code modification or debugging. By using source code analysis tools or data mining tools, practically useful information can be obtained. Introduction of the software analysis tools and data mining tools applicable to repository mining is followed by actual analysis exercise.

- Source code reading technique

Software maintenance and extension often target the huge source code written by people different from maintainers. Therefore, reading and understanding outline of source code is very important skill. Introduction of purpose of code reading and practical reading strategies is followed by exercise of practical code reading on open source code.


◇ 教科書 Textbook : 教科書は指定しない。必要に応じて資料を配布する。

No texts but slides will be provided on demand.
◇ 参考書 Reference materials : 事前講義の際に提示する。

Will be shown in lecture slides.
◇ 履修条件 Prerequisites : C言語やJava言語の基礎的な文法知識を有すること。プログラミング未経験者はプログラミング基礎演習等を事前に履修することが望ましい。
また、VimやEmacsなどのプログラミングエディタやUNIXのコマンドラインツール(grep,find等)についての基本的な知識を有することが望ましい。

演習室の収容人数(40名)を受講者数の上限とする

Basic knowledge of C and Java is required. Taking Programming Practice I in advance is recommended if you don't have any experience of programming.
Basic knowledge of vim or emacs editor and other unix command line tools (such as grep, find) is preferred.

Will accept up to 40 students due to the capacity of the computer room.
◇ 成績評価 Grading : 各テーマごとに分析レポートの提出を課す。レポートの分析内容により成績の評価を行う。

Students must submit reports on exercise of every class. Total quality and amount of work are considered for evaluation (approval/not approval).
◇ オフィスアワー Office Hours : 随時。ただし、基本的にメールにて対応する。
On demand. Basically by email.
◇ 講義関連URL URL :
演習サポートサイト/ Exercise support site
◇ 配布資料 Handouts : 現在、配布資料はありません。