軟件要求定義_第1頁
軟件要求定義_第2頁
軟件要求定義_第3頁
軟件要求定義_第4頁
軟件要求定義_第5頁
已閱讀5頁,還剩27頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

第三講軟件要求定義1學(xué)習內(nèi)容可行性研究項目開發(fā)計劃軟件需求分析2項目來源合同:為別人做;立項:為自己做;失?。簾o盈利-》賠錢-》聲譽影響-》官司失?。罕M賠錢-》公司倒閉-》東山再起難!學(xué)到的遠比失去的多!

3可行性研究(

FeasibilityStudy)

可行性研究的目的就是用最小的代價在盡可能短的時間內(nèi)確定該軟件項目是否能夠開發(fā),是否值得開發(fā),最后給決策者提供做與不做的依據(jù)??尚行匝芯繉嵸|(zhì)上是要進行一次簡化、壓縮了的需求分析和設(shè)計過程,要在較高層次上以抽象的方式進行需求分析和設(shè)計過程。4可行性研究的任務(wù)

首先需要進行概要的分析研究,初步確定項目的規(guī)模和目標,確定項目的約束和限制。

然后進行簡要的需求分析,抽象出該項目的邏輯結(jié)構(gòu),建立邏輯模型。

最后從邏輯模型出發(fā),經(jīng)過壓縮的設(shè)計,探索出若干種可供選擇的主要解決辦法,對每種解決方法都要從以下三方面研究它的可行性。技術(shù)可行性經(jīng)濟可行性社會可行性5技術(shù)可行性在現(xiàn)有資源條件下,項目能否實現(xiàn),風險有多大(技術(shù)、資源是否成熟)。社會可行性是否存在侵權(quán)、軟件操作方式是否適合用戶所在組織、現(xiàn)有管理制度、人員素質(zhì)是否可行?6經(jīng)濟可行性(成本—效益分析)

成本—效益分析首先是估算將要開發(fā)的系統(tǒng)的開發(fā)成本,然后與可能取得的效益進行比較和權(quán)衡。效益分有形效益和無形效益。有形效益可以用貨幣的時間價值、投資回收期和純收入等指標進行度量;無形效益主要從性質(zhì)上、心理上進行衡量,很難直接進行量的比較。貨幣的時間價值:年利率為i,投資為P,則n年后可得錢數(shù)為F。

F=P·(1+i)n投資回收期:就是使累計的經(jīng)濟效益等于最初的投資費用所需的時間。純收入:就是在整個生存周期之內(nèi)的累計經(jīng)濟效益(折合成現(xiàn)在值)與投資之差。7提示不是解決問題,而是確定是否可解\值得解所以不要花過多精力,占總成本的510%例:實踐性大作業(yè)——3方面考慮:技術(shù)上----4~6學(xué)生,12周,電腦,開發(fā)經(jīng)驗,決心,風險(影響其它課程)......

社會上----產(chǎn)品有沒有人用

經(jīng)濟上----預(yù)算,盈利,...…8可行性研究的具體步驟1、確定項目規(guī)模和目標,明確限制和約束。我們認為用戶要的用戶要的2、研究老系統(tǒng)

解決老系統(tǒng)問題老系統(tǒng)功能新增功能注:注意了解與其它系統(tǒng)的接口。

新系統(tǒng)效益老系統(tǒng)效益9可行性研究的具體步驟3、導(dǎo)出高層邏輯模型(conceptualdesign)…………抽象實現(xiàn)改進老系統(tǒng)模型新模型新系統(tǒng)應(yīng)該告訴用戶“What”而不是“How”10可行性研究的具體步驟

3、邏輯模型4、復(fù)查和重新定義1、復(fù)查定義注:此時合同未簽,應(yīng)考慮成本,不宜反復(fù)太多次。5、導(dǎo)出和評價多種解法進度表經(jīng)濟上合算技術(shù)上可行操作上可行技術(shù)上不可行用戶不可能操作不合算11可行性研究的具體步驟6、推薦行動方針YesorNo?NoYesWhy?Whichoneisthebest?Why?(cost/benefit)8、審查、存檔7、編寫可行性報告(開發(fā)計劃)

任務(wù)分解,確定負責人

大致進度規(guī)劃

財務(wù)預(yù)算

風險分析及對策粗略12文檔:可行性報告參考GB8567-88中的可行性研究報告,進行適當裁剪。13項目開發(fā)計劃

是對開發(fā)項目的費用、時間、進度、人員組織、硬件設(shè)備的配置、軟件開發(fā)環(huán)境和運行環(huán)境的配置等進行說明和規(guī)劃。是項目管理人員對項目進行管理的依據(jù),據(jù)此對項目的費用、進度和資源進行控制和管理。工具:ProjectMicrosoftProject(或MSP)是由微軟開發(fā)銷售的項目管理軟件程序。軟件設(shè)計目的在于協(xié)助項目經(jīng)理發(fā)展計劃、為任務(wù)分配資源、跟蹤進度、管理預(yù)算和分析工作量。1415注意事項標書:我國對軟件成本認識不足困難:就是缺乏數(shù)據(jù)估計,導(dǎo)致估計不科學(xué);應(yīng)根據(jù)項目復(fù)雜度、熟悉程度、規(guī)模等科學(xué)計劃。尤其在時間計劃上,要牢牢記住,人數(shù)與工作日不能簡單互換。因為人員的增加與流動必然要增加培訓(xùn)、交流所占用的時間和資源,也就會影響項目的進度,所以計劃時必須考慮。要留有緩沖時間,將緩沖時間用到不確定的事情上。

16軟件需求分析:“做什么?”

需求分析的過程是開發(fā)人員與用戶共同協(xié)商,明確系統(tǒng)的全部功能、性能以及運行規(guī)格,并且使用軟件開發(fā)人員和用戶都能理解的語言準確地表達出來,即完成需求規(guī)格說明的過程。17軟件需求重要性例子

?“喂,是Jack嗎?我是人力資源部的Tom,我們在使用你編寫的職員系統(tǒng)時遇到一個問題,一個職員想把她的名字改成SparkleStarlight,而系統(tǒng)不允許,你能幫幫忙嗎?”“她嫁給了一個姓Starlight的人嗎?”Jack問道。?“不,她沒有結(jié)婚,而僅僅是要更改她的名字,”Tom回答,“就是這問題,好象我們只能在婚姻狀況改變時才能更改姓名?!薄爱斎贿@樣,我從沒想到誰會莫名其妙地更改姓名,我也不記得你曾告訴我系統(tǒng)需要處理這樣的事情?!盝ack說。?

Tom說:“我想你當然知道每個人只要愿意都可以隨時合法更改其姓名。但不管怎樣,你在本周五之前解決這問題,否則Sparkle不能支付她的帳單?!薄斑@不是我的錯!我現(xiàn)在正忙著做一個新的系統(tǒng),還要做一些別的需求變更請求。很抱歉,只能下周才能修改?!薄?/p>

18故事帶給我們的啟示……

影響:作為客戶,很惱火,因為軟件系統(tǒng)不能進行一項基本的操作。哪怕開發(fā)者給其解決了,也不會感謝他。作為開發(fā)者,也很煩人,迫使你增加了當前的工作,又要你優(yōu)先處理。原因:由于收集、編寫、協(xié)商、修改需求的過程中存在失誤造成的。解決辦法:重視需求分析,派經(jīng)驗豐富的人員做,最大程度的減少類似情況發(fā)生。19需求分析的特點老問題:?問題的復(fù)雜性?交流障礙(講究技巧和原則)?分析不完備性和不一致性?需求易變性(動態(tài)性)派經(jīng)驗豐富的人去干!系統(tǒng)分析員20軟件需求的任務(wù)

——理解、分解、表達、評審1.理解(問題識別):雙方確定問題的綜合需求。?功能需求:系統(tǒng)必須做什么?

?性能需求 :做得怎樣?例:responsetime,memory,back-upmemory,……?環(huán)境需求 :運行環(huán)境、軟硬件配置等。?用戶界面需求?可靠性、安全性、保密性、可移植性和可維護性等方面的需求。?將來可能提出的要求共同理解!21軟件需求的任務(wù)2.分解(分析與綜合):導(dǎo)出軟件的邏輯模型。對獲取的需求進行一致性的分析檢查,在分析、綜合中逐步細化軟件功能,劃分成各個子功能。也對數(shù)據(jù)域進行分解,分配到各個子功能上,并用圖文結(jié)合的形式,建立起新系統(tǒng)的邏輯模型。22軟件需求的任務(wù)3.表達(編寫文檔):?編寫需求說明書

?編寫初步用戶使用手冊?編寫確認測試計劃

?修改完善項目開發(fā)計劃23需求文檔用戶需求報告需求規(guī)格說明書對外的,驗收依據(jù)對內(nèi)的,設(shè)計依據(jù)是合同的產(chǎn)物是立項建議書的產(chǎn)物由用戶需求報告可產(chǎn)生需求規(guī)格說明書當前系統(tǒng),目標系統(tǒng)目標系統(tǒng)(數(shù)據(jù)字典,算法分析)24軟件需求的任務(wù)驗證需求的一致性驗證需求的完整性驗證需求的現(xiàn)實性驗證需求的有效性方法:

人工審查

開發(fā)原型系統(tǒng)-探索型使用軟件工具

——完整性、一致性基線4.評審(技術(shù)審查和管理復(fù)審)25需求分析的方法結(jié)構(gòu)化分析方法:由數(shù)據(jù)流和數(shù)據(jù)字典構(gòu)成,適于數(shù)據(jù)處理領(lǐng)域問題。該方法是對現(xiàn)實世界中的數(shù)據(jù)流進行分析,把數(shù)據(jù)流映射到分析結(jié)果中。但該方法的一個難點是確定數(shù)據(jù)流之間的變換,而且數(shù)據(jù)字典的規(guī)模也是一個問題,對數(shù)據(jù)結(jié)構(gòu)的強調(diào)很少。功能分解法:系統(tǒng)=功能+子功能+功能接口。本質(zhì)是用過程抽象的觀點看待系統(tǒng)需求,很難與軟件設(shè)計明確分離。基點放在功能上,不穩(wěn)定,難以適用需求的變化。26需求分析的方法信息建模方法:從數(shù)據(jù)角度來對現(xiàn)實世界建模。基本工具是E-R圖,數(shù)據(jù)不封閉,每個實體和它的屬性的處理需求不是組合在同一實體中,沒有繼承性和消息傳遞機制來支持模型。是面向?qū)ο蠓治龅幕A(chǔ)。面向?qū)ο蠓治龇ǎ翰捎昧藢嶓w、關(guān)系和屬性等信息模型分析中的概念,同時采用了封閉、類結(jié)構(gòu)和繼承性等面向?qū)ο蟪绦蛟O(shè)計語言中的概念。27ER模型(Entity-RelationshipApproach)實體:客觀世界中存在且可相互區(qū)分的事物。用矩形框代表。聯(lián)系:事物間是有聯(lián)系的。(1:1、1:N、M:N)

用連接相關(guān)實體的菱形框表示。屬性:實體或聯(lián)系所具有的性質(zhì)。用橢圓形或圓角矩形表示。教師學(xué)生課程教學(xué)學(xué)號職稱成績學(xué)分1NNM28注意事項在需求分析時要注意用戶對軟件開發(fā)的了解程度。避免造成兩種極端認識。需求的變動或新增是一個極為普遍的問題,既然普遍,所以軟件開發(fā)人員不僅應(yīng)該在心理上接受這種變動,還應(yīng)該在需求分析時積極的發(fā)掘需求。需求人員與用戶廣泛交流,從深度和廣度挖掘可能的需求,并應(yīng)形成規(guī)范的需求文檔,經(jīng)用戶確認。如果為寫文檔而寫文檔,不進行及時更新,甚至準備在軟件開發(fā)完成后再補文檔,這是絕對錯誤的觀點。29可能錯誤沒

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論