ImageVerifierCode 换一换
格式:DOCX , 页数:25 ,大小:207.25KB ,
资源ID:9804768      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/9804768.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(软件工程设计报告.docx)为本站会员(b****7)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

软件工程设计报告.docx

1、软件工程设计报告 *研究生管理系统设计报告姓名:*学号:*班级:*日期:*1.文档说明1.1.设计文档的目的和文档使用范围该文档根据需求分析阶段所得的需求文档编写,说明对研究生管理系统的设计考虑,包括系统的基本处理流程、组织结构、模块划分、功能分配、接口设计、运行设计、数据结构设计和出错处理设计等,同时说明本系统各个层次中的每个模块或子程序的设计考虑和标准,从而为下一阶段的代码实现提供文本依据。1.2.文档的读者文档的预期读者为用户、开发人员、项目经理、营销人员、测试人员、文档编写人员等。1.3.参考资料 下面表格描述的是及本设计相关的资料。编号相关文档1研究生管理系统需求分析文档.doc21

2、.4.缩略语 下面表格定义了本文所用到的重要的术语、缩写词 或缩略语。缩略语、术语全称、解释$CATALINA_HOMEApache Tomcat的根目录2.系统概述本节主要从需求的角度描述本系统,描述的输入是用户需求。2.1.系统部署图下面是本系统的部署图。服务器开启后初始化ServletAction,读取struts-config.xml配置信息。用户发送请求,Servlet查找匹配ActionMapping对象是否存在,如果不存在,则返回错误信息;如果存在,则请求ActionForm对象中数据给Action处理。Action调用LogicClass对用户请求做出处理。如果涉及到数据库操作

3、,则通过接口调用数据层的DataClass做处理,并存储到实体中。处理完毕后,返回Action,并返回一个ActionForward对象给ServletAction并撞向某个JSP文件或者一个新的Action对象。如果转向JSP文件,其中涉及到调用ActionForm里的JavaBean类中的set()方法来提交表单数据给用户。ActionForm填充JSP页面,并返回给用户结果信息。本系统采用B/S模式,用户只需使用浏览器访问本系统即可,客户端无需安装其他软件。并且本系统采用MVC三层处理模式,使用Java的SSH框架分别处理MVC三层所有的事务。2.2.硬件环境下面的表格描述系统的硬件环境

4、,以及对系统有影响的关键硬件信息。硬件名称基本要求推荐配置CPU1G Pentium1.6G Pentium硬盘20G40G内存512M1G显示器1366*7681440*900对于本系统的WEB服务器和数据库服务器推荐使用专用的高配置服务器,以应对可能出现的大量客户同时访问。由于客户端使用浏览器就可以访问本系统,故只需普通个人计算机即可。2.3.软件环境本系统在Windows 7操作系统中进行部署,使用Apache Tomcat作为WEB服务器,使用MySQL作为数据库服务器。2.3.1.OS环境下面的表格说明操作系统及其版本号。系统名称版本号提供商WindowsWindows 7 旗舰版

5、SP1MicroSoft2.3.2.依赖软件下面的表格说明了本系统所依赖的软件、组件、服务信息。软件名称版本号提供商备注Tomcat6.0.26Apache Software FoundationMySQL5.5.31Oracle2.3.3.开发环境下面的表格描述的是本系统的开发环境。软件名称版本号使用语言提供商备注MyEclipse9.0JavaGenuitec2.4.系统安装对于Apache Tomcat和MySQl数据库的安装参考官方给定方法。安装Apache Tomcat后,将系统部署到到其中。部署方法有两种,一种是静态部署,另一种是动态部署。1、静态部署静态部署指的是在服务器启动之前

6、部署应用程序,只有当服务器启动之后,才能进行访问。以下3中方式都可以部署:(1)将应用程序根目录拷贝到$CATALINA_HOMEwebapps下,然后启动服务器。这种方式比较简单,但是web应用程序必须在webapps目录下。(2)将应用程序根目录拷贝到任意合适的目录下,同时需要进行一些配置,方法如下:更改$CATALINA_HOMEconfserver.xml文件,在标签内添加标签,并且添加如下:其中reloadable=false表示当应用程序中的内容发生更改之后服务器不会自动加载,这个属性在开发阶段通常都设为true,方便开发,在发布阶段应该设置为false,提高应用程序的访问速度。d

7、ocBase为路径,可以使用绝对路径,也可以使用相对路径,相对路径相对于webapps。path属性的值是访问时的根地址。(3)将应用程序根目录拷贝到任意合适的目录下,同时在$CATALINA_HOMEconfCatalinalocalhost中添加一个xml文件,并且赋予一定含义的文件名,其内容如下:该方式及第二种方式差不多,但是缺少了path属性,这种方式服务器会使用.xml的名字作为path属性的值。2、动态部署动态部署是指可以在服务器启动之后部署web应用程序,而不用重新启动服务器。动态部署要用到服务器提供的manager.war文件,如果在$CATALINA_HOMEwebapps下

8、没有该文件,则必须去重新下载Tomcat,否则不能完成以下的功能。要想使用该管理程序必须首先编辑$CATALINA_HOMEconftomcat-users.xml文件,内容如下: 这样,就完成了应用程序的动态部署。2.5.系统启动直接运行$CATALINA_HOMEbinstartup.bat文件可启动Tomcat服务器,进而可以访问本系统。2.6.系统退出运行$CATALINA_HOMEbinshutdown.bat文件可以关闭Tomcat服务器。3.关键技术 本系统的技术点列表如下:编号技术点略称状态No.1B/S模式掌握No.2SSH框架掌握No.3JDBC掌握本章将逐个对技术点进行描

9、述,包括每个技术点的内容、解决方法和状态等。3.1.B/S模式技术点B/S结构(Browser/Server,浏览器/服务器模式),是WEB兴起后的一种网络结构模式,WEB浏览器是客户端最主要的应用软件。这种模式统一了客户端,将系统功能实现的核心部分集中到服务器上,简化了系统的开发、维护和使用。客户机上只要安装一个浏览器(Browser),如Internet Explorer,服务器安装Oracle、SQL Server或MySQL等数据库。浏览器通过Web服务器同数据库进行数据交互。B/S最大的优点就是可以在任何地方进行操作而不用安装任何专门的软件,只要有一台能上网的电脑就能使用,客户端零安

10、装、零维护。系统的扩展非常容易。B/S结构的使用越来越多,特别是由需求推动了AJAX技术的发展,它的程序也能在客户端电脑上进行部分处理,从而大大的减轻了服务器的负担;并增加了交互性,能进行局部实时刷新。1)维护和升级方式简单。当前,软件系统的改进和升级越发频繁,B/S架构的产品明显体现着更为方便的特性。对一个稍微大一点单位来说,系统管理人员如果需要在几百甚至上千部电脑之间来回奔跑,效率和工作量是可想而知的,但B/S架构的软件只需要管理服务器就行了,所有的客户端只是浏览器,根本不需要做任何的维护。所以客户机越来越“瘦”,而服务器越来越“胖”是将来信息化发展的主流方向。今后,软件升级和维护会越来越

11、容易,而使用起来会越来越简单,这对用户人力、物力、时间、费用的节省是显而易见的,惊人的。因此,维护和升级革命的方式是“瘦”客户机,“胖”服务器。2)成本降低,选择更多。当前的趋势是凡使用B/S架构的应用管理软件,只需安装在Linux服务器上即可,而且安全性高。所以服务器操作系统的选择是很多的,不管选用那种操作系统都可以让大部分人使用安装了浏览器的Windows作为桌面操作系统而不受影响。3)应用服务器运行数据负荷较重。由于B/S架构管理软件只安装在服务器端(Server)上,网络管理人员只需要管理服务器就行了,用户界面主要事务逻辑在服务器(Server)端完全通过WWW浏览器实现,极少部分事务

12、逻辑在前端(Browser)实现,所有的客户端只有浏览器,网络管理人员只需要做硬件维护。但是,应用服务器运行数据负荷较重,一旦发生服务器“崩溃”等问题,后果不堪设想。因此,需要有数据库存储服务器,以防万一。由于B/S模式已经很流行,并且也已被广泛掌握,因此实现起来风险较小。3.2.SSH框架技术点SSH为Struts+Spring+Hibernate的一个集成框架,是目前较流行的一种Java Web应用程序开源框架。 下面将分别进行介绍。1、Struts框架 Struts是一个基于Sun J2EE平台的MVC框架,主要是采用Servlet和JSP技术来实现的。由于Struts能充分满足应用开发

13、的需求,简单易用,敏捷迅速,在过去的一年中颇受关注。Struts把Servlet、JSP、自定义标签和信息资源(message resources)整合到一个统一的框架中,开发人员利用其进行开发时不用再自己编码实现全套MVC模式,极大的节省了时间,所以说Struts是一个非常不错的应用框架。 2、Spring框架Spring是一个解决了许多在J2EE开发中常见的问题的强大框架。Spring提供了管理业务对象的一致方法并且鼓励了注入对接口编程而不是对类编程的良好习惯。Spring的架构基础是基于使用JavaBean属性的Inversion of Control 容器。然而,这仅仅是完整图景中的一

14、部分:Spring在使用IOC 容器作为构建完关注所有架构层的完整解决方案方面是独一无二的。 Spring提供了唯一的数据访问抽象,包括简单和有效率的JDBC框架,极大的改进了效率并且减少了可能的错误。Spring的数据访问架构还集成了Hibernate和其他O/R mapping解决方案。Spring还提供了唯一的事务管理抽象,它能够在各种底层事务管理技术,例如JTA或者JDBC事务提供一个一致的编程模型。Spring提供了一个用标准Java语言编写的AOP框架,它给POJOs提供了声明式的事务管理和其他企业事务-如果你需要-还能实现你自己的aspects。这个框架足够强大,使得应用程序能够

15、抛开EJB的复杂性,同时享受着和传统EJB相关的关键服务。Spring还提供了可以和IoC 容器集成的强大而灵活的MVC Web框架。 3、Hinernate框架Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。 Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序实用,也可以在Servlet/JSP的Web应用中使用,最具革命意义的是,Hibernate可以在应用EJB的J2EE架构中取代CMP,完成数据持久化的重任。 总之,Struts 是一个很好的MVC框

16、架,主要技术是Servlet和JSP。Struts的MVC设计模式可以使我们的逻辑变得很清晰,让我们写的程序层次分明。Spring 提供了管理业务对象的一致方法,并鼓励注入对接口编程而不是对类编程的良好习惯,使我们的产品在最大程度上解耦。Hibernate 是用来持久化数据的,提供了完全面向对象的数据库操作。Hibernate对JDBC进行了非常轻量级的封装,它使得及关系型数据库打交道变得非常轻松。 Struts负责Web层。ActionFormBean接收网页中表单提交的数据,然后通过Action进行处理,再Forward到对应的网页,在Struts-config.xml中定义了,Actio

17、nServlet会加载进来。Spring负责业务层管理,即Service。Service为Action提供统一的调用接口,封装持久层的DAO,并集成Hibernate,Spring可对JavaBean和事物进行统一管理。Hibernate负责持久层,完成数据库的CRUD操作。Hibernate有一组hbm.xml文件和PO,是及数据库中的表相对应的,然后定义及数据库打交道的DAO类。在Struts+Spring+Hibernate系统中,对象之间的调用流程如下:StrutsSpringHibernate JSPActionServiceDAOHibernate 3.3.JDBC技术点JDBC(

18、Java Data Base Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。将Java语言和JDBC结合起来使程序员不必为不同的平台编写不同的应用程序,只须写一遍程序就可以让它在任何平台上运行。JDBC提供了一种基准,据此可以构建更高级的工具和接口,使数据库开发人员能够编写数据库应用程序。JDBC对Java程序员而言是API,对实现及数据库连接的服务提供商而言是接口模型。作为API,JDBC为程序开发提供标准的接口,并为数据库厂商及第三方中间件厂商实现及数据库的连接提供了标准

19、方法。JDBC使用已有的SQL标准并支持及其它数据库连接标准,如ODBC之间的桥接。JDBC实现了所有这些面向标准的目标并且具有简单、严格类型定义且高性能实现的接口。JDBC扩展了Java的功能。例如,用Java和JDBC API可以发布含有applet的网页,而该applet使用的信息可能来自远程数据库。企业也可以用JDBC通过Intranet将所有职员连到一个或多个内部数据库中(即使这些职员所用的计算机有Windows、Macintosh和UNIX等各种不同的操作系统)。MIS管理员们都喜欢Java和JDBC的结合,因为它使信息传播变得容易和经济。企业可继续使用它们安装好的数据库,并能便捷

20、地存取信息,即使这些信息是储存在不同数据库管理系统上。新程序的开发期很短。安装和版本控制将大为简化。程序员可只编写一遍应用程序或只更新一次,然后将它放到服务器上,随后任何人就都可得到最新版本的应用程序。对于商务上的销售信息服务,Java和JDBC可为外部客户提供获取信息更新的更好方法。(1)JDBC用途简单地说,JDBC可做三件事:及数据库建立连接、发送操作数据库的语句并处理结果。JDBC是个低级接口,也就是说,它用于直接调用SQL命令。在这方面它的功能极佳,并比其它的数据库连接API易于使用,但它同时也被设计为一种基础接口,在它之上可以建立高级接口和工具。高级接口是对用户友好的接口,它使用的

21、是一种更易理解和更为方便的API,这种API在幕后被转换为诸如JDBC这样的低级接口。在关系数据库的对象/关系映射中,表中的每行对应于类的一个实例,而每列的值对应于该实例的一个属性。于是,程序员可直接对Java对象进行操作;存取数据所需的SQL调用将在掩盖下自动生成。此外还可提供更复杂的映射,例如将多个表中的行结合进一个Java类中。(2)支持JDBC API既支持数据库访问的两层模型(C/S),同时也支持三层模型(B/S)。在两层模型中,Java applet或应用程序将直接及数据库进行对话。这将需要一个JDBC驱动程序来及所访问的特定数据库管理系统进行通讯。用户的SQL语句被送往数据库中,

22、而其结果将被送回给用户。数据库可以位于另一台计算机上,用户通过网络连接到上面。这就叫做客户机/服务器配置,其中用户的计算机为客户机,提供数据库的计算机为服务器。网络可以是Intranet(它可将公司职员连接起来),也可以是Internet。在三层模型中,命令先是被发送到服务的中间层,然后由它将SQL语句发送给数据库。数据库对SQL语句进行处理并将结果送回到中间层,中间层再将结果送回给用户,可用中间层来控制对数据的访问和可作更新的种类。中间层的另一个好处是,用户可以利用易于使用的高级API,而中间层将把它转换为相应的低级调用。JDBC对于从Java的中间层来访问数据库非常重要。(3)联接使用Ja

23、va访问数据库需要获取一个连接,这通过两个步骤实现:装载驱动程序,获取连接。(4)改进尽管JDBC在Java语言层面实现了统一,但不同数据库仍旧有许多差异。为了更好地实现跨数据库操作,于是诞生了Hibernate项目,Hibernate是对JDBC的再封装,实现了对数据库操作更宽泛的统一和更好的可移植性。4.结构设计通过功能模块图来形象化描述本系统的结构设计。系统功能模块图是一种结构化设计方法,采用类似于结构化分析的“由大到小”、“自顶向下,逐层分解”的基本思想分解并描述系统。在导出系统功能模块图的过程中,以独立性、低耦合性、高内聚性、公共模块作为模块划分的原则,将大模块划分为较小的模块,直到

24、每一模块都是功能单一的模块。下面是本系统的的系统功能模块图。下面对本系统的每一个模块的功能进行概略描述。1、登录模块该模块负责各种用户的登录管理,同时负责用修改各自的登录密码。2、用户管理模块系统管理员可以添加指定的普通管理员,并赋予其教务处、学生处等角色,而这些角色具有相应的修改系统特定内容的权限,而为学生赋予普通用户的角色。3、学生信息管理模块学生可以录入自己的各种信息,同时可以修改和查看自己的信息。学生处可以查询、统计以及导出学生信息,同时还可以设定学生的在校状态,比如已注册、休学、毕业等,对学生信息进行管理。4、课程信息管理模块教务处将各种课程的信息录入,可以查询课程信息,并可以根据实

25、际情况修改开设的课程以及课程信息,而教师和学生可以查询课程信息,以方便教学和选课。5、教师信息管理模块教师将自己的基本信息录入系统,同时选择自己可以教授的课程,为教务处安排教学任务提供参考,也方便学生选课。6、选课模块学生根据导师的建议以及自己的爱好选择选修的课程。教务处和教师可以查看和统计学生的选课情况,并可导出选课名单,同时教务处可以根据学生的选课情况决定是否开设某些课程。在相应的课程考试完毕后,教师可以录入学生的成绩。教师可以查看和统计所教授课程的成绩信息,教务处可以查看和统计所有课程的成绩信息,并导出成绩单,而学生只能查看自己的成绩。5.数据库设计本系统使用MySQL数据库实现。MyS

26、QL是一个关系型数据库管理系统,将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。MySQL所使用的SQL语言是用于访问数据库的最常用标准化语言。MySQL软件采用了双授权政策。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型网站的开发都选择MySQL作为网站数据库。总体而言,MySQL数据库具有如下特点:1)使用C和C+编写,并使用了多种编译器进行测试,保证源代码的可移植性。2)支持AIX、FreeBSD、HP-UX、Linux、Mac OS、NovellNetware、OpenBSD、OS/2 Wrap、Solaris、Win

27、dows等多种操作系统。3)为多种编程语言提供了API。这些编程语言包括C、C+、Python、Java、Perl、PHP、Eiffel、Ruby和Tcl等。4)支持多线程,充分利用CPU资源。5)优化的SQL查询算法,有效地提高查询速度。6)既能够作为一个单独的应用程序应用在客户端服务器网络环境中,也能够作为一个库而嵌入到其他的软件中。7)提供多语言支持,常见的编码如中文的GB 2312、BIG5,日文的Shift_JIS等都可以用作数据表名和数据列名。8)提供TCP/IP、ODBC和JDBC等多种数据库连接途径。9)提供用于管理、检查、优化数据库操作的管理工具。10)支持大型的数据库。可以

28、处理拥有上千万条记录的大型数据库。11)支持多种存储引擎。5.1.数据表设计本节是本系统基于MySQL数据库的数据表的详细设计。学生表(student)字段名数据类型约束备注stu_idint(10)primary_key学号stu_namevarchar(30)not null姓名stu_ageint(2)not null年龄stu_sexint(1)not null性别stu_nativevarchar(100)not null籍贯tch_idint(10)foreign_key导师编号spe_idint(10)foreign_key所属专业号stu_researchvarchar(30)

29、not null研究方向课程表(course)字段名数据类型约束备注cour_idint(10)primary_key课程编号cour_namevarchar(50)not null课程名cour_creditint(2)not null学分cour_teach_timevarchar(30)not null授课时间cour_teach_sitevarchar(30)not null授课地点cour_teach_termint(1)not null授课学期cour_teach_periodint(3)not null授课学时spe_idint(10)foreign_key授课专业号专业表(specialty)字段名数据类型约束备注spe_idint(10)primary_key专业号spe_namevarchar(30)not null专业名spe_i

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1