




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
文檔來(lái)源為:從網(wǎng)絡(luò)收集整理.word版本可編輯.歡迎下載支持.軟件工程復(fù)習(xí)計(jì)算機(jī)軟件指計(jì)算機(jī)系統(tǒng)中的程序、數(shù)據(jù)及其相關(guān)文檔的集合。三要素:軟件=程序+文檔+數(shù)據(jù)程序是按照特定順序組織的計(jì)算機(jī)數(shù)據(jù)和指令的集合。數(shù)據(jù)是使程序能正常執(zhí)行的數(shù)據(jù)結(jié)構(gòu)。文檔是與程序的開(kāi)發(fā)、維護(hù)和使用有關(guān)的資料。它是為了便于了解程序所需的闡明性資料,文檔一般是給人看的,不一定裝入計(jì)算機(jī)。軟件的主要特點(diǎn)軟件是一種邏輯實(shí)體,而不是有形的系統(tǒng)元件,其開(kāi)發(fā)成本和進(jìn)度難以準(zhǔn)確地估算。但其維護(hù)的工作量大。軟件的使用沒(méi)有硬件那樣的機(jī)械磨損和老化問(wèn)題。軟件的分類系統(tǒng)軟件:屬于計(jì)算機(jī)系統(tǒng)中最靠近硬件的一層,其它軟件一般都通過(guò)系統(tǒng)軟件發(fā)揮具體的應(yīng)用領(lǐng)域無(wú)關(guān)。如操作系統(tǒng)、編譯程序等。支持軟件:支持軟件的開(kāi)發(fā)和維護(hù)的軟件。如數(shù)據(jù)庫(kù)管理系統(tǒng)、網(wǎng)絡(luò)軟件、軟件開(kāi)發(fā)環(huán)境等。按軟件工作方式劃分:實(shí)時(shí)處理軟件分時(shí)軟件交互式軟件批處理軟件按軟件服務(wù)對(duì)象的范圍劃分:項(xiàng)目軟件產(chǎn)品軟件按使用的頻度進(jìn)行劃分:一次使用頻繁使用按軟件失效的影響進(jìn)行劃分:高可靠性軟件一般可靠性軟件軟件工程定義,以及為開(kāi)發(fā)、運(yùn)行和維護(hù)這些程序所必須的相關(guān)文件資料。FritzBauer的定義:軟件工程是為了經(jīng)濟(jì)地獲得能夠在實(shí)際機(jī)器上有效運(yùn)行的可靠軟件,而建立和使用的一系列完善的工程化原則。檔資料,以及在計(jì)事機(jī)上運(yùn)行時(shí)所必需的數(shù)據(jù)。軟件工程化思想把軟件看作是一個(gè)工程產(chǎn)品。文檔來(lái)源為:從網(wǎng)絡(luò)收集整理.word版本可編輯.歡迎下載支持.兩個(gè)方面:軟件開(kāi)發(fā)技術(shù)軟件工程管理原因:缺乏軟件過(guò)程控制能力能力成熟模型(CapabilityMaturityModel)體現(xiàn):工程化管理軟件工程基本原理盡可能推遲軟件的物理實(shí)現(xiàn)。逐步求精原理,求解一個(gè)復(fù)雜問(wèn)題,采用從抽象到具體,有條理地逐步分解與細(xì)化方分解與抽象原理,是把復(fù)雜問(wèn)題趨于簡(jiǎn)單化處理的有效策略。信息隱蔽原理,把一些關(guān)系密切的軟件元素物理地放得彼此靠近,使信息最大限度地質(zhì)量保證原理,是軟件與文檔中明確描述的功能和性能需求、開(kāi)發(fā)標(biāo)準(zhǔn)以及任何專業(yè)開(kāi)發(fā)的軟件產(chǎn)品具有的隱含特征相一致的程度。軟件工程基本原則1983年提出了軟件工程的7條基本原則:分階段的軟件生存周期堅(jiān)持進(jìn)行階段評(píng)審實(shí)行嚴(yán)格的產(chǎn)品控制采用現(xiàn)代程序設(shè)計(jì)技術(shù)明確職責(zé)開(kāi)發(fā)小組的人員應(yīng)少而精不斷改進(jìn)開(kāi)發(fā)過(guò)程軟件工程兩大范型結(jié)構(gòu)化開(kāi)發(fā)范型特征:結(jié)構(gòu)化技術(shù)要么面向行為,要么面向數(shù)據(jù)構(gòu)成結(jié)構(gòu)化開(kāi)發(fā)范型的技術(shù)包括:結(jié)構(gòu)化分析結(jié)構(gòu)化設(shè)計(jì)結(jié)構(gòu)化編程結(jié)構(gòu)化測(cè)試結(jié)構(gòu)化維護(hù)軟件工程兩大范型面向?qū)ο蠓缎吞卣鳎簩?duì)象視作一個(gè)融合了數(shù)據(jù)及在其上操作的行為的、統(tǒng)一的軟件組件。技術(shù)包括:面向?qū)ο蠓治雒嫦驅(qū)ο笤O(shè)計(jì)面向?qū)ο缶幊堂嫦驅(qū)ο鬁y(cè)試文檔來(lái)源為:從網(wǎng)絡(luò)收集整理.word版本可編輯.歡迎下載支持.面向?qū)ο缶S護(hù)優(yōu)勢(shì):對(duì)象的概念符合業(yè)務(wù)或領(lǐng)域的客觀實(shí)際維護(hù)容易軟件過(guò)程定義:軟件過(guò)程是為了開(kāi)發(fā)出軟件產(chǎn)品,或者是為了完成軟件工程項(xiàng)目而需要完成的有通常使用生命周期模型簡(jiǎn)潔地描述軟件過(guò)程。層次:軟件工程是一門(mén)建立在以質(zhì)量焦點(diǎn)為基礎(chǔ)的層次化綜合技術(shù)。過(guò)程:定義階段和管理。方法:技術(shù)支持。工具:自動(dòng)化實(shí)施支持。軟件過(guò)程框架定義:框架是實(shí)現(xiàn)整個(gè)軟件開(kāi)發(fā)活動(dòng)的基礎(chǔ),并且那些與過(guò)程有關(guān)的角色、職責(zé)的定義及實(shí)現(xiàn)也都離不開(kāi)框架的支持。軟件過(guò)程模型把軟件生命周期中各項(xiàng)開(kāi)發(fā)活動(dòng)的流程用一個(gè)合理的框架—開(kāi)發(fā)模型來(lái)規(guī)范描述,這能力成熟度模型CMM是對(duì)軟件組織在定義、實(shí)施、度量、控制和改善其軟件過(guò)程的各個(gè)發(fā)展階段的描述,是國(guó)際公認(rèn)的對(duì)軟件公司進(jìn)行成熟度等級(jí)認(rèn)證的重要標(biāo)準(zhǔn)。能力成熟度模型集成(CMMI--CapabilityMaturityModelIntegration)是CMM模型CMM的五個(gè)級(jí)別級(jí)-已管理級(jí)和5級(jí)-優(yōu)化級(jí)。1.初始(initial)級(jí):過(guò)程無(wú)序且不可見(jiàn)。軟件過(guò)程的特點(diǎn)是無(wú)秩序的,甚至是混亂的。幾乎沒(méi)有什么過(guò)程是經(jīng)過(guò)妥善定義的,成功往往依賴于個(gè)人或小組的努力和機(jī)遇。t2.可重復(fù)(repeatable)級(jí):里程碑可見(jiàn),按計(jì)劃開(kāi)發(fā)。建立了基本的項(xiàng)目管理過(guò)程來(lái)跟蹤成本、進(jìn)度和功能特性。制定了必要的過(guò)程紀(jì)律,能重復(fù)早先類似應(yīng)用項(xiàng)目取得的成功。Level2:可重復(fù)級(jí)3.已定義(defined)級(jí):每個(gè)階段的內(nèi)部活動(dòng)可見(jiàn),標(biāo)準(zhǔn)過(guò)程和項(xiàng)目定義過(guò)程裁剪己將管理和工程活動(dòng)兩方面的軟件過(guò)程文檔化、標(biāo)準(zhǔn)化,并綜合成該機(jī)構(gòu)的標(biāo)準(zhǔn)軟文檔來(lái)源為:從網(wǎng)絡(luò)收集整理.word版本可編輯.歡迎下載支持.件過(guò)程。所有項(xiàng)目均使用經(jīng)批準(zhǔn)、剪裁的標(biāo)準(zhǔn)軟件過(guò)程來(lái)開(kāi)發(fā)和維護(hù)軟件。Level定義級(jí)4.Level4已管理(managed)級(jí):過(guò)程可度量,預(yù)測(cè)值與結(jié)果之間的偏差可控。收集對(duì)軟件過(guò)程和產(chǎn)品質(zhì)量的詳細(xì)度量值,對(duì)軟件過(guò)程和產(chǎn)品都有定量的理解和控制。Level管理級(jí)5.Level5優(yōu)化(optimizing)級(jí):過(guò)程動(dòng)態(tài)調(diào)整、新技術(shù)的采用。整個(gè)組織關(guān)注軟件過(guò)程改進(jìn)的持續(xù)性、預(yù)見(jiàn)及增強(qiáng)自身,防止缺陷及問(wèn)題的發(fā)生。過(guò)程的量化反饋和先進(jìn)的新思想、新技術(shù)促使過(guò)程不斷改進(jìn)。Level5優(yōu)化級(jí)極限編程極限編程(eXtremeProgramming,XP)是一種軟件工程方法學(xué),是敏捷開(kāi)發(fā)中最有成效的方法學(xué)之一。具有強(qiáng)溝通、簡(jiǎn)化設(shè)計(jì)、迅速反饋等特點(diǎn)。適合于規(guī)模小、進(jìn)度緊、需求不穩(wěn)定、開(kāi)發(fā)小項(xiàng)目的小團(tuán)隊(duì)。極限編程核心有四個(gè)要點(diǎn):交流簡(jiǎn)單反饋勇氣PairProgramming結(jié)對(duì)編程結(jié)對(duì)編程(Pair-Programming)是XP中非常重要的實(shí)踐之一。定義:兩個(gè)人坐在同一臺(tái)計(jì)算機(jī)前面,使用相同的鍵盤(pán)和鼠標(biāo)來(lái)開(kāi)發(fā)同樣的一個(gè)模塊,一個(gè)稱為駕駛者(Driver),負(fù)責(zé)代碼的鍵入,另外一個(gè)稱為領(lǐng)航員(Navigator),負(fù)責(zé)監(jiān)看與決策,包括低級(jí)錯(cuò)誤和方向性的錯(cuò)誤。當(dāng)出現(xiàn)的一個(gè)問(wèn)題對(duì)其中一個(gè)人來(lái)說(shuō),難以解決,而恰好是另外一個(gè)人的強(qiáng)項(xiàng)的時(shí)候,那么角色就會(huì)發(fā)生轉(zhuǎn)換。如何結(jié)對(duì)編程?Driver–寫(xiě)設(shè)計(jì)文檔(Classdiagram等),進(jìn)行編碼(UnitTestandBusinessDriver和Navigator不斷輪換角色,不要連續(xù)工作超過(guò)一小時(shí),每一小時(shí)休息15分鐘。Navigator控制開(kāi)發(fā)時(shí)間。主動(dòng)參與–雖然每個(gè)EngineeringTask都有owner,但不能以旁觀者的心態(tài)來(lái)做。任如何結(jié)對(duì)編程?只有水平上的差距,沒(méi)有級(jí)別上的差異。一個(gè)Pair,盡管可能大家的級(jí)別資歷不同,但不管在分析,設(shè)計(jì)或編碼,雙方都擁有平等的決策權(quán)利。r文檔來(lái)源為:從網(wǎng)絡(luò)收集整理.word版本可編輯.歡迎下載支持.如果Pair中的一人請(qǐng)假,另一人應(yīng)盡量不要寫(xiě)ProductionCode。Pair一起加班。軟件工程實(shí)踐軟件工程實(shí)踐的精髓是理解問(wèn)題、計(jì)劃解決方案、實(shí)施計(jì)劃和檢查結(jié)果的精確度等方通用的框架活動(dòng)包括:溝通計(jì)劃建模部署普適性活動(dòng)典型的軟件過(guò)程模型有:瀑布模型(waterfallmodel)演化模型(evolutionarymodel)增量模型(incrementalmodel)原型模型(prototypingmodel)螺旋模型(spiralmodel)面向?qū)ο筮^(guò)程模型——噴泉模型(waterfountainmodel)基于構(gòu)件的開(kāi)發(fā)模型(component-baseddevelopmentmodel)形式方法模型(formalmethodsmodel)統(tǒng)一過(guò)程模型(unifiedprocdssmodel)軟件過(guò)程模型軟件過(guò)程模型是軟件開(kāi)發(fā)全部過(guò)程、活動(dòng)和任務(wù)的結(jié)構(gòu)框架。也稱軟件開(kāi)發(fā)模型或軟件生存周期模型。軟件生存周期軟件也有一個(gè)從生到死的過(guò)程,這個(gè)過(guò)程一般稱之為軟件的生存周期或生命周期(SoftwareDevelopmentLifeCycle)。軟件生存周期包括可行性分析、項(xiàng)目計(jì)劃、需求分析、軟件設(shè)計(jì)、編碼與測(cè)試、維護(hù)等階段,每個(gè)階段包含一系列的活動(dòng)。一.瀑布模型瀑布模型將軟件生命周期劃分為軟件計(jì)劃、需求分析和定義、設(shè)計(jì)、實(shí)現(xiàn)、測(cè)試、運(yùn)固定次序,如同瀑布流水逐級(jí)下落。瀑布模型特點(diǎn)順序性和依賴性——接受上一階段的結(jié)果作為本階段的輸入,上一階段的輸出正確,下一階段的工作才能獲得正確的結(jié)果。推遲實(shí)現(xiàn)——清楚地區(qū)分邏輯設(shè)計(jì)與物理設(shè)計(jì),盡可能推遲程序的編程實(shí)現(xiàn)。質(zhì)量保證的觀點(diǎn),重視各個(gè)階段的文檔齊備。點(diǎn)缺乏靈活性,難以適應(yīng)需求不明確或需求經(jīng)常變化的軟件開(kāi)發(fā)。開(kāi)發(fā)早期存在的問(wèn)題往往要到交付使用時(shí)才發(fā)現(xiàn),維護(hù)代價(jià)大。二.演化模型文檔來(lái)源為:從網(wǎng)絡(luò)收集整理.word版本可編輯.歡迎下載支持.許多軟件項(xiàng)目在開(kāi)發(fā)早期對(duì)軟件需求的認(rèn)識(shí)是模糊的、不確定的,因此軟件很難一次最終軟件產(chǎn)品的過(guò)程。演化模型適用于對(duì)軟件需求缺乏準(zhǔn)確認(rèn)識(shí)的情況。典型的演化模型有:增量模型、原型模型、螺旋模型。型增量模型(IncrementalModel)也稱為漸增模型,是在項(xiàng)目的開(kāi)發(fā)過(guò)程中以一系列的增量方式包括:增量開(kāi)發(fā):以一定的時(shí)間間隔開(kāi)發(fā)部分工作軟件。增量提交:以一定的時(shí)間間隔增量方式向用戶提交工作軟件及相應(yīng)文檔。2.原型模型原型(prototype)是預(yù)期系統(tǒng)的一個(gè)可執(zhí)行版本,它反映了系統(tǒng)性質(zhì)(如功能、計(jì)算結(jié)果等)的一個(gè)選定的子集。一個(gè)原型不必滿足目標(biāo)軟件的所有約束,其目的是能快速、低成本地構(gòu)建原型。原型方法從軟件工程師與客戶的交流開(kāi)始,其目的是定義軟件的總體目標(biāo),標(biāo)識(shí)需求。3.螺旋模型螺旋模型(SpiralModel)是結(jié)合了瀑布模型和快速原型模型的迭代開(kāi)發(fā)模型,是瀑布模型和演化模型的結(jié)合,并增加了風(fēng)險(xiǎn)分析。強(qiáng)調(diào)了其他模型均忽略了的風(fēng)險(xiǎn)分析:風(fēng)險(xiǎn)識(shí)別風(fēng)險(xiǎn)分析風(fēng)險(xiǎn)控制特別適合于大型復(fù)雜的系統(tǒng)。每一個(gè)周期都包括需求定義、風(fēng)險(xiǎn)分析、工程實(shí)現(xiàn)和評(píng)審。螺旋模型活動(dòng)四個(gè)象限分別代表了以下活動(dòng):制定計(jì)劃:確定軟件目標(biāo),選定實(shí)施方案,確定項(xiàng)目開(kāi)發(fā)的限制條件;風(fēng)險(xiǎn)分析:分析評(píng)估所選方案,考慮如何識(shí)別和消除風(fēng)險(xiǎn);客戶評(píng)估:評(píng)價(jià)開(kāi)發(fā)工作,提出修正建議,制定下一步計(jì)劃。螺旋模型是風(fēng)險(xiǎn)驅(qū)動(dòng)的模型。三.面向?qū)ο筮^(guò)程模型面向?qū)ο笫且环N程序設(shè)計(jì)的方法,或者說(shuō)它是一種程序設(shè)計(jì)范型?;舅枷胧鞘褂脤?duì)象,類,繼承,封裝,消息等基本概念來(lái)進(jìn)行程序設(shè)計(jì)。面向?qū)ο蟮囊兀撼橄螅簭?qiáng)調(diào)實(shí)體的本質(zhì)、內(nèi)在的屬性,忽略一些無(wú)關(guān)緊要的屬性。類實(shí)現(xiàn)了對(duì)象的數(shù)據(jù)(即狀態(tài))和行為的抽象,是對(duì)象的共性的抽象。封裝性:指所有軟件部件內(nèi)部都有明確的范圍以及清楚的外部邊界。共享性。1.噴泉模型文檔來(lái)源為:從網(wǎng)絡(luò)收集整理.word版本可編輯.歡迎下載支持.噴泉模型是一種支持面向?qū)ο箝_(kāi)發(fā)的模型。體現(xiàn)迭代和無(wú)間隙特征:無(wú)間隙:開(kāi)發(fā)活動(dòng)之間不存在明顯的邊界。四.基于構(gòu)件的開(kāi)發(fā)模型支持軟件復(fù)用(reuse)。利用預(yù)先包裝好的軟件構(gòu)件(包括組織內(nèi)部開(kāi)發(fā)的構(gòu)件和現(xiàn)存商品化構(gòu)件COTS)來(lái)構(gòu)構(gòu)件集成模型構(gòu)件集成模型是基于構(gòu)件的開(kāi)發(fā)模型。構(gòu)件集成模型:整個(gè)系統(tǒng)模塊化。復(fù)用構(gòu)件庫(kù)中的軟件構(gòu)件。構(gòu)件集成模型是演化形的,開(kāi)發(fā)過(guò)程是迭代的。軟件的需求分析和定義體系結(jié)構(gòu)設(shè)計(jì)構(gòu)件庫(kù)建立應(yīng)用軟件構(gòu)建測(cè)試和發(fā)布五.形式方法模型形式化方法(formalmethods)是建立在嚴(yán)格數(shù)學(xué)基礎(chǔ)上的一種軟件開(kāi)發(fā)方法。軟件開(kāi)發(fā)的全過(guò)程中,從需求分析、規(guī)約、設(shè)計(jì)、編程、系統(tǒng)集成、測(cè)試、文檔生成、直至維護(hù)各個(gè)階段,凡是采用嚴(yán)格的數(shù)學(xué)語(yǔ)言,具有精確的數(shù)學(xué)語(yǔ)義的方法,都稱為形式化方法。六.統(tǒng)一過(guò)程模型統(tǒng)一過(guò)程是用況驅(qū)動(dòng)的。用況模型(usecasemodel)要素:用戶(user)用況(usecase)動(dòng)作(action)還能驅(qū)動(dòng)系統(tǒng)設(shè)計(jì)、實(shí)現(xiàn)和測(cè)試的進(jìn)行。統(tǒng)一過(guò)程模型統(tǒng)一過(guò)程(UnifiedProcess,UP)是風(fēng)險(xiǎn)驅(qū)動(dòng)的、基于用例技術(shù)的、以架構(gòu)為中心的、迭代的、可配置的軟件開(kāi)發(fā)流程。統(tǒng)一過(guò)程是一個(gè)軟件開(kāi)發(fā)過(guò)程,是一個(gè)通用的過(guò)程框架:初始細(xì)化構(gòu)造移交統(tǒng)一過(guò)程五個(gè)核心工作流需求(RequirementsCapture):致力于開(kāi)發(fā)正確的系統(tǒng)。文檔來(lái)源為:從網(wǎng)絡(luò)收集整理.word版本可編輯.歡迎下載支持.分析(Analysis):更精確地理解需求。設(shè)計(jì)(Design):深入理解與非功能性需求和約束相聯(lián)系的問(wèn)題。實(shí)現(xiàn)(Implementation):實(shí)現(xiàn)系統(tǒng)與集成。測(cè)試(Test):驗(yàn)證實(shí)現(xiàn)的結(jié)構(gòu)。軟件需求在軟件的整個(gè)生命周期中,首先是軟件計(jì)劃期,接著是軟件開(kāi)發(fā)期,軟件需求分析是軟件開(kāi)發(fā)的第一個(gè)階段,也是關(guān)系到軟件開(kāi)發(fā)成功與否的關(guān)鍵一步。需求分析的任務(wù)與步驟需求分析的任務(wù)就是借助于當(dāng)前系統(tǒng)的邏輯模型導(dǎo)出目標(biāo)系統(tǒng)的邏輯模型。1、建立分析模型——數(shù)據(jù)、功能和行為模型。需求分析的任務(wù)與步驟2.編寫(xiě)軟件需求規(guī)格說(shuō)明:主要包括描述目標(biāo)系統(tǒng)概貌、功能要求、性能要求、運(yùn)行要求和將來(lái)可能提出的要求。圖、IPO圖或其他工具簡(jiǎn)要描述的系統(tǒng)主要算法,都是該份文檔的重要組成部分。此外,該份文檔還應(yīng)包括用戶需求與系統(tǒng)功能之間的關(guān)系、設(shè)計(jì)約束等等文字描述。軟件需求規(guī)格說(shuō)明是需求分析階段的最終成果。需求分析的步驟1.需求獲取。2.需求提煉任務(wù):分析建模。3.需求描述結(jié)果:軟件需求說(shuō)明書(shū)。4.需求驗(yàn)證改善需求說(shuō)明的完整性,確保他可作為軟件設(shè)計(jì)和系統(tǒng)驗(yàn)收的依據(jù)。需求獲取的常用方法聯(lián)合分析小組用戶代表、領(lǐng)域?qū)<液拖到y(tǒng)分析員。客戶訪談充分準(zhǔn)備,尋找共同語(yǔ)言;循序漸進(jìn)、逐步逼近。分析與確認(rèn)多個(gè)來(lái)回。軟件需求獲取的層次(內(nèi)容)1.業(yè)務(wù)需求與用戶需求:源于系統(tǒng)的特定領(lǐng)域的需求和用戶使用交互需求。2.功能需求:描述系統(tǒng)預(yù)期提供的功能或服務(wù)。定義了系統(tǒng)做什么(描述系統(tǒng)必須支持的功能和過(guò)程)對(duì)系統(tǒng)應(yīng)提供的服務(wù);如何對(duì)輸入做出反應(yīng);系統(tǒng)在特定條件下的行為。文檔來(lái)源為:從網(wǎng)絡(luò)收集整理.word版本可編輯.歡迎下載支持.的特性(描述操作環(huán)境和性能目標(biāo))產(chǎn)品需求;機(jī)構(gòu)需求;外部需求。需求分析過(guò)程需求分析主要是理解客戶需要什么、分析要求、評(píng)價(jià)可行性、協(xié)商合理的方案、無(wú)歧義地詳細(xì)說(shuō)明方案、確認(rèn)規(guī)格說(shuō)明、管理需求,以至將這些需求轉(zhuǎn)化為可行系統(tǒng)。過(guò)程包括:溝通導(dǎo)出需求精化需求可行性研究與客戶協(xié)商編寫(xiě)需求規(guī)格說(shuō)明驗(yàn)證需求管理需求多視點(diǎn)的需求分析過(guò)程視點(diǎn)識(shí)別:包括發(fā)現(xiàn)接收系統(tǒng)服務(wù)的視點(diǎn)和發(fā)現(xiàn)提供給每個(gè)視點(diǎn)的特別服務(wù)。層次的視點(diǎn)繼承。視點(diǎn)文檔編寫(xiě):包括對(duì)被識(shí)別的視點(diǎn)和服務(wù)描述的精煉。視點(diǎn)系統(tǒng)映射:包括在面向?qū)ο笤O(shè)計(jì)中,通過(guò)封裝在視點(diǎn)中的服務(wù)信息識(shí)別對(duì)象。場(chǎng)景分析分析員與項(xiàng)目相關(guān)人員共同識(shí)別出情景,并捕獲這些情景的細(xì)節(jié)。把細(xì)節(jié)加入到一個(gè)綱要的需求描述中時(shí),情景特別有用。情景是對(duì)交互實(shí)例片斷的描述,每個(gè)情景可能包含一個(gè)或多個(gè)交互,它們能在不同的細(xì)節(jié)層次上提供不同類型的情景信息。情景開(kāi)始于一個(gè)框架,在導(dǎo)出過(guò)程中,細(xì)節(jié)被逐漸增加,直到產(chǎn)生交互的一個(gè)完整的描情景內(nèi)容在情景開(kāi)始部分有一個(gè)系統(tǒng)狀態(tài)描述;關(guān)于標(biāo)準(zhǔn)事件流的描述;關(guān)于哪兒會(huì)出錯(cuò),以及如何處理錯(cuò)誤的描述;有關(guān)其他可能在同一時(shí)間進(jìn)行的活動(dòng)的信息;在情景完成后系統(tǒng)狀態(tài)的描述。場(chǎng)景名:取款參與者:銀行客戶場(chǎng)景描述:1.插入有效的銀行卡;3.系統(tǒng)要求輸入銀行卡密碼,用戶輸入密碼;4.系統(tǒng)通過(guò)網(wǎng)絡(luò)向銀行內(nèi)部系統(tǒng)請(qǐng)求驗(yàn)證密碼;文檔來(lái)源為:從網(wǎng)絡(luò)收集整理.word版本可編輯.歡迎下載支持.6.系統(tǒng)要求輸入取款金額,比如1000元;7.系統(tǒng)驗(yàn)證是有足夠的現(xiàn)金,并請(qǐng)求驗(yàn)證銀行內(nèi)部服務(wù)器處理取款;鈔票數(shù)目,并送出現(xiàn)金;10.系統(tǒng)打印憑條,用戶取走憑條;銀行卡,用戶取走銀行卡。結(jié)構(gòu)化方法一種面向數(shù)據(jù)流的傳統(tǒng)軟件開(kāi)發(fā)方法。以數(shù)據(jù)流為中心構(gòu)建軟件的分析模型和設(shè)計(jì)模型。分為:結(jié)構(gòu)化分析(StructuredAnalysis簡(jiǎn)稱SA)結(jié)構(gòu)化設(shè)計(jì)(StructuresdDesign簡(jiǎn)稱SD)結(jié)構(gòu)化程序設(shè)計(jì)(StructuredProgrammin簡(jiǎn)稱SP)結(jié)構(gòu)化分析結(jié)構(gòu)化分析方法是一種傳統(tǒng)的系統(tǒng)建模技術(shù),其過(guò)程是創(chuàng)建描述信息內(nèi)容和數(shù)據(jù)流的模型,依據(jù)功能和行為對(duì)系統(tǒng)進(jìn)行劃分,并描述必須建立的系統(tǒng)要素。結(jié)構(gòu)化分析過(guò)程理解當(dāng)前的現(xiàn)實(shí)環(huán)境,獲得當(dāng)前系統(tǒng)的具體模型(物理模型)。從當(dāng)前系統(tǒng)的具體模型抽象出當(dāng)前系統(tǒng)的邏輯模型。分析目標(biāo)系統(tǒng)與當(dāng)前系統(tǒng)邏輯上的差別,建立目標(biāo)系統(tǒng)的邏輯模型。為目標(biāo)系統(tǒng)的邏輯模型作補(bǔ)充。結(jié)構(gòu)化分析模型結(jié)構(gòu)面向數(shù)據(jù)流的建模方法面向數(shù)據(jù)流的建模是結(jié)構(gòu)化需求分析方法之一。表示:數(shù)據(jù)字典:模型中的數(shù)據(jù)信息集合。數(shù)據(jù)流圖-DataFlowDiagram(簡(jiǎn)稱DFD):描述系統(tǒng)處理過(guò)程,即是描述輸入數(shù)據(jù)流到輸出數(shù)據(jù)流的變換(即加工)過(guò)程,用于對(duì)系統(tǒng)的功能建模。數(shù)據(jù)流圖符號(hào)文檔來(lái)源為:從網(wǎng)絡(luò)收集整理.word版本可編輯.歡迎下載支持.源或宿存在于軟件系統(tǒng)之外的人員或組織,表示軟件系統(tǒng)輸入數(shù)據(jù)的來(lái)源和輸出數(shù)據(jù)的去向,例如,對(duì)一個(gè)考務(wù)處理系統(tǒng)而言:考生向系統(tǒng)提供報(bào)名單(輸入數(shù)據(jù)流),所以考生是考試系統(tǒng)(軟件)的一個(gè)源。考務(wù)處理系統(tǒng)要將考試成績(jī)的統(tǒng)計(jì)分析表(輸出數(shù)據(jù)流)傳遞給考試中心,所以考試中心是該系統(tǒng)的一個(gè)宿。源或宿用相同的圖形符號(hào)表示。當(dāng)數(shù)據(jù)流從該符號(hào)流出時(shí)表示是源。當(dāng)數(shù)據(jù)流流向該符號(hào)時(shí)表示是宿。當(dāng)兩者皆有時(shí)表示既是源又是宿。加工和文件加工:描述輸入數(shù)據(jù)流到輸出數(shù)據(jù)流的變換。每個(gè)加工用一個(gè)定義明確的名字標(biāo)識(shí)。至少有一個(gè)輸入數(shù)據(jù)流和一個(gè)輸出流??梢杂卸鄠€(gè)輸入數(shù)據(jù)流和多個(gè)輸出數(shù)據(jù)流。文件:保存數(shù)據(jù)信息的外部單元。每個(gè)文件用一個(gè)定義明確的名字標(biāo)識(shí)。由加工進(jìn)行讀寫(xiě)。DFD中稱為文件,但在具體實(shí)現(xiàn)時(shí)可以用文件系統(tǒng)實(shí)現(xiàn),也可以用數(shù)據(jù)庫(kù)系統(tǒng)實(shí)數(shù)據(jù)流每個(gè)數(shù)據(jù)流用由一組固定成分的數(shù)據(jù)組成,并擁有一個(gè)定義明確的名字標(biāo)識(shí)。如:運(yùn)動(dòng)會(huì)管理系統(tǒng)中,報(bào)名單(數(shù)據(jù)流)由隊(duì)名、姓名、性別、參賽項(xiàng)目等數(shù)據(jù)組數(shù)據(jù)流的流向:從一個(gè)加工流向另一個(gè)加工。文檔來(lái)源為:從網(wǎng)絡(luò)收集整理.word版本可編輯.歡迎下載支持.從加工流向文件(寫(xiě)文件)。從文件流向加工(讀文件)。從源流向加工。從加工流向宿。。系統(tǒng)為旅客安排航班,打印出取票通知單(附應(yīng)交的帳款)。旅客在飛機(jī)起飛的前一天憑取票通知等交款取票,系統(tǒng)檢驗(yàn)無(wú)誤,輸出機(jī)票給旅客。出卷系統(tǒng):自動(dòng)出卷數(shù)據(jù)流圖出卷系統(tǒng):自動(dòng)出卷數(shù)據(jù)流圖數(shù)據(jù)字典定義:數(shù)據(jù)字典——是描述數(shù)據(jù)信息的集合,它對(duì)數(shù)據(jù)流圖中的各個(gè)元素按規(guī)定格式進(jìn)行詳細(xì)的描述和確切的解釋,是數(shù)據(jù)流圖的補(bǔ)充工具。數(shù)據(jù)流圖與數(shù)據(jù)字典是密不可分的,兩者結(jié)合起來(lái)構(gòu)成軟件的邏輯模型(分析模型)。數(shù)據(jù)字典數(shù)據(jù)字典有以下兩個(gè)作用:它是所有名字信息管理的有效機(jī)制。作為連接軟件分析、設(shè)計(jì)、實(shí)現(xiàn)和進(jìn)化階段的開(kāi)發(fā)機(jī)構(gòu)的信息存儲(chǔ)。數(shù)據(jù)字典應(yīng)該由四類元素的定義組成:數(shù)據(jù)流數(shù)據(jù)流分量數(shù)據(jù)存儲(chǔ)處理rocessOutput數(shù)據(jù)字典條目數(shù)據(jù)字典條目中應(yīng)該包括關(guān)于數(shù)據(jù)的信息:一般信息(名字、別名、描述等)。定義(數(shù)據(jù)類型、長(zhǎng)度、結(jié)構(gòu)等)。使用特點(diǎn)(值的范圍、使用頻率、使用條件、使用方式、條件值等)??刂菩畔?用戶、使用特點(diǎn)、改變數(shù)、使用權(quán)等)。分組信息(文檔結(jié)構(gòu)、從屬結(jié)構(gòu)、物理位置等)。數(shù)據(jù)字典——數(shù)據(jù)流應(yīng)包含的內(nèi)容一般的“數(shù)據(jù)流”字典條目應(yīng)包含以下內(nèi)容:數(shù)據(jù)字典——數(shù)據(jù)文件應(yīng)包含的內(nèi)容一般的“數(shù)據(jù)文件”字典條目應(yīng)包含以下內(nèi)容:數(shù)據(jù)字典——數(shù)據(jù)項(xiàng)應(yīng)包含的內(nèi)容一般的“數(shù)據(jù)項(xiàng)”字典條目應(yīng)包含以下內(nèi)容:對(duì)數(shù)據(jù)項(xiàng)的數(shù)據(jù)描述還可以采用以下的方式:數(shù)據(jù)字典數(shù)據(jù)字典卡片方式示例判定表判定表的組成元素文檔來(lái)源為:從網(wǎng)絡(luò)收集整理.word版本可編輯.歡迎下載支持.條件樁(ConditionStub):列出各種條件的對(duì)象,如發(fā)貨單金額,賒欠天數(shù)等,每條件條目(Conditienentry):列出各條件對(duì)象的取值,條件條目的每一列表示了個(gè)可能的條件組合。動(dòng)作樁(actionstub):列出所有可能采取的動(dòng)作,如發(fā)出發(fā)貨單等,每行寫(xiě)一個(gè)動(dòng)作條目(actioneutry):列出各種條件組合下應(yīng)采取的動(dòng)作。判定表的其它形式判定(決策)樹(shù)判定樹(shù)描述有多個(gè)行為需要選擇的過(guò)程。判定樹(shù)由一組表示條件的節(jié)點(diǎn)和無(wú)標(biāo)記邊組成。判定(決策)樹(shù)實(shí)例決策樹(shù)形式簡(jiǎn)單,易于掌握和使用,并適合于與用戶討論。判定(決策)樹(shù)實(shí)例本質(zhì)上與判定表是相同的,只是表示形式不同。例如“審批發(fā)貨單”加工邏輯的判定樹(shù)描述入下:軟件設(shè)計(jì)的兩個(gè)階段設(shè)計(jì)者必須同時(shí)滿足用戶和系統(tǒng)開(kāi)發(fā)人員的要求:概要設(shè)計(jì)階段——概要設(shè)計(jì)書(shū)。詳細(xì)設(shè)計(jì)階段——詳細(xì)設(shè)計(jì)書(shū)。軟件設(shè)計(jì)過(guò)程結(jié)構(gòu)化設(shè)計(jì)(StructuredDesign,簡(jiǎn)稱SD)是一種將結(jié)構(gòu)化分析得到的數(shù)據(jù)流圖映射成軟件體系結(jié)構(gòu)的設(shè)計(jì)方法。強(qiáng)調(diào)模塊化、自頂向下逐步求精、信息隱蔽、高內(nèi)聚低耦合等設(shè)計(jì)準(zhǔn)則。分為概要設(shè)計(jì)和詳細(xì)設(shè)計(jì)兩大步驟:概要設(shè)計(jì)是對(duì)軟件系統(tǒng)的總體設(shè)計(jì),采用結(jié)構(gòu)化設(shè)計(jì)方法,其任務(wù)是:將系統(tǒng)分解成模塊,確定每個(gè)模塊的功能、接口(模塊間傳遞的數(shù)據(jù))及其調(diào)用關(guān)系,并用模塊及其對(duì)模塊的調(diào)用來(lái)構(gòu)建軟件的體系結(jié)構(gòu)。SA、SD和SP構(gòu)成完整的結(jié)構(gòu)化方法體系。概要設(shè)計(jì)文檔來(lái)源為:從網(wǎng)絡(luò)收集整理.word版本可編輯.歡迎下載支持.軟件設(shè)計(jì)的第一類活動(dòng)——概要設(shè)計(jì),也稱為總體設(shè)計(jì)或結(jié)構(gòu)設(shè)計(jì)、高層設(shè)計(jì)。軟件概要設(shè)計(jì)主要是仔細(xì)分析需求規(guī)格說(shuō)明,研究、開(kāi)發(fā)產(chǎn)品的模塊劃分,形成具有預(yù)定功能的模塊組成結(jié)構(gòu),表示出模塊間的控制關(guān)系,并給出模塊之間的接口。軟件概要設(shè)計(jì)的步驟1.設(shè)計(jì)供選擇的方案。2.選取合理的方案。3.推薦最佳方案。4.功能分解與設(shè)計(jì)軟件結(jié)構(gòu)。5.數(shù)據(jù)庫(kù)設(shè)計(jì)。6.編制設(shè)計(jì)文檔。7.審查和復(fù)審。詳細(xì)設(shè)計(jì)軟件設(shè)計(jì)的第二類活動(dòng)是軟件詳細(xì)設(shè)計(jì),也稱模塊設(shè)計(jì),或者過(guò)程設(shè)計(jì)、低層設(shè)計(jì)。詳細(xì)設(shè)計(jì)是為結(jié)構(gòu)設(shè)計(jì)中的各個(gè)模塊設(shè)計(jì)過(guò)程細(xì)節(jié),確定模塊所需的算法和數(shù)據(jù)結(jié)構(gòu)但并不是真正的編碼,而是設(shè)計(jì)出程序的詳細(xì)規(guī)格說(shuō)明。詳細(xì)設(shè)計(jì)是將概要設(shè)計(jì)的框架內(nèi)容具體化、明細(xì)化,將概要設(shè)計(jì)的模型轉(zhuǎn)換成可以操作的軟件模型,是設(shè)計(jì)程序的藍(lán)圖。詳細(xì)設(shè)計(jì)的內(nèi)容模塊或構(gòu)件的處理邏輯、算法、接口等。模塊或構(gòu)件的描述:功能、需要解決的問(wèn)題,以及該模塊或構(gòu)件在什么時(shí)候被調(diào)用,為何需要該模塊或構(gòu)件。、邊界和特殊條件,甚至參考資料等。數(shù)據(jù)描述:其內(nèi)部的數(shù)據(jù)流。其處理邏輯可采用流程圖、PDL語(yǔ)言、N-S圖、判定表等描述算法的圖表來(lái)表示。模塊的獨(dú)立性模塊的獨(dú)立性(ModuleIndependence)是模塊化、抽象、信息隱蔽等概念的直接結(jié)果,也是判斷模塊化結(jié)構(gòu)是否合理的標(biāo)準(zhǔn)。模塊獨(dú)立性是指開(kāi)發(fā)具有獨(dú)立功能,而和其他模塊沒(méi)有過(guò)多關(guān)聯(lián)的模塊。模塊獨(dú)立性度量模塊獨(dú)立性由兩個(gè)定性標(biāo)準(zhǔn)度量:模塊自身的內(nèi)聚(Cohesion)),也稱為塊內(nèi)聯(lián)系或模塊強(qiáng)度。模塊之間的耦合(Coupling),也稱為塊間聯(lián)系。模塊獨(dú)立性愈高,則塊內(nèi)聯(lián)系越強(qiáng),塊間聯(lián)系越弱。模塊內(nèi)聚性內(nèi)聚性是從功能的角度對(duì)模塊內(nèi)部聚合能力的量度。高內(nèi)聚是模塊獨(dú)立性追求的目標(biāo)。分類:模塊耦合性耦合性是對(duì)一個(gè)軟件結(jié)構(gòu)內(nèi)不同模塊之間互連程度的度量。耦合性的強(qiáng)弱取決于模塊間接口的復(fù)雜程度,以及通過(guò)接口的數(shù)據(jù)類型和數(shù)目。分類:(1)如模塊必須存在耦合,選擇適當(dāng)?shù)鸟詈项愋?,原則:盡量使用數(shù)據(jù)耦合;文檔來(lái)源為:從網(wǎng)絡(luò)收集整理.word版本可編輯.歡迎下載支持.少用控制耦合;限制公共耦合的范圍;堅(jiān)決避免使用內(nèi)容耦合。(2)降低模塊間接口的復(fù)雜性。軟件結(jié)構(gòu)圖軟件結(jié)構(gòu)(StructureChart,簡(jiǎn)稱SC)是軟件系統(tǒng)的模塊層次結(jié)構(gòu),反映了整個(gè)系統(tǒng)軟件結(jié)構(gòu)一般用樹(shù)狀或網(wǎng)狀結(jié)構(gòu)的圖形來(lái)表示。軟件結(jié)構(gòu)圖的主要元素有:模塊:模塊用帶有名字的方框表示,名稱應(yīng)體現(xiàn)模塊的功能。控制關(guān)系:控制關(guān)系用單向箭頭或直線表示模塊間的調(diào)用關(guān)系。信息傳遞:用帶注釋的短箭頭表示模塊調(diào)用過(guò)程中傳遞的信息。的下方加一個(gè)弧形箭頭,表示循環(huán)調(diào)用。軟件結(jié)構(gòu)圖軟件結(jié)構(gòu)圖的形態(tài)特征:深度為5。能粗略表示一個(gè)系統(tǒng)的大小和復(fù)雜程度,深度和程序長(zhǎng)度之間存在著某種對(duì)應(yīng)關(guān)系。寬度:指一層中最大的模塊個(gè)數(shù)。圖6-4中的結(jié)構(gòu)圖的寬度為8。一般來(lái)說(shuō),結(jié)構(gòu)的寬度越大,則系統(tǒng)就越復(fù)雜。扇出:指一個(gè)模塊直接下屬模塊的個(gè)數(shù)。圖6-4中的結(jié)構(gòu)圖的模塊I的扇出為4。一般為3或4。扇入:指一個(gè)模塊直接上屬模塊的個(gè)數(shù)。圖6-4中的結(jié)構(gòu)圖的模塊T的扇入為4。扇入過(guò)大,意味著共享該模塊的上級(jí)模塊數(shù)目多,這有一定的益處,但是決不能違背模塊的獨(dú)立性原則而片面追求高扇入。畫(huà)結(jié)構(gòu)圖應(yīng)注意的事項(xiàng):模塊不能重名。調(diào)用關(guān)系只能從上到下。軟件結(jié)構(gòu)圖文檔來(lái)源為:從網(wǎng)絡(luò)收集整理.word版本可編輯.歡迎下載支持.軟件結(jié)構(gòu)圖計(jì)方法7.1數(shù)據(jù)流模型結(jié)構(gòu)化設(shè)計(jì)是將結(jié)構(gòu)化分析的結(jié)果(數(shù)據(jù)流圖)映射成軟件的體系結(jié)構(gòu)(結(jié)構(gòu)圖)。根據(jù)數(shù)據(jù)流的特點(diǎn),可將數(shù)據(jù)流圖分為變換型數(shù)據(jù)流圖和事務(wù)型數(shù)據(jù)流圖,其對(duì)應(yīng)的映射分別稱為變換分析和事務(wù)分析。7.1數(shù)據(jù)流模型有三種數(shù)據(jù)流類型:變換型數(shù)據(jù)流;事務(wù)型數(shù)據(jù)流;混合型數(shù)據(jù)流。變換型數(shù)據(jù)流信息沿著輸入路徑進(jìn)入系統(tǒng),并將輸入信息的外部形式經(jīng)過(guò)加工變成內(nèi)部形式,內(nèi)部形式的信息通過(guò)變換中心的處理,再沿著輸出路徑經(jīng)過(guò)加工后變成輸出信息,送到系事務(wù)型數(shù)據(jù)流當(dāng)數(shù)據(jù)流經(jīng)過(guò)一個(gè)具有“事務(wù)中心”特征的數(shù)據(jù)處理時(shí),它可以根據(jù)事務(wù)類型從多條路徑的數(shù)據(jù)流中選擇一條活動(dòng)通路。就是事務(wù)型數(shù)據(jù)流,簡(jiǎn)稱事務(wù)流。混合型數(shù)據(jù)流在一個(gè)大型系統(tǒng)的DFD中,變換流和事務(wù)流往往會(huì)同時(shí)出現(xiàn)。例如,在一個(gè)事務(wù)型的DFD中,分支動(dòng)作路徑上的信息流也可能會(huì)體現(xiàn)出變換流的特這種具有將事務(wù)流和變換流組合出現(xiàn),就是混合型數(shù)據(jù)流,簡(jiǎn)稱混合流。結(jié)構(gòu)化詳細(xì)設(shè)計(jì)的結(jié)構(gòu)三種基本結(jié)構(gòu)順序結(jié)構(gòu)選擇結(jié)構(gòu)循環(huán)結(jié)構(gòu)文檔來(lái)源為:從網(wǎng)絡(luò)收集整理.word版本可編輯.歡迎下載支持.程序流程圖Goldstine1946年首先采用。它的主要優(yōu)點(diǎn)是對(duì)控制流程的描繪很直觀,便于初學(xué)者掌握。程序流程圖的主要缺點(diǎn):程序流程圖本質(zhì)上不是逐步求精的好工具,它誘使程序員過(guò)早地考慮程序的控制流慮程序的全局結(jié)構(gòu);轉(zhuǎn)移控制;程序流程圖不易表示數(shù)據(jù)結(jié)構(gòu)。程序流程圖符號(hào)盒圖是由Nassi和Shneiderman提出的,所以又稱為N-S圖。每個(gè)處理步驟都用一個(gè)盒子來(lái)表示,這些處理步驟可以是語(yǔ)句或語(yǔ)句序列,在需要時(shí),盒圖具有下述特點(diǎn):功能域(即,一個(gè)特定控制結(jié)構(gòu)的作用域)明確,可以從盒圖上一眼就看出來(lái)。出口,很容易確定局部和全程數(shù)據(jù)的作用域。很容易表現(xiàn)嵌套關(guān)系,也可以表示模塊的層次結(jié)構(gòu)。盒圖符號(hào)PAD立公司發(fā)明。成程序代碼比較容易。解的概念逐步轉(zhuǎn)換為確定的和詳盡的過(guò)程,使之最終可采用計(jì)算機(jī)直接進(jìn)行處理。過(guò)程描述語(yǔ)言(PDL-ProceduralDescriptionLanguage)介于自然語(yǔ)言和形式語(yǔ)言之間的一種半形式化語(yǔ)言,是在自然語(yǔ)言基礎(chǔ)上加了一些限定,使用有限的詞匯和有限的語(yǔ)句來(lái)描述加工邏輯。外層用來(lái)描述控制結(jié)構(gòu),采用順序、選擇、重復(fù)三種基本結(jié)構(gòu)。其動(dòng)詞含義要具體,盡量不用形容詞和副詞來(lái)修飾。PDL三種結(jié)構(gòu)統(tǒng)計(jì)單詞數(shù)目統(tǒng)計(jì)空格seq打開(kāi)文件讀入字符串文檔來(lái)源為:從網(wǎng)絡(luò)收集整理.word版本可編輯.歡迎下載支持.Totalsum=0程序體iteruntil文件結(jié)束……程序體end印總數(shù)seq印出空格總數(shù)印總數(shù)end關(guān)閉文件停止統(tǒng)計(jì)空格end面向?qū)ο蠡A(chǔ)面向?qū)ο笫且环N的程序設(shè)計(jì)方法,或者說(shuō)它是一種程序設(shè)計(jì)范型,其基本思想是使用對(duì)象、類、繼承、封裝、消息等基本概念來(lái)進(jìn)行程序設(shè)計(jì)。面向?qū)ο蠓椒▽W(xué)面向?qū)ο蠓治?OOA,Object-OrientedAnalysis)是一種半形式化的規(guī)格說(shuō)明技術(shù)。面向?qū)ο笤O(shè)計(jì)(OOD)面向?qū)ο髮?shí)現(xiàn)(OOP)面向?qū)ο鬁y(cè)試(OOT)面向?qū)ο蟮幕靖拍?.對(duì)象(object)對(duì)象是指一組屬性以及這組屬性上的專用操作的封裝體。屬性(attribute)通常是一些數(shù)據(jù),有時(shí)它也可以是另一個(gè)對(duì)象。每個(gè)對(duì)象都有它或修改。操作(operation)(也稱方法或服務(wù))規(guī)定了對(duì)象的行為,表示對(duì)象所能提供的服面向?qū)ο蟮幕靖拍罘庋b(encapsulation)是一種信息隱蔽技術(shù),用戶只能看見(jiàn)對(duì)象封裝界面上的信息,對(duì)象的內(nèi)部實(shí)現(xiàn)對(duì)用戶是隱蔽的。封裝的目的是使對(duì)象的使用者和生產(chǎn)者分離,使對(duì)象的定義和實(shí)現(xiàn)分開(kāi)。一個(gè)對(duì)象通常可由對(duì)象名、屬性和操作三部分組成。面向?qū)ο蟮幕靖拍?.類(class)類是一組具有相同屬性和相同操作的對(duì)象的集合。一個(gè)類中的每個(gè)對(duì)象都是這個(gè)類tance類是創(chuàng)建對(duì)象的模板,從同一個(gè)類實(shí)例化的每個(gè)對(duì)象都具有相同的結(jié)構(gòu)和行為。面向?qū)ο蟮幕靖拍蠲嫦驅(qū)ο蟮幕靖拍?.繼承(inheritance)繼承是類間的基本關(guān)系,它是基于層次關(guān)系的不同類共享數(shù)據(jù)和操作的一種機(jī)制。父類中定義了其所有子類的公共屬性和操作,在子類中除了定義自己特有的屬性和操作外,可以繼承其父類(或祖先類)的屬性和操作,還可以對(duì)父類(或祖先類)中的操作實(shí)現(xiàn)方法。文檔來(lái)源為:從網(wǎng)絡(luò)收集整理.word版本可編輯.歡迎下載支持.面向?qū)ο蟮幕靖拍钊绻粋€(gè)子類只有唯一一個(gè)父類,這種繼承稱為單一繼承。如果一個(gè)子類有一個(gè)以上的父類,這種繼承稱為多重繼承。面向?qū)ο蟮幕靖拍?.消息(message)消息傳遞是對(duì)象間通信的手段,一個(gè)對(duì)象通過(guò)向另一個(gè)對(duì)象發(fā)送消息來(lái)請(qǐng)求其服務(wù)。一個(gè)消息通常包括接收對(duì)象名、調(diào)用的操作名和適當(dāng)?shù)膮?shù)(如果有必要的話)。消息只告訴接收對(duì)象需要完成什么操作,但并不指示接收者怎樣完成操作。消息完全由接收者解釋,接收者獨(dú)立決定采用什么方法完成所需的操作。面向?qū)ο蟮幕靖拍?.多態(tài)性(polymorphism)多態(tài)性是指同一個(gè)操作作用于不同的對(duì)象上可以有不同的解釋,并產(chǎn)生不同的執(zhí)行結(jié)象上,則在屏幕上畫(huà)一個(gè)圓。也就是說(shuō),相同操作的消息發(fā)送給不同的對(duì)象時(shí),每個(gè)對(duì)象將根據(jù)自己所屬類中定義的這個(gè)操作去執(zhí)行,從而產(chǎn)生不同的結(jié)果。面向?qū)ο蟮幕靖拍?.動(dòng)態(tài)綁定(dynamicbinding)動(dòng)態(tài)綁定是指在程序運(yùn)行時(shí)才將消息所請(qǐng)求的操作與實(shí)現(xiàn)該操作的方法連接起來(lái)。傳統(tǒng)的程序設(shè)計(jì)語(yǔ)言的過(guò)程調(diào)用與目標(biāo)代碼的連接(即調(diào)用哪個(gè)過(guò)程)放在程序運(yùn)行前(即編譯時(shí))進(jìn)行(稱為靜態(tài)綁定),而動(dòng)態(tài)綁定則是把這種連接推遲到運(yùn)行時(shí)動(dòng)態(tài)綁定是一種在運(yùn)行時(shí)確定被執(zhí)行代碼的技術(shù)。面向?qū)ο筇卣鞒橄笮裕簭?qiáng)調(diào)實(shí)體的本質(zhì)、內(nèi)在的屬性,忽略一些無(wú)關(guān)緊要的屬性。類實(shí)現(xiàn)了對(duì)象的數(shù)據(jù)(即狀態(tài))和行為的抽象,是對(duì)象的共性的抽象。封裝性:指所有軟件部件內(nèi)部都有明確的范圍以及清楚的外部邊界。每個(gè)軟件部件都有友好的界面接口,軟件部件的內(nèi)部實(shí)現(xiàn)與外部可訪問(wèn)性分離。共享性:面向?qū)ο蠹夹g(shù)在不同級(jí)別上促進(jìn)了共享。統(tǒng)一建模語(yǔ)言(UML,UnifiedModelingLanguage)是一種基于面向?qū)ο蟮目梢暬UZ(yǔ)言。UML用豐富的圖形符號(hào)隱含表示了模型元素的語(yǔ)法,而用這些圖形符號(hào)組成元模型表達(dá)語(yǔ)義,組成模型描述系統(tǒng)結(jié)構(gòu)(或稱為靜態(tài)特征)以及行為(或稱為動(dòng)態(tài)特征)。一類模型元素用于表示模型中的某個(gè)概念,如類、對(duì)象、用例、結(jié)點(diǎn)、構(gòu)件、包、另一類模型元素用于表示模型元素之間相互連接的關(guān)系,主要有關(guān)聯(lián)、泛化(表示一般與特殊的關(guān)系)、依賴、聚集(表示整體與部分的關(guān)系)等。UML模型元素五種視圖:用例視圖從用戶角度表達(dá)系統(tǒng)功能;結(jié)構(gòu)視圖主要使用類圖和對(duì)象圖描述系統(tǒng)靜態(tài)結(jié)構(gòu);行為視圖展示系統(tǒng)動(dòng)態(tài)行為及其并發(fā)性;文檔來(lái)源為:從網(wǎng)絡(luò)收集整理.word版本可編輯.歡迎下載支持.實(shí)現(xiàn)視圖展示系統(tǒng)實(shí)現(xiàn)的結(jié)構(gòu)和行為特征;部署視圖展示系統(tǒng)的實(shí)現(xiàn)環(huán)境和構(gòu)件是如何在物理結(jié)構(gòu)中部署的。1類與對(duì)象圖(ClassDiagram)與對(duì)象圖(ObjectDiagram)表達(dá)了對(duì)象模型的靜態(tài)結(jié)構(gòu),能夠有效地建立專業(yè)領(lǐng)域的計(jì)算機(jī)系統(tǒng)對(duì)象模型。一、類圖與對(duì)象圖對(duì)象類簡(jiǎn)稱類,是面向?qū)ο竽P偷淖罨镜哪P驮?,用類圖來(lái)描述。類圖(Classdiagram)由系統(tǒng)中使用的類以及它們之間的關(guān)系組成,是描述系統(tǒng)的一種圖式。類及類型名均用英文大寫(xiě)字母開(kāi)頭,屬性及操作名為小寫(xiě)字母開(kāi)頭。類圖是構(gòu)建其它圖的基礎(chǔ)。對(duì)象是對(duì)象類的實(shí)例(instance),用對(duì)象圖來(lái)描述。UML中類之間的關(guān)系7、其它關(guān)聯(lián)遞歸關(guān)聯(lián)(Recursiveassociation)聚集(aggregation)聚集是一種特殊的關(guān)聯(lián),它指出類間的“整體-部分”關(guān)系。又分為:1、共享聚集(sharedaggregation)其“部分”對(duì)象可以是任意“整體”對(duì)象的一部分。當(dāng)“整體”端的重?cái)?shù)不是12、組合聚集(compositionaggregation)文檔來(lái)源為:從網(wǎng)絡(luò)收集整理.word版本可編輯.歡迎下載支持.三、泛化泛化指出類之間的“一般與特殊關(guān)系”,即繼承關(guān)系。父類與子類之間構(gòu)成類的分繼承性的實(shí)例一個(gè)最古老的軟件方法問(wèn)題是:怎樣將大系統(tǒng)拆分成小系統(tǒng)。UML中解決該問(wèn)題的思路L包是一種組合機(jī)制,把各種各樣的模型元素通過(guò)內(nèi)在的語(yǔ)義連在一起成為一個(gè)整體就叫子系統(tǒng)(subsystem)。析與建模用例驅(qū)動(dòng)分析過(guò)程用例建模分析開(kāi)發(fā)活動(dòng)圖開(kāi)發(fā)泳道圖用況模型由用況圖組成,用況圖展示了執(zhí)行者、用況以及它們之間的關(guān)系。用況通常用正文形式來(lái)描述。一個(gè)用況模型可由若干幅用況圖組成。一幅用況圖包含的模型元素有系統(tǒng)、執(zhí)行者、用況,以及表示它們間的不同關(guān)系,如關(guān)聯(lián)、擴(kuò)展、包含、泛化等。一.定義系統(tǒng)用況圖中的矩形框代表系統(tǒng),系統(tǒng)的用況畫(huà)在矩形框內(nèi),代表系統(tǒng)之外的執(zhí)行者二.確定執(zhí)行者執(zhí)行者是指與系統(tǒng)交互的人或其他系統(tǒng)。執(zhí)行者代表一種角色,而不是具體的某個(gè)人。執(zhí)行者可分成主執(zhí)行者和副執(zhí)行者:主執(zhí)行者使用系統(tǒng)的主要功能。例如,保險(xiǎn)系統(tǒng)中主執(zhí)行者處理保險(xiǎn)的注冊(cè)和管理。副執(zhí)行者處理系統(tǒng)的輔助功能。例如,管理數(shù)據(jù)庫(kù)、通信、備份以及其他管理等系統(tǒng)維護(hù)。我們可以通過(guò)回答下列問(wèn)題來(lái)確定執(zhí)行者:誰(shuí)使用系統(tǒng)的主要功能(主執(zhí)行者)?誰(shuí)需要從系統(tǒng)中得到對(duì)他們?nèi)粘9ぷ鞯闹С??誰(shuí)需要維護(hù)、管理和維持系統(tǒng)的日常運(yùn)行(副執(zhí)行者)?系統(tǒng)需要控制哪些硬件設(shè)備?系統(tǒng)需要與哪些其他系統(tǒng)交互?哪些人或哪些系統(tǒng)對(duì)系統(tǒng)產(chǎn)生的結(jié)果(值)感興趣?三.確定用況1.用況的特征文檔來(lái)源為:從網(wǎng)絡(luò)收集整理.word版本可編輯.歡迎下載支持.用況總是被執(zhí)行者啟動(dòng)的(initiated),執(zhí)行者必須直接或間接地指示系統(tǒng)去執(zhí)用況向執(zhí)行者提供值,這些值必須是可識(shí)別的。用況是完整的,一個(gè)用況必須是一個(gè)完整的描述。用況是一個(gè)類型,而不是實(shí)例,用況的實(shí)例稱為場(chǎng)景(scenario)。四.用況的描述用況通常用正文(text)來(lái)描述,也可用活動(dòng)圖來(lái)描述用況的正文描述應(yīng)包括以下內(nèi)容:用況的目的:用況的最終目的是什么?它試圖達(dá)到什么?用況是如何啟動(dòng)(initiate)的:哪個(gè)執(zhí)行者在什么情況下啟動(dòng)用況的執(zhí)行?執(zhí)行者和用況之間的消息流:用況與執(zhí)行者之間交換什么消息或事件來(lái)通知對(duì)方改變或恢復(fù)信息?描述系統(tǒng)與執(zhí)行者之間的主消息流是什么?以及系統(tǒng)中哪些實(shí)體被使用五.確定用況之間的關(guān)系六.確認(rèn)模型對(duì)用況模型進(jìn)行評(píng)審,以確認(rèn)該模型是用戶所需的。開(kāi)發(fā)活動(dòng)圖UML活動(dòng)圖通過(guò)提供特定的場(chǎng)景內(nèi)交流的圖形化表示來(lái)補(bǔ)充用例?;顒?dòng)圖符號(hào):兩端為半圓形的矩形表示一個(gè)特定的系統(tǒng)功能。箭頭表示通過(guò)系統(tǒng)的流。判定菱形表示判定分支。水平線、分叉點(diǎn)和連接表示并發(fā)活動(dòng)。對(duì)象節(jié)點(diǎn)表示活動(dòng)對(duì)象?;顒?dòng)圖通常能夠既表示控制流又表示數(shù)據(jù)流。UML活動(dòng)圖代替?zhèn)鹘y(tǒng)的數(shù)據(jù)流圖(DataFlowDiagram)表示法。泳道圖UML泳道圖(swimlane)是活動(dòng)圖的一種有用的變形??梢宰尳H藛T表示用例所描述的活動(dòng)圖,同時(shí)看哪個(gè)參與者或分析類對(duì)活動(dòng)矩形所描述的活動(dòng)負(fù)責(zé)。泳道用縱向分割圖的并列條形部分表示,就像游泳池中的泳道,也稱特定分區(qū)。UML泳道圖通常對(duì)于涉及眾多參與者的非常復(fù)雜的業(yè)務(wù)過(guò)程建模具有價(jià)值。泳道圖舉例1順序圖順序圖用來(lái)描述對(duì)象之間動(dòng)態(tài)的交互關(guān)系,著重表現(xiàn)對(duì)象間消息傳遞的時(shí)間順序。對(duì)象位于水平軸,垂直軸表示時(shí)間標(biāo)識(shí)方式:對(duì)象名:類名垂直虛線表示對(duì)象生命線生命線上的矩形表示對(duì)象在此時(shí)的活動(dòng)生命線下方用叉號(hào)×表示對(duì)象的生命終結(jié)消息文檔來(lái)源為:從網(wǎng)絡(luò)收集整理.word版本可編輯.歡迎下載支持.消息分類:簡(jiǎn)單消息:以簡(jiǎn)單、抽象的函數(shù)表示。同步消息:等待消息處理完后,才可繼續(xù)執(zhí)行。異步消息:不等消息處理就可繼續(xù)執(zhí)行后續(xù)操作。返回消息:是同步消息。1.順序圖的概念順序圖(sequencediagram):用來(lái)描述為了完成確定事務(wù),對(duì)象之間按照時(shí)間消息交2.順序圖樣式和元素3.消息①調(diào)用消息(ProcedureCall)調(diào)用消息(也稱
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 工程造價(jià)全過(guò)程跟蹤審計(jì)咨詢合同范本
- 冷庫(kù)服務(wù)安裝合同范本
- 企業(yè)購(gòu)買(mǎi)電腦合同范本
- 廠長(zhǎng)和下屬分房合同范本
- 中美服裝合同范本
- 合作舉辦演出合同范本
- 債務(wù)繼承合同范本
- 叉車以租代售合同范本
- 單人房間 出租合同范本
- 名額買(mǎi)賣(mài)合同范例
- 流行音樂(lè)(中國(guó))
- 合規(guī)管理體系實(shí)務(wù)培訓(xùn)測(cè)試題附有答案
- 《職場(chǎng)與求職渠道》課件
- 幽門(mén)螺旋桿菌科普文
- 民主(組織)生活會(huì)批評(píng)和自我批評(píng)示例31個(gè)
- 唯物史觀精華知識(shí)點(diǎn)總結(jié)
- 課程思政融入專業(yè)課程的
- 實(shí)驗(yàn)教學(xué)示范中心建設(shè)經(jīng)驗(yàn)交流匯報(bào)課件
- 部門(mén)10人團(tuán)建活動(dòng)方案
- NB-T 47013.1-2015 承壓設(shè)備無(wú)損檢測(cè) 第1部分-通用要求
- 電纜隱蔽驗(yàn)收記錄文本20種
評(píng)論
0/150
提交評(píng)論