1軟件開發(fā)過程_第1頁
1軟件開發(fā)過程_第2頁
1軟件開發(fā)過程_第3頁
1軟件開發(fā)過程_第4頁
1軟件開發(fā)過程_第5頁
已閱讀5頁,還剩77頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、軟件開發(fā)過程四川華迪信息技術(shù)有限公司四川華迪信息技術(shù)有限公司version1.0version1.02021-11-13hwadee2overview 課程介紹 需求分析 分析設(shè)計 實(shí)施 部署課程介紹課程介紹2021-11-13hwadee4關(guān)于本次課程o 課程目標(biāo)o 預(yù)備知識o 目標(biāo)聽眾o 日程表o 詞匯表2021-11-13hwadee5課程目標(biāo)o了解軟件開發(fā)活動的流程o了解軟件開發(fā)活動的規(guī)范要求2021-11-13hwadee6目標(biāo)聽眾o 項目組成員2021-11-13hwadee7預(yù)備知識o 了解軟件工程知識2021-11-13hwadee8日程表o 總課時:130分鐘o 授課大綱:0

2、:20介紹常用的軟件開發(fā)模式0:20需求分析0:20分析設(shè)計0:30實(shí)施0:20測試0:20部署共計: 130分鐘2021-11-13hwadee9ocmm:能力成熟度模型(capability maturity model) osqa:軟件質(zhì)量保證(software quality assurance)詞匯表2021-11-13hwadee10什么是軟件開發(fā)過程o 用以開發(fā)和維護(hù)軟件及其相關(guān)產(chǎn)品(如,項目計劃、設(shè)計文檔、代碼、測試用例、用戶手冊等等)的一組活動、方法、實(shí)踐和變換2021-11-13hwadee112021-11-13hwadee12常用的軟件開發(fā)過程 瀑布式開發(fā) 迭代式開發(fā)

3、增量式開發(fā) 演化式開發(fā) 原型式開發(fā)2021-11-13hwadee13瀑布式開發(fā)模型立項立項需求分析需求分析分析設(shè)計分析設(shè)計編碼、測試編碼、測試結(jié)項結(jié)項o生存周期表現(xiàn)為線形的一組開發(fā)活動。o開發(fā)階段有明確的輸入和輸出,一個階段的輸出是下一個階段的輸入。o從一個階段進(jìn)入到下一個階段,需要滿足特定的條件。 2021-11-13hwadee14迭代式開發(fā)模型先啟階段先啟階段精化階段精化階段構(gòu)件階段構(gòu)件階段產(chǎn)品化階段產(chǎn)品化階段 迭代開發(fā)模型將開發(fā)過程分成多個為期數(shù)周的迭代,而每個迭代包括了迭代計劃、需求分析、系統(tǒng)設(shè)計、編程、測試及評估,而每個迭代完成時都會產(chǎn)生一個可運(yùn)行的版本2021-11-13hwa

4、dee15選擇生命周期模型o 沒有適合所有人的 “帽子”o 生命周期選擇應(yīng)考慮:需求架構(gòu)系統(tǒng)演進(jìn)風(fēng)險管理費(fèi)用中途變更用戶對系統(tǒng)進(jìn)展的可視情況管理者對系統(tǒng)進(jìn)展的可視情況管理與開發(fā)經(jīng)驗(yàn)2021-11-13hwadee16選擇生命周期模型2021-11-13hwadee17軟件開發(fā)角色劃分o 項目經(jīng)理o 設(shè)計人員o 編碼人員o 測試人員o 配置人員o sqao .需求分析2021-11-13hwadee19需求的重要性o 開發(fā)軟件系統(tǒng)最為困難的部分就是準(zhǔn)確說明開發(fā)什么。最為困難的概念性工作就是編寫出詳細(xì)技術(shù)需求,這包括所有面向用戶、面向機(jī)器和其它軟件系統(tǒng)的接口。同時這也是一旦做錯,將最終會給系統(tǒng)帶來

5、極大損害的部分,并且以后再對它進(jìn)行修改也極為困難。2021-11-13hwadee20需求問題 軟件開發(fā)中的問題1. 客戶表面上同意需求,但完成的產(chǎn)品并不能滿足需求2. 需求總是變化,無法穩(wěn)定3. 需求太多,無法在給定的時間完成4. 設(shè)計人員抱怨測試人員沒有拿最新的需求版本來設(shè)計測試5. 項目經(jīng)理發(fā)覺開發(fā)人員獨(dú)自增加了新的功能,新的功能用了很長的時間進(jìn)行開發(fā),但客戶認(rèn)為價值不大6. 客戶總是不想對項目進(jìn)行驗(yàn)收,他們擔(dān)心系統(tǒng)無法最終滿足需要2021-11-13hwadee21需求活動的目的 定義系統(tǒng)的邊界和功能、非功能需求,以便涉眾(客戶、最終用戶)和項目組對所開發(fā)的內(nèi)容達(dá)成一致。 使項目組能夠

6、更好的理解需求,并達(dá)成一致。 建立軟件需求基線供軟件工程和管理使用。 軟件計劃、產(chǎn)品和活動同軟件需求保持一致。 為其它軟件工程活動提供基礎(chǔ)(如管理活動、測試活動)。2021-11-13hwadee22需求分析流程制定需求管理計劃1提取業(yè)務(wù)需求2需求開發(fā)3需求批準(zhǔn)4基線化需求5需求變更控制6需求狀態(tài)評審7制定需求管理計劃提取業(yè)務(wù)需求需求開發(fā)需求批準(zhǔn)基線化需求需求變更控制需求狀態(tài)評審2021-11-13hwadee23制定需求管理計劃o 定義角色和職責(zé) o 建立跟蹤機(jī)制 o 選擇需求屬性 o 定義需求管理機(jī)制 o 編寫需求管理計劃制定需求管理計劃1提取業(yè)務(wù)需求2需求開發(fā)3需求批準(zhǔn)4基線化需求5需求

7、變更控制6需求狀態(tài)評審7制定需求管理計劃編寫用于需求管理活動的計劃。項目經(jīng)理2021-11-13hwadee24提取業(yè)務(wù)需求o 收集用戶初始需求(業(yè)務(wù)需求)o 標(biāo)識需求項制定需求管理計劃1獲取業(yè)務(wù)需求2需求開發(fā)3需求批準(zhǔn)4基線化需求5需求變更控制6需求狀態(tài)評審7提取業(yè)務(wù)需求到用戶方進(jìn)行需求調(diào)查,以獲得項目的初始需求。項目組成員2021-11-13hwadee25需求開發(fā)對客戶的需要進(jìn)行分析,并用清晰合理的方式進(jìn)行描述,使客戶方和開發(fā)方對開發(fā)的內(nèi)容達(dá)成一致。需求開發(fā)制定需求管理計劃1提取業(yè)務(wù)需求2需求開發(fā)3需求批準(zhǔn)4基線化需求5需求變更控制6需求狀態(tài)評審7需求開發(fā)項目成員2021-11-13hw

8、adee26確認(rèn)需求正式作為項目管理和其它工程活動的基礎(chǔ),并作為客戶之間承諾對系統(tǒng)進(jìn)行驗(yàn)收的基準(zhǔn)。需求批準(zhǔn)制定需求管理計劃1提取業(yè)務(wù)需求2需求開發(fā)3需求批準(zhǔn)4基線化需求5需求變更控制6需求狀態(tài)評審7需求批準(zhǔn)客戶、高級管理者o 需求批準(zhǔn)是一種正式的管理過程,代表相關(guān)各方達(dá)成一致的承諾o 經(jīng)過需求評審的需求工件作為批準(zhǔn)的內(nèi)容2021-11-13hwadee27此活動的目的是在經(jīng)過客戶和項目組的授權(quán)下,將批準(zhǔn)的正式的軟件需求工件放入配置管理系統(tǒng)?;€化需求制定需求管理計劃1提取業(yè)務(wù)需求2需求開發(fā)3需求批準(zhǔn)4基線化需求5需求變更控制6需求狀態(tài)評審7基線化需求配置經(jīng)理 o 基線化正式的需求工件正式的軟件

9、需求工件、需求跟蹤工件進(jìn)入配置庫,作為其它相關(guān)活動(管理、設(shè)計、測試等)的基礎(chǔ)。2021-11-13hwadee28需求變更控制制定需求管理計劃1提取業(yè)務(wù)需求2需求開發(fā)3需求批準(zhǔn)4基線化需求5需求變更控制6需求狀態(tài)評審7需求變更控制配置經(jīng)理 o 需求一旦建立基線后,需要通過控制流程來改變o 需求的變更需要經(jīng)過雙方的批準(zhǔn)o 變更后的需求需要經(jīng)過客戶、用戶和相關(guān)組的評審進(jìn)入配置管理庫,作為工作基線2021-11-13hwadee29需求評審制定需求管理計劃1提取業(yè)務(wù)需求2需求開發(fā)3需求批準(zhǔn)4基線化需求5需求變更控制6需求狀態(tài)評審7需求狀態(tài)評審o 舉行評審會議舉行評審會議 舉行需求規(guī)格說明書評審會議

10、,需求評審人員高級管理者和項目經(jīng)理通過需求狀態(tài)評審監(jiān)控需求管理的狀態(tài)。項目組通過需求狀態(tài)評審對需求狀況達(dá)成一致分析設(shè)計2021-11-13hwadee31分析設(shè)計o目的軟件分析設(shè)計活動是建立系統(tǒng)的構(gòu)架,將系統(tǒng)的軟件需求分配給軟件結(jié)構(gòu),使設(shè)計適應(yīng)具體的實(shí)施環(huán)境。 2021-11-13hwadee32分析設(shè)計活動流程軟件詳細(xì)設(shè)計軟件構(gòu)架設(shè)計軟件構(gòu)架設(shè)計評審軟件詳細(xì)設(shè)計評審基線化構(gòu)架基線化詳細(xì)設(shè)計軟件需求工件軟件開發(fā)計劃軟件構(gòu)架設(shè)計工件軟件詳細(xì)設(shè)計工件2021-11-13hwadee33分析設(shè)計o角色構(gòu)架設(shè)計師 設(shè)計員 配置管理員 構(gòu)架評審人員 詳細(xì)設(shè)計評審人員 2021-11-13hwadee34

11、分析設(shè)計o進(jìn)入準(zhǔn)則需求已經(jīng)基線化 軟件開發(fā)計劃已指派了分析設(shè)計活動 2021-11-13hwadee35分析設(shè)計o輸入軟件需求工件軟件開發(fā)計劃2021-11-13hwadee36分析設(shè)計活動介紹o構(gòu)架設(shè)計 建立軟件系統(tǒng)的構(gòu)架,將系統(tǒng)的軟件需求分配給軟件結(jié)構(gòu)2021-11-13hwadee37分析設(shè)計活動介紹o構(gòu)架設(shè)計評審 檢查軟件系統(tǒng)構(gòu)架設(shè)計是否合理 ,包括如下幾點(diǎn):發(fā)現(xiàn)和修復(fù)缺陷 一致性確認(rèn) 2021-11-13hwadee38分析設(shè)計活動介紹o基線化構(gòu)架設(shè)計 將評審?fù)ㄟ^的軟件構(gòu)架設(shè)計工件置于配置管理 ,作為詳細(xì)設(shè)計的基礎(chǔ) 2021-11-13hwadee39分析設(shè)計活動介紹o軟件詳細(xì)設(shè)計

12、根據(jù)需求工件、構(gòu)架設(shè)計工件,進(jìn)一步精確描述軟件系統(tǒng),并使之適于具體的實(shí)施環(huán)境 2021-11-13hwadee40分析設(shè)計活動介紹o詳細(xì)設(shè)計評審 檢查軟件系統(tǒng)詳細(xì)設(shè)計是否合理 ,包括如下幾點(diǎn):發(fā)現(xiàn)和修復(fù)缺陷 一致性確認(rèn) 2021-11-13hwadee41分析設(shè)計活動介紹o基線化詳細(xì)設(shè)計 將評審?fù)ㄟ^的軟件詳細(xì)設(shè)計工件置于配置管理,作為實(shí)施活動的基礎(chǔ) 2021-11-13hwadee42分析設(shè)計活動介紹o輸出軟件構(gòu)架設(shè)計工件: 概要設(shè)計說明書、數(shù)據(jù)庫設(shè)計說明書 等軟件詳細(xì)設(shè)計工件 : 詳細(xì)設(shè)計說明書評審記錄 實(shí) 施2021-11-13hwadee44q目的:單元編碼、單元測試、缺陷修復(fù)以及系統(tǒng)集

13、成等工作 q主要任務(wù):制定集成計劃單元編碼、測試/評審集成系統(tǒng)基線化目的2021-11-13hwadee45編碼的任務(wù)o 編碼階段的任務(wù)就是將詳細(xì)設(shè)計翻譯成計算機(jī)最終可運(yùn)行的軟件單元、集成工作版本。 軟件構(gòu)架詳細(xì)設(shè)計工作版本軟件開發(fā)計劃編碼2021-11-13hwadee46編碼的任務(wù)o 編碼工作對一個程序員來說是司空見慣的事,然而,如何編寫出高質(zhì)量的程序,還是有很多值得討論的問題。如何選擇程序設(shè)計語言?如何評價程序的質(zhì)量?程序設(shè)計的風(fēng)格等等。2021-11-13hwadee47詞匯表 o 代碼評審代碼評審(code review)代碼評審是檢查源代碼與編碼標(biāo)準(zhǔn)的符合性以及程序邏輯的正確性的活

14、動,目的是發(fā)現(xiàn)缺陷或者是提出改進(jìn)措施。o 系統(tǒng)集成系統(tǒng)集成(system integration)系統(tǒng)集成指的是將單獨(dú)的軟件單元合并成一個整體的軟件開發(fā)活動。集成活動可以分級、分階段進(jìn)行。o 工作版本工作版本(build)工作版本既可以是軟件系統(tǒng)的可操作版本,也可以是具有最終產(chǎn)品部分功能的軟件系統(tǒng)組成部分。o 程序單元程序單元(unit)程序單元是項目定義的軟件最小可測試單元。 2021-11-13hwadee48軟件實(shí)施活動流程圖 2021-11-13hwadee49角色 o 編碼員編碼員 編碼員負(fù)責(zé)編碼、修復(fù)代碼缺陷; o 集成員集成員 負(fù)責(zé)制定集成計劃、集成程序單元,創(chuàng)建工作版本基線;o

15、 測試員測試員 負(fù)責(zé)執(zhí)行測試活動; o 集成計劃評審人員集成計劃評審人員 參與集成計劃的評審,一般由設(shè)計員、測試、配置經(jīng)理、編碼員、構(gòu)架設(shè)計師等組成; o 代碼評審員代碼評審員 評審源代碼,一般由編碼員(非代碼作者)組成 ;2021-11-13hwadee50進(jìn)入準(zhǔn)則 o 詳細(xì)設(shè)計工件已經(jīng)被基線化o 構(gòu)架工件已經(jīng)被基線化 2021-11-13hwadee51輸入 o 軟件構(gòu)架設(shè)計工件 構(gòu)架設(shè)計文檔主要描述 備選設(shè)計方案、軟件子系統(tǒng)劃分、子系統(tǒng)間接口和錯誤處理機(jī)制等; o 軟件詳細(xì)設(shè)計工件 詳細(xì)設(shè)計文檔主要描述將構(gòu)架設(shè)計轉(zhuǎn)化為最小實(shí)施單元,產(chǎn)生可以編碼實(shí)現(xiàn)的設(shè)計; 2021-11-13hwade

16、e52活動o 制定系統(tǒng)集成計劃 o 評審集成計劃 o 單元編碼及缺陷修復(fù)o 代碼評審o 執(zhí)行單元測試o 集成程序單元o 執(zhí)行集成測試o 執(zhí)行系統(tǒng)測試o 創(chuàng)建最終工作版本基線2021-11-13hwadee53制定系統(tǒng)集成計劃 o 角色角色 集成員 o 活動描述活動描述 確定系統(tǒng)要實(shí)施的部分,以及實(shí)施它們的先后順序。 確定集成的工作版本:確定集成的工作版本:根據(jù)開發(fā)計劃的工作內(nèi)容,將它們劃分成不同的工作版本。 確定集成的策略:確定集成的策略:定義系統(tǒng)集成的方式??梢愿鶕?jù)系統(tǒng)自身的特點(diǎn),選擇合適的集成策略,以及確定實(shí)施測試所需的驅(qū)動和樁模塊。 2021-11-13hwadee54評審集成計劃 o

17、角色角色 集成計劃評審人員 o 活動描述活動描述 發(fā)現(xiàn)缺陷,跟蹤并修復(fù)缺陷。 發(fā)現(xiàn)和修復(fù)缺陷:發(fā)現(xiàn)和修復(fù)缺陷:根據(jù)評審規(guī)范,評審集成計劃工件。2021-11-13hwadee55單元編碼及缺陷修復(fù) o 角色角色 編碼員 o 活動描述活動描述 生產(chǎn)出同設(shè)計一致的源代碼。 編寫代碼:編寫代碼:按照分配的任務(wù)項,編寫新單元的代碼,保證源代碼只是設(shè)計的代碼實(shí)現(xiàn),并且源代碼可以成功編譯。 缺陷修復(fù):缺陷修復(fù):按照分配的任務(wù)項,修復(fù)已有代碼中經(jīng)過測試或代碼評審發(fā)現(xiàn)的缺陷,并保證源代碼可以成功編譯。 2021-11-13hwadee56代碼評審 o 角色角色 代碼評審員 o 活動描述活動描述 通過閱讀他人的

18、代碼,檢查代碼中的缺陷。 檢查編寫缺陷檢查編寫缺陷:依照編碼標(biāo)準(zhǔn)檢查代碼是否符合標(biāo)準(zhǔn)。檢查邏輯缺陷檢查邏輯缺陷:根據(jù)設(shè)計工件檢查代碼是否正確反映且僅反映設(shè)計的內(nèi)容。2021-11-13hwadee57執(zhí)行單元測試 o角色角色 測試員 o活動描述活動描述 測試員執(zhí)行單元測試的目的是驗(yàn)證單元的內(nèi)部結(jié)構(gòu)以及單元實(shí)現(xiàn)的功能。 執(zhí)行單元測試:執(zhí)行單元測試:按照測試過程手工執(zhí)行單元測試或運(yùn)行測試腳本自動執(zhí)行單元測試。 記錄單元測試結(jié)果:記錄單元測試結(jié)果:將單元測試結(jié)果作詳細(xì)記錄,并將測試結(jié)果提交給相關(guān)組。 回歸測試:回歸測試:對修改后的單元執(zhí)行回歸測試 2021-11-13hwadee58集成程序單元 o

19、 角色角色 集成員 o 活動描述活動描述 提供一個可以測試的集成工作版本。 生成集成工作版本生成集成工作版本:按照集成計劃集成并編譯已經(jīng)通過單元測試的程序單元。判斷集成結(jié)束判斷集成結(jié)束:根據(jù)集成計劃判斷集成是否結(jié)束。 2021-11-13hwadee59創(chuàng)建最終工作版本基線 o 角色角色 集成員 o 活動描述活動描述 建立一個完整的基線化的軟件工作版本。配置最終工作版本基線:配置最終工作版本基線:創(chuàng)建最終工作版本基線。2021-11-13hwadee60輸出 o 軟件程序單元 包括了所有編碼員完成的程序單元源代碼; o 工作版本 按照集成計劃創(chuàng)建的各個集成工作版本; o 集成計劃軟件工作版本的

20、定義、工作版本的內(nèi)容、集成的策略以及實(shí)施的先后順序等; o 評審記錄 記錄評審內(nèi)容、評審結(jié)果、評審意見、參與人員等; 2021-11-13hwadee61退出準(zhǔn)則 o 最終工作版本被基線化 2021-11-13hwadee62編碼標(biāo)準(zhǔn)o 編制易于修改和維護(hù)的代碼;o 編制易于測試的代碼;o 必須將編程與編文檔的工作統(tǒng)一起來;o 編程中采用統(tǒng)一的標(biāo)準(zhǔn)和約定,降低程序復(fù)雜性;o 限定每一層的副作用,減少耦合度;o 盡可能地重用。2021-11-13hwadee63編程風(fēng)格概述o 編程風(fēng)格是在不影響性能的前提下,有效地編排和組織程序,以提高可讀性和可維護(hù)性。o 從軟件工程的角度來說,程序的質(zhì)量主要取

21、決于設(shè)計的質(zhì)量,而編程風(fēng)格在很大的程度上影響著程序的可讀性、可測試性和可維護(hù)性;o 軟件開發(fā)的很大部分的成本消耗在編碼、測試和維護(hù)階段,因此,努力追求軟件的可讀性、可測試性和可維護(hù)性極其重要。2021-11-13hwadee64編程風(fēng)格(一)o 節(jié)儉化(economy) 提供盡可能簡潔的代碼。o 模塊化(modularity) 把代碼劃分為內(nèi)聚度高、富有意義的功能塊。通常是把常且復(fù)雜的程序段或子程序分解為小且定義良好的程序段。o 簡單化(simplicity) 去掉過分復(fù)雜和不必要的矯揉造作。2021-11-13hwadee65編程風(fēng)格(二)o 結(jié)構(gòu)化(structure) 把程序的各個構(gòu)件組

22、織成一個有效的系統(tǒng)。o 文檔化(documentation) 程序能夠自說明。o 格式化(layout) 盡量使程序布局合理、清晰、明了。測 試2021-11-13hwadee67測試 軟件測試是為了發(fā)現(xiàn)錯誤而執(zhí)行程序的過程 軟件測試是根據(jù)程序開發(fā)階段的規(guī)格說明及程序內(nèi)部結(jié)構(gòu)而精心設(shè)計的一批測試用例(輸入數(shù)據(jù)及其預(yù)期結(jié)果的集合),并利用這些測試用例去運(yùn)行程序,以發(fā)現(xiàn)錯誤的過程2021-11-13hwadee68測試流程制訂測試計劃設(shè)計測試執(zhí)行單元測試執(zhí)行集成測試執(zhí)行系統(tǒng)測試評估測試制訂測試計劃制訂測試計劃設(shè)計測試設(shè)計測試執(zhí)行單元測試執(zhí)行單元測試執(zhí)行集成測試執(zhí)行集成測試執(zhí)行系統(tǒng)測試執(zhí)行系統(tǒng)測試評估測試評估測試2021-11-13hwadee69角色和職責(zé)o 測試設(shè)計員測試設(shè)計員制定和維護(hù)測試計劃。設(shè)計測試用例及測試過程。評估測試,生成測試分析報告。 o 測試員測試員執(zhí)行集成測試和系統(tǒng)測試。記錄測試結(jié)果。 o 設(shè)計員設(shè)計員設(shè)計測試需要的驅(qū)動程序和穩(wěn)定樁。o 編碼員編碼員編寫測試驅(qū)動程序和穩(wěn)定樁。執(zhí)行單元測試。2021-11-13hwadee70測試產(chǎn)生工件階段產(chǎn)生工件制訂測試計劃測試計劃設(shè)計測試測試用例

溫馨提示

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

評論

0/150

提交評論