亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于需求分析的可視化技術在軟件開發(fā)中的應用

        2021-03-10 09:20:22王智超肖玉周燕
        電子技術與軟件工程 2021年20期
        關鍵詞:可視化用戶功能

        王智超 肖玉 周燕

        (湖北開放大學 湖北省武漢市 430073)

        隨著軟件工程技術的發(fā)展,許多新技術新方法不斷涌現(xiàn)。但是很多軟件設計與開發(fā)工作人員并不了解這些新技術新方法。而這些技術的采用,可以很大程度的提高軟件設計和開發(fā)的工作效率,加強軟件工程師和客戶之間的交流,使得軟件的質量得以進一步提高,同時降低開發(fā)成本[1]。本文主要針對軟件工程領域需求分析階段所使用的技術和方法進行討論。

        1 傳統(tǒng)軟件需求分析技術

        傳統(tǒng)的需求表述方式是“軟件需求規(guī)格說明書(Software Requirement Specification)”。這種方式通過功能分解來描述系統(tǒng)功能,每個功能模塊表示一個系統(tǒng)提供的服務。采用這種方法描述軟件需求,使得系統(tǒng)功能和具體的設計交叉在一起,也就是軟件開發(fā)中兩個不同階段(需求分析和詳細設計)的工作分不清楚界限。

        這種需求分析方法往往缺乏描述各個功能模塊之間的相互聯(lián)系,因為很多的系統(tǒng)服務都是由多個模塊相互協(xié)同工作來提供的。因此,也會導致后期的軟件實現(xiàn)過程質量不高,效率降低。為了解決傳統(tǒng)軟件需求分析技術在軟件開發(fā)過程中出現(xiàn)的問題,接下來介紹可視化軟件需求分析技術。

        2 可視化軟件需求分析技術

        為了解決傳統(tǒng)軟件需求分析技術的不足,軟件行業(yè)中的許多公司或組織提出了可視化軟件需求分析技術。這種技術通過各種模型來對軟件系統(tǒng)進行分析和設計,以一種簡單明了的直接方式來描述系統(tǒng)的各個方面,包括需求分析,總體設計,詳細設計,物理架構實現(xiàn)及軟件系統(tǒng)的配置與部署等。這種技術大大提高了用戶與開發(fā)人員之間的溝通效率,進一步完善了需求分析階段的主要工作內容,即“確定系統(tǒng)到底做什么,而不是怎么做”的問題??梢暬能浖枨蠓治黾夹g, 以UML 統(tǒng)一建模語言最具代表性,該技術標準由擁有800 多名成員公司的國際標準化組織OMG(Object Management Group,即對象管理組)所發(fā)布,目前已成為主流的系統(tǒng)分析和設計技術。下面先對UML技術進行描述,然后結合具體的案例,對這一可視化分析工具在完成軟件系統(tǒng)的需求分析任務過程中的應用方法進行闡述。

        3 UML可視化技術

        UML(Unified Modeling Language,即統(tǒng)一建模語言)是一種基于面向對象技術的可視化分析與設計語言,它并不是一種編程語言,而是一種標準化的圖形符號語言,這也正是可視化特點的由來。UML 目前已成功應用于電信、金融、政府、電子、國防、航天航空、制造與工業(yè)自動化、醫(yī)療、交通、電子商務等領域中。許多著名的計算機公司如Microsoft、HP、IBM 和Oracle 等都在使用并不斷進行改進和完善,使其更加適合項目實踐。截止到2020年,UML 最新版本為UML2.5。UML 是軟件行業(yè)的建模規(guī)范,可以對軟件項目建立需求模型、設計模型、實現(xiàn)模型、測試模型,因為UML 有精確的建模語義,各個模型之間還能有效集成,所以可以基于模型進行仿真驗證,使得設計具有完整的前瞻能力。UML技術包含13 種圖,分為兩個大類:靜態(tài)結構圖和動態(tài)行為圖,通俗講也稱為靜態(tài)建模和動態(tài)建模[2]。這種建模技術,以可視化和立體化的方式把軟件項目的分析和設計過程展現(xiàn)給開發(fā)者及用戶,大大降低了項目參與人對項目的理解難度,避免了理解上的不一致性,提高了項目的開發(fā)效率。

        在完成軟件項目需求分析階段的工作中,傳統(tǒng)的方式是使用軟件需求規(guī)格說明書來描述軟件項目的用戶需求,文檔中經常出現(xiàn)系統(tǒng)功能說明和具體的設計描述交叉在一起的情況,也就是軟件開發(fā)中兩個不同階段(需求分析和詳細設計)的工作分不清楚界限,增加了該文檔使用者的理解難度,導致在內容理解上容易產生不一致性。而使用UML 以可視化的方式建立項目系統(tǒng)的需求模型,可以有效解決傳統(tǒng)需求分析中產生的上述問題。

        4 可視化技術在需求分析中的應用

        軟件項目需求分析任務通常關注系統(tǒng)的功能需求,數(shù)據(jù)對象需求,性能需求,安全性需求等方面,本文主要對功能需求和數(shù)據(jù)對象需求使用可視化技術進行需求分析。

        功能需求(Functional requirement)規(guī)定開發(fā)人員必須在產品中實現(xiàn)的軟件功能,用戶利用這些功能來完成任務,滿足業(yè)務需要。功能需求有時也被稱作行為需求,因為習慣上常常使用“應該”對其進行描述:“系統(tǒng)應該發(fā)送電子郵件來通知用戶已接受其預定”。功能需求描述的是開發(fā)人員需要實現(xiàn)什么。

        數(shù)據(jù)對象需求(Data requirement)描述軟件產品中出現(xiàn)的業(yè)務對象及其之間的相互關系。這些對象往往具有很多不同的屬性,哪些屬性是系統(tǒng)業(yè)務處理過程中需要的,哪些是不需要的,都要通過數(shù)據(jù)分析來進行準確的描述。數(shù)據(jù)對象分析的結果對數(shù)據(jù)庫的邏輯模式設計有重要的指導作用。

        傳統(tǒng)需求分析過程,需要建立在開發(fā)者對系統(tǒng)的業(yè)務處理流程比較熟悉的基礎之上,否則很難把系統(tǒng)的功能需求和數(shù)據(jù)對象需求描述準確,對經驗要求較高。使用UML 可視化技術建立項目系統(tǒng)的需求模型,來描述該系統(tǒng)的主要用戶,以及用戶使用該系統(tǒng)能夠做什么,可以不用考慮具體的業(yè)務處理邏輯,能很好的把功能分析與設計工作分離開來。通過這種技術也能讓系統(tǒng)需求分析員更好的關注用戶的需求,提高軟件產品的質量,因為用戶滿意度直接決定著軟件項目的成敗。UML 可視化需求分析技術,通過對軟件項目建立需求模型來實現(xiàn),其需求模型主要使用用例模型和類圖模型進行描述。用例模型可以對系統(tǒng)用戶及用戶能做什么進行描述,即功能需求建模;類圖模型是用面向對象技術對系統(tǒng)中的數(shù)據(jù)對象及其之間的相互關系進行分析,即數(shù)據(jù)對象需求建模。

        例如,下面是對“網上訂單處理系統(tǒng)”軟件需求規(guī)格說明書的內容進行精簡之后的需求描述內容:

        (1)客戶在企業(yè)網站中選擇需要的產品并放入購物車,進行訂購。

        (2)客戶輸入購買細節(jié),提交訂單,系統(tǒng)自動將訂單信息保存到數(shù)據(jù)庫。

        (3)客戶能夠要求企業(yè)營銷人員與自己聯(lián)系,進一步了解產品、協(xié)商價格,確認訂單的細節(jié)。

        (4)企業(yè)營銷人員在收到客戶的聯(lián)系要求后,及時與客戶聯(lián)系,為客戶提供咨詢服務,確認訂單的細節(jié)。如果需要修改原訂單,將修改后的訂單信息更新到數(shù)據(jù)庫并向客戶發(fā)出訂單確認信息。

        (5)客戶收到訂單確認信息后,匯款或網上支付產品款項至企業(yè)銀行賬戶。

        (6)訂單處理系統(tǒng)檢查用戶賬號及付款金額,若金額無誤,修改訂單狀態(tài),將付款成功信息通知營銷人員。

        (7)訂單處理系統(tǒng)從數(shù)據(jù)庫中獲取訂購信息和收到的付款信息生成發(fā)票后將該發(fā)票提供給營銷人員。營銷人員發(fā)E-mail 通知客戶已發(fā)貨,并將發(fā)票提供給倉庫管理員。

        (8)系統(tǒng)從數(shù)據(jù)庫中獲得該客戶的訂單信息和個人資料,生成訂購信息列表,將該列表提供給倉庫管理員。由倉管員根據(jù)訂購信息列表配貨后,向客戶發(fā)貨并附上發(fā)票;最后修改訂單的狀態(tài)。

        針對上述傳統(tǒng)需求分析方式描述的需求內容,下面使用UML中的用例模型和類圖模型以可視化的方式描述功能需求和數(shù)據(jù)對象需求。

        4.1 功能需求分析

        用例模型是UML 中用來對系統(tǒng)功能需求進行建模的工具。用戶并不想知道軟件系統(tǒng)內部是如何設計與實現(xiàn)的,他們只關心系統(tǒng)到底能為用戶提供什么服務,這就是用例模型的精髓所在,把系統(tǒng)的功能分析和設計分離開來,只描述系統(tǒng)的需求而不考慮如何實現(xiàn)的問題。用例模型主要包含三個要素:參與者(Actor),用例(Use Case)和關系(Relationship)。由這三個要素構成用例模型示例,如圖1所示。

        圖1:用例模型示例

        圖1 中參與者用一個人形符號表示,不是特指人,是指在使用系統(tǒng)或與系統(tǒng)交互中所扮演的角色。因此參與者可以是人,可以是事物,也可以是時間或其他系統(tǒng)等等。但需要強調的是,參與者不是指人或事物本身,而是表示人或事物當時所扮演的角色[3]。例如“網上訂單處理系統(tǒng)”中的用戶和營銷人員,他們并不指某個人(小李和小張),二是這兩個人在系統(tǒng)中所扮演的用戶和營銷人員這兩個特殊的角色。

        用例表示系統(tǒng)提供的服務或功能,是參與者想要系統(tǒng)做的事情。對于用例的命名,可以給用例取一個簡單、描述性的名稱,一般為帶有動作性的詞或短語。用例在畫圖中用橢圓來表示,橢圓下面附上用例的名稱。例如系統(tǒng)需求規(guī)格說明書中描述的“訂購產品”的功能,該功能名稱即為一個動詞短語,可用橢圓用例符號表示這個系統(tǒng)功能需求點,如果有多個功能需求點,則采用多個用例表示即可,非常直觀和清晰。

        箭頭用來表示參與者和系統(tǒng)通過相互發(fā)送信號或消息進行交互的關聯(lián)關系。箭頭尾部用來表示啟動交互的一方,箭頭頭部用來表示被啟動的一方,其中用例總是要由參與者來啟動。該模型并沒有描述用例代表的系統(tǒng)服務或功能是如何設計并實現(xiàn)的,把功能和設計很好區(qū)分開來,避免不同階段的工作任務出現(xiàn)界限不清楚的問題,為軟件開發(fā)人員和用戶之間的溝通架起了一座很好的橋梁。

        通過 “網上訂單處理系統(tǒng)” 需求描述的分析,可以識別出兩個主要參與者角色,客戶(Customer)和營銷人員(Salesman)。使用可視化的用例模型來描述該系統(tǒng)的功能需求,其功能需求模型如圖2所示。

        圖2:功能需求模型

        4.2 數(shù)據(jù)對象需求

        類圖模型主要用在面向對象軟件開發(fā)的分析階段,描述系統(tǒng)的靜態(tài)結構,本文中的“網上訂單處理系統(tǒng)”可以使用類圖來進行數(shù)據(jù)對象需求的描述。在對系統(tǒng)進行數(shù)據(jù)對象需求分析時,通??紤]兩種類型的數(shù)據(jù)對象,一種是用戶角色對象,另一種是系統(tǒng)業(yè)務處理對象[4]。在面向對象的軟件開發(fā)中,需要把系統(tǒng)中的數(shù)據(jù)對象抽象成類的概念進行描述,類圖模型的可視化表達恰好滿足這一需求。類圖模型用于描述系統(tǒng)中所包含的類以及它們之間的相互關系,幫助開發(fā)者和用戶簡化對系統(tǒng)的理解,它是系統(tǒng)需求分析和設計階段的重要產物。

        系統(tǒng)中的數(shù)據(jù)對象用類進行表示,類一般包含3 個組成部分。第一個是類名;第二個是屬性;第三個是該類的操作,如圖3所示。

        圖3:類的組成

        針對“網上訂單處理系統(tǒng)”需求描述,要實現(xiàn)該系統(tǒng)主要功能,需要有用戶,營銷人員,產品,訂單等基本數(shù)據(jù)對象。這4 個對象可以分別用4 個類描述,其中包含了每個數(shù)據(jù)對象的基本屬性和方法,這些信息正是數(shù)據(jù)對象需求分析所要獲得的重要內容。分析數(shù)據(jù)對象不僅要考慮每個數(shù)據(jù)的特點,同時還要考慮數(shù)據(jù)之間的關系。系統(tǒng)中的每個數(shù)據(jù)對象不是孤立的,而是有相互聯(lián)系的,例如用戶訂購產品,營銷人員修改訂單。這里的“訂購”和“修改”描述的就是數(shù)據(jù)對象之間的聯(lián)系,在類圖模型中最主要的就是關聯(lián)關系,表達不同對象之間聯(lián)系的多重性,比如一對一,一對多,和多對多。圖4 是使用類圖模型建立了用戶和產品這兩個數(shù)據(jù)對象以及之間的關系,以可視化的方式展現(xiàn)了這兩個數(shù)據(jù)對象的內容,如圖4所示。從圖中可以看出,該系統(tǒng)業(yè)務實現(xiàn)主要需要用戶對象的姓名,聯(lián)系方式等基本屬性信息,而用戶的個人愛好屬性可暫時不予考慮,即不用出現(xiàn)在類的屬性之中。

        圖4:數(shù)據(jù)對象需求模型

        從上述“網上訂單處理系統(tǒng)”的用例模型和類圖模型可以看出,UML 可視化模型簡單、清晰的表達出了軟件系統(tǒng)的功能需求和數(shù)據(jù)對象需求,為軟件需求分析工作提供了一種可視化的、不易產生二義性的描述工具,能夠很好的保證軟件需求分析的質量,大大減少了軟件開發(fā)后期因為需求不準確、不完整而導致的一系列增加軟件開發(fā)成本的難題。

        5 小結

        通過對傳統(tǒng)的和可視化的軟件需求分析技術的對比分析,后者的優(yōu)勢顯而易見??梢暬男枨蠓治黾夹g中,以UML 最為突出,在軟件行業(yè)應用中所占的比例也將隨著軟件的發(fā)展而逐步增大,會有更多的軟件從業(yè)人員去學習和了解,并在軟件開發(fā)中發(fā)揮出積極作用。

        猜你喜歡
        可視化用戶功能
        也談詩的“功能”
        中華詩詞(2022年6期)2022-12-31 06:41:24
        基于CiteSpace的足三里穴研究可視化分析
        基于Power BI的油田注水運行動態(tài)分析與可視化展示
        云南化工(2021年8期)2021-12-21 06:37:54
        基于CGAL和OpenGL的海底地形三維可視化
        “融評”:黨媒評論的可視化創(chuàng)新
        傳媒評論(2019年4期)2019-07-13 05:49:14
        關于非首都功能疏解的幾點思考
        關注用戶
        商用汽車(2016年11期)2016-12-19 01:20:16
        關注用戶
        商用汽車(2016年6期)2016-06-29 09:18:54
        關注用戶
        商用汽車(2016年4期)2016-05-09 01:23:12
        如何獲取一億海外用戶
        成人自拍偷拍视频在线观看| 亚洲国产18成人中文字幕久久久久无码av| 久久成人永久免费播放| 中文字幕人妻少妇精品| 色婷婷精品久久二区二区蜜桃| 国产片精品av在线观看夜色| 久久欧美与黑人双交男男| 三级全黄的视频在线观看| 亚洲av成人永久网站一区| 国产成人综合美国十次| 亚洲乱码国产一区三区| 国内精品久久久久国产盗摄| 人日本中文字幕免费精品| 久久亚洲欧美国产精品| 免费人成年小说在线观看| 无码av专区丝袜专区| 亚洲中文字幕精品视频| 亚洲精品无码永久在线观看你懂的| 在教室伦流澡到高潮hnp视频| 亚洲成熟丰满熟妇高潮XXXXX| 亚洲国产成人久久精品一区| 午夜精品久久久久久毛片| 欧美一欧美一区二三区性| 久久久99精品国产片| 美女国产毛片a区内射| 国产精品麻豆成人av电影艾秋 | 精品久久久久久无码不卡| 亚洲av大片在线免费观看| 人妻中文字幕乱人伦在线| 亚洲国产高清在线一区二区三区 | 亚洲av色福利天堂久久入口| 亚洲色成人网站www永久| 视频一区欧美| 国产女主播在线免费看| 香港三级午夜理论三级| 国产成人精品一区二区视频| 日产精品一区二区三区免费 | 性饥渴的农村熟妇| 亚洲精品国产成人AV| 亚洲一区久久久狠婷婷| 免费a级毛片无码免费视频首页|