大音希聲、大象無形

          Java企業(yè)級應用軟件開發(fā)探討

          軟件項目開發(fā)過程模型探討——概念

          軟件項目開發(fā)過程模型

          1.???? 什么是軟件項目開發(fā)過程模型

          項目開發(fā)過程模型就是對于項目開發(fā)過程的概念建模,從而能夠實現在理論上對于軟件項目開發(fā)過程進行量化分析。

          ?

          軟件開發(fā)過程模型以 Rational Unified Process (簡稱 RUP )為代表,如下圖

          http://www.blueprint-group.com/blueprintbuzz/images/rup_main3.JPG


          1 Rational Unified Process

          但是也并不是只有 RUP 一種,比如 Agile Unified Process ( 簡稱 AUP)


          2 Agile Unified Process

          ?

          總體來說, RUP 是最細化的項目開發(fā)過程模型,不管你采用什么樣的開發(fā)方式,整個開發(fā)過程的每一個過程你都是無法逃掉的(我們后面會討論這個),因為這代表了整個軟件開發(fā)實踐的客觀規(guī)律,只是在定義上有所不同,側重點上有所不同,對于迭代的看法有所不同罷了。

          2.???? 為什么要關注軟件項目開發(fā)過程模型

          如同它的概念所示,軟件項目開發(fā)過程就是對軟件項目開發(fā)過程的概念建模,從而能夠實現在理論上對于軟件項目開發(fā)過程進行量化分析。

          ?

          那么,這種量化的分析到底有能有什么好處呢?

          ?

          我們在引子里說過:任何的軟件項目都有它存在的目的,都是為了解決一些現實中的問題。可以把這個成為這個項目的目的,可以把需要解決的問題的需求稱作這個項目的需求。

          ?

          而對于商用(尤其是企業(yè)級應用)軟件項目開發(fā)而言,最基本也是最重要的目的就是以最小的成本在項目交付的期限內,提供穩(wěn)定的、可靠的軟件,用以解決用戶提交的所需要解決的問題,并且如有可能,必須為現實生活中問題的變更引起的用戶需要解決的問題的變更從而要求的軟件功能的變更做好準備。

          ?

          l???????? 為了能夠把客戶的問題描述清楚,必須進行業(yè)務建模和需求收集;

          l???????? 為了能夠把收集完的問題需求轉變成為可以信息化解決的問題并且解決,必須對其進行軟件化設計并進行實現;

          l???????? 為了保證軟件產品的質量,必須進行足夠多的測試(看看硬件廠商是怎么測試的?);

          l???????? 為了能夠讓軟件產品正常運轉,必須進行軟件的部署;

          l???????? 而在軟件開發(fā)的過程當中,對于項目的管理、代碼的管理、還有資源的管理,在哪一個軟件項目開發(fā)中能缺少?

          ?

          綜上,對這些過程的建模和定量的分析,并且確定在整個開發(fā)過程中各個階段所占的份額和所擁有的重要性,對于保證項目(尤其是大項目)的平穩(wěn)開發(fā)和增強項目開發(fā)管理有著重要的作用。

          ?

          并且,確定了項目開發(fā)過程模型,對于確定項目管理方式和提供技術、工具支持有著非常重要的作用。

          3.???? 接下來要討論的

          既然我們已經有了一個明確的定義,并且能夠把它分解成為幾個部分(當然,我們將會看到,這些部分本身也是十分復雜的)。那么,看上去下一步,我們的任務就是一步一步的分析每一個部分。

          ?

          但是,且慢,這些部分有些是沒法討論的(比如業(yè)務建模,它與用戶的域專家有關,或者跟一些國家、國際標準有關,跟計算機軟件開發(fā)沒太多的關系——除非是 IDE 之類的),有些是仁者見仁、智者見智的部分(比如設計和實現),有一些可以不必花太多口舌去討論(比如軟件項目的部署和資源管理),這一點 AUP 給我們開了個好頭,我們現在需要討論的就是:

          l???????? 需求分析

          l???????? 測試

          l???????? 配置管理

          l???????? 項目管理

          ?

          但就是這么幾個,就足夠我們討論的。事實上,如果能夠對這些問題都全面的分析并且提出自己的見解和解決方案的話,分量足夠一個博士論文(起碼重量上差不多),也許那樣我可以出本書,呵呵,玩笑。

          ?

          我只能盡力的往下分析,但是,我更希望的是大家能夠有所反饋。因為,在軟件設計中很多問題都是隱藏的(像地雷一樣),直到你踩上它為止,你都不會發(fā)現它。

          ?

          我很希望能夠有反饋使我避免低級的錯誤。

          posted on 2006-06-01 18:28 guitarpoet 閱讀(1705) 評論(0)  編輯  收藏 所屬分類: 軟件工程

          My Links

          Blog Stats

          News

          常用鏈接

          留言簿(1)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          Friends

          IT

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 舞阳县| 丹寨县| 雷山县| 菏泽市| 桐梓县| 新龙县| 永州市| 靖州| 阿巴嘎旗| 岳普湖县| 来安县| 枞阳县| 方城县| 郸城县| 布拖县| 瑞昌市| 忻州市| 锡林郭勒盟| 全州县| 陈巴尔虎旗| 海林市| 睢宁县| 宁陕县| 仙桃市| 乌恰县| 永胜县| 临安市| 宜君县| 佳木斯市| 会理县| 丰镇市| 望城县| 疏勒县| 沈阳市| 河池市| 南部县| 云龙县| 阿克陶县| 通河县| 沈阳市| 岳普湖县|