惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

V
V2EX
C
Check Point Blog
博客园_首页
B
Blog
D
Docker
U
Unit 42
量子位
I
InfoQ
有赞技术团队
有赞技术团队
Martin Fowler
Martin Fowler
GbyAI
GbyAI
L
LangChain Blog
云风的 BLOG
云风的 BLOG
博客园 - Franky
美团技术团队
T
The Blog of Author Tim Ferriss
阮一峰的网络日志
阮一峰的网络日志
月光博客
月光博客
Vercel News
Vercel News
Recent Announcements
Recent Announcements
雷峰网
雷峰网
大猫的无限游戏
大猫的无限游戏
小众软件
小众软件
Google DeepMind News
Google DeepMind News

博客园 - 双鱼座

永中科技倒闭的另一面 ASP.NET MVC + ADO.NET EF 项目实战(三):引入jQuery 虎年刚开头,给大家拜个年... 每一个社区成员,用你的努力为微软平台的开发技术添上一把柴! POCO真那么重要么? 也说 ASP.NET MVC的 Script 管理 IT风云录(开篇词):我们从David Cutler学到什么? ASP.NET MVC的RAD之路(一) 体验ADO.NET Entity Framework的继承 MSDN,微软怎么会这样啊? ASP.NET MVC + ADO.NET EF 项目实战(一):应用程序布局设计 用asp.net mvc写一个后台文件上传 ORM漫谈 对Delphi 7/Delphi 2007的Windows服务类库的一个小改进 案例分析:面向对象得失论 闲话时间调度算法 2007体检结果出来了 在ASP.NET应用程序中捕捉身份验证状态的变化 以非泛型方式调用泛型方法
ASP.NET MVC + ADO.NET EF 项目实战(二):设计过程与设计工具
双鱼座 · 2009-09-29 · via 博客园 - 双鱼座

工欲善其事,必先利其器。好的工具能够成倍提升工作效率。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是最方便的。