講義内容詳細:ソフトウェア工学/データベースシステム

戻る
年度/Academic Year 2026
授業科目名/Course Title (Japanese) ソフトウェア工学/データベースシステム
英文科目名/Course Title (English) Software Engineering/Database Systems
学期/Semester 後期 単位/Credits 2
教員名/Instructor (Japanese) 居駒 幹夫
英文氏名/Instructor (English) IKOMA Mikio

講義概要/Course description
ソフトウェア工学の知識のうち、他科目では触れられていない大規模ソフトウェア開発におけるマネジメント系の知識を中心に学ぶ。ソフトウェア開発を行う企業への就職時に必要な知識を、講師の(企業での)経験をベースに学んでいく。
達成目標/Course objectives
本講義を通して受講者が以下のような知識・能力を修得することを目標とする。
・ソフトウェア工学の全体像を説明することができる
・大規模ソフトウェア開発のマネジメントの知識、成果物を説明することができる
・ソフトウェアテストの基本的な知識が身につく
・現状の日本のIT業界におけるソフトウェア開発の実態、課題を説明することができる
学部・研究科のディプロマポリシー(卒業認定・学位授与の方針)に基づき、当該科目を履修することで身につく能力 / Abilities to be acquired by completing the course in accordance with the faculty and graduate school diploma policy (graduation certification and degree conferral)
学部・研究科のディプロマポリシー(卒業認定・学位授与の方針)/ Undergraduate and Graduate Diploma Policy (Graduation Certification and Degree Conferral)
履修条件(事前に履修しておくことが望ましい科目など)/Prerequisite
プログラム開発系の科目を履修済み、もしくはプログラム開発経験があること。本科目は2年生から受講可能であるが、学部で情報系の科目を履修してから受講することが望ましい。独学等でプログラム経験が豊富な2年生は受講対象とする。
授業計画/Lecture plan
1
授業計画/Class 【オンライン(オンデマンド型)】
イントロダクション、ソフトウェア工学の全体像
2
授業計画/Class ミッションクリティカルシステムの機能、開発方法。5分止めたら新聞ネタになるような情報システムの中核ソフトウェアの開発をすることになった。そのソフトウェアの機能や開発方法は従来と同じで良いのか?何が通常のソフトウェア開発と異なると思うか?
3
授業計画/Class 100名でソフトウェアを開発するときの開発方法の特徴(5名程度で開発するソフトウェアの開発方法の違い)を列挙。単に列挙するだけでなく、なんらかのカテゴリを設けても良い。例えば、開発体制、開発する工程(開発プロセス)、開発環境、開発ツール、職種等々
4
授業計画/Class 大規模ソフトウェアに対するテストの十分性。数10万行レベルのソフトウェアに対するテストを作るとき、どのような観点で、テストの十分性を確保するか。どのようなテストがあれば、バグを見逃さずに摘出できるか。どのようなテストがあれば、リリース後にユーザから苦情がでないか。そもそも、何を以てテストが十分だと言えるのか?
5
授業計画/Class 大規模ソフトウェアに対するテストの十分性のつづき。ソフトウェアテストの基本(先週の復習も)。各種テストの網羅性確保技法。同値分割法の演習
6
授業計画/Class 大規模ソフトウェアに対するテストの十分性のつづき。ホワイトボックステストでの網羅性確保技法。同値分割法とC0/C1の演習
7
授業計画/Class ソフトウェアアーキテクチャとソフトウェアを開発するときのドキュメントを学ぶ。アーキテクチャパターンと設計原則を知る。ソフトウェアの品質向上に役に立つ設計図を知る。
8
授業計画/Class SIerと呼ばれる大手IT会社でのプロジェクトマネジメントの実際と課題を学ぶ。
9
授業計画/Class IT上流コンサルティングの実態およびソフトウェア開発との関係を学ぶ。
10
授業計画/Class 大規模ソフトウェア開発におけるドキュメント。ソフトウェア開発におけるドキュメントの意味。大規模になると何が変わるか?どのようなドキュメントは書かなければならないのか?
11
授業計画/Class 大規模ソフトウェアを開発するときのプロセス
日本では一般に大規模なソフトウェアにはウォーターフォール型モデルと言われるソフトウェア開発プロセスモデルが適しているといわれている。その理由を考えよ。ウォーターフォール型のプロセスモデルを知っているのであれば、Webの情報も参考にしてもよいが、自力で考えてみるのもおすすめ。わざわざ、「日本では」と書いている意味も深堀しても良い。
12
授業計画/Class 米国のソフトウェア開発事情の一回目。日本での大規模ソフトウェア開発と米国での大規模ソフトウェア開発の違いを学ぶ。
13
授業計画/Class 米国のソフトウェア開発事情の二回目
米国では、大規模ソフトウェア開発においてもウォーターフォール型の開発プロセスを採用されることはほぼ無くなっている。その理由を考える。単に新しい/古い、きっちり/いいかげん、といったステレオタイプ的な見方からの脱却。米国の会社による開発方法で、一般に思われていることは正しいのか?
14
授業計画/Class 大規模ソフトウェア開発を技術支援するグループ
日本の企業が、大規模なソフトウェア開発を複数プロジェクトで並行して行っているとする。その企業が、その複数大規模開発プロジェクトに対して技術的な支援をするグループの業務機能を考える。これまでの講義への質問回答。期末テストの模擬テスト
15
授業計画/Class 期末テスト。各回で説明したソフトウェア工学の基本事項を理解していることを確認する。
 
事前学習/Preparation 前週の講義で指定したテーマについて事前に調査してくること。
事後学習/Reviewing 講義で疑問に思ったこと、わからないことを、受講アンケート等を使って講師に伝えること。
授業方法/Method of instruction
区分/Type of Class 対面授業 / Classes in-person
実施形態/Class Method 通常型 / regular
補足事項/Supplementary notes本科目の各講義は、対面での講義/演習を基本とする。(コロナ禍での自宅待機等)事情のある学生は、講義前に事前に申告のうえ、オンラインリアルタイム、オンデマンドでの受講も許可とする。
活用される授業方法/Teaching methods used
成績評価方法/Evaluation
1 試験 Exam 50% 本テストで基準点に達しない受講生は単位を出さない。(毎回の講義で5,6個の基本的な用語レベルの理解ができれば通過できるレベル)
講義の理解度:80%
その他:20%
2 平常点 In-class Points 50% 単に出席するだけでなく、議論に参加し、有益な情報を他の出席者に与えることを評価する。
参考書/Reference books
 著者名
Author
タイトル
Title
出版社
Publisher
出版年
Published year
ISBN価格
Price
 
1 IEEE 松本 吉弘(翻訳) ソフトウェアエンジニアリング基礎知識体系 ―SWEBOK V3.0 オーム社 2014 4274505219 4400
2 居駒幹夫、梯雅之 アジャイル開発のプロジェクトマネジメントと品質マネジメント 日科技連出版社 2020 9784817196958 2800
メッセージ/Message
企業などの組織でソフトウェアを作るときに必要なのは、ソフトウェア設計やプログラミングの知識だけではありません。IT系の職種に就職予定の学生は、(他の情報系の科目を理解の上で)受講してください。社会で必ず役立ちます。
その他/Others
講師の企業でのソフトウェア開発経験に基づいた講義を行う。
キーワード/Keywords
実務経験     ソフトウェア工学     ソフトウェア品質     ソフトウェアテスティング     マネジメント