您好,欢迎来到爱go旅游网。
搜索
您的当前位置:首页学生管理系统概要设计报告a

学生管理系统概要设计报告a

来源:爱go旅游网


“学生管理系统\"概要设计报告

1 范围

1.1 标识 文件状态: [ ]草稿 [ ]正式发布 [√]正在修改 文件标识: 当前版本: 作 者: 完成日期:

概要设计报告:A2 1。0 郑海峰 2011—9—1 1。2 系统概述

1.软件名称:学生管理系统

2.软件功能:方便教务管理部门在线管理学生基础信息,包括班级信息管理、学生基本信息管理、学生课程成绩管理以及提供统计和查询功能。此外,系统管理员还可以通过该系统管理用户信息.

3.与其他教务管理系统的关系:此系统为教务管理系统的一个子系统,项目来源于某高校的委托。整个教务管理系统分为五个部分,另外四个个部分别为:学生选课系统、课程管理系统、教师管理系统和系统管理.用户需要从系统管理子系统中登录后才能进入学生管理子系统。学生选课系统、课程管理系统和教师管理系统的班级、学生、教师和课程等基本信息等,与学生管理子系统共享.图A2—1所示的子系统关系图,主要描述学生管理子系统与其他系统的关系。

图A2—1子系统关系图

4.用户:教务管理人员和系统管理员 5.开发者:XXX、XXX、XXX

1。3 文档概述

文档根据《“学生管理系统”需求规格说明书》,对软件的功能实现、接口和界面等进行设计。文档采用了面向对象的设计方法,描述了系统中主要的类以及与各用例对应的顺序图等。

1。4 基线

“智能泊车管理系统\"需求规格说明书

2 引用文件

计算机软件文档编制规范(GB/T 8567-2006),2006年3月14日发布,2006年7月1日实施.

3 系统体系结构

B/S(Browse/Server)体系结构是一个典型的软件系统体系结构,通过该体系结构能将应用系统的服务器子系统提供一组服务给系统的请求服务的用户子系统,接受请求提供服务的部分就是服务器.

系统采用B/S结构,用户界面通过WWW浏览器来实现,主要的逻辑在Web服务器和应用服务器端实现,数据存储在数据库服务器,形成常见的Web应用三层结构。

3。1 系统总体设计框架

层次系统风格的体系结构支持基于可增加抽象层的设计,允许将一个复杂问题分解成一个增量步骤序列的实现。由于每一层最多只影响两层,同时只要给相邻层提供相同的接口,允许每层用不同的方法实现,分层设计对提高系统的可扩展性、可维护性和可复用性都有很好的作用。

学生管理系统的B/S结构的逻辑层次常常被分为三层:表示层、业务逻辑层和数据层。 (1) 表示层

用来与用户进行交互.提交用户请求给业务层处理和向用户显示从业务层返回用户请求数据的结果。表示层相当于会议管理系统的窗口,用户直接通过该层来访问系统,实现与系统的交互,从而完成需要实现的工作.

(2) 业务逻辑层

处理来自表示层传送的请求。这层实现系统的所有核心业务逻辑,例如数据的有效性校验、数据的安全性校验以及业务的流程控制和处理,该层还会根据请求的内容,将执行的结果提交给数据层作统一的处理,并且将用户请求处理的结果返回表示层显示。学生管理系统的功能模块层主要包括基础信息管理程序、学生信息管理程序、信息查询程序以及数据统计程序等等。

(3) 数据层

数据层主要处理和数据资源相关的逻辑,例如存储从业务层传送来的结果数据或者从数据库中读取数据传送给业务层处理.这些组件和服务在功能上和中间层相互。系统数据主要由基础信息、学生信息、教务业务员、管理员以及成绩组成。

由于系统采用三层体系结构来进行设计,因此系统中的每个子系统都具有三层结构的特

点。在系统分析阶段,对类的划分是按边界类、实体类,控制类划分的,这种分析模型与三层系统结构是相互对应的,边界类对应用户接口层,实体类对应数据存取层,控制类对应功能模块层。以上对应关系可以使系统分析中产生的类较容易的分布在系统的三层体系结构中,通过使用直接映射方法得出体系结构中各自包含的相关类,类与三层结构的映射关系如图A2—2所示,前台采用Web浏览器显示页面,后台包括Web服务器和数据库服务器,主要处理业务处理。

界面1(JSP)界面2(JSP)……界面1(JSP)视图表示层值返回结果存入session基础信息管理学生信息管理值返回SESSIONFACADESERVLET控制器REQUESTFACADE结果存入request教务业务员信息管理管理员信息管理成绩统计实现COMMAND接口的类业务逻辑层读 写数据层数据库

图A2-2 系统总体设计框架示意图

3。2 系统类设计

系统共有七个类:用户类(即教务业务员类)、管理员类、班级类、学生类、学期类、课程类以及课程成绩类.图A2—3为系统的业务逻辑类图。

为了便于从班级查询学生和成绩,因此,Class类和Student类的关系是聚合关系,Student类和Score类是关联关系,在Class类中能查询学生以及与学生相关的课程了。反之,根据课程查询选课学生以及成绩,操作就复杂些了。

新建立的数据访问包类图如图A2-4所示。所有的数据访问类都定义了一个基类DBCommon,该基类包含属性DBConnectionString,通过该属性可以获得数据库连接字符串。还包括一个方法GetDataView,可以实现在数据库中执行查询获得一个DataView。这些属性和方法被所有的数据访问类继承,可以直接使用.

关于用户界面包的类图比较简单,主要是通过界面设计,设计出网页及控件等界面元素,并根据动态建模时需要涉及的用户界面访问动作,定义所引起的相关事件,这些方面都在网页中进行定义,并组成用户界面包,这里就不详细介绍。

Class-className: String-number: int = 0++++getName ()setName ()Increase ()getNumber ()...: String: void: void: intTerm-termID: int-Note: String++++getNote ()setNote (String note)getID ()setID (int id)...0..1Score-grade: int+getGrade (): String+setGrade (int grade): void...0..*0..1: String: void: int: void0..10..*0..*Student-----++++++++++studentIDstudentNameSexPhoneAge: String: String: boolean = true: String: int: String: void: String: void: boolean: void: String: void: int: void0..10..1Course-----++++++++++courseIDcourseNamecreditscreditHourisRequired: String: String: int: int: boolean: String: String: void: Integer: void: int: void: void: boolean: voidgetID ()setID (String id)getName ()setName (String name)getSex ()setISex (boolean sex)getPhone ()setPhone (String phone)getAge ()setAge (int age)...getID ()getName ()setName (String name)getCredit ()setICredit (int credit)getHour ()setHour (int hour)setID (String id)getRequired ()setRequired (boolean required)...Adiministor-adName: String-adPassword: String++++getName ()setName (String name)getPassword ()setPassword (String password)...: String: void: String: voidUser-userName: String-userPassword: String++++getName ()setName (String name)getPassword ()setPassword (String password)...: String: void: String: void

A2—3 系统业务逻辑类图

3。3 系统数据库设计

系统所用的数据库是关系型数据库,根据模式转化原则,可以将《学生管理系统需求分析说明书》的E-R图中的6个实体转化为7个关系模式,其中,学生实体和课程实体之间的关系是对多对关系,该关系将转化为一个课程关系模式。图A2-5即是根据系统数据库E—R图转化而来的系统数据库模式关系图。

AdiministorDB-adName: String-adPassword: String++++getName ()setName (String name)getPassword ()setPassword (String password)...: String: void: String: voidUserDB-userName: String-userPassword: String++++getName ()setName (String name)getPassword ()setPassword (String password)...: String: void: String: voidClassDB-className: String-number: int = 0++++getName ()setName ()Increase ()getNumber ()...: String: void: void: intTermDB-termID: int-Note: String++++getNote ()setNote (String note)getID ()setID (int id)...0..1: String: void: int: void0..1DBCommon+DBConnectionString: String0..*+getDataView (): java.lang.Object...0..*StudentDB-----++++++++++studentIDstudentNameSexPhoneAge: String: String: boolean = true: String: int: String: void: String: void: boolean: void: String: void: int: void0..10..1CourseDB-----++++++++++courseIDcourseNamecreditscreditHourisRequired: String: String: int: int: boolean: String: String: void: Integer: void: int: void: void: boolean: voidgetID ()setID (String id)getName ()setName (String name)getSex ()setISex (boolean sex)getPhone ()setPhone (String phone)getAge ()setAge (int age)...0..*0..1getID ()getName ()setName (String name)getCredit ()setICredit (int credit)getHour ()setHour (int hour)setID (String id)getRequired ()setRequired (boolean required)...ScoreDB-grade: int+getGrade (): String+setGrade (int grade): void... 管理员员工编号员工姓名员工住址联系方式FK_管理_管理2_FK_管理_管理_管理员车主管理FK_数据_监控_管理员varchar(20)varchar(20)varchar(20)varchar(20)车主用户编号用户姓名用户车牌用户电话varchar(20)varchar(20)varchar(20)varchar(20)FK_数据_查看_车主进场编号进场时间进场用户进场车牌出场时间消费额数据varchar(20)varchar(20)varchar(20)varchar(20)varchar(20)varchar(20) 图A2—4 系统的数据访问包

4 执行概念

采用顺序图来表示各对象之间或对象与参与者之间如何通过交互来实现需求中的功能,每个顺序图分别与需求文档中的用例相对应。

通过顺序图描述一个场景中各个对象之间所进行的通信,同时可以分析出系统中相应的类需要具备的操作,从而不断扩充和细化类的设计。如果需要进一步描述类的状态变化情况和操作流程,可以使用UML中的状态图和活动图。

classclassNamevarchar(20)numbersmallint...termtermIDvarchar(10)Notevarchar(50)...scoreFK_SCORE_SELECT2_COURSEFK_SCORE_SELECT_STUDENTstudentIDvarchar(20)courseIDvarchar(10)FK_COURSE_OPEN_TERMFK_STUDENT_POSSESS_CLASSgrade...smallintstudentstudentIDclassNamecoursecourseIDtermIDvarchar(20)varchar(20)varchar(10)varchar(10)studentNameSexPhoneAge...varchar(20)smallintvarchar(12)smallint图A2—5 系统数据库模式关系图

courseNamecreditscreditHourisRequired...varchar(20)smallintsmallintsmallint

4。1 管理学生信息

管理学生信息的顺序图如图A2—6所示,其中用户(教务业务人员)为用例中的参与者,Login。jsp为边界类,表示用户登录的界面;manageStudent.jsp为边界类,表示管理学生信息的界面。User和Student为实体类,UserDB和StudentDB是数据访问类,与数据库中的用户表和学生表相对应.顺序图中横线上的文字描述了对象发出和接受的信息。

A2—6 管理学生信息顺序图

4。2 管理车主信息

......

5 用户界面设计

系统采用Jsp网页作为系统表示层,即用户界面。界面设计思路如下: (1) 整体界面(系统主界面):供用户和管理员操作,提供各种功能的链接。

(2) 管理基础信息界面:输入用户名和密码登录后,进入该界面,浏览一些基本信息。 (3) .....

6 系统出错处理

6。1 出错信息

如果因操作失误造成出错,应给出相应的提示,并转到具体的页面。

6。2 补救措施

对相应的错误列出出错信息表,通过语句控制。

7系统维护

管理员员工编号员工姓名员工住址联系方式FK_管理_管理2_FK_管理_管理_管理员车主管理FK_数据_监控_管理员varchar(20)varchar(20)varchar(20)varchar(20)车主用户编号用户姓名用户车牌用户电话varchar(20)varchar(20)varchar(20)varchar(20)FK_数据_查看_车主进场编号进场时间进场用户进场车牌出场时间消费额数据varchar(20)varchar(20)varchar(20)varchar(20)varchar(20)varchar(20) 管理员++++员工编号员工姓名员工住址联系方式: java.lang.String: java.lang.String: java.lang.String: java.lang.String0..*0..10..*数据++++++进场编号进场时间进场用户进场车牌出场时间消费额: java.lang.String: java.lang.String: java.lang.String: java.lang.String: java.lang.String: java.lang.String0..*用户++++用户编号用户姓名用户车牌用户电话: java.lang.String: java.lang.String: java.lang.String: java.lang.String0..10..*Class_4Class_5

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- igat.cn 版权所有 赣ICP备2024042791号-1

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务