免费游戏不用登录直接玩,苹果6s plus,不朽情缘滴血大奖视频,电子pga是什么意思

非功能需求對計算機軟件體系結(jié)構(gòu)的影響

時間:2022-11-16 13:49:25 碩士畢業(yè)論文 我要投稿
  • 相關(guān)推薦

非功能需求對計算機軟件體系結(jié)構(gòu)的影響

  1、引言

  軟件的發(fā)展離不開幕后眾多的編程人員、測試人員、文檔撰寫員,需求分析師、系統(tǒng)工程師、軟件架構(gòu)師等。在IT界,軟件架構(gòu)師是豐富軟件項目經(jīng)驗及具有廣博而精鉆技術(shù)知識的象征。

  軟件架構(gòu)師在軟件工程的生命周期中,起著承上啟下的關(guān)鍵作用。一名好的軟件架構(gòu)師的知識結(jié)構(gòu)中,需要具備系統(tǒng)開發(fā)全過程的經(jīng)驗,對于IT建設(shè)生命周期各個環(huán)節(jié)有深入了解,其中包括:系統(tǒng)膜塊邏輯設(shè)計、物理設(shè)計、代碼開發(fā)、項目管理、測試、發(fā)布、運行維護等;需要深入掌握一到兩種主流技術(shù)平臺上開發(fā)系統(tǒng)的方法;了解多種應(yīng)用系統(tǒng)的結(jié)構(gòu);了解架構(gòu)設(shè)計領(lǐng)域的主要理論、流派、框架。另外,在業(yè)務(wù)知識領(lǐng)域中,架構(gòu)師也要十分清楚并深入了解系統(tǒng)建設(shè)的業(yè)務(wù)需求;了解系統(tǒng)的非功能需求和運行維護需求;了解企業(yè)IT公共設(shè)施、網(wǎng)絡(luò)環(huán)境、外部系統(tǒng)。圖1中列舉了架構(gòu)師的基本知識結(jié)構(gòu),其中,涉及到了非功能需求。顧名思義,此需求乃軟件功能需求以外的需求,用“非功能需求”來概括之,便是它難以全面概括的事實。

  2、概念

  在系統(tǒng)工程和需求工程中,非功能需求(Non—functiona1Requirement,NFR)確定了衡量的尺度,用于對系統(tǒng)運行的判斷,而不是具體的系統(tǒng)行為。可以這樣理解,非功能需求是指軟件產(chǎn)品為滿足用戶業(yè)務(wù)需求(即功能需求)而必須具有且除功能需求以外的特性。

  比如設(shè)計一款手機,那么,這個手機必須要滿足的功能需求就包括打電話、發(fā)短信、手機上網(wǎng)等。但是,在設(shè)計的過程中,也同樣不能忽略的是:它是否易用(是否要仔細閱讀說明書才可以使用);它的性能(儲存空間大小、電池壽命長短、待機時間長短);它的外觀(美觀、時尚、大方,能否抓住消費者的心理)。這些不能忽略的內(nèi)容便構(gòu)成了非功能需求。手機的特性類似軟件的非功能需求,雖然與其功能不直接相關(guān),但是都會左右消費者的選購。

  軟件工程與建筑工程非常類似,軟件系統(tǒng)的需求種類也不少,如圖2所示。既然有非功能需求,便有功能需求。功能需求是大家比較熟悉的一類需求。功能需求描述要開發(fā)的軟件系統(tǒng)應(yīng)該做什么,它可以包括為用戶提供哪些服務(wù),也可以包括本系統(tǒng)為其他系統(tǒng)提供哪些服務(wù)。非功能需求中分為質(zhì)量屬性和約束。約束需求規(guī)定了開發(fā)軟件系統(tǒng)時必須遵守的限制條件。例如,要采用什么操作系統(tǒng),要采用哪種開發(fā)技術(shù),是否需要與遺留的老系統(tǒng)進行互操作等。當(dāng)然,還要考慮軟件用戶所在的行業(yè)中必須遵守的法律法規(guī)、政策方針和行業(yè)標(biāo)準、企業(yè)標(biāo)準。質(zhì)量屬性作為非功能需求的一個分支,同樣包含眾多內(nèi)容。例如性能、安全性、易用性、可靠性等眾多屬性如何分類的問題。如圖3所示,將軟件質(zhì)量的屬性分類為“產(chǎn)品修改”、 “產(chǎn)品改型”和“產(chǎn)品操作”,其中包含了相對應(yīng)的質(zhì)量屬性。事實上,這樣的分類模型存在著一個缺點,即關(guān)注了產(chǎn)品的本身,而忽略了軟件產(chǎn)品在開發(fā)過程中所存在的非功能需求。例如,軟件開發(fā)中的代碼可重用性、代碼的易理解性等等。

  鑒于此,非功能需求中的質(zhì)量屬性也可以從如此的角度進行分類: “運行期質(zhì)量屬性”和“開發(fā)期質(zhì)量屬性”。運行期質(zhì)量屬性是軟件系統(tǒng)在運行期間,最終用戶可以直接感受到的一類屬性;開發(fā)期質(zhì)量屬性包含和軟件開發(fā)、維護和移植這3類活動相關(guān)的所有質(zhì)量屬性。

  3、來源

  有人把需求喻為軟件開發(fā)的起跑線,需求工程是否順利和成功,能夠為軟件的最終成功奠定扎實的基礎(chǔ)。調(diào)研完成的需求可能與相關(guān)領(lǐng)域緊密結(jié)合,則需要了解這些領(lǐng)域背景;需求可能來自于多方,則需要征求和總結(jié)各種想法和意見等等。可以根據(jù)圖2的分類方法,將軟件的需求細分到功能需求和非功能需求,其中非功能需求包含了質(zhì)量屬性和約束。再考慮需求提出的不同級別,可以得到軟件需求空間分割。

  4、功能需求與架構(gòu)設(shè)計

  功能需求是重要的,它們包含了幾乎所有用戶所要求實現(xiàn)的業(yè)務(wù)邏輯。當(dāng)然,非功能需求也同樣是決定架構(gòu)成功與否的關(guān)鍵因素。軟件客戶不能嚴格區(qū)分什么是功能需求,什么是非功能需求。事實上,非功能需求中的質(zhì)量屬性與約束是一個復(fù)雜的問題。

  (1)功能需求影響架構(gòu),架構(gòu)必須要適應(yīng)功能需求。但是功能需求不會決定架構(gòu),是否基于接121編程還是硬編碼實現(xiàn)功能,是否要分層等等問題都不是功能需求所能單獨確定的。

  (2)質(zhì)量屬性會從根本上影響架構(gòu)。例如,非常強調(diào)性能的系統(tǒng)軟件會在算法實現(xiàn)上下足功夫,而左右在架構(gòu)設(shè)計中是否避免了性能的損失。

  (3)至于約束,它或作為架構(gòu)設(shè)計的限制條件,或轉(zhuǎn)變?yōu)楣δ苄枨螅蜣D(zhuǎn)換為質(zhì)量屬性。

  5、主要內(nèi)容

  客戶要功能也要質(zhì)量。比較功能需求與非功能需求,相對而言,客戶比較擅長提出功能需求。這是所熟悉了解的業(yè)務(wù)領(lǐng)域內(nèi)的知識范疇,而且都是經(jīng)過大量的實踐操作。然而對于非功能需求卻并不是如此,不可能對于每個客戶都要求他們了解和掌握需求工程。所以在需求制作的過程中,要給予他們足夠的引導(dǎo)。架構(gòu)師必須清楚地認識:為客戶而設(shè)計,不僅要滿足客戶要求的功能,也要達到客戶所期望的質(zhì)量。

  非功能需求分為“運行期質(zhì)量屬性”和“開發(fā)期質(zhì)量屬性”。

  5.1 運行期的質(zhì)量屬性

  (1)性能。性能是指軟件系統(tǒng)及時提供相應(yīng)服務(wù)的能力。具體而言,性能包括速度、吞吐量和持續(xù)高速性這三方面的要求。

  (2)安全性。指軟件系統(tǒng)同時兼顧向合法用戶提供服務(wù),又阻止非授權(quán)使用功能的能力。

  (3)易用性。指軟件系統(tǒng)易于使用的程度。

  (4)可用性。可用性與易用性不相同。可用性指系統(tǒng)長時間無故障運行的能力。

  (5)可伸縮性。指當(dāng)用戶增加時,軟件系統(tǒng)維持高服務(wù)質(zhì)量的能力。

  (6)互操作性。指本軟件系統(tǒng)與其他系統(tǒng)交換數(shù)據(jù)和相互調(diào)用服務(wù)的難易程度。

  (7)可靠性。軟件系統(tǒng)在一定時間內(nèi)無故障運行的能力。

  (8)健壯性。也稱容錯性。是指軟件系統(tǒng)在異常情況仍能夠正常運行的能力。

  5.2 開發(fā)期的質(zhì)量屬性

  (1)易理解性。是指系統(tǒng)設(shè)計能被開發(fā)人員理解的難易程度。

  (2)可擴展性。為適應(yīng)新需求或者需求變化,為軟件增加功能的能力。有些時候,稱之為靈活性。

  (3)可重用性。重用軟件系統(tǒng)或其中一部分的能力的難易程度。

  (4)可測試性。對軟件測試以證明其滿足需求規(guī)約的難易程度。在實際的項目中,主要指進行單元測試等難易程度。

  (5)可維護性。修改Bug,增加功能,提高質(zhì)量屬性。

  (6)可移植性。將軟件系統(tǒng)從一個運行環(huán)境轉(zhuǎn)移到另一個不同的運行環(huán)境的難易程度。

  6、結(jié)語

  非功能需求描述的困難在于很難像功能性需求那樣,可以通過結(jié)構(gòu)化和量化的詞語來描述清楚,在描述這類需求的時候,經(jīng)常采用軟件性能要好,查詢要在多少時間內(nèi)出結(jié)果,軟件健壯性要好等較模糊的描述詞語。這類描述詞語都是脫離了軟件的執(zhí)行環(huán)境,人和相關(guān)的場景描述,因此信息很難體現(xiàn)到軟件架構(gòu)設(shè)計和具體的實現(xiàn)中。在架構(gòu)設(shè)計中關(guān)注的安全,系統(tǒng)開發(fā)框架,并發(fā)和性能,異常日志等不是憑空產(chǎn)生出來的,而是來源于對非功能性需求的分析。

  對于非功能需求的描述,在描述過程中必須要強調(diào)到人、業(yè)務(wù)場景、環(huán)境等各方面的內(nèi)容。強調(diào)的目的就是要說明非功能需求不是無限度的,任何一項非功能需求的實現(xiàn)往往會付出更大的研發(fā)人力成本和硬件網(wǎng)絡(luò)成本。比如在描述一個表單的模糊查詢功能的時候,如果簡單地描述為所有查詢都要在多少秒內(nèi)完成,那么這種需求將很難得到滿足。

  然而,非功能需求卻著實在架構(gòu)的制定過程中具有可觀的影響力。它是軟件設(shè)計中不能忽視的重點和難點。

  參考文獻

  [1] Karl E.Wiegers.軟件需求[M】。第2版。北京:清華大學(xué)— — 40 ——出版社,2004.

  [2]Suzanne Robertson.掌握需求過程【M】。北京:人民郵電出版社,2003.

  [3]溫昱。軟件架構(gòu)設(shè)計[M】。北京:電子工業(yè)出版社,2007.

  [4]康凱,劉沛春。軟件架構(gòu)師講座【z].國家信息產(chǎn)業(yè)部計算機技術(shù)中心,2007.

【非功能需求對計算機軟件體系結(jié)構(gòu)的影響】相關(guān)文章:

功能翻譯理論對網(wǎng)絡(luò)新聞翻譯的影響05-08

制度的功能06-06

行為護理對腦梗塞運動功能障礙患者康復(fù)效果影響以及臨床效果觀察08-14

腸道黏膜SIgA的功能及調(diào)節(jié)08-15

企業(yè)家應(yīng)重視公眾需求心理06-04

音樂對人生的影響論文04-20

音樂對舞蹈作品的影響05-29

基于顧客價值的需求,流動網(wǎng)挖掘策略分析06-04

人文功能主義現(xiàn)代藝術(shù)論文05-21

探析“孔子學(xué)院”的文化外交功能08-24

主站蜘蛛池模板: 兴仁县| 兴业县| 陆河县| 安丘市| 文化| 龙里县| 遂昌县| 曲麻莱县| 区。| 嘉定区| 新竹市| 开封市| 通渭县| 星子县| 斗六市| 赣州市| 平南县| 施秉县| 肃南| 金坛市| 桂东县| 炉霍县| 油尖旺区| 康保县| 海阳市| 崇阳县| 桦川县| 胶南市| 咸宁市| 连云港市| 卢氏县| 横峰县| 友谊县| 福建省| 扶余县| 交城县| 大安市| 陵水| 融水| 思南县| 紫金县|