軟體工程課程介紹

2022-08-01 12:42:03 字數 2925 閱讀 8707

課程介紹

課程特點:

既是一門技術學課程,也是一門管理學課程;

既具有理論性,也具有較強的實操性。

課程目的:

基本:掌握軟體工程的基本概念和基本原理;

掌握分析、設計、測試與維護軟體系統的理論與方法;

實踐軟體系統開發的全過程,構建乙個軟體系統。

進一步:

轉變對軟體的認識:程式系統;

轉變思維定式:程式設計師系統分析員/系統設計員;

工程化訓練:規範、準則、專案管理。

軟體工程人才分布示意圖

課程的主要內容:

軟體工程的產生、軟體的生命週期、生命週期模型;

軟體開發各階段的目標、任務、特點、步驟和文件;

傳統軟體工程的基本思想,開發過程和步驟,應遵循的原則和準則;

物件導向軟體工程的基本思想、基本過程和基本模型;

軟體工程的管理技術。

課程重點:

掌握結構化方法開發軟體系統的過程、步驟、應遵循的原則以及工具。

教學安排:

48學時講授;

課後作業和課後實驗。

考核: 期末考試:70%;

作業+分組實驗:30%。

教材: 軟體工程導論(5th),張海藩,清華大學出版社

參考文獻

軟體工程(第二版),齊治昌,高等教育出版社

軟體工程實踐教程,譚慶平等,高等教育出版社

先修課程:

程式語言

資料結構

資料庫原理與設計

課程實驗:

實驗題目:

題目1:課程註冊系統

為高校教務管理部門開發乙個選修課程註冊管理系統。在每學期開學前,教務管理人員可利用該系統輸入課程資訊、設定課表(每門課的任課教師、上課地點、上課時間)。開學後,學生可以利用該系統查詢課程和課表資訊,在第一周內註冊課程和取消對課程的註冊。

軟體系統負責將學生所選課的列表通知計費系統以確定學生應繳納的選課費用。在學期內,任課教師可隨時查詢選修其所授課程的學生的資訊,學生可以隨時查詢課程資訊、課表、本人已選課程列表,教務管理人員可以隨時查詢所有資訊。學期結束,教師可登記學生考試成績。

題目2:航空定票系統

為某家機票預訂服務商開發乙個機票預訂和查詢管理系統。該系統中的航班和機票資訊由多家航空公司負責提供。客戶通過上網方式查詢航班時間表、機票可用資訊、機票折扣資訊,可以遠端訂票、退票、通過信用卡支付票款。

客戶分為三類:金牌客戶、銀牌客戶和普通客戶。普通客戶通過訂票積分至一定的額度可以逐步公升級為銀牌客戶、金牌客戶。

不同類別的客戶可享有不同的機票折扣。系統還必須每日、每週、每月給出機票銷售的統計分析報表。

題目3:試題庫系統

為高校某門課程開發試題庫系統,要求:(1) 試題有單選(4選1)、多選(5選2)、判斷、填空等幾類;(2) 試題編輯。對每道試題可進行錄入、修改、刪除等操作;每一章的每一類題,題量有乙個臨界值,當系統中某一章的某類題量低於臨界值時,應提示使用者增加題目;(3) 試卷生成。

三種方法:(a) 使用者依次輸入某章某類題的數量,系統隨機抽題,依次寫入試卷(txt檔案);(b) 使用者開啟題庫,邊閱讀題目邊抽題,抽出的題目一經確認,即寫入試卷;(c) 系統登記、儲存已生成的完整試卷,使用者可以直接抽取完整試卷。(4) 試卷評價。

記錄每份已生成的完整試卷的考試情況,評價其難易程度。

實驗要求:

按照基於資料流的軟體工程的要求完成各階段的主要文件,實現的程式能初步執行。

分組進行,每組3~4人,自由組合,每組設專案負責人乙個;

每組抽籤選擇開發題目1、2或3,一組同學合作完成乙個專案,每人負責專案中的1~2個開發步驟;

工作步驟:

問題初步定義和可行性研究需求分析(資源採集)介面原型設計概要設計詳細設計實現與測試專案驗收

需要交付的文件:

(1)可行性研究報告

(2)專案開發計畫(含小組成員分工)

(3)需求規格說明書

(4)概要設計說明書

(5)詳細設計說明書

(6)資料庫設計說明書

(7)測試計畫

(8)測試分析報告

(9)專案開發總結報告

(10)系統源程式

(11)操作手冊

建議開發步驟:

可行性研究:

用系統流程圖描述系統的工作流程。

從技術上和人員(分工)上簡單說明專案的可行性。

專案開發計畫:

專案時間(例如20個工作日),任務分解(每個任務需要的人數和時間),做專案開發的工程網路圖和計畫進度表,註明關鍵任務和關鍵路徑。

使用「瀑布模型」:

需求分析:

(1)獲取需求:對8個方面的需求(a 功能需求

;b 效能需求

;c 可靠性和可用性需求

;d 出錯處理需求

;e 介面需求

;f 約束

;g 逆向需求

;h 將來可能提出的要求)進行獲取、分析和記錄,不必要的方面可以略去。

(2)建立系統的邏輯模型:資料模型----資料字典和e-r圖(資料規範到3正規化);功能模型----功能級或進一步細化的資料流圖;行為模型----狀態轉換圖。

(3)對系統中的關鍵部分必要的說明。

概要設計

(1)確定系統的物理實現方案,用系統結構圖描述之。

(2)分解系統功能,做出系統的軟體結構圖(總體結構圖)。

(3)主要模組(一級、二級)的功能描述。

(4)對模組間的介面進行說明。

(5)設計系統的主介面。

(6)使用者設計

詳細設計

(1)資料庫設計。

(2)系統使用的全域性變數

(3)每個模組內的資料結構設計、處理流程(圖)設計。

(4)模組的主介面、主要的互動介面的設計。

實現(1)編碼。

(2)測試:對主要功能模組進行單元測試,對整個系統進行整合測試。對每個測試活動記錄:測試採用的技術;測試用例;測試執行的結果。

寫開發總結

寫操作手冊

軟體工程課程實踐

實驗是檢驗真理的唯一標準 電腦科學系實驗報告 課程名稱 軟體工程 年級專業 軟體工程 姓名 00 學號 000 2011 2012 學年第一學期 實驗目錄列表 實驗一工具軟體visio的使用 實驗地點 計科系微軟實驗室1 b301 實驗時間 2011.9.9 星期五 實驗目的 熟悉工具軟體visio...

軟體工程課程簡介

上海杉達學院本科課程簡介 適用於理論課和實踐課 課程編碼 暫空 課程名稱 中文 英文 軟體工程 software engineering學分 學時 3 48 適用專業 電腦科學與技術 先修課程 計算機基礎 高階語言程式設計基礎 資料結構 資料庫原理 作業系統內容簡介 軟體工程 是一門綜合性和實踐性很...

軟體工程課程設定 參考

課程學習總學分要求為 170 學分。從課程結構上可分為公共基礎課 專業必修課 專業選修課 文化素質選修課 專業實踐與畢業設計。專業基礎課和專業必修課強調本領域的理論基礎與核心技術,專業選修課程結合市場軟體應用需求,注重應用系統開發能力和工程能力培養。課程體系如下圖所示 1 公共基礎課程 必修環節 共...