概要:
ソフトウェア開発論と開発プロセスという観点から,必要となる知識を学習することで,年々肥大化・複雑化するソフトウェアへの要求に適用する要素を身につけることが目的です.
また,近年のソフトウェア開発では,複数人による共同作業も行われていることから,演習を通じて実践的なソフトウェア開発手法を理解することが目的です.
授業の進め方・方法:
・ 授業資料はmoodle上の本科目のサイトよりダウンロードして事前にその内容を読んでおくこと.その授業資料を中心に授業を進めます.なお,授業内容に関連した課題を与える.
・ 授業開始前までに各自PCを起動しておくこと.
・ プログラミングでは,C言語を使用します.組込みソフトウェア開発演習では,LEGO Mindstormsを使用します.
注意点:
課題や演習では,C言語によるプログラミングがあります.C言語のプログラミングについて十分に復習しておくこと.
【事前学習】
授業内容を確認し,教科書を一読しておくこと.その際,教科書の太字で書かれている重要語句は和名・英語名・意味を含めて確認しておくこと.C言語によるプログラミングについても事前に構文などを確認しておくこと.
【評価方法・評価基準】
試験(60%),課題(40%)で評価する.詳細については,第1回目の授業で告知する.ソフトウェア工学に関する知識の理解の程度を評価する.また,課題はソフトウェア設計に関する課題とソフトウェア開発演習による課題により評価する.総合成績60点以上を単位修得とする.
分類 | 分野 | 学習内容 | 学習内容の到達目標 | 到達レベル | 授業週 |
専門的能力 | 分野別の専門工学 | 情報系分野 | プログラミング | 要求仕様に従って、標準的な手法により実行効率を考慮したプログラムを設計できる。 | 4 | |
要求仕様に従って、いずれかの手法により動作するプログラムを設計することができる。 | 4 | |
要求仕様に従って、いずれかの手法により動作するプログラムを実装することができる。 | 4 | |
要求仕様に従って、標準的な手法により実行効率を考慮したプログラムを実装できる。 | 4 | |
ソフトウェア | アルゴリズムの概念を説明できる。 | 4 | |
ソフトウェアを中心としたシステム開発のプロセスを説明できる。 | 4 | |
コンピュータシステム | システム設計には、要求される機能をハードウェアとソフトウェアでどのように実現するかなどの要求の振り分けやシステム構成の決定が含まれることを説明できる。 | 4 | |
ユーザの要求に従ってシステム設計を行うプロセスを説明することができる。 | 4 | |
プロジェクト管理の必要性について説明できる。 | 4 | |
WBSやPERT図など、プロジェクト管理手法の少なくとも一つについて説明できる。 | 4 | |
ER図やDFD、待ち行列モデルなど、ビジネスフロー分析手法の少なくとも一つについて説明できる。 | 4 | |
分野別の工学実験・実習能力 | 情報系分野【実験・実習能力】 | 情報系【実験・実習】 | 与えられた問題に対してそれを解決するためのソースプログラムを、標準的な開発ツールや開発環境を利用して記述できる。 | 4 | |
ソフトウェア生成に利用される標準的なツールや環境を使い、ソースプログラムをロードモジュールに変換して実行できる。 | 4 | |
ソフトウェア開発の現場において標準的とされるツールを使い、生成したロードモジュールの動作を確認できる。 | 4 | |
フローチャートなどを用いて、作成するプログラムの設計図を作成することができる。 | 4 | |
問題を解決するために、与えられたアルゴリズムを用いてソースプログラムを記述し、得られた実行結果を確認できる。 | 4 | |
要求仕様に従って標準的な手法によりプログラムを設計し、適切な実行結果を得ることができる。 | 4 | |