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 StudioStylus StudioAltova XMLSpy
编辑功能++++++++
命名空间支持+++++++-
Schema设计+++++
智能感知++++++++
XPath支持-+++++
XSLT支持++++++
外观+++++++

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

转载于:https://www.cnblogs.com/Barton131420/archive/2009/09/29/1576471.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/435764.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【转】DICOM通信 - PDU数据包(2)

转自:DICOM通信 - PDU数据包(2)_翼遥君的博客-CSDN博客 DICOM通信-PDU数据包(1)博客中主要分析了DICOM通信协议的连接协商请求和连接协商应答。 在7个PDU数据包中还有5个数据包,从结构上来看,他们比协议的协商过程要简单明了一些。 这篇博客…

Win CE下编译选项介绍

在WinCE中,在"Build OS”菜单中,我们会看到不同的编译选项: "Sysgen","Build and Sysgen"和"Build and Sysgen current BSP" Sysgen:不用多说,当你在"Catalog&quo…

“启动Word时提示出错,只能用安全模式才能打开”的解决方法

启动Word时提示出错,只能用安全模式才能打开,在这种模式下,一些功能将被禁用。而且,每次启动都会出现这样的提示信息,同事们很多向我求助。提示窗口如下: 于是我采取了以下一些措施: 1、用Offic…

DotNET内存管理与垃圾回收[转]

1. Stack(栈)和Heap(堆)每个线程对应一个stack,线程创建的时候CLR为其创建这个stack,stack主要作用是记录函数的执行情况。值类型变量(函数的参数、局部变量等非成员变量)都分配在st…

WinCE中,环境变量的添加,删除和查询

在WinCE中有很多的环境变量,那么如何设置/删除/查询这些环境变量呢:1. 查询环境变量:当我们在PB里打开或者创建一个工程以后,我们可以在菜单中点 “build”->“Open Release Directory in Build Window”,然后会弹出…

【转】DICOM命令集和数据集解析!!

转自:DICOM命令集和数据集解析 - 微笑的艾米 - 博客园 摘 要:本文通过分析一个典型的DICOM消息,详细地解析了DICOM命令集和数据集的构成方式和其含义。并在此基础上,提出了一种实现DICOM命令集和数据集解析的实施方案&#xff0…

【转】WPF XAML X名称空间详解

转自:WPF XAML X名称空间详解_郎涯技术-CSDN博客 X名称空间里面的成员(如X:Name,X:Class)都是写给XAML编译器看的、用来引导XAML编译器将XAML代码编译为CLR代码。 【X名称空间里面到底都有些什么】 x名称空间映射的是:http://schemas.microsoft.com/winfx/2006/xam…

C++编绎器编绎C语言的问题

由于应用的需要,要在原来的C语言中加入C类,这时就会出现很多类型转换的错误,因为在C语言中默认的是强制转换的,而在C中不会自动强制转换,只能手工强制转化。所以出现错误了,只有一个错误一个错误的改了。我…

关于mult-xip bin的一些资料整理

一.实现multbin 1.首先修改config.bib 比如:#elif defined IMGMULTIBIN; NAME START ADDR SIZE TYPE; ----------------------------------------------------------------NK 80220000 007DE000 RAMIMAGE SHELL 809FE000 001…

x210-II WinCE启动10s,还可继续优化

为提高boot引导速度,,需支持multibin。方法如下: 1.D:\WINCE600\PLATFORM\SMDKV210\SMDKV210.bat REM For Multiple XIP (using demand paging on BINFS) set IMGMULTIXIP1 2.调整config.bib镜像大小 由于系统生成的XIPKERNEL约为3M。大于默认设置。所…

【转】DICOM医学图像处理:DICOM网络传输

背景: 专栏取名为DICOM医学图像处理原因是:博主是从医学图像处理算法研究时开始接触DICOM协议的。当初认识有局限性,认为DICOM只是一个简单的文件格式约定,简而言之,我当时认为DICOM协议就是扩展名为DCM文件的格式说明…

symbian c++ 开发环境Carbide.c++搭建

需要的东东:JDK1.3.1以上(自带了,不用安装),SDK 2.0 以上(CW版本),perl5.8.x carbide.c 免费版本 所以的东西都默认安装,下一步-->下一步,^_^! 现在开发用的最多的可能就是VC6了,听说以…

【转】9、XAML名称空间详解

转自&#xff1a;9、XAML名称空间详解 - 种花生的读书人 - 博客园 XAML命名空间 <Window xmlns"http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x"http://schemas.microsoft.com/winfx/2006/xaml"> </Window> xmlnshttp:…

ASP.NET中使用非托管DLL

在ASP.NET窗体页面中使用非托管的DLL&#xff0c;则该DLL的部署则成了一大麻烦事&#xff0c;你把他放在bin目录下不管用&#xff0c;网上介绍了几种解决办法&#xff0c;貌似有点繁琐&#xff0c;其实只要新建一个程序集项目来封装这个DLL中被调用的函数&#xff0c;然后在Web…

【转】Linux的.a、.so和.o文件

转自&#xff1a;Linux的.a、.so和.o文件_chlele0105的专栏-CSDN博客 在说明Linux的.a、.so和.o文件关系之前&#xff0c;先来看看windows下obj,lib,dll,exe的关系 windows下obj,lib,dll,exe的关系 lib是和dll对应的。lib是静态链接库的库文件&#xff0c;dll是动态链接库的库…

wince使用自定义字体

在wince中使用自定义字体其实很简单&#xff0c;只要将自已的字体加到你的程序中就可以使用了&#xff0c;在使用完后再将其清除掉。以wince中加使用"Georgia”字体为例&#xff1a; 在程序初始化的时候将你的字体加载进程序 AddFontResource(L"NandFlash\\Font\\Geo…

Visual Studio 2008 十大新功能

VS2005还没有最终稳定的版本&#xff0c;但是我想在微软的某个办公室&#xff0c;一个项目组正在研究发展Visual Studio 2008这个版本。我看了一下表&#xff0c;现在的时间是公元2006-3-9日&#xff0c;离微软发布VS2008版的α版还有整整18个月&#xff0c;我不知道它最终会是…

【转】linx 设备名字来由 sd sr sg st

转自&#xff1a;/dev/sr0 与/dev/cdrom_luoweifeng1989的博客-CSDN博客_/dev/sr0 一直不知道 sda sdb sr0 这些名字的前两两个字母是什么意思 > > On Tue, Nov 3, 2009 at 9:34 AM, Derek Broughton > > <derekpointerstop.ca>wrote: > > Transla…

wince6.0中文内核定制

对WinCE体积进行剪裁&#xff0c;并让WinCE支持简体中文和英文显示&#xff0c;默认显示是中文,并以下对字体选取 作详细的说明&#xff1b; 关键操作步骤: 1.先创建一个WINCE内核工程. 2.先打开目标的工程文件&#xff0c;单击“Project”菜单&#xff0c;再单击“Properties-…

java 中的堆和栈

Java把内存划分成两种&#xff1a;一种是栈内存&#xff0c;一种是堆内存。 在函数中定义的一些基本类型的变量和对象的引用变量都在函数的栈内存中分配。 当在一段代码块定义一个变量时&#xff0c;Java就在栈中为这个变量分配内存空间&#xff0c;当超过变量的作用域后&#…