【文档说明】计算机概论第二版课件.ppt,共(24)页,550.529 KB,由小橙橙上传
转载请保留链接:https://www.ichengzhen.cn/view-77369.html
以下为本文档部分文字说明:
计算机概论第二版课件10.1軟體生命週期軟體工程(softwareengineering)的基本觀念就是軟體生命週期(softwarelifecycle)。圖10.1軟體生命週期軟體生命週期中的開發過程包含了四個階段:分
析、設計、實作與測試。應用於開發步驟的模型有:瀑布模型與遞增模型。瀑布模型(waterfallmodel):除非前一個階段完成,否則下一個階段就無法開始。遞增模型(incrementalmodel):
開發團隊首先完成整個系統的簡單版本,除非現有系統已能正常運作,否則開發團隊就不會新增更多的功能。這樣的過程會持續到所需的功能都被加入為止。圖10.2瀑布模型圖10.3瀑布模型10.2分析階段程序導向分析倘若實作階段採用程序式語言,那麼分析過程
就會使用程序導向分析(procedure-orientedanalysis),有數種建模工具可供使用。資料流程圖(dataflowdiagrams):用以顯示系統中資料的流動狀況。實體-關係圖(entity-relationshipdia
gram):此圖被應用於資料庫設計中。狀態流程圖(statediagrams):使用於系統實體因某事件發生而改變其狀態流程。圖10.4資料流程圖範例圖10.5狀態流程圖範例物件導向分析若實作階段採用物件導向式語言,那麼分析過程就會使
用物件導向分析(object-orientedanalysis)。使用案例圖(use-casediagram):提供系統使用者的觀點,顯示出使用者如何與系統連繫。分析階段的下一步就是為系統產生類別圖式(classdiagram)狀態圖(statechart):扮演著與程序導向分析中的狀態流程圖
相同的角色。圖10.6使用案例圖範例圖10.7類別圖式範例10.3設計階段設計階段(designphase)中,系統的所有組成單元都會被定義出來。程序導向式設計在程序導向式設計(procedure-orienteddesign)中,我們需要設計程序與資料。結構圖表(structu
rechart):程序導向設計常用來列舉模組間關聯的工具。模組化(modularity):意指將一個大的專案分割成許多易懂易於使用的小部分。當系統被分割成模組時,有兩點必須要注意:耦合與凝聚。圖10.8結構圖表耦合(coupling)是用來
度量兩個模組間的緊密程度,愈緊密的耦合,彼此間就愈不獨立。凝聚(cohesion)是度量一個系統中各個模組間的關聯性有多接近。在軟體系統中,我們希望模組間的凝聚愈大愈好。物件導向設計在物件導向設計(object-orienteddesign)中,設計階段接著細製作類別的細節。圖10.9類別
的屬性與方法範例10.4實作階段瀑布模型中,於設計階段完成後,實作階段(implementationphase)就會接著開始。語言的選擇軟體品質軟體品質(softwarequality)被分成三個評估基準:可執行性可維護性與可移動
性。圖10.10品質因子10.5測試階段測試階段(testingphase)的目標就是找出錯誤。玻璃箱測試玻璃箱測試〔glass-boxtesting;或白箱測試(white-boxtesting)〕植基於軟體內部結構已知。測試的目標就是檢查軟體
所有組成元件,是否符合所設計的要求。基本路徑測試與控制結構測試是其中兩種測試方法。基本路徑測試(basispathtesting):會產生一組測試數據,以讓軟體的每個敘述最少執行一次。圖10.11軟體測試範例10.1為顯示基本路徑測試概念與找出程式中的獨立路徑,假設系統
是由單一程式組成,且此程式僅有單一迴圈,以UML畫於圖10.12。圖10.12基本路徑測試範例控制結構測試(controlstructuretesting)所包含的測試較基本路徑測試要廣泛,此法使用數種不同的測試種類。條件測試資料流程測試迴圈測試黑箱測試黑箱測試(blackboxt
esting)命名的由來是因為所測試的軟體內容未知,也不知道它是如何運作的。徹底測試隨機測試邊界值測試10.6文件為能正確的使用軟體,與有效的進行軟體的維護,文件(documentation)的製作是有需要的。軟體的文件可
分為三個部分:使用者文件、系統文件與技術文件。使用者文件使用者需要文件以正確的執行軟體,傳統稱之為使用手冊。系統文件系統文件(systemdocumentation)定義軟體本身,它被撰寫成可以讓非原始開發者用以維護、修改此軟體。技術文件技術
文件描述軟體系統的安裝與服務。文件的製作與更新是一個不停歇的過程。