<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    xyz20003

    www.mossle.com
    隨筆 - 34, 文章 - 0, 評(píng)論 - 124, 引用 - 0
    數(shù)據(jù)加載中……

    數(shù)據(jù)建模與業(yè)務(wù)建模

    數(shù)據(jù)建模與業(yè)務(wù)建模

    無(wú)論是企業(yè)信息系統(tǒng)還是web網(wǎng)站,各種大小程序的原始功能都是對(duì)數(shù)據(jù)的操作,可以看做是某一群體對(duì)一些數(shù)據(jù)的各種需求造就了一個(gè)又一個(gè)的程序,或者說(shuō)是軟件系統(tǒng)。

    回頭想想,第一刻起我們就開(kāi)始和數(shù)據(jù)打交道了,新項(xiàng)目開(kāi)始的時(shí)候我們先要做什么呢?用第三方依賴(lài)搭個(gè)框架,設(shè)計(jì)目錄結(jié)構(gòu)嗎?不對(duì),這些都是技術(shù)儲(chǔ)備,應(yīng)該是在項(xiàng)目啟動(dòng)之前就完成的了。項(xiàng)目啟動(dòng)的一刻我們?cè)谧龅墓ぷ骺偸菍?duì)數(shù)據(jù)的分析。

    我們要分析數(shù)據(jù)結(jié)構(gòu),理清數(shù)據(jù)關(guān)系,確定數(shù)據(jù)類(lèi)型,還要兼顧數(shù)據(jù)量的大小,現(xiàn)在至少不用考慮數(shù)據(jù)的存儲(chǔ)媒介了,因?yàn)槭邪司哦家脭?shù)據(jù)庫(kù),除了極少數(shù)情況應(yīng)該不會(huì)有人選擇自己編寫(xiě)文件系統(tǒng)進(jìn)行數(shù)據(jù)的存儲(chǔ)了吧?

    上 面的這些步驟就叫做數(shù)據(jù)建模,搞程序的同志們肯定相當(dāng)輕車(chē)熟路了,從拿到用戶的第一個(gè)表單開(kāi)始,在ER圖中拖出第一個(gè)Table,我們就開(kāi)始進(jìn)行數(shù)據(jù)模型 的設(shè)計(jì),設(shè)計(jì)好的數(shù)據(jù)模型將固化在某一種媒介中(基本都是數(shù)據(jù)庫(kù)),應(yīng)用系統(tǒng)的用途就是為用戶提供一個(gè)界面,讓他們對(duì)固化在媒介中(一般都是數(shù)據(jù)庫(kù))的數(shù) 據(jù)進(jìn)行操作。

    怎 么才算是良好的數(shù)據(jù)模型呢?首先它要滿足數(shù)據(jù)固化的基本要求,所有必須的數(shù)據(jù)都必須能夠保存在數(shù)據(jù)庫(kù)里,其次這些數(shù)據(jù)的結(jié)構(gòu)應(yīng)該是容易被應(yīng)用程序操作的, 無(wú)論是增刪查改、數(shù)據(jù)校驗(yàn)、數(shù)據(jù)安全、搜索查詢、統(tǒng)計(jì)匯總、數(shù)據(jù)導(dǎo)出等等功能都是可以實(shí)現(xiàn)的,而且效率不能太低。如果能夠?qū)崿F(xiàn)以上兩條,基本就可以算是一 個(gè)良好的數(shù)據(jù)模型了,這樣用戶就可以借助應(yīng)用程序?qū)?shù)據(jù)庫(kù)中自己所需的數(shù)據(jù)進(jìn)行管理、操作。

    但 是還有一個(gè)問(wèn)題,是否只要提供了這些功能就足以滿足用戶的要求了呢?從上面列出的功能中我們就可以了解到,無(wú)論是CRUD增刪查改,還是查詢統(tǒng)計(jì),無(wú)非是 “更新(update)”,“查詢(Read)”,“校驗(yàn)(Check)”三個(gè)基本操作的實(shí)現(xiàn),這些操作都是基于靜態(tài)數(shù)據(jù)的單步操作,應(yīng)用程序只是在數(shù)據(jù) 外面簡(jiǎn)單包裝了薄薄的一層,用戶面對(duì)的和要操作管理的依然是后面整個(gè)數(shù)據(jù)模型。

    這個(gè)問(wèn)題可以歸結(jié)到:我們解決了用戶想要什么(What),但是并沒(méi)有了解用戶需要怎么做(How)。

    數(shù) 據(jù)建模解決了數(shù)據(jù)如何存儲(chǔ),存儲(chǔ)的格式,以及怎么獲得已經(jīng)存儲(chǔ)的數(shù)據(jù)的問(wèn)題,數(shù)據(jù)建模完成了數(shù)據(jù)固化和檢索的任務(wù),數(shù)據(jù)建模歸根結(jié)底是對(duì)靜態(tài)數(shù)據(jù)的建模, 給你一張ER圖,你很容易就可以了解到數(shù)據(jù)的類(lèi)型、數(shù)據(jù)的關(guān)系,但是你無(wú)法從這些數(shù)據(jù)格式數(shù)據(jù)關(guān)系中弄明白客戶到底需要利用這些數(shù)據(jù)完成什么樣的任務(wù)。不 清楚這些數(shù)據(jù)從何而來(lái),到何處去,也就決定了你編寫(xiě)的應(yīng)用系統(tǒng)只能包含一個(gè)錄入界面,一個(gè)查詢界面,無(wú)法再為最終用戶提供更多的功能,因?yàn)槟闶种兄挥徐o止 不動(dòng)的數(shù)據(jù)而已。

    因此,為了讓?xiě)?yīng)用系統(tǒng)可以肩負(fù)起更多的功能,我們需要在業(yè)務(wù)模型的基礎(chǔ)之上進(jìn)行業(yè)務(wù)建模,比如一個(gè)文章發(fā)布系統(tǒng)中的表結(jié)構(gòu)如下所示:

    從 表結(jié)構(gòu)中可以看到一個(gè)文章包含主鍵(ID),作者(author),內(nèi)容(content),狀態(tài)(status),創(chuàng)建時(shí)間(create_time) 和修改時(shí)間(update_time)。狀態(tài)(status)字段類(lèi)型為整形,可能的值為0, 1, 2, 3四種。單單從數(shù)值上來(lái)說(shuō),除了建表的人誰(shuí)也搞不清楚這四個(gè)狀態(tài)到底有什么作用,但是只要配合下面的流程圖這個(gè)問(wèn)題就可以迎刃而解了。

    業(yè) 務(wù)建模的目標(biāo)是在數(shù)據(jù)模型的基礎(chǔ)上,讓?xiě)?yīng)用程序幫助最終用戶解決實(shí)際業(yè)務(wù)中出現(xiàn)的問(wèn)題,它所感興趣的方面數(shù)據(jù)的流向和狀態(tài)的變遷,從上面的流程圖我們就可 以看到,雖然status擁有4個(gè)狀態(tài),但是這4個(gè)狀態(tài)并不是可以隨意轉(zhuǎn)換的,“文章起草”(status=0)只能轉(zhuǎn)變?yōu)?#8220;提交待審批” (status=1),而“審批完成”(status=2)作為一個(gè)終止?fàn)顟B(tài)是不能再發(fā)生改變的。這些功能需求都是數(shù)據(jù)建模階段無(wú)法解決的,只有通過(guò)對(duì)業(yè) 務(wù)邏輯,業(yè)務(wù)流程的梳理分析才能在應(yīng)用程序中為最終用戶提供這些功能。

    業(yè)務(wù)建模讓數(shù)據(jù)模型變得有血有肉,結(jié)合了業(yè)務(wù)的數(shù)據(jù)不再是單薄的骨架,而是變成了鮮活的生靈。

    我 們借助一個(gè)最簡(jiǎn)單的發(fā)文審批流程向大家介紹了數(shù)據(jù)建模與業(yè)務(wù)建模的關(guān)系,希望大家能夠借此了解軟件開(kāi)發(fā)中業(yè)務(wù)流程與數(shù)據(jù)模型之間的關(guān)系,別小看文章表結(jié)構(gòu) 中的status狀態(tài)位,它已經(jīng)初具了有限狀態(tài)機(jī)(FSM, Finite State Machine)的雛形,很多簡(jiǎn)易的工作流引擎都是基于FSM來(lái)實(shí)現(xiàn)的,所以請(qǐng)切實(shí)體會(huì)一下實(shí)際開(kāi)發(fā)中流程的作用,你可能沒(méi)有使用工作流,但是我們所面對(duì) 的問(wèn)題和解決的方式卻是大同小異的。

    posted on 2009-11-20 09:41 臨遠(yuǎn) 閱讀(2336) 評(píng)論(3)  編輯  收藏

    評(píng)論

    # re: 數(shù)據(jù)建模與業(yè)務(wù)建模  回復(fù)  更多評(píng)論   

    寫(xiě)得不錯(cuò),蠻好.
    2009-11-22 10:15 | norsor

    # re: 數(shù)據(jù)建模與業(yè)務(wù)建模  回復(fù)  更多評(píng)論   

    思路不錯(cuò),不過(guò)深度和系統(tǒng)性可能還應(yīng)該再好一些。
    2009-11-23 13:51 | 大衛(wèi)

    # re: 數(shù)據(jù)建模與業(yè)務(wù)建模  回復(fù)  更多評(píng)論   

    很好,寫(xiě)得很好,有限狀態(tài)機(jī)是不是對(duì)應(yīng)了一種模式
    2009-12-08 09:06 | 三上

    只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。


    網(wǎng)站導(dǎo)航:
     
    主站蜘蛛池模板: 亚洲精品无码不卡在线播放HE| 亚洲国产精品网站久久| 三年片在线观看免费大全电影 | 亚洲午夜一区二区电影院| 日本a级片免费看| aaa毛片免费观看| 亚洲人成伊人成综合网久久| 四虎永久免费观看| 巨波霸乳在线永久免费视频| 国产亚洲福利精品一区二区| 亚洲动漫精品无码av天堂| 无码高潮少妇毛多水多水免费| 国产高清对白在线观看免费91| 亚洲中文久久精品无码1 | 亚洲一线产区二线产区区| 亚洲精品无码专区2| 91精品免费国产高清在线| fc2成年免费共享视频网站| 亚洲综合中文字幕无线码| 亚洲精品无码久久千人斩| 日本免费一区尤物| 天天影院成人免费观看| 一级视频免费观看| 亚洲精品美女久久7777777| 亚洲另类激情综合偷自拍| 亚洲国产成人精品久久久国产成人一区二区三区综 | 黄页网站免费观看| 国产精品小视频免费无限app| 亚洲伊人色一综合网| 亚洲精品中文字幕乱码三区| 性做久久久久免费看| 99在线精品视频观看免费| 国产婷婷成人久久Av免费高清| 精品韩国亚洲av无码不卡区| 亚洲精品高清国产麻豆专区| 成人午夜亚洲精品无码网站| 国产精品免费视频网站| AA免费观看的1000部电影| 未满十八18禁止免费无码网站| 人妻仑乱A级毛片免费看| 含羞草国产亚洲精品岁国产精品|