施工组织设计-软件工程 毕业设计 成绩管理系统

上传人:无*** 文档编号:52096181 上传时间:2022-02-07 格式:DOCX 页数:70 大小:5.02MB
返回 下载 相关 举报
施工组织设计-软件工程 毕业设计 成绩管理系统_第1页
第1页 / 共70页
施工组织设计-软件工程 毕业设计 成绩管理系统_第2页
第2页 / 共70页
施工组织设计-软件工程 毕业设计 成绩管理系统_第3页
第3页 / 共70页
点击查看更多>>
资源描述
题目:基于.net的汽车租赁管理信息系统分析、设计与实现 成绩: 总计 大作业 67页表格 22表插图 56目 录第一章 成绩管理系统需求分析11.导言12.系统定义23.应用环境24.功能规格55.性能需求146.产品提交167.实现约束16第二章 成绩管理系统概要设计171.系统分析172. 界面设计183. 体系结构204. 数据模型265. 模块32第三章 成绩管理系统详细设计341.系统设计概述342. 详细设计概述343. 登录模块的详细设计(该模块可复用)354. 复用的模块395. 配置文件40第四章 成绩管理系统编码实现451.编码格式规范452.命名规范453.声明规范464.目录规范47第五章 成绩管理系统测试计划481. 测试项目482. 测试方法61第六章 部署运行维护63第七章 总结与展望641.本程序的总结和展望642.感想65参考文献66第一章 成绩管理系统需求分析1.导言1.1 目的该文档是关于用户对于成绩管理系统的功能和性能的要求,重点描述了成绩管理系统的功能需求,是概要设计阶段的重要输入。本文档的预期读者是: 设计人员; 开发人员; 项目管理人员; 测试人员; 用户。1.2 范围该文档是借助于当前系统的逻辑模型导出目标系统的逻辑模型的,解决整个项目系统的“做什么”的问题。在这里,没有涉及开发技术,而主要是通过建立模型的方式来描述用户的需求,为客户、用户、开发方等不同参与方提供一个交流的平台。1.3 编写说明JSP,Java Server Page(Java服务器页面)的缩写,一个脚本化的语言。UML,Unified Modeling Language(统一建模语言)的缩写,是一个标准的建模语言。1.4 术语定义加权分数:权值*等价分数2.系统定义我们分别阐述一下项目的来源、背景,项目的用户特点和项目的目标。2.1 项目来源及背景本项目是为一家汽车租赁公司开发的汽车租赁管理系统,传统的汽车租赁管理系统在数据处理方面比较繁琐,管理人员需要花费很多的时间和精力去处理它。计算机的存储与查询功能不能满足于用户的基本需求而且租赁的基本信息管理的精确度也不够高出现了不少的漏洞,这也很浪费人力和时间。为此汽车租赁公司希望有一个对车辆的基本信息、租赁结算、租还时间等进行了综合统计和管理,使顾客和管理人员能够更快的得到自己想要的信息。为了把管理人员从繁琐的数据处理中解脱出来,使顾客更快捷的找到自己想租的车辆,我们开发了汽车租赁管理信息系统。管理人员通过这个管理系统对车辆信息、租赁信息、顾客信息进行系统的管理,而且顾客可以直接登陆系统查看所有车辆信息,也可以根据自己的需要搜索相关车辆的信息。2.2 用户的特点本系统的用户都是本地用户 “管理员”,他们是租赁公司的工作人员,对租赁业务很熟悉,可以完成汽车租赁、归还、结算等业务。2.3 项目目标本项目设定的目标如下: 系统能够提供友好的用户界面,使管理人员人员工作量最大限度减少; 系统具有良好的运行效率,能够达到提高生产率的目的; 系统应有良好的可扩充性,可以容易地加入其他系统的应用; 平台的设计具有一定的超前性,灵活性,能够适应企业生产配置的变化; 通过这个项目可以锻炼队伍,提高团队的开发能力和项目管理能力。3.应用环境管理端的功能提供“车辆管理”、“合同管理”、“租金管理”、“客户管理”等四大功能。它们的关系如图1-1所示、。图1-1 汽车租赁管理系统流程图3.1 系统运行的硬件环境本系统的硬件环境如下:客户机:普通PC CPU:P41.8GHz以上 内存:256MB以上 分辨率:推荐使用1024768像素数据库服务器 CPU:P42.0GHz 内存:1GB以上硬盘:80GB以上图1-2 网络拓扑结构图系统运行软件环境本系统的软件环境如下: 操作系统:UNIX/Linux/Windows2000或以上版本 数据库:SQL server 2000 开发工具包:JDK Version 1.54.功能规格我们采用面向对象分析作为主要的系统建模方法,使用UML(Unified Modeling Language)作为建模语言。UML为建模活动提供了从不同角度观察和展示系统的各种特征的方法。在UML中,从任何一个角度对系统所作的抽象都可能需要几种模型来描述,而这些来自不同角度的模型图最终组成了系统的映像。用例描述角色(用户、外部系统以及系统处理)是如何与系统交互来完成工作的。用例模型提供了一个非常重要的方式来界定系统边界以及定义系统功能,同时,该模型将来可以派生出动态对象模型。设计用例时,我们遵循下列步骤:1)识别出系统的角色。角色可以是用户、外部系统,甚至是外部处理,通过某种途径与系统交互。重要的是着重从系统外部执行者的角度来描述系统需要提供哪些功能,并指明这些功能的执行者(角色)是谁。尽可能地确保所有角色都被完全识别出来。2)描述主要的用例。可以采取不断地问自已“这个角色究竟想过系统做什么?”来准确地描述用例。3)重新审视每个用例,为它们下个详尽的定义。4.1 角色定义角色或者执行者指与系统产生交互的外部用户或者外部系统。4.1.1 导师导师是指在负责一个专业某个班级的一位老师,它可以管理多个班级。使用以下功能:“学期科目管理”、“学期学生管理”、“成绩录入”,“成绩查看”、“统计查看”。管理用户管理用户可以是教学管理部的人员,主要功能是管理端的功能提供“导师管理”、“部门管理”、“科目管理”、“学期管理”、“学年管理”、“专业学期激活”等六大功能。对于这些管理,没有具体细分,有一个人来完成。4.1.3 数据库数据库是一个与系统产生交互的外部系统,这个角色负责系统的数据查询、增加、删除和修改等操作。4.2 系统主用例图成绩管理系统可以分为两个主要的组成部分,一个是客户端子系统。一个是管理端子系统。客户端子系统功能主要是指导师通过登录招聘网站进行操作的功能,即应聘功能。管理端子系统功能是招聘公司的管理人员发布招聘职位,整理导师简历,面试等功能。系统的主用例如图1-4所示。图1-3 系统的主用例图4.3 客户端子系统导师通过通过成绩系统对成绩进行管理。图1-4是它的活动图。客户端的功能主要包括“学期科目管理”、“学期学生管理”、“成绩录入”,“成绩查看”、“统计查看”。图1-5是它的用例图。 图1-4 客户端的活动图图1-5 客户端的功能用例图客户端管理的这些用例描述如下:1.1:获取对班级的管理权限。1.2:添加学期的课程。1.3:添加学生。1.4:成绩录入。1.5:成绩查看。4.3.1获取对班级的管理权限。用例描述:获取对班级的管理权限,从而可以对班级进行管理;执行者:导师;前置条件:该专业学年已被激活;后置条件:无基本路径:a)选择院系b)选择专业、班级、学期、学年4.3.2添加学期的课程。用例描述:添加学期的课程;执行者:导师;前置条件:已获得管理权限、管理员端已将需要添加的课程添加入数据库;后置条件:无基本路径:a)选择院系b)选择专业、学期、学年4.3.3添加学生。用例描述:添加学生。执行者:导师;前置条件:已获得管理权限后置条件:无基本路径:a)选择院系b)选择专业、班级、学期、学年4.3.4成绩录入。用例描述:成绩录入。执行者:导师;前置条件:已获得管理权限、课程已添加、学生已添加;后置条件:无基本路径:a)选择院系b)选择专业、学期、学年4.3.5成绩查看。用例描述:成绩查看执行者:导师;前置条件:已获得管理权限、课程已添加、学生已添加、成绩以录入;后置条件:无基本路径:a)选择院系b)选择专业、学期、学年4.4 管理端子系统导师通过通过成绩系统对成绩进行管理。图1-6是它的活动图。管理端的功能提供“导师管理”、“部门管理”、“科目管理”、“学期管理”、“学年管理”、“专业学期激活”等六大功能。图1-7是它的用例图。图1-6管理员的功能活动图图1-7 管理端用例图2.1导师管理2.2部门管理2.3学年管理2.4学期管理 2.5管理课程2.6专业学期激活4.4.1导师管理。用例描述:添加添加导师 执行者:管理员;前置条件:该专业学年已被激活;后置条件:无基本路径:无4.4.2部门管理用例描述:添加学校的部门;执行者:管理员;4.4.2.1院系管理用例描述:添加学校的院系;执行者:管理员;前置条件:管理员登录系统;后置条件:无基本路径:无4.4.2.2专业管理用例描述:添加院系中的专业;执行者:管理员;前置条件:管理员登录系统、院系已经添加;后置条件:无基本路径:院系选择4.4.3学年管理用例描述:学年管理执行者:管理员;前置条件:管理员登录系统;后置条件:无基本路径:无4.4.4学期管理用例描述:学期管理执行者:管理员;前置条件:管理员登录系统;后置条件:无基本路径:无4.4.5管理课程用例描述:管理课程 ,添加课程信息执行者:管理员;前置条件:管理员登录系统;后置条件:无基本路径:无4.4.6专业学期激活用例描述:专业学期激活,激活后才可使用执行者:管理员;前置条件:管理员登录系统、院系、专业、学期、学年等相关信息都已添加;后置条件:无基本路径:a)选择院系b)选择专业、学期、学年4.5 登录子系统所有用户都要登录才能使用系统,管理员登录后进入管理员界面,导师登录后进入导师的管理界面。5.性能需求本系统对于教师的管理权限有很好的限定,导师不能随便操作不属于他管理的专业班级。但是在计算和统计成绩的时候,会比较慢,因为算法不是很好。由于时间问题,目前系统只是完成了对表的增加操作。5.1 界面需求系统的界面要求如下。1)页面内容:主题突出,站点定义、术语和行文格式统一、规范、明确、栏目、菜单设置和布局合理,传递的信息准确、及时。内容丰富,文字准确,语句通顺,专用术语规范,行文格式统一规范。2)导航结构:页面具有明确的导航指示,且便于理解,方便用户使用。3)技术环境:页面大小适当,能用各种常用浏览器以不同分辨率浏览,无错误链接和空链接;采用CSS处理,控制字体大小和版面布局。4)艺术风格:界面、版面形象清晰悦目、布局合理,字号大小适宜、字体选择合理,前后一致,美观大方,动与静搭配恰当,动静效果好;色彩和谐自然,与主题内容相协调。5.2 响应时间需求无论是客户端还是管理端,当用户登录,进行任何操作的时候,系统应该及时地进行反应,反应的时间在30秒以内。系统应能监测出各种非正常情况,如与设备的通信中断,无法连接数据库服务器等,以避免出现长时间等待甚至无响应。在计算成绩时,请耐心等待5.3 可靠性需求系统应保证724小时内不宕机,保证15人可以同时在客户端登录,此时系统能正常运行,正确提示相关内容。5.4 开放性需求系统应具有较强的灵活性,以适应将来功能扩展的需求。5.5 可扩展性需求还有很多功能可以添加:如:1使用简便方法录入成绩;2如果已有一个学期使用了改系统,那么再次使用时可以快速添加学生3、即使是第一次使用,也有简便方法添加学生4统计功能5与基本信息系统链接获取学期的学生6完善CURD操作以上功能均可实现,时间有限,尚未完成5.6 系统安全性需求1应该使用过滤器(Filter)或拦截器,对非法进入页面进行拦截2许多session对象使用后没有释放,很占资源,如果多人使用容易使系统崩溃,真正使用时,必须释放。6.产品提交提交产品为:a)应用系统软件包;b)数据库中有一些测试是的数据c)系统开发过程文档;d)系统使用、维护说明文档,提交方式为CD介质。7.实现约束系统的实现约束如下:a)操作系统为WindowsXPb)开发平台为:MyEclipse7.1 c)数据库为MySQL6.0第二章 成绩管理系统概要设计1.系统分析本系统可以实现成绩的管理,导师可以通过次系统进行成绩的计算客户端主要功能是“学期科目管理”、“学期学生管理”、“成绩录入”,“成绩查看”、“统计查看”。管理端的功能提供“导师管理”、“部门管理”、“科目管理”、“学期管理”、“学年管理”、“专业学期激活”等六大功能。图2-1为客户端和管理端的组成构图。 图2-1 管理端客户端子系统2. 界面设计本系统的用户界面按功能分为客户端界面和管理端界面。图2-2 登录页面2.1 管理端界面设计管理端的功能提供“导师管理”、“部门管理”、“科目管理”、“学期管理”、“学年管理”、“专业学期激活”等六大功能。主要界面设计如下:登录界面:通过输入用户各和密码,并且选择权限(管理员)实现用户登录,;管理首页:链接到六大功能导师管理:包括“导师列表”、“添加导师”、“修改导师信息”、“增加导师”和“删除导师”等页面;部门管理:(基本同上)科目管理:(基本同上)学期管理:(基本同上)学年管理:(基本同上)专业学期激活:激活选择页面 图2-3 管理员登录后页面2.2 客户端界面设计导师是指在负责一个专业某个班级的一位老师,它可以管理多个班级。使用以下功能:“学期科目管理”、“学期学生管理”、“成绩录入”,“成绩查看”、“统计查看”。主要界面设计如下:登录界面:通过输入用户各和密码,并且选择权限(教师)实现用户登录,;管理首页:链接到五大大功能学期科目管理:学期学生管理:成绩录入成绩查看:统计查看:图2-4 导师登录后页面3. 体系结构系统的总体结构设计遵循如下原则。1)系统应具有良好的适应性:能适应用户对系统的软件环境、管理内容、模式和界面的要求;2)系统应具有可靠性:采用成熟的技术方法和软件开发平台,以保证系统在以后的实际应用中安全、可靠;3)系统应具有较好的安全性:应提高安全机制和用户权限限制机制的完善程度,确保数据的受限访问;4)系统应具有良好的可维护性:系统应易于维护、安装;5)系统应具有良好的可扩展性:系统应适应未来信息化建设的要求,能方便地进行功能扩展,以建立完善的信息集成管理体系。本系统采用体系结构,struct是一个基于模型(Model)一视图(View)一控制器(Controller),即MVC模式的应用架构的开源框架。3.1 体系结构目前软件项目中有很多体系结构,其中struct是比较流行的一种。3.1.1 struct体系结构对于开发Web应用,要从头设计并开发出一个可靠、稳定的框架不是一件容易的事情。随着Web开发技术的日趋成熟,在Web开发领域出现了一些现成的优秀的框架、开发者可以直接使用它们,struct就是一个很好的框架结构,它是在JSP Model2基础上实现的一个MVC框架,在struct框架在模型由实现业务逻辑的JavaBean或者EJB组件构成,控制器由ActionServlet和Action来实现,视图由一组JSP文件组成,图2-5显示了Struct实现的MVC框架。同时只得一题的是,使用的SwitchAction,是程序模块化,更易维护和后期管理。图2-5 管理端的页面流程图2-6 客户端的页面流程视图,就是一组JSP文件,这些JSP文件没有业务逻辑,也没有模型信息,只有标签,这些标签可以是标准的JSP标签或者是客户化标签,如struct标签库的标签。此外,通常将struct框架中的ActionForm Bean也划为视图模块,ActionForm Bean是一种JavaBean,除了具有一些JavaBean的常规方法外,还包含了一些特殊的方法,用于验证HTML表单数据以及将其属性重新设置为默认值。Struct框架利用ActionForm Bean来进行视图和控制器之间表单数据的传递。Strcut框架将用户输入的表单数据保存在ActionForm Bean中,将它传递给控制器,控制器可以对ActionForm Bean中的数据进行修改,JSP文件使用struct标签读取修改后的ActionForm Bean的信息,然后重新设置HTML表单。控制器ActionServlet视图JSPStruct-config.xml模型JavaBeanEJBActionActionAction浏览器Web服务器图2-7 struct实现的MVC框架控制器,控制器由ActionServlet类和Action类实现,ActionServlet类是struct框架中的核心组件,是这个MVC的中央控制器的角色。ActionServlet主要负责接收HTTP请求的信息,根据配置文件struct-config.xml的配置信息,将请求转发给适当的Action对象,如果该Action对象不存在,ActionServlet会先创建这个Action对象.Action类负责调用模型的方法,更新模型的状态,并帮助控制应用程序的流程,对于小型简单的应用,Action类本身也可以完成一些实际的业务逻辑。模型,模型表示应用程序的状态和业务逻辑,业务逻辑常常由JavaBean或者EJB组件实现。如果在Web应用开发中套用现成的struct框架,就可以简化每个开发阶段的工作,开发人员可以更加有针对性地分析应用需求,不必重新设计框架,只需在struct框架的基础上,设计MVC各个模块包含的具体组件,在编码过程中,可以充分利用struct提供的各种实用类和标签库,简化编码工作。Struct框架可以方便迅速地将一个复杂的应用划分成模型、视图和控制器组件,而struct的配置文件struct-config.xml可以灵活地组装这些组件,以简化开发过程。3.1.2 系统体系结构根据系统分析结果,该系统从结构上应满足:基于游览器进行显示以方便用户使用;采用MVC的三层体系结构,分化各个功能组件;采用JDBC技术与数据库通信以便于数据库的转换;采用标签技术完成动态页面的简单逻辑。本系统的体系结构如图2-6所示,它基本遵循了struct体系的MVC框架规范。视图(V)层:用户界面(浏览器)HTML,CSS,DHTML,JavaScript,XML视图(V)层:服务器端脚本Connects UI to Business Objects, Java Server Pages,Java Servlets控制(C)层:分布式组件JavaBean图2-8 系统的体系结构其中:表示层,用于与用户进行交互并显示结果。包括所有的JSP,提供用户界面,接受用户输入,还包括相应的ActionFrom Bean,用来存放表单数据,并进行表单数据验证;控制层,包括所有的Action类,它完成三项任务,一是进行业务逻辑验证,二是调用模型组件,三是决定将合适的视图组件返回给用户;模型,包括进行逻辑处理的JavaBean等,数据库采用ODBC技术以提供数据库的可移植性。1)客户层:用于与企业信息系统的用户进行交互以及显示根据特定业务规则进行计算后的结果。本系统将完全采用基于Web的(B/S架构)客户端,即用户可以直接通过浏览器来访问和使用本系统。2)中间层:这相当于三层标准架构中的Web应用服务层,支持诸如响应客户请求以及查询等功能。并且由中间层进行逻辑处理,再将处理的结果反馈给客户或者发送到数据库中。3)服务层:主要是数据库系统,这里的数据库系统主要是关系数据库系统(RDMS)。3.2 系统进行环境 下面讲述系统运行的网络结构,硬件、软件环境。3.2.1 网络结构主要是希望在局域网内使用。3.2.2 硬件环境本系统的硬件环境如下。1)客户机:普通PCCPU:P41.8GHz以上内存:256MB以上能够运行IE5.0以上或者Netscape4.0以上版本的机器分辨率:推荐使用1024768像素2)Web服务器CPU:P42.0GHz内存:1GB以上硬盘:80GB以上网卡:KMb/s速度网卡3)数据库服务器CPU:P42.0GHz内存:1GB以上硬盘:80GB以上32.3 软件环境本系统的软件环境如下:操作系统:windows XP 数据库:MySQL6.0开发工具包:JDK Version1.5开发环境:Myeclipse7.1Web服务器:Tomcat6.02浏览器:IE5.0以上1)数据库及操作系统:使用免费的开源项目MySQL 2)Web服务软件:同样使用免费的开源项目Tomcat 4. 数据模型本系统的数据模型设计内容主要是进行数据库的设计。4.1 数据库的概念结构模型设计概念设计用来反映现实世界中的实体、属性和它们之间的关系等的原始数据形式,建立数据库的每一幅用户视图。图2-8是系统E-R图。客户端主要功能是“学期科目管理”、“学期学生管理”、“成绩录入”,“成绩查看”、“统计查看”。管理端的功能提供“导师管理”、“部门管理”、“科目管理”、“学期管理”、“学年管理”、“专业学期激活”等六大功能。它们的关系如图1-1所示、。4.2 数据库的逻辑结构模型设计数据库的逻辑设计是将各局部的E-R图进行分解、合并后重新组织起来形成数据库全局逻辑结构,包括所确定的关键字和属性、重新确定的记录结构、所建立的各个数据之间的相互关系。根据本系统需求分析,系统管理员的数据库包括了院系信息、专业信息、学年信息、学期信息、导师信息、课程信息,导师的数据库有学生,注册专业学期管理信息,专业学期课程、学生成绩。4.2.1登录模块包括的库表:登录表 (scoreLogin)4.2.2管理员模块包括的库表:院系表 (collage)专业表(professional)学期表(semester)学年表(schoolyear)课程表(course)登录表 (scoreLogin)4.2.3院系选择模块院系表 (collage)专业表(professional)学期表(semester)学年表(schoolyear)4.2.4导师模块专业学期成绩表(semesterResults)专业学期学生表(semesterStudent)专业学期教师表(semesterTeacher)专业学期表(proSemester)图2-9数据库ER图 *系统数据库设计物理模型*登录表 (scoreLogin)-1.1字段名字段代码字段类型主(外)键是否为空备注(代码字典表)用户登录IDsl_numchar(6)YN用户姓名sl_namechar(10)NN用户密码sl_passchar(16)NN权限sl_permessionIntegerNN2为老师3为管理员*院系表 (collage)-1.2字段名字段代码字段类型主(外)键是否为空备注(代码字典表)院系编号coll_idIngeterYN自动增长院系名coll_namevarchar(30)YN*专业表(professional)-1.3字段名字段代码字段类型主外键是否为空备注(代码字典表)专业编号pro_idIntegerYN自动增长专业名pro_namevarcharNN院系编号coll_idIntegerNN*学期表(semester)-1.4字段名字段代码字段类型主(外)键是否为空备注(代码字典表)学期IdsemesterIdIntegerYN自动增长学期semesterchar(26)NN填写时有固定的格式*学年表(schoolyear)-1.5字段名字段代码字段类型主(外)键是否为空自动增长学年IdschoolyearIdIntegerYN填写时有固定的格式学年schoolyearchar(4)NN填写时有固定的格式*课程表(course)-1.6字段名字段代码字段类型主(外)键是否为空备注(代码字典表)课程号courseIdchar(6)YN课程名courseNamechar(4)NN权值courseRightIntegerNN计算等价分数时使用课程类型courseTypeIntegerNN统计优秀率时,PF类课程不列入计算*专业学期表(proSemester)-1.7字段名字段代码字段类型主(外)键是否为空备注(代码字典表)专业学期IDproSemIdIntegerYN通过激活操作产生,产生后才可使用院系IdproSemCollNameIntegerYN专业IdproSemProNameIntegerYN学期IdproSemSemesterIdIntegerYN学年IdproSemSchoolyearIdIntegerYN*专业学期教师表(semesterTeacher)-1.8字段名字段代码字段类型主(外)键是否为空备注(代码字典表)专业学期教师IDsemTea_IdIntegerYN自动增长专业学期IdsemTea_ProSem_IdIntegerYN教师的IdsemTea_TeacherNumchar(6)YN管理的班级semTea_Classchar(4)NN*专业学期课程表(semesterCourse)-1.9字段名字段代码字段类型主(外)键是否为空备注(代码字典表)专业学期IdsemCour_ProSem_IdIntegerYN课程号semCour_CourseIdchar(6)YN*专业学期学生表(semesterStudent)-1.10字段名字段代码字段类型主(外)键是否为空备注(代码字典表)专业学期IdsemStu_proSem_IdIntegerYN学生学号semStu_stuNumchar(9)YN学生姓名semStu_stuNamevarchar(8)NN学生班级semStu_stuClasschar(4)NN学生状态semStu_stuStaIntegerNN*专业学期成绩表(semesterResults)-1.11字段名字段代码字段类型主(外)键是否为空备注(代码字典表)专业学期教师IDsemRes_SemTea_IdIntegerYN此功能是为了老师将来能修改成绩,但是目前程序插入数据库的是专业学期Id专业学期IdsemRes_proSem_IdIntegerYN学生班级semRes_StuClasschar(4)NN学生学号semRes_StuNumchar(9)YN课程号semRes_CourseId charchar(6)YN学生成绩semRes_semResScorechar(1)NN5. 模块系统分为4个模块:5.1登录模块5.2管理员模块5.3院系选择模块5.4导师模块此项目为逆向工程,由于代码量太多,页面太多,下面只给出登录模块的设计。5.1登录模块5.1.1表示层设计根据上述功能介绍,总结出客户端的页面设计如表2-1所列。表2-1 登录模块的页面设计界面JSP功能描述主页面lonin.jsp客户端的主页面5.1.2 控制层控制层主要是设计Action组件,Action负责单位事件的流程控制,Action映射决定了Action与其他Web组件之间的关联关系。根据权限选择管理员界面还是导师页面。表2-5 客户端应用的Action映射事件Action入口ActionForm出口登录 PreLoginActionLoginActonlogin.jsp login.jspLoginFormadmin/main/main.jspTeacher/teacher/main.jsp5.1.3 模型层在struct框架中,模型组件负责完成业务逻辑,模型组件可以是JavaBean、EJB和实用类。客户端的业务逻辑主要是完成数据库的操作,提交用户的简历信息和问卷回答信息到数据库中。具体的模型组件如表2-6所示。表2-6 客户端的模型组件模型组件描述loginValue登人员这信息第三章 成绩管理系统详细设计1.系统设计概述根据汽车租赁管理信息系统的概要设计,本系统按照功能分解,如下图。 图3-1 模块设计2. 详细设计概述由于本系统采用了基于struct体系结构的设计,即MVC的三层设计模式,并采用面向对象的Java语言以及JSP的脚本语言实现。在整个开发过程中,尽可能采用复用的原则,例如采用标签库,统一数据库的基本操作,统一结果显示等。本文档的详细设计主要地按照struct的MVC的三个层次分别编制视图层、控制层和模型层模块代码 此项目为逆向工程,由于代码量太多,页面太多,下面只给出登录模块的设计。3. 登录模块的详细设计(该模块可复用)登录模块主要实现登录验证功能,登录模块的struct视图层、控制层和模型层三个层次的模块如表3-2所示。表3-2 登陆模块的三层模块视图控制器模型JSP组件ActionFormBean客户标签LoginLoginFormStruct Html标签PreLoginActionLoginActionLoginValue3.1 视图层视图层主要实现表示层的功能,视图层包括JSP组件、Form组件以及标签库等。3.1.1 JSP组件登录模块1个jsp页面3.1.2 Form组件 其他Form伪代码详见文件WSZP-PD-DD-Position-ViewForm.doc,它有关于每个Form的伪代码的详细描述。package com.sxzlc.score.login.struts.form;import javax.servlet.http.HttpServletRequest;import org.apache.struts.action.ActionErrors;import org.apache.struts.action.ActionForm;import org.apache.struts.action.ActionMapping;/* * MyEclipse Struts * Creation date: 06-02-2009 * * XDoclet definition: * struts.form name=loginForm */public class LoginForm extends ActionForm private String num;private String pass;private Integer permession;private String name;public ActionErrors validate(ActionMapping mapping,HttpServletRequest request) / TODO Auto-generated method stubreturn null;public void reset(ActionMapping mapping, HttpServletRequest request) / TODO Auto-generated method stubpublic String getNum() return num;public void setNum(String num) this.num = num;public String getPass() return pass;public void setPass(String pass) this.pass = pass;public Integer getPermession() return permession;public void setPermession(Integer permession) this.permession = permession;public String getName() return name;public void setName(String name) this.name = name;3.1.3标签库标签库包括Struct Html标签、Struct Bean标签、Struct Logic标签3.2 控制层职位发布控制层共有2个Action文件,一个是前发发Action 一个是后分发Action下面是PreLoginAction的伪代码描述。package com.sxzlc.score.login.struts.action;import java.io.UnsupportedEncodingException;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import org.apache.struts.action.Action;import org.apache.struts.action.ActionForm;import org.apache.struts.action.ActionForward;import org.apache.struts.action.ActionMapping;/* * MyEclipse Struts * Creation date: 06-03-2009 * * XDoclet definition: * struts.action parameter=method validate=true * struts.action-forward name=login path=/login/login.jsp */public class PreLoginAction extends Action public ActionForward execute(ActionMapping mapping, ActionForm form,HttpServletRequest request, HttpServletResponse response) try request.setCharacterEncoding(GBK); catch (UnsupportedEncodingException e) e.printStackTrace();return mapping.findForward(login);3.3 模型层职位管理模型层1个组件,下面是JobBean的伪代码描述。package com.sxzlc.score.login.struts.action;/* * MyEclipse Struts * Creation date: 06-02-2009 * * XDoclet definition: * struts.action path=/login name=loginForm input=/login/login.jsp scope=request validate=true */public class LoginAction extends Action private ILoginDao loginDao;public ILoginDao getLoginDao() return loginDao;public void setLoginDao(ILoginDao loginDao) this.loginDao = loginDao;public ActionForward execute(ActionMapping mapping, ActionForm form,HttpServletRequest request, HttpServletResponse response)LoginForm loginForm = (LoginForm) form;/ TODO Auto-generated method stubString num = loginForm.getNum();String pass = loginForm.getPass();int permession = loginForm.getPermession();/System.out.println(num+-+pass+-+permession+-);try if(loginDao.readLogin(num, pass, permession)/System.out.println(登录成功); request.getSession().setAttribute(LoginId,num);if(permession=2)return mapping.findForward(teacher);else if(permession=3)return mapping.findForward(admin);else return mapping.getInputForward();else /System.out.println(登录失败); return mapping.getInputForward(); catch (Exception e) / TODO Auto-generated catch blocke.printStackTrace();return mapping.getInputForward();4. 复用的模块许多的系统都需要登录,同时对数据库操作。所有的模块都需要进行数据库的操作,它们的代码结构大体都是如下结构的登录表scorelogin 有两个用途,一个是登录体现登录模块复用;另一个是教师信息体现对数据操作代码的复用; 登录操作登录时使用 public class LoginDaoImpl extends HibernateDaoSupport implements ILoginDao public boolean readLogin(String num, String pass, int permession)throws Exception boolean b=false;Session session = this.getSession();Criteria cri = session.createCriteria(LoginValue.class);cri.add(Expression.eq(slNum, num); cri.add(Expression.eq(slPass, pass); cri.add(Expression.eq(slPermession, permession); List list =cri.list();if(!list.isEmpty()b=true;session.beginTransaction().commit();session.close();return b;public void alterPassword(String id, String newPassword) throws Exception / TODO Auto-generated method stub数据库操作5. 配置文件1.使用的是j2EE 所以必有web.xml2.使用使用Struts技术,并且使用分发Action技术,即SwitchAction,所以struts的 配 置文件有5个.struts-config.xmlstruts-config-admin.xmlstruts-config-departmentchoose.xmlstruts-config-login.xmlstruts-config-teacher.xml3.使用Spring技术,所以有文件applicationContext.xml5.1 web.xml配置文件下面讲述web.xml配置文件的配置步骤和范围。 contextConfigLocation/WEB-INF/classes/applicationContext.xmlcontextorg.springframework.web.context.ContextLoaderServlet1 CharsetConvertFiltercom.city.sxzlc.filter.CharsetConvertFilter CharsetConvertFilter/* AuthenticationC
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 管理文书 > 施工组织


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!