程序員第六期全程建模之軟件設(shè)計(jì)指南 -管理類軟件示例 4_第1頁(yè)
已閱讀1頁(yè),還剩5頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、1《程序員》第六期全程建模之軟件設(shè)計(jì)指南——管理類軟件示例撰稿高展摘要:本文在上期需求分析基礎(chǔ)上,闡述如何使用“全程建?!狈椒ㄟM(jìn)行軟件的總體設(shè)計(jì)與詳細(xì)設(shè)計(jì),力求全面利用業(yè)務(wù)分析、需求定義的成果,推導(dǎo)軟件設(shè)計(jì)方案,大幅度減少設(shè)計(jì)差錯(cuò),全面提高軟件設(shè)計(jì)自動(dòng)化水平。一軟件設(shè)計(jì),燙手的山芋1現(xiàn)象自從人類步入工業(yè)文明以來(lái),無(wú)論哪一個(gè)行業(yè)都躲不開(kāi)產(chǎn)品設(shè)計(jì)必要環(huán)節(jié)??尚Φ氖?,中國(guó)軟件開(kāi)發(fā)在方面無(wú)論從觀念上還是在行動(dòng)上落后了230年。1772年,著名社

2、會(huì)學(xué)家亞當(dāng).斯密在《國(guó)富論》(thewealthofthenations)中指出,分工分工是工業(yè)文明高度發(fā)達(dá)的根本原因。以建筑業(yè)為例,天才建筑大師貝律明設(shè)計(jì)的北京香山飯店,堪稱凝固的音樂(lè),可是泥瓦匠活還是由普普通通的民工組成的工程隊(duì)來(lái)干,建筑業(yè)的成功充分地體現(xiàn)了各種資源的有效組合的結(jié)果。反觀軟件行業(yè),沒(méi)人專做需求分析,沒(méi)人專做軟件設(shè)計(jì),沒(méi)人專做軟件測(cè)試,……,幾乎成為軟件公司上上下下的“共識(shí)”,大家有一千個(gè)理由專注于編程。后果是軟件開(kāi)發(fā)

3、強(qiáng)烈依賴發(fā)揮(實(shí)際上是發(fā)散),質(zhì)量得不到有效的控制,各種資源極大浪費(fèi)。如果說(shuō)軟件公司一點(diǎn)設(shè)計(jì)工作沒(méi)做是有點(diǎn)冤枉:一張粗糙的軟件系統(tǒng)框架,一幅馬馬虎虎的接口關(guān)系圖,寥寥幾頁(yè)的程序流程圖。究竟誰(shuí)在糊弄誰(shuí),誰(shuí)也不想搞明白,反正最后是費(fèi)了牛勁才能把軟件拼湊出來(lái),能否蒙混過(guò)關(guān)只有天曉得。2原因我們可以以下三個(gè)方面分析為什么沒(méi)人愿意踏踏實(shí)實(shí)坐下來(lái)把軟件設(shè)計(jì)做好。首先從社會(huì)大環(huán)境來(lái)看,中國(guó)工業(yè)化進(jìn)程緩慢,封建意識(shí)濃厚,從國(guó)民整體意識(shí)上就缺乏分工協(xié)作的

4、基本常識(shí);其次從個(gè)體小環(huán)境來(lái)看,中國(guó)的高等教育做的是知識(shí)灌輸?shù)墓ぷ鳎狈β殬I(yè)教育精神,沒(méi)有工程化教育的目標(biāo),培養(yǎng)的人才往往是四體不勤,五谷不分;最后從具體運(yùn)作來(lái)看,軟件公司或者搭草臺(tái)班子唱戲應(yīng)付差事,或者占山為王打打殺殺不亦樂(lè)乎,很難靜下心來(lái)考慮設(shè)計(jì)軟件這種“苦累”差事。3出路全程建模提倡軟件設(shè)計(jì)由需求分析推導(dǎo)而來(lái),而用戶對(duì)軟件的需求則緊密結(jié)合業(yè)務(wù)活動(dòng)本身,這一點(diǎn)深刻反映了開(kāi)發(fā)管理軟件的根本理念:源于管理、用于管理。全程一體化建模的原理

5、可以總結(jié)成下面的鏡子模型:需求功能過(guò)程數(shù)據(jù)管理制度組織結(jié)構(gòu)業(yè)務(wù)流程業(yè)務(wù)數(shù)據(jù)管理軟件軟件結(jié)構(gòu)軟件流程軟件數(shù)據(jù)實(shí)物鏡子鏡像圖1鏡子模型在這種全程鏡像一體化建模思想指導(dǎo)下,軟件設(shè)計(jì)自動(dòng)化變得切實(shí)可行。從實(shí)際效果來(lái)看,對(duì)定制軟件來(lái)說(shuō),直接根據(jù)實(shí)際企業(yè)模型得到的總體設(shè)計(jì)自動(dòng)化程度為90%,詳細(xì)設(shè)計(jì)為70%,對(duì)產(chǎn)品軟件來(lái)說(shuō),首先要假設(shè)一個(gè)標(biāo)準(zhǔn)的企業(yè)模型,在此基礎(chǔ)上,總體設(shè)計(jì)自動(dòng)化程度將能達(dá)到80%,詳細(xì)設(shè)計(jì)將能達(dá)到60%。另外,毫不夸張地講,無(wú)論多

6、么大軟件系統(tǒng),如果不包括可行性論證過(guò)程,需求定義只需幾個(gè)小時(shí)就可以填空方式完成。二軟件設(shè)計(jì)的要點(diǎn)1主要內(nèi)容從開(kāi)發(fā)過(guò)程來(lái)看,軟件設(shè)計(jì)包括總體設(shè)計(jì)、詳細(xì)設(shè)計(jì)這兩大部份,其中總體設(shè)計(jì)主要包括系統(tǒng)結(jié)構(gòu)設(shè)計(jì)、系統(tǒng)流程設(shè)計(jì)、系統(tǒng)接口設(shè)計(jì)、全局?jǐn)?shù)據(jù)結(jié)構(gòu)設(shè)計(jì)、硬件配置設(shè)計(jì)、集成測(cè)試設(shè)計(jì),詳細(xì)設(shè)計(jì)包括模塊設(shè)計(jì)、本地?cái)?shù)據(jù)結(jié)構(gòu)設(shè)計(jì)、報(bào)表設(shè)計(jì)、屏幕設(shè)計(jì)。3客戶總經(jīng)理查詢子系統(tǒng)A1業(yè)務(wù)管理子系統(tǒng)A2供應(yīng)商財(cái)務(wù)管理子系統(tǒng)A3當(dāng)前層次業(yè)務(wù)工作種類:1.銷售2.采購(gòu)3

7、.財(cái)務(wù)核算訂貨訂單發(fā)貨發(fā)貨清單采購(gòu)采購(gòu)清單供貨供貨清單交貨款訂單發(fā)貨清單了解采購(gòu)情況了解銷售情況提供收款憑證銷售發(fā)票上報(bào)采購(gòu)情況采購(gòu)日?qǐng)?bào)上報(bào)銷售情況銷售日?qǐng)?bào)交發(fā)貨單發(fā)貨單(財(cái)務(wù)聯(lián))通知到款了解財(cái)務(wù)狀況上報(bào)財(cái)務(wù)狀況客戶小型進(jìn)銷存系統(tǒng)A0供應(yīng)商對(duì)外業(yè)務(wù)工作種類:1.銷售2.采購(gòu)訂貨訂單發(fā)貨發(fā)貨清單采購(gòu)采購(gòu)清單供貨供貨清單交貨款訂單發(fā)貨清單提供收款憑證銷售發(fā)票圖3系統(tǒng)級(jí)流程3系統(tǒng)級(jí)接口設(shè)計(jì)軟件開(kāi)發(fā)發(fā)生混亂的很大一部分原因是系統(tǒng)之間的接口含混不

8、清:需要的信息沒(méi)人給,送出的信息不知道誰(shuí)要。全程建模使用“數(shù)據(jù)匯總圖”描述系統(tǒng)接口,建模工具PlayCASE自動(dòng)從事件流圖提取事件攜帶的數(shù)據(jù)形成數(shù)據(jù)匯總圖,從而使系統(tǒng)間的接口清晰明了,準(zhǔn)確無(wú)誤。圖4描述了“總經(jīng)理查詢子系統(tǒng)”、“業(yè)務(wù)管理子系統(tǒng)”、“財(cái)務(wù)子系統(tǒng)”之間的數(shù)據(jù)接口的關(guān)系:客戶供應(yīng)商總經(jīng)理查詢子系統(tǒng)A1業(yè)務(wù)管理子系統(tǒng)A2財(cái)務(wù)管理子系統(tǒng)A3發(fā)貨單(財(cái)務(wù)聯(lián))訂單發(fā)貨清單訂單發(fā)貨清單銷售發(fā)票供貨清單采購(gòu)清單采購(gòu)日?qǐng)?bào)銷售日?qǐng)?bào)圖4系統(tǒng)級(jí)接

9、口4全局?jǐn)?shù)據(jù)結(jié)構(gòu)設(shè)計(jì)對(duì)于管理軟件來(lái)說(shuō),全局?jǐn)?shù)據(jù)是各個(gè)應(yīng)用子系統(tǒng)共享的基礎(chǔ)數(shù)據(jù),這些數(shù)據(jù)絕大部分由大型DBMS來(lái)管理。全局?jǐn)?shù)據(jù)結(jié)構(gòu)設(shè)計(jì)主要指的是全局?jǐn)?shù)據(jù)庫(kù)設(shè)計(jì),主要包括基表設(shè)計(jì)、視圖設(shè)計(jì)、存儲(chǔ)過(guò)程設(shè)計(jì)、觸發(fā)器設(shè)計(jì)等,其中基表和視圖可由PlayCASE自動(dòng)生成具體的SQL語(yǔ)句:基表DDL(數(shù)據(jù)定義語(yǔ)言)由構(gòu)件生成,視圖的DDL由計(jì)算鏈生成。這里的基表、視圖首先直接來(lái)源于業(yè)務(wù)分析得到的構(gòu)件,根據(jù)這些原始的構(gòu)件的內(nèi)容及其之間的關(guān)系,先進(jìn)行基表設(shè)

10、計(jì),包括數(shù)據(jù)庫(kù)范式設(shè)計(jì)(消除多對(duì)多關(guān)系、確保達(dá)到第三范式)、關(guān)鍵字設(shè)計(jì)、字段類型設(shè)計(jì)、字段長(zhǎng)度設(shè)計(jì)、取值范圍設(shè)計(jì)等;視圖設(shè)計(jì)使用計(jì)算鏈進(jìn)行,包括字段引用設(shè)計(jì)、字段運(yùn)算關(guān)系設(shè)計(jì)、字段約束關(guān)系設(shè)計(jì)等。PlayCASE能夠自動(dòng)生成有關(guān)基本表的字典——“實(shí)體屬性表”。視圖“銷售日?qǐng)?bào)”設(shè)計(jì):=======================訂單.商品代碼發(fā)貨單.發(fā)貨日期FROM訂單發(fā)貨單WHEREJoinedConditions(訂單.商品代碼=發(fā)貨

溫馨提示

  • 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ù)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論