软件项目课程设计报告-用户管理系统的设计与实现.doc_第1页
软件项目课程设计报告-用户管理系统的设计与实现.doc_第2页
软件项目课程设计报告-用户管理系统的设计与实现.doc_第3页
软件项目课程设计报告-用户管理系统的设计与实现.doc_第4页
软件项目课程设计报告-用户管理系统的设计与实现.doc_第5页
免费预览已结束,剩余26页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

西安文理学院 计算机科学系 课程设计报告 设计名称:设计名称: 软件项目设计软件项目设计 设计题目:设计题目: 用户管理系统的设计与实现用户管理系统的设计与实现 学生学号:学生学号: 专业班级:专业班级: 2008 级软件工程级软件工程 2 班班 学生姓名:学生姓名: 学生成绩:学生成绩: 指导教师(职称):指导教师(职称): 课题工作时间:课题工作时间: 2011.4.11 至至 2011.4.22 说明: 1、报告中的任务书、进度表由指导教师在课程设计开始前填写并发给每 个学生;四、五两项(中英文摘要)由学生在完成综合设计后填写。 2、学生成绩由指导教师根据学生的设计情况给出各项分值及总评成绩。 3、指导教师评语一栏由指导教师就学生在整个设计期间的平时表现、设 计完成情况、报告的质量及答辩情况,给出客观、全面的评价。 4、所有学生必须参加课程设计的答辩环节,凡不参加答辩者,其成绩一 律按不及格处理。答辩小组成员应由 2 人及以上教师组成。 5、报告正文字数一般应不少于 3000 字,也可由指导教师根据本门综合设 计的情况另行规定。 6、平时表现成绩低于 6 分的学生,取消答辩资格,其本项综合设计成绩 按不及格处理。 摘 要 计算机作为经济时代的产物,随着其技术的不断应用与发展,越来越广泛的应用 于各个领域。为了提高各种应用,以及信息处理的效率。信息管理系统变应运而生, 通过计算机及其外围设备组成了能够对信息进行收集、传递、存储、加工和维护的系 统。而用户管理系统可作为上述系统的基本原始模型之一,所以对于用户管理系统的 设计与实现不但是对软件工程专业知识的综合运用,同时也具有相当的现实意义。 本例用户管理系统,采用 bs(browser/server浏览器/服务器)架构结合流行的 jsp (java server pages)语言开发,后台数据库使用 microsoft sql server2000,服 务器为 tomcat- 6.0.32 版本。基本实现了,用户管理系统要求的相关功能。在整个开 发过程中,专业知识有了进一步的提高,宏观上对信息管理系统也有了一定把握。 关键词:信息管理系统;用户管理系统;bs abstract computer as an economic production of the times, with the continuous application of its technology and development, it more and more widely used in various fields. in order to improve various of applications and information processing efficiently. the information management system occurs, composed by a computer and its peripherals the system could be used for information collection, transmission, storage, processing and maintenance. user management system can be regarded as one of the basic original model of the system that mentioned above, so the design and implementation of user management system not only enhanced the integrated use of software engineering expertise, but also has considerable practical significance. the user management system in this case, used bs (browser/server- browser / server) architecture, coupled with the popular jsp (java server pages) language development, database using microsoft sql server2000, the server is tomcat- 6.0.32 edition. generally speaking, this user management system implements all the basic functions. throughout the development process, our expertise has been further improved and the macroscopic view of the information management system on a level has also been founded. keywords:the information management system;the user management system;bs 西安文理学院计算机科学系 课程设计报告 - i - 第一章第一章 课题背景课题背景.1 1.1 引言引言1 1.2 题目概述题目概述1 第二章第二章 设计简介及设计方案论述设计简介及设计方案论述 .2 2.1 设计简介设计简介开发相关工具选取开发相关工具选取2 2.1.1 相关技术简介.2 2.2 设计流程简介设计流程简介2 2.3 系统角色设计系统角色设计.3 2.4 数据库设计数据库设计.4 第三章第三章 详细设计详细设计.6 3.1 网站页面流程网站页面流程6 3.2 主页及登录界面的详细设计主页及登录界面的详细设计6 3.2.1 主页设计6 3.2.2 jsp 与 sql server2000 的连接7 3.2.3 登陆模块的设计7 3.3 管理员与用户功能页面设计管理员与用户功能页面设计.8 3.2.3 管理员界面设计8 3.2.3 用户界面设计9 第四章第四章 设计结果及分析设计结果及分析12 4.1 设计结果分析设计结果分析12 4.2 系统的不足与反思系统的不足与反思14 总总 结结.15 致致 谢谢.16 参考文献参考文献.17 附录附录18 西安文理学院计算机科学系 课程设计报告 - 1 - 第一章 课题背景 1.1 引言 21 世纪是信息产业的时代,全球信息电子化的潮流势不可挡,计算机被广泛 应用使我们的经济和社会生活因此发生了深刻的变革。如何有效的管理信息, 提升管理效率成为当务之急。长期以来,传统的手工用户管理模式已经不能适 应需求。软件工程专业经过 3 年的学习,理论知识有了一定的积累。应用所学 的知识,重构用户管理系统,采用信息化的手段提升效率,就体现了软件工程 专业的价值所在。 1.2 题目概述 用户管理系统抽象于信息管理系统。它们都是是由人、计算机及其他外围设 备等组成的能进行信息的收集、传递、存贮、加工、维护和使用的系统。其主 要任务是最大限度的利用现代计算机及网络通讯技术加强信息管理,建立正确 的数据,加工处理并编制成各种信息资料及时提供给管理人员,以便进行正确 的决策。 本例用户管理系统,由于时间仓促,根据系统的业务逻辑,只需初步实现相 关功能即可。对于不同角色登陆系统,根据其权限,可对用户的信息进行管理。 例如管理员可以对用户信息实现,查询、删除,审核等操作。 西安文理学院计算机科学系 课程设计报告 - 2 - 第二章 设计简介及设计方案论述 2.1 设计简介开发相关工具选取 通过,网上资料的查找和相关的调研。为了能够快速有效的开发,我决定对于 本例用户管理系统,采用 bs(browser/server浏览器/服务器)架构结合流 行的 jsp (java server pages)语言开发,后台数据库使用 microsofe sql server2000,所有内容由 tomcat 服务器为解析。 2.1.1 相关技术简介 1. jsp(java server pages) jsp(java server pages)是由 sun microsystems 公司倡导、许多公司参与 一起建立的一种动态网页技术标准。jsp 技术有点类似 asp 技术,它是在传统 的网页 html 文件(*.htm,*.html)中插入 java 程序段(scriptlet)和 jsp 标记 (tag),从而形成 jsp 文件(*.jsp)。 用 jsp 开发的 web 应用是跨平台的,既能 在 linux 下运行,也能在其他操作系统上运行。 2.tomcat 服务器 tomcat 是 apache 软件基金会(apache software foundation)的 jakarta 项目 中的一个核心项目,由 apache、sun 和其他一些公司及个人共同开发而成。由 于有了 sun 的参与和支持,最新的 servlet 和 jsp 规范总是能在 tomcat 中得 到体现,tomcat 5 支持最新的 servlet 2.4 和 jsp 2.0 规范。因为 tomcat 技术 先进、性能稳定,而且免费,因而深受 java 爱好者的喜爱并得到了部分软件开 发商的认可,成为目前比较流行的 web 应用服务器。目前最新版本是 6.0。 3.microsoft sql server2000 关系型数据库 sql server2000 是 microsoft 公司推出的 sql server 数据库管理系统,该版 本继承了 sql server 7.0 版本的优点,同时又比它增加了许多更先进的功能。 具有使用方便可伸缩性好与相关软件集成程度高等优点,可跨越从运行 microsoft windows 98 的膝上型电脑到运行 microsoft windows 2000 的大型多 处理器的服务器等多种平台使用。 西安文理学院计算机科学系 课程设计报告 - 3 - 2.2 设计流程简介 根据实际调研情况,用户管理系统的业务逻辑视图如图 2-1 所示 开始登陆 输入用户名,密码 用户验证模块 合法用户 用户页面 用户类型 管理员界面 是 判断模块,根据登 陆信息进行判断, 分别跳转至相应的 界面 否 图 2-1 首先开始登陆,系统会根据登陆输入的用户名和密码进行判断。这里就调用了 用户验证模块(在系统中,验证模块的简单实现就是一系列的函数) 。其次根据 验证的结果,分成合法用户和非法用户。若为非法用户,则返回上一层。若为 合法用户则根据相应的身份进行用户类型的判断。最后根据身份判断返回的结 果跳转到相应的界面中,如管理员登录后,判断用户名和密码都正确,则为合 法用户,然后进行判断,身份为管理员,则最终进入了管理员的界面中。 2.3 系统角色设计 用户管理系统主要使用成员可以分成如下两种角色: 1. 管理员 2. 用户 而用户又可以分成已经注册的用户,和未注册的用户。 根据角色的不同,在系统中会有不同的功能实现。也会有不同的数据流图, 在概要设计中,对于管理员角色,有如下图 2-2 所示的基本数据流图: 西安文理学院计算机科学系 课程设计报告 - 4 - 管理员 审核用户信息 查看用户信息 删除用户 查询用户信息 图 2-2 对于用户,功能实现如图 2-3 所示: 用户 提交信息 查看审核状态 新用户 注册 图 2-3 2.4 数据库设计 根据上一章节 2.3 中所述的角色划分,以及章节 2.2 业务流程中的内容。用户 管理系统的后台数据库设计,可以分成两张表来实现。 1. users 表(此处不能定义为 user,为 sql2000 中的关键字) 负责记录用户的相关信息。根据在实际中的调研情况,我们可以知道,一般来 说,普通网站要求的用户信息,一般包括以下几个字段:能唯一标识一个用户 的用户编号,用户名(用户登陆的时候作为信息检查的一个字段,也可以填写 真实姓名,本系统中,没有特别特别说明一般使用真实的姓名) ,性别,年龄, 邮箱,备注(标识一些用户具有的独特信息,用以区别其他用户,如个人爱好 等) ,审核(该字段,一般用户不可见,也就是说只能对管理员开放修改) 西安文理学院计算机科学系 课程设计报告 - 5 - 数据字典如下表 2-1 所示: 表 2-1 属性名存储代码类型长度备注 用户编号idchar40主码,唯一,非 空 姓名namechar40 性别sexchar40 年龄agechar40 邮箱emailchar100 备注notechar200填写备注 审核状态shenhechar10标记审核状态 2. passwords 表 可以从中查询身份,密码,在登录模块中,信息的比对是首先通过从 passwords 表中取出:用户编号(也可以称之为用户名)和密码是否正确,然后再通过身 份字段判断登陆者的身份,跳转至相应的模块中去。 数据字典如下表 2-2 所示: 表 2-2 属性名存储代码类型长度备注 用户编号idchar40 密码passwordchar20 身份identityschar20标识两种身份, admin(管理员) , users(用户) 上述的两张表就构成了,用户管理系统的整个后台数据库管理的基础。 西安文理学院计算机科学系 课程设计报告 - 6 - 第三章 详细设计 3.1 网站页面流程 网站的主要业务流程如图 3-1 所示,所以下面提到的详细设计都是围绕业务流 程展开的。 登陆 用户页面 管理员页面 新闻 联系我们 删除用户 审核用户 查询用户 录入信息 查看审核 主 页 结果 通用模块可以根 据系统不同放置 不同内容 通用模块可以 根据系统不同 放置不同内容 从此处开始系统一直通过前 台网页交互实现对数据库中 的数据进行增、删、改、 查。 图 3-1 3.2 主页及登录界面的详细设计 在主页以及登录页面的设计中,会遇到一些通用模块的设计问题。首先就是 数据库连接件的设计。其次是数据显示通用模块的设计。 3.2.1 主页设计 我们在第一章中提到,用户管理信息系统作为现在流行的信息管理系统模型 西安文理学院计算机科学系 课程设计报告 - 7 - 的抽象,可以作为任意网站,各种系统的功能子模块来开发。所以要充分考虑 其页面,代码的可重用性。所以在主页中,我们预留了许多可重定义的位置, 作为本系统以后开发的预留。如新闻滚动条,联系我们导航条等小的布局。 3.2.2 jsp 与 sql server2000 的连接 本例,用户管理信息系统,采用 jsp(java sever page)动态网页技术标准, 与微软公司 sql server2000 数据库平台联合搭建。连接方式使用的是 jdbc- odbc 桥接器的机制完成连接,该机制只需要建立 jdbc 和 odbc 之间的连接, 而数据库的连接由 odbc 去完成。没有了繁杂的配置过程,而且可以利用现存 的 odbc 数据源来访问数据库。但是从效率,可移植性和安全性的角度看,对 系统的性能还是有一定影响的。 以下为使用 jdbc 桥接器连接 sql server2000 的主要 jsp 代码: class.forname(“sun.jdbc.odbc.jdbcodbcdriver“); /载入驱动程序类别 string url = “jdbc:odbc:mis“; string user = “sa“; string pwd = “; connection con = drivermanager.getconnection(url, user, pwd); /建立数据库链接,myschool 为 odbc 数据源名称 /建立 statement 对象 statement stmt = con.createstatement( resultset.type_scroll_insensitive, resultset.concur_read_only); resultset rs = stmt.executequery(“select * from passwords“); /建立 resultset(结果集)对象,并执行 sql 语句,双引号中的为查询语句。 3.2.3 登陆模块的设计 在登录程序模块的设计中,首先要考虑程序从数据库中取得到的值,与网页 中 form 表单中得到得到的值的比对问题。在数据字典中,用户名和密码的存储 形式都是 char 类型,这就简化了比对难度。如果有类型不相同则需要做类型转 换处理。 其次,从数据字典中,我们知道用户名、密码的长度都是一定的,所以在从 数据库中取到值的时候,实际上是一次性的整个字段的长度都取了出来。所以 去掉字段中的无效信息,也是我们要考虑的一个重要方面。在 jsp 中嵌套的 java 语言的 string 类中里提供了 trim()这样一个方法,trim()方法的主要和作用 就是对字段进行所谓的整齐操作(去掉字段中的前后的空格字段中的无效信 息) 。 最后在对数据库中取到的值进行相应的整齐操作后,就可以拿来与页面中表 西安文理学院计算机科学系 课程设计报告 - 8 - 单提交过来的值(当然也要转换成 java 中的 string)进行比对了。比对的结果 就觉定了,页面的跳转。分别为用户界面,管理员界面。 登陆界面的更多细节这里不再阐述,详见附录详细代码。 3.3 管理员与用户功能页面设计 3.2.3 管理员界面设计 根据系统的业务逻辑管理员进入系统后能够对基本的用户信息实现管理,首 先在管理用户之前进入管理员主界面列出所有用户相关信息作为参照,管理员 可以使用已知信息查询,也可以使用列出的相关信息,对用户进行查找。在查 找结果中实现对用户信息的审核与删除。具体业务逻辑如图 3-2 所示 管理员查询 审核用户信息 按照姓名 按照年龄 按照姓名 按照id 删除用户信息 查询结果 图 3-2 1.在查询页面中,如上图所示。可以有四种查询方式,分别是按数据字段中的 相关参照字段来进行查询。其核心实现就是通过传统的不同变量实现不同的 select 语句,核心代码如下(主要代码详见附录): string name= new string(request.getparameter(“name“).trim(). getbytes(“iso-8859-1“); /考虑向服务器传值时服务器接受的值的编码格式问题 string sql1 = “select * from users where id=“ + name + “; /设置查询 sql 语句,从 id 查询 string sql2 = “select * from users where name=“ + name + “; /设置查询 sql 语句,从姓名(name)查询 string sql3 = “select * from users where sex=“ + name + “; /设置查询 sql 语句,从性别(sex)查询 string sql4 = “select * from users where age=“ + name + “; /设置查询 sql 语句,从年龄(age)查询 西安文理学院计算机科学系 课程设计报告 - 9 - string option1 = “0“;/方式 1 用 id 用户编号查询 string option2 = “1“;/方式 2 用 name 姓名查询 string option3 = “2“;/方式 3 用 sex 性别查询 string option4 = “3“;/方式 4 用 age 年龄查询 string fangshi = request.getparameter(“option“).trim(); /得到管理员查询主页面返回的方式值 resultset rs;/数据库连接结果集 /下面的语句中,如果全部使用 if,则都会进行判断,直到进入到 最后的 else 中,这在之前的一次 coding 中出现的 bug if (option1.equals(fangshi) rs = stmt.executequery(sql1);/如果得到是 1,则按照 id 来查询 if(rs.getrow()=0) flag = 1;/标志位置零 else if (option2.equals(fangshi) rs = stmt.executequery(sql2); if(rs.getrow()=0) flag = 2;/如果得到是 2,则按照姓名来查询 else if (option3.equals(fangshi) rs = stmt.executequery(sql3); if(rs.getrow()=0) flag = 3;/如果得到是 3,则按照性别来查询 else rs = stmt.executequery(sql4); if(rs.getrow()=0) flag = 4; /如果得到是 4,则按照年龄来查询 2.在删除页面和审核页面中,实际上如同查询页面,其本质就是是对已经查询 得到的用户相对应的数据库中的“行”进行操作。删除就是删除数据库中对应 的一列,查询则是通过 sql 语句修改 users 表中“shenhe”字段的值。而这些 执行步骤大体上可以分成三步: 具体实现,参见附录代码。 3.2.3 用户界面设计 用户界面的设计应该根据,系统中的角色设计为两种页面。既新用户的注册页 面以及老用户的查看与修改信息页面。 1.新用户注册页面: 新用户在第一次登陆网站的时候,如果还没有注册过,首先会进入注册页面。 新用户的注册页面主要实现的功能就是为新用户填写响应的用户信息,然后提 交进入数据库。等待管理员进行审核。 西安文理学院计算机科学系 课程设计报告 - 10 - 新用户注册核心代码如下: string id = changeencoding(request.getparameter(“id“).trim(); string name = changeencoding(request.getparameter(“name“).trim(); string sex = changeencoding(request.getparameter(“sex“).trim(); string age = changeencoding(request.getparameter(“age“).trim(); string email = changeencoding(request.getparameter(“email“).trim(); string note = changeencoding(request.getparameter(“note“).trim(); string shenhe = changeencoding(“审核中“); /以上字段对应 users 数据字典中字段的内容 /之后可以构造 sql语句。 。 。 string sql = “insert into users (id,name,sex,age,email,note,shenhe)“+“values(“+id+“,“+name+“,“+sex+“,“+age+“ ,“+email+“,“+note+“,“+“审核中“+“)“;/注意由于是新用户,所以默认审核类型 是“审核中” class.forname(“sun.jdbc.odbc.jdbcodbcdriver“); /载入驱动程序类别 string url = “jdbc:odbc:mis“; string user = “sa“; string pwd = “; connection con = drivermanager.getconnection(url, user, pwd); /建立数据库链接,myschool 为 odbc 数据源名称 /建立 statement 对象 statement stmt = con.createstatement(); stmt.executeupdate(sql);/执行 sql 语句 2.已经注册的用户页面: 已经在系统中注册了的用户,登陆系统后首先可以修改自己已经填写的信息, 但是相关的信息就要在此等待管理员的审核。其次,已经注册的用户还可以查 看自己已近提交的用户信息的审核状态,如果没有通过,则可以重新提交,等 待再次审核,如果已经通过,则成为系统的合法用户,可以在系统中实现相关 的功能。 根据上述设计,我们可以得出基本的用户业务流程,用户界面主要业务流程 如下图 3-3 所示: 西安文理学院计算机科学系 课程设计报告 - 11 - 用户界面 用户基本信息 审核是否通过 修改信息 是否要修改信息 否 否 是 是 等待管理员审核 已近注册用户 新用户 注册 填写用户基本信息 提交 图 3-3 各个细化模块的具体设计这里不再阐述,详细内容参见附录代码。 西安文理学院计算机科学系 课程设计报告 - 12 - 第四章 设计结果及分析 4.1 设计结果分析 由于时间紧任务中,在短短两周的时间内,仓促完成了用户管理系统。基本实 现了老师提出的设计要求。简单的实现了对用户信息的管理,查询等功能。主 页中包括了导航条,新闻滚动模块,图片添加模块等通用模块等,主页面效果 如下: 1.系统主页 图 4-1 西安文理学院计算机科学系 课程设计报告 - 13 - 2.管理员查询界面: 图 4-2 3.用户注册页面: 图 4-3 西安文理学院计算机科学系 课程设计报告 - 14 - 4.2 系统的不足与反思 随着用户管理系统的构造完成,渐渐的暴露了系统的一些问题。在整个系统 的设计流程中,虽然采用了迭代的瀑布模型来进行开发工作,但还是在业务流 程方面还是考虑的不够周全。 首先功能上还不是很完备,系统的容错性处理,由于时间仓促还没有完善。 对错误信息的处理上,系统还是相当不成熟的。比如空用户名的添加问题,系 统整体的业务逻辑还不是很完备。 其次在数据库设计上,虽然我构造了两张表来进行管理,但是数据类型都选 取了,较为方便处理的 char 型常量,这样只是满足了程序开发的简易性,但是 也降低了数据完整性约束。而且在数据库中建立表时,虽然考虑到了参照完整 性。但是对于 users 表中和 passwords 表中都有的主属性 id,应当设计为自动增 长,并由用户管理系统在用户注册时自动分配。相应的功能应当使用触发器定 义实现。由于前期考虑欠妥,这部分的功能没有实现。 最后,虽然系统的模型最终建立起来了。但是,由于专业美术知识的不足, 还有时间上的原因,也算是软件工程专业的软肋吧。网站整体的美工没有很好 的表现出来,虽然我的系统应当是能够成为一个通用的网页模块,但是由于美 术知识的欠缺,这一点就大打折扣了。 西安文理学院计算机科学系 课程设计报告 - 15 - 总 结 在短短的两周时间里,我算是比较基本的实现了用户管理系统大概的各项功 能。 首先在这次课程设计中,最大的乐趣是体会到了设计的快乐。无论是数据库 建立表的过程,还是系统业务逻辑的设计过程,都让我深刻的体会到了,软件 工程设计先行的原则。前期的设计与架构工作能够大大的为后期维护与编码工 作减轻负担,一个清楚的流程图在开发过程中胜过千言万语。一种设计完备的 数据库参照完整性,也将大大减少维护成本。 其次,本次课程设计是我第一次开发基于 b/s 架构的系统,虽然对于其中深 奥的东西知之甚少,但是通过这次课程设计在总体上还是对于 mis 系统有了一 个宏观的把握的,从中抽象出了一些原理性的东西,我相信明白了原理,了解 了模型对以后的工作还是很有帮助的。 西安文理学院计算机科学系 课程设计报告 - 16 - 致 谢 感谢本次课程设计的指导老师张红祥老师,在整个课程设计过程中的关心与 悉心指导。感谢车鹏飞老师讲解的 jsp 课程内容,在本次课程设计中起到了至 关重要的作用。感谢邓楠轶、王龙、曾祥龙同学在网站开发过程中对 bug 不 遗余力的调试,以及在 html 知识上无私的分享。让我明白团队的作

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论