、擴(kuò)充,廣泛應(yīng)用于其他相關(guān)應(yīng)用,如專業(yè)培訓(xùn)機(jī)構(gòu)、網(wǎng)絡(luò)化學(xué)校教育等。
三、軟件產(chǎn)品的非功能性需求定義
軟件產(chǎn)品的需求可以分為功能性需求和非功能性需求。其中軟件產(chǎn)品的非功能性需求是常常被輕視、甚至被忽視的一個(gè)重要方面。其實(shí),軟件產(chǎn)品非功能性定義不僅決定產(chǎn)品的質(zhì)量,還在很大程度上影響產(chǎn)品的功能需求定義。如果事先缺乏很好的非功能性需求定義,結(jié)果往往是使產(chǎn)品在非功能性需求面前捉襟見肘,甚至淹沒功能性需求給用戶帶來的價(jià)值。
所謂非功能性需求,是指軟件產(chǎn)品為滿足用戶業(yè)務(wù)需求而必須具有的、除功能需求以外的特性。軟件產(chǎn)品的非功能性需求包括系統(tǒng)的性能、可靠性、可維護(hù)性、可擴(kuò)充性、對(duì)技術(shù)和對(duì)業(yè)務(wù)的適應(yīng)性,等等。下面對(duì)其中的某些指標(biāo)加以說明。
1、系統(tǒng)的完整性
指為完成業(yè)務(wù)需求和系統(tǒng)正常運(yùn)行本身要求而必須具有的功能,這些功能往往是用戶不能提出的。典型的功能有:聯(lián)機(jī)幫助、數(shù)據(jù)管理、用戶管理、軟件發(fā)布管理、在線升級(jí),等等。
并不是所有的系統(tǒng)都必須包括以上所有的功能,而是可以根據(jù)產(chǎn)品的使用環(huán)境和企業(yè)的產(chǎn)品發(fā)展決策進(jìn)行挑選。例如,在線升級(jí)、軟件發(fā)布管理適用于具有因特網(wǎng)或內(nèi)網(wǎng)環(huán)境的軟件產(chǎn)品;而數(shù)據(jù)管理對(duì)于產(chǎn)生數(shù)據(jù)存儲(chǔ)的產(chǎn)品則是必須的,設(shè)計(jì)人員不應(yīng)假設(shè)用戶同時(shí)是一個(gè)合格的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)。好的用戶管理功能不僅可以有效控制用戶對(duì)系統(tǒng)的使用,使系統(tǒng)處于一個(gè)安全、負(fù)載合理的運(yùn)行狀況,還能提高系統(tǒng)的應(yīng)用適應(yīng)性。
2、系統(tǒng)的可擴(kuò)充性與可維護(hù)性
指系統(tǒng)對(duì)技術(shù)和業(yè)務(wù)需求變化的支持能力。當(dāng)技術(shù)變化或業(yè)務(wù)變化時(shí),不可避免將帶來系統(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ì)的修改的前提下對(duì)技術(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)平臺(tái)條件等)的變化和應(yīng)用方式的變化,如在具體應(yīng)用中界面的變化、功能的剪裁、不同用戶的職責(zé)分配和組合等。
對(duì)以上重要的非功能性需求進(jìn)行逐一分析后,就可以開始進(jìn)行產(chǎn)品功能設(shè)計(jì)了。實(shí)際上,非功能性需求定義將反映到系統(tǒng)的功能設(shè)計(jì)中,表現(xiàn)為系統(tǒng)的架構(gòu)。下一節(jié)中將會(huì)描述怎樣實(shí)現(xiàn)系統(tǒng)的適應(yīng)性。
四、軟件產(chǎn)品的功能設(shè)計(jì)要點(diǎn)
1、產(chǎn)品核心功能的選取
軟件產(chǎn)品的設(shè)計(jì),一定有一個(gè)明確的目標(biāo):或是為了解決某個(gè)或某類具體的應(yīng)用問題,或是為解決問題提供一個(gè)或一組工具。產(chǎn)品的目標(biāo)決定了產(chǎn)品的核心功能,產(chǎn)品的其他功能都是對(duì)這一功能的補(bǔ)充或圍繞這一功能提供的相關(guān)服務(wù)。
適當(dāng)選取核心功能,有幾點(diǎn)原則:
(1)規(guī)模適當(dāng),不貪大求全,堅(jiān)持"有所不為"。具體來說,在一個(gè)產(chǎn)品中,非核心功能盡量的簡化和弱化。以"多媒體遠(yuǎn)程教學(xué)系統(tǒng)"為例,核心功能應(yīng)該是基于網(wǎng)絡(luò)的多媒體遠(yuǎn)程教學(xué),包括同步教學(xué)和非同步教學(xué)。與教學(xué)相關(guān)的學(xué)籍管理、教務(wù)管理、答疑考試、收費(fèi)管理等輔助功能則采取最小化原則進(jìn)行設(shè)計(jì)。這樣既可以突出產(chǎn)品的技術(shù)特點(diǎn),又可以避免以己之短搏人之長,顯得產(chǎn)品在培訓(xùn)教育方面不夠?qū)I(yè)。等到核心功能穩(wěn)定
項(xiàng)目經(jīng)理勝任力免費(fèi)測(cè)評(píng)PMQ上線啦!快來測(cè)測(cè)你排多少名吧~
http://opto-elec.com.cn/pmqhd/index.html