版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
少學(xué)習(xí),多思考?!埃德蒙·費(fèi)希爾——美國(guó)華盛頓大學(xué)教授、1992年諾貝爾醫(yī)學(xué)獎(jiǎng)得主,2004年11月10日在同濟(jì)大學(xué)演講臺(tái)上,他充滿激情地表達(dá)了自己的科學(xué)理念和對(duì)中國(guó)學(xué)生的期望:“少學(xué)習(xí),多思考”。他認(rèn)為科學(xué)的本質(zhì)和藝術(shù)是一樣的,需要直覺和想象力。而把太多信息塞入大腦,會(huì)讓學(xué)生沒(méi)有時(shí)間放松,沒(méi)有時(shí)間發(fā)展想象力?!芭nD本來(lái)是一個(gè)沒(méi)有什么特別之處的學(xué)生。但在劍橋大學(xué)休學(xué)的兩年里,靜下心來(lái)充分發(fā)展想象力,于是產(chǎn)生了偉大的發(fā)現(xiàn)?!?/p>
除了學(xué)習(xí)扎實(shí)的知識(shí),更重要的是要留點(diǎn)時(shí)間去夢(mèng)想。7/20/20231Chapter1:IntroductiontoMultimediatechnologyIntroductiontoSoftwareEngineering軟件工程
SoftwareEngineering夏順仁Tel:87951703/p>
E-mail:srxia@7/20/20232Chapter1:IntroductiontoMultimediatechnologyIntroductiontoSoftwareEngineering張海藩編著,軟件工程導(dǎo)論(第四版),清華大學(xué)出版社(2007)教材7/20/20233Chapter1:IntroductiontoMultimediatechnologyIntroductiontoSoftwareEngineering
實(shí)用軟件工程(第二版)鄭人杰殷人昆陶永雷清華大學(xué)出版社(2001)
軟件工程-實(shí)踐者的研究方法(英文版第四版)RogerS.Pressman
機(jī)械工業(yè)出版社參考書目7/20/20234Chapter1:IntroductiontoMultimediatechnologyIntroductiontoSoftwareEngineering參考書目FundamentalsofSoftwareEngineeringCarloGhezzi,MehdiJazayeri,DinoMandrioliPrentice-Hall,Inc.(1991)
SoftwareEngineering,TheoryandPracticeShariLawrencePfleeger,Prentice-Hall,Inc.(1998)7/20/20235Chapter1:IntroductiontoMultimediatechnologyIntroductiontoSoftwareEngineering參考書目Object-OrientedProgrammingUsingC++,IraPohlBenjamin/CummingsPublishingCompany,Inc.(1993)7/20/20236Chapter1:IntroductiontoMultimediatechnologyIntroductiontoSoftwareEngineering課程講授和考核方法課堂講授、自學(xué)與分組實(shí)踐相結(jié)合學(xué)期結(jié)束前提交軟件工程研發(fā)課題《患者監(jiān)護(hù)系統(tǒng)》實(shí)踐報(bào)告7/20/20237Chapter1:IntroductiontoMultimediatechnologyIntroductiontoSoftwareEngineering課程教學(xué)大綱7/20/20238Chapter1:IntroductiontoMultimediatechnologyIntroductiontoSoftwareEngineering第一章軟件危機(jī)與軟件工程Late1950’s:§1.軟件危機(jī)(SoftwareCrisis)Intheearlydays:
“Software”=“Placeasequenceofinstructionstogethertogetthecomputertodosomethinguseful”.UserComputerComputerbecamecheaperandmorecommonHighlevellanguagesweredevelopedProgrammerUserComputereasier7/20/20239Chapter1:IntroductiontoMultimediatechnologyIntroductiontoSoftwareEngineering§1.軟件危機(jī)Early1960s:Veryfewlargesoftwareprojectsweredonebysomeexperts.Middletolate1960s:Trulylargesoftwaresystemswereattempted.個(gè)體作坊式SoftwareCrisis!!!!7/20/202310Chapter1:IntroductiontoMultimediatechnologyIntroductiontoSoftwareEngineering§1.軟件危機(jī)⑴項(xiàng)目沒(méi)有被很好地理解;計(jì)劃不周,最終導(dǎo)致進(jìn)度拖延。⑵沒(méi)有充分的文檔資料(documentation)
人與人的交流比寫程序困難得多。⑶軟件可靠性(reliability)缺少度量的標(biāo)準(zhǔn),質(zhì)量無(wú)法保證。⑷軟件難以維護(hù)(maintainability)
不易升級(jí)(evolvability)問(wèn)題的主要表現(xiàn):7/20/202311Chapter1:IntroductiontoMultimediatechnologyIntroductiontoSoftwareEngineering§1.軟件危機(jī)客觀原因:軟件本身的特點(diǎn)-邏輯部件主觀原因:和軟件開發(fā)與維護(hù)的方法不當(dāng)有關(guān)錯(cuò)誤的積累效應(yīng)和放大效應(yīng)變化出現(xiàn)的時(shí)期問(wèn)題癥結(jié)所在:7/20/202312Chapter1:IntroductiontoMultimediatechnologyIntroductiontoSoftwareEngineering§1.軟件危機(jī)
BettermanagementDifferentteamorganizationsBetterlanguages&toolsUniformcodingconventions
必須意識(shí)到:“軟件”編程,它有自己的生命周期
(lifecycle)。大型軟件系統(tǒng)的開發(fā)與其它工程項(xiàng)目如建造橋梁、制造飛機(jī)、輪船等的開發(fā)是同理的?!败浖こ獭?SoftwareEngineering)NATOConference,Garmisch,Germany,1968.解決問(wèn)題的想法:7/20/202313Chapter1:IntroductiontoMultimediatechnologyIntroductiontoSoftwareEngineering§1.軟件危機(jī)據(jù)07年國(guó)外媒體報(bào)道,微軟高級(jí)工程師EricTraut透露,微軟將對(duì)WindowsVista之后的下一代操作系統(tǒng)Windows7進(jìn)行“瘦身”。
與前幾代操作系統(tǒng)相比,WindowsVista的體積相當(dāng)龐大。WindowsVista包含了5000萬(wàn)行代碼,比XP多出了40%。此外,WindowsVista還集成了19500個(gè)驅(qū)動(dòng)程序,而WindowsXP只集成了10000個(gè)驅(qū)動(dòng)。事實(shí)上,早在06年8月,權(quán)威調(diào)研機(jī)構(gòu)Gartner就曾表示,Windows當(dāng)前的“集成化”開發(fā)模式已經(jīng)遭遇瓶頸。從Vista之后的下一代操作系統(tǒng)開始,微軟需要調(diào)整開發(fā)模式。因此當(dāng)前的開發(fā)模式使得Windows變得越來(lái)越復(fù)雜,不利于企業(yè)部署、移植,也不利于微軟對(duì)系統(tǒng)進(jìn)行定期升級(jí)。7/20/202314Chapter1:IntroductiontoMultimediatechnologyIntroductiontoSoftwareEngineering§2.軟件工程(SoftwareEngineering)1、原理(Principles):⑴用分階段的生命周期計(jì)劃嚴(yán)格管理
項(xiàng)目概要計(jì)劃里程碑計(jì)劃項(xiàng)目控制計(jì)劃產(chǎn)品控制計(jì)劃驗(yàn)證計(jì)劃運(yùn)行維護(hù)計(jì)劃⑵堅(jiān)持進(jìn)行階段評(píng)審⑶實(shí)行嚴(yán)格的產(chǎn)品控制——基準(zhǔn)配置管理(Baselineconfigurationmanagement)⑹開發(fā)小組的成員應(yīng)該少而精(1+1<2)⑷采用現(xiàn)代程序設(shè)計(jì)技術(shù)⑸結(jié)果應(yīng)能清楚地審查—setstandards⑺承認(rèn)不斷改進(jìn)軟件工程實(shí)踐的必要性(總結(jié)和創(chuàng)新)§2.軟件工程7/20/202315Chapter1:IntroductiontoMultimediatechnologyIntroductiontoSoftwareEngineering§2.軟件工程2、軟件工程方法學(xué)(Methodology):定義:在軟件生命周期全過(guò)程中使用的一整套技術(shù)方法的集合。三個(gè)要素:方法:完成軟件開發(fā)各種任務(wù)的技術(shù)方法工具:為運(yùn)用方法而提供的自動(dòng)或半自動(dòng)的軟件工程支撐環(huán)境過(guò)程:為了獲得高質(zhì)量的軟件所需要完成的一系列任務(wù)的框架,它規(guī)定了完成各項(xiàng)任務(wù)的工作步驟。使用最廣泛的兩種方法:傳統(tǒng)方法學(xué)和面向?qū)ο蠓椒▽W(xué)。7/20/202316Chapter1:IntroductiontoMultimediatechnologyIntroductiontoSoftwareEngineering§2.軟件工程3、軟件生命周期(LifeCycle):維護(hù)開發(fā)定義DefinitionFeasibilityStudyRequirementsAnalysisProgramDesignCoding&ModuleTestingIntegration&SystemTestingDelivery&MaintenanceSystemDesign系統(tǒng)分析系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)7/20/202317Chapter1:IntroductiontoMultimediatechnologyIntroductiontoSoftwareEngineering§2.軟件工程4、軟件過(guò)程(SoftwareProcess):為了獲得高質(zhì)量的軟件所需完成的一系列任務(wù)的框架,它規(guī)定了完成各項(xiàng)任務(wù)的工作步驟。過(guò)程定義了運(yùn)用方法的順序、應(yīng)該交付的文檔資料、為保證軟件質(zhì)量和協(xié)調(diào)變化所需要采取的管理措施,以及標(biāo)志軟件開發(fā)各個(gè)階段任務(wù)完成的里程碑。
為獲得高質(zhì)量的軟件產(chǎn)品,軟件過(guò)程必須科學(xué)、有效。7/20/202318Chapter1:IntroductiontoMultimediatechnologyIntroductiontoSoftwareEngineering§2.軟件工程4.1瀑布模型(WaterfallModel):瀑布模型的特點(diǎn):
階段間的順序性、依賴性
推遲實(shí)現(xiàn)的觀點(diǎn)
質(zhì)量保證的觀點(diǎn)——階段文檔與評(píng)審的要求,利于盡早發(fā)現(xiàn)錯(cuò)誤。7/20/202319Chapter1:IntroductiontoMultimediatechnologyIntroductiontoSoftwareEngineering§2.軟件工程傳統(tǒng)的瀑布模型過(guò)于理想化,實(shí)際的瀑布模型具有“反饋環(huán)”。當(dāng)在后面階段發(fā)現(xiàn)前面階段的錯(cuò)誤時(shí),需要沿圖中左側(cè)的蘭色反饋線返回到前面的階段,修正好前面階段的產(chǎn)品之后再回來(lái)繼續(xù)完成后面的任務(wù)。瀑布模型是由文檔驅(qū)動(dòng)的。幾乎完全依賴于書面的規(guī)格說(shuō)明,很可能導(dǎo)致最終開發(fā)出來(lái)的產(chǎn)品不能真正滿足用戶需求。4.1瀑布模型(WaterfallModel):7/20/202320Chapter1:IntroductiontoMultimediatechnologyIntroductiontoSoftwareEngineering§2.軟件工程4.2快速原型模型(RapidPrototypingModel)快速原型模型的特點(diǎn):
不帶“反饋環(huán)”,軟件產(chǎn)品開發(fā)是線性順序進(jìn)行的必須迅速地構(gòu)建原型,然后根據(jù)用戶意見迅速地修改原型7/20/202321Chapter1:IntroductiontoMultimediatechnologyIntroductiontoSoftwareEngineering§2.軟件工程4.3增量(漸增)模型(IncrementalModel)
增量模型的特點(diǎn):
把軟件產(chǎn)品看作一系列的增量構(gòu)件來(lái)設(shè)計(jì)、編碼、集成和測(cè)試,而每個(gè)構(gòu)件由多個(gè)相互作用的模塊構(gòu)成可在短時(shí)間內(nèi)分批一個(gè)構(gòu)件接一個(gè)構(gòu)件地向用戶提交完成部分工作的產(chǎn)品,用戶有較充裕的時(shí)間學(xué)習(xí)和適應(yīng)新產(chǎn)品7/20/202322Chapter1:IntroductiontoMultimediatechnologyIntroductiontoSoftwareEngineering§2.軟件工程難點(diǎn):在把每個(gè)新的增量構(gòu)件集成到現(xiàn)有軟件體系結(jié)構(gòu)中時(shí),必須不破壞原來(lái)已經(jīng)開發(fā)的產(chǎn)品。為此,軟件體系結(jié)構(gòu)必須是開放的,必須在開始實(shí)現(xiàn)各個(gè)構(gòu)件之前就全部完成需求分析、規(guī)格說(shuō)明和概要設(shè)計(jì)的工作。4.3增量(漸增)模型(IncrementalModel)
7/20/202323Chapter1:IntroductiontoMultimediatechnologyIntroductiontoSoftwareEngineering§2.軟件工程基本思想:使用原型及其它方法來(lái)盡量減低風(fēng)險(xiǎn),為此它是在每個(gè)階段之前都增加了風(fēng)險(xiǎn)分析過(guò)程的快速原型模型??傊?,螺旋模型是風(fēng)險(xiǎn)驅(qū)動(dòng)的。4.4螺旋模型(SpiralModel)
7/20/202324Chapter1:IntroductiontoMultimediatechnologyIntroductiontoSoftwareEngineering小結(jié)軟件=程序+數(shù)據(jù)+文檔必須充分認(rèn)識(shí)到,軟件開發(fā)應(yīng)該是一種組織良好、管理嚴(yán)密、各類人員協(xié)同工作、共同完成的工程項(xiàng)目。應(yīng)該推廣使用在實(shí)踐中總結(jié)出來(lái)的開發(fā)軟件的成功的技術(shù)和方法,并且不斷探索和發(fā)展更有效的技術(shù)和方法。應(yīng)該開發(fā)和使用更好的軟件工具,包括可能的軟件工程支撐環(huán)境。采用工程的概念、原理、技術(shù)和方法來(lái)開發(fā)與維護(hù)軟件,把經(jīng)過(guò)時(shí)間考驗(yàn)而證明正確的管理技術(shù)和當(dāng)前能夠得到的最好的技術(shù)方法結(jié)合起來(lái),以經(jīng)濟(jì)高效地開發(fā)出高質(zhì)量的軟件并有效地維護(hù)它。——軟件工程7/20/202325Chapter1:IntroductiontoMultimediatechnologyIntroductiontoSoftwareEngineering軟件危機(jī)、癥結(jié)以及解決對(duì)策軟件生命周期軟件工程方法學(xué)的三要素:方法、工具、過(guò)程典型軟件工程過(guò)程:瀑布模型、快速原型模型、增量模型和螺旋模型小結(jié)7/20/202326Chapter1:IntroductiontoMultimediatechnologyIntroductiontoSoftwareEngineering小結(jié)模型名稱優(yōu)點(diǎn)缺點(diǎn)瀑布模型文檔驅(qū)動(dòng)模型:要求開發(fā)人員采取規(guī)范的方法(如:SD);嚴(yán)格文檔要求;階段審查和復(fù)審靜態(tài)的文檔需求難以難以讓用戶認(rèn)識(shí)動(dòng)態(tài)的軟件產(chǎn)品,可能有些需求不切合實(shí)際,需要一次性提交滿足所有需求的產(chǎn)品快速原型模型軟件開發(fā)過(guò)程基本是線性順序;4GL可供選用需要一次性提交滿足所有需求的產(chǎn)品,需要有4GL工具增量模型能在較短時(shí)間內(nèi)向用戶提交完成部分工作的產(chǎn)品;逐步增加產(chǎn)品功能讓用戶有較充裕的時(shí)間學(xué)習(xí)和適應(yīng)新產(chǎn)品需要精心的設(shè)計(jì),軟件結(jié)構(gòu)必須是開放的螺旋模型風(fēng)險(xiǎn)驅(qū)動(dòng)模型:使用原型及其它方法來(lái)盡量降低風(fēng)險(xiǎn)軟件開發(fā)人員需具有豐富的風(fēng)險(xiǎn)評(píng)估經(jīng)驗(yàn)和專門知識(shí)7/20/202327Chapter1:IntroductiontoMultimediatechnologyIntroductiontoSoftwareEngineering第二章可行性研究(FeasibilityStudy)LifeCycle:維護(hù)開發(fā)定義DefinitionFeasibilityStudyRequirementsAnalysisProgramDesignCoding&ModuleTestingIntegration&SystemTestingDelivery&MaintenanceSystemDesign分析問(wèn)題解決問(wèn)題7/20/202328Chapter1:IntroductiontoMultimediatechnologyIntroductiontoSoftwareEngineering第二章可行性研究(FeasibilityStudy)§1.任務(wù):不是解決問(wèn)題,而是確定是否可解\值得解可從下述下列幾個(gè)方面考慮:
Technically(技術(shù)上)----overonehundredstudents,15weeks,machines,languages,......Operationally(操作上)----canourcustomersuseit?Economically(經(jīng)濟(jì)上)----budget,profit,...…Others(Law,Society)注:不要花過(guò)多精力,占總成本的510%7/20/202329Chapter1:IntroductiontoMultimediatechnologyIntroductiontoSoftwareEngineering§2.步驟Step1:復(fù)查定義,明確限制的約束。我們認(rèn)為用戶要的用戶要的Step2:研究現(xiàn)有系統(tǒng)解決現(xiàn)有系統(tǒng)問(wèn)題現(xiàn)有系統(tǒng)功能新增功能目標(biāo)系統(tǒng)效益注:只了解老系統(tǒng)做什么,而不管怎樣做;注意了解與其它系統(tǒng)的接口?,F(xiàn)有系統(tǒng)效益§2.步驟7/20/202330Chapter1:IntroductiontoMultimediatechnologyIntroductiontoSoftwareEngineering§2.步驟Step3導(dǎo)出高層邏輯模型(conceptualdesign)…………抽象實(shí)現(xiàn)改進(jìn)現(xiàn)有物理系統(tǒng)現(xiàn)有系統(tǒng)邏輯模型目標(biāo)系統(tǒng)邏輯模型目標(biāo)系統(tǒng)應(yīng)該告訴用戶“What”而不是“How”7/20/202331Chapter1:IntroductiontoMultimediatechnologyIntroductiontoSoftwareEngineering§2.步驟邏輯模型Step4:進(jìn)一步定義問(wèn)題1、復(fù)查定義注:此時(shí)合同未簽,應(yīng)考慮成本,不宜反復(fù)太多次。Step5:導(dǎo)出多種解法進(jìn)度表經(jīng)濟(jì)上合算技術(shù)上可行操作上可行技術(shù)上不可行用戶不可能操作不合算7/20/202332Chapter1:IntroductiontoMultimediatechnologyIntroductiontoSoftwareEngineering§2.步驟Step6:推薦行動(dòng)方針YesorNo?NoYesWhy?Whichoneisthebest?Why?(cost/benefit)Step7:草擬開發(fā)計(jì)劃(粗略)任務(wù)分解,確定負(fù)責(zé)人大致進(jìn)度規(guī)劃財(cái)務(wù)預(yù)算風(fēng)險(xiǎn)分析及對(duì)策Step8:書寫文檔提交審查7/20/202333Chapter1:IntroductiontoMultimediatechnologyIntroductiontoSoftwareEngineering§3.系統(tǒng)流程圖(SystemFlowDiagram)基本思想:利用圖形符號(hào)以黑盒子形式描述組成系統(tǒng)的各個(gè)部件(程序、文檔、數(shù)據(jù)庫(kù)、人工過(guò)程等)?反映信息在系統(tǒng)各部分間流動(dòng)的情況,而非數(shù)據(jù)加工處理的控制過(guò)程(不同于程序流程圖)1.符號(hào):P28-P292.例子:P30變化倉(cāng)庫(kù)零庫(kù)存量件臨界值庫(kù)存清單XX:————————XX:————…………庫(kù)存<臨界值定貨報(bào)告7/20/202334Chapter1:IntroductiontoMultimediatechnologyIntroductiontoSoftwareEngineering§3.系統(tǒng)流程圖注:符號(hào)=系統(tǒng)部件箭頭=信息流動(dòng)路徑事務(wù)庫(kù)存清單程序庫(kù)存清單主文件定貨信息報(bào)告生成程序定貨報(bào)告即庫(kù)存量變化Note:對(duì)于復(fù)雜的系統(tǒng),一般需分層次地描繪該系統(tǒng)!7/20/202335Chapter1:IntroductiontoMultimediatechnologyIntroductiontoSoftwareEngineering§4.數(shù)據(jù)流圖(DataFlowDiagram)基本思想:利用圖形化技術(shù)描繪信息流和數(shù)據(jù)從輸入移動(dòng)到輸出的過(guò)程中所經(jīng)受的變換。基本要點(diǎn):描繪“做什么”1、符號(hào):P.31inputDatastoragefunctionDataflowoutput注意:數(shù)據(jù)處理框可以代表一系列程序、單個(gè)程序或者程序的一個(gè)模塊,甚至是一個(gè)人工處理過(guò)程。數(shù)據(jù)存儲(chǔ)可以表示一個(gè)文件、文件的一部分、數(shù)據(jù)庫(kù)的元素或記錄的一部分等。靜態(tài)動(dòng)態(tài)VISIO7/20/202336Chapter1:IntroductiontoMultimediatechnologyIntroductiontoSoftwareEngineering§4.數(shù)據(jù)流圖注:①與程序流程圖不同,DFD不描述流動(dòng)條件,忽略出錯(cuò)處理;②命名盡可能清楚、具體。2、例子:7/20/202337Chapter1:IntroductiontoMultimediatechnologyIntroductiontoSoftwareEngineeringDFD通常武略出錯(cuò)處理,也不包括諸如打開文件或關(guān)閉文件之類的內(nèi)務(wù)處理。數(shù)據(jù)流圖分層細(xì)化原則:數(shù)據(jù)處理功能單一且不涉及到具體的實(shí)現(xiàn)細(xì)節(jié)。保持信息連續(xù)性。數(shù)據(jù)流圖各要素的命名規(guī)則:名字必須反映該元素的全部?jī)?nèi)容或功能;不要使用空洞、缺乏具體含義的名字;如命名產(chǎn)生困難,也許是數(shù)據(jù)流圖分解不當(dāng)。數(shù)據(jù)流圖的用途信息交流的工具系統(tǒng)分析和設(shè)計(jì)的工具TIPs7/20/202338Chapter1:IntroductiontoMultimediatechnologyIntroductiontoSoftwareEngineering§5.數(shù)據(jù)字典(DataDictionary)與DFD結(jié)合,構(gòu)成系統(tǒng)的規(guī)格說(shuō)明(specifications)1、符號(hào):P.372、例子:P.37名字:定貨報(bào)表別名:定貨信息描述:每天一次送檢采購(gòu)員的需要定貨的零件表定義:定貨報(bào)表=零件編號(hào)+零件名稱
+定貨數(shù)量+目前價(jià)格
+主要供應(yīng)者
+次要供應(yīng)者位置:輸出到打印機(jī)}數(shù)據(jù)結(jié)構(gòu)struct
定貨報(bào)表{char零件編號(hào)[8];char零件名稱[20];
int
定貨數(shù)量;float目前價(jià)格;
structsupplier主要供應(yīng)者;
structsupplier次要供應(yīng)者;};7/20/202339Chapter1:IntroductiontoMultimediatechnologyIntroductiontoSoftwareEngineering§5.數(shù)據(jù)字典名字:零件編號(hào)別名:描述:唯一地標(biāo)識(shí)庫(kù)存清單中一個(gè)特定零件的關(guān)鍵域定義:零件編號(hào)=8{字符}8位置:定貨報(bào)告定貨信息庫(kù)存清單若修改“零件編號(hào)”的定義,則受到影響的數(shù)據(jù)均列于此7/20/202340Chapter1:IntroductiontoMultimediatechnologyIntroductiontoSoftwareEngineering§6成本/效益分析(Cost/Benefit)1、成本估計(jì)(CostEstimation)⑴代碼行技術(shù):每行代碼的平均成本源代碼行數(shù)⑵任務(wù)分解技術(shù):人力工資如:按開發(fā)階段劃分⑶自動(dòng)估計(jì)成本技術(shù)-需要長(zhǎng)期搜集的大量數(shù)據(jù)
詳細(xì)討論見第十三章。7/20/202341Chapter1:IntroductiontoMultimediatechnologyIntroductiontoSoftwareEngineering§6成本/效益分析2、效益估計(jì)(BenefitEstimation)例:假設(shè)某軟件生命周期為5年。現(xiàn)在投資20萬(wàn)元,平均年利率3%。從第一年起,每年年底收入4.2萬(wàn)元,問(wèn)該項(xiàng)目是否值得投資?P=20萬(wàn)4.2萬(wàn)4.2萬(wàn)4.2萬(wàn)4.2萬(wàn)4.2萬(wàn)0123457/20/202342Chapter1:IntroductiontoMultimediatechnologyIntroductiontoSoftwareEngineering§6成本/效益分析到第5年底結(jié)算時(shí):投資額=200000(1+3%)5231855(元)收入=42000[(1+3%)4+(1+3%)3+(1+3%)2+(1+3%)+1]
222984(元)不合算!7/20/202343Chapter1:IntroductiontoMultimediatechnologyIntroductiontoSoftwareEngineering§6成本/效益分析衡量工程價(jià)值的經(jīng)濟(jì)指標(biāo)有:⑴純收入
=折合現(xiàn)價(jià)的總收入-當(dāng)前投資額
=⑵投資回收期例:第6年底可收回7/20/202344Chapter1:IntroductiontoMultimediatechnologyIntroductiontoSoftwareEngineering§6成本/效益分析⑶投資回收率:設(shè)為j7/20/202345Chapter1:IntroductiontoMultimediatechnologyIntroductiontoSoftwareEngineering可行性研究定義、基本任務(wù)和步驟系統(tǒng)流程圖和數(shù)據(jù)流圖以及數(shù)據(jù)字典數(shù)據(jù)流圖和數(shù)據(jù)字典之間的關(guān)系數(shù)據(jù)流圖的四要素、符號(hào)表示和畫法成本/效益分析的方法小結(jié)7/20/202346Chapter1:IntroductiontoMultimediatechnologyIntroductiontoSoftwareEngineering習(xí)題2作業(yè)4患者監(jiān)護(hù)系統(tǒng)PatientMonitoringSystemPROJECT7/20/202347Chapter1:IntroductiontoMultimediatechnologyIntroductiontoSoftwareEngineeringLifeCycle:維護(hù)開發(fā)定義DefinitionFeasibilityStudyRequirementsAnalysisProgramDesignCoding&ModuleTestingIntegration&SystemTestingDelivery&MaintenanceSystemDesign第三章需求分析(RequirementsAnalysis)需求分析是軟件開發(fā)的基礎(chǔ),正確、全面、精確、可行的需求分析是保證軟件開發(fā)成功的關(guān)鍵。7/20/202348Chapter1:IntroductiontoMultimediatechnologyIntroductiontoSoftwareEngineering用于需求分析的不同結(jié)構(gòu)化分析方法應(yīng)遵守的準(zhǔn)則:必須理解并描述問(wèn)題的信息域,建立數(shù)據(jù)模型(ER圖);必須定義軟件應(yīng)該完成的功能,建立功能模型(DFD);必須描述作為外部事件結(jié)果的軟件行為,建立行為模型(狀態(tài)圖);必須對(duì)描述信息、功能和行為的模型進(jìn)行分解,用層次的方式展示細(xì)節(jié)。7/20/202349Chapter1:IntroductiontoMultimediatechnologyIntroductiontoSoftwareEngineering§1.需求分析的任務(wù)仍然回答“What”,而不是“How”,但更細(xì)致、精確(合同的擬定)可行性分析DFDDD功能具體化需求規(guī)格說(shuō)明加細(xì)DFDDD算法描述IPOFinalstageofDefinition
phase7/20/202350Chapter1:IntroductiontoMultimediatechnologyIntroductiontoSoftwareEngineering§1.需求分析的任務(wù)
1、確定對(duì)系統(tǒng)的綜合要求功能要求(functionalrequirements):系統(tǒng)必須做什么?性能要求(performancerequirements):做得怎樣?例:responsetime,memory,back-upmemory,security,……可靠性和可用性需求出錯(cuò)處理需求接口需求(與其環(huán)境通信的格式,包括:用戶、硬件、軟件、通信接口等)約束條件(包括:精度、工具和語(yǔ)言、設(shè)計(jì)、標(biāo)準(zhǔn)、硬件平臺(tái))將來(lái)可能提出的擴(kuò)充要求(possibleevolution)7/20/202351Chapter1:IntroductiontoMultimediatechnologyIntroductiontoSoftwareEngineering§1.需求分析的任務(wù)2、分析系統(tǒng)的數(shù)據(jù)要求建立概念性的數(shù)據(jù)模型(conceptualmodel):E-RDiagram形象描繪數(shù)據(jù)結(jié)構(gòu):DataHierarchy,WarnierDiagram,IPO數(shù)據(jù)結(jié)構(gòu)規(guī)范化(Normalization),保證其以一定的方式組織并存儲(chǔ)在數(shù)據(jù)庫(kù)或文件中3、導(dǎo)出精確的系統(tǒng)邏輯模型:
DFD+DD+IPO4、修正開發(fā)計(jì)劃:重估成本、進(jìn)度等7/20/202352Chapter1:IntroductiontoMultimediatechnologyIntroductiontoSoftwareEngineering§2.與用戶溝通獲取需求的方法1、訪談?wù)剑菏孪葴?zhǔn)備好一些問(wèn)題,包括:分發(fā)調(diào)查表等非正式:提出一些用戶自己可以自由回答的開放性問(wèn)題情景分析技術(shù):對(duì)用戶將來(lái)使用目標(biāo)系統(tǒng)解決某個(gè)具體問(wèn)題的方法和結(jié)果進(jìn)行分析2、面向數(shù)據(jù)流自頂向下求精沿DFD回溯:DFD的輸出端是系統(tǒng)的最終目的。向回確定每個(gè)數(shù)據(jù)元素的來(lái)源,可細(xì)化DFD及DD,并將相關(guān)算法記錄在IPO圖中。用戶復(fù)查細(xì)化DFD反復(fù)上述步驟,最終得到對(duì)系統(tǒng)數(shù)據(jù)和功能要求的滿意了解7/20/202353Chapter1:IntroductiontoMultimediatechnologyIntroductiontoSoftwareEngineering不需分解有補(bǔ)充修正無(wú)補(bǔ)充修正分析追蹤數(shù)據(jù)流圖用戶復(fù)查細(xì)化數(shù)據(jù)流圖需要分解3、簡(jiǎn)易的應(yīng)用規(guī)格說(shuō)明技術(shù)—面向團(tuán)隊(duì)的需求收集法進(jìn)行初步訪談,開發(fā)者和用戶分別寫出“產(chǎn)品需求”,會(huì)前分發(fā)并進(jìn)行認(rèn)真審查,列出對(duì)象、服務(wù)、約束和性能等;會(huì)議討論并創(chuàng)建一張意見一致的列表;分組討論并細(xì)化列表中的每項(xiàng)規(guī)格說(shuō)明;全會(huì)交流分組意見并起草完整的軟件需求規(guī)格說(shuō)明書;特點(diǎn):開發(fā)者和用戶不分彼此,齊心協(xié)力,密切合作;即時(shí)討論并求精;有能導(dǎo)出規(guī)格說(shuō)明的具體步驟。7/20/202354Chapter1:IntroductiontoMultimediatechnologyIntroductiontoSoftwareEngineering§2.分析過(guò)程目標(biāo)系統(tǒng)樣機(jī)試用4、快速建立軟件原型(Prototyping)最準(zhǔn)確、最有效、最強(qiáng)大的需求分析技術(shù)。特點(diǎn):快速、容易修改??焖贅?gòu)建和修改原型的方法和工具:第四代語(yǔ)言(4GL)可重用的軟件構(gòu)件形式化規(guī)格說(shuō)明和原型環(huán)境7/20/202355Chapter1:IntroductiontoMultimediatechnologyIntroductiontoSoftwareEngineering§3.分析建模與規(guī)格說(shuō)明1、分析建模由一組圖形符號(hào)和組織這些符號(hào)的規(guī)則組成。結(jié)構(gòu)化分析(SA,structureAnalysis)就是創(chuàng)建模型的活動(dòng)----為了開發(fā)出復(fù)雜的軟件系統(tǒng),系統(tǒng)分析員應(yīng)該從不同角度抽象出目標(biāo)系統(tǒng)的特性,使用精確的表示方法構(gòu)造系統(tǒng)的模型,驗(yàn)證模型是否滿足用戶對(duì)目標(biāo)系統(tǒng)的需求,并在設(shè)計(jì)過(guò)程中逐漸把和實(shí)現(xiàn)有關(guān)的細(xì)節(jié)加進(jìn)模型中,直至最終用程序?qū)崿F(xiàn)模型。需求分析過(guò)程需建立三種模型:數(shù)據(jù)模型、功能模型和行為模型。2、軟件規(guī)則說(shuō)明----需求分析階段得出的最主要文檔自然語(yǔ)言描述、形式化語(yǔ)言描述兩種7/20/202356Chapter1:IntroductiontoMultimediatechnologyIntroductiontoSoftwareEngineering概念性的數(shù)據(jù)模型:描述從用戶角度看到的數(shù)據(jù),反映了用戶的現(xiàn)實(shí)環(huán)境。實(shí)體-聯(lián)系圖(Entity-RelationshipDiagram,E-R圖)Entities
例:,
,StudentInstructorClassAttributes
例:,NameID#Relations
例:EnrolledinTeach111NMN§4.實(shí)體-聯(lián)系圖可以由一組屬性來(lái)定義7/20/202357Chapter1:IntroductiontoMultimediatechnologyIntroductiontoSoftwareEngineering…………InstructorStudentEnrolledinTeachClassID#ID#NameNameSexSexTitleInstructorIDClassIDGradeStudentIDClassIDCreditID#Subject例:§4.實(shí)體-聯(lián)系圖7/20/202358Chapter1:IntroductiontoMultimediatechnologyIntroductiontoSoftwareEngineering§5.數(shù)據(jù)規(guī)范化范式(NormalForms):消除數(shù)據(jù)冗余的程度*Keyword:可唯一地標(biāo)識(shí)一個(gè)元組的屬性1-NF:所有屬性都是原子值,即不出現(xiàn)“表中有表”2-NF:在1-NF基礎(chǔ)上,每個(gè)non-key-word都由整個(gè)keyword決定(而非依賴于keyword的一部分)。例:“Major”實(shí)際上由“ID”的第6、7位決定,可省去。3-NF:在2-NF基礎(chǔ)上,non-key-word之間無(wú)從屬關(guān)系。范式級(jí)別越高,存儲(chǔ)同樣數(shù)據(jù)就需要分解成更多張表。一般選用3-NF即可。7/20/202359Chapter1:IntroductiontoMultimediatechnologyIntroductiontoSoftwareEngineering§6.狀態(tài)轉(zhuǎn)換圖
狀態(tài)轉(zhuǎn)換圖(狀態(tài)圖)通過(guò)描繪系統(tǒng)的狀態(tài)及引起系統(tǒng)狀態(tài)轉(zhuǎn)換的事件,來(lái)表示系統(tǒng)的行為。此外,狀態(tài)圖還指明了作為特定事件的結(jié)果系統(tǒng)將做哪些動(dòng)作。1、狀態(tài)----任何系統(tǒng)可以觀察到的系統(tǒng)行為模式狀態(tài)規(guī)定了系統(tǒng)對(duì)事件的響應(yīng)方式----動(dòng)作或改變狀態(tài)或者兩者均有。初態(tài)(1個(gè),實(shí)心圓)、終態(tài)(0或者多個(gè),一對(duì)同心圓)、中間狀態(tài)(圓角矩形)2、事件----是在某個(gè)特定時(shí)刻發(fā)生的事情事件是引起系統(tǒng)做動(dòng)作或(和)轉(zhuǎn)換狀態(tài)的控制信息。3、符號(hào)7/20/202360Chapter1:IntroductiontoMultimediatechnologyIntroductiontoSoftwareEngineering閑置撥號(hào)通話斷線撥號(hào)音Do/響撥號(hào)音超時(shí)Do/響蜂鳴音存儲(chǔ)的信息Do/播放信息接通中Do/試接通振鈴Do/振鈴忙音Do/響忙音拿起聽筒數(shù)字?jǐn)?shù)字有效號(hào)碼已接通受話人回話受話人掛斷電話掛斷電話超時(shí)掛斷電話超時(shí)無(wú)效號(hào)碼信息播完占線例:電話系統(tǒng)的狀態(tài)圖§6.狀態(tài)轉(zhuǎn)換圖7/20/202361Chapter1:IntroductiontoMultimediatechnologyIntroductiontoSoftwareEngineering§7.其它圖形工具1、層次方框圖(Hierarchy)——描繪數(shù)據(jù)的結(jié)構(gòu)例:ARoomhierarchybasedonaninteriordesigner’sperspective.RoomRoomwithlightsRoomwithwindowsGarageBasementKitchenBathroomRoomwithFurnitureLivingRoomFamilyRoomBedRoomDiningRoom例:P58
圖
3.57/20/202362Chapter1:IntroductiontoMultimediatechnologyIntroductiontoSoftwareEngineering2、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)一般新聞體育新聞?wù)猩笨虡I(yè)新聞廣告招聘廣告求助細(xì)化例:P59圖3.6§7.其它圖形工具7/20/202363Chapter1:IntroductiontoMultimediatechnologyIntroductiontoSoftwareEngineering§4.圖形工具3、IPO圖(Input/Process/Output):簡(jiǎn)要的算法描述1.校驗(yàn)主記錄2.校驗(yàn)事務(wù)記錄3.更新主記錄舊的主文件事務(wù)文件有效的主記錄有效的事務(wù)記錄更新后的主文件輸出O處理P輸入I例:P59圖3.8改進(jìn)的IPO圖的形式7/20/202364Chapter1:IntroductiontoMultimediatechnologyIntroductiontoSoftwareEngineering§8.驗(yàn)證軟件要求(RequirementsValidation)
正確性:Arethereq
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026年湖南吉利汽車職業(yè)技術(shù)學(xué)院?jiǎn)握芯C合素質(zhì)筆試模擬試題帶答案解析
- 土地承包經(jīng)營(yíng)權(quán)流轉(zhuǎn)合同2025年標(biāo)準(zhǔn)
- 2026年河南應(yīng)用技術(shù)職業(yè)學(xué)院高職單招職業(yè)適應(yīng)性測(cè)試模擬試題有答案解析
- 投資協(xié)議(2025年人工智能)
- 2026年承德應(yīng)用技術(shù)職業(yè)學(xué)院高職單招職業(yè)適應(yīng)性測(cè)試參考題庫(kù)有答案解析
- 2026年北京戲曲藝術(shù)職業(yè)學(xué)院高職單招職業(yè)適應(yīng)性考試模擬試題帶答案解析
- 2026年河源職業(yè)技術(shù)學(xué)院高職單招職業(yè)適應(yīng)性考試備考試題帶答案解析
- 2026年北海職業(yè)學(xué)院?jiǎn)握新殬I(yè)技能筆試參考題庫(kù)帶答案解析
- 2026年貴州盛華職業(yè)學(xué)院?jiǎn)握新殬I(yè)技能筆試模擬試題帶答案解析
- 2026年廣州科技貿(mào)易職業(yè)學(xué)院高職單招職業(yè)適應(yīng)性考試備考題庫(kù)有答案解析
- 食堂廚師培訓(xùn)方案(3篇)
- 圍棋學(xué)校合作合同協(xié)議
- 產(chǎn)業(yè)招商培訓(xùn)課件
- 應(yīng)聘廚師個(gè)人簡(jiǎn)歷
- 人工智能數(shù)據(jù)標(biāo)注服務(wù)手冊(cè)
- 勞務(wù)合同協(xié)議書 保安
- DL∕T 5210.2-2018 電力建設(shè)施工質(zhì)量驗(yàn)收規(guī)程 第2部分:鍋爐機(jī)組
- 飼料質(zhì)量安全管理規(guī)范培訓(xùn)
- 四年級(jí)下冊(cè)-點(diǎn)亮小燈泡
- 人教版九年級(jí)物理電子課本全冊(cè)
- 骨科專科護(hù)理操作流程及考核標(biāo)準(zhǔn)
評(píng)論
0/150
提交評(píng)論