摘要: http://www.cnblogs.com/gisdev/archive/2007/11/15/959843.html今天应用用例图对一个系统进行了分析,期间需要考虑用例间关系。随找到如下资料。 正文: 用例图主要用来图示化系统的主事件流程,它主要用来描述客户的需求,即用户希望系统具 备的完成一定功能的动作,通俗地理解用例就是软件的功能模块,所以是设计系统分析阶段的起点,设计人员根据客户的需求来创建和解释用例图,用来描述软件应 具备哪些功能模块以及这些模块之间的调用关系,用例图包含了用例和参与者,用例之间用关联来连接以求把系统的整个结构和功能反映给非技术人员(通常是软件 的用户),对应的是软 阅读全文
posted @ 2011-07-05 13:29 quietwalk 阅读(564) 评论(0) 推荐(0) 编辑
摘要: http://blog.sina.com.cn/s/blog_6ad539a90100rc4n.html 现在我们已经完成了这个网站中的主要功能。但我们还需要为整个网站的导航,首页与书籍列表页面做一点最终的修改。 10.1 创建购物摘要分部视图 首先,我们想要在整个网站中显示用户购物车中的书籍数量,如图10-1所示。 图10-1 在整个网站中显示用户购物车中的书籍数量 通过创建一个分部视图,然后在网站公用视图模板中使用这个分部视图,我们可以很容易地实现这个处理。 在购物车控制器(ShoppingCartController.cs)中使用一返回分部视图的CartSummary方法,代码如下所示。 阅读全文
posted @ 2011-07-05 12:13 quietwalk 阅读(783) 评论(0) 推荐(0) 编辑
摘要: http://blog.sina.com.cn/s/blog_6ad539a90100raj1.html 9.5 为Order类定义验证规则 现在我们的视图已经编写完成了,与之前在Book(书籍)类中所作的做法相同,我们将为我们的Order(订单)类添加验证规则。鼠标右击Models文 件夹,追加一个名为Order的类。除了我们之前在Book类中使用过的验证属性之外,我们还将使用一个正则表达式来验证用户的e-mail地址。 Order类的完整代码如代码清单9-3所示。 代码清单9-3 Order类的完整代码 using System.Collections.Generic; using Sys 阅读全文
posted @ 2011-07-05 12:12 quietwalk 阅读(470) 评论(0) 推荐(0) 编辑
摘要: http://blog.sina.com.cn/s/blog_6ad539a90100rag1.html在本节中,我们将要创建一个下订单控制器,该控制器将获取购买者的收货地址与付款信息。在下订单之前,用户首先需要在网站中进行注册,因此在访问这个控制器的时候需要进行用户身份认证处理。 点击图9-1中所示视图中的“结算”链接之后,用户将进入下订单处理过程。 图9-1 点击“结算”链接 如果用户尚未登陆,他们将会看见登陆视图,如图9-2所示。 图9-2 登陆视图 用户成功登陆之后,将看见收货信息填写视图,如图9-3所示。 图9-3 收货信息填写视图 填写完毕收货信息并提交之后,他们将会看见订单完成通 阅读全文
posted @ 2011-07-05 12:11 quietwalk 阅读(928) 评论(0) 推荐(0) 编辑
摘要: http://blog.sina.com.cn/s/blog_6ad539a90100r8gv.html 8.4 购物车控制器 购物车控制器中主要实现三个处理:将书籍加入购物车,将书籍从购物车中删除,查阅购物车中书籍信息。它主要使用我们刚才创建的三个类:ShoppingCartViewModel类、ShoppingCartRemoveViewModel类与ShoppingCart类。与Store控制器与StoreManager控制器一样,我们需要添加引用一个BookStoreEntities对象。 追加一个ShoppingCart控制器,保持“为‘创建’、‘更新’、‘删除’和‘详细信息’方案添 阅读全文
posted @ 2011-07-05 12:10 quietwalk 阅读(1108) 评论(0) 推荐(1) 编辑
摘要: http://blog.sina.com.cn/s/blog_6ad539a90100r8gr.html8.2 实现购物逻辑 接下来,我们在Models文件夹中添加一个ShoppingCart(购物车)类。这个ShoppingCart模型处理对于Cart(购物车)数据表的数据访问。另外,还处理将书籍添加到购物车与从购物车中删除书籍的业务逻辑。 因为我们不想要让用户必须经过注册才能将书籍放入购物车中,所以当用户使用购物车时,我们需要指定给用户一个临时唯一标识(使用一个GUID,或者说全球唯一标识符)。我们使用ASP.NET的Session类来存储这个ID。 请注意:ASP.NET中的Sessio 阅读全文
posted @ 2011-07-05 12:08 quietwalk 阅读(1044) 评论(0) 推荐(0) 编辑
摘要: http://blog.sina.com.cn/s/blog_6ad539a90100r8gl.html 在本网站中,我们允许用户不用注册而直接将书籍放入购物车,直到下订单时才需要在网站中注册。因此购物逻辑与下订单逻辑分为两个控制器来进行处理:一个购 物控制器允许匿名用户将书籍放入购物车中,一个下订单控制器用来处理下订单的过程。在本节中,我们介绍购物控制器,在下一节中介绍下订单控制器。 8.1 追加购物车、订单与订单细节模型类 购物逻辑与下订单逻辑将要使用到一些新的模型类。鼠标右击Models文件夹,追加一个Cart(购物车)类(Cart.cs文件),并且写入代码清单8-1中所示的代码。 代码 阅读全文
posted @ 2011-07-05 12:07 quietwalk 阅读(501) 评论(0) 推荐(0) 编辑
摘要: http://blog.sina.com.cn/s/blog_6ad539a90100r7jx.html 现在的问题是任何用户都可以通过StoreManager控制器来访问我们的书籍管理页面。接下来让我们添加权限设置,限定只有管理员可以访问该页面。 7.1 追加Account(帐户)控制器及视图 在ASP.NET MVC 3中,一个完整的的Web应用程序模板与空的Web应用程序模板的区别之一就是空的模板中不包括Account(帐户,或者说用户)控制器。我们的做法是任意新建一个具有完整的ASP.NET MVC3 Web应用程序模板的应用程序,然后从中拷贝一些文件过来。 任意创建一个具有完整模板的 阅读全文
posted @ 2011-07-05 12:06 quietwalk 阅读(1397) 评论(0) 推荐(0) 编辑
摘要: http://blog.sina.com.cn/s/blog_6ad539a90100r46j.html5.7 创建数据添加视图 5.7.1 实现添加书籍所用方法 现在我们已经可以使用我们的StoreManager控制器来对书籍进行编辑操作了。接下来,我们来看一下如何进行书籍的添加操作。 与我们的编辑场景类似,我们将要在控制器类中使用两个不同的方法来实现对于书籍的添加操作。当首次访问“/StoreManager/Create”这个 URL地址的时候,调用第一个方法来显示一个空白表单。当管理员在该表单中填写完毕书籍信息并且点击保存按钮,将表单值作为一个HTTP-POST请求来 进行提交的时候调用 阅读全文
posted @ 2011-07-05 12:04 quietwalk 阅读(965) 评论(0) 推荐(0) 编辑
摘要: http://blog.sina.com.cn/s/blog_6ad539a90100r469.html 5.5 使用HTML帮助器来截短文字 使用我们的StoreManager控制器中的Index方法添加视图的时候,有一个潜在的问题。事实上,我们的书名与作者名属性的长度值可能超出页面上 所定义的这两个列的长度。我们将要专门创建一个HTML帮助器来很轻松地在页面上截短从这两个属性或其他属性中读取出来的文字。 另外,此处所讲的完全是一个小的技巧,所以你如果不想使用这个技巧的话也无关紧要。学习书写自己的HTML帮助器可以帮助简化你的代码书写工作,但它不是一个必须要掌握的基础知识。 在解决方案资源管 阅读全文
posted @ 2011-07-05 12:03 quietwalk 阅读(1287) 评论(1) 推荐(0) 编辑
摘要: http://blog.sina.com.cn/s/blog_6ad539a90100r469.html5.5 使用HTML帮助器来截短文字 使用我们的StoreManager控制器中的Index方法添加视图的时候,有一个潜在的问题。事实上,我们的书名与作者名属性的长度值可能超出页面上 所定义的这两个列的长度。我们将要专门创建一个HTML帮助器来很轻松地在页面上截短从这两个属性或其他属性中读取出来的文字。 另外,此处所讲的完全是一个小的技巧,所以你如果不想使用这个技巧的话也无关紧要。学习书写自己的HTML帮助器可以帮助简化你的代码书写工作,但它不是一个必须要掌握的基础知识。 在解决方案资源管. 阅读全文
posted @ 2011-07-05 12:02 quietwalk 阅读(986) 评论(0) 推荐(0) 编辑
摘要: http://blog.sina.com.cn/s/blog_6ad539a90100r45h.html 在上一节里,我们从数据库中读取了数据并将其显示在页面上。在本章中,我们将实现对于数据的编辑操作。 5.1 创建的带有Create,Update,Delete与Details方法的控制器 首先,我们将要创建一个新的控制器,名为StroeManagerController。这个控制器将要支持Create(创建数据)action方法与 Update(更新数据)action方法。所以在创建控制器的时候,我们需要选取“为Create,Update,Delete与Details场景添 加action方 阅读全文
posted @ 2011-07-05 11:16 quietwalk 阅读(646) 评论(0) 推荐(0) 编辑
摘要: http://blog.sina.com.cn/s/blog_6ad539a90100qojx.html现在,我们已经能够把静态数据从控制器传入我们的视图模板中了。接下来,我们将要使用数据库中的数据。在本教程中,我们使用SQL Server Express来作为我们的数据库引擎。 4.1 使用Entity Framework code-first连接数据库 在本教程中,我们使用.NET 4中的Entity Framework(EF)来访问数据库以及对数据库中的数据进行增删查改操作。EF是一个非常灵活的对象关系映射(ORM:object relational mapping)数据库API,它使得 阅读全文
posted @ 2011-07-05 11:14 quietwalk 阅读(3287) 评论(2) 推荐(0) 编辑
摘要: http://blog.sina.com.cn/s/blog_6ad539a90100qmnd.html现在我们已经可以从控制器的action方法中返回字符串了。我们可以藉此来理解控制器是如何来工作的。但在真正的Web应用程序中大多数情况下返 回的都不仅仅是一个字符串。我们更需要的是当用户输入URL地址请求时,能够返回给浏览器一串HTML格式的输出流,我们可以借由模板文件来更方便地定制 这个HTML格式的输出流,并将其返回。在ASP.NET MVC中,将这个模板文件称之为视图。 3.1 追加一个视图模板 为了要使用视图模板,我们修改HomeController控制器中的Index方法,使其返回 阅读全文
posted @ 2011-07-05 11:12 quietwalk 阅读(1470) 评论(0) 推荐(0) 编辑
摘要: http://blog.sina.com.cn/s/blog_6ad539a90100qe6x.html在传统的Web应用程序中,输入的URL通常被映射为一个磁盘文件。例如:一个类似“/Products.aspx”或“/Products.php”的URL请求会由一个“Products.aspx”或“Products.php”文件来进行处理。 在使用MVC框架的Web应用程序中,在处理URL请求时使用了一个稍微有点区别的映射方式。URL请求会被映射为某个类的某个方法,而不是被映射为一个 文件。这些映射URL请求的类被称为控制器,负责处理传入的HTTP请求,处理用户输入,获取与保存数据,执行返回给 阅读全文
posted @ 2011-07-05 11:10 quietwalk 阅读(618) 评论(0) 推荐(1) 编辑
摘要: http://blog.sina.com.cn/s/blog_6ad539a90100qc9t.html1.1 ASP.NET MVC3书店概述 ASP.NET MVC3书店是一个仅作为示例所用的虚拟网站(并非实际运行中的网站),通过该网站的建立来一步步介绍如何使用ASP.NET MVC与Visual Studio来进行Web网站及Web应用程序的开发。我们从最基础的知识开始介绍起,所以零经验的Web新手也可以看懂本教程中的内容。 我们将要建立的网站是一个最简单的Web书店,具有三个主要组成部分:挑选书籍、书款结算与订单管理。用户可以通过书籍的种类来挑选书籍,可以查看单个书 籍的信息并将该书籍 阅读全文
posted @ 2011-07-05 11:08 quietwalk 阅读(1131) 评论(0) 推荐(0) 编辑
摘要: 9.1 实现数据的明细信息视图 首先,让我们来看一下如何实现一条数据的明细信息视图。为了更好地体会这一功能,首先我们在前文所述的电影清单视图(Views文件夹下面的Movies 文件夹下面的Index.cshtml文件)中删除电影清单中的种类、票价、电影等级字段,使其代码如代码清单9-1中所示。 代码清单9-1 修改后的Index.cshtml文件 @model IEnumerable<MvcMovie.Models.Movie> @{ ViewBag.Title = "电影清单"; } <h2>我的电影清单</h2> <p> 阅读全文
posted @ 2011-07-05 11:03 quietwalk 阅读(1177) 评论(0) 推荐(0) 编辑
摘要: 本节介绍如何在我们的Movie(电影)模型中添加一些验证规则,同时确认当用户使用我们的应用程序创建或编辑电影信息时将使用这些验证规则对用户输入的信息进行检查。 8.1 DRY原则 在ASP.NET MVC中,有一条作为核心的原则,就是DRY(“Don’t Repeat Yourself,中文意思为:不要让开发者重复做同样的事情)原则。ASP.NET MVC提倡让开发者“一处定义、处处可用”。这样可以减少开发者的代码编写量,同时也更加便于代码的维护。 ASP.NET MVC与EF code-first提供的默认验证规则就是一个实现DRY原则的很好的例子。你也可以在模型类中显式地追加一个验证规则. 阅读全文
posted @ 2011-07-05 11:01 quietwalk 阅读(839) 评论(0) 推荐(0) 编辑
摘要: 在本节中我们将要对我们的模型类进行修改,同时介绍如何在ASP.NET MVC3中根据这些修改来调整我们数据表的结构。 7.1 在我们的Movie模型中添加一个Rating(电影等级)属性 首先,我们在现存的Movie类中添加一个附加的“Rating”属性。打开Movie.cs文件,在Movie类中添加一个Rating属性,如下所示。 public string Rating { get; set; } 现在完整的Movie类的代码如代码清单7-1所示。 代码清单7-1 完整的Movie类的代码 public class Movie { public int ID { get; set; } p 阅读全文
posted @ 2011-07-05 11:00 quietwalk 阅读(2050) 评论(0) 推荐(0) 编辑
摘要: 在本节中我们将要在数据库中追加并保存一些数据。我们将要创建一个表单以及一些表单输入控件,用来输入数据信息。当用户提交表单时将把这些用户输入的信息 保存在数据库中。我们可以通过在浏览器中输入“http://localhost:xx/Movies/Create”这个URL地址来访问这个表单。 6.1 显示追加信息时所用表单 首先,我们需要在我们的MoviesController类中追加一个Create方法,该方法返回一个视图,该视图中包含了用户输入信息时所要用到的表单。 public ActionResult Create() { return View(); } 现在让我们来实现这个Creat. 阅读全文
posted @ 2011-07-05 10:59 quietwalk 阅读(661) 评论(0) 推荐(0) 编辑