View,或者同时改变两者。只要Controller改变了Models的数据或者属性,所有依赖的View都会自动更新。类似的,只要Controller改变了View,View会从潜在的Model中获取数据来刷新自己。MVC模式最早是smalltalk语言研究团提出的,应用于用户交互应用程序中。smalltalk语言和java语言有很多相似性,都是面向对象语言,很自然的SUN在petstore(宠物店)事例应用程序中就推荐MVC模式作为开发Web应用的架构模式。MVC模式是一种架构模式,其实需要其他模式协作完成。在J2EE模式目录中,通常采用service to worker模式实现,而service to worker模式可由集中控制器模式,派遣器模式和Page Helper模式组成。而Struts只实现了MVC的View和Controller两个部分,Model部分需要开发者自己来实现,Struts提供了抽象类Action使开发者能将Model应用于Struts框架中。 4.Struts
Struts是一个基于Sun J2EE平台的MVC框架,主要是采用Servlet和JSP技术来实现的。由于Struts能充分满足应用开发的需求,简单易用,敏捷迅速,一直颇受关注。Struts把Servlet、JSP、自定义标签和信息资源(message resources)整合到一个统一的框架中,开发人员利用其进行开发时不用再自己编码实现全套MVC模式,极大的节省了时间,所以说Struts是一个非常不错的应用框架。使用Struts开发的优点:
(1)层次结构非常清晰,也使得分工很明确;
(2)重用度很高,连数据验证都可以重用,还有一个更好的重用就是Form,Action
是可以很好的重用的; (3)可维护性好。
6
3 总体设计
在进行了需求分析明确了需求以后,根据软件工程学的要求对该系统进行总体设计,确定了该软件所具有的全部功能。
3.1 系统模块总体设计
3.1.1 功能描述
本系统一共分为买家、卖家和管理员三个模块,这三个模块之间算然表面上是相互独立的,但是对数据库的访问上时紧密相连的,三个模块访问的是同一个数据库,只是所访问的表不同而已。每个模块的功能都是按照题目要求来进行制作的,系统在三个大模块的基础上又细分为几个模块。
1.买家分为七个模块:登录、注册、查看所有商品、模糊查询、购物车、修改个人信息、辅助功能。如图3.1所示:
买家功能查看所有商品模糊查询购物车结账修改个人信息退出
图3.1 买家具体功能图
(1) 登录:买家通过登录界面进行登录; (2) 注册:成为本网站买家,才可以进行登录; (3) 查看所有商品:可以进行所有商品的查询操作; (4) 模糊查询:可以按商品类别进行查询;
(5) 购物车包括两个模块:添加到购物车、移除购物车;
7
(6) 修改个人信息:当买家把自己的个人信息填错时,可以进入修改个人信息模块进行修改;
(7) 辅助功能包括七个模块:关于我们、联系我们、用户协议、法律声明、隐私策略、常见问题、退出。
2.卖家包括八个模块:登录、注册、模糊查询、添加商品、修改商品、删除商品、修改个人信息、退出。如图3.2所示:
卖家功能模糊查询商品添加商品修改商品删除商品修改个人信息退出
图3.2 买家具体功能图
(1) 登录:卖家通过登录界面进行登录; (2) 注册:成为本网站卖家,才可以进行登录;
(3) 模糊查询:卖家可以进行商品关键字和商品类别的组合查询,当输入为空时则进行自己全部商品的查询;
(4) 添加商品:卖家把自己要出售的商品信息发布到网上; (5) 修改商品:当买家要修改商品信息时,可以进行此操作; (6) 删除商品:卖家可以对自己发布的商品信息进行删除;
(7) 修改个人信息:修改个人信息:当卖家把自己的个人信息填错时,可以进入修改个人信息模块进行修改; (8) 退出:退出到登录界面。
3.管理员包括六个模块:查看买家个人信息、查看卖家个人信息、删除买家、删除卖家、查看卖家发布商品信息、退出。如图3.3所示:
8
管理员功能查询买家删除买家查询卖家查询卖家商品删除卖家退出
图3.3 管理员具体功能图
3.1.2 性能描述
通过对本项目各方面的分析,认识到一个好的系统在许多方面都有其相应的要求。从以下几个方面对该项目做了具体的性能描述。 1.数据准确度
模糊查询时保证了准确率,所有相应域包含查询关键字的记录都能查到。查询时保证了准确度,查到的记录与给定的单项或组合查询条件完全匹配。 2.操作的准确度
对界面进行操作时做出了准确的反应,不存在不可操控性。 3.时间特性
一般的操作响应均在2-3秒内,尽可能快速的对商品的操作做出快速响应,对系统的各功能以及数据的流入流出均在可接受的时间内完成。 4.错误处理能力
本系统采用struts框架的表单验证,当用户名或密码为空时,显示提示信息。当查询没有结果时,也会给出相应的提示信息,所以具有一定的错误处理能力。 5.安全性
本系统要求用户先进行登录才能使用本网站,若其输入的用户信息在数据库中不存在,则禁止使用本网站,所以本网站具有一定的安全性。
3.1.3 接口描述
任何的项目最注重的就是功能的实现,但是接口亦是系统中不可忽视的一环。在本项目中通过用户界面和数据接口对接口进行描述。
9
1.界面设计
通过jsp进行了相关的页面设计,对企业、药品批发商友好,对鼠标和键盘提供支持,界面的设计遵循了以下的规则:
(1) 界面设计简洁明快,富有个人的特色,且不会有绚丽的色彩修饰; (2) 界面提供简单的错误处理,给出相应的提示;
(3) 界面提供相应的功能信息反馈,用多种信息提示用户当前软件运行的状态,软件界面元件的功能;
(4) 操作可逆,由于所有的信息均在同一界面上显示出来,所以其操作的动作为单个的操作;
(5) 设计了良好的帮助性能;
(6) 遵循了计算机对于词汇的标准,用词精简准确,没有歧义,各界面的意义明 朗。 2.数据接口
本系统的数据接口如下:
买家档案表,卖家档案表,商品信息表,买家商品关系表,卖家商品关系表
3.2 数据分析
数据分析过程同数据库的逻辑结构和物理结构密切相关,需要确定、编制、组织、筛选应用程序所使用的信息。它以一种能够分析和分类的方式来捕获项目的所有信息,这使得某一模型可以直接转化成数据库结构。
我们使用一种信息建模技术,这种技术是通过实体、关系、属性三种基本对象来定义信息。实体是需要维护和使用的相关特性的集合体;属性是实体的特性或特征;关系是实体之间的联系,关系为实体记录(实例)之间的联系和交互作用方式建立了模型。
要确定实体和关系的性质,必须确定单个实体和他们相关属性。为每个对象定义一个完整的描述以及他单独使用的要求,这也包括确定此实体是否使用应用程序的永久需求。
10