ソフトウェア工学

科目基礎情報

学校 釧路工業高等専門学校 開講年度 令和03年度 (2021年度)
授業科目 ソフトウェア工学
科目番号 0092 科目区分 専門 / 必修
授業形態 講義 単位の種別と単位数 学修単位: 2
開設学科 情報工学分野 対象学年 5
開設期 後期 週時間数 2
教科書/教材 教科書:ソフトウエア工学入門 鯵坂 サイエンス社,参考書:ソフトウエア工学 高橋 森北出版,参考書:ソフトウエア工学 平山 オーム社
担当教員 本間 宏利

到達目標

・ソフトウエア開発システムの特徴や適用領域を理解できる.また,要求仕様記述の各記述モデルについてその特徴を説明できる.
・外部設計,内部設計,プログラム設計技法を理解できる.また,構造化プログラムを理解し,構造化チャートでアルゴリズムの記述ができる.
・各フェーズにおけるテスト技法の特性やコストを理解できる.また,各種保守技法やそれらの問題点を説明できる.

ルーブリック

理想的な到達レベルの目安標準的な到達レベルの目安未到達レベルの目安
ソフトウエア開発システムの特徴や適用領域を説明できる.また,要求仕様記述の各記述モデルについてその特徴を説明できる. ソフトウエア開発システムの特徴や適用領域を説明できる. ソフトウエア開発システムの特徴を説明できない.
外部設計,内部設計,プログラム設計技法を説明できる.また,構造化プログラムを理解し,構造化チャートでアルゴリズムの記述ができる.外部設計,内部設計,プログラム設計技法を説明できる.外部設計および内部設計設計技法を説明できない.
各フェーズにおけるテスト技法の特性やコストを説明できる.また,各種保守技法やそれらの問題点を説明できる.各フェーズにおけるテスト技法の特性やコストを説明できる.各フェーズにおけるテスト技法を説明できない.

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

学習・教育到達度目標 D 説明 閉じる
JABEE d-1 説明 閉じる

教育方法等

概要:
この授業の目標はソフトウエアの高品質化,大規模化,応用化の要求が急速に高まってきている背景をもとに,SEを中心としたグループ
大規模ソフトウエアの開発に必要なソフトウエア開発手法やテスト技法などの方法論の会得である.
ソフトウエア開発に必要な,分析,設計技法やテスト技法について学習し,共通利用されるツールや評価法についての基礎知識を養い,必要な分析能力,設計能力を身に付ける.
授業の進め方・方法:
プレゼンスライドと黒板板書の両方を使った講義形式でおこなう.
小セクションごとに演習問題を与える.
定期試験直前には総合的な演習を行う.
暗記ではなく論理の積み重ねで問題を考える習慣をつける.

成績評価方法:
定期試験2回の成績で行う.
中間試験(50%),期末試験(50%)
合否判定:最終評価(または再試験の素点)≧60%を合格とする.
注意点:
今までにプログラミングを経験し,その作業の困難さを実感していることが必要.
本講義では多人数による分担制の開発形式について学習する.

授業の属性・履修上の区分

アクティブラーニング
ICT 利用
遠隔授業対応
実務経験のある教員による授業

授業計画

授業内容 週ごとの到達目標
後期
3rdQ
1週 ソフトウエア工学概論 ソフトウエア工学の必要性,生産性の問題を説明できる.
2週 ソフトウエア開発システム ソフトウエア開発チームの組織形態や特徴を説明できる.
3週 ソフトウエア開発計画 開発支援ツール,レビュー法について説明できる.
4週 工数見積もり 工数や価格を決定する各種見積もり法を説明できる.
5週 要求分析技法 面接調査,観察調査,資料調査を説明できる.
6週 要求定義技法 DFD,MS,DDなどの記述法,構造化分析法を説明できる.
7週 外部設計 1 機能設計・安全性設計・暗号方式について説明できる.
8週 中間試験 これまでの学習の理解度を深める.
4thQ
9週 外部設計 2 信頼性対策・コード設計・HI設計について説明できる.
10週 内部設計 1 段階的詳細化の概念,モジュール分割技法を説明できる.
11週 内部設計 2 モジュール結合度と強度の評価ができる.
12週 プログラム設計 構造化チャートによるアルゴリズム記述ができる.
13週 テスト技法 1 機能テスト,構造テストのテストケース作成ができる.
14週 テスト技法 2 結合テスト・システムテスト・バグ数予測法を説明できる.
15週 移行・運用計画 システムの移行計画法,運用や保守について説明できる.
16週 期末試験 この講義の理解度・目標達成度を確認するため,試験を実施する.

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

分類分野学習内容学習内容の到達目標到達レベル授業週
専門的能力分野別の専門工学情報系分野プログラミング主要な言語処理プロセッサの種類と特徴を説明できる。4
ソフトウェア開発に利用する標準的なツールの種類と機能を説明できる。4
要求仕様に従って、標準的な手法により実行効率を考慮したプログラムを設計できる。3
要求仕様に従って、いずれかの手法により動作するプログラムを設計することができる。3
要求仕様に従って、いずれかの手法により動作するプログラムを実装することができる。3
要求仕様に従って、標準的な手法により実行効率を考慮したプログラムを実装できる。3
ソフトウェアソフトウェアを中心としたシステム開発のプロセスを説明できる。4
コンピュータシステムネットワークコンピューティングや組込みシステムなど、実用に供せられているコンピュータシステムの利用形態について説明できる。4
デュアルシステムやマルチプロセッサシステムなど、コンピュータシステムの信頼性や機能を向上させるための代表的なシステム構成について説明できる。4
集中処理システムについて、それぞれの特徴と代表的な例を説明できる。4
システム設計には、要求される機能をハードウェアとソフトウェアでどのように実現するかなどの要求の振り分けやシステム構成の決定が含まれることを説明できる。4
ユーザの要求に従ってシステム設計を行うプロセスを説明することができる。4
プロジェクト管理の必要性について説明できる。4
WBSやPERT図など、プロジェクト管理手法の少なくとも一つについて説明できる。4
ER図やDFD、待ち行列モデルなど、ビジネスフロー分析手法の少なくとも一つについて説明できる。4

評価割合

試験発表相互評価態度ポートフォリオその他合計
総合評価割合1000100
専門的能力1000100