山東大學(xué)齊魯軟件學(xué)院_第1頁
山東大學(xué)齊魯軟件學(xué)院_第2頁
山東大學(xué)齊魯軟件學(xué)院_第3頁
山東大學(xué)齊魯軟件學(xué)院_第4頁
山東大學(xué)齊魯軟件學(xué)院_第5頁
已閱讀5頁,還剩36頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、山東大學(xué)齊魯軟件 學(xué)院 1 chapter 11 chapter 11 the software the software development processdevelopment process 山東大學(xué)齊魯軟件學(xué)院2 in this chapter whats the software development process? the important of process-why we use processes? the psp process flow and scripts the software development process model (added) 山東大學(xué)

2、齊魯軟件學(xué)院3 why we use processes? a process is a defined set of steps for doing a job. each step or phase has specific entry criteria satisfied before starting each step or phase has specific exit criteria satisfied before completing process is important in se for the quality of process largely determin

3、ed the quality and productivity of engineers work. 山東大學(xué)齊魯軟件學(xué)院4 then psp help you be a more effective software engineer. help measure and improve the way you work. help you develop programs. show how using processed can improve the way you work. 山東大學(xué)齊魯軟件學(xué)院5 process: definition a series of actions, ch

4、anges, or functions bringing about a result; a series of operations performed in the making or treatment of a product; process of cooking eggs; process of learning swimming; result and process then whats the process meaning? 山東大學(xué)齊魯軟件學(xué)院6 software development process a model of what, when, who, how in

5、 software development process. the purpose of software development process is to make the software development to be repeatable, manageable, final to be improvable. so far there are so many models for software development process, and the study of the process model is still ongoing. waterfall-瀑布模型 r

6、apid prototyping-快速原型 iterative approach-統(tǒng)一軟件開發(fā)過程的迭代法 extreme programming (xp)-另外的(新一代?)軟 件工程方法模型 山東大學(xué)齊魯軟件學(xué)院7 psp process flow 山東大學(xué)齊魯軟件學(xué)院8 psp related definitions defined process: comprising scripts, forms, templates and standards. process script: a written set of steps the process users or agents f

7、ollow. forms: logs or summaries. templates and standards 山東大學(xué)齊魯軟件學(xué)院9 the process script- -planning planning: obtain the requirements for the project. complete the unshade plan portions of the project plan summary form. enter the time you took to do this planning in the time recording log. requiremen

8、t elicitation and program size estimation are the main tasks of this process. 山東大學(xué)齊魯軟件學(xué)院10 the process script- -design program design is a step by step elaborating process. design process and representation depends on the different software development process model. logical diagram-see an example i

9、n page 233. pseudo code -see an example in page 234. uml use case 山東大學(xué)齊魯軟件學(xué)院11 uml use case use case diagram query available items creater orders renew orders customer order operator 山東大學(xué)齊魯軟件學(xué)院12 elaboration of use case diagram -interactive sequential graph customer contentsproduct items repertory i

10、tems available items qurey product item queryrepertory info:= repertory items query product information available items details 山東大學(xué)齊魯軟件學(xué)院13 the process scripts- -coding implement the design by coding in the selected programming language. use a consistent coding format and follow the coding standard

11、s. see formats and standards list in table 14.9 in page 189 as a reference. 山東大學(xué)齊魯軟件學(xué)院14 the process script- -compile compile the source codes and correct all the defects found until the program compiles properly without any error messages. record the compile time in the time recording log. time spe

12、nt counting: all the time spent in this phase is counted, including time used by code correcting and design changing procedure. 山東大學(xué)齊魯軟件學(xué)院15 the process script- -test run enough test to ensure the program meets all the requirements. run a comprehensive set of test without any errors. record the time

13、 spent in this phase in the time recording log. all the time spent in this phase is counted as test time, including correcting the code, fixing the defects, changing the design and recompiling. 山東大學(xué)齊魯軟件學(xué)院16 the process script - postmortem complete all the actual entries in the project plan summary f

14、orm. finally record the time spent by this phase and calculate the total development time and other calculations. 山東大學(xué)齊魯軟件學(xué)院17 checkpoints and phase checkpoints provide precise reference points for measuring project status. the software development process further extends the checkpoints idea from a

15、 few points to all the process phases. each phase produces a specific result and hence the completion of a phase is a measurable checkpoint. 山東大學(xué)齊魯軟件學(xué)院18 the updated project plan summary form psp project plan summary student date program program # instructor language summary plan actual to date minu

16、tes/loc loc/hour defects/kloc yield a/fr program size (loc): plan actual to date total new and changed maximum size minimum size 山東大學(xué)齊魯軟件學(xué)院19 the updated project plan summary form psp project plan summary time in phase (min.) plan actual to date to date % planning design code code review compile tes

17、t postmortem total maximum time minimum time 山東大學(xué)齊魯軟件學(xué)院20 the updated project plan summary form psp project plan summary defects injected plan actual to date to date % planning design code code review compile test total defects removed plan actual to date to date % planning design code code review c

18、ompile test total 山東大學(xué)齊魯軟件學(xué)院21 a planning example minutes/loc loc/hour program size time in phase-total maximum time minimum time to date % 山東大學(xué)齊魯軟件學(xué)院22 psp project plan summary student student x date 03/19/04 program program # 9 instructor mr.liu language java summary plan actual to date minutes/lo

19、c 7.21 loc/hour 8.32 defects/kloc yield a/fr program size (loc): plan actual to date total new and changed 23 maximum size 31 minimum size 15 山東大學(xué)齊魯軟件學(xué)院23 psp project plan summary time in phase (min.) plan actual to date to date % planning 5 design 0 code 74 code review compile 25 test 52 postmortem

20、 10 total 166 maximum time 224 minimum time 108 山東大學(xué)齊魯軟件學(xué)院24 psp project plan summary student student x date 03/19/04 program program # 8 instructor mr.liu language java summary plan actual to date minutes/loc 7.82 7.21 7.21 loc/hour 7.67 8.32 8.32 defects/kloc yield a/fr program size (loc): plan ac

21、tual to date total new and changed 26 19 19 maximum size 36 minimum size 18 an example of to date calculate 山東大學(xué)齊魯軟件學(xué)院25 psp project plan summary time in phase (min.) plan actual to date to date % planning 10 4 4 2.9 design 19 0 0 0 code 118 61 61 44.6 code review compile 12 21 21 15.3 test 29 43 43

22、 31.4 postmortem 15 8 8 5.8 total 203 137 137 100.0 maximum time 282 minimum time 141 山東大學(xué)齊魯軟件學(xué)院26 psp project plan summary student student x date 03/19/04 program program # 9 instructor mr.liu language java summary plan actual to date minutes/loc 7.21 6.76 7.21 loc/hour 8.32 8.88 8.32 defects/kloc

23、yield a/fr program size (loc): plan actual to date total new and changed 23 29 48 maximum size 31 minimum size 15 山東大學(xué)齊魯軟件學(xué)院27 psp project plan summary time in phase (min.) plan actual to date to date % planning 5 11 15 4.5 design 0 12 12 3.6 code 74 85 146 43.9 code review compile 25 28 49 14.7 tes

24、t 52 49 92 27.6 postmortem 10 11 19 5.7 total 166 196 333 100.0 maximum time 224 minimum time 108 山東大學(xué)齊魯軟件學(xué)院28 軟件系統(tǒng)開發(fā)三要素軟件系統(tǒng)開發(fā)三要素 技術(shù)技能:編程技能是軟件開發(fā)的核心 ,除此之外,其他方面的技能也很重要 ,如工程實踐技能、掌握應(yīng)用領(lǐng)域知識 的技能等; 方法過程:開發(fā)所采用的方法與步驟; 團(tuán)隊合作:目前一個系統(tǒng)的開發(fā)已不是 憑一己之力可完成的,軟件開發(fā)已是一 種群體活動。 內(nèi)功內(nèi)功 套路套路 陣法陣法 山東大學(xué)齊魯軟件學(xué)院29 技術(shù)技能技術(shù)技能 計算機科學(xué)基礎(chǔ)和嚴(yán)密的邏

25、輯思維 數(shù)據(jù)結(jié)構(gòu)、離散數(shù)學(xué)、編譯原理 面向?qū)ο螅╫bject-oriented)技術(shù) 工程實踐的技能, 系統(tǒng)分析、編寫文檔、源碼控制、使用 工具等 應(yīng)用領(lǐng)域知識的掌握 工業(yè)界最需要的是對it技術(shù)和行業(yè)知識 都精通的開發(fā)人員 一個開發(fā)人員應(yīng)該從心理上作好積極的 準(zhǔn)備去學(xué)習(xí)行業(yè)應(yīng)用領(lǐng)域的知識 山東大學(xué)齊魯軟件學(xué)院30 方法過程方法過程 針對開發(fā)的隨意性,即邊寫邊改(code and fix)提出 著名的如 “瀑布式”過程 cmm:傳統(tǒng)方法的頂峰,嚴(yán)格的重型方法。 極限編程(extreme programming 或簡稱xp ) 借鑒了其他工程領(lǐng)域的方法 瀑布法-生產(chǎn)線 rup-并行工程 xp -敏

26、捷制造 山東大學(xué)齊魯軟件學(xué)院31 團(tuán)隊合作團(tuán)隊合作 軟件開發(fā)中團(tuán)隊合作尤為重要 最重要的是人際交流溝通能力。這包括 知會、傾聽、表述、討論、處理沖突等 技能。 主要是反映在討論設(shè)計方案、建立編碼 標(biāo)準(zhǔn)、相互審閱源碼以及檢討調(diào)整開發(fā) 過程等。 項目管理者需要隨時向大家通報項目進(jìn) 展情況,讓大家知道自己的工作對項目 的成功所起的作用,使每個人都有參與 感和成就感。 山東大學(xué)齊魯軟件學(xué)院32 models of software development process software product life cycle models static scripts of processes in

27、software developing,to guide the performances of the process users or agents. process should be risk driven, not documents or coding driven-barry boehm. 萌芽階段 由編碼、修改到分階段開發(fā),受傳統(tǒng)制造業(yè)的影 響 但傳統(tǒng)制造業(yè)非常流行的過程模型在軟件產(chǎn)品開 發(fā)時不適合軟件產(chǎn)品的可變性 現(xiàn)代制造業(yè)面臨的挑戰(zhàn)及對策-參數(shù)化、變量化 、敏捷化 山東大學(xué)齊魯軟件學(xué)院33 waterfall 需求 設(shè)計 編碼和單 元測試 系統(tǒng) 集成 運行和 維護(hù) 最終期限

28、 70年代提出 一度奉為經(jīng)典 嚴(yán)格按邏輯步驟執(zhí)行 嚴(yán)格而詳細(xì)的文檔 需求變更被“凍結(jié)” 前提條件是系統(tǒng)需求必須前提條件是系統(tǒng)需求必須 是明確的,一經(jīng)完成就應(yīng)是明確的,一經(jīng)完成就應(yīng) 該不變了。而在現(xiàn)實世界該不變了。而在現(xiàn)實世界 中,特別是在商用系統(tǒng)開中,特別是在商用系統(tǒng)開 發(fā)中,需求通常是模糊的發(fā)中,需求通常是模糊的 山東大學(xué)齊魯軟件學(xué)院34 rapid prototyping 山東大學(xué)齊魯軟件學(xué)院35 iterative approach in rup 山東大學(xué)齊魯軟件學(xué)院36 rup 山東大學(xué)齊魯軟件學(xué)院37 rup 一個迭代是一個完整的開發(fā)循環(huán),產(chǎn)生一 個可執(zhí)行的產(chǎn)品版本,是最終產(chǎn)品的一個 子集,它增量式地發(fā)展,從一個迭代過程 到另一個迭代過程到成為最終的系統(tǒng)。 與瀑布模型相比較,迭代過程具有以下優(yōu) 點: 降低開支風(fēng)險

溫馨提示

  • 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

提交評論