ASP.NET MVC + ADO.NET EF 项目实战(二):设计过程与设计工具

工欲善其事,必先利其器。好的工具能够成倍提升工作效率。ASP.NET MVC和ADO.NET EF也是因为其工具出色而受到欢迎。例如:

  • MVC所提供的View模板工具;
  • MVC所提供的View切换、向导工具;
  • ADO.NET EF提供的模型设计工具;
  • ADO.NET EF提供的数据库模型导入工具。

本文仅仅讨论项目实战中的设计工具。

需求设计工具

本文所指的需求设计是指将需求规格说明书(SRS)展开为详细设计说明书(PDS)的过程。Visual Studio即使是TeamSuit版本也没有提供需求设计工具。对于架构师而言,这的确是一个遗憾。导致这一遗憾的主要原因并不在Microsoft,而是业界没有统一的需求设计标准。需求设计有三个范畴:

  • 需求归纳和抽象:产生需求任务、需求序列和需求限制
  • 需求映射:模块及功能分割、模块与任务对应
  • 用例展开:产生具体用例

对于系统总体来说,需求设计是细化;对于模块设计来说,需求设计是抽象;对于开发工作项来说,需求设计是大纲。如果你是一名电影导演,把一个电影文学剧本变成一个分镜头剧本的过程就是需求设计。

最常用的需求设计方法 就是石川图法,俗称鱼骨图法。一语道破天机,最好的需求设计工具就是思维导图,也称为头脑风暴。

我见过的最好的思维导图工具就是Mindjet MindManager。最新的版本是8.0。

数据库设计工具

有了PDS,就可以进行数据库设计了。如果你理解的数据库设计就是建表、建字段、建存贮过程,那你就太草率了,就不能算是合格的设计人员。数据库设计是基于Entity Ralationship的,除了Table、Column这些主要的数据库对象外,必须将每一个编码映射到业务细节。你的设计成果,必须令每一个阅读者都可以快速地了解每一个规则的细节。数据库设计成果是设计业务层的基础。聪明的业务设计人员会把一个ER图置于手边,随时查阅。

如果你用MS SQL Server可以直接在SQL Server Management Studio中进行设计,当然,这样设计的缺陷是直接产生了初始数据库而不是文档化的Schema,无法保存复杂的业务信息。在你需要重复利用数据库设计成果的时候,不得不绕一些弯子,例如,你不得不面对类似ADO.NET EF从数据库导入模型这样的困扰。所以,我的建议还是去选择一个适合自己的数据库设计工具。

我见过的最好的数据库设计工具仍然是Power Designer。最新的版本是15.0。对细节的不断追求,令用户感受到PD的体贴入微。

当然,ER设计工具的鼻祖ER Studio也是一个非常好的选择,ER Studio最新的版本是8.0,是最新版本的RAD Studio 2010的标准数据库设计工具配置。当然,用起来也非常方便,并支持各种UML文档格式的导入导出。

此外,有很多免费的ER设计工具,都提供了数据库概念模型与物理模型的可视化设计,并且不限定目标数据库平台。

XML设计工具

XML在系统设计中的作用越来越广。十年来,我所有经历的项目都无法回避对XML的需要。适当的XML文档不仅填补了语言功能的不足,使系统实施时足够灵活,而且对于处理非扁平数据结构极为方便。特别是当前的数据库系统大都支持XML数据处理,广泛使用XML可以极大地简化业务逻辑。例如处理业务规则配置(如权限),XML相比Attribute更自由灵活。

可选的XML工具非常多,常用的有三个:Visual Studio本身:Visual Studio本身就有比较强的XML设计功能,但不支持XPath一直以来对我来说都是一个困惑;Altova XMLSpy和Stylus Studio:都是非常专业的XML工具,可惜用起来略显笨重。以下是我个人对以上三个工具特性的简单评价。

特性 Visual Studio Stylus Studio Altova XMLSpy
编辑功能 +++ ++ +++
命名空间支持 +++ +++ +-
Schema设计 + ++ ++
智能感知 +++ ++ +++
XPath支持 - +++ ++
XSLT支持 + +++ ++
外观 +++ ++ ++

当然,不容置疑的是,Visual Studio是最方便的。

posted @ 2009-09-29 16:36 双鱼座 阅读(...) 评论(...) 编辑 收藏