大話軟件工程:需求分析與軟件設(shè)計(八)

第3篇 設(shè)計工程——概要設(shè)計

第8章 設(shè)計工程概述

????????設(shè)計工程,是基于需求工程的成果進(jìn)行信息系統(tǒng)設(shè)計的部分滔韵。業(yè)務(wù)設(shè)計是設(shè)計工程中以客戶業(yè)務(wù)為中心的設(shè)計部分由境,業(yè)務(wù)設(shè)計的成果決定了客戶信息化的業(yè)務(wù)價值,是后續(xù)所有設(shè)計與開發(fā)的基礎(chǔ)和指南法牲,也是業(yè)務(wù)設(shè)計師需要掌握的核心知識和能力。涉及軟件工程框架圖中兩個部分的概述:設(shè)計工程及業(yè)務(wù)設(shè)計部分琼掠。

????????(1)設(shè)計工程的整體:包括業(yè)務(wù)設(shè)計部分拒垃、應(yīng)用設(shè)計部分、技術(shù)設(shè)計部分瓷蛙。

????????(2)業(yè)務(wù)設(shè)計的部分:包括概要設(shè)計悼瓮、詳細(xì)設(shè)計。

8.1 基本概念

8.1.1 定義與作用

????????1.定義

????????設(shè)計工程艰猬,是運(yùn)用軟件設(shè)計的理論横堡、方法、工具冠桃,對需求工程獲取的需求按照不同的理論和方法進(jìn)行分階段命贴、分層地細(xì)化,給出滿足客戶需求和符合軟件開發(fā)要求的設(shè)計資料食听。

????????①業(yè)務(wù)設(shè)計部分:含概要設(shè)計和詳細(xì)設(shè)計兩個階段套么。業(yè)務(wù)設(shè)計的重點是對業(yè)務(wù)優(yōu)化、業(yè)務(wù)功能以及業(yè)務(wù)價值的設(shè)計碳蛋。成果包括設(shè)計規(guī)范胚泌、業(yè)務(wù)架構(gòu)、業(yè)務(wù)功能等肃弟。

????????②應(yīng)用設(shè)計部分:將業(yè)務(wù)設(shè)計的成果轉(zhuǎn)向系統(tǒng)的架構(gòu)玷室、組件以及應(yīng)用價值的設(shè)計零蓉。成果包括應(yīng)用架構(gòu)、系統(tǒng)機(jī)制穷缤、系統(tǒng)功能等敌蜂,②是①和③的橋梁。

????????③技術(shù)設(shè)計部分:將業(yè)務(wù)和應(yīng)用的設(shè)計成果轉(zhuǎn)換為支持編碼開發(fā)的設(shè)計資料津肛。成果包括語言選擇章喉、基礎(chǔ)框架、數(shù)據(jù)接口身坐、系統(tǒng)部署秸脱、硬件選擇、環(huán)境構(gòu)建等部蛇。由于業(yè)務(wù)設(shè)計的概念使用不廣泛摊唇,定義也比較模糊,有的軟件企業(yè)有“需求設(shè)計”的環(huán)節(jié)涯鲁。這里對業(yè)務(wù)設(shè)計與需求設(shè)計的內(nèi)容做個比較巷查,以幫助理解業(yè)務(wù)設(shè)計的概念。

????????1)需求與業(yè)務(wù)的區(qū)別

????????(1)需求:指的是客戶針對引入“信息系統(tǒng)”所提出來的需要和要求抹腿。

????????(2)業(yè)務(wù):指的是客戶企業(yè)所“從事的工作”(經(jīng)營岛请、管理、生產(chǎn)警绩、銷售等)崇败。

????????2)需求設(shè)計與業(yè)務(wù)設(shè)計的區(qū)別

????????(1)需求設(shè)計:直接設(shè)計的是系統(tǒng)需要的“功能”,包括功能的構(gòu)成及實現(xiàn)方法房蝉。需求設(shè)計的主要對象是“功能的需求”。

????????(2)業(yè)務(wù)設(shè)計:業(yè)務(wù)設(shè)計分為三個層面(架構(gòu)微渠、功能和數(shù)據(jù))搭幻。首先是對客戶的業(yè)務(wù)“流程”進(jìn)行梳理、優(yōu)化逞盆、完善(架構(gòu)層)檀蹋,再對業(yè)務(wù)的“操作”(功能層)進(jìn)行設(shè)計,最后對業(yè)務(wù)的操作“結(jié)果”(數(shù)據(jù)層)進(jìn)行設(shè)計云芦。業(yè)務(wù)設(shè)計的過程是“架構(gòu)→功能→數(shù)據(jù)”俯逾。

????????兩者的設(shè)計理念是不同的:“需求設(shè)計”直接關(guān)注的就是“功能需求”;而“業(yè)務(wù)設(shè)計”首先是對“業(yè)務(wù)”進(jìn)行梳理舅逸、優(yōu)化桌肴。獲得了功能需求,但不熟悉業(yè)務(wù)背景琉历,就是“知其然坠七,不知其所以然”水醋。在充分地理解了業(yè)務(wù)、優(yōu)化了業(yè)務(wù)并確定了未來信息化環(huán)境下業(yè)務(wù)的處理方式的基礎(chǔ)上彪置,再去確定功能需求拄踪,那么才是做到了“知其然,也知其所以然”拳魁。

????????業(yè)務(wù)設(shè)計惶桐,是將“需求”放在“業(yè)務(wù)”這個背景中去思考、設(shè)計的潘懊。明確功能是為業(yè)務(wù)提供信息化支持服務(wù)的姚糊。也就是說,功能需求的真?zhèn)呜宰稹膬?nèi)容叛拷、處理的形式等都是通過對客戶業(yè)務(wù)處理過程的充分理解后才能確定的。

????????基于不同的設(shè)計理念產(chǎn)生的系統(tǒng)會給客戶帶來不同的功能岂却、感受忿薇、價值以及滿意度。

????????2.作用

? ? ? ? 在設(shè)計工程中躏哩,需求工程的成果被設(shè)計師進(jìn)行了進(jìn)一步的理解署浩、闡釋,并融入了設(shè)計師的理念扫尺、思想筋栋,開發(fā)完成的產(chǎn)品必須要符合設(shè)計師和設(shè)計資料的要求(這里設(shè)計師提出的設(shè)計資料已經(jīng)不是需求,而是要求)正驻,它是所有相關(guān)人交流弊攘、工作、檢查的共同語言和標(biāo)準(zhǔn)姑曙。

????????在設(shè)計工程中襟交,業(yè)務(wù)設(shè)計部分的主要工作是優(yōu)化、梳理伤靠、完善業(yè)務(wù)捣域,并在此基礎(chǔ)上確定業(yè)務(wù)功能;應(yīng)用設(shè)計的目的是將業(yè)務(wù)設(shè)計成果轉(zhuǎn)換為系統(tǒng)的功能宴合;技術(shù)設(shè)計部分的目的是實現(xiàn)業(yè)務(wù)設(shè)計和應(yīng)用設(shè)計的成果焕梅。業(yè)務(wù)設(shè)計和應(yīng)用設(shè)計的結(jié)果決定了產(chǎn)品的最高價值。應(yīng)用設(shè)計卦洽,是業(yè)務(wù)設(shè)計部分和技術(shù)設(shè)計部分的融合之處贞言。

8.1.2 內(nèi)容與能力

????????設(shè)計工程篇的作業(yè)內(nèi)容是按照兩個維度進(jìn)行的,即:工程分解維度(X軸)阀蒂,共分為三個階段(概要蜗字、詳細(xì)打肝、應(yīng)用);工作分解維度(Y軸)挪捕,共分為三個層(架構(gòu)粗梭、功能、數(shù)據(jù))

????????根據(jù)分離原理级零,構(gòu)成企業(yè)的內(nèi)容可以分為4個部分断医,即:業(yè)務(wù)、管理奏纪、組織和物品鉴嗤。其中,業(yè)務(wù)設(shè)計和管理設(shè)計分為兩個層面分別進(jìn)行設(shè)計序调,然后再進(jìn)行疊加醉锅,因為業(yè)務(wù)設(shè)計成果是管理設(shè)計的“載體”,因此先做業(yè)務(wù)設(shè)計并將“工程分解/工作分解”作為第一層发绢,將管理設(shè)計作為第二層硬耍,兩者內(nèi)容劃分如下。

????????注:關(guān)于價值設(shè)計的構(gòu)成

????????通常情況下边酒,應(yīng)用類軟件絕大部分的客戶價值是由業(yè)務(wù)設(shè)計階段-業(yè)務(wù)價值经柴、應(yīng)用設(shè)計-應(yīng)用價值兩部分形成,因為這些價值是客戶購買軟件產(chǎn)品的直接目的

????????另外墩朦,因為管理是保障業(yè)務(wù)價值和應(yīng)用價值的實現(xiàn)而存在的坯认,因此不存在管理設(shè)計價值。

8.1.3 思路與理解

????????在進(jìn)行設(shè)計工程的說明前氓涣,還需要再回顧一下分離原理和組合原理牛哺,因為這兩個原理是建立設(shè)計工程體系以及相關(guān)設(shè)計模型的基礎(chǔ)。

????????1.分離原理的應(yīng)用

????????在設(shè)計工程的每個階段中都采用了先將業(yè)務(wù)與管理進(jìn)行分別架構(gòu)劳吠、規(guī)劃引润、設(shè)計,然后再組合在一起協(xié)同工作的方式赴背。采用這樣的設(shè)計方式可以讓設(shè)計師感受到:企業(yè)管理的設(shè)計首先要理清楚業(yè)務(wù)載體的情況以及業(yè)務(wù)處理的標(biāo)準(zhǔn)椰拒,然后再去匹配相應(yīng)的管理方法晶渠,管理是為了業(yè)務(wù)達(dá)到標(biāo)準(zhǔn)而做的保障措施凰荚。

????????1)業(yè)務(wù)設(shè)計

????????業(yè)務(wù)設(shè)計關(guān)注的是按照業(yè)務(wù)處理所必須遵循的目標(biāo)、工藝褒脯、標(biāo)準(zhǔn)等要求便瑟,并設(shè)計出滿足這些要求的信息處理系統(tǒng),在這個設(shè)計過程中番川,暫不關(guān)注如何管理業(yè)務(wù)的處理過程到涂,只集中精力研究業(yè)務(wù)運(yùn)行的事理脊框。

????????2)管理設(shè)計

????????有了業(yè)務(wù)處理形式和對應(yīng)的標(biāo)準(zhǔn)之后再來確定管理方法,以業(yè)務(wù)為載體確定管控的位置并加入管理規(guī)則践啄,確保業(yè)務(wù)處理不出現(xiàn)違反業(yè)務(wù)標(biāo)準(zhǔn)的問題浇雹。

????????2.組合原理/基干原理的應(yīng)用

????????設(shè)計工程在不同的階段、分層中都有不同表達(dá)形式的邏輯圖形屿讽,組合原理的三元素對應(yīng)的內(nèi)容會沿著軟件工程的推進(jìn)方向不斷地發(fā)生變化昭灵。

????????1)要素的變化沿著軟件工程的三個階段推進(jìn),要素在三個層面上的稱呼變化如下(由粗到細(xì))伐谈。

????????(1)需求工程各階段:原始需求(客戶語言)→業(yè)務(wù)分類(業(yè)務(wù)烂完、管理、組織诵棵、物品)抠蚣。

????????(2)設(shè)計工程-架構(gòu)層:用框架圖表達(dá),有系統(tǒng)履澳、子系統(tǒng)嘶窄、模塊、功能等奇昙。

????????(3)設(shè)計工程-功能層:用原型圖表達(dá)护侮,有業(yè)務(wù)領(lǐng)域、業(yè)務(wù)功能储耐、業(yè)務(wù)組件羊初、控件。

????????(4)設(shè)計工程-數(shù)據(jù)層:用數(shù)據(jù)架構(gòu)圖表達(dá)什湘,有全系統(tǒng)长赞、領(lǐng)域、數(shù)據(jù)表闽撤、數(shù)據(jù)得哆。

????????2)邏輯的變化

????????在①需求工程階段,收集到的客戶需求大多都是采用文字以及表單的形式表達(dá)的專業(yè)知識哟旗、業(yè)務(wù)經(jīng)驗以及現(xiàn)實的做法贩据,此時的說明和表達(dá)并不特別強(qiáng)調(diào)邏輯的概念。

????????在②設(shè)計階段中闸餐,貫穿全過程的主線就是業(yè)務(wù)邏輯饱亮,業(yè)務(wù)設(shè)計部分的工作本質(zhì)上是在做理解、解釋舍沙、轉(zhuǎn)換近上,也就是將需求中所包含的專業(yè)知識、業(yè)務(wù)經(jīng)驗拂铡、目標(biāo)期望壹无、痛點難點等內(nèi)容葱绒,通過分析、設(shè)計的一系列轉(zhuǎn)換工作,最終為以“邏輯圖形”為主的表達(dá)方式所替代,這種邏輯表達(dá)方式最為符合軟件設(shè)計和開發(fā)的習(xí)慣帆谍。在②的區(qū)間內(nèi),用知識和經(jīng)驗表達(dá)的內(nèi)容越來越少骚秦,最終絕大部分都由邏輯的表達(dá)方式替代了業(yè)務(wù)知識和經(jīng)驗的表達(dá)方式。

????????在進(jìn)入到③應(yīng)用設(shè)計區(qū)間后璧微,邏輯表達(dá)再被轉(zhuǎn)換為機(jī)制表達(dá)作箍,機(jī)制是邏輯的實現(xiàn)方式,將邏輯轉(zhuǎn)換為機(jī)制也是信息系統(tǒng)具有復(fù)用性前硫、應(yīng)變性的基礎(chǔ)胞得。可以看出屹电,在②的區(qū)間內(nèi)阶剑,代表知識和經(jīng)驗的內(nèi)容漸漸地減少,而代表邏輯的內(nèi)容漸漸增大危号,以至于在接近應(yīng)用設(shè)計區(qū)域的時候幾乎完全替代了知識和經(jīng)驗的內(nèi)容牧愁。

????????這個示意圖說明了:②業(yè)務(wù)設(shè)計的作用是將客戶的業(yè)務(wù)知識、經(jīng)驗轉(zhuǎn)換為用業(yè)務(wù)邏輯表達(dá)外莲,進(jìn)入到④技術(shù)設(shè)計階段后猪半,原則上技術(shù)設(shè)計師的工作不能依據(jù)源于①的業(yè)務(wù)知識、經(jīng)驗表達(dá)的原始需求偷线,而必須依據(jù)通過②和③獲得的設(shè)計資料(需求階段的資料可以作為參考磨确,不能作為依據(jù))。在④技術(shù)設(shè)計區(qū)間內(nèi)声邦,技術(shù)設(shè)計師再將前階段的邏輯和機(jī)制的表達(dá)方式轉(zhuǎn)換為開發(fā)工程師易于理解的形式乏奥。從上述的說明中可以得出如下兩個重要的關(guān)注點。

????????注1:按照軟件工程的要求亥曹,開發(fā)工程師不能直接應(yīng)用需求調(diào)研成果邓了。

????????為什么說開發(fā)工程師直接按照需求工程的成果進(jìn)行開發(fā)是有缺陷的?因為這樣做缺失了設(shè)計工程中對業(yè)務(wù)邏輯的抽提媳瞪、優(yōu)化骗炉,以及向機(jī)制轉(zhuǎn)換的過程,其結(jié)果很可能造成交付的系統(tǒng)邏輯不清材失,達(dá)不到為客戶帶來信息化的預(yù)期價值痕鳍,同時沒有進(jìn)行規(guī)律性的抽提也難讓系統(tǒng)做到復(fù)用和應(yīng)變硫豆。理解這個知識→邏輯→機(jī)制的轉(zhuǎn)變意義和過程非常重要龙巨。

????????注2:業(yè)務(wù)邏輯與業(yè)務(wù)知識的作用區(qū)別

????????業(yè)務(wù)邏輯的主要表達(dá)方式存在于業(yè)務(wù)架構(gòu)圖中笼呆,業(yè)務(wù)邏輯對設(shè)計和開發(fā)的重要性是毋庸置疑的,那么掌握了業(yè)務(wù)邏輯的表達(dá)方法是否就具有了業(yè)務(wù)優(yōu)化的能力了呢旨别?回答是否定的诗赌!業(yè)務(wù)邏輯可以使得優(yōu)化結(jié)果的表現(xiàn)得非常清晰、直觀秸弛,但業(yè)務(wù)優(yōu)化的依據(jù)是“業(yè)務(wù)知識铭若、業(yè)務(wù)經(jīng)驗、管理理論”等內(nèi)容递览,因此叼屠,沒有相應(yīng)的業(yè)務(wù)知識和經(jīng)驗的設(shè)計師是難以正確地進(jìn)行業(yè)務(wù)優(yōu)化的(盡管他可以清晰地表達(dá)優(yōu)化的結(jié)果)。

????????業(yè)務(wù)邏輯:打開架構(gòu)意圖的鑰匙

????????在業(yè)務(wù)架構(gòu)圖中绞铃,“邏輯”是對所有的知識镜雨、經(jīng)驗、想法等內(nèi)容的替代儿捧,業(yè)務(wù)架構(gòu)圖中的“邏輯”表達(dá)的不是思考的過程荚坞,而是思考的結(jié)果。架構(gòu)圖中的“邏輯”會被一直引用(功能設(shè)計菲盾、數(shù)據(jù)設(shè)計颓影、應(yīng)用設(shè)計)直至到編碼開發(fā)的階段。將需求中的業(yè)務(wù)知識轉(zhuǎn)換為用邏輯表達(dá)之后邏輯不再被更改懒鉴,這就使得從設(shè)計到開發(fā)直到測試驗證有了一條“邏輯主線”诡挂,所有的工序都與這個主線對標(biāo),極大地提升了設(shè)計和開發(fā)的質(zhì)量临谱,減少了失誤和失真咆畏。

????????3)模型的變化

????????進(jìn)入了設(shè)計階段,分析模型基本上就不再使用了(因為分析模型的邏輯只適用于做分析)吴裤,設(shè)計階段基本上都是采用架構(gòu)模型(架構(gòu)層)旧找、原型界面(功能層)和數(shù)據(jù)模型(數(shù)據(jù)層)等進(jìn)行設(shè)計結(jié)果的表達(dá)。

8.2 工程分解

????????軟件工程的“工程分解”分為三個階段麦牺,即概要設(shè)計钮蛛、詳細(xì)設(shè)計、應(yīng)用設(shè)計剖膳。其中魏颓,概要設(shè)計和詳細(xì)設(shè)計又構(gòu)成了“業(yè)務(wù)設(shè)計”部分。

8.2.1 工程分解1——概要設(shè)計

????????概要設(shè)計是設(shè)計工程的第一個階段吱晒,設(shè)計的依據(jù)是需求工程的成果——現(xiàn)狀構(gòu)成圖甸饱、功能需求一覽、需求規(guī)格說明書等。概要設(shè)計主要負(fù)責(zé)對系統(tǒng)進(jìn)行以下四大方面的規(guī)劃叹话。

????????(1)規(guī)范:從頂層設(shè)計的視點出發(fā)偷遗,確定目標(biāo)、理念驼壶、主線氏豌、原則、定義热凹、標(biāo)準(zhǔn)等泵喘。

????????(2)架構(gòu):基于目標(biāo)對業(yè)務(wù)進(jìn)行優(yōu)化,確定業(yè)務(wù)架構(gòu)般妙、系統(tǒng)纪铺、子系統(tǒng)、模塊等的劃分碟渺。

????????(3)功能:基于架構(gòu)對業(yè)務(wù)功能進(jìn)行分類霹陡、規(guī)劃,確定功能間的關(guān)系以及功能一覽止状。

????????(4)數(shù)據(jù):基于架構(gòu)和功能對數(shù)據(jù)的范圍烹棉、內(nèi)容進(jìn)行規(guī)劃,確定主數(shù)據(jù)怯疤、數(shù)據(jù)標(biāo)準(zhǔn)等浆洗。

????????概要設(shè)計階段,設(shè)計師關(guān)注的應(yīng)該是大的系統(tǒng)間規(guī)劃集峦、頂層的設(shè)計伏社,不過多地糾結(jié)于細(xì)節(jié)或系統(tǒng)內(nèi)部小模塊之間的關(guān)系,或是某個具體的功能塔淤。概要設(shè)計一般不是一次就能做到位摘昌,而是需要反復(fù)地進(jìn)行調(diào)整的。在概要設(shè)計階段高蜂,應(yīng)最大限度地提取可以復(fù)用的模塊聪黎,建立合理的結(jié)構(gòu)體系,節(jié)省后續(xù)各設(shè)計階段的工作量备恤。

8.2.2 工程分解2——詳細(xì)設(shè)計

????????詳細(xì)設(shè)計是設(shè)計工程的第二個階段稿饰,依據(jù)概要設(shè)計文檔對架構(gòu)、功能和數(shù)據(jù)層面的內(nèi)容進(jìn)行精細(xì)設(shè)計露泊。由于有了概要設(shè)計文檔做總控喉镰,所以在詳細(xì)設(shè)計階段就可以展開由多人協(xié)同并行設(shè)計。在詳細(xì)設(shè)計階段惭笑,每個設(shè)計師面對的都是一個獨立的系統(tǒng)/模塊侣姆,根據(jù)概要設(shè)計約定好的局部任務(wù)和對外接口生真,設(shè)計并表達(dá)出定義、關(guān)系捺宗、算法等內(nèi)容柱蟀。這里要注意,如果發(fā)現(xiàn)有結(jié)構(gòu)調(diào)整的必要偿凭,必須返回到概要設(shè)計階段,將調(diào)整反映到概要設(shè)計文檔中派歌,而不能只解決詳細(xì)設(shè)計問題而不再維護(hù)概要設(shè)計的資料了弯囊。詳細(xì)設(shè)計完成后,形成詳細(xì)設(shè)計規(guī)格書胶果。詳細(xì)設(shè)計工作全部完成后匾嘱,對系統(tǒng)中的業(yè)務(wù)部分的設(shè)計就完成了,后續(xù)設(shè)計中就不能對業(yè)務(wù)部分的內(nèi)容再進(jìn)行任意修改了早抠,如果需要變更霎烙,務(wù)必要取得業(yè)務(wù)設(shè)計師的確認(rèn)。

8.2.3 工程分解3——應(yīng)用設(shè)計

????????應(yīng)用設(shè)計是設(shè)計工程的第三個階段蕊连,主要內(nèi)容是將概要設(shè)計規(guī)格書和詳細(xì)設(shè)計規(guī)格書的設(shè)計成果與系統(tǒng)實現(xiàn)的手法結(jié)合在一起悬垃,給出系統(tǒng)實現(xiàn)后的業(yè)務(wù)處理、管理控制的操作效果甘苍,以及非業(yè)務(wù)的功能設(shè)計部分尝蠕。應(yīng)用設(shè)計可以看成是“業(yè)務(wù)設(shè)計部分”與“技術(shù)設(shè)計部分”的結(jié)合部,它給出了軟件開發(fā)完成后的應(yīng)用效果(包括:布局载庭、操作看彼、規(guī)則等),企業(yè)管理信息化的價值最終體現(xiàn)在這個部分的設(shè)計成果中囚聚。

????????應(yīng)用設(shè)計應(yīng)該是包括業(yè)務(wù)靖榕、技術(shù)、UI顽铸、美工以及體驗等諸方面知識和技術(shù)的集合體茁计。這個部分的設(shè)計需要應(yīng)用設(shè)計師具有跨界的知識和能力,包括一定的客戶的專業(yè)知識谓松、業(yè)務(wù)設(shè)計知識簸淀、技術(shù)開發(fā)知識拧簸、UI設(shè)計和美工設(shè)計知識以及系統(tǒng)上線的經(jīng)驗等。

8.2.4 工程分解4——三個階段的關(guān)系

????????1.三個階段的差異

????????1)三個階段的重點

????????相對于需求分析是站在客戶業(yè)務(wù)的角度理解需求而言:

????????(1)概要設(shè)計的重點:從設(shè)計的角度出發(fā)對需求的定義和解釋畏纲,經(jīng)過一系列粗粒度的規(guī)劃和設(shè)計,讓后續(xù)的設(shè)計師大致了解系統(tǒng)的結(jié)構(gòu)和操作模式屑迂。

????????(2)詳細(xì)設(shè)計的重點:描述業(yè)務(wù)設(shè)計的實現(xiàn)細(xì)節(jié)逻锐、方法盏档、函數(shù)等稚配。

????????(3)應(yīng)用設(shè)計的重點:將前面設(shè)計的內(nèi)容轉(zhuǎn)換為系統(tǒng)的表達(dá)方式立宜。

????????2)三個階段的協(xié)同

????????各個模塊之間是有層次關(guān)系的灯帮,也有先后的邏輯關(guān)系瞪醋。在概要設(shè)計中鸦采,還必須考慮模塊的實現(xiàn)細(xì)節(jié),概要設(shè)計拓提、詳細(xì)設(shè)計和應(yīng)用設(shè)計三個設(shè)計之間需要反復(fù)迭代進(jìn)行西雀。在概要設(shè)計階段,設(shè)計師就要能夠規(guī)劃和確定出詳細(xì)設(shè)計和應(yīng)用設(shè)計的范圍帮哈、深度膛檀,所以對概要設(shè)計擔(dān)當(dāng)人的能力要求是軟件工程全過程中最高的。

????????3)三個階段帶來的不同價值

????????這三個階段完成了系統(tǒng)的絕大部分價值娘侍,它們的設(shè)計讓用戶感受到了業(yè)務(wù)的變化咖刃、工作環(huán)境的變化,感受到了信息化帶來的價值憾筏。

????????(1)概要設(shè)計/詳細(xì)設(shè)計嚎杨,確定系統(tǒng)中業(yè)務(wù)方面的最高價值。

????????(2)應(yīng)用設(shè)計氧腰,確定系統(tǒng)中應(yīng)用方面的最高價值(也可以稱為體驗價值)枫浙。

????????2.三個階段的用語

????????在需求工程階段收集客戶需求時,采用的是客戶使用的“客戶用語”古拴,因為只有用客戶最為熟悉的語言才容易交流箩帚、溝通、表達(dá)黄痪,這個時候的用語是描述客戶行業(yè)知識紧帕、實踐經(jīng)驗、客戶現(xiàn)狀的桅打。

????????1)概要設(shè)計階段/詳細(xì)設(shè)計階段

????????由于業(yè)務(wù)設(shè)計階段的重點是針對業(yè)務(wù)的設(shè)計是嗜,所以使用的表達(dá)語言是“業(yè)務(wù)設(shè)計用語”,它們不是技術(shù)設(shè)計和開發(fā)時使用的技術(shù)用語挺尾,業(yè)務(wù)設(shè)計用語如業(yè)務(wù)架構(gòu)鹅搪、業(yè)務(wù)流程圖、工作分解圖潦嘶、業(yè)務(wù)功能分類涩嚣、管控模型、管理規(guī)則等掂僵。

????????● 此時的重點是對業(yè)務(wù)的優(yōu)化航厚、完善,是找出業(yè)務(wù)價值锰蓬,而不是技術(shù)的實現(xiàn)方法幔睬,因此過度使用技術(shù)用語會影響到干系人對業(yè)務(wù)的理解、表達(dá)芹扭。

????????● 在業(yè)務(wù)設(shè)計階段使用技術(shù)用語表達(dá)也會影響業(yè)務(wù)設(shè)計的正確性麻顶。

????????2)應(yīng)用設(shè)計階段

????????應(yīng)用設(shè)計赦抖,是介于業(yè)務(wù)設(shè)計與技術(shù)設(shè)計之間的轉(zhuǎn)換期,它使用的既不是完全的業(yè)務(wù)用語辅肾,也不是完全的技術(shù)用語队萤,而是介于業(yè)務(wù)和技術(shù)之間的用語,有偏業(yè)務(wù)的用語矫钓,例如要尔,事找人的流程機(jī)制、紅字更正(刪除)新娜、提交檢查赵辕、時限管理、權(quán)限管理等概龄;也有偏技術(shù)的用語还惠,例如,組件私杜、窗體蚕键、界面、權(quán)限等歪今。進(jìn)入技術(shù)設(shè)計階段以后嚎幸,就完全是技術(shù)的表達(dá)方式了(如UML颜矿、編碼語言等)寄猩。在技術(shù)設(shè)計階段如果可以做到少用或基本不用客戶的專業(yè)語言,那就說明前面的每個設(shè)計環(huán)節(jié)都做得非常到位骑疆,沒有遺漏田篇,反之,到了技術(shù)設(shè)計階段還要大量地使用需求階段客戶的專業(yè)用語箍铭,那就說明前面各個階段的轉(zhuǎn)換做得不到位泊柬。

8.2.5 業(yè)務(wù)設(shè)計與技術(shù)設(shè)計的關(guān)系

????????在軟件工程的框架上,業(yè)務(wù)設(shè)計(概要诈火、詳細(xì))與技術(shù)設(shè)計中間隔著應(yīng)用設(shè)計兽赁,兩者沒有發(fā)生直接交付與繼承的關(guān)系。兩者之間有如下的特征(僅供參考)冷守。

????????● 業(yè)務(wù)設(shè)計是以業(yè)務(wù)知識和設(shè)計知識為基礎(chǔ)進(jìn)行設(shè)計刀崖、表達(dá)的方法。

????????● 技術(shù)設(shè)計是以計算機(jī)技術(shù)為基礎(chǔ)拍摇,用技術(shù)設(shè)計特有的方法來轉(zhuǎn)換應(yīng)用設(shè)計的成果亮钦。

????????● 業(yè)務(wù)設(shè)計可以“不知”技術(shù)設(shè)計或技術(shù)開發(fā)的方法,它只關(guān)注業(yè)務(wù)自身的內(nèi)容充活。

????????● 技術(shù)設(shè)計必須要滿足業(yè)務(wù)設(shè)計的要求蜂莉,也就是說蜡娶,技術(shù)設(shè)計依賴于業(yè)務(wù)設(shè)計成果。

????????● 業(yè)務(wù)人員(咨詢映穗、需求窖张、業(yè)務(wù)設(shè)計師)是否懂技術(shù)不是工作的前提條件(但多懂為佳)。

????????● 技術(shù)人員(技術(shù)設(shè)計蚁滋、開發(fā)荤堪、測試)必須要能夠理解業(yè)務(wù)設(shè)計資料,是否懂業(yè)務(wù)知識不是工作的前提條件(但多懂為佳)枢赔。

????????由于各個軟件企業(yè)的組織構(gòu)成澄阳、涉及來源不同,所以業(yè)務(wù)設(shè)計與技術(shù)設(shè)計的劃分也不盡相同踏拜,這里“應(yīng)用設(shè)計”的環(huán)節(jié)設(shè)置與否有著非常大的影響碎赢。

????????● 設(shè)置應(yīng)用設(shè)計環(huán)節(jié),則業(yè)務(wù)設(shè)計和技術(shù)設(shè)計就可以分離得比較大速梗。

????????● 如果不設(shè)應(yīng)用設(shè)計環(huán)節(jié)肮塞,則業(yè)務(wù)設(shè)計和技術(shù)設(shè)計就要發(fā)生直接交互,對業(yè)務(wù)人員和技術(shù)人員的能力要求都會提高姻锁。

8.2.6 工程分解與資料引用

????????由于按照工程化設(shè)計的方法進(jìn)行設(shè)計枕赵,所以軟件工程上的各個階段產(chǎn)生的設(shè)計資料都是必須要繼承的

????????其中①和②為需求工程的內(nèi)容。

????????③概要設(shè)計:對②需求分析的內(nèi)容進(jìn)行規(guī)劃位隶,并制定指導(dǎo)后續(xù)進(jìn)行設(shè)計的設(shè)計規(guī)范等拷窜。

????????④詳細(xì)設(shè)計:在③概要設(shè)計確定的范圍內(nèi),依據(jù)②涧黄、③的內(nèi)容進(jìn)行細(xì)化設(shè)計篮昧,全部的設(shè)計成果需要符合③概要設(shè)計制定的標(biāo)準(zhǔn)及各項約定。

????????⑤應(yīng)用設(shè)計:是將④詳細(xì)設(shè)計的成果轉(zhuǎn)換為系統(tǒng)的表達(dá)方式笋妥,同時還要設(shè)計③概要設(shè)計中已規(guī)劃好的懊昨、但④詳細(xì)設(shè)計中沒有涉及的內(nèi)容,如系統(tǒng)功能(來源于②)春宣。

????????⑥技術(shù)設(shè)計:由于③酵颁、④和⑤三個設(shè)計中都有不重疊的內(nèi)容,因此月帝,⑥技術(shù)設(shè)計要參考前面的需求分析資料和全部的設(shè)計資料躏惋。

????????⑦軟件開發(fā):嚴(yán)格依據(jù)技術(shù)設(shè)計成果進(jìn)行開發(fā)。

????????⑧軟件測試:需要用到業(yè)務(wù)設(shè)計和應(yīng)用設(shè)計的用例嫁赏。

????????⑨系統(tǒng)驗收:與客戶簽訂合同的依據(jù)是需求規(guī)格說明書(來源于②)其掂。注:設(shè)計原則

????????(1)對于⑥技術(shù)設(shè)計來說,①和②的需求工程資料只是“參考資料”潦蝇,而不是“設(shè)計依據(jù)”(除去需求資料中關(guān)于技術(shù)方面的需求)款熬。

????????(2)當(dāng)③~⑤發(fā)生了遺漏或錯誤時深寥,技術(shù)設(shè)計師必須首先與擔(dān)當(dāng)?shù)脑O(shè)計師確認(rèn),在獲得一致意見后贤牛,首先由擔(dān)當(dāng)?shù)脑O(shè)計師把遺漏部分追加到相應(yīng)的業(yè)務(wù)/應(yīng)用設(shè)計資料中惋鹅,然后依據(jù)修改后的業(yè)務(wù)/應(yīng)用設(shè)計資料再進(jìn)行技術(shù)方面的修改。

8.3 工作分解

????????從軟件工程結(jié)構(gòu)圖上可以看出殉簸,在設(shè)計工程的三個階段中闰集,縱向的“工作分解”是一樣的,都是分為三個設(shè)計層般卑,即架構(gòu)層武鲁、功能層和數(shù)據(jù)層。工作分解的順序是由粗到細(xì)蝠检、由上到下沐鼠,設(shè)計工程的三個階段都是圍繞著架構(gòu)、功能和數(shù)據(jù)三個層進(jìn)行不斷地細(xì)化和深化叹谁。

8.3.1 工作分解1——架構(gòu)層

????????架構(gòu)層是工作分解的第一層饲梭,它的核心工作是進(jìn)行業(yè)務(wù)架構(gòu),通過從概要焰檩、詳細(xì)和應(yīng)用三個階段接力式的設(shè)計憔涉,完成了從業(yè)務(wù)架構(gòu)的規(guī)劃、詳細(xì)的流程分歧析苫,到最終轉(zhuǎn)換為系統(tǒng)應(yīng)用架構(gòu)的機(jī)制兜叨。

8.3.2 工作分解2——功能層

????????功能層是工作分解的第二層,它的核心工作是用戶操作界面的設(shè)計藤违,通過從概要浪腐、詳細(xì)和應(yīng)用三個階段接力式的設(shè)計纵揍,完成功能需求→業(yè)務(wù)功能→業(yè)務(wù)組件的轉(zhuǎn)換過程顿乒,最終完成用戶的操作界面設(shè)計。

8.3.3 工作分解3——數(shù)據(jù)層

????????數(shù)據(jù)層是工作分解的第三層泽谨,它的核心工作是對數(shù)據(jù)的設(shè)計璧榄,通過從概要、詳細(xì)和應(yīng)用三個階段接力式的設(shè)計吧雹,完成了對數(shù)據(jù)整體規(guī)劃骨杂、領(lǐng)域規(guī)劃、主數(shù)據(jù)選擇雄卷、數(shù)據(jù)標(biāo)準(zhǔn)制定搓蚪、數(shù)據(jù)模型、數(shù)據(jù)的復(fù)用機(jī)制等一系列的設(shè)計丁鹉。

8.3.4 工作分解4——三分層的關(guān)系

1.價值方面的不同

????????簡單地說妒潭,架構(gòu)是功能產(chǎn)生和確定的基礎(chǔ)悴能,功能是數(shù)據(jù)產(chǎn)生和確定的基礎(chǔ)。但三個設(shè)計層的目的不同雳灾,架構(gòu)與數(shù)據(jù)本身是客戶的價值所在漠酿,而功能是工具。

????????1)架構(gòu)層

????????架構(gòu)層的內(nèi)容是對業(yè)務(wù)優(yōu)化后的成果表達(dá)谎亩,業(yè)務(wù)優(yōu)化的成果可以直接為客戶帶來成本下降炒嘲、效率提升、效益收獲等價值匈庭,因此架構(gòu)層的成果是客戶投資的直接目的之一夫凸。

????????2)功能層

????????功能,是組成架構(gòu)的要素阱持,通過功能可以產(chǎn)生數(shù)據(jù)寸痢。沒有功能形成不了業(yè)務(wù)架構(gòu),也無法記錄和查看數(shù)據(jù)紊选,但是功能并不是客戶投資的直接目的啼止,最終的業(yè)務(wù)價值和信息化價值是體現(xiàn)在架構(gòu)和數(shù)據(jù)上的,功能是產(chǎn)生上述價值的工具(沒有這個工具無法產(chǎn)生價值)兵罢。

????????3)數(shù)據(jù)層

????????數(shù)據(jù)層的內(nèi)容是企業(yè)的資產(chǎn)献烦,數(shù)據(jù)的積累和有效利用(統(tǒng)計、分析卖词、挖掘)會為客戶提供解決舊問題的途徑巩那、找到新商機(jī)的啟示,因此數(shù)據(jù)層的成果是客戶投資的直接目的之一此蜈。

????????2.生命周期的不同

????????企業(yè)的管理方式會隨著時間和環(huán)境的變化而變化即横,這個變化會帶來業(yè)務(wù)架構(gòu)的變化;同樣隨著IT技術(shù)的進(jìn)步裆赵,功能的顯示和操作方式也會隨之發(fā)生變化(PC端→移動端)东囚,但是無論架構(gòu)和功能如何變化,都希望數(shù)據(jù)的結(jié)構(gòu)和標(biāo)準(zhǔn)可以保持5年战授、10年甚至幾十年都不改變页藻,如果因為架構(gòu)和功能發(fā)生了變化而不能再利用已有的歷史數(shù)據(jù),則這個數(shù)據(jù)資產(chǎn)就不存在了植兰。這也是為什么業(yè)務(wù)設(shè)計師也必須要關(guān)注份帐、掌握數(shù)據(jù)的規(guī)劃和設(shè)計能力的原因。只重視功能設(shè)計楣导,而不重視架構(gòu)和數(shù)據(jù)的設(shè)計废境,這為系統(tǒng)長期使用帶來以下兩個大隱患。

????????(1)架構(gòu)設(shè)計不足,由于缺乏頂層規(guī)劃和設(shè)計噩凹,會造成系統(tǒng)的應(yīng)變性差朦促。

????????(2)數(shù)據(jù)設(shè)計不足,復(fù)數(shù)系統(tǒng)間的數(shù)據(jù)難以打通栓始,數(shù)據(jù)無法共享务冕、復(fù)用,造成信息孤島現(xiàn)象幻赚。

????????三分層內(nèi)容的生命周期由長到短分別為:數(shù)據(jù)>架構(gòu)>功能禀忆。

????????(1)功能的形態(tài)最容易發(fā)生變化(客戶需求變化、硬件技術(shù)的進(jìn)步等)落恼,生命周期最短箩退。

????????(2)架構(gòu)的形態(tài)隨著業(yè)務(wù)標(biāo)準(zhǔn)變化而變化(業(yè)務(wù)不變,架構(gòu)也不變)佳谦,生命周期的長短居中戴涝。

????????(3)數(shù)據(jù)如果做好標(biāo)準(zhǔn)化設(shè)計,其生命周期則可以做到最長(也是客戶最希望的)钻蔑,因為只有數(shù)據(jù)生命周期長且大量積累啥刻,才能發(fā)揮出數(shù)據(jù)的價值來。

8.3.5 工作分解5——業(yè)務(wù)與技術(shù)的分層關(guān)系

????1.技術(shù)設(shè)計的三層構(gòu)成

????????理解上述分層的成果與技術(shù)設(shè)計三層結(jié)構(gòu)的對應(yīng)關(guān)系咪笑,可以理解業(yè)務(wù)設(shè)計分層的作用和價值可帽。技術(shù)設(shè)計的三層結(jié)構(gòu)通常為:應(yīng)用界面層、業(yè)務(wù)邏輯層和數(shù)據(jù)訪問層

????????(1)應(yīng)用界面層:位于最外層(最上層)窗怒,最接近用戶映跟。用于顯示數(shù)據(jù)和接收用戶輸入的數(shù)據(jù),為用戶提供一種交互式操作的界面扬虚。

????????(2)業(yè)務(wù)邏輯層:位于三層之中努隙,它的關(guān)注點主要集中在業(yè)務(wù)規(guī)則的制定、業(yè)務(wù)流程的實現(xiàn)等與業(yè)務(wù)需求有關(guān)的系統(tǒng)設(shè)計辜昵。

????????(3)數(shù)據(jù)訪問層:位置居于三層之后荸镊,其功能主要是負(fù)責(zé)數(shù)據(jù)庫的訪問。

????????2.非技術(shù)設(shè)計

????????與技術(shù)設(shè)計的三層對比非技術(shù)設(shè)計(業(yè)務(wù)設(shè)計路鹰、應(yīng)用設(shè)計)三分層的成果支持了技術(shù)三分層的設(shè)計工作贷洲,非技術(shù)設(shè)計的各層成果如下。

????????1)架構(gòu)層成果

????????①主要是獲取“業(yè)務(wù)邏輯”晋柱,它向技術(shù)的“業(yè)務(wù)邏輯層”提供了業(yè)務(wù)邏輯、機(jī)制(邏輯的應(yīng)用表達(dá))诵叁。

????????2)功能層成果

????????主要成果是獲取了“界面形式”和“數(shù)據(jù)”雁竞,分別向技術(shù)各層提供如下信息。

????????②向應(yīng)用界面層:提供業(yè)務(wù)操作的原型等。

????????③向業(yè)務(wù)邏輯層:提供界面操作過程碑诉、數(shù)據(jù)處理規(guī)則彪腔、管理規(guī)則等。

????????④向數(shù)據(jù)訪問層:提供數(shù)據(jù)和定義进栽。

????????3)數(shù)據(jù)層成果

????????主要成果是獲取了“數(shù)據(jù)邏輯”德挣,分別向技術(shù)各層提供了:

????????⑤向業(yè)務(wù)邏輯層:提供了數(shù)據(jù)邏輯(算式等)。

????????⑥向數(shù)據(jù)訪問層:提供了數(shù)據(jù)表關(guān)系快毛。

????????可見格嗅,非技術(shù)設(shè)計中的每個階段、每個階段中的每一層的設(shè)計成果都是直接或間接地為后續(xù)的技術(shù)設(shè)計各層提供了輸入和依據(jù)唠帝。

8.4 管理設(shè)計

????????在分離原理中已經(jīng)講過了屯掖,業(yè)務(wù)與管理分離,業(yè)務(wù)是管理的載體襟衰,管理是對業(yè)務(wù)標(biāo)準(zhǔn)執(zhí)行的保證措施贴铜,因此,管理的思想瀑晒、理念绍坝、原則等可以先行規(guī)劃,但是具體的管理設(shè)計要在業(yè)務(wù)載體的相關(guān)設(shè)計完成之后才能進(jìn)行苔悦。

????????由于管理功能是以業(yè)務(wù)功能為載體的陷嘴,所以管理設(shè)計的內(nèi)容分布在功能層的三個設(shè)計階段中。

????????(1)管理的概要設(shè)計:進(jìn)行管理的頂層設(shè)計间坐、規(guī)劃灾挨。

????????(2)管理的詳細(xì)設(shè)計:在業(yè)務(wù)功能的詳細(xì)設(shè)計(業(yè)務(wù)4件套)之上進(jìn)行管理細(xì)化設(shè)計。

????????(3)管理的應(yīng)用設(shè)計:將業(yè)務(wù)設(shè)計中的管理設(shè)計成果轉(zhuǎn)換為機(jī)制竹宋,給出實現(xiàn)管理的方法劳澄。

8.5 組織設(shè)計

????????企業(yè)組織管理具有三個重要的職能:建立管理機(jī)構(gòu),配備崗位人員蜈七,制定規(guī)章制度秒拔。在信息系統(tǒng)中,上述三個職能工作被融合到以下的功能中飒硅。

????????1.建立管理機(jī)構(gòu)

????????通過建立組織基礎(chǔ)數(shù)據(jù)庫的形式砂缩,將組織結(jié)構(gòu)的形式固定下來,其中包括公司三娩、子公司庵芭、部門、崗位等雀监。另外双吆,組織結(jié)構(gòu)在信息系統(tǒng)中有一個非常重要的作用眨唬,大量的查詢、抽提好乐、統(tǒng)計和分析操作都是要以組織屬性為關(guān)鍵詞進(jìn)行的匾竿,它也是各類統(tǒng)計、分析報表的“維度”屬性蔚万。組織岭妖,作為數(shù)據(jù)設(shè)計的部分內(nèi)容。

????????2.配備崗位人員

????????在系統(tǒng)上線后反璃,通過系統(tǒng)的“權(quán)限功能”昵慌,為所有在組織結(jié)構(gòu)內(nèi)有“崗位”的員工給予一個在系統(tǒng)中對應(yīng)的“角色”,所有具有系統(tǒng)權(quán)限的角色都被稱為“系統(tǒng)的用戶”版扩。權(quán)限废离,作為組合設(shè)計的部分內(nèi)容。

????????3.制定規(guī)章制度

????????企業(yè)的組織部門制定的企業(yè)管理規(guī)則礁芦,如果參與信息化管理蜻韭,則一定要設(shè)置到相應(yīng)的操作環(huán)節(jié)中,有效的規(guī)章制度一定要以規(guī)則的形式融入到系統(tǒng)操作的各個環(huán)節(jié)中去才能發(fā)揮出作用柿扣。

????????組織部門相對于其他部門的工作是一種“管理行為”肖方,但是組織部門內(nèi)部的工作則與其他部門的工作是一樣的,也是具有“業(yè)務(wù)”和“管理”兩個層次未状,同樣符合分離原理俯画。雖然領(lǐng)域的專業(yè)知識不同,但是針對組織對象的分析與業(yè)務(wù)設(shè)計方法是一樣的司草。

8.6 物品設(shè)計

????????分屬于物品類的要素由于都是“硬件”艰垂,所以通常不會直接影響到企業(yè)管理的業(yè)務(wù)架構(gòu)权薯、管理架構(gòu)和組織架構(gòu)冗栗,對物品的架構(gòu)在企業(yè)的業(yè)務(wù)活動中一般是自成體系的垛贤。物品類要素在企業(yè)管理系統(tǒng)中主要是以“基礎(chǔ)數(shù)據(jù)”的形式存在的狼讨,對物品類對象的設(shè)計工作主要有兩個內(nèi)容:數(shù)據(jù)編號和數(shù)據(jù)管理。

? ??????1.?dāng)?shù)據(jù)編號

????????對物品類數(shù)據(jù)的編號是企業(yè)管理信息化的重要內(nèi)容燥透,物品類要素的數(shù)據(jù)屬于企業(yè)的基礎(chǔ)數(shù)據(jù)卡睦,它牽扯到企業(yè)的標(biāo)準(zhǔn)化肮疗、規(guī)范化工作爬泥,編制物品的數(shù)據(jù)編號需要很強(qiáng)的專業(yè)知識柬讨。但是如何標(biāo)準(zhǔn)化、如何標(biāo)準(zhǔn)化才能最大限度地發(fā)揮出信息化的價值并非是客戶所擅長的工作袍啡,這是需要業(yè)務(wù)設(shè)計師給予他們指導(dǎo)的踩官。

????????2.?dāng)?shù)據(jù)管理

????????對數(shù)據(jù)進(jìn)行編號實際上也是一種管理,完成了數(shù)據(jù)編號后葬馋,為了保證這個編號體系在實際運(yùn)用中得以被正確運(yùn)用卖鲤,就需要有相應(yīng)的保障措施肾扰,這個保障措施就是“字典”功能畴嘶,對物品編號是企業(yè)標(biāo)準(zhǔn)化管理的重要組成部分蛋逾,通過字典功能上的各項管理規(guī)則,可以保證物品數(shù)據(jù)被正確地應(yīng)用窗悯、統(tǒng)計区匣。

8.7 價值設(shè)計

????????價值設(shè)計并非是一種新的和獨立的設(shè)計體系,它提倡的是在做系統(tǒng)設(shè)計的同時蒋院,重點思考一下:通過信息化手段改造了企業(yè)的管理模式后亏钩,給客戶帶來了哪些可以直接感受到的變化和價值,重點思考兩個方面的價值欺旧,即業(yè)務(wù)價值和應(yīng)用價值姑丑。

????????● 業(yè)務(wù)價值:客戶業(yè)務(wù)的本身,通過軟件商的優(yōu)化設(shè)計辞友,有了哪些變化和價值栅哀。

????????● 應(yīng)用價值:客戶業(yè)務(wù)與信息化環(huán)境結(jié)合后,為客戶生產(chǎn)方式帶來了哪些變化和價值称龙×羰埃“業(yè)務(wù)價值”和“應(yīng)用價值”一定要能夠用最終的客戶“效率”和“效益”進(jìn)行表達(dá),這些價值是通過設(shè)計融入到系統(tǒng)中的鲫尊。

8.8 驗證用例與規(guī)格書

8.8.1 驗證用例

????????對設(shè)計成果的驗證分為兩個階段:業(yè)務(wù)驗證用例痴柔、應(yīng)用驗證用例。

????????1.業(yè)務(wù)設(shè)計階段

????????業(yè)務(wù)設(shè)計階段的驗證用例稱為“業(yè)務(wù)驗證用例”(簡稱業(yè)務(wù)用例)疫向,由于業(yè)務(wù)的概要設(shè)計和詳細(xì)設(shè)計成果構(gòu)成了一個完整的業(yè)務(wù)設(shè)計咳蔚,因此業(yè)務(wù)設(shè)計兩個階段共用一個驗證用例,它利用具有連續(xù)性的業(yè)務(wù)場景從業(yè)務(wù)視角出發(fā)搔驼,在用例中加入了包括流程谈火、數(shù)據(jù)、管理規(guī)則等內(nèi)容匙奴,通過模擬運(yùn)行對業(yè)務(wù)設(shè)計的成果進(jìn)行驗證堆巧。

????????2.應(yīng)用設(shè)計階段應(yīng)用設(shè)計階段的驗證用例稱為“應(yīng)用驗證用例”(簡稱應(yīng)用用例),將業(yè)務(wù)驗證腳本與應(yīng)用設(shè)計成果(組件泼菌、機(jī)制)相融合谍肤,編制出一個可以模擬系統(tǒng)完成后的應(yīng)用效果,對業(yè)務(wù)設(shè)計和應(yīng)用的成果進(jìn)行綜合驗證哗伯。

8.8.2 設(shè)計規(guī)格書

????????軟件工程每個設(shè)計階段完成時荒揣,需要有對這個階段設(shè)計成果的匯總,以及對設(shè)計成果的驗證焊刹,這就是各類規(guī)格書與驗證用例系任。

????????1)業(yè)務(wù)設(shè)計階段

????????(1)概要設(shè)計規(guī)格書恳蹲。概要設(shè)計是設(shè)計階段的開始,因此俩滥,概要設(shè)計的成果匯總成概要設(shè)計規(guī)格書嘉蕾,它是指導(dǎo)后續(xù)所有設(shè)計、開發(fā)霜旧、測試的依據(jù)错忱。概要設(shè)計規(guī)格書包括架構(gòu)、功能和數(shù)據(jù)三個分層的概要設(shè)計資料挂据。

????????(2)詳細(xì)設(shè)計規(guī)格書以清。所有系統(tǒng)中與業(yè)務(wù)相關(guān)的架構(gòu)、功能和數(shù)據(jù)細(xì)節(jié)都在此確定崎逃,在此之后的設(shè)計(應(yīng)用掷倔、技術(shù))都應(yīng)該遵循業(yè)務(wù)設(shè)計結(jié)果,不得改變(除業(yè)務(wù)設(shè)計師許可外)个绍。詳細(xì)設(shè)計規(guī)格書包括架構(gòu)勒葱、功能和數(shù)據(jù)三個分層的詳細(xì)設(shè)計資料。概要設(shè)計規(guī)格書與詳細(xì)設(shè)計規(guī)格書兩者構(gòu)成了完整的業(yè)務(wù)設(shè)計障贸。

????????2)應(yīng)用設(shè)計階段

????????在業(yè)務(wù)設(shè)計的成果之上加入系統(tǒng)的要素错森,完成的設(shè)計成果匯總成應(yīng)用設(shè)計規(guī)格書,它確定了系統(tǒng)中關(guān)于用戶應(yīng)用的方法篮洁,在此之后的技術(shù)設(shè)計與編程實現(xiàn)不得改變(除應(yīng)用設(shè)計師許可外)涩维。應(yīng)用設(shè)計規(guī)格書包括架構(gòu)、功能和數(shù)據(jù)三個分層的應(yīng)用設(shè)計資料袁波。

小結(jié)

????????設(shè)計工程的工作瓦阐,是軟件工程中決定系統(tǒng)的設(shè)計規(guī)范、架構(gòu)篷牌、功能睡蟋、數(shù)據(jù)以及客戶價值的核心部分。最終客戶的信息化價值體現(xiàn)枷颊、滿意度主要取決于設(shè)計工程的工作戳杀,這其中業(yè)務(wù)設(shè)計部分和應(yīng)用設(shè)計部分又是對客戶的信息化價值起著最為核心的作用。

????????設(shè)計工程的內(nèi)容很多夭苗,按照設(shè)計的內(nèi)容形成了一個3×3的設(shè)計矩陣信卡。通過4條設(shè)計線①~④,可以看出設(shè)計工程的構(gòu)成思路如下题造。

????????線①:設(shè)計工程分為三個階段:概要設(shè)計階段傍菇、詳細(xì)設(shè)計階段和應(yīng)用設(shè)計階段。

????????線②:每個階段內(nèi)再分為三層:架構(gòu)層界赔、功能層和數(shù)據(jù)層丢习。? ?

????????線③:每個層的設(shè)計分為三步:將需求轉(zhuǎn)換為系統(tǒng)的形式牵触,如功能層通過功能概要、功能詳細(xì)和功能應(yīng)用的三步設(shè)計咐低,將功能需求最終轉(zhuǎn)換為系統(tǒng)的組件揽思。

????????線④:對研究對象,從最大粒度的設(shè)計(架構(gòu))到最小粒度的設(shè)計(數(shù)據(jù))進(jìn)行了全面的渊鞋、體系化的分析和設(shè)計绰更。按照分離原理4分類的內(nèi)容瞧挤,設(shè)計安排如下锡宋。

????????(1)由于業(yè)務(wù)設(shè)計、組織設(shè)計和物品設(shè)計的方法相似特恬,所以將這三者的內(nèi)容融合到一起設(shè)計見中c1执俩。

????????(2)“管理設(shè)計”由于要以業(yè)務(wù)設(shè)計的結(jié)果為載體,c2所以放到最后的綜合設(shè)計篇中癌刽。

????????(3)其他的“價值設(shè)計役首、用例設(shè)計、規(guī)格書與模板”由于是針對總體的設(shè)計显拜,所以也一并放在綜合設(shè)計中講述衡奥,c3~c5。

????????這個結(jié)構(gòu)給出了從上到下远荠、從粗到細(xì)矮固、從業(yè)務(wù)到系統(tǒng)、從架構(gòu)到數(shù)據(jù)譬淳、從邏輯到機(jī)制的分析档址、設(shè)計和轉(zhuǎn)換的過程,按照這個設(shè)計矩陣進(jìn)行作業(yè)邻梆,就可以達(dá)到設(shè)計工程化的目的守伸。

軟件工程,不但可以支持分析與設(shè)計浦妄,而且可以支持軟件的項目管理

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末尼摹,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子剂娄,更是在濱河造成了極大的恐慌蠢涝,老刑警劉巖,帶你破解...
    沈念sama閱讀 206,311評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件宜咒,死亡現(xiàn)場離奇詭異惠赫,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)故黑,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,339評論 2 382
  • 文/潘曉璐 我一進(jìn)店門儿咱,熙熙樓的掌柜王于貴愁眉苦臉地迎上來庭砍,“玉大人,你說我怎么就攤上這事混埠〉「祝” “怎么了?”我有些...
    開封第一講書人閱讀 152,671評論 0 342
  • 文/不壞的土叔 我叫張陵钳宪,是天一觀的道長揭北。 經(jīng)常有香客問我,道長吏颖,這世上最難降的妖魔是什么搔体? 我笑而不...
    開封第一講書人閱讀 55,252評論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮半醉,結(jié)果婚禮上疚俱,老公的妹妹穿的比我還像新娘。我一直安慰自己缩多,他們只是感情好呆奕,可當(dāng)我...
    茶點故事閱讀 64,253評論 5 371
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著衬吆,像睡著了一般梁钾。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上逊抡,一...
    開封第一講書人閱讀 49,031評論 1 285
  • 那天姆泻,我揣著相機(jī)與錄音,去河邊找鬼秦忿。 笑死麦射,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的灯谣。 我是一名探鬼主播潜秋,決...
    沈念sama閱讀 38,340評論 3 399
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼胎许!你這毒婦竟也來了峻呛?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 36,973評論 0 259
  • 序言:老撾萬榮一對情侶失蹤辜窑,失蹤者是張志新(化名)和其女友劉穎钩述,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體穆碎,經(jīng)...
    沈念sama閱讀 43,466評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡牙勘,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 35,937評論 2 323
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片方面。...
    茶點故事閱讀 38,039評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡放钦,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出恭金,到底是詐尸還是另有隱情操禀,我是刑警寧澤,帶...
    沈念sama閱讀 33,701評論 4 323
  • 正文 年R本政府宣布横腿,位于F島的核電站颓屑,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏耿焊。R本人自食惡果不足惜揪惦,卻給世界環(huán)境...
    茶點故事閱讀 39,254評論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望搀别。 院中可真熱鬧丹擎,春花似錦、人聲如沸歇父。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,259評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽榜苫。三九已至,卻和暖如春翎冲,著一層夾襖步出監(jiān)牢的瞬間垂睬,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,485評論 1 262
  • 我被黑心中介騙來泰國打工抗悍, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留驹饺,地道東北人。 一個月前我還...
    沈念sama閱讀 45,497評論 2 354
  • 正文 我出身青樓缴渊,卻偏偏與公主長得像赏壹,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子衔沼,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 42,786評論 2 345

推薦閱讀更多精彩內(nèi)容