ASP.NET MVC + ADO.NET EF 项目实战(二):设计过程与设计工具
工欲善其事,必先利其器。好的工具能夠成倍提升工作效率。ASP.NET MVC和ADO.NET EF也是因?yàn)槠涔ぞ叱錾艿綒g迎。例如:
- MVC所提供的View模板工具;
- MVC所提供的View切換、向?qū)Чぞ?#xff1b;
- ADO.NET EF提供的模型設(shè)計(jì)工具;
- ADO.NET EF提供的數(shù)據(jù)庫(kù)模型導(dǎo)入工具。
本文僅僅討論項(xiàng)目實(shí)戰(zhàn)中的設(shè)計(jì)工具。
需求設(shè)計(jì)工具
本文所指的需求設(shè)計(jì)是指將需求規(guī)格說(shuō)明書(SRS)展開為詳細(xì)設(shè)計(jì)說(shuō)明書(PDS)的過(guò)程。Visual Studio即使是TeamSuit版本也沒(méi)有提供需求設(shè)計(jì)工具。對(duì)于架構(gòu)師而言,這的確是一個(gè)遺憾。導(dǎo)致這一遺憾的主要原因并不在Microsoft,而是業(yè)界沒(méi)有統(tǒng)一的需求設(shè)計(jì)標(biāo)準(zhǔn)。需求設(shè)計(jì)有三個(gè)范疇:
- 需求歸納和抽象:產(chǎn)生需求任務(wù)、需求序列和需求限制
- 需求映射:模塊及功能分割、模塊與任務(wù)對(duì)應(yīng)
- 用例展開:產(chǎn)生具體用例
對(duì)于系統(tǒng)總體來(lái)說(shuō),需求設(shè)計(jì)是細(xì)化;對(duì)于模塊設(shè)計(jì)來(lái)說(shuō),需求設(shè)計(jì)是抽象;對(duì)于開發(fā)工作項(xiàng)來(lái)說(shuō),需求設(shè)計(jì)是大綱。如果你是一名電影導(dǎo)演,把一個(gè)電影文學(xué)劇本變成一個(gè)分鏡頭劇本的過(guò)程就是需求設(shè)計(jì)。
最常用的需求設(shè)計(jì)方法 就是石川圖法,俗稱魚骨圖法。一語(yǔ)道破天機(jī),最好的需求設(shè)計(jì)工具就是思維導(dǎo)圖,也稱為頭腦風(fēng)暴。
我見(jiàn)過(guò)的最好的思維導(dǎo)圖工具就是Mindjet MindManager。最新的版本是8.0。
數(shù)據(jù)庫(kù)設(shè)計(jì)工具
有了PDS,就可以進(jìn)行數(shù)據(jù)庫(kù)設(shè)計(jì)了。如果你理解的數(shù)據(jù)庫(kù)設(shè)計(jì)就是建表、建字段、建存貯過(guò)程,那你就太草率了,就不能算是合格的設(shè)計(jì)人員。數(shù)據(jù)庫(kù)設(shè)計(jì)是基于Entity Ralationship的,除了Table、Column這些主要的數(shù)據(jù)庫(kù)對(duì)象外,必須將每一個(gè)編碼映射到業(yè)務(wù)細(xì)節(jié)。你的設(shè)計(jì)成果,必須令每一個(gè)閱讀者都可以快速地了解每一個(gè)規(guī)則的細(xì)節(jié)。數(shù)據(jù)庫(kù)設(shè)計(jì)成果是設(shè)計(jì)業(yè)務(wù)層的基礎(chǔ)。聰明的業(yè)務(wù)設(shè)計(jì)人員會(huì)把一個(gè)ER圖置于手邊,隨時(shí)查閱。
如果你用MS SQL Server可以直接在SQL Server Management Studio中進(jìn)行設(shè)計(jì),當(dāng)然,這樣設(shè)計(jì)的缺陷是直接產(chǎn)生了初始數(shù)據(jù)庫(kù)而不是文檔化的Schema,無(wú)法保存復(fù)雜的業(yè)務(wù)信息。在你需要重復(fù)利用數(shù)據(jù)庫(kù)設(shè)計(jì)成果的時(shí)候,不得不繞一些彎子,例如,你不得不面對(duì)類似ADO.NET EF從數(shù)據(jù)庫(kù)導(dǎo)入模型這樣的困擾。所以,我的建議還是去選擇一個(gè)適合自己的數(shù)據(jù)庫(kù)設(shè)計(jì)工具。
我見(jiàn)過(guò)的最好的數(shù)據(jù)庫(kù)設(shè)計(jì)工具仍然是Power Designer。最新的版本是15.0。對(duì)細(xì)節(jié)的不斷追求,令用戶感受到PD的體貼入微。
當(dāng)然,ER設(shè)計(jì)工具的鼻祖ER Studio也是一個(gè)非常好的選擇,ER Studio最新的版本是8.0,是最新版本的RAD Studio 2010的標(biāo)準(zhǔn)數(shù)據(jù)庫(kù)設(shè)計(jì)工具配置。當(dāng)然,用起來(lái)也非常方便,并支持各種UML文檔格式的導(dǎo)入導(dǎo)出。
此外,有很多免費(fèi)的ER設(shè)計(jì)工具,都提供了數(shù)據(jù)庫(kù)概念模型與物理模型的可視化設(shè)計(jì),并且不限定目標(biāo)數(shù)據(jù)庫(kù)平臺(tái)。
XML設(shè)計(jì)工具
XML在系統(tǒng)設(shè)計(jì)中的作用越來(lái)越廣。十年來(lái),我所有經(jīng)歷的項(xiàng)目都無(wú)法回避對(duì)XML的需要。適當(dāng)?shù)腦ML文檔不僅填補(bǔ)了語(yǔ)言功能的不足,使系統(tǒng)實(shí)施時(shí)足夠靈活,而且對(duì)于處理非扁平數(shù)據(jù)結(jié)構(gòu)極為方便。特別是當(dāng)前的數(shù)據(jù)庫(kù)系統(tǒng)大都支持XML數(shù)據(jù)處理,廣泛使用XML可以極大地簡(jiǎn)化業(yè)務(wù)邏輯。例如處理業(yè)務(wù)規(guī)則配置(如權(quán)限),XML相比Attribute更自由靈活。
可選的XML工具非常多,常用的有三個(gè):Visual Studio本身:Visual Studio本身就有比較強(qiáng)的XML設(shè)計(jì)功能,但不支持XPath一直以來(lái)對(duì)我來(lái)說(shuō)都是一個(gè)困惑;Altova XMLSpy和Stylus Studio:都是非常專業(yè)的XML工具,可惜用起來(lái)略顯笨重。以下是我個(gè)人對(duì)以上三個(gè)工具特性的簡(jiǎn)單評(píng)價(jià)。
| 特性 | Visual Studio | Stylus Studio | Altova XMLSpy |
| 編輯功能 | +++ | ++ | +++ |
| 命名空間支持 | +++ | +++ | +- |
| Schema設(shè)計(jì) | + | ++ | ++ |
| 智能感知 | +++ | ++ | +++ |
| XPath支持 | - | +++ | ++ |
| XSLT支持 | + | +++ | ++ |
| 外觀 | +++ | ++ | ++ |
當(dāng)然,不容置疑的是,Visual Studio是最方便的。
轉(zhuǎn)載于:https://www.cnblogs.com/Barton131420/archive/2009/09/29/1576471.html
總結(jié)
以上是生活随笔為你收集整理的ASP.NET MVC + ADO.NET EF 项目实战(二):设计过程与设计工具的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 人工鱼群算法解决TSP问题
- 下一篇: Java编码规范总结