軟件工程知識(shí)回顧_第1頁
軟件工程知識(shí)回顧_第2頁
軟件工程知識(shí)回顧_第3頁
軟件工程知識(shí)回顧_第4頁
軟件工程知識(shí)回顧_第5頁
已閱讀5頁,還剩97頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

軟件工程基本知識(shí)簡(jiǎn)介葛君偉教授,博士(62460397,gejw@)主要參考教材

張海藩,軟件工程,人民郵電出版社,2010。

S.L.Pfleeger,軟件工程,人民郵電出版社,2007.

LanSommerville,軟件工程(英文版第7版),SoftwareEngineering,SeventhEdition,機(jī)械工業(yè)出版社,2004.11,ISBN7-111-15309-X1 軟件工程知識(shí)回顧2023/12/19JunweiGe4#include<iostream.h>

voidmain()

{

inta,b;

cout<<"\ninputa,b=?\n";

cin>>a>>b;

intc;

c=a/b;

intd=a%b;

cout<<"\na/b="<<c<<end;

cout<<"\na%b="<<d<<end;

}

問題1

請(qǐng)討論以下C++程序的作用和不足?//I/O流庫頭文件//輸出提示語//對(duì)a、b變量輸入//變量可隨用隨定義//輸出a除以b的商//輸出a除以b的余數(shù)CQUPT葛君偉5ITisnowoneofthelargestcorporateexpensesoutsideemployeecostsOrganizationsand

governmentsspendanestimated$1trilliononIThardware,software,andservicesworldwide.Theaveragecompanyspendsabout4to5percentofrevenueonIT.ThecompaniesthatarehighlyITdependent—suchasfinancialandtelecommunicationscompanies—spendingmorethan10percentonit.CQUPT葛君偉6Governmentsarebigconsumersof

software…TheUnitedKingdomhadmorethan100majorgovernmentITprojectsunderwaythattotaled$20.3billion.TheU.S.governmentcataloged1200civilianITprojectscostingmorethan$60billion,plusanother$16billionformilitarysoftware.CQUPT葛君偉7Governmentsarebigconsumersof

softwareAnyoneoftheseprojectscancostover$1billion.Forexample,thecomputermodernizationeffortattheU.S.DepartmentofVeteransAffairsisprojectedtorun$3.5billion,whileautomatingthehealthrecordsoftheUK’sNationalHealthServiceislikelytocostmorethan$14.3billionfordevelopmentandanother$50.8billionfordeployment.Suchmegasoftwareprojectsarenowmuchmorecommon,assmallerIToperationsarejoinedinto“systemsofsystems.”Airtrafficcontrolisaprimeexample,becauseitreliesonconnectionsamongdozensofnetworksthatprovidecommunications,weather,navigation,andotherdata.2023/12/19JunweiGe8問題2

你應(yīng)如何開發(fā)一個(gè)電信業(yè)務(wù)管理系統(tǒng)?2023/12/19CQUPT91 軟件工程知識(shí)回顧

1.1 軟件工程的基本概念Whatissoftware?具有以下特征的實(shí)體(Entities)可以被看成軟件。TheyAreNon-tangible,andNon-physical,butOftenIntendedtoManageTangibles.HierarchicalStructureIsaCommonFeature.TheyConsistofComponentsHavingDifferentPurposes.AllAreExpectedtoRequireModification/Evolution.InterconnectionsAreKey.AnalysisandVerificationAreUniversalUnderlyingNeeds.2023/12/19CQUPT101 軟件工程知識(shí)回顧

1.1 軟件工程的基本概念Whatiscomputersoftware?具有以下特征的軟件可以被看成計(jì)算機(jī)軟件。有可以在計(jì)算機(jī)上運(yùn)行的程序/代碼。有可以被程序處理的數(shù)據(jù)。有說明文檔。2023/12/19CQUPT111 軟件工程知識(shí)回顧

1.1 軟件工程的基本概念軟件工程的定義軟件工程是軟件工程師用工具和技術(shù)(方法),按照某一過程和范例來構(gòu)造軟件,從而增強(qiáng)軟件產(chǎn)品的質(zhì)量,更有效地解決問題。Softwareengineeringistheprocessofdesigning,developinganddeliveringsoftwaresystemsthatmeetaclient’srequirementsinanefficientandcosteffectivemanner.(SoftwareEngineering:AHands-OnApproach,2013)TheIEEEStandardglossaryofsoftwareengineeringterminologydefinessoftwareengineeringastheapplicationofasystematic,disciplined,quantifiableapproachtothedevelopment,operationandmaintenanceofsoftware(Ghezzietal.1991).2023/12/19CQUPT121 軟件工程知識(shí)回顧

1.1 軟件工程的基本概念軟件發(fā)展的三個(gè)階段高級(jí)語言出現(xiàn)之前(約1946年~1956年);高級(jí)語言出現(xiàn)到軟件工程出現(xiàn)之前(約1956年~1969年);軟件工程階段(1969年~至今)。2023/12/19CQUPT131 軟件工程知識(shí)回顧

1.1 軟件工程的基本概念軟件工程的作用解決軟件危機(jī);從"技術(shù)"和"技術(shù)管理"的角度來研究和探討軟件的設(shè)計(jì)、開發(fā)和維護(hù)問題。但由于軟件本身的特點(diǎn),軟件產(chǎn)業(yè)既受技術(shù)影響,又受市場(chǎng)影響。所以我們不能說,只要解決軟件工程問題就能推進(jìn)軟件產(chǎn)業(yè)。2023/12/19CQUPT141 軟件工程知識(shí)回顧

1.1 軟件工程的基本概念軟件危機(jī)的特征從微觀上看,軟件危機(jī)的特征正是表現(xiàn)在完工日期一再拖后、經(jīng)費(fèi)一再超支,甚至工程最終宣告失敗等方面。而從宏觀上、從整個(gè)社會(huì)對(duì)軟件的需求來看,軟件危機(jī)的實(shí)質(zhì)是軟件產(chǎn)品的供應(yīng)跟不上需求的增長(zhǎng)。2023/12/19CQUPT151 軟件工程知識(shí)回顧

1.1 軟件工程的基本概念軟件危機(jī)舉例丹佛國(guó)際機(jī)場(chǎng)的行李地下傳輸系統(tǒng)有4000臺(tái)遙控車,21英里長(zhǎng)的鋼軌,5000個(gè)電子眼,400臺(tái)無線電接收機(jī),56臺(tái)條碼機(jī),在20家航空公司、柜臺(tái)和行李領(lǐng)取處之間傳送行李。通過由100臺(tái)計(jì)算機(jī)組成的互聯(lián)網(wǎng)來管理該系統(tǒng)。投資1.93億美元,機(jī)場(chǎng)的開放時(shí)間拖了7個(gè)月以上。2023/12/19CQUPT161 軟件工程知識(shí)回顧

1.1 軟件工程的基本概念軟件危機(jī)舉例1993年距倫敦90英里的塞茲韋爾核電站正式投入運(yùn)行,但是工作人員很快發(fā)現(xiàn)核電站的反應(yīng)堆內(nèi)溫度控制失靈,這使得歐洲人口最為稠密的地區(qū)面臨巨大危險(xiǎn)。事后查明,在反應(yīng)堆的"主要保護(hù)系統(tǒng)"中,有一個(gè)10萬行代碼的控制軟件幾乎有一半未能通過測(cè)試。2023/12/19CQUPT171 軟件工程知識(shí)回顧

1.1 軟件工程的基本概念軟件危機(jī)舉例80年代中,加拿大一家原子能公司生產(chǎn)的、由微處理機(jī)控制的癌癥治療儀,在美國(guó)和加拿大的多家醫(yī)院使用均告失靈,致使6個(gè)病人因受超劑量輻射而死亡或受到嚴(yán)重傷害。2023/12/19CQUPT181 軟件工程知識(shí)回顧

1.1 軟件工程的基本概念軟件危機(jī)舉例海灣戰(zhàn)爭(zhēng)中,一個(gè)軟件故障打亂了"愛國(guó)者"導(dǎo)彈雷達(dá)跟蹤系統(tǒng),使導(dǎo)彈發(fā)射后未能迎擊對(duì)方的"飛毛腿"導(dǎo)彈,反而轟擊了自己的軍營(yíng),造成28名士兵喪生、98人受傷。2023/12/19CQUPT191 軟件工程知識(shí)回顧

1.1 軟件工程的基本概念軟件危機(jī)舉例1996年歐洲航天局發(fā)射的阿麗亞娜5型火箭,發(fā)射40秒鐘后火箭爆炸,發(fā)射場(chǎng)上2名法國(guó)士兵當(dāng)場(chǎng)死亡,耗資10億美元、歷時(shí)9年的航天計(jì)劃嚴(yán)重受挫,引起了國(guó)際宇航界的震驚。事故發(fā)生后,專家組的調(diào)查分析報(bào)告指明,爆炸的根本原因在于慣性導(dǎo)航系統(tǒng)軟件中技術(shù)要求和設(shè)計(jì)的錯(cuò)誤。2023/12/19CQUPT201 軟件工程知識(shí)回顧

1.1 軟件工程的基本概念軟件危機(jī)舉例德國(guó)電話計(jì)費(fèi)系統(tǒng)的軟件問題,造成用戶需交付不合理電話費(fèi)的事件,引起了公眾的抗議。2023/12/19CQUPT211 軟件工程知識(shí)回顧

1.1 軟件工程的基本概念軟件危機(jī)舉例2006年10日13時(shí)28分,中國(guó)民航信息網(wǎng)絡(luò)股份公司在首都機(jī)場(chǎng)的離港系統(tǒng)發(fā)生故障,導(dǎo)致機(jī)場(chǎng)部分航班無法辦理值機(jī)手續(xù)。北京、廣州、深圳、長(zhǎng)沙機(jī)場(chǎng)至少84個(gè)離港航班發(fā)生延誤。而發(fā)生航班延誤的機(jī)場(chǎng),由于延誤航班較多,機(jī)場(chǎng)人滿為患。2023/12/19CQUPT221 軟件工程知識(shí)回顧

1.1 軟件工程的基本概念軟件危機(jī)舉例——更多的例子2023/12/19CQUPT231 生命周期知識(shí)回顧

1.1 軟件工程的基本概念軟件危機(jī)舉例——更多的例子CQUPT葛君偉24國(guó)內(nèi)失敗案例…資源一號(hào)02型飛行兩年,在1473圈,變軌沒有成功發(fā)現(xiàn)是潛通道問題。系統(tǒng)實(shí)現(xiàn)是分散到五個(gè)子程序,變量在前一個(gè)模塊被清掉,需要姿態(tài)正常,才能開發(fā)動(dòng)機(jī)。方法:把部分程序重新設(shè)計(jì),再送上去CQUPT葛君偉25國(guó)內(nèi)失敗案例…三號(hào)衛(wèi)星2004年11月發(fā)射,12月-05.1,有四次進(jìn)入異常工作模式。分析:異常指令-內(nèi)存?zhèn)飨聛矸治?,發(fā)現(xiàn)是軌道計(jì)算發(fā)現(xiàn)尋址跳變。減法運(yùn)算指令,是否帶進(jìn)位關(guān)系到結(jié)果正確。CQUPT葛君偉26國(guó)內(nèi)失敗案例神州飛船返回的前天晚上,發(fā)現(xiàn)異常,發(fā)現(xiàn)發(fā)動(dòng)機(jī)通訊有短暫不成功。神州二號(hào)發(fā)射逃逸模式,發(fā)出指令卻沒有轉(zhuǎn)化到逃逸模式。問題:時(shí)間清零問題CQUPT葛君偉27TheproblemonlygetsworseasITgrowsubiquitousFailurecanbedefinedasthetotalabandonmentofaprojectbeforeorshortlyafteritisdelivered.OftheITprojectsthatareinitiated,from5to15percentwillbeabandonedbeforeorshortlyafterdeliveryashopelesslyinadequate.Manyotherswillarrivelateandoverbudgetorrequiremassivereworking.FewITprojects,inotherwords,trulysucceed.CQUPT葛君偉28WHENASOFTWAREPROJECTFAILSThefailuredoesn’treflectprojectsthatexceedtheirbudgets—whichmostprojectsdo,thatdeliveredlate—whichthemajorityare,thathavetostartoveronceaprojectisabandoned,orthatarebug-riddensystemswhichhavetoberepeatedlyreworked.發(fā)生用戶訴訟的項(xiàng)目。包括以上所有浪費(fèi)的費(fèi)用,僅美國(guó)每年在軟件開發(fā)上浪費(fèi)的費(fèi)用就在60-70billion美元。這些錢可以發(fā)射太空飛船100次,建造由24顆衛(wèi)星組成的GPS系統(tǒng),或者從頭研制開發(fā)Boeing777飛機(jī),還要剩余幾billion美元。2023/12/19CQUPT291 軟件工程知識(shí)回顧

1.1 軟件工程的基本概念出現(xiàn)大量軟件開發(fā)失敗的主要原因Acomplexsoftwaresystemcomprisesindividualadaptivesystemswhosebehaviorandinteractionschangeovertime.Thesechangesareusuallynotcentrallyplanned,butarisefromindependentprocessesanddecisionswithinandoutsidethecomplexsoftwaresystem.因此,軟件的適應(yīng)能力差是主要原因。出現(xiàn)大量軟件開發(fā)失敗的根本原因?2023/12/19CQUPT301 軟件工程知識(shí)回顧

1.1 軟件工程的基本概念軟件工程的地位1991年,ACM和IEEE-CS的計(jì)算學(xué)科教程CC1991專題組將軟件工程列為計(jì)算學(xué)科的九個(gè)知識(shí)領(lǐng)域之一。2001年,CC2001將計(jì)算科學(xué)劃分為5個(gè)相對(duì)獨(dú)立的部分:計(jì)算機(jī)科學(xué),計(jì)算機(jī)工程,軟件工程,信息系統(tǒng)和信息技術(shù)。2004年8月,全世界500多位來指大學(xué)、科研機(jī)構(gòu)和企業(yè)的專家、教授推出了軟件工程知識(shí)體和軟件工程教育知識(shí)體(SEEK),標(biāo)志著軟件工程學(xué)科在世界范圍正式確立。2011年,教育部正式將軟件工程列為一級(jí)學(xué)科。2023/12/19CQUPT311 軟件工程知識(shí)回顧

1.1 軟件工程的基本概念軟件工程學(xué)科Softwareengineeringisthedisciplinethataimsatproviding,evaluating,andimprovingmethods,techniques,processes,andtoolsforthedevelopmentofdefect-freesoftwarethatfulfillstheneedsofcustomersanduserswithintimeandbudgetconstraints.

——摘自《PerspectivesontheFutureofSoftwareEngineering》,20132023/12/19CQUPT321 軟件工程知識(shí)回顧

1.1 軟件工程的基本概念軟件工程的十個(gè)知識(shí)域軟件需求——軟件工程基礎(chǔ)軟件設(shè)計(jì)——軟件工程核心軟件構(gòu)造軟件測(cè)試軟件維護(hù)軟件配置管理軟件工程管理—基礎(chǔ)設(shè)施管理,項(xiàng)目管理,度量和控制計(jì)劃軟件工程過程軟件工程工具和方法軟件質(zhì)量2023/12/19CQUPT331 軟件工程知識(shí)回顧

1.1 軟件工程的基本概念軟件工程的傳統(tǒng)途徑—生命周期方法學(xué)對(duì)復(fù)雜問題進(jìn)行分解逐步完成每個(gè)階段的任務(wù)階段審查的主要標(biāo)準(zhǔn)是高質(zhì)量的文檔2023/12/19CQUPT341 軟件工程知識(shí)回顧

1.1 軟件工程的基本概念軟件的生命周期(LifeCycle):計(jì)劃需求分析設(shè)計(jì)程序編寫測(cè)試運(yùn)行維護(hù)等六個(gè)步驟2023/12/19CQUPT351 軟件工程知識(shí)回顧

1.1 軟件工程的基本概念瀑布式模型(waterfallmodel)系統(tǒng)需求分析軟件需求分析設(shè)計(jì)編碼測(cè)試維護(hù)2023/12/19CQUPT361 軟件工程知識(shí)回顧

1.1 軟件工程的基本概念原型開發(fā)模型(rapidprototyping)需求分析快速設(shè)計(jì)建立原型用戶評(píng)價(jià)原型修改原型生產(chǎn)產(chǎn)品2023/12/19CQUPT371 軟件工程知識(shí)回顧

1.1 軟件工程的基本概念面向?qū)ο笊嫫谀P?object-orientedsoftwareengineering)CQUPT葛君偉38軟件工程模型螺旋模型(spiralmodel)CQUPT葛君偉39軟件工程模型增量模型示意圖2023/12/19CQUPT401 軟件工程知識(shí)回顧

1.2 可行性研究問題: 我想開發(fā)“互聯(lián)網(wǎng)上身份證掛失系統(tǒng)”,是否可行?2023/12/19CQUPT411 軟件工程知識(shí)回顧

1.2 可行性研究目的:確定問題是否值得去解任務(wù)進(jìn)一步分析和澄清問題的定義導(dǎo)出系統(tǒng)的邏輯模型探索若干種解決方案,并分析各種方案的技術(shù)可行性經(jīng)濟(jì)可行性操作可行性對(duì)以后的行動(dòng)方針提出建議2023/12/19CQUPT421 軟件工程知識(shí)回顧

1.2 可行性研究研究目前正在使用的系統(tǒng)現(xiàn)有系統(tǒng)的功能現(xiàn)有系統(tǒng)的不足現(xiàn)有系統(tǒng)的經(jīng)濟(jì)指標(biāo)現(xiàn)有系統(tǒng)和其它系統(tǒng)之間的接口情況2023/12/19CQUPT431 軟件工程知識(shí)回顧

1.2 可行性研究導(dǎo)出新系統(tǒng)的系統(tǒng)流程圖用圖形符號(hào)以黑盒子形式描述物理系統(tǒng)的構(gòu)成。導(dǎo)出新系統(tǒng)的高層邏輯模型數(shù)據(jù)流圖描述數(shù)據(jù)在系統(tǒng)中流動(dòng)和處理的情況描繪系統(tǒng)的邏輯模型數(shù)據(jù)字典2023/12/19JunweiGe44可行性研究

風(fēng)險(xiǎn)分析風(fēng)險(xiǎn):是由于從事某項(xiàng)特定活動(dòng)過程中存在的不確定性而產(chǎn)生的經(jīng)濟(jì)或財(cái)務(wù)的損失,自然破壞或損傷的可能性。任務(wù):針對(duì)不同項(xiàng)目結(jié)合具體風(fēng)險(xiǎn)分析方法,進(jìn)行項(xiàng)目風(fēng)險(xiǎn)評(píng)價(jià),以采取有效方式進(jìn)行風(fēng)險(xiǎn)管理,從而達(dá)到損失最小化的目的和效果。類型自然風(fēng)險(xiǎn):是由于自然災(zāi)害(如水災(zāi)、火災(zāi)、地震、臺(tái)風(fēng)等)引起的項(xiàng)目風(fēng)險(xiǎn)。人為風(fēng)險(xiǎn):是指由于人為因素帶來的風(fēng)險(xiǎn),包括行為風(fēng)險(xiǎn)、政治風(fēng)險(xiǎn)、經(jīng)濟(jì)風(fēng)險(xiǎn)、技術(shù)風(fēng)險(xiǎn)、組織風(fēng)險(xiǎn)等。2023/12/19JunweiGe45可行性研究

風(fēng)險(xiǎn)分析過程風(fēng)險(xiǎn)識(shí)別:項(xiàng)目包括那些活動(dòng);各種活動(dòng)存在那些風(fēng)險(xiǎn);風(fēng)險(xiǎn)產(chǎn)生的原因是什么;這些風(fēng)險(xiǎn)的主次關(guān)系;各風(fēng)險(xiǎn)之間是否相關(guān)。風(fēng)險(xiǎn)估計(jì):風(fēng)險(xiǎn)發(fā)生的概率大??;風(fēng)險(xiǎn)概率的分布情況;風(fēng)險(xiǎn)估算。風(fēng)險(xiǎn)評(píng)價(jià):給出方案,選擇規(guī)則;選出最佳方案;檢驗(yàn)各風(fēng)險(xiǎn)因素對(duì)指標(biāo)的影響;對(duì)風(fēng)險(xiǎn)對(duì)策提出建議。2023/12/19JunweiGe46可行性研究

風(fēng)險(xiǎn)分析方法風(fēng)險(xiǎn)識(shí)別:專家調(diào)查法,故障樹分析法,幕景分析法。風(fēng)險(xiǎn)估計(jì)確定型風(fēng)險(xiǎn)估計(jì):盈虧平衡分析,敏感性分析。不確定型風(fēng)險(xiǎn)估計(jì):小中取大原則,大中取小原則,遺憾原則,最大數(shù)學(xué)期望原則。隨機(jī)型風(fēng)險(xiǎn)估計(jì)風(fēng)險(xiǎn)評(píng)價(jià)定性風(fēng)險(xiǎn)評(píng)價(jià)方法:主觀評(píng)分法,層次分析法。定量風(fēng)險(xiǎn)評(píng)價(jià)方法;風(fēng)險(xiǎn)報(bào)酬法,決策樹法,外推法,等。2023/12/19CQUPT471 軟件工程知識(shí)回顧

1.2 可行性研究系統(tǒng)流程圖舉例2023/12/19CQUPT481 軟件工程知識(shí)回顧

1.2 可行性研究典型環(huán)境下各個(gè)開發(fā)階段需要使用的人力的百分比

任務(wù) 人力

可行性研究 5 需求分析 10 設(shè)計(jì) 25 編碼和單元測(cè)試20 綜合測(cè)試 40 總計(jì) 100 2023/12/19CQUPT491 軟件工程知識(shí)回顧

1.2 可行性研究問題1: 打算開發(fā)“公共場(chǎng)所安全監(jiān)控系統(tǒng)的公共服務(wù)平臺(tái)”,請(qǐng)作可行性分析。問題2: 打算開發(fā)“互聯(lián)網(wǎng)上身份證掛失系統(tǒng)”,請(qǐng)作可行性分析。問題3:

某區(qū)打算開發(fā)基于云計(jì)算的社區(qū)衛(wèi)生服務(wù)系統(tǒng),請(qǐng)作可行性分析。2023/12/19CQUPT501 軟件工程知識(shí)回顧

1.3 需求分析總?cè)蝿?wù)確定系統(tǒng)必須要做什么?2023/12/19CQUPT511 軟件工程知識(shí)回顧

1.3 需求分析具體任務(wù)確定對(duì)系統(tǒng)的綜合要求分析系統(tǒng)的數(shù)據(jù)要求導(dǎo)出系統(tǒng)的邏輯模型:數(shù)據(jù)流圖,數(shù)據(jù)字典和處理算法。開發(fā)原型系統(tǒng)2023/12/19CQUPT521 軟件工程知識(shí)回顧

1.3 需求分析_結(jié)構(gòu)化分析系統(tǒng)的數(shù)據(jù)要求2023/12/19CQUPT531 軟件工程知識(shí)回顧

1.3 需求分析分析的基本方法結(jié)構(gòu)化方法(SA)—強(qiáng)調(diào)過程,

圍繞功能面向?qū)ο蠓椒?OOA)—強(qiáng)調(diào)方法,

圍繞對(duì)象互補(bǔ)2023/12/19CQUPT541 軟件工程知識(shí)回顧

1.3 需求分析_結(jié)構(gòu)化數(shù)據(jù)流圖處理+數(shù)據(jù),但數(shù)據(jù)無關(guān)聯(lián)2023/12/19CQUPT551 軟件工程知識(shí)回顧

1.3 需求分析_結(jié)構(gòu)化數(shù)據(jù)流圖細(xì)化過程舉例2023/12/19CQUPT561 軟件工程知識(shí)回顧

1.3 需求分析_結(jié)構(gòu)化數(shù)據(jù)流圖細(xì)化過程舉例2023/12/19CQUPT571 軟件工程知識(shí)回顧

1.3 需求分析_結(jié)構(gòu)化數(shù)據(jù)流圖舉例2023/12/19CQUPT581 軟件工程知識(shí)回顧

1.3 需求分析_結(jié)構(gòu)化數(shù)據(jù)字典舉例名字:定貨報(bào)表別名:定貨信息描述:每天一次送給采購(gòu)員的需要定貨的零件表定義:定貨報(bào)表=零件編號(hào)+零件名稱+定貨數(shù)量+目前價(jià)格+主要供應(yīng)者+次要供應(yīng)者位置:輸出到打印機(jī)2023/12/19CQUPT591 軟件工程知識(shí)回顧

1.3 需求分析_結(jié)構(gòu)化數(shù)據(jù)字典舉例名字:定貨數(shù)量別名:描述:某個(gè)零件一次定貨的數(shù)量定義:定貨數(shù)量=1{數(shù)字}5位置:定貨報(bào)表定貨信息2023/12/19CQUPT601 軟件工程知識(shí)回顧

1.3 需求分析_結(jié)構(gòu)化問題:

如何建立數(shù)據(jù)之間的聯(lián)系?

例如,能否定義以下關(guān)系?

定貨報(bào)表(零件編號(hào),零件名稱,定貨數(shù)量,目前價(jià)格,主要供應(yīng)者,次要供應(yīng)者)這個(gè)關(guān)系好不好?2023/12/19CQUPT611 軟件工程知識(shí)回顧

1.3 需求分析_結(jié)構(gòu)化什么是概念模型或信息模型?按用戶的觀點(diǎn)來對(duì)數(shù)據(jù)和信息建模,即建立數(shù)據(jù)之間的關(guān)系。2023/12/19CQUPT621 軟件工程知識(shí)回顧

1.3 需求分析_結(jié)構(gòu)化常用的概念模型的建模方法2023/12/19CQUPT631 軟件工程知識(shí)回顧

1.3 需求分析_面向?qū)ο髮⑻幚?、?shù)據(jù)和數(shù)據(jù)之間的關(guān)系聚合在一個(gè)模型中,即類圖。2023/12/19CQUPT641 軟件工程知識(shí)回顧

1.3 需求分析_面向?qū)ο髮?duì)需求更直觀的描述—用例圖2023/12/19CQUPTGEJ.65需求分析

概念模型和規(guī)范化衡量數(shù)據(jù)聚合在一個(gè)實(shí)體或?qū)ο笾惺欠窈线m的方法—規(guī)范化采用分解的方法,力求使關(guān)系的語義單純化。2023/12/19CQUPTGEJ.66需求分析

概念模型和規(guī)范化什么是范式?表示關(guān)系的某一種級(jí)別(或消除數(shù)據(jù)冗余的程度)。2023/12/19CQUPTGEJ.67需求分析

概念模型和規(guī)范化范式定律第一范式(1NF)關(guān)系的每一個(gè)分量必須是不可分的數(shù)據(jù)項(xiàng)。2023/12/19CQUPTGEJ.68需求分析

概念模型和規(guī)范化范式定律第二范式(2NF)若R

1NF,且每一個(gè)非主屬性完全函數(shù)依賴于碼,則R

2NF。例:運(yùn)動(dòng)會(huì)管理系統(tǒng),下面的實(shí)體:項(xiàng)目(項(xiàng)目編號(hào),名稱,時(shí)間,場(chǎng)地,成績(jī));

由于項(xiàng)目編號(hào)不能唯一確定成績(jī),故不滿足2NF。項(xiàng)目(項(xiàng)目編號(hào),名稱,時(shí)間,場(chǎng)地,成績(jī),運(yùn)動(dòng)員);由于名稱等部分函數(shù)依賴于項(xiàng)目編號(hào),故不滿足2NF。2023/12/19CQUPTGEJ.69需求分析

概念模型和規(guī)范化范式定律第三范式(3NF)R<U,F(xiàn)>中若不存在這樣的碼X、屬性組Y及非主屬性Z(Z\

Y)使得X→Y,Y→Z,Y→/X成立,則稱R

3NF?;蚣慈鬜

3NF,則每一個(gè)非主屬性既不部分依賴于碼,也不傳遞依賴于碼。例:裁判(裁判編號(hào),姓名,項(xiàng)目編號(hào),項(xiàng)目名稱)假設(shè)一個(gè)裁判只能執(zhí)法一個(gè)項(xiàng)目。項(xiàng)目名稱←項(xiàng)目編號(hào)←裁判編號(hào),存在傳遞依賴2023/12/19CQUPTGEJ.70需求分析

概念模型和規(guī)范化范式定律的圖示2023/12/19CQUPT711 軟件工程知識(shí)回顧

1.3 需求分析討論:“互聯(lián)網(wǎng)上身份證掛失系統(tǒng)”的頂層數(shù)據(jù)流圖?2023/12/19CQUPT721 軟件工程知識(shí)回顧

1.4 總體設(shè)計(jì)總體設(shè)計(jì)的任務(wù)劃分出組成系統(tǒng)的物理元素;設(shè)計(jì)軟件的結(jié)構(gòu)。怎么從需求分析結(jié)果導(dǎo)出系統(tǒng)架構(gòu)?2023/12/19CQUPT73總體設(shè)計(jì)

SoftwareArchitecture

Softwarearchitectureisthedesignandspecificationofoverallsystemstructure.Itdefinesasoftwaresystemintermsofcomputationalcomponents(structure)andinteractionsamongthosecomponents(topology).

Components:areidentifiedandassignedresponsibilitiesthatclientcomponentsinteractwiththrough"contracted"interfaces.Interactions:specifycommunicationandcontrolmechanisms,andsupportallcomponentinteractionsneededtoaccomplishsystembehavior.2023/12/19CQUPT74總體設(shè)計(jì)

SoftwareArchitecture

Structureissuesincludethedescriptionofelementsfromwhichsystemsarebuilt,interactionsamongthoseelements,thatis,interchangerepresentationsandprotocols,patternsthatguidetheircomposition,andconstraintsonthesepatterns.2023/12/19CQUPT75總體設(shè)計(jì)

SoftwareArchitecture

Architectureexamples

procedurecall,sharedvariableaccess,client-serverprotocols,database-accessingprotocols,asynchronouseventmulticast,andpipedstreams.2023/12/19CQUPT761 軟件工程知識(shí)回顧

1.4 總體設(shè)計(jì)總體設(shè)計(jì)的基礎(chǔ)數(shù)據(jù)流圖2023/12/19CQUPT771 軟件工程知識(shí)回顧

1.4 總體設(shè)計(jì)總體設(shè)計(jì)的基本原理模塊化抽象—摩托車整車生產(chǎn)和零部件生產(chǎn)的管理過程模塊獨(dú)立模塊之間低耦合,如數(shù)據(jù)耦合,控制耦合,公共環(huán)境耦合,內(nèi)容耦合模塊內(nèi)高內(nèi)聚,如功能內(nèi)聚,順序內(nèi)聚,通信內(nèi)聚,過程內(nèi)聚,時(shí)間內(nèi)聚,邏輯內(nèi)聚,偶然內(nèi)聚2023/12/19CQUPT781 軟件工程知識(shí)回顧

1.4 總體設(shè)計(jì)用層次圖描述軟件結(jié)構(gòu)2023/12/19CQUPT791 軟件工程知識(shí)回顧

1.4 總體設(shè)計(jì)_結(jié)構(gòu)化軟件結(jié)構(gòu)圖數(shù)據(jù)流圖獲得軟件結(jié)構(gòu)圖的基本方法——面向數(shù)據(jù)流的設(shè)計(jì)方法2023/12/19CQUPTGEJ.80

總體設(shè)計(jì)

面向數(shù)據(jù)流的設(shè)計(jì)方法_變換流2023/12/19CQUPTGEJ.81

總體設(shè)計(jì)

面向數(shù)據(jù)流的設(shè)計(jì)方法_變換流2023/12/19CQUPT82

總體設(shè)計(jì)

面向數(shù)據(jù)流的設(shè)計(jì)方法_變換流數(shù)字儀表板系統(tǒng)的軟件結(jié)構(gòu)分析低耦合:數(shù)據(jù)耦合中耦合:控制耦合高耦合:內(nèi)容耦合低內(nèi)聚:偶然,邏輯,時(shí)間中內(nèi)聚:過程,通信高內(nèi)聚:順序,功能2023/12/19CQUPT83

總體設(shè)計(jì)

面向數(shù)據(jù)流的設(shè)計(jì)方法_變換流數(shù)字儀表板系統(tǒng)的軟件結(jié)構(gòu)分析2023/12/19CQUPT84

總體設(shè)計(jì)

面向數(shù)據(jù)流的設(shè)計(jì)方法_變換流數(shù)字儀表板系統(tǒng)的

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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)論