ソフトウェア工学

科目基礎情報

学校 有明工業高等専門学校 開講年度 2017
授業科目 ソフトウェア工学
科目番号 0021 科目区分 専門 / 選択
授業形態 授業 単位の種別と単位数 学修単位: 2
開設学科 電子情報工学科 対象学年 5
開設期 通年 週時間数 前期:1 後期:1
教科書/教材 情報工学レクチャーシリーズ ソフトウェア工学入門;高橋直久,丸山勝久 /森北出版
担当教員 奥村 俊昭

到達目標

1.大規模なソフトウェアの特徴と問題を理解できる
2.ソフトウェアに対する要求の獲得,仕様化手法を理解できる
3.要求仕様に応じた分析,設計,開発工程を理解できる

ルーブリック

理想的な到達レベルの目安標準的な到達レベルの目安未到達レベルの目安
評価項目1標準的な到達レベルに加え,ソフトウェア危機や小規模ソフトウェアとの開発工程の違いを説明できる.大規模ソフトウェア開発の特徴を考慮した開発の工程を把握し、ソフトウェア工学の定義を理解している.大規模ソフトウェア開発の特徴,開発の工程,ソフトウェア工学の定義に関する知識が不足している.
評価項目2標準的な到達レベルに加え,要求に応じた開発工数の見積もり,プロジェクトの管理,品質の管理について説明できる.大規模ソフトウェアに対する要求の獲得,仕様化,確認を理解し,具体的な手法を説明できる.大規模ソフトウェアに対する要求の獲得,仕様化,確認,およびこれらを実現する具体的な手法に関する知識が不足している.
評価項目3標準的な到達レベルに加え,システムのテストや保守・再利用に関して説明できる.要求仕様に対する構造化分析とオブジェクト分析ができ,各分析に応じた設計を説明できる.構造化分析,オブジェクト分析,および設計手法に関する知識が不足している.

学科の到達目標項目との関係

学習教育到達目標 B-2 説明 閉じる

教育方法等

概要:
システム開発者に要求されるソフトウェアは,年々,大規模化・複雑化・高信頼化している.大規模で複雑なソフトウェアを開発する場合,ソフトウェアの要求分析や設計を行い,作成された設計書に基づいて,多数のプログラマが分担し連携を取りながら,ソフトウェアの開発作業を進めていく.本授業では,設計・開発作業を効率よく行うための技術について学習する.
授業の進め方・方法:
教科書を参照しつつ,黒板を用いて授業を行う.また,授業内容の理解を深めるために,定期的に課題レポートを出題する.課題レポートは,文献やインターネットを利用して情報を収集し,計画的に進めること.
注意点:
本授業で学習するソフトウェア開発に関する技術は,ソフトウェア開発者(システムエンジニア)には必須の内容である.本授業は,今まで学習してきた情報工学系の授業科目全般(プログラミング,システムプログラム,アルゴリズムなど)の知識を必要とする.

授業計画

授業内容 週ごとの到達目標
前期
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週 テスト返却と解説

モデルコアカリキュラムの学習内容と到達目標

分類分野学習内容学習内容の到達目標到達レベル授業週

評価割合

試験発表相互評価態度ポートフォリオその他合計
総合評価割合70000300100
基礎的能力4500015060
専門的能力1500015030
分野横断的能力100000010