第一篇:軟件需求分析考試資料
1、需求分析的最終結(jié)果是需求規(guī)格說明書。
2、需求分析中開發(fā)人員要從用戶那里解決的最重要的問題是讓軟件做什么。
3、需求規(guī)格說明書中的內(nèi)容不應(yīng)該包括對算法的詳細(xì)過程的描述。
4、需求規(guī)格說明書的作用不應(yīng)包括軟件可行性研究的依據(jù)。
5、關(guān)于面向?qū)ο蠓椒ㄖ邢⒌臄⑹?,不正確的是操作系統(tǒng)不斷向應(yīng)用程序發(fā)送消息,但應(yīng)
用程序不能向操作系統(tǒng)發(fā)送消息。
6、面向?qū)ο蠹夹g(shù)中,對象是類的實例,對象有三種成分標(biāo)識、屬性、方法(或操作)
7、軟件需求分析階段的工作,可以分成以下四個方面對問題的識別、分析與綜合、制定規(guī)
格說明以及需求分析評審。
8、軟件需求規(guī)格說明書的內(nèi)容不應(yīng)該包括對算法的詳細(xì)過程的描述。
9、產(chǎn)品特性可以稱為質(zhì)量屬性,在眾多質(zhì)量屬性,對于開發(fā)人員來說重要的屬性有哪些?
可維護(hù)性、可移植性、可重用性、可測試性
10、求包括11個方面的內(nèi)容,其中網(wǎng)絡(luò)和操作系統(tǒng)的要求屬于環(huán)境需求,如何隔離用戶之間的數(shù)據(jù)屬于安全保密需求,執(zhí)行速度、相應(yīng)時間及吞吐量屬于性能需求,規(guī)定系統(tǒng)平均出錯時間屬于質(zhì)量保證。
11、需求分析過程應(yīng)該建立3中模型,他們分別是數(shù)據(jù)模型、功能模型、行為模型,以下幾種圖形中,數(shù)據(jù)流圖(DFD)屬于功能模型,實體-聯(lián)系圖(ERD)屬于數(shù)據(jù)模型,狀態(tài)轉(zhuǎn)換圖(STD)屬于行為模型。
12、常用的需求分析方法有:面向數(shù)據(jù)流的結(jié)構(gòu)化分析方法(SA),面向?qū)ο蟮姆治龅姆治龇椒ǎ∣OA),下列(D)不是結(jié)構(gòu)化分析方法的圖形工具。
A 決策樹B 數(shù)據(jù)流圖C數(shù)據(jù)字典D快速原型
13、軟件開發(fā)中,原型是軟件的一個早期可運行的版本,它反映最終系統(tǒng)的部分重要特性,其中,探索型和實驗型用完可以丟棄,而進(jìn)化型圍繞原型修改、增加。
14、數(shù)據(jù)流圖用于描述數(shù)據(jù)的處理過程。
15、DFD 的基本符號不包括下列哪種?(A)。
A 數(shù)據(jù)字典B 加工C 外部實體D 數(shù)據(jù)流E 數(shù)據(jù)存儲文件
16、DD的主要字典條目包括以下哪種(E)
A 數(shù)據(jù)流B文件C 數(shù)據(jù)項D加工E以上都是
17、常用的動態(tài)分析方法不包括以下哪種(B)
A 狀態(tài)遷移圖B 層次方框圖C 時序圖D Petri網(wǎng)
18、需求分析階段的文檔包括以下哪些(E)
A 軟件需求規(guī)格說明書B 數(shù)據(jù)要求說明書C 初步的用戶手冊D 修改、完善與確定開發(fā)實施計劃E 以上都是
19、需求驗證應(yīng)該從下述幾個方面進(jìn)行驗證:(C)
A 可靠性、可用性、易用性、重用性B 可維護(hù)性、可移植性、可重用性、可測試性
C 一致性、現(xiàn)實性、完整性、有效性 D 功能性、非功能性
20、風(fēng)險管理的要素包括哪些(D)
A 風(fēng)險評價B 風(fēng)險避免C 風(fēng)險控制D 以上都是
21、下列描述中錯誤的是(D)
A 每一個集成的需求變更必須能跟蹤控制到一個經(jīng)核準(zhǔn)的變更請求。
B 變更過程應(yīng)該做成文檔,盡可能簡單,當(dāng)然首要的是有效性。
C 所有需求變更必須遵循過程,按照此過程,如果一個變更需求未被采納,則其后過程不再予以考慮。
D 可以從數(shù)據(jù)庫中刪除或修改變更請求的原始文檔。
二、填空題
1、需求分析階段產(chǎn)生的最重要的文檔是(需求分析說明書)。
2、需求分析的主要任務(wù)是(要回答“軟件必須做什么?”)。
3、需求分析階段,分析人員要確定對問題的綜合需求,其中最主要的是(功能需求)需求。
4、需求分析階段研究的對象是軟件項目的(用戶要求)。
5、軟件生命周期:問題分析、可行性研究、需求分析、總體設(shè)計、詳細(xì)設(shè)計、編碼和單元測試、綜合測試、軟件維護(hù)。
6、信息系統(tǒng)必須實現(xiàn)的功能,或者說信息系統(tǒng)必須具備的屬性和質(zhì)量稱為(系統(tǒng)需求(需求))
7、(模型)是為了理解事物而對事物做出的一種抽象,是對事物的一種無歧義的書面描述通常,由一組圖形符號和組織這些符號的規(guī)則組成。
8、軟件需求分析階段的目的是澄清用戶的要求,并把雙方共同的理解明確地表達(dá)成一份書面文檔——(軟件需求規(guī)格說明書。
9、軟件需求分類,分為(功能性)需求和(非功能性)需求。
10、需求分析的步驟包括(需求獲?。?、(分析建模)、文檔編寫。。
三、名詞解釋
第一、二空缺。
3、需求工程:整個軟件需求范圍內(nèi)所進(jìn)行的活動稱為需求過程,需求工程包括需求開發(fā)和需求管理兩部分,需求開發(fā)包括問題獲取、分析、編寫規(guī)格說明和驗證。
4、業(yè)務(wù)模型:業(yè)務(wù)模型是理解是理解一個組織業(yè)務(wù)過程的技術(shù),可以用業(yè)務(wù)用例模型和業(yè)務(wù)對象模型來表達(dá)業(yè)務(wù)模型,業(yè)務(wù)用例模型分別是分別從與業(yè)務(wù)過程和客戶對應(yīng)的業(yè)務(wù)用例和業(yè)務(wù)參與者的角度來描述企業(yè)的業(yè)務(wù)過程;業(yè)務(wù)對象模型描述了如何由一組工作人員使用一些業(yè)務(wù)實體和工作單元來實現(xiàn)每個業(yè)務(wù)用例。
5、原型開發(fā)方法:一個軟件原型是所提出的新產(chǎn)品的部分市縣,使用原型有三個主要目的:
1)明確并完善需求,2)探索設(shè)計選擇方案,3)發(fā)展成為最終的產(chǎn)品,建立原型的主要原因是為了解決在產(chǎn)品開發(fā)的早期階段不確定的問題,原型可分為拋棄型原型和進(jìn)化型原型。
6、數(shù)據(jù)字典:一個定義應(yīng)用程序中使用的所有數(shù)據(jù)元素和結(jié)構(gòu)的含義、類型、數(shù)據(jù)大小、格式、度量單位、精度以及允許取值范圍的共享倉庫。
四、簡答題
1、生命周期模型是什么?常見的生命周期模型有哪幾種?
答:對軟件開發(fā)流程的一種描述:為解決問題所定義的策略;對典型開發(fā)活動的抽象。常見的生命周期模型:Waterfall,Prototyping,Phased,Spiral(瀑布模型、快速原型模型、增量模型,螺旋模型)
2、為什么要使用生命周期模型?
答:幫助開發(fā)組了解他們在開發(fā)項目的活動、資源和限制;幫助項目了解在開發(fā)過程中的不一致,丟失,冗余等情況,把注意力集中在開發(fā)最終產(chǎn)品上;幫助項目組剪裁開發(fā)過程——沒有基礎(chǔ)就無從剪裁。
3、waterfall的優(yōu)勢是什么?
答:具有良好定義的里程碑,利于向不熟悉軟件開發(fā)的客戶講解流程;幫助開發(fā)人員理解需要做的事情;清楚地描述下階段開始前需要的中間產(chǎn)品;是很多其他LC模型的基礎(chǔ)。
4、需求分析階段的基本人物是什么?
答:需求分析階段的基本任務(wù)是:
(1)問題識別:雙方對問題的綜合需求;a.功能需求 b.性能需求c.環(huán)境需求d.用戶界面
需求。
(2)分析與綜合,到處軟件的邏輯模型。
(3)編寫文檔。
五、問答題
1、軟件過程的概念及分類,基本過程包含些什么及每個過程的具體內(nèi)容。
答:軟件過程也稱為軟件生存周期過程或軟件過程組,是指軟件生存周期中的一系列相關(guān)過程,過程就是過程的集合,活動是任務(wù)的集合,人物則起到把輸入加工成輸出的作用?;顒拥膱?zhí)行可以是順序的、迭代的(重復(fù)的)、并行的、嵌套的或是有條件引發(fā)的。
軟件過程可以分為三類:基本過程、支持過程和組織過程。
基本過程包括:
1)獲取過程:(項目委托方)確定需求;招標(biāo);簽訂合同;對供應(yīng)方的監(jiān)督;驗收完成。
2)供應(yīng)過程:(項目承包方)理解需求;投標(biāo);簽訂合同;計劃;實施;控制;評審評
價;交付。
3)開發(fā)過程:(軟件開發(fā)人員)過程實施準(zhǔn)備;系統(tǒng)需求分析;系統(tǒng)結(jié)構(gòu)設(shè)計;軟件需
求分析;軟件體系結(jié)構(gòu)設(shè)計;軟件詳細(xì)設(shè)計;軟件編碼測試;軟件集成;軟件合格測試;系統(tǒng)集成;系統(tǒng)合格測試;軟件安裝;驗收支持。
4)運行過程:(用戶)運行準(zhǔn)備;運行測試;產(chǎn)品轉(zhuǎn)移;運行;運行支持;運行評價。
5)維護(hù)過程:(維護(hù)人員)過程實施準(zhǔn)備;問題分析和修改設(shè)計;修改實施;對維護(hù)的評審和驗收;軟件移植;軟件退役。
2、簡述軟件需求工程分為哪幾類?其中需求獲取和需求規(guī)約的目的和任務(wù)。
答:軟件需求工程細(xì)分為:需求獲取、需求分析與協(xié)商、系統(tǒng)建模、需求規(guī)約、需求驗證和需求管理六個階段。
需求獲?。合到y(tǒng)分析人員通過與用戶的交流,對現(xiàn)有系統(tǒng)的觀察及任務(wù)進(jìn)行分析,確定系統(tǒng)或產(chǎn)品范圍的限制性描述、與系統(tǒng)或產(chǎn)品有關(guān)的人員及特征列表、系統(tǒng)的技術(shù)環(huán)境的描述、系統(tǒng)功能的列表及應(yīng)用于每個需求的領(lǐng)域限制、一組描述不同運行條件下系統(tǒng)或產(chǎn)品使用狀況的應(yīng)用場景以及為更好地定義需求而開發(fā)的任意原型。
需求規(guī)約:軟件需求規(guī)約是分析任務(wù)的最終產(chǎn)物,通過建立完整的信息描述、詳細(xì)的功能和行為描述、性能需求和設(shè)計約束的說明、合適的驗收標(biāo)準(zhǔn),給出對目標(biāo)的各種要求。需求規(guī)約作為用戶和開發(fā)組之間的一個協(xié)議,在之后的軟件工程各個階段發(fā)揮重要作用。
3、簡述軟件體系結(jié)構(gòu)的概念及基于B/S體系結(jié)構(gòu)的實現(xiàn)方式。
答:軟件體系結(jié)構(gòu):軟件體系結(jié)構(gòu)是具有一定形式的結(jié)構(gòu)化元素,即構(gòu)件的集合,包括處理構(gòu)件、數(shù)據(jù)構(gòu)件和連接構(gòu)件,處理構(gòu)件負(fù)責(zé)對數(shù)據(jù)進(jìn)行加工,數(shù)據(jù)構(gòu)件是被加工的信息,連接構(gòu)件把體系結(jié)構(gòu)的不同部分組合連接起來。
B/S結(jié)構(gòu):瀏覽器(客戶機(jī))—WEB服務(wù)器—數(shù)據(jù)庫服務(wù)器
B/S體系結(jié)構(gòu)的實現(xiàn)方式:B/S模式下的客戶機(jī)只需安裝瀏覽器軟件,無須開發(fā)前端應(yīng)用程序;中間層的WEB應(yīng)用服務(wù)器,主要的數(shù)據(jù)計算和應(yīng)用都在此完成,因此對中間層服務(wù)器的要求較高;后臺數(shù)據(jù)庫服務(wù)器主要完成數(shù)據(jù)的管理。
4、用戶界面設(shè)計三個的任務(wù)和目的答:用戶界面設(shè)計在工作流程上分為結(jié)構(gòu)設(shè)計、交互設(shè)計、視覺設(shè)計三個部分。
1)結(jié)構(gòu)設(shè)計:結(jié)構(gòu)設(shè)計也稱概念設(shè)計,是界面設(shè)計的骨架,通過用戶研究和任務(wù)分析,制定出產(chǎn)品的整體架構(gòu),基于紙質(zhì)的低保真原型可提供用戶測試并進(jìn)行完善,在結(jié)
構(gòu)設(shè)計中,目錄體系的邏輯分類和語詞定義是用戶易于理解和操作的重要前提。
2)交互設(shè)計:交互設(shè)計的目的是使產(chǎn)品讓用戶能簡單使用,任何產(chǎn)品功能的實現(xiàn)都是
通過人和機(jī)器的交互來完成的。因此,人的因素應(yīng)作為設(shè)計的核心被體現(xiàn)出來。
3)視覺設(shè)計:在結(jié)構(gòu)設(shè)計的基礎(chǔ)上,參照目標(biāo)群體的心理模型和任務(wù)達(dá)成進(jìn)行視覺設(shè)
計,包括色彩、字體、頁面等,視覺設(shè)計要達(dá)到用戶愉悅使用的目的。
5、需求規(guī)格說明文檔的作者及表現(xiàn)手段
答:作者:
項目管理者:組織安排、提供條件。
需求工程師:負(fù)責(zé)人、主導(dǎo)人。
文檔寫作人員:有時會采用,節(jié)省需求工程師的時間
涉眾(用戶):驗證人
表現(xiàn)手段:
非形式化:自然語言、限制性文本
半形式化:結(jié)構(gòu)化文本(偽碼/結(jié)構(gòu)化英語)、模型語言(圖、表)
形式化:形式化語言(數(shù)學(xué)語言:BNF)
6、數(shù)據(jù)庫設(shè)計的內(nèi)容及常用方法
答:數(shù)據(jù)庫設(shè)計包括數(shù)據(jù)庫的結(jié)構(gòu)設(shè)計和數(shù)據(jù)庫的行為設(shè)計。
1)數(shù)據(jù)庫的結(jié)構(gòu)設(shè)計
數(shù)據(jù)庫的結(jié)構(gòu)設(shè)計指是根據(jù)給定的應(yīng)用環(huán)境,進(jìn)行數(shù)據(jù)庫的模式或子模式的設(shè)計。它包括數(shù)據(jù)庫的概念設(shè)計、邏輯設(shè)計和物理設(shè)計,數(shù)據(jù)庫模式是各應(yīng)用程序共享的結(jié)構(gòu),是靜態(tài)的、穩(wěn)定的,一經(jīng)形成后通常情況下是不容易改變的,所以結(jié)構(gòu)設(shè)計又稱為靜態(tài)模型設(shè)計。
2)數(shù)據(jù)庫的行為設(shè)計
數(shù)據(jù)庫的行為設(shè)計是指確定數(shù)據(jù)庫用戶的行為和動作,而在數(shù)據(jù)庫系統(tǒng)中,用戶的行為和動作指用戶對數(shù)據(jù)庫的操縱,這些要通過應(yīng)用程序來實現(xiàn),所以數(shù)據(jù)庫的行為設(shè)計就是應(yīng)用程序的設(shè)計。用戶的行為總是使數(shù)據(jù)庫的內(nèi)容發(fā)生變化,所以行為設(shè)計是動態(tài)的,行為設(shè)計又稱為動態(tài)模型設(shè)計。
數(shù)據(jù)庫常用設(shè)計方法:直觀設(shè)計法、規(guī)范設(shè)計法、計算機(jī)輔助設(shè)計法、自動化設(shè)計法。
7、如何正確看待客戶?
答:即使最終用戶不是上帝,也算是上帝的親戚,同樣怠慢不得
如果項目規(guī)模比較大,那么開發(fā)方與最終用戶的來往就比較多。如從最終用戶那里獲取詳細(xì)的需求,請最終用戶試驗軟件,對最終用戶進(jìn)行培訓(xùn)等等。
8、概括說明如何進(jìn)行需求分析?
答:(1)需求分析是指需求開發(fā)過程中,對所獲取的需求信息進(jìn)行分析,及時排除錯誤和彌補(bǔ)不足,確保需求文檔正確地反映用戶的真實意圖。
(2)分析方法大體有兩類:“回答分析法”和“建模分析法”。
第一:問答分析方法很簡單:刨根究底地問,如果問題都被解答了,那么需求也就分析清楚了,一個人可以“自問自答”地分析需求,幾個人分析需求則稱為“研討”,問答分析最重要的問題是:“是什么”和“為什么”,其它常見的問題有:需求存在二義性嗎?需求文檔的上下文有矛盾嗎?需求完備嗎?需求是必要的嗎?需求可實現(xiàn)嗎?需求可驗證嗎?需求的優(yōu)先級確定了嗎?
第二:建模分析法:在需求開發(fā)過程中,對于某些類型的信息,用圖形表示要比文本表示更加有效,所以將圖形與文本結(jié)合起來描述需求是很自然的方法。需求建模就是指用圖形符號來表示、刻畫需求,需求建模不可能取代文字描述。在需求文檔中,文字描述是第一重要的,建模主要是起分析、解釋作用、建議將模型存放在需求文檔的附錄中,便于正文引用。建模分析方法主要有兩大類:“結(jié)構(gòu)化分析法“和”面向?qū)ο蠓治龇椒ā啊?/p>
第二篇:軟件需求-案例分析
1、問題描述
許多醫(yī)院存在高峰期掛號排隊時間長,就診等待時間長,倒號現(xiàn)象頻發(fā)的問題。因此,構(gòu)建一個網(wǎng)上預(yù)約掛號系統(tǒng),通過推薦患者使用該系統(tǒng)進(jìn)行出診信息查詢和醫(yī)生預(yù)約,可以緩解就診壓力、節(jié)約患者的時間,并且可以在一定程度上保證預(yù)約者和就診者一致,有利于提高醫(yī)院的服務(wù)質(zhì)量。為了更好的設(shè)計并實現(xiàn)這一系統(tǒng),對系統(tǒng)進(jìn)行需求建模和分析是十分必要的。
2、情景描述的主要成分
2.1、該系統(tǒng)所涉及的用戶
本系統(tǒng)的用戶包含患者、醫(yī)生以及管理員三類。而且該三類用戶各自的特征和所要面對的情景也是截然不同的。
對于患者來說,他們在年齡、計算機(jī)使用能力等方面存在較大差異,但面對的情景都一樣,就是要預(yù)約掛號,掛號成功過后就診。
對于醫(yī)生來說,普遍具備較高的學(xué)歷,在醫(yī)療方面具備專業(yè)知識,有一定的計算機(jī)使用能力。所面對的情景有查看掛號信息,確定要就診的病人。
對于管理員來說,他們負(fù)責(zé)對出診信息進(jìn)行管理,是醫(yī)院工作的安排者,具備較強(qiáng)的計算機(jī)使用能力。
不同的用戶,對系統(tǒng)的要求也不相同?;颊呦Mㄟ^完成注冊和登錄后能夠進(jìn)行掛號預(yù)約,查詢醫(yī)生的出診信息和個人預(yù)約信息,并且能夠在規(guī)定的時間內(nèi)完成掛號預(yù)約或者取消已有的預(yù)約;醫(yī)生則希望能夠在登錄系統(tǒng)后可以查看病人的預(yù)約情況;而管理員希望可以修改出診信息和調(diào)整預(yù)約掛號。這些都是功能性的需求。
同時對于所有用戶都希望該系統(tǒng)是易用的,而且能夠?qū)ψ约旱男畔⑵鸬奖Wo(hù)即系統(tǒng)安全性的要求,還有比如說系統(tǒng)的性能比較高效,能夠及時處理自己的預(yù)約申請。當(dāng)然開發(fā)系統(tǒng)的成本如果也能較低就更好了。這些都是非功能需求。
2.2、情景描述的主要成分
? 目標(biāo)和關(guān)鍵成功因素
預(yù)約掛號情景的目標(biāo)是“讓患者能夠及時的掛號,并能順利的就診”,而可能的子目標(biāo)包括:患者能夠注冊賬號,患者能夠登錄賬號,患者能夠查詢預(yù)約記錄,患者能夠取消已有預(yù)約,患者能夠查詢出診信息。關(guān)鍵成功因素,要保證系統(tǒng)能夠24小時正常穩(wěn)定的運行,系統(tǒng)里的信息要是實時變化的,即可以預(yù)約的醫(yī)生要和實際在值班的醫(yī)生要匹配,不能出現(xiàn)掛上號了卻沒有醫(yī)生就診的情況。
? 物理上下文和邏輯上下文 物理上下文:醫(yī)院用于掛號的計算機(jī)可以正常的使用,情景中的可以被預(yù)約的醫(yī)生應(yīng)該是在醫(yī)院值班的;而對于患者可以選擇在醫(yī)院進(jìn)行預(yù)約,也可選擇在家中進(jìn)行預(yù)約,只要在預(yù)約時間內(nèi)能到達(dá)醫(yī)院就可。邏輯上下文:事件發(fā)生的條件是患者在系統(tǒng)中進(jìn)行了預(yù)約,然后管理員會根據(jù)現(xiàn)有的資源(可以預(yù)約的醫(yī)生)對預(yù)約進(jìn)行處理,如果同意,下一步就是醫(yī)生就診;如果沒有可以預(yù)約的醫(yī)生或合適的時間,患者的預(yù)約就不成功,患者需要重新選擇醫(yī)生或時間進(jìn)行預(yù)約。
? 組成情景的主要事件和活動 主要事件:患者預(yù)約掛號,管理員對預(yù)約掛號的處理,醫(yī)生就診。主要活動:患者注冊、登錄系統(tǒng),患者在系統(tǒng)中查詢可以預(yù)約的醫(yī)生和時間,患者取消已有預(yù)約,患者進(jìn)行就診;管理員接受或拒絕預(yù)約,管理員分配醫(yī)生;醫(yī)生查詢預(yù)約信息。
? 涉及的執(zhí)行者和其他參與者
執(zhí)行者:醫(yī)院的醫(yī)生,預(yù)約掛號系統(tǒng)的管理員。其他參與者:醫(yī)院的相關(guān)人員,比如患者,前臺咨詢員等。
? 要使用的信息和資源 要使用的信息和資源包括,可以預(yù)約的醫(yī)生數(shù)量,所在科室等,醫(yī)院中的設(shè)備,病房等。? 要考慮的約束條件和要使用的規(guī)則 約束條件:同一醫(yī)生同一時間段內(nèi)只能接受一名患者的預(yù)約,根據(jù)醫(yī)療設(shè)備的屬性決定是否要排他性的使用。
3、情景需求分析的步驟
需求規(guī)格說明輸入過程需求目標(biāo)列表1.目標(biāo)分析系統(tǒng)模型目標(biāo),目的使用情景用戶問題實例2.輸入事件分析初始系統(tǒng)模型用戶,環(huán)境事件情景腳本4.輸出需求分析3.刻畫系統(tǒng)輸出情景結(jié)構(gòu)模型系統(tǒng)輸出類型信息需求5.社會影響分析Agent目標(biāo)6.涉眾分析需求規(guī)格說明
3.1 目標(biāo)分析
在第2部分情景描述的主要成分中已經(jīng)對目標(biāo)進(jìn)行了分析,即:預(yù)約掛號情景的目標(biāo)是“讓患者能夠及時的掛號,并能順利的就診”,而可能的子目標(biāo)包括:患者能夠注冊賬號,患者能夠登錄賬號,患者能夠查詢預(yù)約記錄,患者能夠取消已有預(yù)約,患者能夠查詢出診信息。3.2 輸入事件分析
對于該系統(tǒng)的輸入事件可能會包括如下情況:初始使用該系統(tǒng)的用戶需要先注冊,而對于已經(jīng)注冊的用戶在使用系統(tǒng)預(yù)約掛號時首先要登錄系統(tǒng)。這是最基本的兩個輸入事件。3.3 刻畫系統(tǒng)輸出
對于系統(tǒng)輸出我們要考慮系統(tǒng)輸出的形式,比如消息顯示,對話框等形式。不如用戶在登錄系統(tǒng)是輸入的用戶名和密碼不匹配的時候要給出對應(yīng)的提示信息,比如用戶名未注冊或密碼不對等。在提交預(yù)約掛號申請后系統(tǒng)也應(yīng)給出預(yù)約成功與否的提示。3.4輸出需求分析
對于輸出需求要根據(jù)用戶的輸入給出對應(yīng)的輸出。比如用戶輸入查詢請求,那么系統(tǒng)應(yīng)該能夠給出詳細(xì)的信息。系統(tǒng)只給出對應(yīng)的輸出還不夠,同時要考慮輸出的信息是否合適。比如用戶要查詢眼科醫(yī)生的資料,系統(tǒng)的輸出就應(yīng)該只是眼科醫(yī)生的信息,而沒有必要把所有醫(yī)生的信息都輸出。3.5 社會影響分析
在進(jìn)行社會影響分析時要同時考慮到積極和消極兩個方面的問題。系統(tǒng)是否可以提高效率,減少人員的工作量。同時也要考慮過多的自動化是否會削弱人對整個系統(tǒng)的意識,導(dǎo)致人對意外處理的能力降低,比如系統(tǒng)臨時出現(xiàn)問題,是否有一套應(yīng)急措施使醫(yī)院日常工作能夠正常的進(jìn)行。
4、需求說明文檔
基于之前構(gòu)建的模型,并參照IEEE 830-1998標(biāo)準(zhǔn)模板,撰寫的系統(tǒng)需求說明文檔如下。
4.1 引言
引言部分將對本文檔的編寫目的、系統(tǒng)的開發(fā)目的、名詞定義以及參考資料進(jìn)行說明,并對文檔的后續(xù)內(nèi)容進(jìn)行概述。4.1.1 編寫目的
網(wǎng)上預(yù)約掛號系統(tǒng)是基于Web開發(fā)技術(shù)完成的網(wǎng)站。為了更好的設(shè)計并實現(xiàn)這一系統(tǒng),對系統(tǒng)進(jìn)行需求建模和分析是十分必要的。因此,基于之前構(gòu)建的各類模型,撰寫系統(tǒng)的需求說明文檔,并將其作為后續(xù)項目設(shè)計、項目開發(fā)和項目測試的指導(dǎo)。
本文檔連同之前構(gòu)建的模型,可用來與客戶進(jìn)一步明確需求,同時可供項目經(jīng)理、設(shè)計人員、開發(fā)人員參考。4.1.2 系統(tǒng)目的
許多醫(yī)院存在高峰期掛號排隊時間長,就診等待時間長,倒號現(xiàn)象頻發(fā)的問題。因此,構(gòu)建一個網(wǎng)上預(yù)約掛號系統(tǒng),通過推薦患者使用該系統(tǒng)進(jìn)行出診信息查詢和醫(yī)生預(yù)約,可以緩解就診壓力、節(jié)約患者的時間,并且可以在一定程度上保證預(yù)約者和就診者一致,有利于提高醫(yī)院的服務(wù)質(zhì)量。4.1.3 名詞定義 ? 患者預(yù)約系統(tǒng)
網(wǎng)上預(yù)約掛號系統(tǒng)的子系統(tǒng),主要用于為患者提供預(yù)約掛號、信息查詢等功能。? 醫(yī)生工作查詢系統(tǒng)
網(wǎng)上預(yù)約掛號系統(tǒng)的子系統(tǒng),主要用于為醫(yī)生提供各時段預(yù)約患者的信息。? 醫(yī)務(wù)管理系統(tǒng)
網(wǎng)上預(yù)約掛號系統(tǒng)的子系統(tǒng),主要用于為管理員提供出診信息修改、預(yù)約掛號調(diào)整等功能。? 賬號控制系統(tǒng)
網(wǎng)上預(yù)約掛號系統(tǒng)的子系統(tǒng),主要用于用戶賬號的注冊及登錄控制。? 安全保障系統(tǒng)
網(wǎng)上預(yù)約掛號系統(tǒng)的子系統(tǒng),主要用于保障系統(tǒng)的程序、網(wǎng)絡(luò)及數(shù)據(jù)庫安全。4.1.4 參考資料
[1]Objectiver: A KAOS tutorial.Respect-It(2004)[2]吳雙兵,劉偉.網(wǎng)上預(yù)約掛號系統(tǒng)設(shè)計與實現(xiàn)[J].醫(yī)學(xué)信息學(xué)雜志, 2015, 36(1):36-39.4.1.5 文檔概述
需求說明文檔主要分為三個部分。本節(jié)屬于引言部分,主要用于對文檔本身進(jìn)行定義和描述。文檔的第二部分為系統(tǒng)的整體描述,包括系統(tǒng)的預(yù)期目標(biāo)、限制條件以及用戶的需求、特征。文檔的第三部分是需求說明,包含對系統(tǒng)需求的明確定義。
4.2 整體描述
本節(jié)將對系統(tǒng)預(yù)期、用戶需求、用戶特征、條件與限制、假定與依賴以及需求分配進(jìn)行說明。
4.2.1 系統(tǒng)預(yù)期
為了方便用戶在不需安裝任何軟件的情況下使用系統(tǒng),本系統(tǒng)整體采用B/S結(jié)構(gòu),用戶可以通過瀏覽器對其進(jìn)行訪問。4.2.2 用戶需求
參照之前完成的目標(biāo)模型,對用戶的需求進(jìn)行整理和定義。由于系統(tǒng)整體較為復(fù)雜,因此本小節(jié)只包含已構(gòu)建目標(biāo)模型的功能性需求和非功能性需求。? 功能性需求
1.患者進(jìn)行預(yù)約選擇
為了實現(xiàn)患者進(jìn)行預(yù)約選擇的目標(biāo),系統(tǒng)應(yīng)完成的需求如下。(1)系統(tǒng)擁有患者預(yù)約頁面以及預(yù)約按鈕:
系統(tǒng)的預(yù)約頁面可以顯示未來1至3天的出診醫(yī)生及其所有可被預(yù)約的出診時段。其中,尚未被預(yù)約的時段擁有預(yù)約按鈕;已被預(yù)約的時段無法被其他患者預(yù)約,因此無預(yù)約按鈕。(2)系統(tǒng)接收到預(yù)約請求:
當(dāng)患者點擊預(yù)約按鈕,系統(tǒng)可以接收到預(yù)約請求。(3)患者被告知預(yù)約選擇結(jié)果:
系統(tǒng)可以對患者是否預(yù)約成功進(jìn)行判定,如果成功則跳轉(zhuǎn)至信息確認(rèn)頁面,否則彈出對話框給予患者相應(yīng)提示。2.患者確認(rèn)預(yù)約信息
為了實現(xiàn)患者確認(rèn)預(yù)約信息的目標(biāo),系統(tǒng)應(yīng)完成的需求如下。(1)系統(tǒng)擁有預(yù)約信息確認(rèn)頁面以及預(yù)約提交按鈕:
系統(tǒng)的預(yù)約信息確認(rèn)頁面會顯示預(yù)約的醫(yī)生和時段,患者的個人信息,以及預(yù)約提交按鈕,患者可以在提交預(yù)約前核對這些信息。(2)系統(tǒng)接收到預(yù)約提交請求:
當(dāng)患者點擊提交按鈕,系統(tǒng)可以接收到預(yù)約提交請求。(3)患者被告知預(yù)約提交結(jié)果:
系統(tǒng)可以對預(yù)約是否提交成功進(jìn)行判定,并彈出對話框給予患者相應(yīng)提示。? 非功能性需求 1.安全的系統(tǒng)
為了保證預(yù)約掛號系統(tǒng)的安全性,系統(tǒng)應(yīng)完成的需求如下。(1)用戶程序安全:
系統(tǒng)應(yīng)明確區(qū)分不同類別用戶的權(quán)限。并且在用戶登錄時,輸入的密碼不可見、不可復(fù)制。(2)系統(tǒng)網(wǎng)絡(luò)安全:
系統(tǒng)應(yīng)采取安全的網(wǎng)絡(luò)傳輸協(xié)議,網(wǎng)絡(luò)數(shù)據(jù)在被傳輸前應(yīng)進(jìn)行加密。(3)數(shù)據(jù)庫安全:
數(shù)據(jù)庫中存儲的數(shù)據(jù)應(yīng)具備完整性,且密碼應(yīng)在加密后被存儲到數(shù)據(jù)庫中。此外,數(shù)據(jù)庫中的數(shù)據(jù)應(yīng)該可以被備份和恢復(fù)。2.低成本的系統(tǒng) 為了保證預(yù)約掛號系統(tǒng)的低成本,系統(tǒng)應(yīng)完成的需求如下。(1)系統(tǒng)開發(fā)成本低:
開發(fā)團(tuán)隊?wèi)?yīng)具備合理的項目管理,且在開發(fā)前應(yīng)盡可能明確系統(tǒng)的需求。(2)系統(tǒng)運營成本低:
系統(tǒng)在運行過程中,應(yīng)該盡可能少的占用資源。(3)系統(tǒng)維護(hù)成本低:
系統(tǒng)應(yīng)該健壯可靠,出現(xiàn)問題后應(yīng)該易于修復(fù),且系統(tǒng)的功能應(yīng)該易于擴(kuò)展??紤]到系統(tǒng)健壯可靠與系統(tǒng)開發(fā)成本低存在一定的沖突,因此需要進(jìn)行一定的權(quán)衡。4.2.3 用戶特征
本系統(tǒng)的用戶包含患者、醫(yī)生以及管理員三類,其特征如下。? 患者
個體間在年齡、計算機(jī)使用能力等方面存在較大差異。? 醫(yī)生
普遍具備較高的學(xué)歷,在醫(yī)療方面具備專業(yè)知識,有一定的計算機(jī)使用能力。? 管理員
負(fù)責(zé)對出診信息進(jìn)行管理,是醫(yī)院工作的安排者,具備較強(qiáng)的計算機(jī)使用能力。4.2.4 條件與限制
為了保證系統(tǒng)的可移植性和可擴(kuò)展性,本系統(tǒng)應(yīng)使用Java語言進(jìn)行開發(fā)。4.2.5 假定與依賴
本系統(tǒng)假定提供的大、中、小三種字體大小可以滿足不同患者的需求,并且患者可以在系統(tǒng)的引導(dǎo)和提示下正常使用系統(tǒng)。4.2.6 需求分配
由于文檔中并未列出系統(tǒng)的全部需求,因此無法對所有需求進(jìn)行優(yōu)先級排序。但已經(jīng)列出的均為系統(tǒng)較為核心的功能性需求和非功能性需求,應(yīng)具有高優(yōu)先級。
4.3 需求說明
需求說明部分將參照之前完成的模型,對系統(tǒng)結(jié)構(gòu)、對象模型以及操作過程模型進(jìn)行詳細(xì)描述。
4.3.1 系統(tǒng)結(jié)構(gòu)
本部分將主要參照圖 3-1所示的責(zé)任模型,根據(jù)主體對需求進(jìn)行劃分??紤]到系統(tǒng)較為復(fù)雜,因此只列出主體“患者預(yù)約系統(tǒng)”的相關(guān)需求。? 患者預(yù)約系統(tǒng)
系統(tǒng)擁有患者預(yù)約頁面以及預(yù)約按鈕。
系統(tǒng)接收到預(yù)約請求。
患者被告知預(yù)約選擇結(jié)果。
系統(tǒng)擁有預(yù)約信息確認(rèn)頁面及預(yù)約提交按鈕。
系統(tǒng)接收到預(yù)約提交請求。
患者被告知預(yù)約提交的結(jié)果。4.3.2 對象模型
本部分將主要對圖 4-1所示的對象模型的結(jié)構(gòu)進(jìn)行解釋。
網(wǎng)上預(yù)約掛號系統(tǒng)可以被詳細(xì)劃分為患者預(yù)約系統(tǒng)、醫(yī)生工作查詢系統(tǒng)、醫(yī)務(wù)管理系統(tǒng)、賬號控制系統(tǒng)、安全保障系統(tǒng)等五個子系統(tǒng)?;颊哳A(yù)約系統(tǒng)、醫(yī)生工作查詢系統(tǒng)、醫(yī)務(wù)管理系統(tǒng)的使用者分別為患者、醫(yī)生和管理員,這些用戶通過系統(tǒng)提供的頁面與系統(tǒng)進(jìn)行交互。
對象模型中所涉及的名詞在4.1.3小節(jié)中有具體解釋。4.3.3 操作過程模型
本部分將主要對圖 5-1,圖 5-3和圖 5-4所示的操作過程模型進(jìn)行說明,并以表格的形式列出各操作過程的參與主體及對應(yīng)需求。? 患者進(jìn)行預(yù)約選擇
患者點擊預(yù)約按鈕后,患者預(yù)約系統(tǒng)會收到患者的預(yù)約請求,并觸發(fā)預(yù)約驗證操作,得到預(yù)約驗證結(jié)果。接下來,患者預(yù)約系統(tǒng)會以得出的預(yù)約結(jié)果為基礎(chǔ),進(jìn)行預(yù)約結(jié)果判定,進(jìn)而執(zhí)行頁面跳轉(zhuǎn)或消息框彈出操作。? 患者確認(rèn)預(yù)約信息
患者點擊提交按鈕后,患者預(yù)約系統(tǒng)會收到患者的預(yù)約提交請求,并觸發(fā)預(yù)約提交操作。接下來,患者預(yù)約系統(tǒng)會根據(jù)提交結(jié)果彈出包含相應(yīng)信息的提示框。
以上部分涉及到的操作過程及與之對應(yīng)的主體、需求如下表所示。
以上部分涉及到的操作過程及與之對應(yīng)的主體、需求如表 4-1所示。
操作 預(yù)約驗證 參與主體
對應(yīng)需求
患者預(yù)約系統(tǒng) 系統(tǒng)接收到預(yù)約請求,患者被告知預(yù)約選擇結(jié)果
預(yù)約結(jié)果判定 患者預(yù)約系統(tǒng) 患者被告知預(yù)約選擇結(jié)果 預(yù)約提交 患者預(yù)約系統(tǒng) 系統(tǒng)接收到預(yù)約提交請求,患者被告知預(yù)約提交結(jié)果
第三篇:軟件需求分析報告
軟件需求分析
軟件需求分析所要做的工作是深入描述軟件的功能和性能,確定軟件設(shè)計的限制和軟件同其它系統(tǒng)元素的接口細(xì)節(jié),定義軟件的其它有效性需求。進(jìn)行需求分析時,應(yīng)注意一切信息與需求都是站在用戶的角度上。盡量避免分析員的主觀想象,并盡量將分析進(jìn)度提交給用戶。在不進(jìn)行直接指導(dǎo)的前提下,讓用戶進(jìn)行檢查與評價。從而達(dá)到需求分析的準(zhǔn)確性。分析員通過需求分析,逐步細(xì)化對軟件的要求,描述軟件要處理的數(shù)據(jù)域,并給軟件開發(fā)提供一種可轉(zhuǎn)化為數(shù)據(jù)設(shè)計、結(jié)構(gòu)設(shè)計和過程設(shè)計的數(shù)據(jù)和功能表示。在軟件完成后,制定的軟件規(guī)格說明還要為評價軟件質(zhì)量提供依據(jù)。
需求分析的任務(wù)
開發(fā)軟件系統(tǒng)最為困難的部分就是準(zhǔn)確說明開發(fā)什么。最為困難的概念性工作便是編寫出詳細(xì)技術(shù)需求,這包括所有面向用戶、面向機(jī)器和其它軟件系統(tǒng)的接口。同時這也是一旦做錯,將最終會給系統(tǒng)帶來極大損害的部分,并且以后再對它進(jìn)行修改也極為困難。目前,國內(nèi)產(chǎn)品的龐雜,一家企業(yè)可能有幾個系統(tǒng)并立運行,它們之間接口是系統(tǒng)開發(fā)人員最頭痛的問題。對于商業(yè)最終用戶應(yīng)用程序,企業(yè)信息系統(tǒng)和軟件作為一個大系統(tǒng)的一部分的產(chǎn)品是顯而易見的。但是對于我們開發(fā)人員來說,并沒有編寫出客戶認(rèn)可的需求文檔,我們?nèi)绾沃理椖坑诤螘r結(jié)束?而如果我們不知道什么對客戶來說是重要的,那我們又如何能使客戶感到滿意呢?然而,即便并非出于商業(yè)目的的軟件需求也是必須的。例如庫、組件和工具這些供開發(fā)小組內(nèi)部使用的軟件。當(dāng)然你可能偶爾勿需文檔說明就能與其他人意見較為一致,但更常見的是出現(xiàn)重復(fù)返工這種不可避免的后果,而重新編制代碼的代價遠(yuǎn)遠(yuǎn)超過重寫一份需求文檔的代價,這些血的教訓(xùn)正在國內(nèi)的軟件開發(fā)者身上發(fā)生。近來,我遇到一個開發(fā)小組開發(fā)包括代碼編輯器在內(nèi)的一套內(nèi)部使用的計算機(jī)輔助軟件。不幸的是,當(dāng)他們開發(fā)完這個工具后,發(fā)現(xiàn)這個工具不能打印出源代碼文件,使用者當(dāng)然希望有這個功能。結(jié)果這個小組只好手工抄寫源代碼文檔以供代碼檢查。這說明那怕需求明確無誤并構(gòu)思準(zhǔn)確,如果我們沒有編寫文檔,軟件達(dá)不到期望目標(biāo)也只能是咎由自取了。相反的情況,我曾見一個要集成到“錯誤跟蹤系統(tǒng)”中的簡單界面寫了一頁需求說明。而操作系統(tǒng)系統(tǒng)管理員在為處理腳本時發(fā)現(xiàn)簡單的一張需求清單竟是如此有用。他們依據(jù)需求對系統(tǒng)進(jìn)行測試時,此系統(tǒng)不僅非常清晰地實現(xiàn)了所有必需功能,而且未發(fā)現(xiàn)任何錯誤。事實上,需求文檔在開發(fā)過程中一直起指導(dǎo)作用。需求的類型
下面這些定義是需求工程領(lǐng)域中常見術(shù)語的定義。軟件需求包括三個不同的層次:業(yè)務(wù)需求、用戶需求和功能需求(也包括非功能需求)。1.業(yè)務(wù)需求(business requirement)反映了組織機(jī)構(gòu)或客戶對系統(tǒng)、產(chǎn)品高層次的目標(biāo)要求,它們在項目視圖與范圍文檔中予以說明。2.用戶需求(user requirement)文檔描述了用戶使用產(chǎn)品必須要完成的任務(wù),這在使用實例(usecase)文檔或方案腳本說明中予以說明。3.功能需求(functional requirement)定義了開發(fā)人員必須實現(xiàn)的軟件功能,使得用戶能完成他們的任務(wù),從而滿足了業(yè)務(wù)需求。在軟件需求規(guī)格說明書(SRS)中說明的功能需求充分描述了軟件系統(tǒng)所應(yīng)具有的外部行為。軟件需求規(guī)格說明在開發(fā)、測試、質(zhì)量保證、項目管理以及相關(guān)項目功能中都起了重要的作用。對一個大型系統(tǒng)來說,軟件功能需求也許只是系統(tǒng)需求的一個子集,因為另外一些可能屬于子系統(tǒng)(或軟件部件)。作為功能需求的補(bǔ)充,軟件需求規(guī)格說明還應(yīng)包括非功能需求,它描述了系統(tǒng)展現(xiàn)給用戶的行為和執(zhí)行的操作等。它包括產(chǎn)品必須遵從的標(biāo)準(zhǔn)、規(guī)范和合約;外部界面的具體細(xì)節(jié);性能要求;設(shè)計或?qū)崿F(xiàn)的約束條件及質(zhì)量屬性。所謂約束是指對開發(fā)人員在軟件產(chǎn)品設(shè)計和構(gòu)造上的限制。質(zhì)量屬性是通過多種角度對產(chǎn)品的特點進(jìn)行描述,從而反
映產(chǎn)品功能。多角度描述產(chǎn)品對用戶和開發(fā)人員都極為重要。下面以一個字處理程序為例來說明需求的不同種類。業(yè)務(wù)需求可能是:“用戶能有效地糾正文檔中的拼寫錯誤”,該產(chǎn)品的包裝盒封面上可能會標(biāo)明這是個滿足業(yè)務(wù)需求的拼寫檢查器。而對應(yīng)的用戶需求可能是“找出文檔中的拼寫錯誤并通過一個提供的替換項列表來供選擇替換拼錯的詞”。同時,該拼寫檢查器還有許多功能需求,如找到并高亮度提示錯詞的操作;顯示提供替換詞的對話框以及實現(xiàn)整個文檔范圍的替換。從以上定義可以發(fā)現(xiàn),需求并未包括設(shè)計細(xì)節(jié)、實現(xiàn)細(xì)節(jié)、項目計劃信息或測試信息。需求與這些沒有關(guān)系,它關(guān)注的是充分說明你究竟想開發(fā)什么。項目也有其它方面的需求,如開發(fā)環(huán)境需求或發(fā)布產(chǎn)品及移植到支撐環(huán)境的需求。
第四篇:軟件項目需求分析總結(jié)
軟件項目需求分析總結(jié)
我們做的需求只解決了我們能做出這樣的項目,但是沒有解決這樣的項目是不是真就是客戶想要的。造成這種狀況的原因主要是下面幾個情況:
客戶本身說不清楚
文物網(wǎng)是這樣,中彰國際更是這樣,但是這不能怪客戶,畢竟客戶在軟件方面的知識要少的多,也沒有相關(guān)的經(jīng)驗,可能心里只有一個想要的軟件的輪廓,于是可能會要求我們?nèi)ヌ嫠麄儊硗暾@個輪廓的細(xì)節(jié),而我們的能力、我們能否真正站在客戶角度去搜集和整理這些需求,就決定了這個需求的完整性和有效性。
需求自身經(jīng)常變動
隨著客戶對這個項目越來越深刻的理解,那么可能他的需求也會隨之改變,這些變化的可能性越大項目風(fēng)險就會越大,我們在需求分析的時候就要充分考慮到哪些需求是相對固定的需求,哪些可能會是產(chǎn)生變動的需求,考慮到他的可變性,這樣設(shè)計功能和數(shù)據(jù)庫的時候不致因為后面的變動而影響整個工程。分析人員或客戶理解有誤
畢竟,不是每個分析人員都是專業(yè)而合格的,為避免這種情況的發(fā)生,需求分析必須要有審核制度,公司自己內(nèi)部要審核一遍,客戶再審一遍,提出意見,修改后雙方共同評審簽字,確認(rèn)。
由此出現(xiàn)的問題:
a)需求分析過于籠統(tǒng),只關(guān)注到面上,沒有關(guān)注到點上,開發(fā)出來的東西在具體的細(xì)節(jié)上和客戶的理解有誤差,并且無法嚴(yán)格界定是否屬于需求變更。中彰的方案就是這樣的。
b)需求報告只求我們這方評審?fù)ㄟ^,不去關(guān)心客戶的評審,認(rèn)為只要客戶簽字認(rèn)可就行。雖然簽字認(rèn)可能夠給日后出現(xiàn)問題時劃清我們的責(zé)任,但是不能保證使項目實施成功。
c)需求分析中含有技術(shù)實施上有難度的功能,一味的求全和盲目按照客戶的設(shè)想,受客戶影響過大,畢竟,很多時候,客戶的想法在實際實施過程中是不現(xiàn)實的,或者可以有更為簡便的方法來替代的。如中彰國際的在線交易功能,后臺大批量郵件群發(fā)功能。
d)對雙方已經(jīng)確定的需求,實現(xiàn)以后并不適合客戶使用,需要按照變更手續(xù)執(zhí)行的時候,客戶可能會糾纏,提出“你們是專業(yè)人士,你們應(yīng)該事先能提醒我們可能會出現(xiàn)這種問題”并以此來把責(zé)任推給我們,而我們又不好完全按照變更手續(xù)執(zhí)行,因為可能激化雙方的矛盾,比如508的批量處理功能,因為屬于人事
管理比較專業(yè)的細(xì)節(jié)問題,需求分析師開始沒有對客戶業(yè)務(wù)熟悉到如此細(xì)致的地步,而客戶也沒有過多關(guān)注這些細(xì)節(jié),導(dǎo)致軟件的某些功能不合用,較為繁瑣,而重新按著客戶的意見修改的話工作量比較大,導(dǎo)致成本增加、工期延長。e)項目的成熟度受客戶預(yù)算的限制。大部分客戶在項目投入上都是有預(yù)算的,在成本有上限的前提下,項目的功能設(shè)計(軟件的成熟度)方面必然受一定影響,畢竟功能越多越完善,相應(yīng)的開發(fā)成本就越高。這種功能上的不完善需要事先告知客戶并得到理解。
f)此項工作的反復(fù)造成思想上的倦怠,使需求分析最后虎頭蛇尾。需求分析是一項繁瑣枯燥的工作,需要和客戶之間不斷的商討、確認(rèn)和反復(fù),另外由于大部分的客戶雖然安排專人負(fù)責(zé)這項工作,但是該人并不只做這項工作,特別當(dāng)他被很多其他的事情纏身的時候,而無心細(xì)看提交過去的需求報告的時候,他很可能會給你一個錯覺,讓你認(rèn)為他已經(jīng)真正的理解并認(rèn)可了你的設(shè)計。結(jié)論
a)需求分析是整個項目管理中需要重點控制的幾個關(guān)鍵節(jié)點之一,首先思想上一定要重視。
b)需求分析報告的編寫者要參與到需求的搜集工作中,準(zhǔn)確領(lǐng)會客戶的意圖,并轉(zhuǎn)化成軟件能夠?qū)崿F(xiàn)的功能。對于說不清楚需求的客戶,要善于問關(guān)鍵問題,引導(dǎo)客戶提出自己的需求??梢圆扇〉拇胧┦鞘孪染幹埔粋€問卷調(diào)查之類的文檔,詳細(xì)列舉需要客戶回答的問題,以便防止遺漏。
c)需求報告的編寫者要能夠?qū)蛻粜枨筮M(jìn)行深入分析,區(qū)別出哪些需求存在日后變更的可能,哪些需求屬于相對固定的,哪些需求能夠?qū)崿F(xiàn),哪些需求需要變通才能實現(xiàn),以便于指導(dǎo)后面的功能設(shè)計。
d)需求分析報告對功能細(xì)節(jié)的描述不能有歧義,描述一定要全面、準(zhǔn)確,防止開發(fā)方和客戶只見對同一個問題有兩個截然不同的理解??梢酝ㄟ^評審,用大家的力量來避免這種情況發(fā)生
e)需求報告的每個關(guān)乎功能的描述都要讓客戶明白和理解,客戶在理解之上的確認(rèn)才能夠保證日后一旦出現(xiàn)問題不致出現(xiàn)雙方互相推托責(zé)任糾纏不清的情況。
f)需求報告一定要經(jīng)過一個有技術(shù)人員和業(yè)務(wù)人員參加的評審,要充分發(fā)揮團(tuán)隊的力量,重視每個人的才智,一個模塊一個功能的逐一的過,讓大家來共同找出需求報告里不合理的、有歧義的、不完善的、遺漏的等等問題g)幫助客戶去理解提交給他的需求分析報告而不是只等簽字,對于有能夠用好幾種方式實現(xiàn)的功能,盡量做到能讓客戶去比較和選擇。不要讓客戶對報告中的部分產(chǎn)生歧義。只有客戶對報告的完全的理解,才能在日后客戶提出的修改被認(rèn)為是需求變更的時候能夠得到客戶的理解
h)最后,需求分析報告一定要雙方共同簽字確認(rèn)
第五篇:軟件項目需求分析總結(jié)
軟件項目需求分析總結(jié)
需求分析是項目開發(fā)的基礎(chǔ),基礎(chǔ)打的牢不牢直接關(guān)系到后面所有的工作,是項目實施成敗的關(guān)鍵 總體上說,我們的需求分析是做了,但是做得很不夠,我們做的需求只解決了我們能做出這樣的項目,但是沒有解決這樣的項目是不是真就是客戶想要的。造成這種狀況的原因主要是下面幾個情況: 客戶本身說不清楚 文物網(wǎng)是這樣,中彰國際更是這樣,但是這不能怪客戶,畢竟客戶在軟件方面的知識要少的多,也沒有相關(guān)的經(jīng)驗,可能心里只有一個想要的軟件的輪廓,于是可能會要求我們?nèi)ヌ嫠麄儊硗暾@個輪廓的細(xì)節(jié),而我們的能力、我們能否真正站在客戶角度去搜集和整理這些需求,就決定了這個需求的完整性和有效性。需求自身經(jīng)常變動 隨著客戶對這個項目越來越深刻的理解,那么可能他的需求也會隨之改變,這些變化的可能性越大項目風(fēng)險就會越大,我們在需求分析的時候就要充分考慮到哪些需求是相對固定的需求,哪些可能會是產(chǎn)生變動的需求,考慮到他的可變性,這樣設(shè)計功能和數(shù)據(jù)庫的時候不致因為后面的變動而影響整個工程。分析人員或客戶理解有誤 畢竟,不是每個分析人員都是專業(yè)而合格的,為避免這種情況的發(fā)生,需求分析必須要有審核制度,公司自己內(nèi)部要審核一遍,客戶再審一遍,提出意見,修改后雙方共同評審簽字,確認(rèn)。由此出現(xiàn)的問題: a)需求分析過于籠統(tǒng),只關(guān)注到面上,沒有關(guān)注到點上,開發(fā)出來的東西在具體的細(xì)節(jié)上和客戶的理解有誤差,并且無法嚴(yán)格界定是否屬于需求變更。中彰的方案就是這樣的。b)需求報告只求我們這方評審?fù)ㄟ^,不去關(guān)心客戶的評審,認(rèn)為只要客戶簽字認(rèn)可就行。雖然簽字認(rèn)可能夠給日后出現(xiàn)問題時劃清我們的責(zé)任,但是不能保證使項目實施成功。c)需求分析中含有技術(shù)實施上有難度的功能,一味的求全和盲目按照客戶的設(shè)想,受客戶影響過大,畢竟,很多時候,客戶的想法在實際實施過程中是不現(xiàn)實的,或者可以有更為簡便的方法來替代的。如中彰國際的在線交易功能,后臺大批量郵件群發(fā)功能。d)對雙方已經(jīng)確定的需求,實現(xiàn)以后并不適合客戶使用,需要按照變更手續(xù)執(zhí)行的時候,客戶可能會糾纏,提出“你們是專業(yè)人士,你們應(yīng)該事先能提醒我們可能會出現(xiàn)這種問題”并以此來把責(zé)任推給我們,而我們又不好完全按照變更手續(xù)執(zhí)行,因為可能激化雙方的矛盾,比如508的批量處理功能,因為屬于人事管理比較專業(yè)的細(xì)節(jié)問題,需求分析師開始沒有對客戶業(yè)務(wù)熟悉到如此細(xì)致的地步,而客戶也沒有過多關(guān)注這些細(xì)節(jié),導(dǎo)致軟件的某些功能不合用,較為繁瑣,而重新按著客戶的意見修改的話工作量比較大,導(dǎo)致成本增加、工期延長。e)項目的成熟度受客戶預(yù)算的限制。大部分客戶在項目投入上都是有預(yù)算的,在成本有上限的前提下,項目的功能設(shè)計(軟件的成熟度)方面必然受一定影響,畢竟功能越多越完善,相應(yīng)的開發(fā)成本就越高。這種功能上的不完善需要事先告知客戶并得到理解。f)此項工作的反復(fù)造成思想上的倦怠,使需求分析最后虎頭蛇尾。需求分析是一項繁瑣枯燥的工作,需要和客戶之間不斷的商討、確認(rèn)和反復(fù),另外由于大部分的客戶雖然安排專人負(fù)責(zé)這項工作,但是該人并不只做這項工作,特別當(dāng)他被很多其他的事情纏身的時候,而無心細(xì)看提交過去的需求報告的時候,他很可能會給你一個錯覺,讓你認(rèn)為他已經(jīng)真正的理解并認(rèn)可了你的設(shè)計。結(jié)論 a)需求分析是整個項目管理中需要重點控制的幾個關(guān)鍵節(jié)點之一,首先思想上一定要重視。b)需求分析報告的編寫者要參與到需求的搜集工作中,準(zhǔn)確領(lǐng)會客戶的意圖,并轉(zhuǎn)化成軟件能夠?qū)崿F(xiàn)的功能。對于說不清楚需求的客戶,要善于問關(guān)鍵問題,引導(dǎo)客戶提出自己的需求??梢圆扇〉拇胧┦鞘孪染幹埔粋€問卷調(diào)查之類的文檔,詳細(xì)列舉需要客戶回答的問題,以便防止遺漏。c)需求報告的編寫者要能夠?qū)蛻粜枨筮M(jìn)行深入分析,區(qū)別出哪些需求存在日后變更的可能,哪些需求屬于相對固定的,哪些需求能夠?qū)崿F(xiàn),哪些需求需要變通才能實現(xiàn),以便于指導(dǎo)后面的功能設(shè)計。d)需求分析報告對功能細(xì)節(jié)的描述不能有歧義,描述一定要全面、準(zhǔn)確,防止開發(fā)方和客戶只見對同一個問題有兩個截然不同的理解??梢酝ㄟ^評審,用大家的力量來避免這種情況發(fā)生 e)需求報告的每個關(guān)乎功能的描述都要讓客戶明白和理解,客戶在理解之上的確認(rèn)才能夠保證日后一旦出現(xiàn)問題不致出現(xiàn)雙方互相推托責(zé)任糾纏不清的情況。f)需求報告一定要經(jīng)過一個有技術(shù)人員和業(yè)務(wù)人員參加的評審,要充分發(fā)揮團(tuán)隊的力量,重視每個人的才智,一個模塊一個功能的逐一的過,讓大家來共同找出需求報告里不合理的、有歧義的、不完善的、遺漏的等等問題 g)幫助客戶去理解提交給他的需求分析報告而不是只等簽字,對于有能夠用好幾種方式實現(xiàn)的功能,盡量做到能讓客戶去比較和選擇。不要讓客戶對報告中的部分產(chǎn)生歧義。只有客戶對報告的完全的理解,才能在日后客戶提出的修改被認(rèn)為是需求變更的時候能夠得到客戶的理解 h)最后,需求分析報告一定要雙方共同簽字確認(rèn)。