《軟件開發知識》PPT課件.ppt_第1頁
《軟件開發知識》PPT課件.ppt_第2頁
《軟件開發知識》PPT課件.ppt_第3頁
《軟件開發知識》PPT課件.ppt_第4頁
《軟件開發知識》PPT課件.ppt_第5頁
已閱讀5頁,還剩33頁未讀, 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

第6章 軟件開發知識,6.1 數據庫原理及應用 6.2 軟件工程 6.3 本章小結,計算機廣泛應用于各行各業,除了有性能優良的硬件支持外,各種功能強大的軟件是不可或缺的。,6.1 數據庫原理及應用,關系數據庫 關系數據庫語言 常用關系數據庫管理系統 數據庫應用系統開發工具 數據庫設計 數據庫的發展,數據庫技術在開發信息處理類軟件中發揮著重要作用。,6.1.1 關系數據庫,有關數據庫的4個概念 數據(Data) 描述事物的符號記錄。,6.1.1 關系數據庫,有關數據庫的4個概念 (P178 要記憶) 數據庫(DataBase,簡稱DB) 長期存儲在計算機內的、有組織的、可共享的數據集合。 數據庫管理系統(DataBase Management System,簡稱DBMS) 位于用戶和操作系統之間的一層數據管理軟件。 完成數據定義、數據操縱、數據庫運行管理與維護功能。 數據庫系統(DataBase System,簡稱DBS) 以數據庫為核心的,在數據庫管理系統的支持下完成一定的數據存儲和管理功能的應用軟件系統。,6.1.1 關系數據庫,數據管理技術的三個階段 人工管理階段/文件系統階段/數據庫階段。 數據庫的主要特點 數據冗余度小 重復數據少,節省存儲空間并有利于保持數據的一致性。 數據共享度高 多個應用程序共享使用同一個數據庫。 數據獨立性高 物理獨立性/邏輯獨立性。,6.1.1 關系數據庫,數據庫管理系統分類 層次數據庫/網狀數據庫。 關系數據庫/對象-關系數據庫。 面向對象數據庫。 關系模式示例 (P179 例6.1) 學生(學號,姓名,年齡,系別) 課程(課程號,課程名,學時) 選課(學號,課程號,分數),6.1.1 關系數據庫,關系示例 學生(學號, 姓名, 年齡, 系別) 0701 張三 18 計算機 0702 李四 19 計算機 0703 王五 19 化學 選課(學號, 課程號,分數) 0701 C01 92 0701 C02 78 0702 C01 65 0703 C02 86 0703 C03 95 課程(課程號,課程名, 學時) C01 計算機導論 34 C02 高等數學 102 C03 大學英語 68,6.1.2 關系數據庫語言,關系數據庫語言的特點 非過程化 只要提出做什么,而不必指明如何做 。 功能一體化 數據定義與數據操縱格式統一。 一種語法兩種使用方式。 人機交互方式與嵌入主語言方式。 面向集合操作 語法簡捷、易學易用,6.1.2 關系數據庫語言,應用示例 (P180 例6.2) 對于上述學生選課關系,如果查詢選修了“計算機導論”課程的學生的姓名,可以寫出如下查詢語句: SELECT 學生.姓名 FROM 學生, 選課, 課程 WHERE 學生.學號=選課.學號 AND 選課.課程號=課程.課程號 AND 課程.課程名=“計算機導論”;,6.1.3 常用關系數據庫管理系統,小型數據庫管理系統 dBASE/FoxBASE FoxPro/Visual FoxPro Access 大型數據庫管理系統 Oracle MS SQL Server DB2 Sybase Informix,6.1.3 常用關系數據庫管理系統,大型數據庫管理系統的特點 基于網絡環境的數據庫管理系統。 支持大規模的應用。 自動鎖功能使得并發用戶可以安全而高效地訪問數據。 可以保證系統的高度安全性。 提供方便而靈活的數據備份和恢復方法及設備鏡像功能。 提供多種維護數據完整性的手段。 提供了方便易用的分布式處理功能。,6.1.4 數據庫系統開發工具,自帶開發工具 專用開發工具 PowerBuilder Delphi Visual Basic Visual C+,6.1.5 數據庫設計,需求分析 對組織的工作現狀和用戶需求進行調查分析。 明確用戶的信息需求和系統功能。 提出擬建系統的邏輯方案。,6.1.5 數據庫設計,概念結構設計 將需求分析階段得到的用戶需求抽象為反映現實世界信息需求的數據庫概念結構(E-R圖)。 設計局部E-R圖。 集成局部E-R圖為全局E-R圖。 優化全局E-R圖。,6.1.5 數據庫設計,邏輯結構設計 把概念結構設計階段的E-R圖轉換成與具體的DBMS產品所支持的數據模型相一致的邏輯結構。 將E-R圖轉換為關系模型。 對關系模型進行優化。,6.1.5 數據庫設計,物理結構設計 確定數據庫在實際的物理設備上的存儲結構和存取方法。 確定數據的存儲安排。 存取路徑的選擇與調整。 確定系統配置。,6.1.5 數據庫設計,數據庫實施 根據邏輯設計和物理設計的結果,在選用的DBMS上建立起數據庫 建立數據庫結構。 載入實驗數據并測試應用程序。 載入全部實際數據并試運行應用程序。,6.1.5 數據庫設計,數據庫的運行和維護 數據庫的轉儲和恢復。 數據庫的安全性完整性控制。 數據庫性能的監督和分析。 數據庫的重組織與重構造。,6.1.6 數據庫的發展,分布式數據庫 由一組數據組成,這組數據分布在計算機網絡的不同計算機上,網絡中的每個結點具有獨立處理的能力,可以執行局部應用。同時,每個結點也能通過網絡通信子系統執行全局應用。 本地數據庫管理系統。 全局數據庫管理系統。 全局數據字典。 通信管理。,6.1.6 數據庫的發展,XML數據庫 可擴展標記語言(eXtensible Markup Language)的簡稱,正在逐步成為新一代Web數據描述和數據交換的標準。 與HTML的主要區別 內容與形式的分離。 良好的可擴展性。 良好的跨平臺移植性。 良好的自描述性。,6.1.6 數據庫的發展,數據倉庫 面向主題的、集成的、時變的、非易失的數據集合,支持管理部門的決策過程。,6.1.6 數據庫的發展,數據挖掘 是從存放在數據庫、數據倉庫或其他信息庫中的大量數據中發現有用知識的過程。 主要功能 概念描述/關聯分析/分類/聚類。 孤立點分析/演變分析。,6.2 軟件工程,軟件開發的復雜性 軟件工程的基本原則 軟件開發方法 系統分析 系統設計 系統實施 系統運行與維護,應用工程化方法來開發大型軟件,以保證軟件開發的質量和效率。,6.2.1 軟件開發的復雜性,軟件危機 軟件開發成本和開發進度的估計往往很不準確。 用戶對“已完成”的軟件系統不滿意的現象經常發生。 軟件產品的質量往往不可靠。 軟件沒有適當的文檔資料。 軟件通常是不可維護的。 軟件工程 采用工程的概念、原理、技術和方法來開發和維護軟件。,6.2.1 軟件開發的復雜性,復雜性的表現 開發環境的復雜性 用戶需求的多樣性 技術手段的綜合性 計算機硬件和軟件技術。 數據通信與網絡技術。 數據采集與存儲技術。 多媒體技術。,6.2.2 軟件工程的基本原則,B. W. Boehm總結的7條基本原則 (P190) 用分階段的生命周期計劃進行嚴格的管理。 堅持進行階段評審。 實行嚴格的產品控制。 采用現代程序設計技術。 結果應能清楚地審查 。 開發小組的人員應該少而精。 承認不斷改進軟件工程實踐的必要性。,6.2.3 軟件開發方法,生命周期法(P191 要記憶) 含義:將整個軟件的開發過程分解成若干個階段,并對每個階段的目標、任務、方法作出規定,使整個軟件的開發過程具有合理的組織和科學的秩序。 生命周期的四個主要階段 系統分析/系統設計/系統實施/系統運行與維護。 遵循的原則 用戶參與的原則/先邏輯后物理的原則。 自頂向下的原則/工作成果描述標準化原則。,6.2.2 軟件開發方法,快速原型法 含義:以少量代價快速地構造一個可執行的軟件系統,使用戶和開發人員可以較快地確定需求。 需求規格原型。 漸進原型。,6.2.2 軟件開發方法,面向對象法 (P193) 含義:把數據和對數據的操作同等看待,是一種以數據為主線,把數據和對數據的操作緊密結合起來的方法。 主要特點 把對象作為融合了數據及在數據上的操作行為的統一軟件構件,用對象分解取代了結構化方法的功能分解。 把所有對象都劃分為類。每個類定義了一組數據和一組操作,類是對具有相同數據和相同操作的一組相似對象的定義。,6.2.2 軟件開發方法,面向對象法 主要特點 按照父類與子類的關系,把若干個相關類組成一個層次結構的系統。下層子類自動擁有上層父類中定義的數據和操作,這種現象稱為繼承。 對象彼此之間僅能通過發送消息互相聯系,對象的所有私有信息都被封裝在該對象內,不能從外界直接訪問,這就是封裝性。 P193 面向對象法的應用場合 (要記憶)。,6.2.4 系統分析,系統分析的任務 對組織的工作現狀和用戶需求進行調查、分析,明確用戶的信息需求和系統功能,提出擬建系統的邏輯方案。 系統分析步驟 系統初步調查 可行性研究 技術可行性/經濟可行性/運行可行性。 系統詳細調查 新系統邏輯方案的提出 系統分析說明書-全面/系統/準確/詳實/清晰。,6.2.5 系統設計,系統設計任務 從軟件的總體目標出發,根據系統分析階段對系統邏輯功能的要求,并考慮到技術、經濟、運行環境等方面的條件,確定系統的總體結構和系統各組成部分的技術方案,合理選擇計算機和通信的軟、硬件設備,提出系統的實施計劃,確保總體目標的實現。 系統設計依據 系統分析的成果/現行技術。 國家標準與行業規范/用戶需求/系統運行環境。,6.2.5 系統設計,系統設計步驟 總體結構設計(P196,要記憶) 運行模式選擇/操作系統選擇。 數據庫管理系統選擇。 網絡平臺及結構選擇。 系統功能結構設計。 詳細設計 算法設計/編碼設計。 數據庫設計/用戶界面設計。,6.2.6 系統實施,系統實施的任務 以系統分析和系統設計階段的工作成果為依據,將技術設計方案轉化成物理實現。 主要工作步驟 程序設計 系統測試 模塊測試/集成測試/驗收測試。 系統轉換 直接轉換/并行轉換/分階段轉換。,6.2.7 系統運行與維護,維護含義 在系統運行階段,為了改正錯誤或滿足新的需要而修改/完善系統的過程。 維護內容 應用程序維護/數據維護。 編碼維護/硬件設備維護。 維護類型 糾錯性維護/適應性維護。 完善性維護/預防性維護。,6.2.8 軟件工具,軟件工具定義 用來輔助軟件開發的軟件,能在軟件開發的各個階段為開發人員提供幫助,有助于提高軟件開發的質量和效率。 軟件工具種類 項目管理工具/配置管理工具/分析和設計工具。 編程工具/測試工具/維護工具。,6.2.8 軟件工具,軟件開發環境定義 在基本硬件和軟件的基礎上,為支持軟件的工程化開發而使用的軟件系統。由軟

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論