《《軟件工程課程設計》PPT課件》由會員分享,可在線閱讀,更多相關《《軟件工程課程設計》PPT課件(38頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、1 軟件工程課程設計 董威 國防科技大學計算機學院 602教研室 2006.3 E-mail: 2 主要內(nèi)容 通過開發(fā)一個具體軟件的過程,掌握現(xiàn)代 軟件工程中的部分管理和開發(fā)方法! 開發(fā)一個基于 Web的分布式應用軟件 . 使用 UML對軟件進行需求和設計建模 . 遵循軟件項目管理的相關原則 . 3 一、課程簡介 4 課程形式 課堂( 4學時) 題目實習 分組實踐 選擇題目 5 課堂內(nèi)容 課程要求 基于 Web的軟件開發(fā)方法 相關文檔模版 軟件項目管理方法 軟件開發(fā)過程 6 前導實踐性知識 軟件工程 程序設計 計算機網(wǎng)絡 數(shù)據(jù)庫 7 實習題目 1 建立一個分布式 、 互動式的遠程教學平臺 ,
2、 為教師教學 、 學生學習提供比較完整的教 學解決方案 。 其主要功能包括通知發(fā)布 、 參考資料發(fā)布 、 電子課件發(fā)布 、 學生作業(yè) 提交 、 幫助教師批改學生作業(yè) 、 幫助學生 復查批改后的作業(yè) 。 8 實習題目 2 開發(fā)一個基于 WEB的網(wǎng)上機票查詢和銷售 系統(tǒng) , 該系統(tǒng)可以錄入航班和機票信息 , 用戶可以查詢航班時刻表 、 查詢機票可用 信息和機票折扣信息 , 用戶可以通過 WEB 訂票 。 9 實習題目 3 開發(fā)一個基于 WEB的網(wǎng)上投稿系統(tǒng) , 該系 統(tǒng)可以接受作者的電子投稿 , 以及作者信 息 ( 如姓名 、 單位 、 通信地址 、 電話 、 E- Mail等 ) 注冊 , 并能
3、供投稿人查詢稿件處 理情況 , 以及在稿件處理后 ( 退稿 、 錄用 、 修改后再審等 ) , 能自動發(fā)送 E-Mail通知 投稿人 。 10 實習題目 4 開發(fā)一個基于 Web的 BBS系統(tǒng) , 包含一般 BBS所具有的功能 , 如用戶注冊 、 用戶信 息管理 、 發(fā)貼功能 、 貼子管理 、 主題詞查 詢 、 用戶信息修改和查詢等 。 11 實習題目 5 開發(fā)一個基于 Web的網(wǎng)上書店 , 該系統(tǒng)可 以分類錄入書籍和相關信息 ( 如名稱 、 頁 數(shù) 、 出版商 、 摘要 、 目錄等 ) , 用戶可以 注冊 、 登錄 , 注冊用戶享受打折服務 , 所 有用戶都可以查詢 、 瀏覽書籍 。 注冊用
4、戶 可以定購書籍并查詢訂單 。 12 實習題目 6 Consider a railway. The railway consists of interconnected stations. Shuttles bid for orders to transport passengers between certain stations. Successful completion of an order results in a monetary reward for the shuttle involved. In case an order has not been completed in
5、 a given amount of time, a penalty is incurred. New orders are made known to all shuttles, thus all shuttles can make an offer. The shuttle with the best, i.e. lowest offer will receive the assignment. Using the tracks will incur a toll, depending on the distance covered. Maintenance of the shuttles
6、 is possible at any station and will cost both time and money. 13 實習題目 7(較難) As part of an integrated avionics system, you are to develop a program called RSDIMU, for the management of sensor redundancy in a Redundant Strapped Down Inertial Measurement Unit (RSDIMU). An RSDIMU is used as part of the
7、 navigation system in aircraft and spacecraft. The portion of the RSDIMU you will handle contains eight linear accelerometers mounted on the four triangular faces of a semioctahedron. Each accelerometer measures specific force along its associated measurement axis. You are to process these sensor me
8、asurements to provide estimates of the linear acceleration of the vehicle in which the RSDIMU is installed. 14 其它自選項目 15 開發(fā)小組( 3-5人) 分析員 開發(fā)人員 測試人員 管理者 其它角色(課程開發(fā)員、圖形設計員、 系統(tǒng)管理員、技術文檔編寫員、工具 專家等) 一周內(nèi)由課代表把分組名單和分組編號交上。 16 作業(yè)形式 開發(fā)計劃、需求、設計、測試等主要文檔。 UML需求和設計模型。 程序代碼。 編程語言和工具自選。 17 考核依據(jù) 所要求的文檔是否齊全及其質(zhì)量 UML模型 軟件
9、功能、界面和質(zhì)量 是否按時完成 18 需要提交的相關文檔 軟件開發(fā)計劃 需求分析文檔 軟件設計文檔 測試計劃和評估文檔 Rose模型文件 19 需要提交的 UML模型 用例圖 順序圖 類圖 狀態(tài)圖 活動圖 組件圖 配置圖 20 要求 2006年 5月 15日前 作業(yè)均以電子文檔的形式提交,所有代碼、文檔 放在一個壓縮文件中,文件名是“第 x組”。壓 縮文件中要包括一個文本文件,內(nèi)容是本組成員 名單和學號;代碼、文檔各放一個目錄下。 上機檢查。 21 參考資料 軟件工程 UML、 Rational Rose相關資料 JavaScript動態(tài)網(wǎng)頁設計, Nick Heinle & Bill Pen
10、a, 機械工業(yè)出版社, 2003 JSP高級編程,廖若雪 , 機械工業(yè)出版社, 2001 Microsoft Project相關工具指南 22 實習環(huán)境 23 二、 Web應用軟件 24 Web應用軟件概述 Web應用軟件是指分布在客戶端和服務器的應用軟件; 客戶端通過 Web瀏覽器向客戶提供界面并接收用戶的操作指 令; 客戶在頁面上的超鏈點擊和數(shù)據(jù)錄入等操作行為通過 HTTP 協(xié)議傳至 Web服務器; 安裝在 Web服務器上的服務端程序響應來自客戶端的 HTTP 請求,在服務器上進行運算、處理; 處理的結果形成 HTML頁面后再通過 HTTP協(xié)議回傳至客戶 端瀏覽器。 25 Web應用軟件的
11、分層 26 客戶端軟件的開發(fā) 1. 創(chuàng)建 HTML頁面; 2. 創(chuàng)建 JavaScript代碼; 27 服務器端軟件的開發(fā) Servlet(1) 超文本傳輸協(xié)議: Web客戶與 Web服務器之間的通信 協(xié)議,它指定了有效的請求、響應格式,錯誤代碼, 以及數(shù)據(jù)類型。 HTTP請求:一組由瀏覽器發(fā)往 Web服務器的數(shù)據(jù)。 HTTP請求包含所請求頁面的名稱,瀏覽器的描述信 息,可接受的響應數(shù)據(jù)類型,以及用戶輸入的數(shù)據(jù)。 HTTP響應:一組由 Web服務器發(fā)往 Web瀏覽器的數(shù) 據(jù),它是服務器對一次 HTTP請求的響應。 HTTP響 應包括服務器的描述信息,該響應的有效期,和格 式化數(shù)據(jù)。 28 服務
12、器端軟件的開發(fā) Servlet(2) 表單( form): HTTP協(xié)議允許 Web瀏覽器將從用戶 那里收集來的數(shù)據(jù)以字符串列表的形式傳送給 Web服 務器。 HTTP Servlet:一個 Java類,它接收一個 HTTP請求 并生成相應的 HTTP響應。 Servlet引擎:它使得 Web服務器能夠將傳入的 HTTP 請求重定向到某個已部署在 Web服務器上的 Servlet。 29 服務器端軟件的開發(fā) JDBC 1. 裝載 JDBC驅動程序 ; 2. 打開一個指向數(shù)據(jù)源的數(shù)據(jù)庫連接 ; 3. 在數(shù)據(jù)庫連接對象上創(chuàng)建一個 SQL語句對象 ; 4. 執(zhí)行 SQL語句。如果 SQL語句是 Se
13、lect語句, 返回的記錄集將被封裝在類型為 ResultSet的 對象中,通過 ResultSet類的方法,可以獲取 結果記錄集中的內(nèi)容 ; 5. 上述步驟 3、 4可以執(zhí)行多次,直至最后關閉 數(shù)據(jù)庫連接,釋放資源。 30 利用 UML對 Web應用軟件建模 Web頁面可以表示為 UML中的類。 應該對服務器端的 Web頁與客戶端的 Web 頁分別建模。 服務端的 Web頁以及 Servlet類有權訪問服 務器端資源(中間層構件、數(shù)據(jù)庫、文件 系統(tǒng)等)。 客戶端的 Web頁與該頁中包含的所有 Java Applet、 ActiveX 控件或插件相關。 31 構造型 (stereotype) server page、 servlet和 client page。 build單向關聯(lián),方向從服務端 Web頁 /Servlet類指向客戶端 Web頁。 每個客戶端 Web頁至多只能由一個服務端 Web頁 /Servlet類構建。 一個服務端 Web頁 /Servlet類可以構建多個客 戶端 Web頁。 32 構建關系 33 Web頁間的超鏈 34 客戶端協(xié)作 35 服務端協(xié)作 36 表單及其提交關系的表示 37 三、文檔模版 38 主要文檔 軟件開發(fā)計劃 軟件需求規(guī)約 軟件構架文檔 軟件測試計劃 測試評估摘要