2.7.3 軟件產(chǎn)品的非功能性需求定義軟件產(chǎn)品的需求可以分為功能性需求和非功能性需求,其中非功能性需求是常常被輕視,,甚至被忽視的一個重要方面,。其實(shí),軟件產(chǎn)品非功能性定義不僅決定產(chǎn)品的質(zhì)量,,還在很大程度上影響產(chǎn)品的功能需求定義,。如果事先缺乏很好的非功能性需求定義,結(jié)果往往是使產(chǎn)品在非功能性需求面前捉襟見肘,,甚至淹沒功能性需求給用戶帶來的價(jià)值,。 所謂非功能性需求,是指軟件產(chǎn)品為滿足用戶業(yè)務(wù)需求而必須具有且除功能需求以外的特性,。軟件產(chǎn)品的非功能性需求包括系統(tǒng)的性能,、可靠性、可維護(hù)性,、可擴(kuò)充性和對技術(shù)和對業(yè)務(wù)的適應(yīng)性等,。下面對其中的某些指標(biāo)加以說明。 1.系統(tǒng)的完整性 系統(tǒng)的完整性指為完成業(yè)務(wù)需求和系統(tǒng)正常運(yùn)行本身要求而必須具有的功能,,這些功能往往是用戶不能提出的,,典型的功能包括聯(lián)機(jī)幫助、數(shù)據(jù)管理,、用戶管理,、軟件發(fā)布管理和在線升級等。 并不是所有的系統(tǒng)都必須包括以上所有的功能,,而是可以根據(jù)產(chǎn)品的使用環(huán)境和企業(yè)的產(chǎn)品發(fā)展決策進(jìn)行挑選,。例如,在線升級,、軟件發(fā)布管理適用于具有Internet或內(nèi)網(wǎng)環(huán)境的軟件產(chǎn)品,;數(shù)據(jù)管理對于產(chǎn)生數(shù)據(jù)存儲的產(chǎn)品則是必須的,設(shè)計(jì)人員不應(yīng)假設(shè)用戶同時是一個合格的DBA,。而且系統(tǒng)所產(chǎn)生信息的分布和關(guān)系,也不是DBA所應(yīng)該了解的內(nèi)容,。因此完整的系統(tǒng)應(yīng)該包括數(shù)據(jù)備份,、恢復(fù)、日志管理及垃圾數(shù)據(jù)清除等基本功能,,哪怕這些功能的核心只是一條語句或命令,;用戶管理功能是另一項(xiàng)必不可少的功能,它定義哪些用戶可以以什么樣的功能使用系統(tǒng),。好的用戶管理功能不僅可以有效控制用戶對系統(tǒng)的使用,,使系統(tǒng)處于一個安全且負(fù)載合理的運(yùn)行狀況,,還能提高系統(tǒng)的應(yīng)用適應(yīng)性。 2.系統(tǒng)的可擴(kuò)充性與可維護(hù)性 指系統(tǒng)對技術(shù)和業(yè)務(wù)需求變化的支持能力,。當(dāng)技術(shù)變化或業(yè)務(wù)變化時,,不可避免將帶來系統(tǒng)的改變。不僅要進(jìn)行設(shè)計(jì)實(shí)現(xiàn)的修改,,甚至要進(jìn)行產(chǎn)品定義的修改,。好的軟件設(shè)計(jì)應(yīng)在系統(tǒng)架構(gòu)上考慮能以盡量少的代價(jià)適應(yīng)這種變化,常用的技術(shù)有面向?qū)ο蟮姆治雠c設(shè)計(jì)及設(shè)計(jì)模式,。 3.技術(shù)適應(yīng)性與應(yīng)用適應(yīng)性 系統(tǒng)的適應(yīng)性與系統(tǒng)的可擴(kuò)充性和可維護(hù)性的概念相似,,也表現(xiàn)產(chǎn)品的一種應(yīng)變能力,但適應(yīng)性強(qiáng)調(diào)的是在不進(jìn)行系統(tǒng)設(shè)計(jì)修改的前提下對技術(shù)與應(yīng)用需求的適應(yīng)能力,,軟件產(chǎn)品的適應(yīng)性通常表現(xiàn)為產(chǎn)品的可配置能力,。好的產(chǎn)品設(shè)計(jì)可能要考慮到運(yùn)行條件的變化,包括技術(shù)條件(網(wǎng)絡(luò)條件,、硬件條件和軟件系統(tǒng)平臺條件等)的變化和應(yīng)用方式的變化,,如在具體應(yīng)用中界面的變化、功能的剪裁,、不同用戶的職責(zé)分配和組合等,。 對以上重要的非功能性需求進(jìn)行逐一分析后,即可開始進(jìn)行產(chǎn)品功能設(shè)計(jì),。實(shí)際上,,非功能性需求定義將反映到系統(tǒng)的功能設(shè)計(jì)中,表現(xiàn)為系統(tǒng)的架構(gòu),。下一節(jié)中將會描述如何實(shí)現(xiàn)系統(tǒng)的適應(yīng)性,。 |
|