• 1.01 MB
  • 26页

软件工程设计报告(例子).doc

  • 26页
  • 当前文档由用户上传发布,收益归属用户
  1. 1、本文档共5页,可阅读全部内容。
  2. 2、本文档内容版权归属内容提供方,所产生的收益全部归内容提供方所有。如果您对本文有版权争议,可选择认领,认领后既往收益都归您。
  3. 3、本文档由用户上传,本站不保证质量和数量令人满意,可能有诸多瑕疵,付费之前,请仔细先通过免费阅读内容等途径辨别内容交易风险。如存在严重挂羊头卖狗肉之情形,可联系本站下载客服投诉处理。
  4. 文档侵权举报电话:19940600175。
'**研究生管理系统设计报告姓名:***学号:***班级:***日期:*** 目录1.文档说明11.1.设计文档的目的和文档使用范围11.2.文档的读者11.3.参考资料11.4.缩略语12.系统概述22.1.系统部署图22.2.硬件环境22.3.软件环境32.3.1.OS环境32.3.2.依赖软件32.3.3.开发环境32.4.系统安装32.5.系统启动52.6.系统退出53.关键技术63.1.B/S模式技术点63.2.SSH框架技术点73.3.JDBC技术点84.结构设计105.数据库设计125.1.数据表设计125.2.数据表之间的联系156.功能设计166.1.学生16 6.2.学生处176.3.教务处176.4.教师186.5.系统管理员187.界面设计207.1.界面设计的参与者207.2.单功能界面设计208.总结23 第23页1.文档说明1.1.设计文档的目的和文档使用范围该文档根据需求分析阶段所得的需求文档编写,说明对研究生管理系统的设计考虑,包括系统的基本处理流程、组织结构、模块划分、功能分配、接口设计、运行设计、数据结构设计和出错处理设计等,同时说明本系统各个层次中的每个模块或子程序的设计考虑和标准,从而为下一阶段的代码实现提供文本依据。1.2.文档的读者文档的预期读者为用户、开发人员、项目经理、营销人员、测试人员、文档编写人员等。1.3.参考资料下面表格描述的是与本设计相关的资料。编号相关文档1研究生管理系统需求分析文档.doc21.4.缩略语下面表格定义了本文所用到的重要的术语、缩写词或缩略语。缩略语、术语全称、解释$CATALINA_HOMEApacheTomcat的根目录 第23页系统概述本节主要从需求的角度描述本系统,描述的输入是用户需求。1.1.系统部署图下面是本系统的部署图。服务器开启后初始化ServletAction,读取struts-config.xml配置信息。用户发送请求,Servlet查找匹配ActionMapping对象是否存在,如果不存在,则返回错误信息;如果存在,则请求ActionForm对象中数据给Action处理。Action调用LogicClass对用户请求做出处理。如果涉及到数据库操作,则通过接口调用数据层的DataClass做处理,并存储到实体中。处理完毕后,返回Action,并返回一个ActionForward对象给ServletAction并撞向某个JSP文件或者一个新的Action对象。如果转向JSP文件,其中涉及到调用ActionForm里的JavaBean类中的set()方法来提交表单数据给用户。ActionForm填充JSP页面,并返回给用户结果信息。本系统采用B/S模式,用户只需使用浏览器访问本系统即可,客户端无需安装其他软件。并且本系统采用MVC三层处理模式,使用Java的SSH框架分别处理MVC三层所有的事务。1.2.硬件环境下面的表格描述系统的硬件环境,以及对系统有影响的关键硬件信息。硬件名称基本要求推荐配置CPU1GPentium1.6GPentium硬盘20G40G 第23页内存512M1G显示器1366*7681440*900对于本系统的WEB服务器和数据库服务器推荐使用专用的高配置服务器,以应对可能出现的大量客户同时访问。由于客户端使用浏览器就可以访问本系统,故只需普通个人计算机即可。1.1.软件环境本系统在Windows7操作系统中进行部署,使用ApacheTomcat作为WEB服务器,使用MySQL作为数据库服务器。1.1.1.OS环境下面的表格说明操作系统及其版本号。系统名称版本号提供商WindowsWindows7旗舰版SP1MicroSoft1.1.2.依赖软件下面的表格说明了本系统所依赖的软件、组件、服务信息。软件名称版本号提供商备注Tomcat6.0.26ApacheSoftwareFoundationMySQL5.5.31Oracle1.1.3.开发环境下面的表格描述的是本系统的开发环境。软件名称版本号使用语言提供商备注MyEclipse9.0JavaGenuitec1.2.系统安装对于ApacheTomcat和MySQl数据库的安装参考官方给定方法。安装ApacheTomcat后,将系统部署到到其中。部署方法有两种,一种是静态部署,另一种是动态部署。1、静态部署 第23页静态部署指的是在服务器启动之前部署应用程序,只有当服务器启动之后,才能进行访问。以下3中方式都可以部署:(1)将应用程序根目录拷贝到$CATALINA_HOMEwebapps下,然后启动服务器。这种方式比较简单,但是web应用程序必须在webapps目录下。(2)将应用程序根目录拷贝到任意合适的目录下,同时需要进行一些配置,方法如下:更改$CATALINA_HOMEconfserver.xml文件,在标签内添加标签,并且添加如下:其中reloadable="false"表示当应用程序中的内容发生更改之后服务器不会自动加载,这个属性在开发阶段通常都设为true,方便开发,在发布阶段应该设置为false,提高应用程序的访问速度。docBase为路径,可以使用绝对路径,也可以使用相对路径,相对路径相对于webapps。path属性的值是访问时的根地址。(3)将应用程序根目录拷贝到任意合适的目录下,同时在$CATALINA_HOMEconfCatalinalocalhost中添加一个xml文件,并且赋予一定含义的文件名,其内容如下:该方式与第二种方式差不多,但是缺少了path属性,这种方式服务器会使用.xml的名字作为path属性的值。2、动态部署动态部署是指可以在服务器启动之后部署web应用程序,而不用重新启动服务器。动态部署要用到服务器提供的manager.war文件,如果在$CATALINA_HOMEwebapps下没有该文件,则必须去重新下载Tomcat,否则不能完成以下的功能。要想使用该管理程序必须首先编辑$CATALINA_HOMEconftomcat-users.xml文件,内容如下:这样,就完成了应用程序的动态部署。 第23页1.1.系统启动直接运行$CATALINA_HOMEbinstartup.bat文件可启动Tomcat服务器,进而可以访问本系统。1.2.系统退出运行$CATALINA_HOMEbinshutdown.bat文件可以关闭Tomcat服务器。 第23页关键技术本系统的技术点列表如下:编号技术点略称状态No.1B/S模式掌握No.2SSH框架掌握No.3JDBC掌握本章将逐个对技术点进行描述,包括每个技术点的内容、解决方法和状态等。1.1.B/S模式技术点B/S结构(Browser/Server,浏览器/服务器模式),是WEB兴起后的一种网络结构模式,WEB浏览器是客户端最主要的应用软件。这种模式统一了客户端,将系统功能实现的核心部分集中到服务器上,简化了系统的开发、维护和使用。客户机上只要安装一个浏览器(Browser),如InternetExplorer,服务器安装Oracle、SQLServer或MySQL等数据库。浏览器通过Web服务器同数据库进行数据交互。B/S最大的优点就是可以在任何地方进行操作而不用安装任何专门的软件,只要有一台能上网的电脑就能使用,客户端零安装、零维护。系统的扩展非常容易。B/S结构的使用越来越多,特别是由需求推动了AJAX技术的发展,它的程序也能在客户端电脑上进行部分处理,从而大大的减轻了服务器的负担;并增加了交互性,能进行局部实时刷新。1)维护和升级方式简单。当前,软件系统的改进和升级越发频繁,B/S架构的产品明显体现着更为方便的特性。对一个稍微大一点单位来说,系统管理人员如果需要在几百甚至上千部电脑之间来回奔跑,效率和工作量是可想而知的,但B/S架构的软件只需要管理服务器就行了,所有的客户端只是浏览器,根本不需要做任何的维护。所以客户机越来越“瘦”,而服务器越来越“胖”是将来信息化发展的主流方向。今后,软件升级和维护会越来越容易,而使用起来会越来越简单,这对用户人力、物力、时间、费用的节省是显而易见的,惊人的。因此,维护和升级革命的方式是“瘦”客户机,“胖”服务器。2)成本降低,选择更多。当前的趋势是凡使用B/S架构的应用管理软件,只需安装在Linux服务器上即可,而且安全性高。所以服务器操作系统的选择是很多的,不管选用那种操作系统都可以让大部分人使用安装了浏览器的Windows作为桌面操作系统而不受影响。3)应用服务器运行数据负荷较重。由于B/S架构管理软件只安装在服务器端(Server)上,网络管理人员只需要管理服务器就行了,用户界面主要事务逻辑在服务器(Server)端完全通过WWW浏览器实现,极少部分事务逻辑在前端(Browser)实现,所有的客户端只有浏览器,网络管理人员只需要做硬件维护。但是,应用服务器运行数据负荷较重,一旦发生服务器“崩溃”等问题,后果不堪设想。因此,需要有数据库存储服务器,以防万一。 第23页由于B/S模式已经很流行,并且也已被广泛掌握,因此实现起来风险较小。1.1.SSH框架技术点SSH为Struts+Spring+Hibernate的一个集成框架,是目前较流行的一种JavaWeb应用程序开源框架。下面将分别进行介绍。1、Struts框架Struts是一个基于SunJ2EE平台的MVC框架,主要是采用Servlet和JSP技术来实现的。由于Struts能充分满足应用开发的需求,简单易用,敏捷迅速,在过去的一年中颇受关注。Struts把Servlet、JSP、自定义标签和信息资源(messageresources)整合到一个统一的框架中,开发人员利用其进行开发时不用再自己编码实现全套MVC模式,极大的节省了时间,所以说Struts是一个非常不错的应用框架。2、Spring框架Spring是一个解决了许多在J2EE开发中常见的问题的强大框架。Spring提供了管理业务对象的一致方法并且鼓励了注入对接口编程而不是对类编程的良好习惯。Spring的架构基础是基于使用JavaBean属性的InversionofControl容器。然而,这仅仅是完整图景中的一部分:Spring在使用IOC容器作为构建完关注所有架构层的完整解决方案方面是独一无二的。Spring提供了唯一的数据访问抽象,包括简单和有效率的JDBC框架,极大的改进了效率并且减少了可能的错误。Spring的数据访问架构还集成了Hibernate和其他O/Rmapping解决方案。Spring还提供了唯一的事务管理抽象,它能够在各种底层事务管理技术,例如JTA或者JDBC事务提供一个一致的编程模型。Spring提供了一个用标准Java语言编写的AOP框架,它给POJOs提供了声明式的事务管理和其他企业事务--如果你需要--还能实现你自己的aspects。这个框架足够强大,使得应用程序能够抛开EJB的复杂性,同时享受着和传统EJB相关的关键服务。Spring还提供了可以和IoC容器集成的强大而灵活的MVCWeb框架。3、Hinernate框架Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序实用,也可以在Servlet/JSP的Web应用中使用,最具革命意义的是,Hibernate可以在应用EJB的J2EE架构中取代CMP,完成数据持久化的重任。总之,Struts是一个很好的MVC框架,主要技术是Servlet和JSP。Struts的MVC设计模式可以使我们的逻辑变得很清晰,让我们写的程序层次分明。Spring提供了管理业务对象的一致方法,并鼓励注入对接口编程而不是对类编程的良好习惯,使我们的产品在最大程度上解耦。Hibernate是用来持久化数据的,提供了完全面向对象的数据库操作。Hibernate对JDBC进行了非常轻量级的封装,它使得与关系型数据库打交道变得非常轻松。Struts负责Web层。ActionFormBean接收网页中表单提交的数据,然后通过Action进行处理,再Forward到对应的网页,在Struts-config.xml中定义了,ActionServlet会加载进来。Spring负责业务层管理,即Service。Service为Action提供统一的调用接口,封装持久层的DAO,并集成Hibernate,Spring可对JavaBean和事物进行统一管理。 第23页Hibernate负责持久层,完成数据库的CRUD操作。Hibernate有一组hbm.xml文件和PO,是与数据库中的表相对应的,然后定义与数据库打交道的DAO类。在Struts+Spring+Hibernate系统中,对象之间的调用流程如下:Struts——>Spring——>HibernateJSP——>Action——>Service——>DAO——>Hibernate1.1.JDBC技术点JDBC(JavaDataBaseConnectivity,java数据库连接)是一种用于执行SQL语句的JavaAPI,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。将Java语言和JDBC结合起来使程序员不必为不同的平台编写不同的应用程序,只须写一遍程序就可以让它在任何平台上运行。JDBC提供了一种基准,据此可以构建更高级的工具和接口,使数据库开发人员能够编写数据库应用程序。JDBC对Java程序员而言是API,对实现与数据库连接的服务提供商而言是接口模型。作为API,JDBC为程序开发提供标准的接口,并为数据库厂商及第三方中间件厂商实现与数据库的连接提供了标准方法。JDBC使用已有的SQL标准并支持与其它数据库连接标准,如ODBC之间的桥接。JDBC实现了所有这些面向标准的目标并且具有简单、严格类型定义且高性能实现的接口。JDBC扩展了Java的功能。例如,用Java和JDBCAPI可以发布含有applet的网页,而该applet使用的信息可能来自远程数据库。企业也可以用JDBC通过Intranet将所有职员连到一个或多个内部数据库中(即使这些职员所用的计算机有Windows、Macintosh和UNIX等各种不同的操作系统)。MIS管理员们都喜欢Java和JDBC的结合,因为它使信息传播变得容易和经济。企业可继续使用它们安装好的数据库,并能便捷地存取信息,即使这些信息是储存在不同数据库管理系统上。新程序的开发期很短。安装和版本控制将大为简化。程序员可只编写一遍应用程序或只更新一次,然后将它放到服务器上,随后任何人就都可得到最新版本的应用程序。对于商务上的销售信息服务,Java和JDBC可为外部客户提供获取信息更新的更好方法。(1)JDBC用途简单地说,JDBC可做三件事:与数据库建立连接、发送操作数据库的语句并处理结果。JDBC是个"低级"接口,也就是说,它用于直接调用SQL命令。在这方面它的功能极佳,并比其它的数据库连接API易于使用,但它同时也被设计为一种基础接口,在它之上可以建立高级接口和工具。高级接口是"对用户友好的"接口,它使用的是一种更易理解和更为方便的API,这种API在幕后被转换为诸如JDBC这样的低级接口。在关系数据库的"对象/关系"映射中,表中的每行对应于类的一个实例,而每列的值对应于该实例的一个属性。于是,程序员可直接对Java对象进行操作;存取数据所需的SQL调用将在"掩盖下"自动生成。此外还可提供更复杂的映射,例如将多个表中的行结合进一个Java类中。(2)支持JDBCAPI既支持数据库访问的两层模型(C/S),同时也支持三层模型(B/S)。 第23页在两层模型中,Javaapplet或应用程序将直接与数据库进行对话。这将需要一个JDBC驱动程序来与所访问的特定数据库管理系统进行通讯。用户的SQL语句被送往数据库中,而其结果将被送回给用户。数据库可以位于另一台计算机上,用户通过网络连接到上面。这就叫做客户机/服务器配置,其中用户的计算机为客户机,提供数据库的计算机为服务器。网络可以是Intranet(它可将公司职员连接起来),也可以是Internet。在三层模型中,命令先是被发送到服务的"中间层",然后由它将SQL语句发送给数据库。数据库对SQL语句进行处理并将结果送回到中间层,中间层再将结果送回给用户,可用中间层来控制对数据的访问和可作更新的种类。中间层的另一个好处是,用户可以利用易于使用的高级API,而中间层将把它转换为相应的低级调用。JDBC对于从Java的中间层来访问数据库非常重要。(3)联接使用Java访问数据库需要获取一个连接,这通过两个步骤实现:装载驱动程序,获取连接。(4)改进尽管JDBC在Java语言层面实现了统一,但不同数据库仍旧有许多差异。为了更好地实现跨数据库操作,于是诞生了Hibernate项目,Hibernate是对JDBC的再封装,实现了对数据库操作更宽泛的统一和更好的可移植性。 第23页结构设计通过功能模块图来形象化描述本系统的结构设计。系统功能模块图是一种结构化设计方法,采用类似于结构化分析的“由大到小”、“自顶向下,逐层分解”的基本思想分解并描述系统。在导出系统功能模块图的过程中,以独立性、低耦合性、高内聚性、公共模块作为模块划分的原则,将大模块划分为较小的模块,直到每一模块都是功能单一的模块。下面是本系统的的系统功能模块图。下面对本系统的每一个模块的功能进行概略描述。1、登录模块该模块负责各种用户的登录管理,同时负责用修改各自的登录密码。2、用户管理模块系统管理员可以添加指定的普通管理员,并赋予其教务处、学生处等角色,而这些角色具有相应的修改系统特定内容的权限,而为学生赋予普通用户的角色。3、学生信息管理模块学生可以录入自己的各种信息,同时可以修改和查看自己的信息。学生处可以查询、统计以及导出学生信息,同时还可以设定学生的在校状态,比如已注册、休学、毕业等,对学生信息进行管理。4、课程信息管理模块教务处将各种课程的信息录入,可以查询课程信息,并可以根据实际情况修改开设的课程以及课程信息,而教师和学生可以查询课程信息,以方便教学和选课。5、教师信息管理模块教师将自己的基本信息录入系统,同时选择自己可以教授的课程,为教务处安排教学任务提供参考,也方便学生选课。 第23页6、选课模块学生根据导师的建议以及自己的爱好选择选修的课程。教务处和教师可以查看和统计学生的选课情况,并可导出选课名单,同时教务处可以根据学生的选课情况决定是否开设某些课程。在相应的课程考试完毕后,教师可以录入学生的成绩。教师可以查看和统计所教授课程的成绩信息,教务处可以查看和统计所有课程的成绩信息,并导出成绩单,而学生只能查看自己的成绩。 第23页数据库设计本系统使用MySQL数据库实现。MySQL是一个关系型数据库管理系统,将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。MySQL所使用的SQL语言是用于访问数据库的最常用标准化语言。MySQL软件采用了双授权政策。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型网站的开发都选择MySQL作为网站数据库。总体而言,MySQL数据库具有如下特点:1)使用C和C++编写,并使用了多种编译器进行测试,保证源代码的可移植性。2)支持AIX、FreeBSD、HP-UX、Linux、MacOS、NovellNetware、OpenBSD、OS/2Wrap、Solaris、Windows等多种操作系统。3)为多种编程语言提供了API。这些编程语言包括C、C++、Python、Java、Perl、PHP、Eiffel、Ruby和Tcl等。4)支持多线程,充分利用CPU资源。5)优化的SQL查询算法,有效地提高查询速度。6)既能够作为一个单独的应用程序应用在客户端服务器网络环境中,也能够作为一个库而嵌入到其他的软件中。7)提供多语言支持,常见的编码如中文的GB2312、BIG5,日文的Shift_JIS等都可以用作数据表名和数据列名。8)提供TCP/IP、ODBC和JDBC等多种数据库连接途径。9)提供用于管理、检查、优化数据库操作的管理工具。10)支持大型的数据库。可以处理拥有上千万条记录的大型数据库。11)支持多种存储引擎。1.1.数据表设计本节是本系统基于MySQL数据库的数据表的详细设计。学生表(student)字段名数据类型约束备注stu_idint(10)primary_key学号stu_namevarchar(30)notnull姓名stu_ageint(2)notnull年龄stu_sexint(1)notnull性别stu_nativevarchar(100)notnull籍贯 第23页tch_idint(10)foreign_key导师编号spe_idint(10)foreign_key所属专业号stu_researchvarchar(30)notnull研究方向课程表(course)字段名数据类型约束备注cour_idint(10)primary_key课程编号cour_namevarchar(50)notnull课程名cour_creditint(2)notnull学分cour_teach_timevarchar(30)notnull授课时间cour_teach_sitevarchar(30)notnull授课地点cour_teach_termint(1)notnull授课学期cour_teach_periodint(3)notnull授课学时spe_idint(10)foreign_key授课专业号专业表(specialty)字段名数据类型约束备注spe_idint(10)primary_key专业号spe_namevarchar(30)notnull专业名spe_introducevarcahr(200)notnull专业介绍教师表(teacher)字段名数据类型约束备注tch_idint(10)primary_key教师编号tch_namevarchar(30)notnull姓名tch_sexint(1)notnull性别tch_specialty_idint(10)notnull所属专业tch_researchvarcahr(30)notnull研究方向title_idint(10)foreign_key职称编号tutor_cate_idint(10)foreign_key导师类别编号职称表(title)字段名数据类型约束备注title_idint(10)primary_key职称编号title_namevarchar(30)notnull职称名title_introducevarchar(200)notnull职称介绍导师类别表(tutor_category) 第23页字段名数据类型约束备注tutor_cate_idint(10)primary_key导师类别编号tutor_cate_namevarchar(30)notnull导师类别名称tutor_cate_introducevarchar(200)notnull导师类别介绍教师教授课程表(teacher_course)字段名数据类型约束备注tch_idint(10)primary_key教师编号cour_idint(10)primary_key课程编号选课表(student_course)字段名数据类型约束备注stu_idint(10)primary_key学号cour_idint(10)primary_key课程编号stu_cour_gradeint(2)成绩权限表(authority)字段名数据类型约束备注auth_idint(10)primary_key权限编号auth_namevarchar(30)notnull权限名用户类型表(user_type)字段名数据类型约束备注user_type_idint(10)primary_key用户类型编号user_type_namevarchar(30)notnull用户类型名用户权限表(user_authority)字段名数据类型约束备注user_type_idint(10)primary_key用户类型编号auth_idint(10)primary_key权限编号用户表(user)字段名数据类型约束备注user_idint(10)primary_key用户编号user_type_idint(10)foreign_key用户类型编号user_passwordvarchar(50)notnull用户密码 第23页1.1.数据表之间的联系下图描述的是上述数据表之间的属性引用关系。 第23页功能设计本章通过用例图来分析和表现系统的各个参与者所能进行的操作,从而对系统进行功能建模。用例图是由参与者、用例以及它们之间的关系构成的用于描述系统功能的静态视图,展示外部用户所能观察到的系统功能,呈现了一些参与者和一些用例,以及它们之间的关系,对系统、子系统或类的功能行为进行建模,使开发者能够实现这些元素。将每个系统中的用户分出工作状态的属性和工作内容,方便建模,防止功能重复和多余的类。用例图定义了系统的功能需求,它是从系统的外部看系统功能,并不描述系统内部对功能的具体实现。本系统主要参与者为学生、学生处、教务处以及教师。下面分别是这些参与者的用例图。1.1.学生上图描述的是本系统中学生参与者所能执行的动作。首先学生继承了所有用户都具有的登录和修改密码功能。然后,学生可以录入本人信息,查询、修改本人信息,可以查看课程信息并选课,之后可以本人查询选课情况和查询成绩。 第23页1.1.学生处上图描述的是本系统中学生处参与者所能执行的动作。同样,学生处参与者也继承了所有用户具有的登录和修改密码功能。学生处可以每学期设置学生是否已注册,可以查询学生信息。1.2.教务处 第23页上图描述的是本系统教务处参与者所能执行的动作。教务处首先可以登录本系统,并且修改登录密码。教务处可以录入、查询和修改课程信息,统计选课情况和考试成绩。1.1.教师上图描述的是本系统教师参与者所能执行的动作。首先是登录和修改密码,然后可以查看和统计学生选课情况,查询课程信息,录入考试成绩。1.2.系统管理员 第23页上图描述的是本系统管理员参与者所能执行的动作。管理员可以登录和修改密码,然后可以添加学生、学生处、教务处、教师参与者,同时可以设置这些参与者的权限。 第23页界面设计本章主要简要介绍本系统的界面设计。1.1.界面设计的参与者下面表格描述的是参与界面设计活动的人员角色及其职责。人员角色职责界面设计师(1)设计屏幕及屏幕流,构造界面设计模型;(2)构造界面原型;(3)构造可用性需求追踪表美工师对界面进行美工设计软件架构师(1)为界面设计师提供必要的咨询并释疑(2)评审界面设计模型用户需求工程师用例设计师评审界面设计模型1.2.单功能界面设计下面将分别介绍本系统的主要功能界面。1、欢迎和登陆页面该页面显示欢迎信息,背景可以设置为比较有特色的本校景色。同时显示登录需要输入的信息,包括用户名和密码的输入框,点击“确认”按钮即可提交输入的信息,点击“重置”按钮可以重新输入验证信息。同时提示用户,如果没有注册可以先进行注册,点击“注册”超链接即可跳转到注册页面。2、注册页面注册页面主要针对学生用户,而对于学生处、教务处和教师等用户则由系统管理员直接分配帐号,以免系统出现安全漏洞。在该页面,学生需要输入账户名,输入密码和确认密码,然后点击“注册”按钮,即可进行注册,或者点击“重置”按钮重新输入,也可点击“取消”按钮取消注册。当学生注册成功后将自动跳转到登录页面。3、主页面 第23页主页面将分成多个模块,每个模块对应一个操作对象,即可以选择学生信息管理、课程信息管理、选课、教师信息管理、用户管理等模块,并且每个模块都有相应的不同操作。在学生信息管理模块下可以选择录入学生信息、修改学生信息、查询学生信息、导出学生信息、设置学生在校状态等。其他模块与此类似。不同的用户以不同的帐号登录该系统,不同的帐号可能具有不同的权限,执行不同的操作。因此对于不同的用户,当在某个模块下选择某个操作时,系统会先验证当前登录用户的角色与权限,若无权执行相应的操作,则应提示用户,否则将跳转到相应的操作执行页面。4、录入学生信息页面在该页面中,学生需要按照提示,将自己的个人信息输入到相应的输入框中,点击“提交”按钮即可将输入信息提交到数据库中,也可点击“重置”按钮重新输入信息,或者点击“取消”按钮返回上一页面。5、修改学生信息页面该页面与录入学生信息页面相同,只不过由于只有学生本人才可以修改自己的个人信息,因此只有学生用户登录之后才可以跳转到该页面,因而系统需要根据当前登录用户的帐号将该学生的信息从数据库中提取出来,并显示在该页面的相应位置,由学生按照实际情况进行修改。修改完成后,点击“确认修改”按钮提交修改后的结果,或者点击“重置”按钮重新输入所有的信息,或者点击“取消”按钮取消修改并返回上一页面。6、查询学生信息页面学生本人可以查看自己的全部信息,而不能查看其它人的信息,学生处可以按学号、姓名、籍贯等条件查看所有学生的信息。不同的用户登录该页面将呈现不同的显示内容。当学生用户登录时,系统通过该学生帐号将学生的信息从数据库中取出并全部显示出来。学生在查看个人信息的过程中如果发现有需要修改的地方,可以点击“修改”按钮跳转到修改学生信息页面,否则点击“返回”按钮返回上一页面。而当学生处用户登录时,在该页面将提供按一定条件查询学生信息的功能。在下拉列表中选择查询字段,比如“姓名”、“学号”等,在输入框中输入查询条件,然后点击“查询”按钮,查询结果将以表格的形式呈现,并且只显示学生的基本信息,如果想要查看某个学生的全部信息,可以点击相应的学生记录,跳转到另一个页面以显示该学生的全部信息。7、导出学生信息页面在该页面中,需要选择相应的导出内容和导出格式。用户可以通过查询的方式导出一部分学生的信息,并且添加复选框,以使用户可以在查询结果中再选择要导出的学生记录。通过下拉列表选择信息导出的文件格式,比如表格、纯文本文件等。然后点击“导出”按钮开始导出选择的学生记录,或者点击“取消”按钮可以取消导出信息并且跳转到上一页面。8、录入课程信息页面教务处有权进入到录入课程信息页面,并且需要将新开设的课程信息录入到数据库中,包括课程名、课程编号、学分、授课学时、授课学期等作为必填信息,而授课时间、地点、教师等可以留待以后再补充。当每学期开始时,可以根据相应的教学计划和教室安排等信息,确定将要开设的课程以及授课时间、地点、教师,并将该课程设为可选状态,并且以供学生选课。9、查询课程信息页面 第23页学生、教师和教务处都可以进入查询课程信息界面。首先需要通过下拉列表选择需要查看的课程所归属的开课单位,比如公共课、某学院的专业课等,然后选择授课学年和学期,那么将立刻显示出本单位在本学期内将要开设、可供选择的课程信息列表,包括课程名、课程简介、授课时间、授课地点、授课教师等信息。学生通过查看该信息确定本学期需要选择的课程。点击“返回”按钮可返回上一页面。10、修改课程信息页面教务处有权进入到修改课程信息页面。可以通过课程名或课程编号搜索课程,在搜索结果中选择需要修改的课程,点击“修改”按钮,将跳转到另一个页面。在新页面中将列出该课程所有的信息,但是课程编号、课程名的信息是不可修改的,其他信息都可修改。可以根据相应的教学计划的变化来修改相应的信息。同时,可以设置该课程是否处于可选状态。如果处于可选状态,则学生可以选择该课程,否则将不能选择。如果本学期选择该课程的学生数过少,那么本学期将不开设该课程,设置为不可选状态,而已选择该课程的学生需要再次选择需要选修的课程。修改完毕后,点击“保存”按钮将保存修改后的结果跳转到修改成功信息页面并自动跳转回修改课程信息页面,否则点击“取消”将放弃本次修改并跳转回上一页面。11、选课页面学生通过选课页面来进行选课。与查询课程信息界面类似,学生需要在选课页面中找到需要选修的课程,点击相应课程的“选择”按钮,在确认选修之后将提交选修课程信息。如果选修成功,那么将跳转到选修成功页面并自动跳转到选课页面,更新数据库;如果选修该课程的人数已超过上限,则提示错误信息并返回选课页面,不更新数据库。12、统计选课情况页面教务处和教师可以进入统计选课情况页面。在该页面中将显示所有选修该课程的学生的相关信息,比如姓名、学号、专业等,并且显示选修该课程的总人数。如果选修该课程的人达不到一定的数量,则那么教务处可以修改本课程的状态,设置其为不可选状态。而教师可以在该页面中导出选课学生名单。 第23页总结以上是研究生管理系统的设计,它是严格根据用户需求规格说明来进行的,是下一阶段即系统编码实现阶段的依据。为了保证实现阶段代码的质量、性能以及尽量少做修改,需要保证系统设计的准确性和稳定性。同时,在设计阶段或实现阶段,用户的需求发生了改变,就必须对设计文档做出相应的修改,从而保证依照设计文档实现的程序能够满足用户的最终需求。'