到達目標
1.大規模なソフトウェアの特徴と問題を理解できる
2.ソフトウェアに対する要求の獲得,仕様化手法を理解できる
3.要求仕様に応じた分析,設計,開発工程を理解できる
ルーブリック
| 理想的な到達レベルの目安 | 標準的な到達レベルの目安 | 未到達レベルの目安 |
評価項目1 | 標準的な到達レベルに加え,ソフトウェア危機や小規模ソフトウェアとの開発工程の違いを説明できる. | 大規模ソフトウェア開発の特徴を考慮した開発の工程を把握し、ソフトウェア工学の定義を理解している. | 大規模ソフトウェア開発の特徴,開発の工程,ソフトウェア工学の定義に関する知識が不足している. |
評価項目2 | 標準的な到達レベルに加え,要求に応じた開発工数の見積もり,プロジェクトの管理,品質の管理について説明できる. | 大規模ソフトウェアに対する要求の獲得,仕様化,確認を理解し,具体的な手法を説明できる. | 大規模ソフトウェアに対する要求の獲得,仕様化,確認,およびこれらを実現する具体的な手法に関する知識が不足している. |
評価項目3 | 標準的な到達レベルに加え,システムのテストや保守・再利用に関して説明できる. | 要求仕様に対する構造化分析とオブジェクト分析ができ,各分析に応じた設計を説明できる. | 構造化分析,オブジェクト分析,および設計手法に関する知識が不足している. |
学科の到達目標項目との関係
教育方法等
概要:
システム開発者に要求されるソフトウェアは,年々,大規模化・複雑化・高信頼化している.大規模で複雑なソフトウェアを開発する場合,ソフトウェアの要求分析や設計を行い,作成された設計書に基づいて,多数のプログラマが分担し連携を取りながら,ソフトウェアの開発作業を進めていく.本授業では,設計・開発作業を効率よく行うための技術について学習する.
授業の進め方・方法:
教科書を参照しつつ,黒板を用いて授業を行う.また,授業内容の理解を深めるために,定期的に課題レポートを出題する.課題レポートは,文献やインターネットを利用して情報を収集し,計画的に進めること.
注意点:
本授業で学習するソフトウェア開発に関する技術は,ソフトウェア開発者(システムエンジニア)には必須の内容である.本授業は,今まで学習してきた情報工学系の授業科目全般(プログラミング,システムプログラム,アルゴリズムなど)の知識を必要とする.
授業計画
|
|
週 |
授業内容 |
週ごとの到達目標 |
前期 |
1stQ |
1週 |
大規模ソフトウェア開発の課題1 |
大規模ソフトウェアの特徴を把握し,各ステークホルダーによる視点の違いを理解できる.
|
2週 |
大規模ソフトウェア開発の課題2 |
大規模ソフトウェアの開発における課題を,様々な側面から考察できる.
|
3週 |
大規模ソフトウェア開発の課題3 |
大規模ソフトウェア開発の課題に対して,解決するための技術や考え方を説明できる.
|
4週 |
ソフトェアの開発工程1 |
大規模ソフトウェアの開発工程と各工程の成果物を説明できる.
|
5週 |
ソフトェアの開発工程2 |
ソフトウェアプロセスモデルの概要と具体的な手法を説明できる.
|
6週 |
ソフトェアの開発工程3 |
進化型プロセスモデルの概要と具体的な手法を説明できる.
|
7週 |
プロジェクト管理1 |
プロジェクト管理の概要と管理に役立つ視点,技術,管理手法を説明できる.
|
8週 |
プロジェクト管理2 |
開発するソフトウェアの開発工数の見積もりと具体的な手法を説明できる.
|
2ndQ |
9週 |
プロジェクト管理3 |
ソフトウェアと開発プロセスに関する品質の評価を説明できる.
|
10週 |
要求分析1 |
ソフトウェアに対する要求と各ステークホルダーの視点による要求の違いを説明できる.
|
11週 |
要求分析2 |
要求を獲得するための具体的な手法と要求の取捨選択を説明できる.
|
12週 |
要求分析3 |
要求の仕様化を説明できる.また,要求確認による要求仕様の確認の基準を説明できる.
|
13週 |
構造化分析1 |
構造化分析の概要を説明できる.また,データフロー図を用いてシステムを表現できる.
|
14週 |
構造化分析2 |
データフロー図の階層化を理解し,データフロー図を用いてシステムを実際に分析できる.
|
15週 |
期末試験 |
|
16週 |
テスト返却と解説 |
|
後期 |
3rdQ |
1週 |
構造化分析3 |
プロセス仕様書,データ辞書を用いたより詳細な分析方法を説明できる.
|
2週 |
オブジェクト指向分析1 |
オブジェクト指向分析の概要と基本概念を説明できる.
|
3週 |
オブジェクト指向分析2 |
UMLの概要と代表的な図の表記法を理解し,適切な図を選択できる.
|
4週 |
アーキテクチャ設計1 |
ソフトウェアアーキテクチャとアーキテクチャ設計の概要を説明できる.
|
5週 |
アーキテクチャ設計2 |
ソフトウェアの品質特性とソフトウェアアーキテクチャとの関係を説明できる.
|
6週 |
アーキテクチャ設計3 |
代表的なアーキテクチャスタイルを把握し,状況に応じた適切なスタイルを選択できる.
|
7週 |
ユーザインタフェース設計 |
人間の認知機能を考慮したインタフェースの設計方法と考慮すべき事柄を理解できる.
|
8週 |
モジュール設計1 |
モジュール設計の概要と利点を把握し,モジュールの良い/悪い構造を理解できる.
|
4thQ |
9週 |
モジュール設計2 |
モジュール設計の評価尺度としてモジュール強度と結合度を把握し説明できる.
|
10週 |
モジュール設計3 |
構造化システム設計とオブジェクト指向システム設計の概要と違いを説明できる.
|
11週 |
プログラミング |
プログラミングの概要,言語,開発環境,スタイル,アプローチの手法を説明できる.
|
12週 |
テストと検証1 |
ソフトウェアテストと具体的なテスト技法を説明できる.
|
13週 |
テストと検証2 |
ソフトウェアの仕様やプログラムの観点から検証を行うことができる.
|
14週 |
保守と再利用 |
ソフトウェア保守の意義と具体的な手法について説明できる.
|
15週 |
期末試験 |
|
16週 |
テスト返却と解説 |
|
モデルコアカリキュラムの学習内容と到達目標
分類 | 分野 | 学習内容 | 学習内容の到達目標 | 到達レベル | 授業週 |
評価割合
| 試験 | 発表 | 相互評価 | 態度 | ポートフォリオ | その他 | 合計 |
総合評価割合 | 70 | 0 | 0 | 0 | 30 | 0 | 100 |
基礎的能力 | 45 | 0 | 0 | 0 | 15 | 0 | 60 |
専門的能力 | 15 | 0 | 0 | 0 | 15 | 0 | 30 |
分野横断的能力 | 10 | 0 | 0 | 0 | 0 | 0 | 10 |