• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            牽著老婆滿街逛

            嚴(yán)以律己,寬以待人. 三思而后行.
            GMail/GTalk: yanglinbo#google.com;
            MSN/Email: tx7do#yahoo.com.cn;
            QQ: 3 0 3 3 9 6 9 2 0 .

            用例驅(qū)動的需求過程實踐

            一、需求矛盾
              根據(jù)CHAO的權(quán)威統(tǒng)計,雖然自"軟件危機(jī)"提出以來,軟件工程方法得到了長足的發(fā)展與進(jìn)步,但在去年的軟件項目成功率仍然不足30%,絕大多數(shù)的軟件項目仍然超進(jìn)度、超成本。而在這些不成功的項目中,由于需求不清晰、需求不完整等方面的因素,占到了60%左右。
              下面的這幅漫畫雖然不乏夸張,但卻是能夠激起我們的深思:

              根據(jù)筆者多年來從事軟件需求捕獲、分析工作的實踐經(jīng)驗,認(rèn)為造成這一現(xiàn)象的根本原因在于客戶與開發(fā)人員之間的溝通存在障礙,雙方都以自己的角度、自己的專業(yè)術(shù)語進(jìn)行溝通,這使得大家并不能夠很好地就軟件需求達(dá)成共識。
              由于幫助客戶更好地利用信息化工具提高工作效率,是我們軟件開發(fā)團(tuán)隊的責(zé)任,因此我們沒有權(quán)利讓用戶理解我們所用的語言,而是反過來,我們有義務(wù)去理解用戶的語言,站在用戶的角度看問題。
              而事實上,許多開發(fā)團(tuán)隊經(jīng)常抱怨"我們的客戶連需求都說不清楚"、"我們的客戶對計算機(jī)了解太少了"。多年以來,大家都習(xí)慣從自己的角度來定義、分析問題,這也就造成了軟件行業(yè)成為了一個最缺乏信任的行業(yè),我們需要改一下習(xí)慣了。
            二、現(xiàn)代需求實踐
              針對這些現(xiàn)象,許多先賢們開始了實踐,并且總結(jié)出了一系列優(yōu)秀的需求實踐:
            1)Use case:用例分析技術(shù)
              鼎鼎大名的RUP是這樣總結(jié)自己的:用例驅(qū)動,以體系結(jié)構(gòu)為中心,迭代、增量的開發(fā)過程。Use case也伴隨著RUP、UML一起名揚(yáng)天下。
              用例用來描繪一個系統(tǒng)外在可見的需求情況,是代表系統(tǒng)中各個項目相關(guān)人員(風(fēng)險承擔(dān)人,Stakeholder)之間就系統(tǒng)的行為所達(dá)成的契約。
            2)User Story:用戶故事、用戶素材
              用戶故事是Kent Beck在極限編程(XP)方法論中推薦的最佳實踐之一。它由客戶參與編寫,說明他們需要系統(tǒng)為他們做什么,一般用客戶的術(shù)語寫就,三句話左右。
            3)Feature:特征
              這是特征驅(qū)動開發(fā)(FDD)方法論的核心實踐之一。一個特征就是一個小的,具有客戶價值的功能,通常表示為<action><result><object>。
              從上面的定義來看,這三種現(xiàn)代軟件工程需求實踐無一例外地遵從兩個原則:一是站在用戶的角度看待系統(tǒng)、定義系統(tǒng);二是用用戶看得懂的語言表達(dá)。而在筆者的實踐中,鑒于以下兩點(diǎn)考慮還是先在團(tuán)隊中應(yīng)用了"用例分析技術(shù)":
            1)用戶故事略顯粗糙,掌握起來需要經(jīng)驗,沒有詳細(xì)的規(guī)則用于按部就班,一開始采用容易迷失方向;而用例相對來說更加形式化,易于上手;
            2)特征看上去很有吸引力,但畢竟相關(guān)的理論還未完整,引入團(tuán)隊實踐有些困難。
            三、用例分析技術(shù)簡介
              用例分析技術(shù)是Rational三友之一Ivar Jacobson先生于1967年在愛立信公司開發(fā)AXE交換機(jī)時開始研究,并于1986年總結(jié)、發(fā)布的一項源于實踐的需求分析技術(shù)。Ivar先生在加盟Rational之后,與三友合作提出了UML、完善了RUP,用例分析技術(shù)也因此被人廣泛了解和關(guān)注。
              用例分析技術(shù)為軟件需求規(guī)格化提供了一個基本的元素,而且該元素是可驗證、可度量的。用例可以作為項目計劃、進(jìn)度控制、測試等環(huán)節(jié)的基礎(chǔ)。而且用例還可以使開發(fā)團(tuán)隊與客戶之間的交流更加順暢。
              許多人是在學(xué)習(xí)UML的時候接觸到Use case,所以許多人都誤解其為一種圖表,把用例圖當(dāng)作用例分析的全部,其實這是錯誤的,用例描述才是用例分析技術(shù)的核心。下面是一個簡單的例子:

            3.1 參與者,Actor
              參與者,定義了用戶在系統(tǒng)交互過程中扮演的角色,其可以是一個人,也可以是另一個相關(guān)的系統(tǒng)。
            3.2 用例,Use case
              用例實例(場景)是在系統(tǒng)中執(zhí)行的一系列動作,這些動作將生成特定參與者可見的價值結(jié)果,一個用例定義一組用例實例(場景)。
              一個用例應(yīng)為參與者提供(實現(xiàn))一個價值。

            3.3 事件流
              就像類對應(yīng)于對象一樣,一個用例的實例就是使用場景,用例就是對使用場景進(jìn)行抽象的總結(jié):
              1)前置條件:指在用例啟動時,參與者(Actor)與系統(tǒng)應(yīng)置于什么狀態(tài),這個狀態(tài)應(yīng)該是系統(tǒng)能夠檢測到的、可觀測的;
              2)后置條件:用例結(jié)束時,系統(tǒng)應(yīng)置于什么狀態(tài),這個狀態(tài)也應(yīng)該是系統(tǒng)能夠檢測得到的、可觀測的;
              3)基本事件流:基本事件流是對用例中常規(guī)、預(yù)期路徑的描述,也被稱為Happy day場景,這時大部分時間所遇到的場景;它將體現(xiàn)系統(tǒng)的核心價值;
              4)擴(kuò)展事件流:主要是對一些異常情況、選擇分支進(jìn)行描述。
              建議大家在編寫事件流時,注意以下幾點(diǎn):
              1)使用簡單的語法:主語明確,語義易于理解;
              2)明確寫出"誰控制球":也就是在事件流描述中,讓讀者直觀地了解是參與者在控制還是系統(tǒng)在控制;
              3)從俯視的角度來編寫:指出參與者的動作,以及系統(tǒng)的響應(yīng),也就是第三者的角度;
              4)顯示過程向前推移:也就是第一步都有前進(jìn)的感(例如,用戶按下tab鍵做為一個事件就是不合適的);
              5)顯示參與者的意圖而非動作(光有動作,讓人不容易直接從事件流中理解用例);
              6)包括"合理的活動集"(帶數(shù)據(jù)的請求、系統(tǒng)確認(rèn)、更改內(nèi)部、返回結(jié)果);
              7)用"確認(rèn)"而非"檢查是否":(如系統(tǒng)確認(rèn)用戶密碼正確,而非系統(tǒng)檢查用戶密碼是否正確);
              8)可選擇地提及時間限制;
              9)采用"用戶讓系統(tǒng)A與系統(tǒng)B交互"的習(xí)慣用語;
              10)采用"循環(huán)執(zhí)行步驟x到y(tǒng),直到條件滿足"的習(xí)慣用語。
            四、Alistair Cockburn眼中的用例分析技術(shù)
              在使用用例分析技術(shù)時,很多人都覺得如何確定用例的粒度是一個難點(diǎn),而且感覺到用例沒有什么規(guī)則遵從,甚至有無所適從的感覺。正如Cockburn先生提出的學(xué)習(xí)用例分析技術(shù)的"守、破、離"的三個階段:
              1)守:練習(xí)基本功夫,遵循規(guī)則,照章行事;
              2)破:能突破傳統(tǒng),因地制宜地靈活應(yīng)用; 3)離:超脫任何招式與規(guī)則,達(dá)到無招勝有招的境界。
              但用例分析技術(shù)卻讓第一階段的初學(xué)者感到無法很快地掌握。而其所著"編寫有效用例"則想為用例分析技術(shù)補(bǔ)充規(guī)則,讓大家能夠更好地掌握。
              Cockburn先生在Ivar Jacobson的基礎(chǔ)上,做了一些補(bǔ)充:
              1)用例是契約,是系統(tǒng)與涉眾之間達(dá)成的契約。也就是將用例朝著形式化的方向發(fā)展;
              2) 將用例分成三級:
              ◆ 概要級:包括多個用戶目標(biāo)(顯示用戶目標(biāo)運(yùn)行的語境,顯示相關(guān)目標(biāo)的生命周期、為低層用例提供一個目錄表);
              ◆ 用戶目標(biāo)級
              ◆ 子功能級
              不過,對于Cockburn先生的貢獻(xiàn),用例始祖Ivar大師并未做出任何反應(yīng)。本人在實踐中認(rèn)為,Cockburn先生的思路與理念對于初學(xué)用例分析技術(shù)的人來說,十分有價值,使得用例分析技術(shù)更具操作性,當(dāng)其同時也有點(diǎn)畫地為牢的感覺,也許Cockburn先生也意識到這點(diǎn),因此第三階段就是"離",沒有規(guī)則,按需靈活使用。
            五、如何在開發(fā)過程中應(yīng)用用例分析技術(shù)
              用例分析技術(shù)在需求過程中的地位如下圖所示:

              對于用例分析技術(shù)理解上的兩個最大的誤區(qū)是:
              1)用例分析技術(shù)包括了整個需求過程:它只是一個需求分析技術(shù),是在傳統(tǒng)的需求捕獲技術(shù)的基礎(chǔ)上使用的,并無法替代這些技術(shù);
              2)用例分析技術(shù)是分解技術(shù):其實用例分析技術(shù)是一種合成技術(shù),將在需求捕獲中收集而來的零散的特性合成為用例:

            5.1 用例分析前的工作
              在用例分析之前,應(yīng)該完成以下工作:
              1)確定涉眾(Stakeholder)和用戶類型(命名、簡要描述、涉眾代表、特征、能力);
              2)確定涉眾代表(命名、簡要描述、責(zé)任、參與);
              3)在項目中加入涉眾代表(訪談、問卷、顧問、評審、角色扮演);
              4)創(chuàng)建共同的構(gòu)想(問題定義、系統(tǒng)范圍、用戶目標(biāo)、非功能需求à前景文檔);
              5)采用傳統(tǒng)的需求捕獲技術(shù)捕獲需求;
              6)組建用例分析隊伍(少量、有問題域知識)。
            5.2 用例分析過程中的注意事項
              用例分析的過程如下圖所示:

              在使用中要注意:
              1)用例源于涉眾,請不要自己杜撰出用例;
              2)用例的事件流的編寫過程中,應(yīng)充分加入團(tuán)隊的參與;
              3)雖然用例源于涉眾,但不要企圖向他們直接問"你還有什么用例?這樣的問題

            posted on 2006-08-23 19:04 楊粼波 閱讀(720) 評論(0)  編輯 收藏 引用 所屬分類: 軟件工程

            国产成人久久精品一区二区三区 | 久久亚洲国产成人精品性色| 日日躁夜夜躁狠狠久久AV| 精品久久久久久国产| 色偷偷91久久综合噜噜噜噜| 九九精品99久久久香蕉| 久久久久无码专区亚洲av| 久久精品人成免费| 久久99热这里只频精品6| 国产成人精品综合久久久| 亚洲精品无码久久一线| 欧美亚洲另类久久综合婷婷| 精品九九久久国内精品| 人妻精品久久久久中文字幕69| 欧美激情精品久久久久久久| 色综合合久久天天综合绕视看| 亚洲AV无码久久| 丁香色欲久久久久久综合网| 久久久久亚洲AV综合波多野结衣| 69SEX久久精品国产麻豆| 人妻丰满AV无码久久不卡| 偷偷做久久久久网站| 久久久久97国产精华液好用吗| 久久香蕉综合色一综合色88| 国产美女久久精品香蕉69| 亚洲国产精品无码久久久不卡| 午夜精品久久久久久影视riav| 久久人人爽人人精品视频| 精品久久久久久国产免费了| 99久久伊人精品综合观看| 四虎国产精品免费久久5151| 久久免费美女视频| 国产精品亚洲美女久久久| 91精品国产高清久久久久久国产嫩草 | 国产精品久久久久久久久| 久久精品人成免费| 国产欧美一区二区久久| 久久免费高清视频| 久久国产精品一区| 7777精品伊人久久久大香线蕉| 国产精品成人久久久|