ソフトウェア工学

科目基礎情報

学校 苫小牧工業高等専門学校 開講年度 平成31年度 (2019年度)
授業科目 ソフトウェア工学
科目番号 0035 科目区分 専門 / 必修
授業形態 授業 単位の種別と単位数 学修単位: 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著,石川勝訳「コードコンプリート」アスキー出版局 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
担当教員 中村 嘉彦

到達目標

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.情報を収集・分析し、適正に判断し、情報の加工・作成・整理、発信ができる。得られた情報を理解し、効果的に創造的に活用することができる。情報を収集・分析し、適正に判断し、情報の加工・作成・整理、発信ができる。得られた情報を理解し、効果的に創造的に活用することができる。情報を収集・分析し、適正に判断し、情報の加工・作成・整理、発信ができる。得られた情報を理解し、効果的に創造的におおよそ活用することができる。情報を収集・分析し、適正に判断し、情報の加工・作成・整理、発信ができる。得られた情報を理解し、効果的に創造的に活用することができない。

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

教育方法等

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

授業計画

授業内容 週ごとの到達目標
前期
1stQ
1週 ソフトウェアの性質と開発の課題
ソフトウェア開発プロセス
ソフトウェアの役割・特徴・分類・ライフサイクルなどについて適切に説明できる
ソフトウェア開発プロセスのモデルなどについて適切に説明できる
2週 ソフトウェア開発プロセス
要求分析
ソフトウェア開発プロセスのモデルなどについて適切に説明できる
ソフトウェア開発の要求分析における手順・内容・分析技法を適切に説明できる
3週 要求分析 ソフトウェア開発の要求分析における手順・内容・分析技法を適切に説明できる
4週 ソフトウェア設計 ソフトウェアの設計工程における手順や技法を適切に説明できる
5週 ソフトウェア設計
ソフトウェアテスト
ソフトウェアの設計工程における手順や技法を適切に説明できる
ソフトウェアのテスト工程・テストケース設計・妥当性評価方法・保守について適切に説明できる
6週 ソフトウェアテスト ソフトウェアのテスト工程・テストケース設計・妥当性評価方法・保守について適切に説明できる
7週 ソフトウェアテスト ソフトウェアのテスト工程・テストケース設計・妥当性評価方法・保守について適切に説明できる
8週 到達度試験(中間試験)
2ndQ
9週 ソフトウェア開発プロセスの実践 与えられた簡単な問題に対してそれを解決するためのソースプログラムを、標準的な開発ツールや開発環境を利用して記述できる。
10週 オブジェクト指向とモデリング オブジェクト指向の考え方・分析・設計・プログラミングについて適切に説明できる
11週 オブジェクト指向とモデリング オブジェクト指向の考え方・分析・設計・プログラミングについて適切に説明できる
12週 オブジェクト指向とモデリング オブジェクト指向の考え方・分析・設計・プログラミングについて適切に説明できる
13週 ソフトウェア再利用
ソフトウェア再利用の意義・再利用の効果・再利用の手法について適切に説明できる
ソフトウェアの運用時にどのようなリスクが潜んでいるかを適切に説明できる
ソフトウェアの運用時のリスクを最小限に抑えるために,設計や運用で対策できる事柄を適切に説明できる

14週 プロジェクト管理 プロジェクト管理の必要性について適切に説明できる
15週 グループディスカッション 情報システムやそれに関連する事柄についてそれぞれが意見を述べ,適切にまとめられる
16週 定期試験

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

分類分野学習内容学習内容の到達目標到達レベル授業週
専門的能力分野別の専門工学情報系分野ソフトウェアソフトウェアを中心としたシステム開発のプロセスを説明できる。4前1,前2,前3,前4,前5,前6,前7,前9
コンピュータシステムネットワークコンピューティングや組込みシステムなど、実用に供せられているコンピュータシステムの利用形態について説明できる。4前1
システム設計には、要求される機能をハードウェアとソフトウェアでどのように実現するかなどの要求の振り分けやシステム構成の決定が含まれることを説明できる。4前3,前4,前5
ユーザの要求に従ってシステム設計を行うプロセスを説明することができる。4前3,前4,前5
ER図やDFD、待ち行列モデルなど、ビジネスフロー分析手法の少なくとも一つについて説明できる。4前3,前4,前5
分野横断的能力汎用的技能汎用的技能汎用的技能他者の意見を聞き合意形成することができる。3前15
合意形成のために会話を成立させることができる。3前15
書籍、インターネット、アンケート等により必要な情報を適切に収集することができる。3前15
収集した情報の取捨選択・整理・分類などにより、活用すべき情報を選択できる。3前15
収集した情報源や引用元などの信頼性・正確性に配慮する必要があることを知っている。3前15
態度・志向性(人間力)態度・志向性態度・志向性チームで協調・共同することの意義・効果を認識している。3前15
チームで協調・共同するために自身の感情をコントロールし、他者の意見を尊重するためのコミュニケーションをとることができる。3前15
当事者意識をもってチームでの作業・研究を進めることができる。3前15
チームのメンバーとしての役割を把握した行動ができる。3前15
技術が社会や自然に及ぼす影響や効果を認識し、技術者が社会に負っている責任を挙げることができる。3前15

評価割合

達成度評価試験小テスト・レポート定期試験合計
総合評価割合352540100
専門的能力352540100