《学校教材订购系统分析与设计》2.doc
软件工程大作业学校教材订购系统分析与设计 专业: 班级: 学号: 姓名: 成绩: 二 一三 年 七 月 Xxxxxx目 录第一章 学校教材订购系统需求规格说明书- 3 -第二章 软件项目的概要设计说明书16第三章 学校教材订购系统详细设计38第四章 软件项目的编码案例说明47第五章 学校教材订购系统客户端系统测试计划52第六章 学校教材订购系统客户端系统测试设计58第七章 学校教材订购系统客户端系统测试报告69第一章 教材订购系统需求规格说明书1.导言1.1 目的该文档是关于用户对于学校教材订购系统的功能和性能的要求,重点描述了教材订购系统的功能需求,是概要设计阶段的重要输入。本文档的预期读者是:· 设计人员;· 开发人员;· 项目管理人员;· 测试人员;· 用户。1.2 范围该文档是借助于当前系统的逻辑模型导出目标系统的逻辑模型的,解决整个项目系统的“做什么”的问题。在这里,没有涉及开发技术,而主要是通过建立模型的方式来描述用户的需求,为客户、用户、开发方等不同参与方提供一个交流的平台。1.3 编写说明HR,Human Resource(人力资源管理)的缩写。JSP,Java Server Page(Java服务器页面)的缩写,一个脚本化的语言。UML,Unified Modeling Language(统一建模语言)的缩写,是一个标准的建模语言。1.4 术语定义无1.5 引用标准1企业文档格式标准,*有限公司软件工程过程化组织2需求规格报告格式标准,*有限公司软件工程过程化组织1.6 参考资料1UML说明,*软件有限公司2需求规格报告格式标准,*公司软件工程过程化组织1.7 版本更新信息本文档的更新记录如表A-1所示。表A-1 版本更新记录修改编号修改日期修改后版本修改位置修改内容概述0010020030040052013.5.152013.5.162013.5.182013.5.262013.6.180.10.20.30.41.0全部第3.1节第4.1节第5.1节第7章初始发布版本增加修改修改增加2.系统定义我们分别阐述一下项目的来源、背景,项目的用户特点和项目的目标。2.1 项目来源及背景本项目是为某大学开发的一个教材订购系统,由于这个大学的规模比较大,需要订购大量的书籍也很多,每次订购教材的种类和数量繁多,如何合适的订购教材也成为学校的重点,为教材科管理员带来很多的工作量。为此他们希望有一个自动化的教材订购系统能够给他们带来工作的便利,提高工作效率。2.2 用户的特点本系统的用户都是学校的老师,包括两类,一类是系部专业主任,他们是需求者,将该系需要的教材申报给教材科管理员。另外一类用户是教材科管理员,主要是负责教材订购信息的管理。2.3 项目目标本项目设定的目标如下:· 系统能够提供友好的用户界面,使操作人员的工作量最大限度的减少;· 系统具有良好的运行效率,能够达到提高生产率的目的;· 系统应有良好的可扩充性,可以容易地加入其他系统的应用;· 平台的设计具有一定的超前性,灵活性,能够适应企业生产配置的变化;· 通过这个项目可以锻炼队伍,提高团队的开发能力和项目管理能力。3.应用环境根据用户的需求陈述,可以确定本项目分为客户端和管理端,客户端主要功能是提供系部专业主任登录页面进行管理(增,删,改,查)课程,申报教材等。它们的关系如图A-1所示。图A-1 学校教材订购系统流程图3.1 系统运行的网络环境本系统的网络运行图如图A-2所示,无论是客户端的系部专业主任还是管理端的管理用户都可以通过网络登录到本系统中。主任通过网络提交申报教材等相关信息,教材科管理员通过网络发布教材发放信息,库存,获得专业主任提交的申请表信息,进行教材发放。管理端的系统管理员需要设置管理端的用户以及相应的权限。3.2 系统运行的硬件环境本系统的硬件环境如下:客户机:普通PC· CPU:P41.8GHz以上· 内存:256MB以上· 能够运行IE5.0以上或者Netscape4.0以上版本的机器· 分辨率:推荐使用1024×768像素Web服务器· CPU:P41.0GHz· 内存:1G以上· 硬盘:80GB以上· 网卡:KMb/s速度数据库服务器· CPU:P42.0GHz· 内存:1GB以上·硬盘:80GB以上图A-2 网络拓扑结构图系统运行软件环境本系统的软件环境如下:· 操作系统:UNIX/Linux/Windows2000或以上版本· 数据库:SQL Server 2000· 开发工具包:JDK Version 1.4.2·Web服务器:Tomcat·浏览器:IE6.0以上4.功能规格我们采用面向对象分析作为主要的系统建模方法,使用UML(Unified Modeling Language)作为建模语言。UML为建模活动提供了从不同角度观察和展示系统的各种特征的方法。在UML中,从任何一个角度对系统所作的抽象都可能需要几种模型来描述,而这些来自不同角度的模型图最终组成了系统的映像。用例描述角色(用户、外部系统以及系统处理)是如何与系统交互来完成工作的。用例模型提供了一个非常重要的方式来界定系统边界以及定义系统功能,同时,该模型将来可以派生出动态对象模型。设计用例时,我们遵循下列步骤:1)识别出系统的角色。角色可以是用户、外部系统,甚至是外部处理,通过某种途径与系统交互。重要的是着重从系统外部执行者的角度来描述系统需要提供哪些功能,并指明这些功能的执行者(角色)是谁。尽可能地确保所有角色都被完全识别出来。2)描述主要的用例。可以采取不断地问自已“这个角色究竟想过系统做什么?”来准确地描述用例。3)重新审视每个用例,为它们下个详尽的定义。4.1 角色定义角色或者执行者指与系统产生交互的外部用户或者外部系统。4.1.1 系部专业主任专业主任是指在这个教材订购系统中通过客户端根据课程的内容来提交申请教材信息的人员,这个角色主要参与客户端的教材申请功能。4.1.2 管理用户管理用户是指管理端的用户-教材科管理员。他们主要负责管理专业信息,教材信息,专业班级信息,订购教材,管理教材发放信息,盘点库存等功能。它们的关系如图A-3所示。图A-3 管理用户角色的关系管理用户具体说明如下:教材科管理员· 专业信息,教材信息,专业班级等增删改查。· 订购件教材。· 管理教材的发放信息· 盘点库存。4.1.3 数据库数据库是一个与系统产生交互的外部系统,这个角色负责系统的数据查询、增加、删除和修改等操作。4.2 系统主用例图学校教材订购系统可以分为两个主要的组成部分,一个是客户端子系统。一个是管理端子系统。客户端子系统功能主要是指系部专业主任通过登录校网站进行操作。管理端子系统功能是发放教材的信息,查看库存,订购。系统的主用例如图A-4所示。图A-4 系统的主用例图4.3 客户端子系统专业主任通过学校的网站登录到系统中根据课程的设计(可以对课程进行增删改查)进行教材申请,提交申请单,进行教材的订购,这就是客户端子系统的功能。在客户端用户可以看到申请订购教材的相关信息(订购的专业,班级,教材的种类,教材的数量)。当点击订购件教材时进入订购详细信息页面。如果订购的话,进入到教材发放信息页面。发放完教材库存自动更新。图A-5是它的活动图。客户端的功能主要包括选择课程、填写申请单等功能,图A-6是它的用例图。 图A-5 客户端的活动图 图A-6 客户端的功能用例图客户端管理的这些用例描述如下:F-C-1:课程选择。系主任登录到学校网站可以看到课程列表,当点击某个课程可以看到课程名,编号,专业,班级,教材等。F-C-2:教材申请单输入。教材申请单输入包括专业,班级,教材数量,教材名称,申请人等,它们组成系主任教材申请单的基本信息。4.3.1 课程选择课程选择是显示目前在学校里正在教授的课程以及与其相关的专业班级,人数和所需要的教材等。具体描述如下。用例描述:系主任课程选择;执行者:系主任;前置条件:系主任已登录系统;后置条件:选择课程后,则可以输入申请单。基本路径:a)系主任登录到学校的教材管理网页,显示目前的课程;b)点击任何一个课程可以浏览课程的详细信息,包括专业,班级,教材等信息;c)如果需要这个课程,可以点击“确定”进入教材申报信息页面,开始填写申请单。4.3.2 申请单输入如果系主任需要某个课程,就开始录入申请单,申请单从课程的基本信息开始,。具体描述如下。用例描述:申请单输入;执行者:系主任;前置条件:系主任已选择课程;后置条件:申请单输入后,则可以提交。基本路径:a)基本信息输入,包括课程名、编号、教材名、专业、班级、申请人、申请时间、等信息;b)备注输入。c) 提交申请单到服务器端。4.4 管理端子系统管理端子系统主要是提供学校教材科管理人员使用的功能,它的功能分为专业管理、教材管理、专业管理、订购教材、发放教材信息、库存盘点等部分,每个登录者首先要通过安全认证然后确认权限,系统根据相应的权限实现相应的功能。图A-7是管理端的用例图。图A-7 管理端用例图F-L-1: 登录管理管理端的人员要登录到管理端必须经过登录界面,输入自己的用户名和密码,然后系统判断这个用户的权限信息,不同的登录人可能具有不同的权限,系统根据不同的权限实现不同的功能。F-M-1: 专业管理专业管理 由管理员登录到系统,实现对专业信息的增加、删除、修改的功能及提供专业的详细信息。F-M-2: 专业班级管理专业班级管理是由管理员登录到系统,根据专业信息组成专业班级信息,并且对班级信息进行增加、删除、修改的功能。F-M-3: 教材管理教材管理是由管理员登录到系统,根据专业信息和专业班级信息组成教材信息,并且对教材信息进行增加、删除、修改的功能。F-M-4: 订购教材管理订购教材管理是由教材科管理员对系主任发来的申请单进行整理,并根据教材信息订购。F-M-5:教材发放管理教材发放管理是由教材科管理员在网络上通知各专业系主任发放教材的时间、教材的数量等。F-M-6:库存管理库存管理是管理员在教材发放完后检查库存实际存在的数量、种类与已发放的数量、种类是否一致。F-A-1: 用户管理用户管理是由系统管理员增加或删除用户,编辑用户名、用户密码,修改用户权限,使具有不同权限的用户进入系统主界面时,出现在界面左侧栏中的图标数有所不同,具体的图标与用户所具有的权限对应。4.4.1 登录管理登录到管理端的所有人都需要通过登录界面进入相应的管理界面。在登发界面输入用户名和密码,系统首先判断用户名和密码的正确性,然后根据用户名确定其权限,不同的登录者具有不同的权限,根据登录者具有的权限将相应的功能显示在管理界面上,没有权限操作的功能将不显示在这个界面上。图A-8是它的活动视图。图A-8 登录管理活动视图4.4.2管理专业在一所大学中,是由大量的专业所组成的。专业管理模块主要是完成对每个专业的增加、删除、修改、查询等维护功能。具体描述如下。用例描述:管理专业;执行者: 教材科管理员;前置条件: 教材科管理员已登录系统;后置条件: 如果专业维护成功,则数据库中的专业库随之变化。基本路径:a)进入教材科管理界面,首先展示目前专业已有的专业;b)点击每个专业可以详细浏览这个专业的具体内容,同时也可以对这个专业的具体内容进行修改;c)增加专业时,首先选择专业编号,然后是专业名称、专业人数、等;d)可以删除选择的专业。图A-9 管理专业活动视图4.4.3管理专业班级在教材订购系统中,要定期维护,因为每个课程都附有教材信息,系主任必须填写申请单,才可以提交。专业班级管理主要是专业名的详细内容,所有专业都来自专业库,每个班级都有不同,针对不同的需求。具体功能描述如下。用例描述:管理专业班级;执行者: 教材科管理员;前置条件: 教材科管理员已登录系统;后置条件: 如果专业班级维护成功后,则数据库中的专业班级随之变化,教材信息更加全面;基本路径:a)进入教材科管理员界面,首先展示目前存在的专业班级;b)点击每个班级可以详细浏览每个专业的班级;c)可以对一些班级进行删除;d)提供增加班级按钮,增加班级时,从数据库中选择专业等。图A-10 管理专业班级活动视图4.4.4管理教材在教材订购系统中,要定期维护,因为每份教材都来自于专业和专业班级信息。教材管理主要是统计所需要的教材种类和数量。具体功能描述如下。用例描述:管理教材;执行者: 教材科管理员;前置条件: 教材科管理员已登录系统;后置条件: 如果教材维护成功后,则数据库中的教材随之变化,教材科管理员根据教材信息开始订购教材;基本路径:a)进入教材科管理员界面,首先展示目前需要订购的教材;b)点击每个教材可以详细浏览每个教材的详细资料;c)可以对一些教材进行修改(数量等);d)提供增加教材按钮,增加教材时,从数据库中选择专业,专业班级等。e)可以删除选择的教材。图A-11 管理教材活动视图4.4.5管理订购教材系主任将申请单提交之后,教材科管理员开始整理申请单,将需要的教材开始订购。具体的功能描述如下。用例描述:订购教材;执行者: 教材科管理员;前置条件: 教材科管理员已登录系统;后置条件: 教材整理完成后,则可以在网上发放教材信息,以便为发放教材做好准备。基本路径:a)进入教材订购界面,首先展示目前所需要的教材,提供订购的功能;b)通过点击课程列表进入相应课程的所有教材列表界面,这个界面也显示了每中教材的课程,数量,专业等信息;c)在订购列表中,通过点击一个教材可以显示这个教材的详细信息;d)对订购的处理结果,可以在网上发放信息通知系主任。图A-12 订购教材活动视图4.4.4发布教材信息教材发布是教材订购系统的主要功能之一,管理人员根据教材的需要,定期发布教材领取通知,详细描述这个教材情况。每中教材都附有一系列的表单,系主任通过网络可以看到教材,并可以在发放时间领取教材,具体功能描述如下。用例描述:发布教材;执行者: 教材科管理员;前置条件: 教材科管理员已登录系统;后置条件: 如果教材发布成功后,则数据库教材信息随之变化,系主任可以通过网络看到教材发放信息。基本路径:a)进入教材发放界面,首先展示目前已经订购的教材并且还没有发放的教材,;b)通过点击每个教材,可以详细浏览每个教材的详细描述;c)可以对每个教材信息进行修改;d)提供教材条件查询功能;e)提供教材删除功能。图A-13 发布教材活动视图4.4.6管理库存对发放完的教材进行检查,查看数量,种类是否正确等。具体描述如下:用例描述:库存管理;执行者: 教材科管理者;前置条件: 教材科管理者已登录系统;后置条件: 如果大幅度工完成后,则将发放的结果记录到数据库中。基本路径:a)进入库存管理界面,首先展示目前还没有发放的教材,提供查询功能;b)点击某个教材进入与这个教材相应的申请单的列表;c)将申请单分类浏览,分为等待通知者、正在领取和发放完成者;对没有通知的人,通知其进行领取,他的状态就变为正在领取;d)点击每个列表上的人,可以浏览到这个申请单的信息;e)发放完成时,需要记录发放的时间、领取人以及发放结果等,记录信息提交后这个申请单的状态就变为发放完成者。图A-14管理面库存动视图4.4.7管理用户系统管理员可以进行权限设置,在用户管理界面中对用户进行增加、删除、修改、查询。具体功能描述如下。用例描述:用户管理;执行者: 系统管理员;前置条件: 系统管理员已登录系统;后置条件: 如果用户信息维护完成,则用户的相应信息将记录到数据库中。基本路径:a)进入用户管理界面,显示目前的系统用户以及每个用户具有的权限;b)点击不同的用户,可以显示这个用户的信息以及相应权限,必要时可以修改其权限;c)可以增加用户,也可以删除用户。图A-15 管理用户活动视图5.性能需求根据用户对本系统的要求,确定系统在响应时间、可靠性、安全性等方面有较高的必能要求。5.1 界面需求系统的界面要求如下。1)页面内容:主题突出,站点定义、术语和行文格式统一、规范、明确、栏目、菜单设置和布局合理,传递的信息准确、及时。内容丰富,文字准确,语句通顺,专用术语规范,行文格式统一规范。2)导航结构:页面具有明确的导航指示,且便于理解,方便用户使用。3)技术环境:页面大小适当,能用各种常用浏览器以不同分辨率浏览,无错误链接和空链接;采用CSS处理,控制字体大小和版面布局。4)艺术风格:界面、版面形象清晰悦目、布局合理,字号大小适宜、字体选择合理,前后一致,美观大方,动与静搭配恰当,动静效果好;色彩和谐自然,与主题内容相协调。5.2 响应时间需求无论是客户端还是管理端,当用户登录,进行任何操作的时候,系统应该及时地进行反应,反应的时间在5秒以内。系统应能监测出各种非正常情况,如与设备的通信中断,无法连接数据库服务器等,以避免出现长时间等待甚至无响应。5.3 可靠性需求系统应保证7×24小时内不宕机,保证20人可以同时在客户端登录,此时系统能正常运行,正确提示相关内容。5.4 开放性需求系统应具有较强的灵活性,以适应将来功能扩展的需求。5.5 可扩展性需求系统设计要求能够体现扩展性要求,以适应将来功能扩展的需求。5.6 系统安全性需求系统有严格的权限管理功能,各功能模块需有相应的权限方能进入。系统需能够防止各类误操作可能造成的数据丢失,破坏。防止用户非法获得网页以及内容。6.产品提交提交产品为:a)应用系统软件包;b)数据库初始数据;c)系统开发过程文档;d)系统使用、维护说明文档,提交方式为CD介质。7.实现约束系统的实现约束如下:a)操作系统为Windows200;b)开发平台为:eclise-SDK-3.1.2-win32;c)数据库为SQL serer2000。第二章 软件项目的概要设计说明书案例说明学校教材订购系统项目的概要设计说明书如下。学校教材订购系统概要设计1.导言1.1 目的该文档的目的是描述学校教材订购系统项目的概要设计,其主要内容包括:·系统功能简介;·系统结构设计;·系统接口设计;·数据设计;·模块设计;·界面设计。本文档的预期的读者是:·开发人员;·项目管理人员;·测试人员。1.2 范围该文档定义了系统的结构和单元接口,但未确定单元的实现方法,这部分内容将在详细设计/实现中确定。1.3 编写说明UML:Unified Modeling Language(统一建模语言)的缩写,是一个标准的建模语言。HR:Human Resource(人力资源管理)的缩写。JSP:Java Server Page(java服务器页面)的缩写,一个脚本化的语言。MVC:Model-View-Control(模式-视图-控制)的缩写,表示一个三层的结构体系。EJB:Enterprise Java Bean(企业级JavaBean)的缩写。1.4 术语定义JSP Model2:Servlet/JSP规范的0.92版本中描述的术语,定义了如何在同一个应用程序中联合使用Servlet和JSP的体系结构。JavaBean:用Java语言实现的满足一定功能的类。1.5 引用标准1企业文档格式标准,*软件有限公司2软件概要设计报告格式标准,*软件有限公司软件工程过程化组织1.6 参考资料1实战struct(美)Ted Husted机械工业出版社, 2软件重构清华大学出版社, 1.7 版本更新信息本文档的更新记录如表B-1所示。表B-1 版本更新记录修改编号修改日期修改后版本修改位置修改内容概述0000012013.5.182013.5.250.11.0全部6.5节初始发布版本修改专业班级管理模块的设计2.系统分析本系统可以实现学校教材订购,系主任在通过网络投递教材申请单进。同时,教材科管理员可以汇总教材,游览教材,并通过测评结果选择合格的教材,通知面试,进行面试。方便企业与求职者的交流。系统包括管理端子系统和客户端子系统。管理端子系统包括专业管理、专业班级管理、教材发布、教材管理、面试管理、用户管理等功能。客户端子系统包括查询教材,教材录入,回答专业班级,提交教材等功能。图B-1和图B-2为客户端和管理端的组成构图。图B-1 客户端子系统图示 图B-2 管理端子系统3 .界面设计本系统的用户界面按功能分为客户端界面和管理端界面。图B-3 管理端的页面流程3.1 管理端界面设计管理端主要实现专业管理、专业班级管理、教材发布、教材管理、面试管理以及用户管理等功能。主要界面设计如下:·登录界面:通过输入用户各和密码实现用户登录,并判断用户的权限;图B-4 用户登录错误时图B-5 用户登录界面设计·管理首页:根据用户的权限,进入首页,并在首页中展示此用户相应可以操作的权限功能; 图B-6 管理员登录后的页面·管理专业:包括“专业列表”、“专业详细信息”、“增加专业”、“删除专业”、“修改专业”等页面; 图B-7 管理员添加专业 图B-8 管理员查找专业图B-9 管理员删除专业·专业班级管理:包括“专业班级列表”、“专业班级详细信息”、“修改班级”、“增加班级”、“删除班级”等页面;图B-10 管理专业班级界面设计(删除)图B-11 管理专业班级界面设计(查找)·管理教材:包括“教材列表”、“系主任申请列表”、“查看教材”、“教材详细信息”等页面; 图B-12 管理教材界面设计(查找)·发布教材:可以查询已经发放了的教材。 图B-13 发布教材界面设计·库存管理:可以查询具体教材还剩多少。图B-14 管理库存界面设计·订购管理:可以查询某个订购号。了解订购单的详细信息,例如数量,价格等。图B-15 管理订购界面设计3.2 客户端界面设计图B-16客户端的页面流程客户端主要为系主任提供教材申请的过程,系主任通过选择合适的课程,填写个人申请,并通过审核,提交的申请同到服务器端,供管理者审核。在客户界面,系主任首先进入学校教材管理界面,点击“课程”按钮进入课程列表界面,包括“教材列表”、“教材详细信息”、“申请教材”等页面。图B-17客户端主页面界面设计 图B-18客户端主下拉框设计 图B-19系主任添加课程界面设计 图B-20系主任查询教材界面设计 图B-21系主任删除课程界面设计 图B-22 系主任填写申请单界面设计4. 体系结构系统的总体结构设计遵循如下原则。1)系统应具有良好的适应性:能适应用户对系统的软件环境、管理内容、模式和界面的要求;2)系统应具有可靠性:采用成熟的技术方法和软件开发平台,以保证系统在以后的实际应用中安全、可靠;3)系统应具有较好的安全性:应提高安全机制和用户权限限制机制的完善程度,确保数据的受限访问;4)系统应具有良好的可维护性:系统应易于维护、安装;5)系统应具有良好的可扩展性:系统应适应未来信息化建设的要求,能方便地进行功能扩展,以建立完善的信息集成管理体系。本系统采用体系结构,struct是一个基于模型(Model)一视图(View)一控制器(Controller),即MVC模式的应用架构的开源框架。4.1 体系结构目前软件项目中有很多体系结构,其中struct是比较流行的一种。4.1.1 struct体系结构对于开发Web应用,要从头设计并开发出一个可靠、稳定的框架不是一件容易的事情。随着Web开发技术的日趋成熟,在Web开发领域出现了一些现成的优秀的框架、开发者可以直接使用它们,struct就是一个很好的框架结构,它是在JSP Model2基础上实现的一个MVC框架,在struct框架在模型由实现业务逻辑的JavaBean或者EJB组件构成,控制器由ActionServlet和Action来实现,视图由一组JSP文件组成,图B-5显示了Struct实现的MVC框架。其中:·视图,就是一组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服务器图B-23 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可以灵活地组装这些组件,以简化开发过程。4.1.2 系统体系结构根据系统分析结果,该系统从结构上应满足:·基于游览器进行显示以方便用户使用;·采用MVC的三层体系结构,分化各个功能组件;·采用JDBC技术与数据库通信以便于数据库的转换;·采用标签技术完成动态页面的简单逻辑。本系统的体系结构如图B-6所示,它基本遵循了struct体系的MVC框架规范。视图(V)层:用户界面(浏览器)HTML,CSS,DHTML,JavaScript,XML视图(V)层:服务器端脚本Connects UI to Business Objects, Java Server Pages,Java Servlets控制(C)层:分布式组件JavaBean模型(M):数据源和持久对象存储ODBC, JDBC, OLEDB, ADO, XML, LDAP图B-24 系统的体系结构其中:·表示层,用于与用户进行交互并显示结果。包括所有的JSP,提供用户界面,接受用户输入,还包括相应的ActionFrom Bean,用来存放表单数据,并进行表单数据验证;·控制层,包括所有的Action类,它完成三项任务,一是进行业务逻辑验证,二是调用模型组件,三是决定将合适的视图组件返回给用户;·模型,包括进行逻辑处理的JavaBean等,数据库采用ODBC技术以提供数据库的可移植性。 1)客户层:用于与企业信息系统的用户进行交互以及显示根据特定业务规则进行计算后的结果。本系统将完全采用基于Web的(B/S架构)客户端,即用户可以直接通过浏览器来访问和使用本系统。2)中间层:这相当于三层标准架构中的Web应用服务层,支持诸如响应客户请求以及查询等功能。并且由中间层进行逻辑处理,再将处理的结果反馈给客户或者发送到数据库中。3)服务层:主要是数据库系统,这里的数据库系统主要是关系数据库系统(RDMS)。4.2 系统进行环境 下面讲述系统运行的网络结构,硬件、软件环境。4.2.1 网络结构图本系统的网络拓扑图如图B-8所示。图B-25 网络拓扑图其中的局域网用户机主要是公司内部的人员可以使用的机器,运程用户机主要是指通过互联网登录系统的人员使用的机器,可以是公司内部的人,也可以是系主任。4.2.2 硬件环境本系统的硬件环境如下。1)客户机:普通PC·CPU:P41.8GHz以上·内存:256MB以上·能够运行IE5.0以上或者Netscape4.0以上版本的机器·分辨率:推荐使用1024×768像素2)Web服务器·CPU:P42.0GHz·内存:1GB以上·硬盘:80GB以上·网卡:KMb/s速度网卡3)数据库服务器·CPU:P42.0GHz·内存:1GB以上·硬盘:80GB以上4.2.3 软件环境本系统的软件环境如下:·操作系统:UNIX/Linux/Windows2000或以上版本·数据库:SQL Server 2000·开发工具包:JDK Version1.4.2·开发环境:eclipse-SDK-3.1.2win32·Web服务器:Tomcat·浏览器:IE6.0以上1)数据库及操作系统:对于核心数据库来说,选择一个合适的数据库系统对我们的系统运行是很重要的,选择数据库的关键因素是要考虑预计会有多少人同时访问数据库;正常工作时间的级别;用来访问数据库的应用程序的类型;运行数据库的服务器的硬件和操作系统类型以及管理人员的专业技术水平。目前市场上适用于中小型企业的数据库产品有IBM DB2、Microsoft SQL Server系列,Oracle系列。所有这些产品都基于SQL语言。同时,它们还拥有精度复杂的安全控制以适应不同的商业需要。服务器操作系统使用Windows2000 Server考虑到价格因素、易用性,我们使用SQL Server2000作为系统后台数据库系统,服务器操作系统采用Windows2000 Server。2)Web服务软件:目前的Web服务器软件有很多种,成熟而且稳定的有Apache、Tomcat和Microsoft的IIS,它们占据着Web服务器市场最大的份额。Tomcat是Sun和Apache合作推出的JSP Server,支持Servlet2.2及JSP1.1等版本。而且Tomcat未来将会取代Jserv,成为Apache主要的Servlet&JSP Engine。Tomcat在设计上是以独立的Server执行,而不像Jserv是附在Apche中,这样就更可以在servlet中,发挥非HttpServlet的能力。Tomcat是Java程序,所以只要有JDK就可以使用,不需要考虑操作系统平台。因此这里选择Tomcat作为Web服务器。五. 数据模型本系统的数据模型设计内容主要是进行数据库的设计。5.1 数据库的概念结构模型设计概念设计用来反映现实世界中的实体、属性和它们之间的关系等的原始数据形式,建立数据库的每一幅用户视图。图B-28是系统E-R图。其中系统中的管理用户创建维护专业、管理专业班级、发布教材、管理教材、管理订购,专业班级中的所有班级是由专业构成,发布的每个教材都对应一个(多个)专业班级。系主任看到课程后,选择合适的教材,提交自己的申请单。图B-26 数据库设计概念模型类图E5.2 数据库的逻辑结构模型设计图B-27 数据库设计的逻辑模型E-R图数据库的逻辑设计是将各局部的E-R图进行分解、合并后重新组织起来形成数据库全局逻辑结构,包括所确定的关键字和属性、重新确定的记录结构、所建立的各个数据之间的相互关系。根据本系统需求分析,系统的数据库包括了专业管理、专业班级管理、教材发布、教材管理、用户管理以及需要的基本数据字典等部分。专业管理包括的库表:·Majorior专业;·Majoriorid专业编号;·number人数。专业班级管理包括的库表:·class班级;·classid班级编号;·Majoriorid专业编号;·number人数。·courseid课程号;教材管理包括的库