個體軟件設(shè)計PPT課件_第1頁
個體軟件設(shè)計PPT課件_第2頁
個體軟件設(shè)計PPT課件_第3頁
個體軟件設(shè)計PPT課件_第4頁
個體軟件設(shè)計PPT課件_第5頁
已閱讀5頁,還剩52頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1 個體軟件過程PersonalSoftwareProcess計算機科學(xué)與技術(shù)學(xué)院 2 PSPCourseObjectives 目標 1Introduceyoutoaprocess basedapproachtodevelopingsoftware介紹開發(fā)軟件的基于過程的方法2ShowyouhowtomeasureandanalyzeyourPersonalSoftwareProcess PSP 3Improveyoursoftwaredevelopmentskills fasterdevelopment速度更快 fewererrors i e bettersoftware 錯誤更少 morepredictable moreaccurateestimatesoftimerequiredtocompleteaproject 預(yù)見能力高4Showyouhowtousedatatoimproveyourpersonalperformance利用已有數(shù)據(jù)提高改進自己 3 WattsS Humphrey卡內(nèi)基梅隆 CarnegieMellon 大學(xué)軟件工程研究所 SEI 曾是SEI的軟件過程計劃的主任 負責開發(fā)改良軟件過程計劃方法 與軟件行業(yè)和政府的軟件工程師合作 幫助他們實現(xiàn)這些改良后的方法 在IBM工作27年 擔任過各種技術(shù)和管理方面的職務(wù)SEI和IEEE的高級會員美國計算機協(xié)會 ACM 的成員國家質(zhì)量獎評審委員會的成員 NationalQualityAwardBoardofExaminers 4 一 軟件過程 softwareprocess 軟件過程研究的是如何將人員 技術(shù)和工具等組織起來 通過有效的管理手段 提高軟件生產(chǎn)的效率 保證軟件產(chǎn)品的質(zhì)量 軟件過程改善是當前軟件管理工程的核心問題 50多年來計算事業(yè)的發(fā)展使人們認識到要高效率 高質(zhì)量和低成本地開發(fā)軟件 必須改善軟件生產(chǎn)過程 5 二 軟件過程的三個流派 1 CMU SEI的CMM PSP TSP 2 ISO9000質(zhì)量標準體系ISO9001ISO9000 3ISO9004 2ISO9004 4ISO90023 ISO IEC15504 SPICE 信息技術(shù)軟件過程評估 6 CMM CapabilityMaturityModel 能力成熟度模型 CMM本質(zhì)是軟件工程管理的一個部分 CMM是對軟件組織在定義 實現(xiàn) 度量 控制和改善其軟件過程的進程中各個發(fā)展階段的描述 CMM框架用5個不同的等級表示 CMM概述 7 初始級 第一級 是混沌的過程可重復(fù)級 第二級 是經(jīng)過訓(xùn)練 有紀律的軟件過程已定義級 第三級 是標準一致的軟件過程已管理級 第四級 是可預(yù)測的軟件過程優(yōu)化級 第五級 是能持續(xù)改進的軟件過程CMM提供的框架 用來測量一個組織的軟件過程成熟度和評價其軟件過程能力 CMM框架 8 美國1995年調(diào)查初始級70 特征 軟件開發(fā)過程不能預(yù)測 風險度高 可重復(fù)級15 特征 軟件開發(fā)過程需小心謹慎能夠避免失敗 定義級 10 特征 軟件開發(fā)過程相當穩(wěn)定 進展順利且可以預(yù)測 管理級 5 特征 軟件過程預(yù)測準確 值得信賴 優(yōu)化級 1 特征 軟件過程能夠持續(xù)改進 軟件產(chǎn)業(yè)成熟程度 9 CMM PSP TSP的關(guān)系 CMM TSP PSP 組織能力 高質(zhì)量的產(chǎn)品 個人技能 建立 建立 生產(chǎn)并交付 原則 費用和期限 技能 CMM PSP TSP組成的軟件過程框架 10 CMM改進組織能力 重點是管理TSP改進小組性能 重點是小組和產(chǎn)品PSP改進個人技能 重點是個人 11 人才需求結(jié)構(gòu)呈金字塔形塔尖的領(lǐng)軍人物是企業(yè)發(fā)展的靈魂要求各項綜合素質(zhì)較高 塔型中間是企業(yè)持續(xù)發(fā)展的中堅力量 是大批的優(yōu)秀的程序員 要求計算機技能過硬 塔型底層是企業(yè)的基礎(chǔ)支撐力量 是普通的維護管理人員 相對工作的技術(shù)含量要求不高 要求的人文素質(zhì)和管理技能較高 人才需求的層次 12 精英人才 優(yōu)秀的程序員 維護管理人員 13 企業(yè)人才需求不同 高校人才培養(yǎng)的層次和內(nèi)容也不同 如對技能的培養(yǎng) 按照企業(yè)對技術(shù)人才的需求可分為三大類 技術(shù)管理型人才研究開發(fā)型人才工程實現(xiàn)型人才 14 是帶領(lǐng)大批軟件開發(fā)人員開展工作的骨干和生產(chǎn)管理者能夠有效地組織產(chǎn)品開發(fā)和軟件工程項目 發(fā)揮技術(shù)團隊的軟件生產(chǎn)力 達到預(yù)期目標 既具備計算機領(lǐng)域的綜合知識 又有一定的管理技能和水平 1 技術(shù)管理型 15 主要從事技術(shù)基礎(chǔ)理論研究 開發(fā)新一代的技術(shù)產(chǎn)品及其軟件核心技術(shù)技術(shù)理論基礎(chǔ)扎實創(chuàng)新意識和工作能力強有某一領(lǐng)域技術(shù)的深入研究能力和經(jīng)驗 2 技術(shù)開發(fā)型 16 主要從事軟件產(chǎn)品或軟件工程項目的開發(fā)和實現(xiàn)實踐能力和動手能力強 具有獨立解決問題的能力計算機的各項應(yīng)用技術(shù)非常熟練具備溝通 合作精神 具備持續(xù)學(xué)習(xí)的能力 具備承受壓力的素質(zhì) 他們是企業(yè)的生產(chǎn)者 軟件工程的實現(xiàn)者 是企業(yè)發(fā)展的基礎(chǔ)力量 主要工作在程序員崗位上 3 工程實現(xiàn)型 17 以軟件從業(yè)人員近60萬人 其中專業(yè)人才約有34萬人 其中高級人才4萬人 中級人才20萬人 初級人才10萬人 人才結(jié)構(gòu)呈兩頭小中間大的 橄欖形 不僅缺乏高層次人才 也缺少大量從事基礎(chǔ)性開發(fā)軟件的人員 但是如果按照國際軟件的人才配比規(guī)律1 4 7計算 年我國需要高級人才6萬人 中級軟件人才28萬人 初級軟件人才46萬人 全國計算機應(yīng)用專業(yè)人才需求將增加近百萬人 與軟件人才缺口巨大相反 眾多計算機專業(yè)畢業(yè)生仍然徘徊在企業(yè)大門之外 呈現(xiàn)出IT畢業(yè)生 過剩 的怪現(xiàn)象 過剩與匱乏 18 1 運用知識能力 2 持續(xù)學(xué)習(xí)能力 3 溝通合作能力 4 踏實敬業(yè)能力 5 良好品行能力 企業(yè)人才標準 19 2000年至2009年高等學(xué)校畢業(yè)生就業(yè)人數(shù) 20 三 個體軟件過程 管理是影響軟件研發(fā)項目全局的因素 而技術(shù)只影響局部 美國國防部曾立題調(diào)查 70 的項目因為管理不善而失敗 而并不是因為技術(shù)實力不夠 21 四 軟件項目失敗的主要原因 需求定義不明確 缺乏一個好的軟件開發(fā)過程 沒有一個統(tǒng)一領(lǐng)導(dǎo)的產(chǎn)品研發(fā)小組 子合同管理不嚴格 沒有經(jīng)常注意改善軟件過程 對軟件構(gòu)架很不重視 軟件界面定義不善且缺乏合適的控制 軟件升級暴露硬件的缺點 關(guān)心創(chuàng)新而不關(guān)心費用和風險 標準太少并且不夠完善等 22 軟件項目失敗的主要原因 在商用軟件產(chǎn)業(yè)中 1995年 美國共取消810億美元的軟件項目 其中 1 31 的項目未做完就取消 2 53 的軟件項目進度通常要延長一半的時間 3 通常只有9 的軟件項目能夠及時交付并且費用也不超支 23 五 軟件項目管理的特殊性 軟件是知識產(chǎn)品 進度和質(zhì)量都難以度量 生產(chǎn)效率也難以保證 軟件系統(tǒng)的復(fù)雜程度也是超乎人們的想象 例如 宇宙飛船的軟件系統(tǒng)源程序代碼多達2000萬行 如果按過去的生產(chǎn)效率一個人一年只能寫1萬行代碼的話 那么需要2000萬人年的工作量 因為軟件如此復(fù)雜和難以度量 軟件研發(fā)項目管理發(fā)展還很不成熟 24 六 PSP能告訴我們什么 CMM提供一個軟件過程改進框架提供 應(yīng)該做什么 PSP提供應(yīng)該怎樣做 提供有關(guān)實現(xiàn)關(guān)鍵過程域所需要的具體知識和技能 時間管理 timemanagement 進度管理 managingschedules 程序缺陷 programdefects 代碼復(fù)查 codepreview 產(chǎn)品質(zhì)量 productquality 25 七 應(yīng)用PSP的好處 根據(jù)對參加培訓(xùn)的104位軟件人員的統(tǒng)計數(shù)據(jù)表明 應(yīng)用PSP軟件中總的缺陷減少58 0 測試階段發(fā)現(xiàn)的缺陷減少71 9 生產(chǎn)效率提高20 8 26 八 PSP定義 定義 是一種可用于控制 管理和改進個人工作方式的自我持續(xù)改進過程 是一個包括軟件開發(fā)表格 指南和規(guī)程的結(jié)構(gòu)化框架 27 PSP與具體的技術(shù) 程序設(shè)計語言 工具或者設(shè)計方法 相對獨立 1 說明個體軟件過程的原則 2 幫助軟件工程師作出準確的計劃 3 確定軟件工程師為改善產(chǎn)品質(zhì)量要采取的步驟 4 建立度量個體軟件過程改善的基準 5 確定過程的改變對軟件工程師能力的影響 28 PSP的定義 續(xù) CMM1 1的18個關(guān)鍵過程域中有12個與PSP有關(guān) 1 軟件項目開發(fā)成本的70 取決于軟件開發(fā)人員個人的技能 經(jīng)驗和工作習(xí)慣 2 統(tǒng)計數(shù)據(jù)表明 應(yīng)用PSP后 軟件中總的差錯減少了58 在測試階段發(fā)現(xiàn)的差錯減少71 生產(chǎn)效率提高20 29 PSP的定義 續(xù) PSP3循環(huán)開發(fā) 個體度量過程 個體規(guī)劃過程 個體質(zhì)量管理過程 PSPPROCESSEVOLUTION 個體循環(huán)過程 30 九 psp的知識域 1 個體度量過程PSP0和PSP0 1PSP0建立個體過程基線 學(xué)會使用PSP的各種表格采集過程的有關(guān)數(shù)據(jù)執(zhí)行軟件開發(fā)單位的當前過程 包括計劃 開發(fā) 包括設(shè)計 編碼 編譯和測試 以及后置處理三個階段測定軟件開發(fā)時間 按照選定的缺陷類型標準 度量引入的缺陷個數(shù)和排除的缺陷個數(shù)等 用作為測量在PSP的過程中進步的基準 31 PSP0 1增加編碼標準 程序規(guī)模度量和過程改善建議等三個關(guān)鍵過程域過程改善建議表格 隨時記錄過程中存在的問題解決問題的措施以及改進過程的方法提高軟件開發(fā)人員的質(zhì)量意識和過程意識 1 個體度量過程PSP0和PSP0 1 32 2 個體規(guī)劃過程PSP1和PSP1 1 PSP1的重點是個體計劃引入基于估計的計劃方法PROBE PROxyBasedEstimating 用歷史數(shù)據(jù)來預(yù)測新程序的大小和需要的開發(fā)時間 并使用線性回歸方法計算估計參數(shù) 確定置信區(qū)間以評價預(yù)測的可信程度 PSP1 1增加任務(wù)和進度的規(guī)劃 33 3 個體質(zhì)量管理過程PSP2和PSP2 1 PSP2重點是個體質(zhì)量管理根據(jù)程序的缺陷建立檢測表按照檢測表進行設(shè)計復(fù)查和代碼復(fù)查及早發(fā)現(xiàn)缺陷修復(fù)缺陷的代價最小隨著個人經(jīng)驗和技術(shù)的積累 還應(yīng)學(xué)會怎樣改進檢測表以適應(yīng)自己的要求 PSP2 1論述設(shè)計過程和設(shè)計模板介紹設(shè)計方法 并提供設(shè)計模板并不強調(diào)選用什么設(shè)計方法強調(diào)設(shè)計完備性準則和設(shè)計驗證技術(shù) 34 4 個體循環(huán)過程PSP3 PSP3目標將個體開發(fā)小程序所能達到的生產(chǎn)效率和生產(chǎn)質(zhì)量延伸到大型程序 方法采用螺旋式上升過程 即迭代增量式開發(fā)方法 把大型程序分解成小的模塊 對每個模塊按照PSP2 1所描述的過程進行開發(fā) 最后將模塊逐步集成為完整的軟件產(chǎn)品 應(yīng)用PSP3開發(fā)大型軟件系統(tǒng) 必須采用增量式開發(fā)方法 并要求每一個增量都具有很高的質(zhì)量 在新一輪開發(fā)循環(huán)中 可以采用回歸測試的方法 考察新增加的這個 這些 增量是否符合要求 在PSP2中進行嚴格的設(shè)計復(fù)查和代碼復(fù)查 并在PSP2 1中遵循設(shè)計結(jié)束準則 35 10 PSP的原理 軟件系統(tǒng)的質(zhì)量取決于系統(tǒng)中最差的構(gòu)建質(zhì)量構(gòu)建質(zhì)量取決于構(gòu)建的開發(fā)者governedbythatperson s Knowledge知識 Discipline紀律 Commitment承諾 36 Chapter01thesoftwareengineer sjob軟件工程師的任務(wù) 37 1 Whatissoftwareengineering 軟件工程師的任務(wù) 在預(yù)定的時間和進度下交付高質(zhì)量的軟件產(chǎn)品 進行有效的工作 從三方面開始 計劃工作按照計劃完成工作生成高質(zhì)量的產(chǎn)品 38 2 Whyisgoodengineeringimportant 軟件工程一直存在的問題Businessfailures業(yè)務(wù)失敗Contractdispute合同糾紛Badname不好的聲譽Lawsuits法律訴訟Customerinconvenience客戶投訴 39 3 PSPisthedisciplineofhigh qualityworkPSP是高質(zhì)量工作的規(guī)范 PSP提供結(jié)構(gòu)化的框架和方法來提高個人技能 例如 LOGS日志FORMS表單SCRIPTS腳本SUMMARY總結(jié) 40 4如何提高工作質(zhì)量 了解自己 跟蹤 分析自己的工作經(jīng)驗中學(xué)習(xí)提高自己在個人實踐中使用本課程中的知識 41 問題描述示例說明問題 1使用測量診斷一個問題 了解中靶和脫靶 2客觀地分析測量數(shù)據(jù) 射擊的各個步驟 3自身的改變 過程改進最重要但非常困難 Watts射擊練習(xí)提高過程 42 Goal ImproveProcess 射中靶子 了解過程 43 PSP的目標 明確質(zhì)量目標 度量產(chǎn)品質(zhì)量 度量當前過程 對過程進行調(diào)整 度量風險效果 將結(jié)果與目標進行比較 持續(xù)改進 44 Chapter02TimeManagement時間管理 45 2 1Thelogicoftimemanagement時間管理的邏輯 2 1 1原理 邏輯1Plan youwilllikelyspendyourtimethisweekmuchthewayyouspenttimelastweek Especiallyforstudent 2跟蹤時間 Surprisedbyactualdata Timerelativism 3寫成文檔與實際情況比較 做計劃是一種技能 學(xué)習(xí)制訂好的計劃 第一步是先做計劃 46 4Analyzeandadjust tomakemoreaccurateplans determinewhereyourpreviousplanswereinerrorsandwhatyoucouldhavedonebetter 分析和調(diào)整計劃 制定更準確的計劃5Tomanagetime Planyournewtimeandfollowthenewplan制定時間分配計劃并按照計劃執(zhí)行 47 2 1 2好處1了解計劃存在的錯誤 有助于更好地計劃下一個項目2按照計劃好的方式完成工作3按照計劃工作會改變個人工作方式和行為 提高效率 48 2 2了解時間使用情況 Categorizeyourmajoractivities 分類主要活動 Focusonthefewthingsthataremostimportant 3 5categoriesshouldbeenoughRecordthetimespentoneachmajoractivity 記錄每項主要活動所花費的時間 Consistentlyrecordtime堅持記錄 Recordatthestartandend記錄開始和結(jié)束Recordtimeinastandardway 用標準方法記錄時間 by timelog describedinchap3 Keepthetimedatainaconvenientplace將時間數(shù)據(jù)保存在合適的地方 Engineeringnotebook 工程記事本 49 2 3EngineeringNotebook 本課程將使用工程記事本來記錄時間的使用情況記事本用途 記錄時間花費情況 記錄作業(yè) 跟蹤所承諾的工作 作課堂筆記等 軟件專業(yè)人員 記錄時間 設(shè)計方案 還可作為遵循正確的工程實施方案的憑證 保護知識資產(chǎn) 養(yǎng)成好的學(xué)習(xí)習(xí)慣 50 2 4TheNotebookDesign Note 給記事本寫上編號 姓名地址等 記事本里面每頁的編號 留出前兩頁作為目錄 工程記事本封面 51 2 5EngineeringNotebookExample 工程記事本目錄示例 52 工程記事本頁的示例 53 2 6Summary 總結(jié) 計劃和管理時間的第一步清楚現(xiàn)在如何利用時間 要把活動分成幾個主要的類 用一種標準的方法把每項活動所花費的時間記錄下來 采用工程記事本記錄和查閱數(shù)據(jù) 54 人的時間感覺是最不可靠的 德魯克詢問一個公司的董事長 日常的時間安排 這位董事長非??隙ǖ卣f他的時間大致分布 1 3用于與公司高級管理人員研討業(yè)務(wù) 1 3用于接待重要客戶 其余1 3則用于參加各種社會活動 德魯克建議 讓他記錄下自己的時間分配情況 結(jié)果發(fā)現(xiàn)在上述三個方面 他幾乎沒有花什么時間

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論