ソフトウェア工学

科目基礎情報

学校 苫小牧工業高等専門学校 開講年度 令和04年度 (2022年度)
授業科目 ソフトウェア工学
科目番号 0018 科目区分 専門 / 必修
授業形態 授業 単位の種別と単位数 学修単位: 2
開設学科 創造工学科(情報科学・工学系共通科目) 対象学年 4
開設期 前期 週時間数 2
教科書/教材 (教科書)岸 知二,野田 夏子 著「ソフトウェア工学」近代科学社,(参考図書)川村一樹 著「ソフトウェア工学入門」近代科学社 國友義久 著「効果的プログラム開発技法」近代科学社 千葉雅弘監修「かんたんUML」翔泳社 OBJECT MANAGEMENT GROUP: "UML 2.0 Superstructure Specification" http://www.omg.org/ Len Base, Paul Clements, Rick Kazman:"Software Architecture in Practice (Sei Series in Software Engineering)"Addison-Wesley Pub (Sd), 2003 ,「情報セキュリティ白書2018」,(独)情報処理推進機構 (講義及び試験の内容水準確認のための参考資料)情報処理技術者試験 IPA セキュアプログラミング講座 本位田真一他著「オブジェクト指向分析設計」共立出版, 斎藤直樹著「データモデルとRDBMSへの実装」リックテレコム Steve McConnel著
担当教員 山本 椋太

到達目標

MCCにおいて
IV-D.歴史の大きな流れの中で、科学技術が社会に与えた影響を理解し、自らの果たしていく役割や責任を理解できる。
V-D-1.ソフトウェア開発に利用する標準的なツールの種類と機能を説明できる。
V-D-2.ソフトウェアを中心としたシステム開発のプロセスを理解している。
V-D-2.ソースプログラムを解析することにより、計算量等のさまざまな観点から評価できる。
V-D-4.システム設計には、要求される機能をハードウェアとソフトウェアでどのように実現するかなどの要求の振り分けやシステム構成の決定が含まれることを理解している。
V-D-4.ユーザの要求に従ってシステム設計を行うプロセスを説明することができる。
V-D-4.プロジェクト管理の必要性について説明することができる。
VI-D.与えられた簡単な問題に対してそれを解決するためのソースプログラムを、標準的な開発ツールや開発環境を利用して記述できる。
VII-B.集められた情報をもとに、状況を適確に分析することができる。
VII-B.与えられた目標を達成するための解決方法を考えることができる。
VII-C.品質、コスト、効率、スピード、納期などに対する視点を持つことができる。
VII-C.クライアント(企業及び社会)の要求に適合するシステムやプロセスを開発することができる。
VIII-A.日本語と特定の外国語を用いて、読み、書き、聞き、話すことができる。効果的な説明方法や手段を用いて、関係者を納得させることができる。
VIII-B.集団において、合意形成のための基礎的技術を理解し、問題解決、アイディア創造等の活動ができる。
VIII-C.情報を収集・分析し、適正に判断し、情報の加工・作成・整理、発信ができる。得られた情報を理解し、効果的に創造的に活用することができる。


ルーブリック

理想的な到達レベルの目安標準的な到達レベルの目安未到達レベルの目安
IV-D.歴史の大きな流れの中で、科学技術が社会に与えた影響を理解し、自らの果たしていく役割や責任を理解できる。歴史の大きな流れの中で、科学技術が社会に与えた影響を理解し、自らの果たしていく役割や責任を理解できる。歴史の大きな流れの中で、科学技術が社会に与えた影響をおおよそ理解し、自らの果たしていく役割や責任をおおよそ理解できる。歴史の大きな流れの中で、科学技術が社会に与えた影響を理解し、自らの果たしていく役割や責任を理解できない。
V-D-1.ソフトウェア開発に利用する標準的なツールの種類と機能を説明できる。ソフトウェア開発に利用する標準的なツールの種類と機能を説明できる。ソフトウェア開発に利用する標準的なツールの種類と機能をおおよそ説明できる。ソフトウェア開発に利用する標準的なツールの種類と機能を説明できない。
V-D-2.ソフトウェアを中心としたシステム開発のプロセスを理解している。ソフトウェアを中心としたシステム開発のプロセスを理解している。ソフトウェアを中心としたシステム開発のプロセスをおおよそ理解している。ソフトウェアを中心としたシステム開発のプロセスを理解していない。
V-D-2.ソースプログラムを解析することにより、計算量等のさまざまな観点から評価できる。ソースプログラムを解析することにより、計算量等のさまざまな観点から評価できる。ソースプログラムを解析することにより、計算量等のさまざまな観点からおおよそ評価できる。ソースプログラムを解析することにより、計算量等のさまざまな観点から評価できない。
V-D-4.システム設計には、要求される機能をハードウェアとソフトウェアでどのように実現するかなどの要求の振り分けやシステム構成の決定が含まれることを理解している。システム設計には、要求される機能をハードウェアとソフトウェアでどのように実現するかなどの要求の振り分けやシステム構成の決定が含まれることを理解している。システム設計には、要求される機能をハードウェアとソフトウェアでどのように実現するかなどの要求の振り分けやシステム構成の決定が含まれることをおおよそ理解している。システム設計には、要求される機能をハードウェアとソフトウェアでどのように実現するかなどの要求の振り分けやシステム構成の決定が含まれることを理解していない。
V-D-4.ユーザの要求に従ってシステム設計を行うプロセスを説明することができる。ユーザの要求に従ってシステム設計を行うプロセスを説明することができる。ユーザの要求に従ってシステム設計を行うプロセスをおおよそ説明することができる。ユーザの要求に従ってシステム設計を行うプロセスを説明することができない。
V-D-4.プロジェクト管理の必要性について説明することができる。プロジェクト管理の必要性について説明することができる。プロジェクト管理の必要性についておおよそ説明することができる。プロジェクト管理の必要性について説明することができない。
VI-D.与えられた簡単な問題に対してそれを解決するためのソースプログラムを、標準的な開発ツールや開発環境を利用して記述できる。与えられた簡単な問題に対してそれを解決するためのソースプログラムを、標準的な開発ツールや開発環境を利用して記述できる。与えられた簡単な問題に対してそれを解決するためのソースプログラムを、標準的な開発ツールや開発環境を利用しておおよそ記述できる。与えられた簡単な問題に対してそれを解決するためのソースプログラムを、標準的な開発ツールや開発環境を利用して記述できない。
VII-B.集められた情報をもとに、状況を適確に分析することができる。集められた情報をもとに、状況を適確に分析することができる。集められた情報をもとに、状況を適確におおよそ分析することができる。集められた情報をもとに、状況を適確に分析することができない。
VII-B.与えられた目標を達成するための解決方法を考えることができる。与えられた目標を達成するための解決方法を考えることができる。与えられた目標を達成するための解決方法をおおよそ考えることができる。与えられた目標を達成するための解決方法を考えることができない。
VII-C.品質、コスト、効率、スピード、納期などに対する視点を持つことができる。品質、コスト、効率、スピード、納期などに対する視点を持つことができる。品質、コスト、効率、スピード、納期などに対する視点を持つことがおおよそできる。品質、コスト、効率、スピード、納期などに対する視点を持つことができない。
VII-C.クライアント(企業及び社会)の要求に適合するシステムやプロセスを開発することができる。クライアント(企業及び社会)の要求に適合するシステムやプロセスを開発することができる。クライアント(企業及び社会)の要求に適合するシステムやプロセスをおおよそ開発することができる。クライアント(企業及び社会)の要求に適合するシステムやプロセスを開発することができない。
VIII-A.日本語と特定の外国語を用いて、読み、書き、聞き、話すことができる。効果的な説明方法や手段を用いて、関係者を納得させることができる。日本語と特定の外国語を用いて、読み、書き、聞き、話すことができる。効果的な説明方法や手段を用いて、関係者を納得させることができる。日本語と特定の外国語を用いて、読み、書き、聞き、話すことができる。効果的な説明方法や手段を用いて、関係者をおおよそ納得させることができる。日本語と特定の外国語を用いて、読み、書き、聞き、話すことができる。効果的な説明方法や手段を用いて、関係者を納得させることができない。
VIII-B.集団において、合意形成のための基礎的技術を理解し、問題解決、アイディア創造等の活動ができる。集団において、合意形成のための基礎的技術を理解し、問題解決、アイディア創造等の活動ができる。集団において、合意形成のための基礎的技術を理解し、問題解決、アイディア創造等の活動がおおよそできる。集団において、合意形成のための基礎的技術を理解し、問題解決、アイディア創造等の活動ができない。
VIII-C.情報を収集・分析し、適正に判断し、情報の加工・作成・整理、発信ができる。得られた情報を理解し、効果的に創造的に活用することができる。情報を収集・分析し、適正に判断し、情報の加工・作成・整理、発信ができる。得られた情報を理解し、効果的に創造的に活用することができる。情報を収集・分析し、適正に判断し、情報の加工・作成・整理、発信ができる。得られた情報を理解し、効果的に創造的におおよそ活用することができる。情報を収集・分析し、適正に判断し、情報の加工・作成・整理、発信ができる。得られた情報を理解し、効果的に創造的に活用することができない。

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

Ⅰ 人間性
Ⅱ 実践性
Ⅲ 国際性
CP2 各系の工学的専門基盤知識,および実験・実習および演習・実技を通してその知識を社会実装に応用・実践できる力
CP4 他者を理解・尊重し,協働できるコミュニケーション能力と人間力

教育方法等

概要:
ソフトウェアの設計プロセスやそれにまつわる運用方法,情報管理の原則や情報セキュリティの技術的面や運用面を講義します.
授業の進め方・方法:
情報システムの設計開発における作業手順や作業内容,これらに適用される技術・技法を,主として開発者の観点から捉え,講義します.また,実際に用いられている技術トピックも交えながら講義します.これまでに学習したことを実践的に整理するとともに,実務で使用されている代表的な技法を理解し応用できる能力を育成します.
達成目標に示す試験,小テスト・レポートを100点法で採点し,定期試験40%,達成度評価試験30%,課題レポート30%の割合で評価します.
この科目は学修単位科目のため,事前・事後学習としてレポートやオンラインテストを実施します.
再試験は実施しませんが,再評価を実施する場合は試験により評価します(再評価の前提として課題・レポート等は全て提出済みである必要があります)
注意点:
演習課題を自学自習として取り組み,その結果をレポートで提出してください.提出物に不備がある場合は再提出を求めることがあります.
適宜情報処理実習室で実習を行います.ハンドアウトを必要に応じ配布するので,フォルダを持参してください.
レポートの提出期限後の提出は,正当な理由がなければ減点の対象となります.

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

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

授業計画

授業内容 週ごとの到達目標
前期
1stQ
1週 ソフトウェア工学の概観 ソフトウェア工学の位置づけ,業務としてのソフトウェア開発について適切に説明できる
2週 情報技術の概要 ソフトウェア工学を学習するために必要な情報システムの種類や情報技術について適切に説明できる
3週 要求定義 ソフトウェア開発における要求定義について,適切に説明できる
4週 要求定義 ソフトウェア開発における要求定義について,適切に説明できる
5週 設計 ソフトウェア開発における設計について,適切に説明できる
6週 設計 ソフトウェア開発における設計について,適切に説明できる
7週 ソフトウェアモデリング ソフトウェアのモデリングとその活用方法を適切に説明できる
モデリングを実際に行い,モデルを作成することができる.
8週 ソフトウェアモデリング
モデリング演習
ソフトウェアのモデリングとその活用方法を適切に説明できる
モデリングを実際に行い,モデルを作成し,説明のために用いることができる.
2ndQ
9週 達成度評価試験 ソフトウェア開発における上流工程について,適切に説明できる
10週 実装 ソフトウェア開発における実装について,適切に説明できる
11週 検証と妥当性確認 ソフトウェア開発における検証と妥当性確認について,適切に説明できる
12週 検証と妥当性確認 ソフトウェア開発における検証と妥当性確認について,適切に説明できる
13週 開発プロセス
ソフトウェア開発における開発プロセスについて,適切に説明できる
版管理ツールであるGitを用いた版管理を適切に行うことができる
14週 版管理演習
保守・進化と再利用
ソフトウェア開発における保守・進化と再利用について,適切に説明できる
15週 保守・進化と再利用 ソフトウェア開発における保守・進化と再利用について,適切に説明できる
16週 定期試験

評価割合

定期試験課題レポート達成度評価試験合計
総合評価割合403030100
専門的能力403030100