神戸情報大学院大学 シラバス 2024

1. 科目コード1207
2. 科目名F50: コンピュータ・ソフトウェア入門
3. 担当教員
伊藤 守 (Mamoru Ito)
4. 開講期
春2期
5. 履修要件(前提科目)・重要情報
特になし
6. 科目の目的・概要
ソフトウェアは社会に広く浸透しており,産業人として活躍するためにはソフトウェアに対する深い理解が不可欠である．本授業では，ソフトウェアシステムを開発し，活用するために必要となる開発プロセスや開発技術（分析，設計，検証）に関する基礎知識と最新の動向を学ぶ．また，ソフトウェアの特徴やソフトウェアを取り巻く社会環境を理解し，開発現場で直面する様々な問題に対する判断力や行動力を育成する．
7. 授業概要
1 コンピュータの動作原理
2 データ型とデータ構造の基礎
3 デジタルトランスフォーメーション - クラウドコンピューティング／Web技術
4 デジタルトランスフォーメーション - 機械学習／ブロックチェーン
5 ソフトウェア工学の概要と倫理
6 ソフトウェア開発プロセスの基礎
7 ソフトウェア要求の基礎
8 ソフトウェア設計の基礎
9 ソフトウェアテスト及びソフトウェア品質の基本概念
10 オブジェクト指向の基礎
11 UML (Unified Modeling Language) の基礎 1
12 UML (Unified Modeling Language) の基礎 2
13 UMLを用いたモデリングの演習 １
14 UMLを用いたモデリングの演習 ２
15 UMLモデリング演習のプレゼンテーション
16 期末試験（多肢選択式・オープンブック方式）
8. 教科書なし
9. 参考書
玉井 哲雄．ソフトウェア工学の基礎．岩波書店
10. 科目の学習目標(1) ソフトウェアの開発及びマネジメントのプロセスを理解し，活用することができる(2) ソフトウェアの分析，設計手法を理解し，実際の開発に応用することができる(3) ソフトウェアの特徴を理解し，様々な問題に対して適切に判断し，行動することができる(4) ソフトウェア開発を取り巻く社会環境や今後の展望について説明することができる(5) ソフトウェア開発における倫理的な課題について分析することができる
(6)
(7)
(8)

11. 本学の教育目標と科目の学習目標との対応
教育目標
学習目標
高度ICT
基礎的素養
(1) (2)
スキルの修得 専門知識および業務応用力(1) (2)
自ら強みを磨き続ける力(2)
自ら社会における課題設定(3) (4)
課題を発見し、仮説立案(3) (4)
人間力
解決する力
仮説検証
（＝探究力）
実行の修得前に踏出す力(3)
社会人基礎力考え抜く力(3) (4)
チームで働く力(1)
職業倫理の修得(3) (4) (5)12. 評価方法と配点
学習目標
達成度評価方法と配点
期末試験 小テスト
レポート
発表
成果物
その他
(1)
◯
◯
◯
◯
(2)
◯◯
◯
◯
(3)
◯◯
◯
◯
(4)
◯
◯
◯
(5)
◯◯
◯
(6)
(7)
(8)
配点30
30
10102013. 評価基準
期末試験
多肢選択式試験により，学習目標に掲げた基礎的事項に関する理解度と応用力を評価する．教材持ち込み可能なオープンブック方式の試験のため，知識は問わない．
小テスト

多肢選択式テストにより，各授業で実施した内容に関する理解度と応用力を評価する．オープンブック方式のテストのため，知識は問わない．

レポート

記載内容の合目的性，レポートの構成，議論の妥当性，提案の独創性の観点から評価する．

発表

発表内容の合目的性，発表の構成，議論の妥当性，提案の独創性の観点から評価する．

成果物

作成した図表やドキュメントの妥当性及び分かりやすさ・客観性の観点から評価する．

その他
14. アクティブラーニング（A:行っている B:やや行っている C:行っていない）
授業時間全体に占めるアクティブラーニングの時間的な割合
1 授業で得られた知識や技能を活用し、出題された問題を解いたり、課 A題に取り組むなど能動的学習を行う
2 グループワークで課題に取り組み、学生同士が自由に発言することで A何らかの課題に取り組むなど能動的学習を行う
3 能動的学習の成果を発表し、そのフィードバックを得て自ら主体的に B振り返り、学習効果を高める
4 学生自身が主体となって、授業における学習の方向性を定める

C40%15. 備考
・授業では教科書は利用しませんが，受講者には授業資料を公開します．
・昼の授業は教室での対面授業とオンライン授業を組み合わせて行いますが，可能な限り教室に出席することをお勧めします．
・夜授業はオンライン授業のみとなります．
・出席者を確認するため，ビデオをオンにしていただくことがあります．
・授業の一部を収録し，授業期間中，受講者にはオンデマンド配信する予定です．

16. 授業計画（注）授業計画は、あくまでも予定であり、実施時に、適時、追加・変更・修正等が生じる場合があります。

第１回 コンピュータの動作原理(講義 45分、演習45分)

ソフトウェアはコンピュータの上で動作します．コンピュータがなぜ動くのかを正しく把握しておくと，ソフトウェア開発の理解が深まります．本授業ではコンピュータの動作原理を学習します．
１．本講義の進め方（学習目標，成績評価方法，評価基準など）
２．コンピュータの構成（CPU，メモリ，I/O，クロック）３．フォン・ノイマン・アーキテクチャ
４．メモリの階層構造
５．プログラムの性能
第２回 データ型とデータ構造(講義 45分、演習45分)

データの扱い方を規定する形式をデータ型，データを効率的に保存および整理するための表現形式をデータ構造と呼びます．本授業ではデータ型とデータ構造の基礎を学びます．
１．記数法
２．データ型の概要
３．アドレス空間
４．代表的なデータ構造（配列，リスト，スタックとキュー，木構造）
第３回 DX - クラウドコンピューティング／Web技術(講義 45分、演習45分)

デジタルトランスフォーメーション（DX）を推進するために，様々なデジタル技術が活用されています．この授業では，DXの概要を説明した後，クラウドコンピューティングとWeb技術の基礎と最新動向について学習します．
１．デジタルトランスフォーメーション（DX）とは？
２．事業戦略の重要性
３．クラウドコンピューティング
４．Web技術
第４回 DX - 機械学習／ブロックチェーン(講義 45分、演習45分)

この授業では，デジタルトランスフォーメーション（DX）を推進するためのさまざまなデジタル技術のうち，機械学習とブロックチェーン技術を取り上げます．これらの技術がもたらす可能性の広がりと課題について議論します．
１．機械学習とデータサイエンスの基礎
２．AIと社会
３．ブロックチェーン技術の基礎
４．web3の概要

第５回 ソフトウェア工学の概要と倫理(講義 45分、演習45分)

コンピュータの爆発的な普及に伴い，社会におけるソフトウェアの重要性はますます高まっていますが，ソフトウェア開発は容易ではありません．本授業では，ソフトウェアの特徴を理解した上で，ソフトウェア開発を取り巻く現状と課題を議論し，ソフトウェア工学の必要性を学びます．
１．ソフトウェアの特徴
２．ソフトウェアの重要性
３．ソフトウェア開発を取り巻く環境
４．ソフトウェア工学の役割と倫理
第６回 ソフトウェア開発プロセス(講義 45分、演習45分)

プロセスはプロダクト（製品，成果物）を生み出す工程であり，プロダクトはプロセスの結果として生み出させるものです．従って，良いソフトウェアを開発するためには良いソフトウェ
アプロセスが必要です．本授業ではソフトウェアのライフサイクルにおけるプロセスモデルを概観し，プロセス改善の意義と狙いを学習します．
１．ソフトウェアプロセスの定義
２．ライフサイクルモデル
３．ソフトウェアプロセスの現状と課題
４．プロセス改善の意義と狙い
第７回 ソフトウェア要求(講義 90分)

ソフトウェア技術者の仕事は顧客や利用者の要求をソフトウェアによって実現することですが，顧客や利用者の要求は曖昧で一貫性に欠けることが多く，このままではソフトウェアが開発できません．関係者から要求を獲得し，分析し，明確にする必要があります．本
授業では，要求に関する概念を整理し，要求分析の流れを解説します．
１．ニーズ，要求，要件の違い
２．機能要求，非機能要求
３．要求分析の流れ
４．要求分析モデリングの概要
第８回 ソフトウェア設計(講義 90分)

良いソフトウェアを作るには良い分析と設計が必要です．どんなに優れたプログラムであってもユーザのニーズが実現できていなければ役に立ちません．また，再利用性や保守性が悪いとビジネスには利用できません．本授業では代表的な設計手法を取り上げ，比較検討を行います．
１．アーキテクチャ設計
２．データフロー・ダイアグラム
３．構造化設計
４．オブジェクト指向設計
第９回 ソフトウェアテスト／ソフトウェア品質(講義 90分)

ソフトウェアの欠陥は社会に大きな影響を与えるため，ソフトウェアテストと品質管理の重要性はますます高まっています．この授業では，ソフトウェアテストと品質管理の基本的な考え方について学びます．
１．ソフトウェアテストとは？
２．主なテスト技法
３．品質と等級
４．ソフトウェア品質モデル

第１０回 オブジェクト指向(講義 90分)

ソフトウェアの大規模化，複雑化に伴って，オブジェクト指向技術が普及してきました．オ
ブジェクト指向にはさまざまな特徴がありますが，本授業ではその再利用性，保守性に着目して，オブジェクト指向の理解を深めます．
１．モジュール化，構造化
２．オブジェクト，クラス
３．カプセル化，データ隠蔽
４．インヘリタンス，ポリモーフィズム

第１１回，第１２回 UML（Unified Modeling Language）(講義 90分／演習 90分)
オブジェクト指向技術の普及に伴い，UMLがよく利用されるようになりました．UMLとはUnified Modeling Language（統一モデリング言語）の略で，グラフィカルな記法の一種です．複雑なソフトウェア・システムの分析や設計に便利な道具です．UMLには多くのダイアグラム（図）が用意されていますが，代表的なダイアグラムの描き方を学びます．
１．ユースケース図，アクティビティ図
２．クラス図，オブジェクト図

第１３回，第１４回 UMLモデリング演習(演習 180分)

実際のソフトウェア開発の上流工程がどのように進むのかをイメージするため，グループに分かれて，演習を実施します．ビジネスもしくはシステムを3つの視点（機能，構造，振る舞い）で分析し，UMLの図を使って表現します．
１．機能のモデル化
２．構造のモデル化
３．振る舞いのモデル化

第１５回 プレゼンテーション(発表 90分)各グループは，前のクラスで作成したUML図を使用して発表を行います．全員が発表できるように工夫してください．

第１６回 期末試験
学習目標の到達度を評価するため，期末試験を実施する予定です．
１．選択式試験（テキスト持ち込み可）(試験 90分)