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

下載本文檔

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

文檔簡介

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

溫馨提示

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

評論

0/150

提交評論