久久精品国产一区二区电影,久久精品国产亚洲av瑜伽,精品无人区一码卡二卡三,久草热8精品视频在线观看 ,久久99精品久久久久麻豆

錘子簡歷品牌推廣師
【需求】設(shè)計之路:如何進(jìn)行軟件需求分析?
作者:君仔小編 2022/05/27 00:16:18
閱讀 233
【需求】設(shè)計之路:如何進(jìn)行軟件需求分析?

軟件需求是指用戶對目標(biāo)軟件系統(tǒng)在功能、行為、性能、設(shè)計約束等方面的期望。

通常,軟件生存周期包括可行性分析與開發(fā)項計劃、需求分析、設(shè)計(概要設(shè)計和詳細(xì)設(shè)計)、編碼、測試、維護(hù)等活動。

常用的三種軟件生命周期(瀑布模型、迭代式模型和快速原型模型)中,需求分析中都占據(jù)了舉足輕重的作用,是系統(tǒng)分析、軟件編程、軟件測試和系統(tǒng)維護(hù)的輸入物。

1.1瀑布模型

瀑布模型由于酷似瀑布聞名,(Waterfall Model)首先由Royce提出。

在該模型中,首先確定需求,并接受客戶和SQA小組的驗證。

然后擬定規(guī)格說明,同樣通過驗證后,進(jìn)入計劃階段…可以看出,瀑布模型中至關(guān)重要的一點(diǎn)是只有當(dāng)一個階段的文檔已經(jīng)編制好并獲得SQA小組的認(rèn)可才可以進(jìn)入下一個階段。

這樣,瀑布模型通過強(qiáng)制性的要求提供規(guī)約文檔來確保每個階段都能很好的完成任務(wù)。

但是實(shí)際上往往難以辦到,因為整個的模型幾乎都是以文檔驅(qū)動的,這對于非專業(yè)的用戶來說是難以閱讀和理解的。

瀑布模型圖示如下:

從上圖可看出,需求分析的產(chǎn)出物《需求規(guī)格說明書》(有的項目組還會產(chǎn)出軟件原型,例如靜態(tài)HTML原型等)是后續(xù)設(shè)計、編碼、測試和系統(tǒng)維護(hù)的基礎(chǔ)。

可將瀑布模型的“需求分析”階段細(xì)分為“軟件概念”和“用戶需求分析”兩個階段,前者用于收集用戶的原始需求,包括用戶在功能、行為、性能、設(shè)計約束等方面的期望,并經(jīng)過初步分析后形成《用戶需求說明書》,而后經(jīng)過進(jìn)一步分析,將用戶需求精確化、完全化,最終形成《需求規(guī)格說明書》。

可將瀑布模型中的“系統(tǒng)設(shè)計”細(xì)分為“架構(gòu)設(shè)計”和“詳細(xì)設(shè)計”兩個階段,前者在總體上把握,更關(guān)注架構(gòu)層面,包括系統(tǒng)的總體架構(gòu),以及各個子系統(tǒng)或各個模塊之間的關(guān)系。

后者更注重細(xì)節(jié),包括系統(tǒng)設(shè)計的方方面面都要在詳細(xì)設(shè)計中有所體現(xiàn)。

作為系統(tǒng)分析師,或系統(tǒng)架構(gòu)師,主要在“需求分析”和“系統(tǒng)設(shè)計”階段體現(xiàn)自己的作用,后續(xù)的各個階段主要通過與項目組成員的溝通貫徹自己的設(shè)計。

1.2迭代式模型

迭代式模型是是RUP(Rational Unified Process,統(tǒng)一軟件開發(fā)過程,統(tǒng)一軟件過程)推薦的周期模型。

在RUP中,迭代被定義為:迭代包括產(chǎn)生產(chǎn)品發(fā)布(穩(wěn)定、可執(zhí)行的產(chǎn)品版本)的全部開發(fā)活動和要使用該發(fā)布必需的所有其他外圍元素。

在某種程度上,開發(fā)迭代是一次完整地經(jīng)過所有工作流程的過程:(至少包括)需求工作流程、分析設(shè)計工作流程、實(shí)施工作流程(編碼流程)和測試工作流程。

實(shí)質(zhì)上,可將它理解為多個小型的瀑布式項目。

每一次的迭代都會產(chǎn)生一個可以發(fā)布的產(chǎn)品,這個產(chǎn)品是最終產(chǎn)品的一個子集。

迭代式原型圖示如下:

在每一個迭代中,“需求分析”階段與瀑布模式一樣,是后續(xù)系統(tǒng)分析、編碼和測試階段依賴的基礎(chǔ)。

如果需求分析有較大偏差,勢必造成迭代過程中產(chǎn)生的一個產(chǎn)品子集有較大偏差。

1.3快速原型模型

快速原型(Rapid Prototype)模型在功能上等價于產(chǎn)品的一個子集。

注意,這里說的是功能上。

瀑布模型的缺點(diǎn)就在于不夠直觀,快速原型法就解決了這個問題。

一般來說,根據(jù)客戶的需要在很短的時間內(nèi)解決用戶最迫切需要,完成一個可以演示的產(chǎn)品。

在得到用戶的需求之后,原型將被拋棄。

因為原型開發(fā)的速度很快,設(shè)計方面是幾乎沒有考慮的,如果保留原型的話,在隨后的開發(fā)中會為此付出極大的代價。

在快速原型模型中,原型最重要的目的是為了確定用戶的真正需求。

從某種程度上,可以將快速原型理解為需求分析的一種更直觀的方式,也是業(yè)界比較認(rèn)可和取得良好效果的一種方式。

2、需求分析的目標(biāo)

通過對應(yīng)問題及其環(huán)境的理解與分析,為問題涉及的信息、功能及系統(tǒng)行為建立模型,將用戶需求精確化、完全化,最終形成需求規(guī)格說明,這一系列的活動即構(gòu)成軟件開發(fā)生命周期的需求分析階段。

需求分析是介于系統(tǒng)分析和軟件設(shè)計階段之間的橋梁。

一方面,需求分析以系統(tǒng)規(guī)格說明和項目規(guī)劃作為分析活動的基本出發(fā)點(diǎn),并從軟件角度對它們進(jìn)行檢查與調(diào)整;另一方面,需求規(guī)格說明又是軟件設(shè)計、實(shí)現(xiàn)、測試直至維護(hù)的主要基礎(chǔ)。

良好的分析活動有助于避免或盡早剔除早期錯誤,從而提高軟件生產(chǎn)率,降低開發(fā)成本,改進(jìn)軟件質(zhì)量。

3、如何進(jìn)行需求分析

3.1需求分析的困難

需求分析的目標(biāo),說得通俗一點(diǎn),就是確定“做什么,不做什么”。

但需求分析卻不像想象的那么簡單,主要因為如下原因:

3.1.1客戶需求自身經(jīng)常變動

這世間的一切,只有“變化”是絕對的,從這點(diǎn)來理解,軟件系統(tǒng)的需求不斷變化也是可以理解的。

老聽設(shè)計人員和開發(fā)人員抱怨客戶的需求老是變化,其實(shí)應(yīng)該將“需求變化”理解為一種常態(tài)。

引起需求變化的原因諸多,例如:

(1)因為某些前置條件未滿足,之前按照“妥協(xié)”方案實(shí)現(xiàn),但若在某個時間點(diǎn)上這些前置條件被滿足,于是引起了需求的變化。

(2)某個后臺操作之前不需要走審批流程,但因為客戶的某個內(nèi)部流程改變,需要走審批流程,勢必引起需求 -> 設(shè)計 -> 編碼 -> 測試的一系列變更。

【對策】:因為需求變動無可避免,系統(tǒng)分析師在進(jìn)行需求分析時需要明確:

(1)盡可能地分析清楚哪些是穩(wěn)定的需求,哪些是易變的需求。

以便在進(jìn)行系統(tǒng)設(shè)計時,將軟件的核心建筑在穩(wěn)定的需求上,否則將會吃盡苦頭。

(2)在合同中一定要說清楚“做什么”和“不做什么”。

如果合同含含糊糊,日后扯皮的事情就多。

小的變動影響不大,也不致影響進(jìn)度,但是對于一些改動會引起設(shè)計重大改變的需求,需要在合同中清楚說明。

3.1.2客戶說不清楚需求,分析人員理解錯誤

客戶的計算機(jī)水平、對需求的理解、表達(dá)程度都參差不齊。

有些客戶對需求只有朦朧的感覺,當(dāng)然說不清楚具體的需求。

有些客戶心里非常清楚想要什么,但卻說不明白。

有的客戶本身就懂軟件開發(fā),能把需求說得清清楚楚,這樣的需求分析將會非常輕松、愉快。

不同性格、不同水平、與客戶交流前準(zhǔn)備情況不同的的系統(tǒng)分析師去跟客戶討論需求時,會得到很不不一樣的結(jié)果。

作為系統(tǒng)分析師,可以引導(dǎo)客戶,先闡述常規(guī)的需求,再由客戶否定不需要的,最終確定客戶真正的需求。

一個好的系統(tǒng)分析師,能從客戶的一兩句話中提出很多自己的觀點(diǎn)或可進(jìn)行拓展,進(jìn)而進(jìn)一步挖掘客戶需求,或者若與之前的需求矛盾,可進(jìn)行正確需求導(dǎo)向。

【對策】:若客戶說不清楚需求,為了不造成理解錯誤,系統(tǒng)分析師可采用多次溝通的方式,例如第一次通過客戶初步了解需求,回去分析哪些是合理需求,那些是自相矛盾或不合理的需求,以及哪些是需要進(jìn)一步明確的需求。

經(jīng)過細(xì)化后,第二次交流可提供PPT或簡單的Word文檔與客戶進(jìn)行第二次深入交流。

第三次交流可通過建立快速模型進(jìn)一步與客戶交流得到精確的需求。

需求分析也可參考“迭代式模型”來進(jìn)行不斷迭代,一直到挖掘出客戶所有的潛在需求為止。

3.1.3客戶在沒看到原型或完整系統(tǒng)時,有一些潛在需求未被挖掘

甚至有不少這樣的客戶,去進(jìn)行需求溝通時提不出太多的需求,但是在你做完整個系統(tǒng)時,潛在需求突然迸發(fā)出來。

【對策】:為了避免此種情況對項目造成破壞性影響,建議相關(guān)人員為一些大的功能模塊建立快速原型讓客戶進(jìn)行確認(rèn),并在合同中一定要說清楚“做什么”和“不做什么”

3.1.4多個相關(guān)方需求相互沖突,需求有二義性

若些需求若牽涉客戶不同部門,若有不一致意見,若私自按某一方的意見進(jìn)行修改,很可能在后期涉及到按另一個部門的想法進(jìn)行改造。

【對策】:對于這種客戶內(nèi)部有沖突的需求,需求組織客戶方相關(guān)部門一起討論,由客戶更高領(lǐng)導(dǎo)層決定實(shí)現(xiàn)哪一方的需求,或者采用折衷方案。

需求說明不可有二義性,更不能前后相矛盾。

如果有二義性或前后相矛盾,則要重新分析此需求。

3.2需求分析的活動

3.2.1需求獲取

通過與用戶的交流,對現(xiàn)有系統(tǒng)的觀察及對任務(wù)進(jìn)行分析,從而開發(fā)、捕獲和修訂用戶的需求。

軟件需求常見的獲取方法(在《軟件需求獲取方法》一文中寫得很詳細(xì))如下:

??面談

個人覺得面談是獲取軟件需求的最有用的方法,也是需求分析時常用的方法。

通過多方面談,得到的信息最多,進(jìn)行我們現(xiàn)在所做的系統(tǒng),與移動集團(tuán)客戶部、業(yè)務(wù)支撐部、網(wǎng)管中心、系統(tǒng)運(yùn)營人員等都進(jìn)行過面談。

面談需準(zhǔn)備的內(nèi)容:面談對象和面談問題。

面談對象:需要盡量讓面談對象包括可與系統(tǒng)相關(guān)的涉眾,并具有代表性,保證涵蓋到每個角色。

一般包括誰為系統(tǒng)付費(fèi),購買系統(tǒng)?誰使用系統(tǒng)?誰會受到系統(tǒng)結(jié)果的影響?誰來監(jiān)管該系統(tǒng)?誰來維護(hù)系統(tǒng)?

??問卷調(diào)查

調(diào)查問卷無法取代面談在需求獲取階段的作用,問卷調(diào)查的問題和答案具有一定的引導(dǎo)性,在某種程度上會影響結(jié)果。

問卷調(diào)查的結(jié)果好壞與問卷的設(shè)計有直接的關(guān)系,在做這個項目時,運(yùn)營人員在進(jìn)行前期推廣會議上,也給企業(yè)客戶發(fā)過調(diào)查問卷,但因為諸多原因,效果不甚理想,基本沒為我們項目需求分析出多少力。

??小組討論

小組討論是指將與項目某個問題相關(guān)的人員聚集在一起開會討論。

優(yōu)勢:容易在內(nèi)部取得對方案的認(rèn)同,有利于項目的開展;在討論會上每個相關(guān)人員都可發(fā)表自己的意見,保證了獲取信息的全面性。

缺點(diǎn):不容易把握。

對于涉及系統(tǒng)邊界的需求,或一些相互沖突的需求,采取該種方式是非常可取的。

??情景串聯(lián)

由于軟件產(chǎn)品的抽象性,大部分涉眾在腦海子未有一個清晰的產(chǎn)品輪廓,影響涉眾對產(chǎn)品的理解。

基于此可考慮編寫清晰、完整的情景描述文檔。

1、采用PPT加圖片的方式描述情景:一個好的PPT能更直觀的描述各種情景;

2、采用原型法(比較推薦這種方法)。

??參與、觀察業(yè)務(wù)流程

涉眾描述的業(yè)務(wù)流程可能由于某些原因會遺漏掉重要的信息,需求分析人員可申請參與到他們具體的工作,觀察、體驗業(yè)務(wù)操作過程。

需求分析員在觀察業(yè)務(wù)操作過程時,可根據(jù)實(shí)際的情況提問并詳細(xì)記錄,記錄業(yè)務(wù)操作員操作過程,操作過程中碰到的難題,可獲取真實(shí)的材料和理解整個業(yè)務(wù)。

??現(xiàn)有產(chǎn)品和競爭對手的描述文檔

閱讀現(xiàn)有產(chǎn)品文檔有利于了解當(dāng)前系統(tǒng)情況,從中也可以了解業(yè)務(wù)流程,對操作員反映的系統(tǒng)問題有著更深層次的理解。

3.2.2需求建模

要有效地收集需求,您要做的第一步是建模,它包括創(chuàng)建體系結(jié)構(gòu)的表示形式以捕獲需求、就解決方案方法進(jìn)行交流、以及分析所提出的系統(tǒng)設(shè)計。

其目的是使用模型來表現(xiàn)系統(tǒng)中的關(guān)鍵方面。

然后,您可以在形式化的分析、模擬和原型設(shè)計中使用這些模型,以研究預(yù)期的系統(tǒng)行為,并且可以在編寫文檔或總結(jié)時使用這些模型,以便就系統(tǒng)的性能和外觀進(jìn)行交流。

??域建模

域建模指的是,您對問題域創(chuàng)建相應(yīng)的模型并且把它劃分為若干個內(nèi)聚組的過程。

然后,您可以在抽象模型中捕獲業(yè)務(wù)流程、規(guī)則和數(shù)據(jù)。

域模型是一種用于理解問題域的工具。

您需要從信息系統(tǒng)之外的角度來理解這個域,這一點(diǎn)是很重要的。

??用例建模

用例模型描述了各種參與者(人和其他系統(tǒng))和要分析的系統(tǒng)之間的主要交互。

用例應(yīng)該說明系統(tǒng)如何支持域和業(yè)務(wù)流程模型中的業(yè)務(wù)流程。

用例模型應(yīng)該將系統(tǒng)放到上下文環(huán)境中,顯示系統(tǒng)和外部參與者之間的邊界,并描述系統(tǒng)和參與者之間的關(guān)鍵交互。

用例建??梢悦枋隼嫦嚓P(guān)者(例如,用戶和維護(hù)人員)所看到的系統(tǒng)行為。

??組件和服務(wù)建模

組件模型為子系統(tǒng)、模塊和組件的層次結(jié)構(gòu)分配需求和職責(zé)。

每個元素作為一個自包含的單元,以用于開發(fā)、部署和執(zhí)行的目的。

組件模型的元素由它們所提供和使用的接口來進(jìn)行規(guī)定。

在這里,沒有考慮其中的內(nèi)部細(xì)節(jié)。

服務(wù)模型將應(yīng)用程序定義為一組位于外部邊界(用例)、架構(gòu)層之間的抽象服務(wù)接口,并且提供了通用的應(yīng)用程序和基礎(chǔ)結(jié)構(gòu)(安全、日志記錄、配置等等)。

支持應(yīng)用程序需求的這組服務(wù)可以與現(xiàn)有的內(nèi)部和外部提供的接口規(guī)范相匹配。

所得到的分析結(jié)果可以確定預(yù)置策略,并將項目活動劃分為特定類型的部分,這取決于給定的服務(wù)是否已經(jīng)存在(內(nèi)部或者外部的,并且其中每個服務(wù)都具有適當(dāng)?shù)幕顒樱?、存在但需要進(jìn)行修改(定義一個新的接口,并規(guī)劃其實(shí)現(xiàn))、或者必須構(gòu)建新的服務(wù)。

??性能建模

可以通過各種各樣的方式來度量性能,最顯而易見的方式是,應(yīng)用程序執(zhí)行其關(guān)鍵操作任務(wù)的速度。

然而,作為一名架構(gòu)師,必須考慮性能建模過程中其他的幾個方面:

l 構(gòu)建和部署應(yīng)用程序的速度如何?

l 構(gòu)建、維護(hù)和運(yùn)行需要多少花費(fèi)?

l 該應(yīng)用程序能在多大程度上滿足其需求?

l 對于必須使用該應(yīng)用程序的人來說,需要為其付出多大的開銷?

l 該應(yīng)用程序會對其他應(yīng)用程序和基礎(chǔ)結(jié)構(gòu)產(chǎn)生怎樣的影響?

【說明】需求建模是一門深奧的學(xué)問,在做這個項目時,需求建模基本只是用到了“用例建?!?,對一些典型流程進(jìn)行用例建模。

域建模、組件和服務(wù)建模和性能建?;臼强瞻谞顟B(tài),希望在下一個項目中有所改進(jìn)。

3.2.3形成《需求規(guī)格說明書》

生成需求模型構(gòu)件的精確的形式化的描述,作為用戶和開發(fā)者之間的一個協(xié)約。

3.2.4需求驗證

以需求規(guī)格說明為輸入,通過符號執(zhí)行、模擬或快速原型等途徑,分析需求規(guī)格的正確性和可行性。

3.2.5需求管理

支持系統(tǒng)的需求演進(jìn),如需求變化和可跟蹤性問題。

要在需求變更時,同步更新《需求規(guī)格說明書》以及相關(guān)文檔,要知道,一個正確的文檔是指導(dǎo)軟件系統(tǒng)不同階段的參考,但一個沒有同步更新的文檔是對軟件系統(tǒng)有破壞性作用的,相關(guān)人員會受到錯誤引導(dǎo)。

4、參考文檔

* 以上用戶言論只代表其個人觀點(diǎn),不代表CSDN網(wǎng)站的觀點(diǎn)或立場

本文轉(zhuǎn)自

CSDN博客

內(nèi)容來源網(wǎng)絡(luò),如有侵權(quán)請聯(lián)系刪除!

錘子簡歷模板范文,一鍵導(dǎo)入簡歷模板內(nèi)容

錘子簡歷?簡歷?模板分類

職位

客服簡歷模板編導(dǎo)簡歷模板編輯簡歷模板律師簡歷模板翻譯簡歷模板咨詢顧問簡歷模板電子商務(wù)簡歷模板市場營銷簡歷模板軟件測試簡歷模板UI/UX簡歷模板管理培訓(xùn)生簡歷模板外貿(mào)簡歷模板采購簡歷模板策劃簡歷模板護(hù)士簡歷模板建筑簡歷模板助理簡歷模板運(yùn)營簡歷模板產(chǎn)品經(jīng)理簡歷模板程序員簡歷模板銀行簡歷模板設(shè)計師簡歷模板人力資源簡歷模板財務(wù)簡歷模板銷售簡歷模板醫(yī)生簡歷模板教師簡歷模板會計簡歷模板

?

?

內(nèi)容來源說明:本文章來自網(wǎng)絡(luò)收集,如侵犯了你的權(quán)益,請聯(lián)系QQ:2772182309進(jìn)行刪除。
智能在線簡歷編輯器
錘子簡歷在線簡歷制作,一鍵導(dǎo)出,快速生成 專屬你的優(yōu)秀求職簡歷,敲定高薪 Offer~
立即創(chuàng)建簡歷

【使用錘子簡歷小程序制作簡歷】

范文模板 更多>