企业通讯录系统
企
业
通
讯
录
系
统
小组成员: 余浩 刘勇 时间: 2015年10月
假设现在你收到老板的指令,要求完成一个员工通讯录,所有员工都可以通过内部网查询这个通讯录。这时你会发现,需求就这么一句话,而这个通讯录系统需要你去完善需求,一切都需要你去构思。
首先,这样的项目就是IT部门的事情,和公司的其他部门没有关系。因此,功能需求可以自己参考各种通讯录构想。如果一个项目涉及多个部门,那就要为项目需求获取安排一个工作流程,以便获得各方认可的需求。
现在我们就可以根据经验将通过通讯录系统的功能做一个描述了,在这里我们构思几个使用场景来描述系统的功能:
用户登录,包括密码更改;
用户选择功能;
查询通讯录;
管理员管理组织结构;
管理员管理员工通讯录和系统用户;
为了简化演示系统,本系统员工和用户一一对应。
当我们构思了以上几个使用场景的时候,我们的大脑里面就浮现出了这些使用场景的页面视图,这时候就要做需求分析了,要对这些功能,流程进行详细的说明。
前面我们已经提出了通讯录的功能,在这里需要将所有的功能都细化出来。我们使用最简单的需求方法,只用语言描述功能和流程。
(1)用户鉴权
用户分为两种:普通用户和管理员用户。当用户输入用户名和密码以后,在客户端验证其是否有效。用户提交用户名和密码后,服务器端程序与数据库交互,验证用户名和密码,如果错误,提示用户错误信息,如果正确,进入功能主页。
(2)功能主页
用户通过鉴权后,如果是普通用户,功能主页显示“密码修改”, “通讯录”功能,如果用户具有管理权限,系统还显示“组织结构管理”,“通讯录/用户管理”。用户单击之后进入功能页面进行操作。
(3)密码修改
用户输入原密码和两次新密码,提交服务器端程序进行处理,更新用户的密码,返回更新结果,并提供返回功能页面的链接。
(4)通讯录查询
以树状结构显示公司的组织结构,用户选中一个组织结构后,立即显示该组织下的所有员工的通讯录,按照姓名进行排序。同时提供按照姓名查询通讯录的功能,用户输入一个员工姓名以后,服务器返回查询结果。
(5)组织结构管理
按照树状结构显示组织结构,管理员可在任何一个组织下添加
新的组织。内容包括:姓名、用户名、密码、分机、电子邮件、性别。选中一个组织的时候还会罗列该组织下的员工,当单击一个员工的时候,在输入框中显示这个员工的信息,也可以修改和删除该员工。 三:设计
前面描述了通讯录系统的功能细节,现在我们就要根据这些功能
细节考虑实现方式了。我们将构思的实现方法按照一定的条理书写出来,这个过程就叫做设计。
(1)模型设计
该系统采用简化的MVC模式,如图6-4所示。
浏览器 数据库
在该模型中,JSP接收用户请求,调用Java Class完成业务处理,JSP从Class获得数据后生成结果页面并返回给浏览器;Java Class通过一个统一的数据操作类来与数据库交互,而这个数据库操作类从Tomcat连接池获得数据库连接。
(2)关键技术
本系统都是普通的编程技术,唯一难点就是如何构造树状的组
织结构。首先树状结构是由父子关系构造出来的,为了构造出父子关 系,我们只需设计一个具有父子关系的数据表就可以了。在代码中可以通过递归的方法取出数据并利用JavaScript和HTML构造出一个可以在页面显示的树。可以从互联网上搜索一个适合我们这个项目的 现成的树状结构显示代码。
(3)模块划分
根据需求,我们将通讯录划分为以下几个模块:
鉴权模块,完成登录验证和密码修改功能。
通讯录模块,完成组织结构管理、通讯录管理、通讯录的显示和查询。
其他,功能页、提示页。
我们将组织结构管理、通讯录管理、通讯录的显示和查询放在一个模块里面,而没有按照功能将它们分开,这是因为这些功能相互依赖,在开发过程中存在复用的可能。
(4) 系统逻辑关系
该系统的逻辑模型设计如图6-5所示。
(5) Web目录结构及包设计
项目目录:addresslist,放置与登录、密码修改、功能选择有关的JSP。
子目录:
Query,放置与通讯录查询有关的JSP。
SYS,放置与组织管理、员工管理有关的JSP。
JS,放置公用的JavaScript。
包设计:
jead.chap5.addresslist。
(6)类和JSP设计