ソフトウェア工学 ( 入門編 ) 掛下哲郎 ( 佐賀大学 )

Similar documents
教育目標 情報システムを開発する際には企画, 設計, 実装といった基本的な開発工程を経る必要がある. 最近の情報システムにはデータベースが中核として組み込まれていることが多い. 本実験 ( 情報システム実験 ) では, リレーショナルデータベースを使ったデータ分析アプリケーションの企画 基本設計,

Microsoft PowerPoint - 04_01_text_UML_03-Sequence-Com.ppt

.NET テクノロジー概説 /WindowsAzure 入門 コード P-2 0:00~7:00 ( 休憩 時間含む ) 前提条件 Windows の操作経験 ( エクスプローラの操作 ファイルの操作 ) があること 最低開講人数 0 名.NET テクノロジー概説 /WindowsAzure 入門

040402.ユニットテスト

PowerPoint プレゼンテーション

<基礎領域>

高知大学 学生用

講義の進め方 第 1 回イントロダクション ( 第 1 章 ) 第 2 ~ 7 回第 2 章 ~ 第 5 章 第 8 回中間ミニテスト (11 月 15 日 ) 第 9 回第 6 章 ~ 第 回ローム記念館 2Fの実習室で UML によるロボット制御実習 定期試験 2

4 月 東京都立蔵前工業高等学校平成 30 年度教科 ( 工業 ) 科目 ( プログラミング技術 ) 年間授業計画 教科 :( 工業 ) 科目 :( プログラミング技術 ) 単位数 : 2 単位 対象学年組 :( 第 3 学年電気科 ) 教科担当者 :( 高橋寛 三枝明夫 ) 使用教科書 :( プロ

V8.1新規機能紹介記事

Microsoft Word 基_シラバス.doc

スライド 1

メソッドのまとめ

目次.Edu Track のログイン.Edu Track のポータル画面説明 3. 学修を始める ( 講義室に入る ) 4 4. テキスト履修科目 スクーリング ( ブレンディッド含む ) で使用する機能 5 学習する 5 お知らせ 6 掲示板 ( 公開 ) 6 課題 8 ディスカッション ( 公開

S-maqs利用の手引きver1.0

<4D F736F F D208AC888D B836A F C91808DEC837D836A B81698AC7979D8ED A E646F6

Python によるジオプロセシング スクリプト入門

Microsoft PowerPoint - se05-ER&OOAD&UML.ppt [互換モード]

Microsoft PowerPoint - chap10_OOP.ppt

大阪工業大学 授業アンケートシステム 教員側画面操作説明

Python によるジオプロセシング スクリプト入門

<4D F736F F F696E74202D E48FE A92C789C192CA926D82C982C282A282C45F696E6F75652E >

Microsoft PowerPoint Java基本技術PrintOut.ppt [互換モード]

データベースS

学術情報基盤オープンフォーラム 2019 クラウド活用最新事例 クラウドと Jupyter Notebook を使ったプログラミング教育 2019 年 5 月 29 日 室蘭工業大学桑田喜隆

スライド 1

障害管理テンプレート仕様書

Microsoft PowerPoint - ●SWIM_ _INET掲載用.pptx

平成30年度シラバス作成要領

変更要求管理テンプレート仕様書

プログラミング基礎I(再)

ご利用のコンピュータを設定する方法 このラボの作業を行うには 事前設定された dcloud ラボを使用するか 自身のコンピュータをセットアップします 詳細については イベントの事前準備 [ 英語 ] とラボの設定 [ 英語 ] の両方のモジュールを参照してください Python を使用した Spar

情報技術論 教養科目 4 群 / 選択 / 前期 / 講義 / 2 単位 / 1 年次司書資格科目 / 必修 ここ数年で急速に身近な生活の中に浸透してきた情報通信技術 (ICT) の基礎知識や概念を学ぶことにより 現代の社会基盤であるインターネットやコンピュータ システムの利点 欠点 それらをふまえ

SULMS簡単操作マニュアル

高合格率目標達成のためのノウハウを満載! 情報処理試験合格へのパスポートシリーズ ポイント 1 他社テキストにはない重要用語の穴埋め方式 流れ図の穴埋めを採用している他社テキストはあるが, シリーズとして重要用語の穴埋めの採 用 ( 問題集は除く ) はパスポートシリーズだけです なぜ, 重要用語の

過去問セミナーTM

Moodle2015_前期_教員版マニュアル_0324のコピー2

Using VectorCAST/C++ with Test Driven Development

PowerPoint プレゼンテーション

IBM i ユーザーの課題 モバイルや IOT に対応した新しい開発案件への対応 RPG COBOL など既存アプリのメンテナンス 要員の確保 属人化しない運用 管理体制 2

どのような便益があり得るか? より重要な ( ハイリスクの ) プロセス及びそれらのアウトプットに焦点が当たる 相互に依存するプロセスについての理解 定義及び統合が改善される プロセス及びマネジメントシステム全体の計画策定 実施 確認及び改善の体系的なマネジメント 資源の有効利用及び説明責任の強化

3-2 学びの機会 グループワークやプレゼンテーション ディスカッションを取り入れた授業が 8 年間で大きく増加 この8 年間で グループワークなどの協同作業をする授業 ( よく+ある程度あった ) と回答した比率は18.1ポイント プレゼンテーションの機会を取り入れた授業 ( 同 ) は 16.0

2. 目的 1RationalRose を利用する場合にプログラム仕様書としての最低限必要な記述項目を明確にする 2 プログラム仕様書として記載内容に不足がない事をチェックする 3UML の知識があるものであれば 仕様書の内容を理解できること 4Rose にて入力した内容を SoDaWord を利用

Microsoft PowerPoint - WebClassの使い方.ppt [互換モード]

Microsoft Word - 【CTG0000-D】ソフトウェア開発技法_ティーチングガイド.doc

LUNA活用ハンドブック_CS5.5.indd

GEC-Java

HIGIS 3/プレゼンテーション資料/J_GrayA.ppt

11 ソフトウェア工学 Software Engineering デザインパターン DESIGN PATTERNS デザインパターンとは? デザインパターン 過去のソフトウェア設計者が生み出したオブジェクト指向設計に関して, ノウハウを蓄積し 名前をつけ 再利用しやすいようにカタログ化したもの 各デ

Microsoft Word - tutorial8-10.docx

表紙2017

Microsoft Word - WebClass Ver 9.08f 主な追加機能・修正点.docx

No. 月日曜日内容午前午後基礎理論アルゴリズム 数値表現 シフト演算 論理演算 情報の基礎理論 アルゴリズムの基本 順次 選択 繰り返し 1 4 月 7 日木データ構造 2 4 月 8 日金 コンピュータ構成要素プロセッサ メモリ 補助記憶装置 入出力アーキテクチャ 4 月 9 日土休日 4 月

メタデータスキーマレジストリ MetaBridge の概要

ファンクションポイント法

<4D F736F F D E322E33816A91E58BB3554E F B582BD8DCC935F936F985E837D836A B2E646F6378>

2. オプション設定画面で, 必要事項を記入 選択します. 少なくとも, タイトル に課題の見出しとなる文章を入力する他, 種別 を アンケート( 無記名式 ) に設定する必要があります. また, アクセス制限はここでは コースメニューで非表示にする に設定します. その他設定は必要に応じて行って下

スキル領域 職種 : ソフトウェアデベロップメント スキル領域と SWD 経済産業省, 独立行政法人情報処理推進機構

アプリケーション インスペクションの特別なアクション(インスペクション ポリシー マップ)

Microsoft PowerPoint - se13-BestPractices.ppt [互換モード]

WBS テンプレート 2009/8/4 NO 作業項目 計画分析設計開発 SA UI SS PS PG PT テスト IT ST 運用 OT 保守 OM 作業概要 成果物 計画 プロジェクト編成 * プロジェクト責任者 メンバー ( システム部門 現場部門 外

履修管理

データベース 【1:データベースシステムとは】

PowerPoint プレゼンテーション

成績評価を「学習のための評価」に

Microsoft PowerPoint - ①【F5-1小菅貴彦先生】最終.ppt

日経ビジネス Center 2

1.ICD-10(2013 年版 ) のコーディングの確認対象 確認対象医療機関 DPC 対象病院および DPC 準備病院 確認対象期間 平成 28 年 10 月診療分 ~ 平成 30 年 3 月診療分 ( 計 18 か月 ) 確認対象 ICD-10 様式 1 の診断情報の ICD-10 コードを対

Microsoft PowerPoint - FormsUpgrade_Tune.ppt

<4D F736F F D B92B78EF58BB38EBA939982CC8A8893AE82C6955D89BF DC58F4994C52E646F6378>

PowerPoint プレゼンテーション

プレポスト【問題】

pp2018-pp9base

プロジェクトマネジメント知識体系ガイド (PMBOK ガイド ) 第 6 版 訂正表 - 第 3 刷り 注 : 次の正誤表は PMBOK ガイド第 6 版 の第 1 刷りと第 2 刷りに関するものです 本 ( または PDF) の印刷部数を確認するには 著作権ページ ( 通知ページおよび目次の前 )

Oracle SQL Developer Data Modeler

はじめてのPFD

プログラミング基礎

自主演習履修の手引き 自主演習とは 履修手引きには 個々の演習の内容は, 学生自らがその目標, 計画を設定する. とあります. 学生自身が学習内容を決める科目です. 自主演習の履修手順 1. 演習内容の企画 どのような演習を行いたいのか企画してください. 演習のテーマを決定してください. 必要に応じ

要求仕様管理テンプレート仕様書

306

目次 研究目的 背景システム開発について実験および評価結論

CodeRecorderでカバレッジ

プロジェクトのあらまし 平成 年度特別経費 ( プロジェクト分 新規事業 ) 大学の特性を生かした多様な学術研究機能の充実採択プロジェクト : 教授システム学 の研究普及拠点の形成 学び直しを支援する社会人教育専門家養成 [ 短期プログラム ] パッケージの開発と普及 概要 e ラーニング専門家養成

前ページからの続き // テキストボックス02 id 属性で取得 // id 属性で取得する場合は一意に決まるので 何番目かの指定は不要 var textbox02elem = document.getelementbyid("text_box02_id"); if ("001" == statee

レコードとオブジェクト

日本大学 文理学部

Oracle Un お問合せ : Oracle Data Integrator 11g: データ統合設定と管理 期間 ( 標準日数 ):5 コースの概要 Oracle Data Integratorは すべてのデータ統合要件 ( 大量の高パフォーマンス バッチ ローブンの統合プロセスおよ

Microsoft Word - 医療学科AP(0613修正マスタ).docx

受講を行うための前提知識 PC の基本操作ができること 座学 コーディング実習 受講講座の名称 9 日間 67:30 システムエンジニア向け IT 基礎 4/8/( 月 ) IT 技術者に共通する基本的な知識の習得を目標とします コンピュータ基礎では コンピュータの仕組みやコンピュータで扱う数値や単

ウェブデザイン技能検定 1 級実技 平成 28 年度 第 4 回 ウェブデザイン技能検定 1 級 実技試験概要 試験にあたっての注意事項 試験者は本試験の留意事項 注意事項に留意して作業を行うこと ペーパー実技試験は 課題 1 から 5 までの 5 課題を 60 分間で行うこと 作業実技試験は 課題

Microsoft Word - db4_ERモデル.doc

テキストファイルの入出力1

スクールCOBOL2002

manaba course 出席機能 操作マニュアル

Microsoft PowerPoint - ca ppt [互換モード]

MicrosoftVisualStudio.NET による ASP.NETWeb アプリケーションの開発 (#2334)(MP301)5 日間 () コースの概要 このコースでは VisualBasic.NETまたは C# プログラマで Web 開発の初心者が ASP.NETを使用して Web アプ

Microsoft PowerPoint - Lec24 [互換モード]

模擬試験問題(第1章~第3章)

表 回答科目数と回答数 前期 後期 通年 ( 合計 ) 科目数 回答数 科目数 回答数 科目数 回答数 外国語 ( 英語 ) 120 / 133 3,263 / 4, / 152 3,051 / 4, / 285 6,314 / 8,426 外国語 ( 英語以

1.はじめに

Transcription:

ソフトウェア工学 ( 入門編 ) 掛下哲郎 ( 佐賀大学 ) kake@is.saga-u.ac.jp

2 教育目標 大規模なソフトウェア製品を系統的に開発するために, ソフトウェアのライフサイクルモデルが提案されている. 本講義 ( ソフトウェア工学 ) ではライフサイクルにおける各種の技術 ( 段階的詳細化, データ抽象化, 構造化プログラミング, プログラミングスタイル, テスト技法等 ) を身につける. これらの技法は, ソフトウェア開発者にとっての必須技術であると同時に, ソフトウェアを効果的に委託開発するための重要技術でもある.

3 教育の対象者 プログラミング教育を受けた情報系の学部学生 IT 企業等の新人ソフトウェア開発技術者 本講義において, ソフトウェア企業の技術者を科目等履修生として受け入れた実績あり. 各種の学外向けセミナーで本講義のコンテンツを活用 ソフトウェア企業の技術者を対象としたソフトウェア開発技術セミナーの実施実績あり.

4 授業計画 ( その 1) 第 1 回ソフトウェア工学とは ソフトウェア工学の目的 IT スキル標準, 情報処理技術者試験, 技術士 第 2 回ソフトウェアのモデル化 (1) プロセスモデル : ソフトウエア開発の基本手順 第 3 回仕様分析 (1) 仕様分析の目的と重要性 データフロー図 (DFD) と段階的詳細化 正規表現を用いたデータ構造の表現 第 4 回仕様分析 (2) 入出力設計 ユースケースを用いた仕様記述 ユースケース作成事例 第 5 回 DFD の作成 演習 概略仕様を DFD の全体文脈図で表す. 全体文脈図を詳細化する. 全体文脈図の各データフローを正規表現で表す. 第 6 回ソフトウェアのモデル化 (2) コストモデル :Function Point 法, Cocomo 第 7 回ソフトウェアのモデル化 (3) 計算モデル : 構造化モデルとオブジェクト指向モデル 第 8 回モジュール設計 (1) モジュール設計の目的 段階的詳細化 モジュール間結合度 第 1 回演習

5 授業計画 ( その 2) 第 9 回モジュール設計 (2) モジュール強度 モジュールの抽象化 データ抽象化と抽象データ型 第 10 回 モジュール設計 演習 DFD 中のファイルに対応するデータ構造とそれをアクセスするモジュールを設計する. DFD 中の機能に対応するモジュールとルーチンを設計する. 第 11 回詳細設計 詳細設計とその目的 構造化プログラミング Jackson 法 第 2 回演習 第 3 回演習 第 12 回 Jackson 法 演習 Jackson 法を用いてアルゴリズム設計を行う. 第 13 回コーディング ソフトウェアの品質 プログラミングスタイル プログラミングの落とし穴 第 14 回ソフトウェア テスト (1) ソフトウエアの検証とテスト ソフトウエア テストの目的 ホワイトボックステスト 第 15 回ソフトウェア テスト (2) ブラックボックステスト 統合テスト 第 16 回 定期試験

6 特徴 ソフトウェア開発における現実的事例を踏まえた授業設計 各種の業務システム開発経験を通じて蓄積した経験を活用 例 : 大学入試合否判定プログラム開発, 学生総合情報システム開発プロジェクトリーダー, 病院総合情報システム導入アドバイザ, 商用パッケージソフト企画 設計 Moodleの徹底活用 講義資料および参考資料の公開 レポートのオンライン提出およびフィードバック Moodle 版大福帳を活用した学生と教員のコミュニケーション促進 ( 毎回の授業後の学生の意見 質問収集および次回授業前までの教員の回答 ) 成績通知, 各種連絡 3 回の PC 演習 (DFD 作成, モジュール設計,Jackson 法を用いた構造化プログラミング ) を通じた系統的なスキル育成 設計ガイドラインやプログラミングガイドラインを活用した成績評価基準の明示, 成果物レビュー, および成績評価の実施 独自開発したソフトウェア設計支援ツール Perseus を活用したモジュール設計演習および Jackson 法演習 関連する授業 ( プログラミング概論 演習 I および II, オブジェクト指向開発, 情報システム実験等 ) と連携した系統的な授業設計 JABEE 認定基準 ( 情報および情報関連分野 ) への適合

7 Moodle の徹底活用 講義シラバスの公開 講義コンテンツの公開 講義資料 演習用ファイル ソフトウェアダウンロード 大福帳 レポート提出の受付 レポート評価およびコメントのフィードバック 成績通知 アクセスログによる学生の修学状況確認 メッセージ送受信 小テスト ( 本講義では未実施 ) 各種連絡

講義資料 ( その 1) 8

講義資料 ( その 2) 9

10 DFD の作成 演習 目的 与えられた企画を分析して, あいまいさおよび矛盾のない DFD を作成できる. 課題 与えられた企画を分析して DFD を作成し,DFD を構成する各ファイルおよびデータフローを正規表現で定義する. 企画例 : 企業情報分析システム システムが管理するテーブル 企業概要, 株価, 単独決算 企業に提供する機能 各テーブルへのレコード追加 ( データチェックを含む ) 株主に提供する機能 指定した人数以上の従業員がいる企業の一覧を表示する. 指定した証券コードの企業の株価一覧を表示する. その他, 各種のデータ分析機能を提供する. レポート評価基準 コンテキストダイアグラムおよび各レベルの DFD は互いに一貫しているか. 各機能の入出力は正しいか. 各正規表現は正しいか. 提出期限を守っているか. 正規表現の記述

11 モジュール設計 演習 目的 仕様書に基づいて段階的詳細化を行い, 独立性の高いルーチンやモジュールを設計できる. DFD 作成, モジュール設計, アルゴリズム設計に至るワークフローを理解する. 課題 DFD 作成演習で作成した DFD に基づいてモジュールおよびルーチンを設計する. 設計したモジュールについて, モジュール間結合度およびモジュール強度を判定する. レポート評価基準 1 ルーチン =1 機能 の原則を守っているか. 各モジュールが保持するデータ構造が正しく定義されているか. モジュールが保持するデータ構造を操作するためのアクセスルーチンが正しく定義されており, 情報的強度のモジュールになっているか. 各ルーチンの引数および戻り値は DFD と一致しているか. ルーチン間の呼び出し関係は DFD と一致しているか. モジュール間結合度とモジュール強度の判定結果および判定理由は妥当か. 提出期限を守っているか.

12 ソフトウェア設計支援ツール Perseus 学生レポート例 ( モジュール設計演習 ) 我々が研究開発したソフトウェア設計支援ツール 設計データをツリーで表現し, 編集機能を提供 モジュール設計, ルーチン設計, データ構造設計, アルゴリズム設計を幅広くカバー 構造化設計 オブジェクト指向設計の両方に対応 設計結果に基づきC++/Javaプログラムの骨格を生成 設計結果の自動チェック機能およびレビュー支援機能 Javaプログラムのリバースエンジニアリング機能 モジュール設計演習および Jackson 法演習で活用

13 レポートのオンライン提出および フィードバック モジュール設計演習におけるフィードバック例 評価 : 優 Perseus で作成したファイル 評価 : 良 評価 : 可

14 Jackson 法 演習 目的 Jackson 法を用いた構造化プログラミングができる. 課題 モジュール設計演習の結果に基づき, 割り当てられたルーチンのアルゴリズムを Jackson 法を用いて作成する. アルゴリズム例 レポート評価基準 Jackson 法を正しく適用しているか. 各操作は具体化されているか. 不要な操作を除去しているか. 提出期限を守っているか. 各学生は, モジュール設計演習で自らが Perseus で作成した成果物を基に Jackson 法演習を行う.

15 設計ガイドライン アルゴリズム記述の基本 アルゴリズムは, 有限回の操作で終了しなければならない. アルゴリズムの各操作は, 明確に定義されており, 誰が実行しても同一の結果が得られなければならない. アルゴリズムの各ステップは, 仕様の中で使われている概念や用語を使って記述すること. アルゴリズムは, 記述の洩れや余分な記述を含んではならない. データ構造 変数名には当該変数が保持する情報を説明する具体的な名詞を用いること. 配列を用いる場合, 要素数と要素のデータ型を明示すること. 構造体を用いる場合, 各フィールドについて, フィールド名とフィールドのデータ型を明示すること. 制御構造 場合分けの条件がすべての場合を網羅していることを確認すること. 場合分けは, 系統的な順序で配列すること.( 例 : 出現頻度順, 年代順 ) 繰り返し処理を記述する場合には, 各回の繰り返しで処理されるデータ ( または処理の内容 ) ができるだけ明確になるように工夫すること. ルーチン 各ルーチンの機能は明確かつ単純に表現すること. 従って, 複数の機能を持つルーチンを定義してはならない. 各ルーチンのアルゴリズムは20ステップ程度以下にまとめること. それ以上の長さのものはルーチンを使用して詳細化すること. ルーチン名には, 当該ルーチンが提供する機能を表す動詞句を用いること.

16 成績評価 成績評価基準 情報システム開発に関する基礎的知識を理解している. 複数分野における情報システムの活用事例を知っている. 情報システムの開発者としての視点からの知識を持っている. 実社会で発生している問題について関心および知識を持っている. 実社会で発生している問題に対して, 情報システム技術者としての観点から意見を述べることができる. 3 回の演習レポートおよび定期試験を通じて評価 与えられた企画を分析して, あいまいさおよび矛盾のない DFD を作成できる. DFD の作成 演習を通じて評価 仕様書にもとづいて段階的詳細化を行い, 独立性の高いルーチンやモジュールを設計できる. モジュール設計 演習を通じて評価 Jackson 法を用いた構造化プログラミングができる. Jackson 法 演習を通じて評価 評価方法 DFDの作成 演習 :20% モジュール設計 演習:25% Jackson 法 演習 :10% 定期試験 :45% 上記の他, 大福帳で学生の理解度を高める質問や教育改善に役立つコメントを行った学生には加点する.

人数0 20 40 60 80 100 17 成績評価結果 20 得点度数分布表 15 10 5 0 得点

18 Moodle 版大福帳 大福帳は, 学生と先生の間のコミュニケーション促進を通じて, 勉学や学生生活等を支援するとともに, 授業を改善するためにも活用することで, 両者に 福 をもたらすことを目的としている. 大福帳は織田揮準三重大学教授が考案したものである. 我々はこれを Moodle 上で実装し, 授業の中で活用している. 授業日毎の大福帳第 9 回モジュール設計 (2) における例 学生毎の大福帳各学生は自らの大福帳のみ参照可

19 授業間の関連 1 年後期 2 年前期 2 年後期 3 年前期 プログラミング概論 I プログラミング演習 I 構造化プログラミングの基礎 プログラミング概論 II プログラミング演習 II 高水準データ構造 (STL, 木など ) を用いたプログラミング オブジェクト指向開発 OOAD,Java プログラミング ソフトウェア工学 構造化分析 設計 システム開発実験 Java プログラミングテスト駆動開発 座学 実験 演習 データ構造とアルゴリズム データベース リレーショナル DB 情報システム実験 DB アプリケーション企画 設計 開発

20 教育効果 情報システム開発に関する基礎的知識を理解している. 与えられた企画を分析して, あいまいさおよび矛盾のない DFD を作成できる. 仕様書にもとづいて段階的詳細化を行い, 独立性の高いルーチンやモジュールを設計できる. Jackson 法を用いた構造化プログラミングができる. JABEE によるアクレディテーション認定を取得することにより, 学習 教育目標およびシラバスに従った授業の実施および成績評価が実施されていることが, 第三者の専門家により確認されている.