為避免軟件開發(fā)中需求分析到總體設(shè)計(jì)這個(gè)環(huán)節(jié)的歧異性問(wèn)題,目前,國(guó)際流行的軟件開發(fā)模式中增加了FS+UI(功能規(guī)范和用戶界面)這個(gè)環(huán)節(jié),這個(gè)環(huán)節(jié)不但解決了用戶在需求分析理解上的困難,同時(shí)也解決了軟件開發(fā)過(guò)程各種角色人員的并行工作問(wèn)題,便于軟件開發(fā)工期的縮短,有利軟件開發(fā)質(zhì)量與成本的控制 [ FS+UI(功能規(guī)范和用戶界面)見后面章節(jié) ]。
4.2 軟件開發(fā)各階段目標(biāo)
以下軟件開發(fā)階段劃分的各階段的任務(wù)與目標(biāo)做以簡(jiǎn)單描述,這是軟件公司進(jìn)行質(zhì)量控制的基礎(chǔ)。
1) 可行性分析
可行性分析是軟件項(xiàng)目立項(xiàng)的必要階段,對(duì)于項(xiàng)目型軟件開發(fā),可行性分析一般由用戶自行完成,軟件公司基本在技術(shù)上給予必要的支持。對(duì)于產(chǎn)品型軟件開發(fā),可行性分析是非常重要的一環(huán),產(chǎn)品采用的技術(shù)、市場(chǎng)定位與銷售策略等直接關(guān)系著產(chǎn)品的生存與發(fā)展。
可行性分析基本包括如下幾個(gè)方面的內(nèi)容,
A. 項(xiàng)目定義:項(xiàng)目定義主要是對(duì)產(chǎn)品定位有一個(gè)大致的描述,鉤畫出該軟件產(chǎn)品的運(yùn)行環(huán)境、產(chǎn)品功能、用戶特征以及制約因數(shù)進(jìn)行全面的描述,以便下一步工作的展開。
B. 技術(shù)分析: 此處的技術(shù)主要包括軟件的開發(fā)環(huán)境與運(yùn)行環(huán)境所涉及的各方面技術(shù),在此應(yīng)對(duì)這些技術(shù)的發(fā)展?fàn)顩r,成熟情況及未來(lái)的技術(shù)走勢(shì)應(yīng)有細(xì)致的闡述。
C. 市場(chǎng)分析: 包括國(guó)內(nèi)外行業(yè)發(fā)展現(xiàn)狀、市場(chǎng)格局、發(fā)展趨勢(shì),在市場(chǎng)容量統(tǒng)計(jì)數(shù)據(jù)的基礎(chǔ)上,推測(cè)我們產(chǎn)品可能的市場(chǎng)占有率及銷售情況。
D. 產(chǎn)品策略: 產(chǎn)品策略包括產(chǎn)品的技術(shù)策略與產(chǎn)品的市場(chǎng)策略。
E. 投資與回報(bào)分析:項(xiàng)目投資總額、項(xiàng)目成本核算、項(xiàng)目收益、投資回報(bào)等。
F. 已有資源分析:包括資金資源、人力資源、技術(shù)資源等的分析。
G. 其它應(yīng)考慮的因素
2) 需求分析
需求分析是軟件項(xiàng)目正式實(shí)施開始的第一個(gè)階段,需求分析應(yīng)該遵循可行性分析確定的基調(diào),包括技術(shù)路線、產(chǎn)品基本功能、產(chǎn)品運(yùn)行環(huán)境及市場(chǎng)定位。需求分析主要應(yīng)完成對(duì)用戶應(yīng)用流程的描述,即完成商業(yè)邏輯分析。并根據(jù)商業(yè)邏輯的需要確定軟件的功能列表及描述。
3) FS+UI
A. 總體描述,包括應(yīng)用平臺(tái)及應(yīng)用限制,...
B. 功能列表
C. 用戶界面
FS+UI的合格與否取決于能否完成以下二方面的工作。
、 完成用戶手冊(cè)的編寫!
、 準(zhǔn)備測(cè)試計(jì)劃、測(cè)試用例及確定驗(yàn)收標(biāo)準(zhǔn)!
FS+UI是產(chǎn)品管理部門與軟件開發(fā)部門的接口,對(duì)于項(xiàng)目型開發(fā)是軟件開發(fā)商與用戶責(zé)任劃分的重要依據(jù),F(xiàn)S+UI不同于需求分析,它提供給用戶的是一個(gè)清晰可見的用戶界面與完整的功能說(shuō)明,方便用戶的理解與確認(rèn)。軟件開發(fā)據(jù)此進(jìn)行下一步工作有了堅(jiān)實(shí)的基礎(chǔ),避免軟件交付后的大量修改工作,有利于軟件質(zhì)量與進(jìn)度的控制。同時(shí),便于軟件開發(fā)并行工作的展開。
FS+UI是軟件總體設(shè)計(jì)及軟件α測(cè)試的基礎(chǔ)。
4) 總體設(shè)計(jì)
總體設(shè)計(jì)的依據(jù)是FS+UI文檔,其目的是根據(jù)FS+UI要求,依據(jù)具體采用的開發(fā)工具與技術(shù)平臺(tái)確定軟件實(shí)現(xiàn)的對(duì)象關(guān)系與數(shù)據(jù)庫(kù)結(jié)構(gòu)。并非項(xiàng)目組每個(gè)成員均參加總體設(shè)計(jì),一般來(lái)講,一般中小項(xiàng)目總體設(shè)計(jì)為一到二個(gè)人,中大型項(xiàng)目一般為一個(gè)總體設(shè)計(jì)小組,由項(xiàng)目總設(shè)計(jì)師負(fù)責(zé)將項(xiàng)目進(jìn)行分解為可操作的大小,交由不同設(shè)計(jì)小組完成相關(guān)功能的總體設(shè)計(jì),總設(shè)計(jì)師負(fù)責(zé)協(xié)調(diào)各子項(xiàng)之間的協(xié)調(diào)關(guān)系,從而完成大型的總體設(shè)計(jì)。
總體設(shè)計(jì)設(shè)計(jì)深度情況直接影響下一步的詳細(xì)設(shè)計(jì)。過(guò)細(xì)的總體設(shè)計(jì)也是不必要的,少量的人員進(jìn)行過(guò)細(xì)的設(shè)計(jì)必然影響整個(gè)項(xiàng)目的設(shè)計(jì)周期,而過(guò)粗的總體設(shè)計(jì)當(dāng)然也不利于詳細(xì)設(shè)計(jì)設(shè)計(jì)任務(wù)的分配與設(shè)計(jì)展開。
總體設(shè)計(jì)是軟件詳細(xì)設(shè)計(jì)及軟件集成測(cè)試的基礎(chǔ)。
5) 詳細(xì)設(shè)計(jì)
詳細(xì)設(shè)計(jì)是總體設(shè)計(jì)的繼續(xù),主要目的是完成總體設(shè)計(jì)完成的對(duì)象內(nèi)部的商業(yè)邏輯的實(shí)現(xiàn)設(shè)計(jì),在總體設(shè)計(jì)完成后可以將不同的設(shè)計(jì)對(duì)象交由不同的設(shè)計(jì)人員來(lái)完成。原則上講,在開始軟件編碼之前應(yīng)完成所有的設(shè)計(jì)細(xì)節(jié),避免在編碼中進(jìn)行設(shè)計(jì)工作。
詳細(xì)設(shè)計(jì)是編碼及軟件模塊測(cè)試的基礎(chǔ)。
6) 編碼
編碼是軟件詳細(xì)設(shè)計(jì)的一種再現(xiàn),編碼中重要的是要遵從相關(guān)開發(fā)工具的設(shè)計(jì)規(guī)范及數(shù)據(jù)庫(kù)設(shè)計(jì)規(guī)范,另外,養(yǎng)成一個(gè)良好的編程習(xí)慣是一個(gè)軟件公司和軟件編程人員基本的職業(yè)素質(zhì)。
對(duì)于軟件應(yīng)用可靠性要求嚴(yán)格的案例,所有軟件模塊必須通過(guò)模塊測(cè)試,對(duì)一般應(yīng)用軟件中的重要模塊也應(yīng)進(jìn)行模塊測(cè)試。
7) 集成
集成是軟件開發(fā)中重要的一環(huán),集成測(cè)試的依據(jù)是軟件的總體設(shè)計(jì)。如果缺乏前期的模塊測(cè)試,必然會(huì)導(dǎo)致集成時(shí)間的加長(zhǎng),同時(shí)也會(huì)加重后期的α測(cè)試及問(wèn)題處理的工作量。
8) α測(cè)試
α測(cè)試是在軟件集成結(jié)束后軟件開發(fā)進(jìn)入的下一個(gè)環(huán)節(jié),它標(biāo)志著軟件開發(fā)從設(shè)計(jì)級(jí)段進(jìn)入軟件測(cè)試階段。一般情況下,軟件開發(fā)從設(shè)計(jì)進(jìn)入測(cè)試是通過(guò)CMO來(lái)完成這一過(guò)程。
為完成α測(cè)試,測(cè)試部門一般包括如下幾個(gè)方面的工作。
① 編制測(cè)試計(jì)劃
、 編制測(cè)試用例
、 測(cè)試執(zhí)行
、 測(cè)試結(jié)論(包括問(wèn)題報(bào)告)
一般而言,測(cè)試工作基本上可以分為如下幾個(gè)輪回:
α測(cè)試是軟件公司對(duì)自身產(chǎn)品的一次自我測(cè)試,α測(cè)試結(jié)束后,測(cè)試部門會(huì)提供一個(gè)軟件測(cè)試評(píng)價(jià)報(bào)告,這個(gè)評(píng)價(jià)報(bào)告在某種程度上決定了該軟件是否適應(yīng)商業(yè)銷售。
一般來(lái)講,軟件通過(guò)測(cè)試并不意味著軟件沒(méi)有任何問(wèn)題,只是意味軟件通過(guò)了可接受測(cè)試條件。軟件測(cè)試的問(wèn)題報(bào)告是軟件公司售后服務(wù)與產(chǎn)品升級(jí)的重要參考因素之一。