非功能性需求(轉(zhuǎn))

          Posted on 2008-05-28 19:20 windy 閱讀(203) 評論(0)  編輯  收藏 所屬分類: 軟件測試?yán)碚?/a>

          所謂非功能性需求,是指軟件產(chǎn)品為滿足用戶業(yè)務(wù)需求而必須具有且除功能需求以外的特性。軟件產(chǎn)品的非功能性需求包括系統(tǒng)的性能、可靠性、可維護(hù)性、可擴(kuò)充性和對技術(shù)和對業(yè)務(wù)的適應(yīng)性等。下面對其中的某些指標(biāo)加以說明。在這里可以看到非功能性需求涉及的范圍很廣,軟件產(chǎn)品本身不是孤立存在的,還涉及到諸多外在環(huán)境的影響。非功能性需求必須考慮軟件既要可用,又要易用。

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

          一個(gè)軟件系統(tǒng)必須完整,因此不僅僅包括了可執(zhí)行的程序,還包括了在線幫助,數(shù)據(jù)和用戶管理,日志異常查詢,自動升級等相關(guān)功能特征。這些需求不僅僅是為了滿足用戶的需要,也是為了我們后續(xù)維護(hù)和監(jiān)控系統(tǒng)的需要。

          系統(tǒng)的可靠性,可維護(hù)性和適應(yīng)性是密不可分的。當(dāng)系統(tǒng)出現(xiàn)故障和用戶出現(xiàn)錯(cuò)誤的操作后是否支持恢復(fù),當(dāng)用戶在使用過程中遇到錯(cuò)誤的時(shí)候是否可以立即定位問題,但業(yè)務(wù)場景和邏輯發(fā)生變化的時(shí)候系統(tǒng)是否支持,當(dāng)網(wǎng)絡(luò)不穩(wěn)定或使用中異常中斷的情況下系統(tǒng)是否都有相應(yīng)的容錯(cuò)措施,這些都是需要在非功能性需求中考慮到的問題。

          易用性也是我們在開發(fā)非功能性需求中必須要考慮到的問題,易用性同時(shí)還涉及到美工和UI界面,人機(jī)工程,交互式設(shè)計(jì),心理學(xué),用戶行為模式等多方面的知識。易用性的三原則就是易見,易學(xué)和易用或者叫為發(fā)現(xiàn),易懂,效率。易見就是各種功能操作不要藏得太深,用戶很容易找到他們期望進(jìn)行的各種操作;易學(xué)需要軟件系統(tǒng)通過在線幫助,導(dǎo)航,向?qū)У雀鞣N方式保證軟件是可自學(xué)習(xí)的;易用的重點(diǎn)則在軟件在熟練使用后應(yīng)該可以更快的進(jìn)行各項(xiàng)操作。這三者相互間也存在沖突,需要平衡,而平衡的一個(gè)重點(diǎn)就是真正的做到以用戶為中心進(jìn)行設(shè)計(jì),需要去細(xì)分場景和用戶。

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


          1.估計(jì)用戶數(shù)為1萬人,每天登錄用戶數(shù)為3000左右,網(wǎng)絡(luò)的帶寬為100M帶寬。
          2.在非高峰時(shí)間根據(jù)編號和名稱特定條件進(jìn)行搜索,可以在3秒內(nèi)得到搜索結(jié)果。
          3.當(dāng)通過互聯(lián)網(wǎng)接入系統(tǒng)的時(shí)候,期望在編號和名稱搜索時(shí)最長查詢時(shí)間<15秒。


          有了這些場景和數(shù)據(jù)后,我們在進(jìn)行架構(gòu)設(shè)計(jì)的時(shí)候就可以有針對性的選擇我們的開發(fā)框架和模式,數(shù)據(jù)庫,軟硬件環(huán)境配置已經(jīng)復(fù)雜功能的具體實(shí)現(xiàn)方式等。同時(shí)這些需求還可以更好的指導(dǎo)我們對通過性能測試等工具對這些非功能性需求進(jìn)行驗(yàn)證。


          只有注冊用戶登錄后才能發(fā)表評論。


          網(wǎng)站導(dǎo)航:
           

          posts - 1, comments - 0, trackbacks - 0, articles - 5

          Copyright © windy

          主站蜘蛛池模板: 客服| 澜沧| 乐山市| 延吉市| 海丰县| 观塘区| 永仁县| 黔江区| 乌拉特后旗| 合作市| 石首市| 微博| 永嘉县| 安阳县| 麻栗坡县| 枣阳市| 当雄县| 陈巴尔虎旗| 临夏县| 佛坪县| 琼中| 南投市| 辉县市| 将乐县| 浦城县| 诏安县| 鄂托克前旗| 乌拉特前旗| 白山市| 长泰县| 育儿| 织金县| 黔西县| 莱西市| 卢湾区| 彰化县| 青阳县| 临武县| 江城| 辽源市| 武汉市|