软件工程设计报告(例子)_第1页
软件工程设计报告(例子)_第2页
软件工程设计报告(例子)_第3页
软件工程设计报告(例子)_第4页
软件工程设计报告(例子)_第5页
已阅读5页,还剩21页未读 继续免费阅读

下载本文档

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

文档简介

*研究生管理系统 设计报告 姓名:姓名:* 学号:学号:* 班级:班级:* 日期:日期:* 目录目录 1.文档说明文档说明.1 1.1.设计文档的目的和文档使用范围 .1 1.2.文档的读者.1 1.3.参考资料 .1 1.4.缩略语.1 2.系统概述系统概述.2 2.1.系统部署图.2 2.2.硬件环境 .2 2.3.软件环境 .3 2.3.1.OS 环境 .3 2.3.2.依赖软件.3 2.3.3.开发环境.3 2.4.系统安装 .3 2.5.系统启动 .5 2.6.系统退出 .5 3.关键技术关键技术.6 3.1.B/S 模式技术点.6 3.2.SSH 框架技术点 .7 3.3.JDBC 技术点 .8 4.结构设计结构设计.10 5.数据库设计数据库设计 .12 5.1.数据表设计 .12 5.2.数据表之间的联系 .15 6.功能设计功能设计.16 6.1.学生.16 6.2.学生处.17 6.3.教务处.17 6.4.教师.18 6.5.系统管理员 .18 7.界面设计界面设计.20 7.1.界面设计的参与者 .20 7.2.单功能界面设计.20 8.总结总结.23 第 1 页 1. 文档说明文档说明 1.1. 设计文档的目的和文档使用范围设计文档的目的和文档使用范围 该文档根据需求分析阶段所得的需求文档编写,说明对研究生管理系统的设计考虑,包括系统的基本处 理流程、组织结构、模块划分、功能分配、接口设计、运行设计、数据结构设计和出错处理设计等,同时说 明本系统各个层次中的每个模块或子程序的设计考虑和标准,从而为下一阶段的代码实现提供文本依据。 1.2. 文档的读者文档的读者 文档的预期读者为用户、开发人员、项目经理、营销人员、测试人员、文档编写人员等。 1.3. 参考资料参考资料 下面表格描述的是与本设计相关的资料。 编编 号号 相关文档相关文档 1研究生管理系统需求分析文档.doc 2 1.4. 缩略语缩略语 下面表格定义了本文所用到的重要的术语、缩写词 或缩略语。 缩略语、术语缩略语、术语全称、解释全称、解释 $CATALINA_HOMEApache Tomcat 的根目录 第 2 页 2. 系统概述系统概述 本节主要从需求的角度描述本系统,描述的输入是用户需求。 2.1. 系统部署图系统部署图 下面是本系统的部署图。 V Vi ie ew w L La ay ye er r s st tr ru ut ts s S Sp pr ri in ng gH Hi ib be er rn na at te e L Lo og gi ic c L La ay ye er rD Da at ta a L La ay ye er r E En nt ti it ty y W WE EB B S Se er rv ve er r D DB B S Se er rv vl le et tA Ac ct ti io on n J JS SP P. .C CS SS S A Ac ct ti io on nF Fo or rm m ( (J Ja av va aB Be ea an n) ) L Lo og gi ic c C Cl la as ss s A Ac ct ti io on n D Da at ta a C Cl la as ss s Request Response ActionMapping DB Interface JDBC Logic Interface C Cl li ie en nt t B Br ro ow ws se e User DB Server 服务器开启后初始化 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 三层所有的事务。 2.2. 硬件环境硬件环境 下面的表格描述系统的硬件环境,以及对系统有影响的关键硬件信息。 硬件名称硬件名称基本要求基本要求推荐配置推荐配置 CPU1G Pentium1.6G Pentium 第 3 页 硬盘硬盘20G40G 内存内存512M1G 显示器显示器1366*7681440*900 对于本系统的 WEB 服务器和数据库服务器推荐使用专用的高配置服务器,以应对可能出现的大量客户 同时访问。由于客户端使用浏览器就可以访问本系统,故只需普通个人计算机即可。 2.3. 软件环境软件环境 本系统在 Windows 7 操作系统中进行部署,使用 Apache Tomcat 作为 WEB 服务器,使用 MySQL 作为 数据库服务器。 2.3.1. OS 环境环境 下面的表格说明操作系统及其版本号。 系统名称系统名称版本号版本号提供商提供商 WindowsWindows 7 旗舰版 SP1MicroSoft 2.3.2. 依赖软件依赖软件 下面的表格说明了本系统所依赖的软件、组件、服务信息。 软件名称软件名称版本号版本号提供商提供商备注备注 Tomcat6.0.26 Apache Software Foundation MySQL5.5.31Oracle 2.3.3. 开发环境开发环境 下面的表格描述的是本系统的开发环境。 软件名称软件名称版本号版本号使用语言使用语言提供商提供商备注备注 MyEclipse9.0JavaGenuitec 2.4. 系统安装系统安装 对于 Apache Tomcat 和 MySQl 数据库的安装参考官方给定方法。安装 Apache Tomcat 后,将系统部署 到到其中。部署方法有两种,一种是静态部署,另一种是动态部署。 第 4 页 1、静态部署 静态部署指的是在服务器启动之前部署应用程序,只有当服务器启动之后,才能进行访问。以下 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 文件,内容如下: 这样,就完成了应用程序的动态部署。 第 5 页 2.5. 系统启动系统启动 直接运行$CATALINA_HOMEbinstartup.bat 文件可启动 Tomcat 服务器,进而可以访问本系统。 2.6. 系统退出系统退出 运行$CATALINA_HOMEbinshutdown.bat 文件可以关闭 Tomcat 服务器。 第 6 页 3. 关键技术关键技术 本系统的技术点列表如下: 编号编号技术点略称技术点略称状态状态 No.1B/S 模式掌握 No.2SSH 框架掌握 No.3JDBC掌握 本章将逐个对技术点进行描述,包括每个技术点的内容、解决方法和状态等。 3.1. B/S 模式技术点模式技术点 B/S 结构(Browser/Server,浏览器/服务器模式),是 WEB 兴起后的一种网络结构模式,WEB 浏览器 是客户端最主要的应用软件。这种模式统一了客户端,将系统功能实现的核心部分集中到服务器上,简化了 系统的开发、维护和使用。客户机上只要安装一个浏览器(Browser),如 Internet Explorer,服务器安装 Oracle、SQL Server 或 MySQL 等数据库。浏览器通过 Web 服务器同数据库进行数据交互。 B/S 最大的优点就是可以在任何地方进行操作而不用安装任何专门的软件,只要有一台能上网的电脑就 能使用,客户端零安装、零维护。系统的扩展非常容易。 B/S 结构的使用越来越多,特别是由需求推动了 AJAX 技术的发展,它的程序也能在客户端电脑上进行部 分处理,从而大大的减轻了服务器的负担;并增加了交互性,能进行局部实时刷新。 1)维护和升级方式简单。当前,软件系统的改进和升级越发频繁,B/S 架构的产品明显体现着更为方便 的特性。对一个稍微大一点单位来说,系统管理人员如果需要在几百甚至上千部电脑之间来回奔跑,效率和 工作量是可想而知的,但 B/S 架构的软件只需要管理服务器就行了,所有的客户端只是浏览器,根本不需要 做任何的维护。所以客户机越来越“瘦”,而服务器越来越“胖”是将来信息化发展的主流方向。今后,软 件升级和维护会越来越容易,而使用起来会越来越简单,这对用户人力、物力、时间、费用的节省是显而易 见的,惊人的。因此,维护和升级革命的方式是“瘦”客户机,“胖”服务器。 2)成本降低,选择更多。当前的趋势是凡使用 B/S 架构的应用管理软件,只需安装在 Linux 服务器上即 可,而且安全性高。所以服务器操作系统的选择是很多的,不管选用那种操作系统都可以让大部分人使用安 装了浏览器的 Windows 作为桌面操作系统而不受影响。 3)应用服务器运行数据负荷较重。由于 B/S 架构管理软件只安装在服务器端(Server)上,网络管理人 员只需要管理服务器就行了,用户界面主要事务逻辑在服务器(Server)端完全通过 WWW 浏览器实现,极 少部分事务逻辑在前端(Browser)实现,所有的客户端只有浏览器,网络管理人员只需要做硬件维护。但 是,应用服务器运行数据负荷较重,一旦发生服务器“崩溃”等问题,后果不堪设想。因此,需要有数据库 存储服务器,以防万一。 第 7 页 由于 B/S 模式已经很流行,并且也已被广泛掌握,因此实现起来风险较小。 3.2. SSH 框架技术点框架技术点 SSH 为 Struts+Spring+Hibernate 的一个集成框架,是目前较流行的一种 Java Web 应用程序开源框架。 下面将分别进行介绍。 1、Struts 框架 Struts 是一个基于 Sun J2EE 平台的 MVC 框架,主要是采用 Servlet 和 JSP 技术来实现的。由于 Struts 能充分满足应用开发的需求,简单易用,敏捷迅速,在过去的一年中颇受关注。Struts 把 Servlet、JSP、自 定义标签和信息资源(message resources)整合到一个统一的框架中,开发人员利用其进行开发时不用再自己 编码实现全套 MVC 模式,极大的节省了时间,所以说 Struts 是一个非常不错的应用框架。 2、Spring 框架 Spring 是一个解决了许多在 J2EE 开发中常见的问题的强大框架。Spring 提供了管理业务对象的一致方 法并且鼓励了注入对接口编程而不是对类编程的良好习惯。Spring 的架构基础是基于使用 JavaBean 属性的 Inversion of Control 容器。然而,这仅仅是完整图景中的一部分:Spring 在使用 IOC 容器作为构建完关注 所有架构层的完整解决方案方面是独一无二的。 Spring 提供了唯一的数据访问抽象,包括简单和有效率的 JDBC 框架,极大的改进了效率并且减少了可能的错误。Spring 的数据访问架构还集成了 Hibernate 和其他 O/R mapping 解决方案。Spring 还提供了唯一的事务管理抽象,它能够在各种底层事务管理技术,例如 JTA 或者 JDBC 事务提供一个一致的编程模型。Spring 提供了一个用标准 Java 语言编写的 AOP 框架,它给 POJOs 提供了声明式的事务管理和其他企业事务-如果你需要-还能实现你自己的 aspects。这个框架足够强 大,使得应用程序能够抛开 EJB 的复杂性,同时享受着和传统 EJB 相关的关键服务。Spring 还提供了可以和 IoC 容器集成的强大而灵活的 MVC Web 框架。 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 和事物进行统一管理。 第 8 页 Hibernate 负责持久层,完成数据库的 CRUD 操作。Hibernate 有一组 hbm.xml 文件和 PO,是与数据库 中的表相对应的,然后定义与数据库打交道的 DAO 类。 在 Struts+Spring+Hibernate 系统中,对象之间的调用流程如下: StrutsSpringHibernate JSPActionServiceDAOHibernate 3.3. JDBC 技术点技术点 JDBC(Java Data Base Connectivity,java 数据库连接)是一种用于执行 SQL 语句的 Java API,可以为多 种关系数据库提供统一访问,它由一组用 Java 语言编写的类和接口组成。将 Java 语言和 JDBC 结合起来使 程序员不必为不同的平台编写不同的应用程序,只须写一遍程序就可以让它在任何平台上运行。JDBC 提供 了一种基准,据此可以构建更高级的工具和接口,使数据库开发人员能够编写数据库应用程序。 JDBC 对 Java 程序员而言是 API,对实现与数据库连接的服务提供商而言是接口模型。作为 API,JDBC 为程序开发提供标准的接口,并为数据库厂商及第三方中间件厂商实现与数据库的连接提供了标准方法。 JDBC 使用已有的 SQL 标准并支持与其它数据库连接标准,如 ODBC 之间的桥接。JDBC 实现了所有这些面向 标准的目标并且具有简单、严格类型定义且高性能实现的接口。 JDBC 扩展了 Java 的功能。例如,用 Java 和 JDBC API 可以发布含有 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)支持 JDBC API 既支持数据库访问的两层模型(C/S),同时也支持三层模型(B/S)。 第 9 页 在两层模型中,Java applet 或应用程序将直接与数据库进行对话。这将需要一个 JDBC 驱动程序来与所 访问的特定数据库管理系统进行通讯。用户的 SQL 语句被送往数据库中,而其结果将被送回给用户。数据库 可以位于另一台计算机上,用户通过网络连接到上面。这就叫做客户机/服务器配置,其中用户的计算机为客 户机,提供数据库的计算机为服务器。网络可以是 Intranet(它可将公司职员连接起来),也可以是 Internet。 在三层模型中,命令先是被发送到服务的中间层,然后由它将 SQL 语句发送给数据库。数据库对 SQL 语句进行处理并将结果送回到中间层,中间层再将结果送回给用户,可用中间层来控制对数据的访问和可作 更新的种类。中间层的另一个好处是,用户可以利用易于使用的高级 API,而中间层将把它转换为相应的低 级调用。JDBC 对于从 Java 的中间层来访问数据库非常重要。 (3)联接 使用 Java 访问数据库需要获取一个连接,这通过两个步骤实现:装载驱动程序,获取连接。 (4)改进 尽管 JDBC 在 Java 语言层面实现了统一,但不同数据库仍旧有许多差异。为了更好地实现跨数据库操作, 于是诞生了 Hibernate 项目,Hibernate 是对 JDBC 的再封装,实现了对数据库操作更宽泛的统一和更好的可 移植性。 第 10 页 4. 结构设计结构设计 通过功能模块图来形象化描述本系统的结构设计。系统功能模块图是一种结构化设计方法,采用类似于 结构化分析的“由大到小”、“自顶向下,逐层分解”的基本思想分解并描述系统。在导出系统功能模块图 的过程中,以独立性、低耦合性、高内聚性、公共模块作为模块划分的原则,将大模块划分为较小的模块, 直到每一模块都是功能单一的模块。 下面是本系统的的系统功能模块图。 研究生管理系统 学生信息管理模块课程信息管理模块选课模块用户管理模块 录 入 学 生 信 息 查 询 学 生 信 息 修 改 学 生 信 息 导 出 学 生 信 息 录 入 课 程 信 息 查 询 课 程 信 息 修 改 课 程 信 息 选 课 录 入 成 绩 查 询 成 绩 导 出 成 绩 统 计 选 课 情 况 增 加 学 生 处 角 色 增 加 教 务 处 角 色 增 加 教 师 角 色 登 录 修 改 密 码 下面对本系统的每一个模块的功能进行概略描述。 1、登录模块 该模块负责各种用户的登录管理,同时负责用修改各自的登录密码。 2、用户管理模块 系统管理员可以添加指定的普通管理员,并赋予其教务处、学生处等角色,而这些角色具有相应的修改 系统特定内容的权限,而为学生赋予普通用户的角色。 3、学生信息管理模块 学生可以录入自己的各种信息,同时可以修改和查看自己的信息。学生处可以查询、统计以及导出学生 信息,同时还可以设定学生的在校状态,比如已注册、休学、毕业等,对学生信息进行管理。 4、课程信息管理模块 教务处将各种课程的信息录入,可以查询课程信息,并可以根据实际情况修改开设的课程以及课程信息, 而教师和学生可以查询课程信息,以方便教学和选课。 5、教师信息管理模块 教师将自己的基本信息录入系统,同时选择自己可以教授的课程,为教务处安排教学任务提供参考,也 方便学生选课。 第 11 页 6、选课模块 学生根据导师的建议以及自己的爱好选择选修的课程。教务处和教师可以查看和统计学生的选课情况, 并可导出选课名单,同时教务处可以根据学生的选课情况决定是否开设某些课程。在相应的课程考试完毕后, 教师可以录入学生的成绩。教师可以查看和统计所教授课程的成绩信息,教务处可以查看和统计所有课程的 成绩信息,并导出成绩单,而学生只能查看自己的成绩。 第 12 页 5. 数据库设计数据库设计 本系统使用 MySQL 数据库实现。MySQL 是一个关系型数据库管理系统,将数据保存在不同的表中,而 不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。MySQL 所使用的 SQL 语言是用于 访问数据库的最常用标准化语言。MySQL 软件采用了双授权政策。由于其体积小、速度快、总体拥有成本低, 尤其是开放源码这一特点,一般中小型网站的开发都选择 MySQL 作为网站数据库。 总体而言,MySQL 数据库具有如下特点: 1)使用 C 和 C+编写,并使用了多种编译器进行测试,保证源代码的可移植性。 2)支持 AIX、FreeBSD、HP-UX、Linux、Mac OS、NovellNetware、OpenBSD、OS/2 Wrap、Solaris、Windows 等多种操作系统。 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)支持大型的数据库。可以处理拥有上千万条记录的大型数据库。 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籍贯 第 13 页 tch_idint(10)foreign_key导师编号 spe_idint(10)foreign_key所属专业号 stu_researchvarchar(30)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_introducevarcahr(200)not null专业介绍 教师表(teacher) 字段名数据类型约束备注 tch_idint(10)primary_key教师编号 tch_namevarchar(30)not null姓名 tch_sexint(1)not null性别 tch_specialty_idint(10)not null所属专业 tch_researchvarcahr(30)not null研究方向 title_idint(10)foreign_key职称编号 tutor_cate_idint(10)foreign_key导师类别编号 职称表(title) 字段名数据类型约束备注 title_idint(10)primary_key职称编号 title_namevarchar(30)not null职称名 title_introducevarchar(200)not null职称介绍 导师类别表(tutor_category) 第 14 页 字段名数据类型约束备注 tutor_cate_idint(10)primary_key导师类别编号 tutor_cate_namevarchar(30)not null导师类别名称 tutor_cate_introducevarchar(200)not null导师类别介绍 教师教授课程表(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)not null权限名 用户类型表(user_type) 字段名数据类型约束备注 user_type_idint(10)primary_key用户类型编号 user_type_namevarchar(30)not null用户类型名 用户权限表(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)not null用户密码 第 15 页 5.2. 数据表之间的联系数据表之间的联系 下图描述的是上述数据表之间的属性引用关系。 用户表 学生信息表 用户类型表 选课表 教师信息表 教师课程表 课程信息表 职称表 用户类型权限表 导师类型表 权限表 专业表 stu_id cour_id user_type_id cour_id tch_id tutor_cate_id title_id spe_id auth_id user_type_id tch_id spe_id 第 16 页 6. 功能设计功能设计 本章通过用例图来分析和表现系统的各个参与者所能进行的操作,从而对系统进行功能建模。用例图是 由参与者、用例以及它们之间的关系构成的用于描述系统功能的静态视图,展示外部用户所能观察到的系统 功能,呈现了一些参与者和一些用例,以及它们之间的关系,对系统、子系统或类的功能行为进行建模,使 开发者能够实现这些元素。将每个系统中的用户分出工作状态的属性和工作内容,方便建模,防止功能重复 和多余的类。用例图定义了系统的功能需求,它是从系统的外部看系统功能,并不描述系统内部对功能的具 体实现。 本系统主要参与者为学生、学生处、教务处以及教师。下面分别是这些参与者的用例图。 6.1. 学生学生 录入学生信息 查询学生信息 登录 修改学生信息 修改密码 选课 学生 查询课程信息 查询选课情况 查询成绩 用户 上图描述的是本系统中学生参与者所能执行的动作。首先学生继承了所有用户都具有的登录和修改密码 功能。然后,学生可以录入本人信息,查询、修改本人信息,可以查看课程信息并选课,之后可以本人查询 选课情况和查询成绩。 第 17 页 6.2. 学生处学生处 查询学生信息 登录 修改密码 导出学生信息 学生处 设置学生在校状态 用户 上图描述的是本系统中学生处参与者所能执行的动作。同样,学生处参与者也继承了所有用户具有的登 录和修改密码功能。学生处可以每学期设置学生是否已注册,可以查询学生信息。 6.3. 教务处教务处 登录 统计成绩 修改密码 教务处 导出成绩 修改课程信息 录入课程信息 统计选课情况 查询课程信息 用户 第 18 页 上图描述的是本系统教务处参与者所能执行的动作。教务处首先可以登录本系统,并且修改登录密码。 教务处可以录入、查询和修改课程信息,统计选课情况和考试成绩。 6.4. 教师教师 教师 登录 录入成绩 修改密码 统计选课情况 查询课程信息 用户 上图描述的是本系统教师参与者所能执行的动作。首先是登录和修改密码,然后可以查看和统计学生选 课情况,查询课程信息,录入考试成绩。 6.5. 系统管理员系统管理员 登录 修改密码 系统管理员 用户 添加教务处角色 添加学生处角色 添加教师角色 添加学生角色 第 19 页 上图描述的是本系统管理员参与者所能执行的动作。管理员可以登录和修改密码,然后可以添加学生、 学生处、教务处、教师参与者,同时可以设置这些参与者的权限。 第 20 页 7. 界面设计界面设计 本章主要简要介绍本系统的界面设计。 7.1. 界面设计的参与者界面设计的参与者 下面表格描述的是参与界面设计活动的人员角色及其职责。 人员角色职责 界面设计师 (1)设计屏幕及屏幕流,

温馨提示

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

评论

0/150

提交评论