999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于敏捷建模的形式化需求分析方法

2008-12-31 00:00:00平龍妹
電腦知識與技術 2008年34期

摘要:軟件需求分析是軟件生命周期中最關鍵的一步。傳統的需求建模方法主要有兩個重大的缺陷:1) 非形式化的需求描述常常導致需求的歧義性和不一致性,因而難以確認和驗證;2) 易變性,需求變更及其連鎖反應是對項目質量、進度乃至合同履行影響最大的風險因素。本文針對軟件需求分析階段的難點,通過將形式化方法和敏捷建模理論相結合,提出一套基于敏捷建模的形式化需求分析方法。

關鍵詞:敏捷建模;形式化方法;需求分析;需求工程;VDM語言

中圖分類號:TP311文獻標識碼:A文章編號:1009-3044(2008)34-1680-03

Formal Requirement Analysis Method Based on Agile Modeling

ZHANG Yu1,2, PING Long-mei1,3

(1.Faculty of Computer Science and Technology of Suzhou University, Suzhou 215000, China; 2.ShangHai Ronsing Investment CO., LTD, Shanghai 200127, China; 3.ShouZhou Hospital of Traditional Chinese Medicine, Suzhou 215021, China)

Abstract: Software requirement analysis is the most important step in software life cycle. However there are two major defects of traditional requirement modeling methods. One is frequent requirement ambiguity and discord caused by informal requirement description. Therefore it is hard for identification and confirmation. The other is changeability. Requirement change and its chain reactions are the most influential risk factor for the project quality, process and contract performance. This essay focuses on dealing with the difficulties of software requirement analysis. It put forwards a set of formal requirement analysis methods on the basis of agile modeling through the combination of formal method and agile modeling theory.

Key words: agile modeling; formal method; requirement analysis; requirement engineering; VDM Language

1 引言

需求分析是指理解用戶需求,就軟件功能與客戶達成一致,估計軟件風險和評估項目代價,最終形成開發計劃的一個復雜過程。面對千差萬別的用戶要求,如何能夠快捷、準確的獲取系統的需求并建立起無歧義的、完整的需求模型已成為軟件開發中的核心問題。敏捷建模(AM)是針對基于軟件系統的有效建模和編寫文檔的一個混亂而有序的、基于實踐的方法。形式化需求模型采用形式化規格說明語言(最好采用廣譜的形式語言,以利于實現需求模型向設計階段的演化)進行描述,目的是為了對用戶的需求進行精確的定義,有利于今后對模型的驗證及自動生成設計階段的程序。形式化方法(Formal Methods)是全面系統地使用基于數學的語言、技術和工具精確地說明、開發和驗證軟件系統,使用形式化方法描述的規約具有規范性和無二義性。而且形式化語言是一種機器可處理的描述語言,可以保證軟件復用自動化成為可能。

2 理論模型的框架

Alistair Cockburn指出,“不同的項目需要不同的方法論,一個項目的最佳過程是這個項目所能負擔的最小過程”。因此,基于敏捷建模的形式化需求分析方法(如圖1 理論模型框架)將主要適用于以下情況:

1) 開發規模﹤50人;

2) 需求不肯定或變化太大的場合;

3)客戶理解和能參與的場合;

4) 有嚴格安全性要求的場合;

5) 重視需求分析和文檔編寫的場合。

基于敏捷建模的形式化需求分析方法理論模型框架如圖1所示。

基于敏捷建模的形式化需求分析方法的軟件需求工程的流程特點如下:

1) 運用敏捷需求會議獲取需求;

2) 使用敏捷方法建立模型;

3) 對生成的非形式化需求模型進行確認,若用戶對模型不滿意或模型存在問題,則返回前面的模塊重新進行需求分析;

4) 對生成的非形式化需求模型中的各個構件進行演化轉換,即將需求模型中對構件的非形式化描述轉換為嚴格的形式化描述,得到形式化需求模型;

5) 根據形式化需求規格說明模板,對確定下來的形式化需求分析模型進行細化和求精,得到完整的形式化需求模型;

6) 在進入設計階段之前,對生成的形式化需求模型還需通過嚴格的一階謂詞邏輯推理進行正確性驗證;

7) 在需求分析的整個過程中應通過建立需求基線庫對需求模型的變化軌跡進行記錄,使需求變更能沿著受控的方向進行。

2.1 需求獲取

常見的需求收集方法包括:客戶訪談、客戶交流、市場調研、技術支持、高層拜訪、競爭對手分析、查閱媒體信息、需求專題分析討論會。可遵循以下步驟:

1) 把用戶群進行分類并分析各自特征及職責;

2) 選擇用戶代表并和開發人員組成核心隊伍;

3) 開展敏捷需求分析會議獲取用例;

4) 獲取非功能需求。

2.2 基于敏捷方法的需求建模

2.2.1 建立用例模型

在捕捉用例時需要注意的一點是,不要在一開始就竭力捕捉所有的細節,這是在細化階段要進一步做的工作。一個敏捷用例模型的確定應該遵循以下步驟:

1) 分析研究上一步得到的系統的需求,找出系統外部的活動者和外部系統,確定系統的邊界和范圍;

2) 確定每一個活動者所期望的系統行為;

3) 把這些系統行為命名為用例;

4) 把一些公共的系統行為分解為一批新的用例,供其它的用例引用。把一些變更的行為分解為擴展用例;

5) 編制每一個用例的說明;

6) 繪制用例圖;

7) 區分主業務流和例外(異常)情況的事件流。可以把表達例外(異常)情況的事件流的用例畫成一個單獨的子用例圖;

8) 精化用例圖。解決用例間的重復與沖突問題,簡化用例中的對話序列。用例圖可以有不同的層次,高層系統的用例可以分解為若干個下屬子系統中的子用例。

2.2.2 抽象設計類

在繪制完用例圖后,就需要對用例中的對象抽象出類。建立類圖的一般步驟如下:

1) 研究分析前面得到的用例圖;

2) 發現對象與類,明確它們的含義和責任,確定屬性和操作;

3) 發現類之間的靜態聯系;

4) 設計類與聯系。調整和精化己得到的類和類之間的聯系,解決諸如命名沖突、功能重復等問題;

5) 繪制類圖并編制相應的說明。

2.2.3 需求存檔

根據建立的用例與類模型再對系統的各個功能建立相應的動態模型,至此用戶的需求通過這種非形式化的描述形成了最初的需求定義文檔。最后,當完成需求的定義及分析后,需要將此過程書面化,要遵循既定的規范將需求形成書面的文檔,通常稱之為需求文檔。與此同時,每一個公布的需求文擋的版本應該包括一個修正版本的歷史情況,即己變更的內容、變更日期、變更人姓名以及變更的原因。

2.2.4 需求確認

需求確認簽訂的協議可以視為建立了基線,進一步的變更可在此基線上通過項目定義的變更過程來進行。變更可能會重新協商成本、資源和項目階段任務等事宜。對需求分析達成一定的共識會使雙方易于忍受將來的摩擦,這些摩擦來源于項目的改進和需求的誤差或市場和業務的新要求等。此外,可將用戶的需求轉化成以下幾種狀態:

1) 有可能要取消的;

2) 有的因為不明確而可以后延的,同時可能轉化為被取消的需求;

3) 與客戶經過溝通或確認的,此處有兩種情況,一類是確認雙方達成共識,另一種情況是還需要再進一步溝通的。

2.3 模型演化

對于生成的非形式化需求規格說明文檔,由用戶首先進行需求確認,審查是否需求說明中包含了用戶的所有功能要求并符合用戶對系統的預期目標。若生成的需求說明不符合用戶對實際系統的要求,則需要重新獲取用戶的需求信息并進行相應的分析:若用戶對需求說明表示贊同,則需要根據模型演化的策略,對實際系統構件語義網中的結點進行廣度優先搜索,將非形式化模型中各個構件的非形式化描述分別轉化為嚴格的形式化描述,生成簡單的形式化需求模型,并根據形式化需求說明模板進一步對生成形式化需求模型進行補充和完善,得到最終的系統形式化需求規格說明書。

2.4 形式化需求模型

本文中對需求規格說明書的形式化描述采用VDM語言實現。VDM語言是目前較為流行的形式化需求規格說明語言之一。其基本思想是運用抽象數據類型、數學概念和符號來規定運算或函數的功能,由狀態規定、類型不變式規定和運算功能規定三部分構成。例如:在需求規格說明書中對企業物流管理中的產品清單和產品銷售的形式化描述為:

產品清單的形式化描述:

String=Seq of Char

Goods=Compose Goods of

Bh: String

Name: String

Price: R

Stock_count: N

End

Goods_11st=seq of Goods of

Inv_goods≡△?坌mk_Goods(n,p,c)∈Goods.b≠’’=>n≠’’∧p>0.0

/*規定若產品清單中的產品編號不為空時,產品名稱也不為空且價格大于O*/

產品銷售的形式化描述

G00DS_SALE(g1:Goods_11st,req_num:String,req_count:N)g2:Goods_list

pre len g1>0

post len g2=len g1∧?坌i∈inds g2=>Bh(g1[i]>=Bh(g2[i])∧

Stock_count(g2[i])=Stock_count(91[i])-req_count

選擇VDM語言作為本理論形式化描述手段的主要原因有以下幾點:

1) VDM采用了結構化的過程用抽象數據類型、數學概念和符號來規定運算或函數的功能,可以簡短而明確地指出軟件系統需要完成的功能;

2) 由于VDM語言中采用了數學符號和抽象數據類型,從而可以使軟件系統的功能描述在抽象級上進行,完全擺脫了實現細節,為軟件實現者提供了很大的靈活性;

3) VDM語言為形式化需求說明的正確性證明提供了依據,可以采用一元謂詞邏輯推理技術驗證運算和函數的實現是否符合它的形式化說明。

2.5 模型驗證

為了保證需求分析結果的一致性和完整性,應對生成的形式化需求模型進行驗證.用于驗證的推理機制應借助于知識庫中存放的用于需求分析的專業知識,發現需求模型中的矛盾和不足,經補充、更新知識庫中的知識和規則,以及與系統分析員的不斷交互,得到完整的功能規范。由于證明工作還存在著一些內在困難,目前形式化規格說明的正確性證明還不能完全通過計算機自動實現,這將是本文繼續研究的一個方向。

3 結論

在軟件需求工程理論已經比較成熟的今天,如何更好的獲取需求和對用戶的需求進行分析建模仍然是令大多數系統分析員頭疼的事情,本文就是在這樣的環境下提出的理論模型—基于敏捷建模的形式化需求分析方法,旨在減少系統開發中需求分析所花費的時間,增加系統分析員與用戶對需求的理解,為項目的成功打下基礎。

參考文獻:

[1] Fowler M,Scott K.UML精粹—標準對象建模簡明指南[M].北京:清華大學出版社,2002.

[2] 劉麗,姜紅,李延霞,等.如何在軟件開發的需求管理中應用敏捷建模[J].福建電腦,2004(1).

[3] 陸汝鈐.計算機語言的形式語義[M].北京:科學出版社,1992.

[4] Ambler S W,Aglile.Modeling Effective Practices for extreme Programming and the Unified Process[M].北京:清華大學出版社,2002.

[5] 故天龍.軟件開發的形式化方法[M].北京:電子工業出版社,2005.

[6] Baugh J R.離散數學/國外計算機科學教材系列[M].6版.北京:電子工業出版社,2005.

主站蜘蛛池模板: 亚洲综合二区| 国产精品露脸视频| 中文字幕永久在线看| 亚洲午夜综合网| 国产9191精品免费观看| 亚洲精品大秀视频| 日韩欧美国产精品| 亚洲综合极品香蕉久久网| www亚洲精品| 色哟哟国产精品一区二区| 欧美激情二区三区| 欧美亚洲一二三区| 五月综合色婷婷| 999国内精品久久免费视频| 国内毛片视频| 中国美女**毛片录像在线| 亚洲精品免费网站| 丰满的熟女一区二区三区l| 色综合久久久久8天国| 91久久偷偷做嫩草影院| 999在线免费视频| 欧美午夜视频| 综合成人国产| 青草视频免费在线观看| 亚洲成人免费看| 91免费在线看| 久久99这里精品8国产| 日韩精品一区二区三区视频免费看| 日本成人一区| 欧美视频在线第一页| 日韩AV无码免费一二三区| 亚洲Aⅴ无码专区在线观看q| 亚洲精品不卡午夜精品| 欧美国产日韩在线| 女人18一级毛片免费观看| 欧美日本在线播放| 国产综合欧美| 国产亚洲高清视频| 99视频国产精品| 久久久久久久蜜桃| aa级毛片毛片免费观看久| 国产精品视频导航| www.亚洲一区| 国产三级成人| 国产日本欧美在线观看| 成人福利在线免费观看| 欧美一级99在线观看国产| 国产精品对白刺激| 伊人五月丁香综合AⅤ| 91黄色在线观看| 三级欧美在线| 欧美怡红院视频一区二区三区| 国产区成人精品视频| 国产精品免费p区| 亚洲欧美精品日韩欧美| 天堂网国产| 成人毛片免费观看| 尤物在线观看乱码| 手机在线看片不卡中文字幕| 极品性荡少妇一区二区色欲| 内射人妻无套中出无码| 好紧好深好大乳无码中文字幕| 国产chinese男男gay视频网| 久久网欧美| 亚洲愉拍一区二区精品| 精品乱码久久久久久久| 国产亚洲精| 日韩欧美视频第一区在线观看| 国产产在线精品亚洲aavv| 都市激情亚洲综合久久| 国产女人在线视频| 欧美日韩成人| 亚洲午夜福利精品无码| 日韩二区三区无| 成人免费网站久久久| 欧美成人午夜影院| 国产人人射| 国产夜色视频| 91久久偷偷做嫩草影院电| 丁香五月婷婷激情基地| 欧美成人午夜在线全部免费| 亚洲婷婷在线视频|