軟件開發(fā)過程之《軟件是這樣煉成的》課件_第1頁
軟件開發(fā)過程之《軟件是這樣煉成的》課件_第2頁
軟件開發(fā)過程之《軟件是這樣煉成的》課件_第3頁
軟件開發(fā)過程之《軟件是這樣煉成的》課件_第4頁
軟件開發(fā)過程之《軟件是這樣煉成的》課件_第5頁
已閱讀5頁,還剩64頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

軟件是這樣煉成的制作人:鄭培泰2016年6月25日軟件是這樣煉成的制作人:鄭培泰開篇故事

某政府要建造一座20層的辦公樓,用于機(jī)關(guān)單位辦公。建筑面積2萬平米,投資預(yù)算1.2億。某建筑設(shè)計研究院參與了樓房設(shè)計。某建筑公司承接了大樓的建造工程。同時,政府聘請了監(jiān)理公司參與工程的監(jiān)督管理。那么,整個大樓從籌劃到建造完成是怎樣一個流程呢?這和軟件開發(fā)流程有什么相似的地方嗎?Back開篇故事 某政府要建造一座20層的辦公樓,用于機(jī)關(guān)單開篇故事——分析(一)政府單位:是客戶,大樓這個產(chǎn)品的使用者。所關(guān)心的是:投資的規(guī)模樓層高度、建筑面積建造地址的選擇大樓的功能要求其他需求點(diǎn)評:從客戶那里,能了解到他們需要的是什么。是產(chǎn)品設(shè)計、開發(fā)的最根本依據(jù)。Back開篇故事——分析(一)政府單位:是客戶,大樓這個產(chǎn)品的使用者開篇故事——分析(二)設(shè)計研究院:產(chǎn)品的設(shè)計者,主要工作:第一步:了解客戶所關(guān)心的東西——客戶需求點(diǎn)評:設(shè)計研究院分析客戶需求,并將需求轉(zhuǎn)化為產(chǎn)品設(shè)計,再將設(shè)計藍(lán)圖細(xì)化落實(shí)為施工圖紙。第二步:根據(jù)客戶需求進(jìn)行大樓的設(shè)計選擇合適的體系結(jié)構(gòu)(居民樓、辦公樓、教學(xué)樓)選擇合適的建筑風(fēng)格(中式、歐式、其他)進(jìn)行樓體結(jié)構(gòu)設(shè)計、外觀設(shè)計、水電氣管道設(shè)計、消防安全設(shè)計等,形成設(shè)計藍(lán)圖。第三步:根據(jù)設(shè)計藍(lán)圖,設(shè)計具體的施工圖紙。投資的規(guī)模樓層高度、建筑面積建造地址的選擇大樓的功能要求其他需求Back開篇故事——分析(二)設(shè)計研究院:產(chǎn)品的設(shè)計者,主要工作:第開篇故事——分析(三)建筑公司:根據(jù)施工圖紙和施工規(guī)范施工完成大樓的建造。施工圖紙、手冊施工規(guī)范施工工具、器械建筑材料工地搭建等點(diǎn)評:建筑公司,相當(dāng)于程序員,配置好軟硬件開發(fā)環(huán)境,根據(jù)設(shè)計圖、手冊和編碼規(guī)范,完成軟件的“建造”工作。監(jiān)理公司:負(fù)責(zé)施工工程的質(zhì)量鑒定控制和驗(yàn)收工作。Back開篇故事——分析(三)建筑公司:根據(jù)施工圖紙和施工規(guī)范施工完故事總結(jié)——建筑工程與軟件開發(fā)流程對比圖區(qū)別:Back故事總結(jié)——建筑工程與軟件開發(fā)流程對比圖區(qū)別:Back進(jìn)入正題:《軟件是這樣“煉”成的》本書作者:王朔韜——研究軟件企業(yè)開發(fā)過程改進(jìn)和軟件架構(gòu)出版社:清華大學(xué)出版社主要內(nèi)容:

從需求開發(fā)到軟件成型交付的整個軟件開發(fā)流程。全書以《投核保系統(tǒng)》為唯一案例,全程記錄了軟件開發(fā)、設(shè)計的全過程。編寫特點(diǎn):

“學(xué)院派”(注重理論)與“應(yīng)用派”(注重應(yīng)用)結(jié)合,不過分注重抽象概念的定義,結(jié)合實(shí)際案例理解為主。比如:當(dāng)一個概念不容易去弄明白是什么時,就先去弄明白它能做些什么、怎么做、他的引入帶來的好處,然后再去思考它是什么。Back進(jìn)入正題:《軟件是這樣“煉”成的》本書作者:王朔韜——研究正題:《軟件是這樣“煉”成的》內(nèi)容結(jié)構(gòu)上冊分三篇:軟件需求開發(fā)軟件架構(gòu)設(shè)計(概要設(shè)計、詳細(xì)設(shè)計)數(shù)據(jù)架構(gòu)設(shè)計兩冊六篇125章,今天只講上冊。涉及三個評審一個討論:《需求報告》評審會《概要設(shè)計》評審會《數(shù)據(jù)庫設(shè)計》評審會關(guān)于詳細(xì)設(shè)計的討論Back正題:《軟件是這樣“煉”成的》內(nèi)容結(jié)構(gòu)上冊分三篇:兩冊六篇1第一篇:軟件需求開發(fā)案例驅(qū)動:《需求分析報告》評審會1.1評審會現(xiàn)場情形知識補(bǔ)充1.2面向?qū)ο蟾拍?.3UML和繪圖工具:RationalRose、Visio、SmartDraw業(yè)務(wù)調(diào)研報告1.4業(yè)務(wù)調(diào)研方式1.5內(nèi)容結(jié)構(gòu):靜態(tài)結(jié)構(gòu)、動態(tài)結(jié)構(gòu)和非業(yè)務(wù)調(diào)研需求分析報告1.6用例規(guī)劃:用例圖、用例描述和關(guān)系分析1.7數(shù)據(jù)字典:元數(shù)據(jù)、數(shù)據(jù)元、數(shù)據(jù)集與原始表單1.8領(lǐng)域類圖:領(lǐng)域類圖、非功能需求分析1.9內(nèi)容結(jié)構(gòu):用例圖、領(lǐng)域類圖、非功能需求、數(shù)據(jù)字典Back第一篇:軟件需求開發(fā)案例驅(qū)動:《需求分析報告》評審會1.11.1《需求分析報告》評審會——第一個評審會項(xiàng)目名稱:投核保系統(tǒng)項(xiàng)目規(guī)模:大型金融項(xiàng)目產(chǎn)品經(jīng)理:在項(xiàng)目合同簽署10天就完成了《業(yè)務(wù)調(diào)研》和《需求分析

報告》的編寫參會人員:客戶代表、市場部、產(chǎn)品開發(fā)部、質(zhì)量保證部、測試部、

評審專家顧問等PPT講解:產(chǎn)品經(jīng)理開始對《需求分析報告PPT》進(jìn)行講解,前

后用了 10分鐘討論意見:PPT講解結(jié)束,大家都覺得匯報非常成功。評審專家:公司聘請的改進(jìn)公司當(dāng)前項(xiàng)目開發(fā)管理流程的顧問,向與

會的每個人提問了解情況,提出評審意見。專家評審意見:不通過為什么呢?存在的問題:需求分析報告脫離了業(yè)務(wù)調(diào)研報告,沒有業(yè)務(wù)調(diào)研報告,閉門造車憑空設(shè)想沒有實(shí)際意義。將組織機(jī)構(gòu)圖照搬為系統(tǒng)結(jié)構(gòu)圖。文檔結(jié)構(gòu)不清晰,邏輯混亂。對UML和面向?qū)ο蠓治龇椒ㄒ恢虢?,專業(yè)知識不夠。領(lǐng)域類圖抽象不完整,對領(lǐng)域類圖的理解不夠,不能為系統(tǒng)架構(gòu)過程提供任何知道沒有具體的指標(biāo),用詞含糊,無法為架構(gòu)師和測試人員提供測試標(biāo)準(zhǔn)?!粳F(xiàn)場情景】—————————點(diǎn)評:

該案例中,出現(xiàn)的問題也是很多軟件開發(fā)企業(yè)存在的問題。尤其是很多中小軟件企業(yè),不注重軟件開發(fā)前期的準(zhǔn)備工作。由于工期緊張,為了節(jié)省時間往往需求調(diào)研還不夠充分的情況下,就開始進(jìn)入了軟件設(shè)計開發(fā)階段,造成后期編碼過程中不斷翻工、修改,甚至出現(xiàn)推到重做的情況。

所謂磨刀不誤砍柴工。下面要講的內(nèi)容就是“磨刀階段”之“業(yè)務(wù)調(diào)研階段”,主要包括:面向?qū)ο蠛蚒ML等基礎(chǔ)知識、業(yè)務(wù)調(diào)研報告的結(jié)構(gòu)和編寫要求。Back1.1《需求分析報告》評審會——第一個評審會項(xiàng)目名稱:投核保1.2面向?qū)ο蟮母拍睿ㄒ唬┫到y(tǒng)分析法中最流行的方法:面向?qū)ο蠓治龇?。面向?qū)ο蟮慕UZ言:統(tǒng)一建模語言(UnifiedModelingLanguage,UML)——業(yè)界內(nèi)認(rèn)可對比較高的一種語言什么是對象?萬物皆對象!比如:一輛汽車、一個人、一張成績單、一份課程表什么是類?具有相同屬性和功能的所有對象的集合。比如:交通工具、淄博人等什么面向?qū)ο??面向?qū)ο笫且环N對現(xiàn)實(shí)世界理解和抽象的方法,是計算機(jī)編程技術(shù)

發(fā)展到一定階段后的產(chǎn)物。Back1.2面向?qū)ο蟮母拍睿ㄒ唬┫到y(tǒng)分析法中最流行的方法:面向?qū)?.2面向?qū)ο蟮母拍睿ǘ┦裁词墙涌??是一個抽象的概念,是指系統(tǒng)對外提供的所有服務(wù)。接口描述系統(tǒng)能夠提供哪些服務(wù),但不包含服務(wù)的實(shí)現(xiàn)細(xì)節(jié)。每個對象都是服務(wù)提供者,所以每個對象都有接口。類和接口的對比!類:Class!接口:Interface!類是對象的集合接口是服務(wù)的集合,沒有實(shí)現(xiàn)代碼接口一般需要某個類來支持他(實(shí)現(xiàn)它的服務(wù)細(xì)節(jié))接口的真正用途:提供一種規(guī)范。實(shí)現(xiàn)這個接口的類,實(shí)際上就是滿足了這個接口的規(guī)范。比如:世界上有1000種插頭但只有兩種插口,2孔和3孔類接口支持Back1.2面向?qū)ο蟮母拍睿ǘ┦裁词墙涌冢渴且粋€抽象的概念,是1.2面向?qū)ο蟮母拍睿ㄈ┟嫦驅(qū)ο蟮娜齻€技術(shù)!一、封裝:是一種信息隱藏技術(shù)二、繼承:是類與類之間的一種關(guān)系(父類、子類關(guān)系)三、多態(tài):是將多種不同的特殊行為進(jìn)行抽象的一種能力是指將一組數(shù)據(jù)和與這組數(shù)據(jù)有關(guān)的操作放在一起,形成一個能動的實(shí)體——對象封裝機(jī)制的目的就是將對象的使用者和設(shè)計者分開類層次反映了現(xiàn)實(shí)世界中普遍存在的一般與特殊的關(guān)系,本質(zhì)是從已有的類基礎(chǔ)上擴(kuò)充、改造得到新的類。可以修改和重寫父類中的方法。優(yōu)點(diǎn):提高軟件的重用性,便于實(shí)現(xiàn)多態(tài)性便于系統(tǒng)的擴(kuò)展使得語言具有根據(jù)對象的不同類型以不同方式處理通常要結(jié)合繼承性一起發(fā)揮作用Back1.2面向?qū)ο蟮母拍睿ㄈ┟嫦驅(qū)ο蟮娜齻€技術(shù)!一、封裝:是1.2面向?qū)ο蟮母拍睿ㄋ模┦裁词敲嫦驅(qū)ο蠓治黾夹g(shù)?面向?qū)ο蠓治龇椒ǎ∣bject-OrientedAnalysis,OOA),是在一個系統(tǒng)的開發(fā)過程中進(jìn)行系統(tǒng)業(yè)務(wù)調(diào)查以后,按照面向?qū)ο蟮乃枷雭矸治鰡栴}。建模語言:UML語言UML動態(tài)模型圖:包括交互圖、行為圖(一)交互圖:時序圖、協(xié)作圖;(二)行為圖:狀態(tài)圖、活動圖。UML靜態(tài)圖:包括類圖、用例圖、包圖、組建圖、配置圖面向?qū)ο筌浖O(shè)計一般步驟:需求分析、分析設(shè)計、編碼實(shí)現(xiàn)、測試和維護(hù)。面向?qū)ο蟮幕緶?zhǔn)則:信息隱藏:通過對象的封裝來實(shí)現(xiàn)。減少通信開銷:設(shè)計中應(yīng)做到子系統(tǒng)的各個部件之間的通信量達(dá)到最小。良好的可擴(kuò)展性:繼承和多態(tài)在程序設(shè)計中有很好的可擴(kuò)展性。高內(nèi)聚:內(nèi)聚度高的模塊很容易理解很容易被服用、擴(kuò)展和維護(hù)低耦合:使系統(tǒng)中某一部分的變化對其他部分的影響降到最低,各個系統(tǒng)模塊之間應(yīng)該相互獨(dú)立。Back1.2面向?qū)ο蟮母拍睿ㄋ模┦裁词敲嫦驅(qū)ο蠓治黾夹g(shù)?面向?qū)ο?.3UML介紹(一)UML是一種定義良好、易于表達(dá)、功能強(qiáng)大且普遍適用的建模語言,用模型來描述系統(tǒng)的靜態(tài)特征和動態(tài)特征。UML可以從不同的角度為系統(tǒng)架構(gòu)進(jìn)行建模,為不同的開發(fā)人員,形成不同的視圖。UML的組成:圖:UML中分9種(后面講)視圖:是有一個或多個圖組成的對系統(tǒng)的抽象。分5種(后面講)模型元素:包括事物和關(guān)系通用機(jī)制:包括修飾、注釋、規(guī)格說明、通用規(guī)劃和擴(kuò)展機(jī)制。圖是UML的重要組成部分所有的視圖都可以由前述的9種基本圖組成。UML圖分為靜態(tài)圖和動態(tài)圖:靜態(tài)圖主要包括:用例圖、類圖、對象圖、組件圖、部署圖。動態(tài)圖主要包括:協(xié)作圖、狀態(tài)圖、活動圖、順序圖。UML視圖分五類:用例視圖:從用戶角度來描述系統(tǒng)應(yīng)具有的功能,是對系統(tǒng)的抽象表示邏輯視圖:是從系統(tǒng)的靜態(tài)結(jié)構(gòu)和動態(tài)行為角度分析如何實(shí)現(xiàn)系統(tǒng)的功能實(shí)現(xiàn)視圖:主要供開發(fā)者使用,進(jìn)程視圖部署視圖:主要描述系統(tǒng)的部署方式UML圖:UM視圖:事物:代表一切可以定義的東西。分為:結(jié)構(gòu)事物、行為事物、分組事物2.關(guān)系:把事物聯(lián)系在一起,組成有意義的結(jié)構(gòu)。分為:關(guān)聯(lián)關(guān)系、依賴關(guān)系、泛化關(guān)系、實(shí)現(xiàn)關(guān)系、聚合關(guān)系Back1.3UML介紹(一)UML是一種定義良好、易于表用例是抽象出來的用以描述人或事物具有哪些功能的概念。需求分析中用例圖會用到。后面再講.1.3UML介紹(二)

UML關(guān)系,能夠很好的將用戶所理解的事物符號聯(lián)系起來,描述一個有意義的結(jié)構(gòu)。UML中,根據(jù)不同的視圖對關(guān)系進(jìn)行分類,但大體一致用例關(guān)系關(guān)聯(lián)關(guān)系:最直觀簡單的關(guān)系。UML中用實(shí)箭頭表示包含關(guān)系:原有類分出的幾個功能片段?;悰]有了被包含類是不完整的。用虛箭頭加《include》擴(kuò)展關(guān)系:在原有類的基礎(chǔ)上進(jìn)行功能擴(kuò)展,擴(kuò)展類具有相對的獨(dú)立性?;悰]有了擴(kuò)展類也是完整的。用虛箭頭加《extend》泛化關(guān)系:表示繼承關(guān)系,子例與父例相似,繼承父例的所有結(jié)構(gòu)、行為和關(guān)系,但表現(xiàn)出更特別的行為。用三角箭頭表示Back用例是抽象出來的用以描述人或事物具有哪些功能的概念。需求分析1.3UML介紹(三)類關(guān)系關(guān)聯(lián)關(guān)系:最一般簡單的關(guān)系。UML中用實(shí)線表示泛化關(guān)系:繼承關(guān)系,同用例關(guān)系。用空心箭頭表示實(shí)現(xiàn)關(guān)系:類與接口之間最常見的關(guān)系。用虛線空心箭頭表示依賴關(guān)系:一個對象的存在需要另外一個對象的存在。用虛線箭頭表示。用虛線箭頭表示聚合關(guān)系:整體與部分的關(guān)系,且整體與部分可分離,均具有獨(dú)立的生命周期。用實(shí)線空心菱形箭頭表示組合關(guān)系:整體與部分的關(guān)系,比聚合關(guān)系更強(qiáng),整體與部分不可分割,其中一個部分的生命結(jié)束就代表整體的結(jié)束。用實(shí)線實(shí)心菱形箭頭表示。依賴是最弱的關(guān)系。關(guān)聯(lián)、組合和聚合都是依賴關(guān)系的一種。組合和聚合關(guān)系也是關(guān)聯(lián)關(guān)系的一種。關(guān)聯(lián)、聚合、組合,關(guān)系一次增強(qiáng)!Back1.3UML介紹(三)類關(guān)系關(guān)聯(lián)關(guān)系:最一般簡單的關(guān)系。U1.3UML介紹(四)包關(guān)系包的組成:類、接口、組件、節(jié)點(diǎn)、協(xié)作、用例、圖,以及子包包:可以理解為文件夾,名稱空間。用于將元素根據(jù)語義進(jìn)行分組包的表示:UML中,包用兩個矩形來表示包的關(guān)系:引入和訪問依賴關(guān)系(可訪問其他包,前提得先引入該包。具有傳遞性)、泛化關(guān)系組件:又叫構(gòu)件,可以是一組接口。組件分類:三大類——配置組件、執(zhí)行組件、工作產(chǎn)品組件。組件關(guān)系:組件關(guān)系:組件與接口的關(guān)系(分實(shí)現(xiàn)關(guān)系、依賴關(guān)系)、組件與組件的關(guān)系(依賴關(guān)系,同類之間的依賴關(guān)系)Back1.3UML介紹(四)包關(guān)系包的組成:類、接口、組件、節(jié)點(diǎn)1.3UML介紹(五)

UML機(jī)制,就是UML繪圖時的輔助功能。UML機(jī)制包括修飾、注釋、規(guī)格說明、通用劃分和擴(kuò)展機(jī)制通用機(jī)制規(guī)格說明:描述系統(tǒng)的細(xì)節(jié)修飾:對模型元素進(jìn)行修飾,增加了模型元素的語義。比如加粗、下劃線注釋:是一種圖形符號用來限制或給一個元素加上注釋。注釋用一個帶有折角的矩形表示通用劃分:類、對象二分法,接口、實(shí)現(xiàn)二分法。擴(kuò)展機(jī)制UML擴(kuò)展機(jī)制允許使用者自定義些自己構(gòu)造型語言成分。UML擴(kuò)展機(jī)制包括:構(gòu)造型、約束、標(biāo)記值。Back1.3UML介紹(五)UML機(jī)制,就是UML繪圖時1.4業(yè)務(wù)調(diào)研方式盡量到各部門,各科室的辦公現(xiàn)場去調(diào)研,盡量不要以召集會議的方式進(jìn)行調(diào)研。盡量收齊所有業(yè)務(wù)單據(jù)、臺賬、報表、業(yè)務(wù)流程、規(guī)章制度等材料,以及相應(yīng)的電子版材料。細(xì)節(jié)研究。用戶無法面面俱到,需要我們?nèi)シ治?、理解和提問繪制業(yè)務(wù)流程圖。在業(yè)務(wù)調(diào)研結(jié)束后,及時整理業(yè)務(wù)流程圖,可以手工業(yè)務(wù)流程,現(xiàn)場請求客戶確認(rèn)。

一般是在調(diào)查問卷填寫結(jié)束和面談結(jié)束后、需要跨部門或跨職能業(yè)務(wù)流程確認(rèn)時進(jìn)行。

采用該方法的原因:專業(yè)差別、溝通困難,但可以將某些元素總結(jié)出來以問卷的形式針對性了解。

問卷調(diào)查的優(yōu)點(diǎn):能夠方便快速的獲取軟件開發(fā)所需的信息內(nèi)容(一)問卷調(diào)查(二)面談(三)組織討論Back1.4業(yè)務(wù)調(diào)研方式盡量到各部門,各科室的辦公現(xiàn)場去調(diào)研,盡1.5業(yè)務(wù)調(diào)研報告的編寫(一)業(yè)務(wù)調(diào)研整理靜態(tài)結(jié)構(gòu)整理動態(tài)結(jié)構(gòu)非業(yè)務(wù)調(diào)研文檔整理問卷調(diào)查面談方式部門崗位職責(zé)描述組織討論組織結(jié)構(gòu)圖文檔變動性調(diào)研原始表單整理業(yè)務(wù)流程圖地域性調(diào)研部門變動性調(diào)研業(yè)務(wù)流程變動性調(diào)研崗位職責(zé)變動性調(diào)研編寫流程:Back1.5業(yè)務(wù)調(diào)研報告的編寫(一)業(yè)務(wù)調(diào)研整理靜態(tài)結(jié)構(gòu)整理動態(tài)1.5業(yè)務(wù)調(diào)研報告的編寫(二)業(yè)務(wù)調(diào)研報告的靜態(tài)結(jié)構(gòu)首先繪制單位的組織結(jié)構(gòu)圖。再對部門職責(zé)進(jìn)行描述,一般采用表格形式。然后對每個崗位承擔(dān)的職責(zé)詳細(xì)描述,一般采用表格形式。最后對每個崗位職責(zé)上生成的原始資料整理,分門別類的處理。(數(shù)據(jù)字典里會用到)部門職責(zé)描述模板部門編號

部門名稱

直接上級

部門性質(zhì)

部門級別

編制人數(shù)

下屬部門

部門職能

具備條件

Back1.5業(yè)務(wù)調(diào)研報告的編寫(二)業(yè)務(wù)調(diào)研報告的靜態(tài)結(jié)構(gòu)首先繪1.5業(yè)務(wù)調(diào)研報告的編寫(三)業(yè)務(wù)調(diào)研報告的動態(tài)結(jié)構(gòu)即業(yè)務(wù)流程圖,采用泳道圖的方式繪制,再對各運(yùn)行節(jié)點(diǎn)用表格進(jìn)行描述。業(yè)務(wù)流程圖:是物理模型。描述的是組織內(nèi)各單位、人員之間的業(yè)務(wù)關(guān)系、工作順序、業(yè)務(wù)信息流向圖表。。用途:幫助系統(tǒng)分析人員找出不合理的流。分類:頂層業(yè)務(wù)流程圖、底層業(yè)務(wù)流程圖。運(yùn)行節(jié)點(diǎn)描述模板運(yùn)行節(jié)點(diǎn)名稱辦理部門辦理部門

辦理人及職務(wù)

辦理時限

業(yè)務(wù)描述

下個運(yùn)行節(jié)點(diǎn)是否需要跳轉(zhuǎn)

跳轉(zhuǎn)到第幾步

跳轉(zhuǎn)條件

本環(huán)節(jié)所需材料

需要打印的材料

產(chǎn)生的相關(guān)文書

本環(huán)節(jié)提交材料及份數(shù)(份數(shù)必須填)

相關(guān)操作

填寫審批表的對應(yīng)內(nèi)容

是否需要?dú)v史數(shù)據(jù)對比

備注

序號關(guān)聯(lián)部門名稱與相關(guān)審批項(xiàng)目上游部門還是下游部門1

2

泳道式業(yè)務(wù)流程圖Back1.5業(yè)務(wù)調(diào)研報告的編寫(三)業(yè)務(wù)調(diào)研報告的動態(tài)結(jié)構(gòu)即業(yè)務(wù)1.5業(yè)務(wù)調(diào)研報告的編寫(四)非業(yè)務(wù)調(diào)研非業(yè)務(wù)調(diào)研其實(shí)就是在企業(yè)現(xiàn)有業(yè)務(wù)運(yùn)行的基礎(chǔ)上,需要對客戶進(jìn)行進(jìn)一步溝通,了解客戶在業(yè)務(wù)范圍之外的一些特殊情況??蛻粝到y(tǒng)的運(yùn)行地域性變動部門變動性:單位內(nèi)部部門的組織結(jié)調(diào)整的頻繁程度業(yè)務(wù)流程變化性:組織結(jié)構(gòu)內(nèi)部對業(yè)務(wù)流程調(diào)整的頻度崗位職責(zé)的變動性:某些崗位的工作職責(zé)的變化頻率問題文件資料的變動性:文檔的變化頻度,比如文檔格式、文檔數(shù)據(jù)項(xiàng)、文檔的使用者非業(yè)務(wù)調(diào)研是需求分析中非功能性功能需求的基礎(chǔ)!Back1.5業(yè)務(wù)調(diào)研報告的編寫(四)非業(yè)務(wù)調(diào)研非業(yè)務(wù)調(diào)研其實(shí)就是1.5業(yè)務(wù)調(diào)研報告的編寫(五)業(yè)務(wù)調(diào)研報告內(nèi)容格式目標(biāo)組織結(jié)構(gòu)(一)組織結(jié)構(gòu)圖(二)部門職責(zé)描述(三)崗位職責(zé)分析目標(biāo)流程設(shè)計(一)分層說明(二)一層業(yè)務(wù)流程圖:泳道圖、運(yùn)行節(jié)點(diǎn)描述(三)底層業(yè)務(wù)流程圖:泳道圖、運(yùn)行節(jié)點(diǎn)描述表單資料整理(一)需要整理的格式文件(二)不需要整理的格式文件(三)不惜要整理的圖像文件現(xiàn)行系統(tǒng)狀況

當(dāng)前系統(tǒng)建設(shè)情況、存在的問題、可重復(fù)利用的資源等,以便在此基礎(chǔ)上進(jìn)行系統(tǒng)建設(shè)。非業(yè)務(wù)分析(一)地域性調(diào)研:城市分布、辦公區(qū)域分布、物理地址分布等(二)部門變動調(diào)研:比如新部門的增加(三)業(yè)務(wù)流程變動性調(diào)研:(四)崗位職責(zé)變化性調(diào)研:(五)文檔變化性調(diào)研:特別期許(一)為了適應(yīng)客戶工作過程流程的靈活變化,要求系統(tǒng)至少能夠?qū)崿F(xiàn)業(yè)務(wù)流程定制工作。(二)無紙化辦公,除簽字部分。(三)自動化程度高,系統(tǒng)自動實(shí)現(xiàn)一些功能,并給出,比如,初審意見。(四)工作角色變化靈活化。為適應(yīng)工作人員職責(zé)的靈活變化,系統(tǒng)能夠根據(jù)不同的角色分配系統(tǒng)功能。(五)數(shù)據(jù)訪問權(quán)限設(shè)置,不同職級的人員查血的信息不同Back1.5業(yè)務(wù)調(diào)研報告的編寫(五)業(yè)務(wù)調(diào)研報告內(nèi)容格式目標(biāo)組織業(yè)務(wù)調(diào)研報告——小結(jié)回想本篇驅(qū)動案例中存在的問題。UML基礎(chǔ)知識的了解和一份內(nèi)容完整、結(jié)構(gòu)清晰的《業(yè)務(wù)調(diào)研報告》,解決了案例中第1、第2和第4條問題。《業(yè)務(wù)調(diào)研報告》的編寫,是為了給《需求分析報告》編寫依據(jù)。《需求分析報告》不能脫離《業(yè)務(wù)調(diào)研報告》。那么如何從《業(yè)務(wù)調(diào)研報告》中挖掘需求,形成《需求分析報告》呢?Back業(yè)務(wù)調(diào)研報告——小結(jié)回想本篇驅(qū)動案例中存在的問題。Back1.6用例規(guī)劃——需求分析最基礎(chǔ)部分什么是用例?用例是系統(tǒng)給外部提供的可視化的功能單元。代表的一個外部功能塊,不考慮內(nèi)部實(shí)現(xiàn)過程UML表示:橢圓,下方標(biāo)注用例名稱用途:從外部看系統(tǒng)該有的功能,將客戶的想法用更加容易理解的圖形化樣式展現(xiàn)出來。來源:《業(yè)務(wù)調(diào)研報告》。抽取自關(guān)鍵業(yè)務(wù)中的動詞或動詞詞組。前面“用例關(guān)系”中提到過用例具有參與者,是與用例有來往的人或事物,是系統(tǒng)的外部實(shí)體。用例的參與者UML表示:用人形圖標(biāo)表示,下方為參與者名稱用途:一個系統(tǒng)中必然有參與者,否則系統(tǒng)沒有任何存在意義參與者與用例連接在一起,表示兩者之間有信息交互參與者的存在是為了執(zhí)行用例的參與者之間的關(guān)系類似于類關(guān)系。最常見的就是泛化關(guān)系——繼承關(guān)系。Back1.6用例規(guī)劃——需求分析最基礎(chǔ)部分什么是用例?用例是系統(tǒng)什么是用例圖?用例圖是業(yè)務(wù)調(diào)研后,最先用來跟用戶交流討論的UML圖用途:從外部看系統(tǒng)該有的功能,將客戶的想法用更加容易理解的圖形化樣式展現(xiàn)出來。來源:《業(yè)務(wù)調(diào)研報告》,抽取自關(guān)鍵業(yè)務(wù)中的動詞或動詞詞組。1.6用例規(guī)劃——用例圖組成:參與者、用例、用例間的關(guān)系用例描述用例圖僅僅是文字說明的補(bǔ)充,需要結(jié)合用例描述來完成。用例描述往往會被一些系統(tǒng)分析員所忽略。用例描述投保書錄入用例描述用例名稱投保書錄入用例編號301創(chuàng)建人黃飛虎創(chuàng)建時間2011年5月22日更新人黃飛虎更新時間2011年6月22日簡要說明投保時錄入用例主要是將投保書相關(guān)資料,包括基本信息、投保項(xiàng)、投被保險人健康告知,投被保險人財務(wù)告知等。錄單員錄入的資料來源于掃描是已經(jīng)完成的頭望書圖像文件。錄入成功后放可進(jìn)入下個環(huán)節(jié)核保環(huán)節(jié)……假設(shè)前提條件投保書已經(jīng)掃描并保存正確的投保書圖像文件

事后條件進(jìn)入核保環(huán)節(jié)優(yōu)先級高使用頻率隨時事件流主事件流1.錄單員登錄成功2.系統(tǒng)檢索已經(jīng)成功掃描而未完成錄入的投保書3.系統(tǒng)員選擇要錄入的投保書,系統(tǒng)顯示投保書圖像4.錄單員根據(jù)圖像文件,錄入相應(yīng)數(shù)據(jù)

4.1如果系統(tǒng)運(yùn)行錯誤,按照異常處理第一條處理

4.2如果發(fā)現(xiàn)輸入規(guī)則性錯誤,按異常第二條處理

4.3如果投保書要修改且要客戶確認(rèn),啟動問題件編寫事件流5.成功保存,返回列表界面異常1.系統(tǒng)提示有異常,返回列表界面,并將數(shù)據(jù)庫歸為輸入前原始狀態(tài)。2.系統(tǒng)提示數(shù)據(jù)不符合業(yè)務(wù)規(guī)則,輕確認(rèn)后重新輸入。問題件編寫其他事件流1.錄單員選擇問題件編寫功能2.選擇是否需要回執(zhí)3.選擇回執(zhí)期限4.啟動問題件編寫用例5.先寫成功后返回到事件流第5條

Back什么是用例圖?用例圖是業(yè)務(wù)調(diào)研后,最先用來跟用戶交流討論的U1.6用例規(guī)劃——從業(yè)務(wù)流程中歸納用例將業(yè)務(wù)流程圖中所有節(jié)點(diǎn)按屬性歸類,形成《運(yùn)行節(jié)點(diǎn)分析表》軟件系統(tǒng)的可替代性業(yè)務(wù)復(fù)雜度是否具有共享性關(guān)鍵業(yè)務(wù)優(yōu)先等級根據(jù)節(jié)點(diǎn)創(chuàng)建用例,再將用例拆分,形成《用例拆分表》選擇粗略的用例拆分成若干子用例說明拆分理由和子用例的功能用例補(bǔ)充,形成《用例補(bǔ)充表》業(yè)務(wù)流程中無相應(yīng)節(jié)點(diǎn)創(chuàng)建用例用戶有必須該節(jié)點(diǎn)才能滿足用戶需要系統(tǒng)分析員需要做用例補(bǔ)充。補(bǔ)充理由、功能描述將上述三個表整合,形成《用例匯總表》,內(nèi)容包括:需求歸類用例來源優(yōu)先等級關(guān)聯(lián)部門為所有用例尋找參與者,形成《用例參與者關(guān)系表》無參與者的用例為無效用例關(guān)系就是參與者如何與用例交互時的操作對不重要用例進(jìn)行刪減的最終結(jié)果,建立《系統(tǒng)用例最終確認(rèn)表》遵循高優(yōu)先級原則,刪除低優(yōu)先級用例不是所有的用例都要實(shí)現(xiàn),這要根據(jù)用戶的投資規(guī)模、商業(yè)目標(biāo)、企業(yè)管理模式來確定。根據(jù)業(yè)務(wù)調(diào)研分析報告中的特別期許,建立《特別期許用例表》主要根據(jù)非業(yè)務(wù)調(diào)研的內(nèi)容來確定有時需要與用戶洽談、增加投資來實(shí)現(xiàn)其中的功能運(yùn)行節(jié)點(diǎn)分析表運(yùn)行節(jié)點(diǎn)名稱替代性復(fù)雜度共享性優(yōu)先級可行性投保建檔是復(fù)雜有高是整理編號否簡單五第否掃描是復(fù)雜有高是

用例拆分表用例名稱子用例名稱拆分理由功能描述投保建檔合法性校驗(yàn)需獨(dú)立處理對投保書合法性校驗(yàn)基本信息錄入需獨(dú)立處理

轉(zhuǎn)賬授權(quán)錄入需獨(dú)立處理

身份證件校驗(yàn)需公安系統(tǒng)處理對身份證號碼校驗(yàn)銀行賬戶校驗(yàn)需銀行系統(tǒng)處理對銀行賬號校驗(yàn)用例補(bǔ)充表用例名稱補(bǔ)充理由功能描述業(yè)務(wù)員信息維護(hù)便于對業(yè)務(wù)工作業(yè)績統(tǒng)計分析包括業(yè)務(wù)員信息的增刪改查

用例匯總表用例名稱需求歸類來源優(yōu)先級關(guān)聯(lián)部門投保建檔功能需求業(yè)務(wù)分析高柜員運(yùn)營保險產(chǎn)品維護(hù)功能需求補(bǔ)充需求中錄入室用例參與者關(guān)系表

柜員初審員檔案室核保員系統(tǒng)管理投保建檔增加查詢查詢查詢刪除修改掃描

錄入查詢查詢刪除修改用例確認(rèn)表柜員業(yè)務(wù)部分

柜員初審員檔案室核保員系統(tǒng)管理投保建檔增加查詢查詢查詢刪除修改掃描

錄入查詢查詢刪除修改掃描室業(yè)務(wù)部分

柜員初審員檔案室核保員系統(tǒng)管理掃描

掃描統(tǒng)計

核保業(yè)務(wù)部分

柜員初審員檔案室核保員系統(tǒng)管理回執(zhí)單錄入

錄入統(tǒng)計

特別期許用例表用例名稱需求歸類來源優(yōu)先級關(guān)聯(lián)部門元數(shù)據(jù)設(shè)計功能需求業(yè)務(wù)分析高系統(tǒng)管理用戶權(quán)限分配功能需求業(yè)務(wù)分析高系統(tǒng)管理Back1.6用例規(guī)劃——從業(yè)務(wù)流程中歸納用例將業(yè)務(wù)流程圖中所有節(jié)1.7數(shù)據(jù)字典——需求分析中最易被忽略的部分什么是數(shù)據(jù)字典?數(shù)據(jù)字典是一個定義應(yīng)用程序中使用的所有數(shù)據(jù)元素和結(jié)構(gòu)的含義、類型、數(shù)據(jù)大小、格式、度量單位、精度以及允許取值范圍的共享倉庫數(shù)據(jù)字典是需求分析報告的重要組成部分?jǐn)?shù)據(jù)字典的維護(hù),一般獨(dú)立于軟件需求規(guī)格說明數(shù)據(jù)字典確保了數(shù)據(jù)在整個開發(fā)過程中的唯一性,指導(dǎo)系統(tǒng)架構(gòu)師、數(shù)據(jù)架構(gòu)師、程序員等完成架構(gòu)和實(shí)施等工作與數(shù)據(jù)字典有關(guān)的概念:元數(shù)據(jù):關(guān)于數(shù)據(jù)的數(shù)據(jù)。元數(shù)據(jù)引領(lǐng)好數(shù)據(jù)數(shù)據(jù)元:對象類與其某種特性構(gòu)成的數(shù)據(jù)表示,可以對應(yīng)多個意思。如人和年齡,構(gòu)成數(shù)據(jù)元“人的年齡”。數(shù)據(jù)集:為特定的目的而收集的、具有特定主體的一組數(shù)據(jù),是若干數(shù)據(jù)元的集合體。如姓名完全表示有姓名、昵稱、化名、筆名、中文名、外文名、曾用名、曾用名使用時間等。這里所講的數(shù)據(jù)字典與數(shù)據(jù)庫設(shè)計中的數(shù)據(jù)字典概念要大。它是為所有的開發(fā)人員服務(wù)的,包括為數(shù)據(jù)庫設(shè)計提供服務(wù)Back1.7數(shù)據(jù)字典——需求分析中最易被忽略的部分什么是數(shù)據(jù)字典1.7數(shù)據(jù)字典——解讀業(yè)務(wù)調(diào)研,編寫數(shù)據(jù)字典解讀業(yè)務(wù)調(diào)研報告《業(yè)務(wù)調(diào)研報告》是系統(tǒng)分析和設(shè)計的唯一入口,不能脫離它編寫數(shù)據(jù)字典用例規(guī)劃,是根據(jù)業(yè)務(wù)調(diào)研報告中的業(yè)務(wù)流程圖解讀出來的而數(shù)據(jù)字典,是從業(yè)務(wù)碉堡恭的原始表單中整理出來的分析用例與原始表單關(guān)系,檢查用例匯總是否有遺漏的原始表單,如有遺漏及時補(bǔ)充。建立《原始表單整理表》編寫數(shù)據(jù)字典的編寫規(guī)范,包括數(shù)據(jù)命名規(guī)范、數(shù)據(jù)集編號規(guī)范、數(shù)據(jù)項(xiàng)命名規(guī)范、數(shù)據(jù)項(xiàng)英文命名規(guī)范等,建立《系統(tǒng)數(shù)據(jù)字典編寫規(guī)范》對應(yīng)原始表單,建立《系統(tǒng)數(shù)據(jù)集確認(rèn)表》對應(yīng)數(shù)據(jù)集,對數(shù)據(jù)項(xiàng)進(jìn)行歸類整理,建立《數(shù)據(jù)集數(shù)據(jù)項(xiàng)列表》為所有數(shù)據(jù)項(xiàng)建立字典說明其定義、數(shù)據(jù)類型、標(biāo)識符等。將所有的輸將解釋說明編排整理匯總,完成數(shù)據(jù)字典數(shù)據(jù)庫的創(chuàng)建。原始表單整理表用例名稱用例類型表單名稱表單來源投保建檔業(yè)務(wù)需求投保書業(yè)務(wù)員信息原始表單投保產(chǎn)品基本信息原始表單保險產(chǎn)品費(fèi)率原始表單投保書基本信息原始表單投保書操作日志原始表單投保項(xiàng)部分原始表單轉(zhuǎn)賬授權(quán)數(shù)據(jù)原始表單掃描業(yè)務(wù)需求掃描圖像需求補(bǔ)充掃描登記需求補(bǔ)充問題件數(shù)據(jù)需求補(bǔ)充問題操作日志需求補(bǔ)充投保書操作日志需求補(bǔ)充數(shù)據(jù)集確認(rèn)表序號數(shù)據(jù)集名稱數(shù)據(jù)集英文名稱備注001投保書業(yè)務(wù)員信息數(shù)據(jù)集SalesInProposal

002繳費(fèi)和領(lǐng)取數(shù)據(jù)集ContributionsAndReceive

003體檢函數(shù)據(jù)集MedicalLetter

數(shù)據(jù)集數(shù)據(jù)項(xiàng)列表投保書業(yè)務(wù)員信息數(shù)據(jù)集標(biāo)識符中文名稱英文名稱備注IN001投保書編號ProposalNumber

EM001業(yè)務(wù)員編號JobID

EM002業(yè)務(wù)員姓名ClerkName

EM003業(yè)務(wù)員部組MinistryOfGroupSales

數(shù)據(jù)項(xiàng)字典IN001投保書編號標(biāo)識符IN001中文名稱投保書編號英文名稱ProposalNumber簡稱投保書編號定義是針對每張投保書編寫的號碼數(shù)據(jù)類型字符串同義名詞投保單編號元數(shù)據(jù)類型元數(shù)據(jù)計量單位元值域25位Back1.7數(shù)據(jù)字典——解讀業(yè)務(wù)調(diào)研,編寫數(shù)據(jù)字典解讀業(yè)務(wù)調(diào)研報1.8領(lǐng)域類圖——描述的是系統(tǒng)中的操作對象什么是領(lǐng)域類?用例是系統(tǒng)的外部功能數(shù)據(jù)字典是對系統(tǒng)中的數(shù)據(jù)類型的描述領(lǐng)域類是用例這個系統(tǒng)功能的操作對象。領(lǐng)域模型來自業(yè)務(wù)描述中的名詞以及對名詞的抽象領(lǐng)域模型是一個分析模型,是幫助分析人員、用戶認(rèn)識現(xiàn)實(shí)業(yè)務(wù)的工具,是需求分析的產(chǎn)物,描述的是業(yè)務(wù)中涉及的實(shí)體及其相互之間的關(guān)系領(lǐng)域類包括三大要素:領(lǐng)域類的名稱、具有的屬性、對這些屬性的操作表示:三格矩形圖領(lǐng)域類圖的可見性(封裝屬性):分四種,private、public、protected、PackageBack1.8領(lǐng)域類圖——描述的是系統(tǒng)中的操作對象什么是領(lǐng)域類?用1.8領(lǐng)域類圖——領(lǐng)域類圖設(shè)計領(lǐng)域類圖的設(shè)計原則1.獨(dú)立于實(shí)現(xiàn)類原則;2.弱關(guān)聯(lián)原則;3.服務(wù)需求原則;4.數(shù)據(jù)結(jié)構(gòu)無關(guān)原則第一步:提取領(lǐng)域類圖整理原始表單:將原始文檔表單和用例進(jìn)行匹配,建立《用例與文檔關(guān)系表》。將有效匹配的文檔資料初選為系統(tǒng)中的類。補(bǔ)充類圖:為保證數(shù)據(jù)的完整性和安全性需要添加其他的功能和用例,所以應(yīng)該補(bǔ)充一些類圖。這些就是類的雛形。類圖分割:為了設(shè)計上的方便,往往需要對類進(jìn)行進(jìn)一步分割,進(jìn)行分析設(shè)計。領(lǐng)域類的操作一般以用例為單位,所以結(jié)合用例和領(lǐng)域類進(jìn)行操作對比,建立《類操作對比圖》然后形成《類初選表》最后結(jié)合數(shù)據(jù)字典設(shè)計,建立《領(lǐng)域類圖確認(rèn)表》從業(yè)務(wù)調(diào)研報告中,挖掘領(lǐng)域類圖第二步:為所有領(lǐng)域類,添加操作;然后為各領(lǐng)域類畫領(lǐng)域類圖。Back1.8領(lǐng)域類圖——領(lǐng)域類圖設(shè)計領(lǐng)域類圖的設(shè)計原則1.獨(dú)立于1.8關(guān)于非功能需求分析什么是非功能需求?非功能需求是指對系統(tǒng)提供的服務(wù)或功能的約束。系統(tǒng)分析員經(jīng)常會忽略掉。非功能需求不像功能需求那么直觀和容易理解,比較的抽象,但確實(shí)非常重要。因?yàn)樗怯绊戃浖男阅芎涂捎眯缘年P(guān)鍵所在。非功能需求關(guān)心的是整個系統(tǒng)的特性,比功能需求更關(guān)鍵。功能需求沒有實(shí)現(xiàn)可能只是降低了系統(tǒng)的可用性;功能性約束沒有滿足,可能就會導(dǎo)致系統(tǒng)無法使用非功能需求的內(nèi)容范圍有:物理需求、實(shí)施需求、設(shè)計約束、可支持性、接口需求、可用性、性能、可靠性等Back采取調(diào)查問卷的方式讓客戶回答,建立《客戶非功能需求調(diào)查問卷》,包括需求名稱、關(guān)鍵指標(biāo)、是否理解含義、具體要求等。如何獲取用戶的非功能需求?將不同的用戶進(jìn)行分類,針對不同的用戶設(shè)計不同的調(diào)研內(nèi)容,建立《客戶非功能需求調(diào)研指標(biāo)》包括客戶姓名、部門、職位、關(guān)注指標(biāo)等非功能需求分析的主要內(nèi)容:(一)物理需求分析:是指軟件運(yùn)行的硬件環(huán)境要求比如:業(yè)務(wù)應(yīng)用服務(wù)器,Web應(yīng)用服務(wù)器,數(shù)據(jù)庫服務(wù)器(二)實(shí)施需求分析:是指開發(fā)過程中,需要的實(shí)施環(huán)境和設(shè)施。比如:運(yùn)行平臺(操作系統(tǒng)),數(shù)據(jù)庫工具,開發(fā)語言和工具,建模工具,繪圖工具,測試工具等(三)易用性需求分析:涉及到美工和界面,人機(jī)工程,交互式設(shè)計,心理學(xué),用戶行為模式等方面。主要有三個原則:易見、易學(xué)、易用。(四)性能需求分析:如響應(yīng)時間,用戶數(shù)(吞吐量)(五)可靠性需求分析比如:應(yīng)用服務(wù)器故障問題,數(shù)據(jù)庫故障問題1.8關(guān)于非功能需求分析什么是非功能需求?非功能需求是指對1.9需求分析報告——項(xiàng)目的憲法需求分析報告需求分析報告是業(yè)務(wù)調(diào)研報告或可行性分析報告后的重要文檔,相當(dāng)于項(xiàng)目的憲法需求分析報告是客戶合同的一部分,主要任務(wù)是描述系統(tǒng)要做什么,而不關(guān)心如何做。需求分析報告評審等級是項(xiàng)目評審中最高高級別的評審,參與人數(shù)也是最廣的需求分析報告的基本依據(jù)是業(yè)務(wù)調(diào)研報告。有事還在此基礎(chǔ)上進(jìn)一步擴(kuò)展,然后與客戶溝通,討論大家一致可接受的需求Back需求分析報告編寫中,嚴(yán)禁使用形容詞等描述性語言進(jìn)行系統(tǒng)描述,特別是性能需求的分析方面,必須是可測試的數(shù)量詞準(zhǔn)確說明1.9需求分析報告——項(xiàng)目的憲法需求分析報告需求分析報告是1.9需求分析報告——包含哪些內(nèi)容需求分析一般包含哪些內(nèi)容?項(xiàng)目風(fēng)險分析產(chǎn)品范圍產(chǎn)品功能Back用戶類型和特征運(yùn)行環(huán)境假設(shè)和設(shè)計約束用戶界面需求硬件接口軟件接口通信接口系統(tǒng)功能需求系統(tǒng)非功能需求數(shù)據(jù)字典定義詞匯表等前面我們學(xué)了用例圖、領(lǐng)域類圖、數(shù)據(jù)字典。就可以用在需求分析報告中。系統(tǒng)功能需求,一般采用用例和領(lǐng)域類圖來描述說明數(shù)據(jù)描述數(shù)據(jù)描述一般采用領(lǐng)域類圖結(jié)合數(shù)據(jù)字典來說明1.9需求分析報告——包含哪些內(nèi)容需求分析一般包含哪些內(nèi)容1.9需求分析報告——報告的編寫可以分為六部分:Back1.9需求分析報告——報告的編寫可以分為六部分:Back第一篇:軟件需求開發(fā)(小結(jié))《業(yè)務(wù)調(diào)研報告》是需求開發(fā)的基礎(chǔ),也是一整個項(xiàng)目開發(fā)的基礎(chǔ)需求調(diào)研中的靜態(tài)結(jié)構(gòu):公司有哪些部門、部門有哪些崗位、崗位與哪些職責(zé)、職責(zé)需要完成的文檔資料需求調(diào)研的動態(tài)結(jié)構(gòu):業(yè)務(wù)流程圖(泳道圖)分兩層,頂層業(yè)務(wù)流程圖和底層業(yè)務(wù)流程圖對客戶原始表格資料整理,保證數(shù)據(jù)的準(zhǔn)確性,為后期編寫數(shù)據(jù)字典提供依據(jù)。解讀業(yè)務(wù)調(diào)研報告,完成用例規(guī)劃、完成用例描述、完成領(lǐng)域類圖設(shè)計。所有的需求開發(fā)圖都來自于對業(yè)務(wù)調(diào)研報告的準(zhǔn)確理解之上。Back第一篇:軟件需求開發(fā)(小結(jié))《業(yè)務(wù)調(diào)研報告》是需求開發(fā)的基礎(chǔ)第二篇:軟件架構(gòu)設(shè)計案例驅(qū)動:《概要設(shè)計文檔》評審會2.1評審會現(xiàn)場情形基本概念2.2軟件架構(gòu)2.3體系結(jié)構(gòu)、架構(gòu)模式、設(shè)計模式、軟件框架概要設(shè)計中的必須的幾個圖2.4時序圖2.5活動圖2.6狀態(tài)圖2.7包圖2.8組件圖2.9配置圖軟件架構(gòu)設(shè)計2.10體系結(jié)構(gòu)風(fēng)格選擇2.11分層設(shè)計:表示層、控制層、業(yè)務(wù)邏輯層2.12設(shè)計模式與框架選擇2.13異常體系設(shè)計《概要設(shè)計文檔》的編寫2.14概要設(shè)計說明書編寫說明2.概要設(shè)計說明書內(nèi)容格式Back第二篇:軟件架構(gòu)設(shè)計案例驅(qū)動:《概要設(shè)計文檔》評審會2.12.1《概要設(shè)計文檔》評審會——第二個評審會項(xiàng)目名稱:仍然是投核保系統(tǒng)項(xiàng)目規(guī)模:屬于大型金融項(xiàng)目軟件架構(gòu)師:總結(jié)了上次需求開發(fā)的經(jīng)驗(yàn),這次架構(gòu)設(shè)計報告評審編

寫比較仔細(xì),在正式會議之前項(xiàng)目組內(nèi)已經(jīng)進(jìn)行了預(yù)先評

審,項(xiàng)目組各成員都填寫了評審意見小組成員意見:18人填寫了評審意見表,12人表示沒有意見各人觀點(diǎn):測試經(jīng)理認(rèn)為架構(gòu)設(shè)計對他們無關(guān)緊要;編程人員覺得概

要設(shè)計的文檔與他們無關(guān),認(rèn)為詳細(xì)設(shè)計文檔做的太細(xì)致影

響程序員的自由發(fā)揮,還要拿出大量的時間去編寫文檔,浪

費(fèi)時間,影響進(jìn)度。評審專家:評審專家認(rèn)真聽取了每個人的意見后,開始看小組提交的

《概要設(shè)計說明書》。專家評審意見:還是不通過為什么呢?存在的問題:文檔結(jié)構(gòu)不合理內(nèi)容不夠全面對軟件架構(gòu)的基本知識缺少了解。UML五視圖不全面、不規(guī)范?!粳F(xiàn)場情景】—————————點(diǎn)評:

評審沒有通過的最根本原因是,缺少對軟件架構(gòu)知識的了解。小組成員對犯了“短視”毛病,對軟件架構(gòu)設(shè)計不夠重視。Back2.1《概要設(shè)計文檔》評審會——第二個評審會項(xiàng)目名稱:仍然是2.2軟件架構(gòu)什么是軟件架構(gòu)?軟件架構(gòu)(softwarearchitecture)是一系列相關(guān)的抽象模式,用于指導(dǎo)大型軟件系統(tǒng)各個方面的設(shè)計。軟件架構(gòu)是一個系統(tǒng)的草圖。軟件架構(gòu)描述的對象是直接構(gòu)成系統(tǒng)的抽象組件邏輯架構(gòu):主要任務(wù)是描述軟件系統(tǒng)中元件之間的關(guān)系,比如用戶界面,數(shù)據(jù),外部接口等相關(guān)概念。物理架構(gòu):就是描述軟件系統(tǒng)中元件是怎樣放在硬件上的系統(tǒng)架構(gòu):系統(tǒng)的非功能性特征,如可擴(kuò)展性、可靠性、強(qiáng)壯性、靈活性、性能。系統(tǒng)架構(gòu)要求難度大于其他架構(gòu),對軟件架構(gòu)師本身技術(shù)要求非常高。架構(gòu)由許多不同的架構(gòu)視圖來表示。這些視圖本質(zhì)上是以圖形方式來摘要說明,主要包括:用例視圖、邏輯視圖、實(shí)施視圖、進(jìn)程視圖、配置視圖架構(gòu)的種類?架構(gòu)有哪些視圖?Back2.2軟件架構(gòu)什么是軟件架構(gòu)?軟件架構(gòu)(software2.2軟件架構(gòu)——軟件重用什么是軟件重用軟件重用就是指在多次不同的軟件開發(fā)過程中重復(fù)使用相同或相近軟件元素的過程。包括程序代碼、測試用例。設(shè)計文檔、設(shè)計過程、需求分析文檔等??煽啃?安全性:可伸縮性:軟件必須能夠在用戶的使用率、用戶的數(shù)目增加很快的情況下,保持合理的性能。只有這樣,才能適應(yīng)用戶的市場擴(kuò)展得可能性??啥ㄖ苹?同樣的一套軟件,可根據(jù)客戶群的不同和市場需求的變化進(jìn)行調(diào)整??蓴U(kuò)展性:在新技術(shù)出現(xiàn)的時候,一個軟件系統(tǒng)應(yīng)當(dāng)允許導(dǎo)入新技術(shù),從而對現(xiàn)有系統(tǒng)進(jìn)行功能和性能的擴(kuò)展。可維護(hù)性:一是排除現(xiàn)有的錯誤,二是將新的軟件需求反映到現(xiàn)有系統(tǒng)中去。客戶體驗(yàn):軟件系統(tǒng)必須易于使用。市場時機(jī):軟件用戶要面臨同業(yè)競爭,軟件提供商也要面臨同業(yè)競爭。以最快的速度爭奪市場先機(jī)非常重要。架構(gòu)設(shè)計的目標(biāo)是什么?軟件架構(gòu)構(gòu)建的就是語意完整、語法正確、有可重用價值的單位軟件。Back2.2軟件架構(gòu)——軟件重用什么是軟件重用軟件重用就是指在2.3體系結(jié)構(gòu)、設(shè)計模式、軟件框架——體系結(jié)構(gòu)什么是體系結(jié)構(gòu)?軟件體系結(jié)構(gòu)是具有一定形式的結(jié)構(gòu)化元素,即構(gòu)件的集合。包括處理構(gòu)件、數(shù)據(jù)構(gòu)件、連接構(gòu)件。是架構(gòu)設(shè)計的內(nèi)容,且易于被絕大多數(shù)人所理解。處理構(gòu)件:負(fù)責(zé)對數(shù)據(jù)進(jìn)行加工數(shù)據(jù)構(gòu)件:是被加工的信息連接構(gòu)件:把體系結(jié)構(gòu)的不同組件連接起來體系結(jié)構(gòu)在開發(fā)過程中的重要作用?軟件體系結(jié)構(gòu)是構(gòu)建軟件大廈的藍(lán)圖。軟件體系結(jié)構(gòu)有很多種,不同的體系結(jié)構(gòu),構(gòu)件不同風(fēng)格的軟件。一定要選擇合適的體系結(jié)構(gòu),就像居民樓的藍(lán)圖不能用來建造學(xué)校宿舍一樣。軟件體系結(jié)構(gòu)建模的目標(biāo):可重用性。使用軟件重用技術(shù)可以減少軟件開發(fā)過程中大量的重復(fù)性工作,提高軟件的生產(chǎn)效率,降低開發(fā)成本,縮短開發(fā)周期。Back2.3體系結(jié)構(gòu)、設(shè)計模式、軟件框架——體系結(jié)構(gòu)什么是體系2.3體系結(jié)構(gòu)、設(shè)計模式、軟件框架——設(shè)計模式什么是架構(gòu)模式?架構(gòu)模式也叫架構(gòu)風(fēng)格,描述軟件系統(tǒng)里的基本的結(jié)構(gòu)組織或綱要。架構(gòu)模式提供一些預(yù)先定義好的子系統(tǒng),指定他們的責(zé)任,并給出把他們組織在一起的法則和指南。常見架構(gòu)模式有:C/S結(jié)構(gòu)、B/S結(jié)構(gòu)。什么是設(shè)計模式?設(shè)計模式是一套被反復(fù)使用、多數(shù)人所知曉的、經(jīng)過分類編目的、代碼設(shè)計經(jīng)驗(yàn)的總結(jié)使用設(shè)計模式是為了可重用代碼,讓代碼更容易被他人理解,保證代碼的可靠性。設(shè)計模式是代碼真正工程化設(shè)計模式是軟件工程的基石。設(shè)計模式和體系結(jié)構(gòu)的關(guān)系:體系結(jié)構(gòu)是設(shè)計模式實(shí)現(xiàn)的指導(dǎo)思想。設(shè)計模式研究的是一個設(shè)計問題具體的解決方法一個體系是一種或多種設(shè)計模式和代碼的混合體。Back2.3體系結(jié)構(gòu)、設(shè)計模式、軟件框架——設(shè)計模式什么是架構(gòu)2.3體系結(jié)構(gòu)、設(shè)計模式、軟件框架——軟件框架什么是軟件框架?軟件框架是一種半成品,是項(xiàng)目軟件開發(fā)過程中提取特定領(lǐng)域軟件的共性部分形成的體系結(jié)構(gòu)框架的作用是什么?框架由于提取了特定領(lǐng)域軟件的共性部分,所以在此領(lǐng)域內(nèi)新項(xiàng)目的開發(fā)過程中代碼不需要從頭編寫,秩序在此框架的基礎(chǔ)上進(jìn)行二次開發(fā)和調(diào)整就能滿足要求。這樣可以提高軟件的質(zhì)量、降低成本、縮短開發(fā)時間,使開發(fā)越做越輕松,軟件效益越做越好,形成一個良性循環(huán)。框架和平臺是一回事嗎?框架是一種半成品,需要開發(fā)人員二次開發(fā)實(shí)現(xiàn)具體的功能。平臺的概念比較寬泛,可以是一種操作系統(tǒng)、一種應(yīng)用服務(wù)器、一種數(shù)據(jù)庫軟件、一種通信中間件。所以可以這樣認(rèn)為,平臺主要是指提供特定服務(wù)的系統(tǒng)軟件??蚣軅?cè)重于設(shè)計和開發(fā)過程,它通過調(diào)用平臺提供的服務(wù)而其作用軟件架構(gòu)、體系結(jié)構(gòu)、設(shè)計模式、軟件框架之間的關(guān)系?軟件架構(gòu)是繪制藍(lán)圖的整個過程體系結(jié)構(gòu)就是這個藍(lán)圖——指導(dǎo)“施工圖紙”開發(fā)的思想設(shè)計模式是實(shí)現(xiàn)該體系結(jié)構(gòu)的一種解決方法。(比如MVC是一種設(shè)計模式)軟件框架是建立在體系結(jié)構(gòu)基礎(chǔ)上的半成品、模塊工具。(比如Struts是為實(shí)現(xiàn)MVC模式而開發(fā)的框架)UML是描述架構(gòu)、框架和設(shè)計模式的建模語言

Visio是UML建模工具Back2.3體系結(jié)構(gòu)、設(shè)計模式、軟件框架——軟件框架什么是軟件2.4軟件架構(gòu)與時序圖——什么是時序圖什么是時序圖?時序圖屬于動態(tài)視圖,是描述對象之間是如何互助協(xié)作的,以實(shí)現(xiàn)用例功能是對用例的進(jìn)一步說明,描述系統(tǒng)內(nèi)部的動態(tài)結(jié)構(gòu)和內(nèi)部各對象間通信關(guān)系時序圖是顯示對象之間交互的圖,這些對象是按照時間順序排列的。Back2.4軟件架構(gòu)與時序圖——什么是時序圖什么是時序圖?時序2.4軟件架構(gòu)與時序圖——組成元素時序圖包含哪些元素?(一)對象:置于頂部,表示交互開始時對象已存在;不在頂部,交互時創(chuàng)建對象間的左右關(guān)系不重要,但為了圖的清晰整潔:交互頻繁的對象盡可能排在一起初始化真?zhèn)€交互活動的對象放在最左邊(二)生命線:表示對象的生存時間。生命線開始,對象創(chuàng)建;生命線結(jié)束,對象銷毀。(三)消息:對象之間的交互式通過互發(fā)消息實(shí)現(xiàn)的。一個對象可以請求另外的對象做事情消息是來源對象指向目標(biāo)對象的。消息包括:簡單消息、同步消息、異步消息簡單消息:直線箭頭。同步消息:實(shí)心箭頭。源對象發(fā)出消息(請求),然后等待目標(biāo)對象處理結(jié)果接受到回應(yīng)。異步消息:單箭頭。源對象發(fā)出消息后,就去干其他事情去了,不用等待回應(yīng)消息。(四)激活:對象處于休眠狀態(tài),需要消息來激活。對象處于激活狀態(tài),表明該對象正在執(zhí)行某個動作激活在UML時序圖中用一個細(xì)長的矩形框表示,矩形的高度表示對象執(zhí)行操作所經(jīng)的時間。對象接收到消息是可由自己來完成,也可以調(diào)用其他對象來完成。參與者對象生命線消息激活Back2.4軟件架構(gòu)與時序圖——組成元素時序圖包含哪些元素?(2.4軟件架構(gòu)與時序圖——時序圖的用途時序圖的用途領(lǐng)域類圖、用例圖是從系統(tǒng)功能和結(jié)構(gòu)的角度來分析系統(tǒng)的,都是圍繞著系統(tǒng)的外部結(jié)構(gòu)進(jìn)行描述的,不考慮具體實(shí)現(xiàn)過程時序圖是從系統(tǒng)本質(zhì)開始描述。從用例的內(nèi)部結(jié)構(gòu)開始描述;解釋的是用例內(nèi)部對象之間的關(guān)系,是對用例的細(xì)化。它按照時間順序清晰描述了用例這個功能塊中各用例之間的通信關(guān)系。時序圖的創(chuàng)建,依托于領(lǐng)域類圖和用例圖!!Back2.4軟件架構(gòu)與時序圖——時序圖的用途時序圖的用途領(lǐng)域類圖2.4軟件架構(gòu)與時序圖——繪制時序圖時序圖繪制步驟選擇要繪制時序圖的用例(不是所有的用例都需要繪制時序圖)列出用例的事件流(事件流,展現(xiàn)了消息的推送過程)Back把子系統(tǒng)作為黑匣子,根據(jù)事件流繪制沒有內(nèi)部對象的時序圖(簡單時序圖)揭開黑匣子,將每個服務(wù)替換為用例中用到的對象,然后添加相關(guān)消息(復(fù)雜的時序圖)用例描述投保書錄入用例描述用例名稱投保書錄入用例編號301創(chuàng)建人黃飛虎創(chuàng)建時間2011年5月22日更新人黃飛虎更新時間2011年6月22日簡要說明投保時錄入用例主要是將投保書相關(guān)資料,包括基本信息、投保項(xiàng)、投被保險人健康告知,投被保險人財務(wù)告知等。錄單員錄入的資料來源于掃描是已經(jīng)完成的頭望書圖像文件。錄入成功后放可進(jìn)入下個環(huán)節(jié)核保環(huán)節(jié)……假設(shè)前提條件投保書已經(jīng)掃描并保存正確的投保書圖像文件

事后條件進(jìn)入核保環(huán)節(jié)優(yōu)先級高使用頻率隨時事件流主事件流1.錄單員登錄成功2.系統(tǒng)檢索已經(jīng)成功掃描而未完成錄入的投保書3.系統(tǒng)員選擇要錄入的投保書,系統(tǒng)顯示投保書圖像4.錄單員根據(jù)圖像文件,錄入相應(yīng)數(shù)據(jù)

4.1如果系統(tǒng)運(yùn)行錯誤,按照異常處理第一條處理

4.2如果發(fā)現(xiàn)輸入規(guī)則性錯誤,按異常第二條處理

4.3如果投保書要修改且要客戶確認(rèn),啟動問題件編寫事件流5.成功保存,返回列表界面異常1.系統(tǒng)提示有異常,返回列表界面,并將數(shù)據(jù)庫歸為輸入前原始狀態(tài)。2.系統(tǒng)提示數(shù)據(jù)不符合業(yè)務(wù)規(guī)則,輕確認(rèn)后重新輸入。問題件編寫其他事件流1.錄單員選擇問題件編寫功能2.選擇是否需要回執(zhí)3.選擇回執(zhí)期限4.啟動問題件編寫用例5.先寫成功后返回到事件流第5條

2.4軟件架構(gòu)與時序圖——繪制時序圖時序圖繪制步驟選擇要繪2.5軟件架構(gòu)與活動圖——包含哪些元素活動圖的組成元素?(一)活動狀態(tài)具有一個入口和至少一個外出轉(zhuǎn)換用圓角矩陣表示Back(二)動作流活動之間的轉(zhuǎn)化,表示兩個狀態(tài)或動作狀態(tài)之間的關(guān)系用實(shí)線箭頭表示(三)開始和結(jié)束開始:實(shí)心圓,實(shí)際是一個占位符結(jié)束:帶邊框的實(shí)心圓,表示流程的結(jié)束(四)動作狀態(tài)動作狀態(tài)是指原子的,不可中斷的動作用平滑的圓角矩陣表示(五)分叉與匯合分叉:表示一個控制流被多個控制流代替,是并發(fā)的匯合:是分叉的反向,是指多個控制流合并為一個控制流(六)分支同一個出發(fā)時間,可根據(jù)不同的條件轉(zhuǎn)向不同的活動,每個轉(zhuǎn)移就是一個分支。在UML活動圖中,分支的控制用菱形來表示。(七)對象流對象流是控制流的一種活動圖中可以出現(xiàn)對象,對象可以作為活動的輸入或輸出(八)判斷菱形表示判斷,可以控制動作流的走向(九)泳道泳道的主要作用就是區(qū)分負(fù)責(zé)活動的對象2.5軟件架構(gòu)與活動圖——包含哪些元素活動圖的組成元素?2.4軟件架構(gòu)與時序圖——時序圖的篩選時序圖的篩選前面說過,不是所有的用例都需要畫時序圖!那么如何篩選適合做時序圖的用例呢?列出所有的用例,根據(jù)每個用例中所包含的對象的多少進(jìn)行篩選。少于三個對象的可考慮不畫時序圖Back對象多但流程說明的步驟少,說明時序圖復(fù)雜度低,也不考慮繪時序圖對象少流程步驟也少,但涉及其他的用例較多,應(yīng)考慮對其編寫時序表根據(jù)上述三個指標(biāo),編寫《時序圖篩選表》時序圖篩選表用例名稱步驟數(shù)對象數(shù)例外系統(tǒng)數(shù)是否選擇投保建檔783是投保書校驗(yàn)660是投被保險人身份證件校驗(yàn)111否投保人銀行賬戶校驗(yàn)111否業(yè)績統(tǒng)計520是投標(biāo)書跟蹤220否回執(zhí)單處理660否2.4軟件架構(gòu)與時序圖——時序圖的篩選時序圖的篩選前面說過2.5軟件架構(gòu)與活動圖——什么是活動圖什么是活動圖?活動圖是UML中的動態(tài)視圖活動圖描述活動的順序,展現(xiàn)的是從一個活動到另外一個活動控制流?;顒訄D從實(shí)心圓開始,經(jīng)過圓角矩形(活動)、菱形(判斷)、轉(zhuǎn)換線,在泳道中來回穿梭,最終到達(dá)終點(diǎn)。Back2.5軟件架構(gòu)與活動圖——什么是活動圖什么是活動圖?活動2.5軟件架構(gòu)與活動圖——與其他圖的區(qū)別活動圖與流程圖的區(qū)別?流程圖著重描述的是處理過程,主要的控制結(jié)構(gòu)是順序、分支、循環(huán),每個處理過程之間有嚴(yán)格的順序和時間關(guān)系。Back活動圖描述的是對象活動的順序關(guān)系、所遵循的規(guī)則,著重表現(xiàn)的是系統(tǒng)的行為,而非系統(tǒng)的處理過程。活動圖是面向?qū)ο蟮?,流程圖是面向過程的活動圖能夠表示并發(fā)活動的情形,而流程圖不行。時序圖是針對某一個用例中對象之間的活動順序關(guān)系的。時序圖的自身特點(diǎn)使得他對系統(tǒng)的分析不夠完整。無法滿足條件轉(zhuǎn)換、分支分叉的表述。時序圖確定了用例之間對象的交互順序,也確定了對象之間的消息(方法和參數(shù)),偏向于對象的構(gòu)造活動圖指明了程序中某個方法體的活動特征,在某種條件下的對象調(diào)用活動圖與時序圖的區(qū)別?2.5軟件架構(gòu)與活動圖——與其他圖的區(qū)別活動圖與流程圖的2.5軟件架構(gòu)與活動圖——活動圖的設(shè)計從業(yè)務(wù)調(diào)研報告中挖據(jù)信息,設(shè)計活動圖需求分析報告,設(shè)計活動圖選擇要繪制活動圖的用例確定活動圖的層面,是頂層還是普通層確定活動圖中使用的對象,用泳道分開確定活動的開始節(jié)點(diǎn)和終止節(jié)點(diǎn)將開始節(jié)點(diǎn)和結(jié)束節(jié)點(diǎn)的所有活動都找出來確定所用泳道的對象流分析分支、分叉,并繪制出來確定動作流,并繪制出來添加活動圖說明表,對活動圖進(jìn)行補(bǔ)充說明(活動、參數(shù)和對象流、說明)Back2.5軟件架構(gòu)與活動圖——活動圖的設(shè)計從業(yè)務(wù)調(diào)研報告中挖2.5軟件架構(gòu)與活動圖——活動圖的篩選Back列出所有的用例來,根據(jù)用例包含的活動多少進(jìn)行篩選?;顒訑?shù)量少的說明活動件通信簡單,可以不考慮畫活動圖根據(jù)活動圖中涉及的對象多少進(jìn)行判斷。如果對象多,但活動步驟少,也不一定要畫活動圖存在其他事件流,一般需要繪制活動圖存在多個條件判斷的,分支較多,有必要畫活動圖存在多想選擇的,分叉較多,這類用例活動圖繪制的優(yōu)先級較高綜合指標(biāo),編制《活動圖篩選表》(主事件流步驟,其他事件流步驟、分支判斷、分叉判斷、對象數(shù))根據(jù)需要,挑選出其中一部分用例繪制活動圖?;顒訄D的篩選和時序圖類似,并不是所有的用例都需要活動圖2.5軟件架構(gòu)與活動圖——活動圖的篩選Back列出所有的2.6軟件架構(gòu)與狀態(tài)圖——什么是狀態(tài)圖什么是活動圖?狀態(tài)圖主要用于描述一個對象在其生命周期內(nèi)的動態(tài)行為。表現(xiàn)為一個對象所經(jīng)歷的狀態(tài)、引起狀態(tài)轉(zhuǎn)移的時間、和因狀態(tài)轉(zhuǎn)移而伴隨的動作??梢杂脿顟B(tài)機(jī)圖來建模。狀態(tài)圖的重點(diǎn)是描述控制流狀態(tài)圖是個動態(tài)視圖Back2.6軟件架構(gòu)與狀態(tài)圖——什么是狀態(tài)圖什么是活動圖?狀態(tài)圖2.6軟件架構(gòu)與狀態(tài)圖——包含哪些元素狀態(tài)圖的組成元素?(一)狀態(tài):指在對象的生命周期中的某個對象的條件或狀態(tài)所有對象都有狀態(tài),狀態(tài)是對象執(zhí)行了一系列活動的結(jié)果當(dāng)某個時間發(fā)生后,對象的狀態(tài)將發(fā)生改變狀態(tài)用圓角矩形表示,初態(tài)用實(shí)心圓點(diǎn)表示,終態(tài)用內(nèi)嵌圓點(diǎn)表示Back(二)轉(zhuǎn)移:是連個狀態(tài)之間的誒關(guān)系,表示對象在原狀態(tài)下執(zhí)行一定的動作更,并在某個特定事件和條件下進(jìn)入目標(biāo)狀態(tài)。事件標(biāo)記:是轉(zhuǎn)移的誘因,可以是一個信號、時間、條件變化和時間表達(dá)式警界條件:滿足該條件時,事件才引發(fā)轉(zhuǎn)移結(jié)果:對象狀態(tài)轉(zhuǎn)移后的結(jié)果(三)動作:是一個可執(zhí)行的原子操作,也就是說動作是不可中斷的,其執(zhí)行時間使可以忽略不計的。(四)自身轉(zhuǎn)移:狀態(tài)可以有自身狀態(tài)的轉(zhuǎn)移,稱為自身轉(zhuǎn)移。(五)組合狀態(tài):含有子狀態(tài)的狀態(tài)的狀態(tài)。組合狀態(tài)在某個時刻可以同時達(dá)到多個子狀態(tài)。(六)并發(fā)區(qū)域:狀態(tài)可以分為區(qū)域。2.6軟件架構(gòu)與狀態(tài)圖——包含哪些元素狀態(tài)圖的組成元素?2.6軟件架構(gòu)與狀態(tài)圖——狀態(tài)圖的設(shè)計狀態(tài)圖的設(shè)計(一)確定狀態(tài)圖的上下文,找到要做狀態(tài)圖的目標(biāo)對象(比如一個用例)(二)選擇初始狀態(tài)和終結(jié)狀態(tài)初始狀態(tài)和終結(jié)狀態(tài)其實(shí)是個偽狀態(tài),其他的狀態(tài)全是中間狀態(tài)。(三)發(fā)現(xiàn)對象個各種狀態(tài)(四)確定狀態(tài)可能發(fā)生的轉(zhuǎn)移(五)吧必要的動作加到狀態(tài)或轉(zhuǎn)移上(六)繪制狀態(tài)圖Back狀態(tài)圖的篩選方法根據(jù)用例的包含的狀態(tài)的多少篩選分析用例中的所有事件,和事件對狀態(tài)的改變,如果結(jié)構(gòu)相對復(fù)雜,則需要單獨(dú)進(jìn)行分析分析用例的分支和分叉情況,越復(fù)雜越有限畫狀態(tài)圖最后,綜合所有指標(biāo)編制《狀態(tài)篩選表》2.6軟件架構(gòu)與狀態(tài)圖——狀態(tài)圖的設(shè)計狀態(tài)圖的設(shè)計(一)2.6軟件架構(gòu)與活動圖——活動圖的篩選Back列出所有的用例來,根據(jù)用例包含的活動多少進(jìn)行篩選?;顒訑?shù)量少的說明活動件通信簡單,可以不考慮畫活動圖根據(jù)活動圖中涉及的對象多少進(jìn)行判斷。如果對象多,但活動步驟少,也不一定要畫活動圖存在其他事件流,一般需要繪制活動圖存在多個條件判斷的,分支較多,有必要畫活動圖存在多想選擇的,分叉較多,這類用例活動圖繪制的優(yōu)先級較高綜合指標(biāo),編制《活動圖篩選表》(主事件流步驟,其他事件流步驟、分支判斷、分叉判斷、對象數(shù))根據(jù)需要,挑選出其中一部分用例繪制活動圖?;顒訄D的篩選和時序圖類似,并不是所有的用例都需要活動圖2.6軟件架構(gòu)與活動圖——活動圖的篩選Back列出所有的2.10軟件體系結(jié)構(gòu)風(fēng)格——體系結(jié)構(gòu)的討論(一)軟件體系結(jié)構(gòu)討論的是些什么內(nèi)容呢?軟件體系結(jié)構(gòu)討論的是在系統(tǒng)中不同的獨(dú)立構(gòu)件存放位置的問題,以及這些構(gòu)件之間的通信方式軟件體系結(jié)構(gòu)是高層次的抽象,并不涉及具體的技術(shù)實(shí)現(xiàn)設(shè)計軟件體系結(jié)構(gòu)是必須考慮現(xiàn)有的系統(tǒng)兼容性、安全性、可靠性,以及系統(tǒng)以后的擴(kuò)展性、伸縮性構(gòu)件是面向軟件體系結(jié)構(gòu)的可復(fù)用軟件模塊,它實(shí)現(xiàn)了特定的功能,符合并實(shí)現(xiàn)了一套接口標(biāo)準(zhǔn)構(gòu)件的特點(diǎn):自描述、可定制、科技城、連接機(jī)制Back什么是構(gòu)件?構(gòu)件分為:通信構(gòu)件、處理構(gòu)件、數(shù)據(jù)構(gòu)件處理構(gòu)件:負(fù)責(zé)業(yè)務(wù)處理通信構(gòu)件:負(fù)責(zé)構(gòu)件之間消息傳遞和通信數(shù)據(jù)構(gòu)件:負(fù)責(zé)數(shù)據(jù)存儲和檢索2.10軟件體系結(jié)構(gòu)風(fēng)格——體系結(jié)構(gòu)的討論(一)軟件體系結(jié)2.10軟件體系結(jié)構(gòu)風(fēng)格——體系結(jié)構(gòu)的討論(二)軟件體系結(jié)構(gòu)干了些什么事情呢?將系統(tǒng)分成若干構(gòu)件,研究構(gòu)件之間的關(guān)系,然后進(jìn)行分類(運(yùn)行構(gòu)件、數(shù)據(jù)構(gòu)件、連接構(gòu)件)。這是體系解結(jié)構(gòu)的基礎(chǔ)在數(shù)據(jù)結(jié)構(gòu)和算法的高層之上,對組件進(jìn)行設(shè)計。完成組件之間的組織、通信、同步、數(shù)據(jù)存儲、物理分布,最后拿出對組件設(shè)計方案的選擇、評估和有效分析組件設(shè)計完成后,考慮這些組件遵循的規(guī)則、范圍等考慮系統(tǒng)的性能(構(gòu)件提供的服務(wù)、性能、特性、錯誤處理、共享資源使用等方面)Back它的重要作用表現(xiàn)在哪些方面?有利于相關(guān)人員之間的溝通系統(tǒng)設(shè)計的前期決策可傳遞的系統(tǒng)級抽象2.10軟件體系結(jié)構(gòu)風(fēng)格——體系結(jié)構(gòu)的討論(二)軟件體系結(jié)2.10軟件體系結(jié)構(gòu)風(fēng)格——分類軟件體系結(jié)構(gòu)的分類(一)C/S風(fēng)格:客戶機(jī)和服務(wù)器結(jié)構(gòu),包括C/S/S結(jié)構(gòu)(客戶機(jī)/應(yīng)用服務(wù)器/數(shù)據(jù)庫服務(wù)器)。Back優(yōu)缺點(diǎn)分析:應(yīng)用服務(wù)器的運(yùn)行數(shù)據(jù)負(fù)荷較輕。它將數(shù)據(jù)的

溫馨提示

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

評論

0/150

提交評論