




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
軟件工程詳解
一.常用的分析工具:
測(cè)試工具:ATTOLUniTest、C++Test、MTE、CodeTest;覆蓋率:ATTOLCoverage、PureCoverage、TrueCoverage;內(nèi)存檢測(cè):Boundschecker、PURIFY;靜態(tài)分析(結(jié)構(gòu)):Mccable、Logiscope、Hindsight;靜態(tài)分析(語(yǔ)法):PC-lint、CodeCHK、CheckMate;WEB壓力測(cè)試:WebExpress;設(shè)計(jì)工具:UML、Rose、Visio、PowerDesigner;編程工具:SourceInsight;版本控制:VSS、BeyondCompany
二.軟件工程文檔和方法:(一)傳統(tǒng)軟件工程(瀑布模型)1.問(wèn)題定義討論要解決的問(wèn)題,做一份書面報(bào)告即可。2.可行性研究研究問(wèn)題的范圍,探索這個(gè)問(wèn)題是否值得去研究。需要做的主要工作有:a.導(dǎo)出問(wèn)題定義階段的高層邏輯模型(通常用數(shù)據(jù)流圖表示[1]),物理系統(tǒng)也可以用系統(tǒng)流程圖表示),如有需要須初步定義一些數(shù)據(jù)字典[2];b.并且做成本/效益分析。3.需求分析確定目標(biāo)系統(tǒng)必須具備哪些功能。必須準(zhǔn)確完整的提出系統(tǒng)邏輯模型。需要做的主要工作有:a.劃分出系統(tǒng)必須完成的所有功能;這部分包含需要將功能用文字表達(dá)出來(lái),可用層次方框圖和Warnier圖。在描述模型之間的關(guān)系時(shí),可用ER模型來(lái)表示,再用范式來(lái)消除冗余。
b.根據(jù)以上結(jié)果導(dǎo)出系統(tǒng)詳細(xì)的邏輯模型可用數(shù)據(jù)流圖、數(shù)據(jù)字典和主要處理算法描述(這個(gè)主要處理算法可用IPO圖來(lái)畫)4.總體設(shè)計(jì)(概要設(shè)計(jì))劃分出組成系統(tǒng)的物理元素——程序、文件、數(shù)據(jù)庫(kù)、人工過(guò)程和文檔等。設(shè)計(jì)軟件的總體結(jié)構(gòu),確定系統(tǒng)中每個(gè)程序由哪些模塊組成,以及這些模塊相互間的關(guān)系。需要做的主要工作有:a.功能分解;這部分工作含結(jié)構(gòu)設(shè)計(jì)(主要是模塊的劃分,可用層次圖或結(jié)構(gòu)圖描述,可用數(shù)據(jù)流圖來(lái)分析)和過(guò)程設(shè)計(jì)(每個(gè)模塊的處理過(guò)程,可用IPO圖)
b.如有數(shù)據(jù)庫(kù),則需進(jìn)行數(shù)據(jù)庫(kù)設(shè)計(jì)和優(yōu)化。(推薦使用PowerDesigner)c.制訂測(cè)試計(jì)劃
5.詳細(xì)設(shè)計(jì)將每個(gè)模塊中的處理過(guò)程細(xì)化。需要做的主要工作有:a.描述模塊中處理過(guò)程;可用程序流程圖、盒圖、PAD圖、判定表、判定圖,或者用偽代碼來(lái)表示(可用Visio來(lái)作圖),可描述其中的復(fù)雜度。6.編碼與單元測(cè)試編碼(略)。測(cè)試:黑盒測(cè)試——功能測(cè)試;白盒測(cè)試——結(jié)構(gòu)測(cè)試;單元測(cè)試即模塊測(cè)試,在這個(gè)測(cè)試步驟中所發(fā)現(xiàn)的往往是編碼和詳細(xì)設(shè)計(jì)的錯(cuò)誤。需要做的主要工作有:a.編寫測(cè)試案例文檔7.綜合測(cè)試編寫測(cè)試案例和文檔8.軟件維護(hù)(二)面向?qū)ο蟮姆椒?.概念和摘要瀑布式生命周期的缺點(diǎn)表現(xiàn)在三個(gè)方面:<1>后期的變化、迭代、改動(dòng)困難<2>不支持重用<3>沒(méi)有一個(gè)聯(lián)系各個(gè)階段的統(tǒng)一模型。使用面向?qū)ο蠓椒▽W(xué)開發(fā)軟件時(shí),工作重點(diǎn)應(yīng)該放在生命周期中的分析階段。通常需要建立三種形式的模型,分別時(shí)描述系統(tǒng)數(shù)據(jù)結(jié)構(gòu)的對(duì)象模型,描述系統(tǒng)控制結(jié)構(gòu)的動(dòng)態(tài)模型和描述系統(tǒng)功能的功能模型,所以核心是建立對(duì)象模型——面向?qū)ο蟮慕#ó?dāng)前常用的建模語(yǔ)言是UML)。在面向?qū)ο蠓治鲞^(guò)程(OOA)中,構(gòu)造出完全獨(dú)立于實(shí)現(xiàn)的應(yīng)用域模型(需求分析);在面向?qū)ο笤O(shè)計(jì)過(guò)程(OOD)中,把求解域的結(jié)構(gòu)逐漸加入到模型中(概要設(shè)計(jì)和詳細(xì)設(shè)計(jì));在實(shí)現(xiàn)階段,把應(yīng)用域和求解域的結(jié)構(gòu)都編成程序代碼并進(jìn)行嚴(yán)格的測(cè)試驗(yàn)證(編碼測(cè)試)。測(cè)試一個(gè)OO系統(tǒng)是另一個(gè)需要進(jìn)一步研究的課題。發(fā)布一個(gè)穩(wěn)定的原型需要不同與以往控制結(jié)構(gòu)化開發(fā)的產(chǎn)品的配置管理。為改善面向?qū)ο箝_發(fā)的可管理性,玻姆(Boehm,1988)提出了一個(gè)結(jié)合了宏觀和微觀視角(macroµview)的螺旋開發(fā)模型。宏觀包括3個(gè)階段:1分析發(fā)現(xiàn)和識(shí)別對(duì)象;2設(shè)計(jì)發(fā)明和設(shè)計(jì)對(duì)象;3實(shí)施創(chuàng)建和實(shí)現(xiàn)對(duì)象。每個(gè)宏觀階段都包含一些微觀迭代活動(dòng)。無(wú)論何種復(fù)雜程度的工程項(xiàng)目,設(shè)計(jì)都是從建模開始的,設(shè)計(jì)者通過(guò)創(chuàng)建模型和設(shè)計(jì)藍(lán)圖來(lái)描述系統(tǒng)的結(jié)構(gòu)。(RationalRose)[NextPage]2.設(shè)計(jì)的三層結(jié)構(gòu)客戶機(jī)/服務(wù)器體系結(jié)構(gòu)的廣泛使用預(yù)示了系統(tǒng)復(fù)雜化的發(fā)展趨勢(shì),為了解決這一問(wèn)題,與之相應(yīng)的三層結(jié)構(gòu)方案(three-tiered)越來(lái)越得到了廣泛的應(yīng)用。傳統(tǒng)的兩層結(jié)構(gòu)不是“胖客戶機(jī)”就是“胖服務(wù)器”,胖客戶機(jī)結(jié)構(gòu)將事務(wù)處理原則在用戶端處理,胖服務(wù)器則將之與集成在數(shù)據(jù)庫(kù)中,大量的數(shù)據(jù)流動(dòng)為維護(hù)和編程帶來(lái)了極大的困難,而且,其中包含的事務(wù)處理原則不能與其它應(yīng)用共享。三層結(jié)構(gòu)方案是指由用戶接口層、事務(wù)處理原則層和數(shù)據(jù)層的應(yīng)用模型。與傳統(tǒng)的兩層結(jié)構(gòu)相比,它有著更多的優(yōu)點(diǎn):1).對(duì)應(yīng)用結(jié)構(gòu)任意一層做出修改時(shí),只對(duì)其它層產(chǎn)生極小的影響。2).固有的可塑性,三層既可共存于單機(jī)之中,也可根據(jù)需要相互分開。3).公用代碼數(shù)據(jù)庫(kù)使事務(wù)處理規(guī)則在系統(tǒng)中共享。3.采用面向?qū)ο蠹夹g(shù)設(shè)計(jì)系統(tǒng)的步驟a.描述系統(tǒng)需求;b.根據(jù)需求建立系統(tǒng)的靜態(tài)模型,以構(gòu)造系統(tǒng)的結(jié)構(gòu);(——以上兩步建立的模型都是靜態(tài)的,包括用例圖、類圖(包括包)、對(duì)象圖、組件圖和配置圖,是UML的靜態(tài)建模機(jī)制。)c.描述系統(tǒng)的行為;(——所建立的模型或者可以執(zhí)行,或者表示執(zhí)行時(shí)的時(shí)序狀態(tài)或交互關(guān)系。它包括狀態(tài)圖、活動(dòng)圖、順序圖和合作圖等4個(gè)圖形,是UML的動(dòng)態(tài)建模機(jī)制。)
需求分析階段——可以用用例圖來(lái)捕獲用戶需求。通過(guò)用例建模,描述對(duì)系統(tǒng)感興趣的外部角色及其對(duì)系統(tǒng)(用例)的功能需求。系統(tǒng)分析階段(概要設(shè)計(jì))——主要關(guān)心問(wèn)題領(lǐng)域中的主要概念(如抽象、類和對(duì)象等)和機(jī)制,需要識(shí)別這些類一起它們相互間的關(guān)系,并用UML類圖來(lái)描述。為實(shí)現(xiàn)用例、類之間的協(xié)作,可以用UML動(dòng)態(tài)模型來(lái)描述。在此階段,只對(duì)問(wèn)題域的對(duì)象(現(xiàn)實(shí)世界的概念)建模,而不考慮定義軟件系統(tǒng)中技術(shù)細(xì)節(jié)的類(如處理用戶接口、數(shù)據(jù)庫(kù)、通信和并行等問(wèn)題的類)系統(tǒng)設(shè)計(jì)階段(詳細(xì)設(shè)計(jì))——為構(gòu)造階段提供更詳細(xì)的規(guī)格說(shuō)明。4.Rose概述Rose模型的四個(gè)視圖是UseCase視圖、Logical視圖、Component視圖和Deployment視圖。每個(gè)視圖針對(duì)不同對(duì)象,具有不同用途。UseCase視圖包括系統(tǒng)中的所有角色、案例和UseCase圖,還包括一些Sequence圖和Collaboration圖。Logical視圖關(guān)注系統(tǒng)如何實(shí)現(xiàn)使用案例中提到的功能。它提供系統(tǒng)的詳細(xì)圖形,描述組件間如何關(guān)聯(lián)。除其它內(nèi)容之外,Logical視圖還包括需要的特定類、Class圖和StateTransition圖。利用這些細(xì)節(jié)元素,開發(fā)人員可以構(gòu)造系統(tǒng)的詳細(xì)設(shè)計(jì)。Component視圖包括模型代碼庫(kù)、執(zhí)行庫(kù)和其它組件的信息。組件是代碼的實(shí)際模塊。Component視圖的主要用戶是負(fù)責(zé)控制代碼和編譯部署應(yīng)用程序的人。有些組件是代碼庫(kù),有些組件是運(yùn)行組件,如執(zhí)行文件或動(dòng)態(tài)鏈接庫(kù)(DLL)文件。Collaboration圖關(guān)注系統(tǒng)的部署,可能與系統(tǒng)的邏輯結(jié)構(gòu)不同。整個(gè)小組都用Collaboration圖了解系統(tǒng)部署,但用戶是發(fā)布應(yīng)用程序的人員。Rose的九種圖用例圖usecasediagram,描述系統(tǒng)功能
類圖classdiagram,描述系統(tǒng)的靜態(tài)結(jié)構(gòu)
對(duì)象圖bbbbbbdiagram,描述系統(tǒng)在某個(gè)時(shí)刻的靜態(tài)結(jié)構(gòu)
序列圖sequencediagram,按時(shí)間順序描述系統(tǒng)元素間的交互
協(xié)作圖Collaborationdiagram,按照時(shí)間和空間順序描述系統(tǒng)元素間的交互和它們之間的關(guān)系
狀態(tài)圖statediagram,描述了系統(tǒng)元素的狀態(tài)條件和響應(yīng)
活動(dòng)圖activitydiagram,描述了系統(tǒng)元素的活動(dòng)
組件圖componentdiagram,描述了實(shí)現(xiàn)系統(tǒng)的元素的組織
配置圖deploymentdiagram,描述了環(huán)境元素的配置,并把實(shí)現(xiàn)系統(tǒng)的元素映射到配置上根據(jù)它們?cè)诓煌軜?gòu)視圖的應(yīng)用,可以把9種圖分成:用戶模型視圖:用例圖結(jié)構(gòu)模型視圖:類圖、對(duì)象圖行為模型視圖:序列圖、協(xié)作圖、狀態(tài)圖、活動(dòng)圖(動(dòng)態(tài)圖)實(shí)現(xiàn)模型視圖:組件圖環(huán)境模型視圖:配置圖UML建模過(guò)程筆記首先,要區(qū)別視圖和圖的區(qū)別,視圖是由很多圖組成的,不同的視圖可以用來(lái)描述同一系統(tǒng)的不同方面,從而更好的來(lái)描述系統(tǒng)。而圖是由各種圖片組成的,可用來(lái)組成視圖視圖包含:用例視圖(Use-caseView)邏輯視圖(LogicalView組件視圖(ComponentView)并發(fā)視圖(ConcurrencyView)展開視圖(DeploymentView)等等。圖包含:用例圖——1類圖對(duì)象圖狀態(tài)圖(側(cè)重對(duì)象狀態(tài)的描述)——2序列圖(側(cè)重于交互的時(shí)間順序的描述)協(xié)作圖(側(cè)重于涉及到的對(duì)象空間關(guān)系的描述)活動(dòng)圖(側(cè)重于交互動(dòng)作的描述)——3組件圖展開圖描述用例內(nèi)容的一般是用例圖和活動(dòng)圖(比較正式的結(jié)構(gòu))U
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 公司職工餐廳用工合同范本
- 勞動(dòng)糾紛解除合同范本
- 公司聘用合同范本英語(yǔ)
- 出地轉(zhuǎn)讓合同范本
- 協(xié)會(huì)招商服務(wù)合同范本
- 醫(yī)院廢品合同范本
- 協(xié)議解除銷售合同范本
- 醫(yī)院融資合同范本
- 勞動(dòng)建筑合同范本
- 住宿方艙租賃合同范本
- JGJT10-2011 混凝土泵送技術(shù)規(guī)程
- 2023版設(shè)備管理體系標(biāo)準(zhǔn)
- 第7課互聯(lián)網(wǎng)應(yīng)用協(xié)議 課件 2023-2024學(xué)年浙教版(2023)初中信息技術(shù)七年級(jí)上冊(cè)
- 特殊問(wèn)題學(xué)生記錄表
- 踝關(guān)節(jié)骨性關(guān)節(jié)炎課件整理
- 中藥功效快快記憶法(完整版)
- 01S201室外消火栓安裝圖集
- 電機(jī)與電氣控制技術(shù)PPT完整全套教學(xué)課件
- 高處作業(yè)安全經(jīng)驗(yàn)分享
- 中國(guó)音樂(lè)學(xué)院音樂(lè)基礎(chǔ)知識(shí)(四級(jí))(基本樂(lè)科)備考試題庫(kù)(含答案)
- 裝飾材料復(fù)試清單
評(píng)論
0/150
提交評(píng)論