户或项目的基本信息,对数据库中的数据进行输出。对用户密码采用MD5加密,同时要求对用户登陆进行保护,并且使用验证码,防止恶意的登陆。
5.2.2需求概述
用户对软件系统要求使用简单方便,必要的功能一定不能少,且界面设计要大方得体,有良好的视觉效果,现在系统没实现功能要记录清楚,系统最后阶段要尽量弥补用户所需的功能。
参见《软件项目管理系统-需求规格说明书》。
5.3总体设计
5.3.1总体结构和模块外部设计
在开发的过程中,采用MCV的系统设计模式,如图5-1所示:
图5-1 MCV交互方式
所谓MVC,指的是一种划分系统功能的方法,它将一个系统划分为三个部分:
模型(Model):封装的是数据源和所有基于对这些数据的操作。在一个组件中,Model往往表示组件的状态和操作状态的方法。
视图(View):封装的是对数据源Model的一种显示。一个模型可以由多个视图,而一个视图理论上也可以同不同的模型关联起来。
控制器(Control):封装的是外界作用于模型的操作。通常,这些操作会转发到模型上,并调用模型中相应的一个或者多个方法。一般Controller在Model和View之间起到了沟通的作用,处理用户在View上的输入,并转发给Model。这样Model和View两者之间可以做到松散耦合,甚至可以彼此不知道对方,而由Controller连接起这两个部分。
MVC实际上是一个比较高层的模式,它由多个更基本的设计模式组合而成,Model-View的关系实际上是Observer模式,模型的状态和试图的显示相互响应,而View-Controller则是由Strategy模式所描叙的,View用一个特定的Controller的实例来实现一个特定的响应策略,更换不同的Controller,可以改变View对用户输入的响应。而其它的一些设计模式也很容易组合到这个体系中。比如,通过Composite模式,可以将多个View嵌套组合起来;通过FactoryMethod?模式来指定View的Controller,等等。
使用MVC的好处,一方面,分离数据和其表示,使得添加或者删除一个用户视图变得很容易,甚至可以在程序执行时动态的进行。Model和View能够单独的开发,增加了程序了可维护性,可扩展性,并使测试变得更为容易。 另一方面,将控制逻辑和表现界面分离,允许程序能够在运行时根据工作流,用户习惯或者模型状态来动态选择不同的用户界面。
5.4接口设计
5.4.1外部接口
服务器端程序可DAO(数据访问对象)应用程序编程接口(API),对MYSQL数据库进行所有的访问。
服务器程序上可使用MYSQL的对数据库备分的命令,以做到对数据的保存。
在网络软件接口方面,使用一种无差错的传输协议,采用滑动窗口方式对数据进行网络传输及接收。
5.4.2内部接口
1、通信。负责系统内部客户端和服务器端组件之间的消息传递,保证传送目的的正确性和消息的完整性。
2、加密。在客户端将要传递到服务器端的消息加密,提供数据安全。在服务器端对接受到的客户端消息解密,以供其他功能模块调用。
3、 数据处理。在客户端将需要传递到服务器端的消息以XML形式格式化,同时在服务器端将XML消息解析为所需要的字符格式。
5.5数据结构设计
5.5.1逻辑结构设计
1、 表汇总
表名 功能说明 project 项目基本信息表 pro_demand 项目需求表 pro_module 项目模块表 worker 员工信息表 positions 职位表 limits 权限表 pos_lim 职位权限表 customer 客户表 wage 工资表 pro_function 项目功能表 pro_plan 项目计划表 sys_module 系统模块表 pro_cost 项目成本表 email 电子邮件表 wagesTyep 工资类型表 task 任务表 rules 制度表 表5-1 表汇总
2、表project
表名 project 列名 数据类型(精度范围) 空/非空 约束条件 id int 非空 主键 title char(50) 空 项目名称 costomer_id int 非空
上一篇:
购书系统设计与实现论文