- 1、本文档共46页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
1-1 開發過程 1-2 軟體產品 1-3 軟體工程規範 軟體開發(Software Development)是達到資訊應用的必要手段,軟體工程(Software Engineering)強調軟體開發的方法論(Methodology)[Pres01,Somm00,林97,鄭93,趙95,趙03]。要開發一個軟體,除了要充分掌控被開發的軟體產品(Software Product)外,開發過程(Development Process)也非常重要。 1-1 開發過程 開發過程,一般而言可大略包括下面最具代表性的五個步驟: (A)專案規劃步驟(Project Planning Step)、 (B)需求與規格步驟(Requirement and Specification Step)、 (C)設計與實作步驟(Design and Implementation Step)、( D)證實與驗認步驟(Verification and Validation Step)、 (E)產品演進步驟(Product Evolution Step),如圖1-1所示。 圖1-1 開發過程的五個步驟 (A) 專案規劃步驟將確定要開發軟體的總目標。這些總目標包括:界定專案範圍;決定開發過程模式;選擇軟體開發技術;估計可應用的資源;成本估算;風險管理;專案排程與追蹤;決定品質管理;選擇軟體工程的工具;擬定合約與採購;決定如何進行專案結束後檢討。 (B) 需求與規格步驟是系統分析(System Analysis)出使用者到底需要什麼,因此又常稱之為問題空間(Problem Space)。在做需求與規格時,我們只問這個軟體是什麼(What),而不問要怎麼樣做出這個軟體。 (C) 設計與實作步驟是屬於解答空間(Solution Space)。換言之,系統設計(System Design)與軟體實作(Software Implementation)是開發者設法找出一些解決方案來達成使用者的需求。和需求與規格恰巧相反,在做設計與實作時,主要是考慮要如何(How)製作出此軟體來,而不去定義這個軟體是什麼。 (D) 開發過程第四個步驟稱做證實與驗認。證實用的是證明(Proving)的技術,驗認用的是測試(Testing)的技術。軟體產品設計與實作完成後,需要經過證實與驗認才能確定產品符合當初定下的需求與規格。 (E) 開發過程第五個,也是最後一個步驟,稱做產品演進。軟體產品完成證實與驗認後就可以交由使用者去正式上線運轉了。運轉數年、數月甚至數天之後,若有必要進行下一版,或發現有些部分錯誤,有些部分需要補強,或使用者覺得有些地方要更改需求與規格,甚至大翻修,則便要因應之而進行產品演進的步驟了。 除了五個步驟的分類外,也可以將開發過程涵蓋在軟體工程的二個活動中:(A)軟工管理活動(SE Management Activity)[Gilb88,林02]、(B)軟工技術活動(SE Technology Activity)。 這二個活動和五個步驟的關係如圖1-2所示。軟工管理活動涵蓋專案規劃步驟等一個步驟,軟工技術活動涵蓋需求與規格、設計與實作、證實與驗認、產品演進等四個步驟。 圖1-2 開發過程中步驟與活動的關係 (附註:軟工管理活動涵蓋專案規劃步驟,但專案規劃步驟並不涵蓋軟工管理活動。因為軟工管理活動除了專案規劃外,尚有其它事項,本書後面章節會介紹所有的軟工管理活動。) 針對開發過程的五個步驟,過程模式可以採取瀑布模式(Waterfall Model)進行之,如圖1-3所示。在瀑布模式裡,專案規劃、需求與規格、設計與實作、證實與驗認、產品演進等五個步驟相互間呈現的是的一種循序關係。換句話說,每一個步驟必須經過確定後才能進入下一個步驟。 圖1-3 瀑布模式 瀑布模式的缺點是使用者無法在短期間看到產品,因而最後的產品可能不是使用者想要的。值是故,軟體開發的風險相對提高。 為了改善瀑布模式風險高的缺點,開發過程模式可以採取遞增模式(Incremental Model)來進行,如圖1-4所示。 圖1-4 遞增模式 若要了解圖1-4可以用:(A)水平、(B)垂直等二度空間來觀察之。水平空間說明使用者每次提供部分的需求與規格,開發者就可以進行設計與實作部分的系統,然後經過證實與驗認,就會產出部分產品。垂直空間則說明部分產品會因為使用者逐漸補強需求與規格而一再演進。 在遞增模式裡,雖然部分產品只滿足使用者部分的需求,但這些部分產品卻都可以正式上線運轉。 1-2 軟體產品 軟體是一個很奇特的產品,透過本節的探討,我們可以更進一步了解軟體的內含。 1-2-1 軟體在整體系統中的角色 在本書裡,軟體(Software)指的就是電腦軟體(Computer Software)。一般而言,軟體不可能單獨
文档评论(0)