上海交大之軟件需求分析_第1頁(yè)
上海交大之軟件需求分析_第2頁(yè)
上海交大之軟件需求分析_第3頁(yè)
上海交大之軟件需求分析_第4頁(yè)
上海交大之軟件需求分析_第5頁(yè)
已閱讀5頁(yè),還剩82頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

第6講需求分析12/20/20231內(nèi)容需求分析的重要性需求分析的困難性需求工程需求分析過(guò)程概念模型和規(guī)范化圖形工具需求驗(yàn)證原型技術(shù)12/20/20232需求分析需求分析是軟件定義時(shí)期的最后一個(gè)階段回答“系統(tǒng)必須做什么?”的問(wèn)題12/20/20233需求分析的重要性真的很重要嗎?例:Ourreal-timeexampleisbasedontheembeddedsoftwareintheAriane-5,aspacerocketbelongingtotheEuropeanSpaceAgency(ESA).OnJune4,1996,onitsmaidenflight,theAriane-5waslaunchedandperformedperfectlyforapproximately40seconds.Then,itbegantoveeroffcourse.AtthedirectionofanArianegroundcontroller,therocketwasdestroyedbyremotecontrol.Thedestructionofthe

uninsuredrocketwasalossnotonlyoftherocketitself,butalsoofthefoursatellitesitcontained;thetotalcostofthedisasterwas$500million(Newsbyteshomepage1996;

Lionsetal.1996).12/20/20234需求分析的重要性Thereason:therewasnodiscussionintherequirementsdocumentsofthewaysinwhichtheAriane-5trajectorywouldbedifferentfromAriane-4.統(tǒng)計(jì)資料:

In1994,theStandishGroupsurveyedover350companiesabouttheirover8000softwareprojectstofindouthowwelltheywerefaring.Theresultsaresobering.Thirty-onepercentofthesoftwareprojectswerecanceledbeforetheywerecompleted.Moreover,inlargecompanies,only9%oftheprojectsweredeliveredontimeandcostwhattheywerebudgeted,and16%metthosecriteriainsmallcompanies(Standish1994).12/20/20235需求分析的重要性12/20/20236需求分析的重要性5點(diǎn)事實(shí)軟件生命周期中,一個(gè)錯(cuò)誤發(fā)現(xiàn)得越晚,修復(fù)錯(cuò)誤的費(fèi)用越高12/20/20237需求分析的重要性許多錯(cuò)誤是潛伏的,并且在錯(cuò)誤產(chǎn)生后很長(zhǎng)一段時(shí)間才被檢查出來(lái)在需求過(guò)程中會(huì)產(chǎn)生很多錯(cuò)誤DeMarco在一份研究報(bào)告中指出,被檢查出來(lái)的錯(cuò)誤的56%產(chǎn)生的根源可以追溯到需求階段。AIRMICS所進(jìn)行的一項(xiàng)調(diào)查發(fā)現(xiàn),在一份美國(guó)軍方大型管理信息系統(tǒng)的需求現(xiàn)格說(shuō)明書(SRS)中存在著500多個(gè)錯(cuò)誤,當(dāng)然這僅僅是一個(gè)軟件項(xiàng)目中的一次調(diào)查。在需求階段,代表性的錯(cuò)誤為疏忽、不一致和二義性美國(guó)海軍研究實(shí)驗(yàn)室從20世紀(jì)70年代起就對(duì)軟件開(kāi)發(fā)技術(shù)不斷地進(jìn)行研究。他們對(duì)海軍A—7E—它機(jī)上的”宅行操作程序進(jìn)行實(shí)地測(cè)試,以驗(yàn)證許多新設(shè)想的可行性。得出的研究數(shù)據(jù)表明:A—7E項(xiàng)目中77%的需求錯(cuò)誤特點(diǎn)是不明確:疏忽、不一致和二義性。按錯(cuò)誤類型對(duì)這些錯(cuò)誤分布進(jìn)行分析的結(jié)果是:49%不正確的事實(shí),31%疏忽,l3%不一致,5%二義性12/20/20238需求分析的重要性需求錯(cuò)誤是可以被檢查出來(lái)的12/20/20239需求分析的重要性在需求過(guò)程中會(huì)產(chǎn)生很多錯(cuò)誤(事實(shí)3和4)。許多錯(cuò)誤并沒(méi)有在早期被發(fā)現(xiàn)(事實(shí)2)。這樣的錯(cuò)誤是能夠在產(chǎn)生的初期被檢查出來(lái)的(事實(shí)5)。如果沒(méi)有及時(shí)檢查出來(lái)這些錯(cuò)誤,軟件費(fèi)用會(huì)直線上升(事實(shí)1)12/20/202310需求管理的困難性12/20/202311需求工程需求是什么?需求就是以一種清晰、簡(jiǎn)潔、一致且無(wú)二義性的方式,對(duì)一個(gè)待開(kāi)發(fā)系統(tǒng)中各個(gè)有意義方面的陳述的一個(gè)集合。需求工程一般指應(yīng)用已證實(shí)有效的原理、方法,通過(guò)合適的工具和記號(hào),系統(tǒng)地描述出待開(kāi)發(fā)系統(tǒng)及其行為特征和相關(guān)約束;通常是一些過(guò)程的集合:需求獲取(需求引出)、需求分析和編寫軟件規(guī)格說(shuō)明書(SRS)及驗(yàn)證(包括鑒定和證實(shí))。12/20/202312需求工程涉及人員12/20/202313軟件需求功能需求性能需求環(huán)境需求可靠性需求安全保密要求用戶界面需求資源使用需求成本消耗需求開(kāi)發(fā)進(jìn)度需求預(yù)先估計(jì)以后系統(tǒng)可能達(dá)到的目標(biāo)12/20/202314需求分析與程序分析的不同12/20/202315需求分析現(xiàn)狀誤解交流障礙缺乏共同語(yǔ)言“完整性”問(wèn)題需求永遠(yuǎn)不會(huì)穩(wěn)定用戶意見(jiàn)不統(tǒng)一錯(cuò)誤要求認(rèn)識(shí)混淆12/20/202316需求分析的任務(wù)可行性分析階段已經(jīng)粗略了解了用戶的需求,甚至已經(jīng)提出了一些可行的方案,但是,可行性研究的基本目的是用較小的成本在較短的時(shí)間內(nèi)確定是否存在可行的方案。因此許多細(xì)節(jié)被忽略。在系統(tǒng)開(kāi)發(fā)前,還需要進(jìn)一步確定12/20/202317需求分析的任務(wù)可行性分析DFDDD功能具體化需求規(guī)格說(shuō)明加細(xì)DFDDD算法描述IPOFinalstageofDefinitionphase仍然回答“What”,而不是“How”,但更細(xì)致、精確(合同的擬定)12/20/202318需求分析的任務(wù)完整準(zhǔn)確清晰具體12/20/202319需求分析的任務(wù)12/20/202320需求分析的任務(wù)1、確定要求⑴功能要求(functionalrequirements):系統(tǒng)必須做什么?⑵性能要求(performance

requirements):做得怎樣?例:responsetime,memory,back-upmemory,security,……⑶運(yùn)行要求(operationalrequirements)

:運(yùn)行環(huán)境、軟硬件配置等。⑷未來(lái)可能的擴(kuò)充要求(possibleevolution):如3維虛擬現(xiàn)實(shí)的效果等等。12/20/202321需求分析的任務(wù)

2分析數(shù)據(jù)⑴建立概念模型(conceptualmodels):E-RDiagram⑵形象描繪數(shù)據(jù)結(jié)構(gòu):DataHierarchy,WarnierDiagram,IPO⑶數(shù)據(jù)結(jié)構(gòu)規(guī)范化(Normalization)3、導(dǎo)出邏輯模型:

DFD+DD+IPO4、修正計(jì)劃:重估成本、進(jìn)度等12/20/202322需求分析的任務(wù)“樣機(jī)試用”CDG5、開(kāi)發(fā)原型系統(tǒng)(Prototyping)12/20/202323分析過(guò)程軟件系統(tǒng)本質(zhì)上是信息處理系統(tǒng),任何信息處理系統(tǒng)的基本功能都是把輸入數(shù)據(jù)轉(zhuǎn)變成需要的輸出信息數(shù)據(jù)是分析的出發(fā)點(diǎn),在可行性分析階段許多實(shí)際的數(shù)據(jù)元素被忽略了,需求分析階段將定義這些數(shù)據(jù)元素結(jié)構(gòu)化分析方法就是面向數(shù)據(jù)流自頂向下逐步求精進(jìn)行需求分析的方法12/20/202324分析過(guò)程1、沿DFD回溯(1)DFD的輸出端是系統(tǒng)的最終目的(2)向回確定每個(gè)數(shù)據(jù)元素的來(lái)源(3)為了得到某個(gè)數(shù)據(jù)元素需要用到數(shù)據(jù)流圖中目前還沒(méi)有的數(shù)據(jù)元素,或者得出某個(gè)數(shù)據(jù)元素需要用的算法尚不清楚,可加細(xì)DFD及DD,并將相關(guān)算法記錄在IPO圖中。12/20/202325分析過(guò)程2、用戶復(fù)查數(shù)據(jù)字典準(zhǔn)確完整嗎?算法正確嗎?有沒(méi)有遺漏必要的處理或數(shù)據(jù)元素?某些數(shù)據(jù)元素是從哪里來(lái)的?……——構(gòu)成一個(gè)循環(huán),認(rèn)識(shí)螺旋式上升12/20/202326分析過(guò)程3、細(xì)化DFD:

加細(xì)前后的I\O須相同。

分解到須考慮具體實(shí)現(xiàn)的代碼時(shí)即可仃止12/20/202327分析過(guò)程4、修正計(jì)劃5、文檔:《需求規(guī)格說(shuō)明書》不需分解有補(bǔ)充修正無(wú)補(bǔ)充修正分析追蹤數(shù)據(jù)流圖用戶復(fù)查細(xì)化數(shù)據(jù)流圖需要分解12/20/202328需求分析規(guī)格說(shuō)明書

文檔編號(hào):

版本號(hào):

文檔名稱:項(xiàng)目名稱:項(xiàng)目負(fù)責(zé)人:

年月日編寫:核對(duì):審核:批準(zhǔn):開(kāi)發(fā)單位:

12/20/202329需求分析規(guī)格說(shuō)明書⑴系統(tǒng)規(guī)格說(shuō)明:

系統(tǒng)概貌

功能要求

性能要求

運(yùn)行要求

可能增加的要求

DFD

IPO⑵數(shù)據(jù)要求:

DD

Hierarchy或WarnierDiagram⑶用戶系統(tǒng)描述

——初步用戶手冊(cè):從用戶的觀點(diǎn)考慮系統(tǒng)

系統(tǒng)功能、性能

使用與步驟等⑷修正的開(kāi)發(fā)計(jì)劃:

成本估計(jì)

資源使用計(jì)劃

進(jìn)度計(jì)劃12/20/202330需求分析規(guī)格說(shuō)明書從現(xiàn)實(shí)中分離功能,即描述要“做什么”而不是“怎樣實(shí)現(xiàn)”要求使用面向處理的規(guī)格說(shuō)明語(yǔ)言(或稱系統(tǒng)定義語(yǔ)言)如果被開(kāi)發(fā)軟件只是一個(gè)大系統(tǒng)中的一個(gè)元素,那么整個(gè)大系統(tǒng)也包括在規(guī)格說(shuō)明的描述之中規(guī)格說(shuō)明必須包括系統(tǒng)運(yùn)行環(huán)境規(guī)格說(shuō)明必須是一個(gè)認(rèn)識(shí)模型規(guī)格說(shuō)明必須是可操作的規(guī)格說(shuō)明必須容許不完備性并允許擴(kuò)充規(guī)格說(shuō)明必須局部化和松散耦合12/20/202331分析過(guò)程輕松一分鐘

——TrueTechSupportStories

Awomancompliedwithatech'srequesttosendinacopyofadefectivediskette.Afewdayslater,thetechreceivedaletterfromheralongwithaxeroxcopyofthefloppy.

Atechadvisedacustomertoputhistroubledfloppybackinthedriveandclosethedoor.Thecustomerputhisphonedownandwasheardwalkingacrosstheroomandshuttingthedoortotheroom.12/20/202332分析過(guò)程節(jié)選自目前我國(guó)的一些實(shí)際系統(tǒng)中的功能性需求的說(shuō)明方式:“根據(jù)詳細(xì)的系統(tǒng)調(diào)研和需求分析,……系統(tǒng)的功能必須滿足以下需求:1)編制計(jì)劃、計(jì)劃工程撥款管理,……,工程批復(fù)管理,工程進(jìn)度統(tǒng)計(jì);2)工程項(xiàng)目管理;3)計(jì)劃撥款、征費(fèi)收繳信息及其他收撥款信息查詢統(tǒng)計(jì);4)路產(chǎn)管理,違章建筑管理,工程材料管理,……,超限運(yùn)輸管理;5)養(yǎng)征信息查詢管理,收費(fèi)站信息管理;6)文檔管理,會(huì)議管理,合同管理,……,駕駛員外勤管理,常用管理;7)養(yǎng)護(hù)信息管理,公路維護(hù)預(yù)警;8)路況信息管理,交通量信息管理,科研項(xiàng)目信息管理;12/20/202333需求表達(dá)需求說(shuō)明語(yǔ)句保持語(yǔ)句和段落的簡(jiǎn)短采用主動(dòng)語(yǔ)態(tài)的表達(dá)方式編寫具有正確的語(yǔ)法和標(biāo)點(diǎn)的完整句子使用的術(shù)語(yǔ)應(yīng)該和詞匯表中定義的一致需求陳述應(yīng)該具有一致的式樣,例如“系統(tǒng)必須……”,或者“用戶必須……”,并緊跟一個(gè)行為動(dòng)作和可觀察的結(jié)果,例如“倉(cāng)庫(kù)管理子系統(tǒng)必須現(xiàn)實(shí)一張?jiān)谒?qǐng)求的倉(cāng)庫(kù)中有存貨的藥品名單?!?2/20/202334需求表達(dá)為了減少不確定性,避免采用模糊的、主觀的術(shù)語(yǔ),例如,用戶友好、容易、簡(jiǎn)單、迅速、有效、支持、許多、最新技術(shù)、優(yōu)越的、可接受的和健壯的。避免使用比較性的詞匯,例如:提高,最大化,最小化和最佳化。定量地說(shuō)明所需要提高的程度或者說(shuō)清一些參數(shù)可接受的最大值和最小值。12/20/202335需求表達(dá)“產(chǎn)品必須在固定的時(shí)間間隔內(nèi)提供狀態(tài)消息,并且每次時(shí)間間隔不得小于60秒”后臺(tái)任務(wù)管理器應(yīng)該在用戶界面的指定區(qū)域顯示狀態(tài)消息在后臺(tái)任務(wù)進(jìn)程啟動(dòng)之后,消息必須每隔60(+_10)秒更新一次,并且保持連續(xù)的可見(jiàn)性。如果正在正常處理后臺(tái)任務(wù)進(jìn)程,那么后臺(tái)任務(wù)管理器必須顯示后臺(tái)任務(wù)進(jìn)程已完成的百分比當(dāng)完成后臺(tái)任務(wù)時(shí),后臺(tái)任務(wù)管理器必須顯示一個(gè)“已完成”的消息。如果后臺(tái)任務(wù)中止執(zhí)行,那么后臺(tái)任務(wù)管理器必須顯示一個(gè)出錯(cuò)信息。12/20/202336需求表達(dá)“產(chǎn)品必須在顯示和隱藏非打印字符之間進(jìn)行瞬間切換”“用戶在編輯文檔時(shí),通過(guò)激活特定的觸發(fā)機(jī)制,可以在顯示和隱藏所有HTML標(biāo)記之間進(jìn)行切換?!?2/20/202337需求表達(dá)“分析程序應(yīng)該能生成HTML標(biāo)記出錯(cuò)的報(bào)告,這樣就可以使HTML的初學(xué)者使用它來(lái)迅速排錯(cuò)”在HTML分析程序完全分析完一個(gè)文件后,該分析程序必須生成一個(gè)出錯(cuò)報(bào)告,這個(gè)報(bào)告中包含了在分析文件中所發(fā)生錯(cuò)誤的HTML所在的行號(hào)以及文本內(nèi)容,還包含了對(duì)每個(gè)錯(cuò)誤的描述。如果分析過(guò)程中未發(fā)生任何錯(cuò)誤,就不必生成任何錯(cuò)誤報(bào)告12/20/202338分析過(guò)程第六步審查和復(fù)審以上六步構(gòu)成一個(gè)循環(huán)12/20/202339需求分析過(guò)程12/20/202340概念模型和規(guī)范化軟件系統(tǒng)開(kāi)發(fā)過(guò)程中必須考慮兩方面的問(wèn)題“數(shù)據(jù)”及對(duì)數(shù)據(jù)的“處理”為了把用戶的數(shù)據(jù)要求清晰明確地表達(dá)出來(lái),系統(tǒng)分析員通常建立一個(gè)概念性的數(shù)據(jù)模型(也稱為信息模型)。概念性數(shù)據(jù)模型是一種面向問(wèn)題的數(shù)據(jù)模型,是按照用戶的觀點(diǎn)來(lái)對(duì)數(shù)據(jù)和信息建模。12/20/202341概念模型和規(guī)范化最常用的表示概念性數(shù)據(jù)模型的方法,是實(shí)體聯(lián)系方法(Entity-RelationshipApproach)ER圖描述現(xiàn)實(shí)世界中的實(shí)體,而不涉及這些實(shí)體在系統(tǒng)中的實(shí)現(xiàn)方法。12/20/202342概念模型和規(guī)范化⑴Entities例:,

,StudentInstructorClass實(shí)體是客觀世界中存在的且可相互區(qū)分的事務(wù)。實(shí)體可以是人也可以是物,可以是具體的事物也可以是抽象概念。例如,職工、學(xué)生、課程、教師等都是實(shí)體。12/20/202343概念模型和規(guī)范化客觀世界中的事物彼此間往往是有聯(lián)系的,例如,教師與課程間存在“教”這種聯(lián)系。⑵Relations例:EnrolledinTeach111NMN12/20/202344概念模型和規(guī)范化屬性是實(shí)體或聯(lián)系所具有的性質(zhì)。通常一個(gè)實(shí)體由若干個(gè)屬性來(lái)刻畫。例如,“學(xué)生”實(shí)體有學(xué)號(hào)、姓名、性別、系、年級(jí)⑶Attributes例:,NameID#12/20/202345概念模型和規(guī)范化…………InstructorStudentEnrolledinTeachClassID#ID#NameNameSexSexTitleInstructorIDClassIDGradeStudentIDClassIDCreditID#Subject例:12/20/202346概念模型和規(guī)范化2、范式(NormalForms):消除數(shù)據(jù)冗余的程度

IBME.F.Godd(1970)例:*Keyword:可唯一地標(biāo)識(shí)一個(gè)元組的屬性12/20/202347概念模型和規(guī)范化范式級(jí)別越高,存儲(chǔ)同樣數(shù)據(jù)就要分解成更多張表,因此“存儲(chǔ)自身”的過(guò)程也就越復(fù)雜隨著范式級(jí)別的提高,數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)與基于問(wèn)題域的結(jié)構(gòu)間的匹配程度也隨之下降,因此,在需求變化時(shí)數(shù)據(jù)的穩(wěn)定性較差范式級(jí)別的提高則需要訪問(wèn)的表增多,性能(速度)將下降12/20/202348概念模型和規(guī)范化1-NF:所有屬性都是原子值,即不出現(xiàn)“表中有表”12/20/202349概念模型和規(guī)范化2-NF:在1-NF基礎(chǔ)上,每個(gè)non-key-word都由整個(gè)keyword決定(而非依賴于keyword的一部分)。例:“Major”實(shí)際上由“ID”的第6、7位決定,可省去。12/20/202350概念模型和規(guī)范化3-NF:在2-NF基礎(chǔ)上,non-key-word之間無(wú)從屬關(guān)系。12/20/202351圖形工具1、層次方框圖(Hierarchy)——描繪數(shù)據(jù)的結(jié)構(gòu)例:ARoomhierarchybasedonaninteriordesigner’sperspective.RoomRoomwithlightsRoomwithwindowsGarageBasementKitchenBathroomRoomwithFurnitureLivingRoomFamilyRoomBedRoomDiningRoom12/20/202352圖形工具2、WarnierDiagram:{:層次(n1,n2):重復(fù)n1到n2次:二者擇一例:頭條新聞地區(qū)隊(duì)頭版國(guó)內(nèi)新聞體育新聞職業(yè)隊(duì)本地新聞拳擊社論(1,1)經(jīng)營(yíng)簡(jiǎn)訊專欄(1,3)

報(bào)紙社論讀者來(lái)信(1,3)副刊商業(yè)新聞雇員簡(jiǎn)訊諷刺漫畫(0,1)一般新聞體育新聞聯(lián)播招生副刊商業(yè)新聞廣告招聘廣告求助細(xì)化12/20/202353圖形工具3、IPO圖(Input/Process/Output):簡(jiǎn)要的算法描述1.校驗(yàn)主記錄2.校驗(yàn)事務(wù)記錄3.更新主記錄舊的主文件事務(wù)文件有效的主記錄有效的事務(wù)記錄更新后的主文件輸出O處理P輸入I12/20/202354改進(jìn)的IPO圖12/20/202355需求驗(yàn)證方法:

人工審查

初步用戶手冊(cè)

Prototyping

使用軟件工具——完整性、一致性12/20/202356需求驗(yàn)證例1:SoftwareRequirementsEngineeringMethodology(SREM)(TRWCorporation,1977)SREM=RequirementsStatementLanguage(RSL)+RequirementsEngineeringValidationSystem(REVS)REVSRSLRequirementsRSLStatementsAbstractSystemSemanticModel(ASSM)AnalyzerReports12/20/202357需求驗(yàn)證12/20/202358自動(dòng)化工具近年來(lái)已經(jīng)開(kāi)發(fā)出一些需求分析工具,它們提供一組程序,幫助分析員制定需求規(guī)格說(shuō)明。以自動(dòng)化為主的工具給分析員提供另一種可供選擇的方案。軟件需求能夠用一種規(guī)格說(shuō)明語(yǔ)言來(lái)描述,這種語(yǔ)言把關(guān)鍵字指示符與自然語(yǔ)言(例如英語(yǔ))描述結(jié)合起來(lái)。規(guī)格說(shuō)明語(yǔ)言被送進(jìn)一個(gè)處理機(jī),它產(chǎn)生出一份需求規(guī)格說(shuō)明,更為重要的是,它同時(shí)還產(chǎn)生出一組有關(guān)規(guī)格說(shuō)明的一致性和組織的診斷報(bào)告。在過(guò)去的10年間,已經(jīng)提出過(guò)一些用于制訂需求規(guī)格說(shuō)明的自動(dòng)化工具。12/20/202359自動(dòng)化工具12/20/202360自動(dòng)化工具軟件需求工程方法學(xué)(SREM)和問(wèn)題陳述語(yǔ)言/問(wèn)題陳述分析器(PSL/PSA)是有代表性的自動(dòng)化工具。此外,一些基于知識(shí)或形式化方法都需要有自動(dòng)工具來(lái)支持,才能有較好實(shí)用價(jià)值。12/20/202361自動(dòng)化工具軟件需求工程方法學(xué)(SREM)SREM是一種自動(dòng)化的需求分析工具,它用一種需求陳述語(yǔ)言(RSL)來(lái)描述“元素、屬性、關(guān)系和結(jié)構(gòu)”。元素(按照SREM的術(shù)語(yǔ))包括一組用來(lái)制定需求規(guī)格說(shuō)明的對(duì)象和概念。各對(duì)象之間的關(guān)系規(guī)定為RSL的一部分,而屬性則用來(lái)描述或說(shuō)明元素,結(jié)構(gòu)用來(lái)說(shuō)明信息流程。這些RSL基本成分與敘述性信息一起構(gòu)成需求規(guī)格說(shuō)明的細(xì)節(jié)。12/20/202362自動(dòng)化工具問(wèn)題陳述語(yǔ)言與問(wèn)題陳述分析——PSL/PSAPSL/PSA是1968年由D.Teichroew在密執(zhí)安大學(xué)(Un5versitynfMichigan)提出的。它是為ISDOS項(xiàng)目而開(kāi)發(fā)的,又是一個(gè)稱之為計(jì)算機(jī)輔助設(shè)計(jì)與規(guī)格說(shuō)明分析工具(computer—aideddesignandsPecificationanalysisto01,CADSAT)的更大的系統(tǒng)的部分。PSL/PSA給分析員提供的功能包括:一般信息系統(tǒng)的描述,不論其應(yīng)用領(lǐng)域如何。建立一個(gè)包含用于信息系統(tǒng)的描述符的數(shù)據(jù)庫(kù)。描述符的添加、刪除和修改。提供格式化的文檔資料和關(guān)于規(guī)格說(shuō)明的各種報(bào)告。12/20/202363自動(dòng)化工具(1)問(wèn)題陳述語(yǔ)言(theproblemstatementlanguage,PSL)。PSL是一種用來(lái)描述信息系統(tǒng)的語(yǔ)言。PSL模型的結(jié)構(gòu)由表達(dá)以下內(nèi)容的描述符構(gòu)成:系統(tǒng)信息流、系統(tǒng)結(jié)構(gòu)、數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)的導(dǎo)出、系統(tǒng)的規(guī)模和容量、系統(tǒng)的動(dòng)態(tài)特性、系統(tǒng)的性質(zhì)以及項(xiàng)目的管理等。(2)問(wèn)題陳述分析(theproblemstatementanalyzer,PSA)。PSA能夠?qū)τ蒔SL描述的問(wèn)題進(jìn)行分析。使用者對(duì)系統(tǒng)建立了一個(gè)完整的PSL描述后,就調(diào)用問(wèn)題陳述分析器(PSA)對(duì)其進(jìn)行分析。PSA將產(chǎn)生一系列報(bào)告。其中包括修改規(guī)格說(shuō)明數(shù)據(jù)的所有記錄、以各種格式介紹數(shù)據(jù)庫(kù)信息的參考報(bào)告、提供研制項(xiàng)目管理信息的小結(jié)報(bào)告和評(píng)價(jià)該數(shù)據(jù)庫(kù)文件的分析報(bào)告等。12/20/202364自動(dòng)化工具基于知識(shí)的途徑軟件開(kāi)發(fā)是一種高級(jí)智能活動(dòng),極富創(chuàng)造性,是知識(shí)密集型產(chǎn)業(yè),需要使用有關(guān)領(lǐng)域的大量知識(shí)。因此,引入人工智能技術(shù),構(gòu)造基于知識(shí)的軟件工具或軟件工程環(huán)境是十分必要的。隨著知識(shí)工程的進(jìn)步,目前在軟件開(kāi)發(fā)過(guò)程中使用人工智能在技術(shù)上已成為可能。引入人工智能的原理和技術(shù),把演進(jìn)型原型的思想進(jìn)一步提高和細(xì)化,可以得出如圖所示的擴(kuò)展的自動(dòng)程序設(shè)計(jì)范型。這是一個(gè)把用受限自然語(yǔ)言描述的初步需求逐步演進(jìn)成最終的源程序的自動(dòng)程序設(shè)計(jì)系統(tǒng)的概念模型,是由美國(guó)南加州大學(xué)信息科學(xué)研究所首先提出來(lái)的。12/20/202365原型化方法在開(kāi)發(fā)初期,要想得到一個(gè)完整準(zhǔn)確的規(guī)格說(shuō)明不是一件容易的事。特別是對(duì)一些大型的軟件項(xiàng)目。用戶往往對(duì)系統(tǒng)只有一個(gè)模糊的想法,很難完全準(zhǔn)確地表達(dá)對(duì)系統(tǒng)的全面要求。軟件開(kāi)發(fā)者對(duì)于所要解決的應(yīng)用問(wèn)題認(rèn)識(shí)更是模糊不清隨著開(kāi)發(fā)工作向前推進(jìn),用戶可能會(huì)產(chǎn)生新的要求,或因環(huán)境變化,要求系統(tǒng)也能隨之變化;開(kāi)發(fā)者又可能在設(shè)計(jì)與實(shí)現(xiàn)的過(guò)程中遇到些沒(méi)有預(yù)料到的實(shí)際困難,需要以改變需求來(lái)解脫困境。因此規(guī)格說(shuō)明難以完善、需求的變更、以及通信中的模糊和誤解,都會(huì)成為軟件開(kāi)發(fā)順利推進(jìn)的障礙。為了解決這些問(wèn)題,逐漸形成了軟件系統(tǒng)的快速原型的概念。12/20/202366軟件原型的分類在軟件開(kāi)發(fā)中,原型是軟件的一個(gè)早期可運(yùn)行的版本,它反映最終系統(tǒng)的部分重要特性。探索型:目的是要弄清對(duì)目標(biāo)系統(tǒng)的要求,確定所希望的特性,并探討多種方案的可行性。實(shí)驗(yàn)型:這種原型用于大規(guī)模開(kāi)發(fā)和實(shí)現(xiàn)之前,考核方案是否合適,規(guī)格說(shuō)明是否可靠。進(jìn)化型:這種原型的目的不在于改進(jìn)規(guī)格說(shuō)明,而是將系統(tǒng)建造得易于變化,在改進(jìn)原型的過(guò)程中,逐步將原型進(jìn)化成最終系統(tǒng)。12/20/202367建立快速原型好處增進(jìn)軟件者和用戶對(duì)系統(tǒng)服務(wù)需求的理解,使比較含糊的具有不確定性的軟件需求(主要是功能)明確化。軟件原型化方法提供了一種有力的學(xué)習(xí)手段。使用原型化方法,可以容易地確定系統(tǒng)的性能,確認(rèn)各項(xiàng)主要系統(tǒng)服務(wù)的可應(yīng)用性,確認(rèn)系統(tǒng)設(shè)計(jì)的可行性,確認(rèn)系統(tǒng)作為產(chǎn)品的結(jié)果。軟件原型的最終版本,有的可以原封不動(dòng)地成為產(chǎn)品,有的略加修改就可以成為最終系統(tǒng)的一個(gè)組成部分,這樣有利于建成最終系統(tǒng)。12/20/202368可執(zhí)行規(guī)格說(shuō)明基于腳本(scenario)的設(shè)計(jì)自動(dòng)程序設(shè)計(jì)專用語(yǔ)言可復(fù)用(reusable)的軟件簡(jiǎn)化假設(shè)原型開(kāi)發(fā)技術(shù)12/20/202369可執(zhí)行規(guī)格說(shuō)明可執(zhí)行規(guī)格說(shuō)明是用于需求規(guī)格說(shuō)明的一種自動(dòng)化技術(shù)。使用這種方法,人們可以直接觀察他們用語(yǔ)言規(guī)定的任何系統(tǒng)性行為。包括

代數(shù)規(guī)格說(shuō)明

有限狀態(tài)模型

可執(zhí)行的數(shù)據(jù)流圖

12/20/202370(1)代數(shù)規(guī)格說(shuō)明代數(shù)規(guī)格說(shuō)明使用集合、定義于這些集合上的函數(shù)和定義于這些函數(shù)上的方程來(lái)描述對(duì)象。規(guī)格說(shuō)明的操作語(yǔ)義用這些方程表示。舉例:定義一個(gè)無(wú)界的棧及其操作NEW_STACK:→StackPUSH:Stack,Element→StackPOP:Stack→(Element|Undefined)POP(NEW_STACK())=UndefinedPOP(PUSH(stk,elem))=

elem其中,前三行定義了操作的語(yǔ)法,后兩行把它們的語(yǔ)義定義為一些方程。12/20/202371(2)有限狀態(tài)模型parnas提出的使用最廣泛的一種可執(zhí)行規(guī)格說(shuō)明形式。從一個(gè)初始狀態(tài)開(kāi)始接收輸入,到產(chǎn)生輸出,狀態(tài)在推移變化。施加在狀態(tài)元素上的約束確定了有效狀態(tài)的推移。舉例:建立用戶/程序?qū)υ?2/20/202372(3)可執(zhí)行的數(shù)據(jù)流圖數(shù)據(jù)流圖是基于結(jié)構(gòu)化開(kāi)發(fā)方法的結(jié)構(gòu)化規(guī)格說(shuō)明用一種可執(zhí)行的語(yǔ)言程序代替定義處理邏輯的結(jié)構(gòu)化英語(yǔ),數(shù)據(jù)流圖就成為由可執(zhí)行語(yǔ)言程序模塊組成的網(wǎng)絡(luò),在一定環(huán)境或工具的支持下就可成為一個(gè)可以執(zhí)行的原型系統(tǒng)。12/20/202373基于腳本的設(shè)計(jì)腳本是指用戶界面的原型。一個(gè)腳本用以模擬在系統(tǒng)運(yùn)行期間用戶經(jīng)歷的事件。它提供了輸入─處理─輸出的屏幕格式和有關(guān)對(duì)話的模型。因此,軟件開(kāi)發(fā)者能夠給用戶顯示系統(tǒng)的逼真的視圖,使用戶得以判斷是否符合他的意圖。可在任一腳本中使用一套可復(fù)用的軟件模塊,以表達(dá)某一方面的要求??墒褂靡环N原型語(yǔ)言來(lái)描述原型系統(tǒng)。原型開(kāi)發(fā)過(guò)程中用這種語(yǔ)言來(lái)定義屏幕、數(shù)據(jù)項(xiàng)、及其相關(guān)的操作。從系統(tǒng)的外部描述開(kāi)始,開(kāi)發(fā)與數(shù)據(jù)庫(kù)的接口、錯(cuò)誤處理和恢復(fù)過(guò)程等系統(tǒng)的與外部視圖一致的細(xì)節(jié)。12/20/202374自動(dòng)程序設(shè)計(jì)自動(dòng)程序設(shè)計(jì)是指在程序自動(dòng)生成環(huán)境的支持下,利用計(jì)算機(jī)實(shí)現(xiàn)軟件的開(kāi)發(fā)。它可以自動(dòng)地或半自動(dòng)地把用戶的非過(guò)程

溫馨提示

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

評(píng)論

0/150

提交評(píng)論