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

推荐订阅源

L
LangChain Blog
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
T
The Blog of Author Tim Ferriss
Recent Announcements
Recent Announcements
Martin Fowler
Martin Fowler
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
Engineering at Meta
Engineering at Meta
雷峰网
雷峰网
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
Microsoft Azure Blog
Microsoft Azure Blog
Microsoft Security Blog
Microsoft Security Blog
Stack Overflow Blog
Stack Overflow Blog
Webroot Blog
Webroot Blog
MongoDB | Blog
MongoDB | Blog
AI
AI
WordPress大学
WordPress大学
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
Help Net Security
Help Net Security
L
LINUX DO - 最新话题
T
Troy Hunt's Blog
J
Java Code Geeks
F
Fortinet All Blogs
The Cloudflare Blog
Cisco Talos Blog
Cisco Talos Blog
S
SegmentFault 最新的问题
A
Arctic Wolf
C
Cybersecurity and Infrastructure Security Agency CISA
M
MIT News - Artificial intelligence
The Hacker News
The Hacker News
G
GRAHAM CLULEY
H
Hacker News: Front Page
V
Vulnerabilities – Threatpost
L
Lohrmann on Cybersecurity
P
Privacy International News Feed
N
News and Events Feed by Topic
D
Darknet – Hacking Tools, Hacker News & Cyber Security
Cyberwarzone
Cyberwarzone
T
Threatpost
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
酷 壳 – CoolShell
酷 壳 – CoolShell
S
Securelist
博客园 - 【当耐特】
MyScale Blog
MyScale Blog
Project Zero
Project Zero
Google DeepMind News
Google DeepMind News
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
T
Tailwind CSS Blog
Security Archives - TechRepublic
Security Archives - TechRepublic
A
About on SuperTechFans
Simon Willison's Weblog
Simon Willison's Weblog

博客园 - 双鱼座

永中科技倒闭的另一面 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是最方便的。