1、1计算机科学 学院个人博客系统设计报告题 目:_专业班级:_组 长:_组 员:_组 员:_组 员:_组 员:_指导老师:_2016 年 7 月 1 日2目 录第一部分 项目管理与计划 31.1 问题定义 31.2 制定项目计划 31.3 项目可行性分析 3第二部分 系统分析 52.1 项目需求分析 52.2 用例建模 52.3 通过用例获取概念数据模型 72.4 将概念数据模型转换为对象关系模型 82.5 分析类图建模 8第三部分 系统设计 103.1 物理数据库设计 103.2 设计类图建模 113.3 界面设计 12第四部分 系统实现 164.1 系统实现代码(*) 16第一部分:项目管理
2、与计划 1.1 问题定义1.1.1 提出问题: 如何开发一个学生信息管理系统。1.1.2 问题性质: 学生信息管理系统涉及两个用户,分别是学生、管理员,通3过登录验证界面登录系统执行自己权限范围内的事。1.1.3 应用领域: 小学中学和大学。1.1.4 工程目标: (1)对于用户学生通过输入学号、密码,验证通过后登录系统统计查询学籍信息、课程安排信息、成绩与学分、修改密码等。(2)对于用户管理员通过管理员帐号、密码及验证码,验证通过登录系统,统计查询老师信息、学生信息、课程信息。可以对毕业与新入学生管理,对课程安排信息管理。 1.1.5 项目规模:适用于各种地区的小学中学和大学来管理和学生相关
3、的信息,可以方便的将老师学生对自己信息的管理。1.2 制定项目计划1.2.1 总体设计学生信息管理系统主要包括管理员和学生两大模块。管理员模块包括:学生信息管理、课程信息管理、成绩信息管理、用户信息管理等。学生模块包括:个人信息查看、成绩信息查看、课程信息查看等。1.2.2 模块详细设计(1)管理员对学生信息管理模块学生信息管理模块包括增加、删除、修改、查询、返回等。(2)管理员对课程信息管理模块课程信息管理模块包括增加、删除、修改、查询、返回等。(3)管理员对成绩信息管理模块选课信息管理模块包括增加、删除、修改、查询、返回等。(4)管理员个人信息管理模块个人信息管理模块包括注册信息、删除、修
4、改、查询等。(5)学生个人信息管理模块学生个人信息管理模块包括注册新信息、查询、修改、删除等。(6)学生课程信息管理模块学生课程信息管理模块包括查询、返回等。(7)学生成绩信息管理模块学生成绩信息管理模块包括查询、返回等。1.3 项目可行性分析1.3.1 必要性 随着社会信息化的脚步加快,个人的信息也呈现出多样性,这便给信息管理者造成了巨大的压力和难度,也给传统的文件信息管理模式提出了挑战。为了提高学校学生信息管理的效率和准确性,我们团队决定开发一个学生信息管理系统,希望通过信息化手段管理学生信息,实现提高效率和准确性的目的。1.3.2 技术可行性 学生信息管理系统的开发需要对管理的需求进行分
5、析,最终通过简单的界面按钮操作实现对学生数据的增、删、改和查询操作,并将这些操作反应到数据库的操作。 41.3.3 结论 从必要性、技术等几角度的分析,学生信息管理系统项目是可行的,可以立项的。5第二部分:系统分析2.1 项目需求分析2.1.1 学生信息管理系统需要实现的功能:1)管理员对学生信息,学生课程,学生成绩等信息进行增加,删除,修改,查询等操作以及对自己信息的修改,删除,查询等操作。2)学生对学生信息的修改,删除,查询以及对成绩的查询和课程的查询等操作。2.2 用例建模为学生建立学生信息管理系统是为了学生对成绩,课程等信息的查询以及管理员对学生信息的管理。学生信息管理系统用例图如下所
6、示:2.2.1 管理员通过学生信息管理系统学生信息管理的用例描述用例名称:学生信息管理简要说明:管理员对学生信息的管理参与者:管理员前置条件: 管理员对学生信息的操作是有效的后置条件:对学生信息进行正确的操作假设条件:管理员已经正确的登陆学生信息管理系统基本操作流程:管理员登陆初始界面,输入正确的账户密码管理员点击菜单,进入学生信息管理管理员对学生信息进行增加,删除,修改,查询等操作2.2.2 管理员通过学生信息管理系统学生课程信息管理的用例描述用例名称:学生课程管理简要说明:管理员对学生课程的管理参与者:管理员前置条件: 管理员对学生课程的操作是有效的6后置条件:对学生课程信息进行正确的操作
7、假设条件:管理员已经正确的登陆学生信息管理系统基本操作流程:管理员登陆初始界面,输入正确的账户密码管理员点击菜单,进入学生课程管理管理员对学生信息进行增加,删除,修改,查询等操作管理员对学生信息进行增加,删除,修改,查询等操作2.2.3 管理员通过学生信息管理系统学生成绩信息管理的用例描述用例名称:学生成绩管理简要说明:管理员对学生成绩的管理参与者:管理员前置条件: 管理员对学生成绩信息的操作是有效的后置条件:对学生课程成绩进行正确的操作假设条件:管理员已经正确的登陆学生信息管理系统基本操作流程:管理员登陆初始界面,输入正确的账户密码管理员点击菜单,进入学生成绩管理管理员对学生成绩信息进行增加
8、,删除,修改,查询等操作2.2.4 学生通过学生信息管理系统对学生信息操作进行用例描述用例名称:学生信息操作简要说明:学生对自己的信息进行操作参与者:学生前置条件:学生进行的操作是有效的后置条件:生成正确的新的学生信息假设条件:学生已经成功的登录系统界面基本操作流程:学生登录初始界面,输入了正确的账号密码学生对自己的相应信息进行修改,删除,查询2.2.5 学生通过学生信息管理系统对学生成绩操作进行用例描述用例名称:学生成绩操作简要说明:学生对自己的成绩进行查询参与者:学生前置条件:学生进行的操作是有效的假设条件:学生已经成功的登录系统界面基本操作流程:学生登录初始界面,输入了正确的账号密码学生
9、对自己的成绩信息进行查询2.2.6 学生通过学生信息管理系统对学生成绩操作进行用例描述用例名称:学生课程操作简要说明:学生对自己的课程进行查询参与者:学生前置条件:学生进行的操作是有效的假设条件:学生已经成功的登录系统界面基本操作流程:7学生登录初始界面,输入了正确的账号密码学生对自己的课程信息进行查询2.2.7 管理员通过学生信息管理系统对管理员信息操作进行用例描述用例名称:管理员信息操作简要说明:管理员对自己的信息进行操作参与者:管理员前置条件:管理员进行的操作是有效的后置条件:生成正确的新的学生信息假设条件:管理员已经成功的登录系统界面基本操作流程:管理员登录初始界面,输入了正确的账号密
10、码管理员对自己的相应信息进行修改,删除,查询2.3 通过用例获取概念数据模型概念数据模型是对组织数据的描绘,它以一种独立于现实的方式说明了数据的结构和数据之间的相互关系。通过对前面用例进行分析,并结合学生信息管理系统的功能和需求,建立概念数据模型,具体步骤如下:2.3.1 标识用例中的类通过观察用例并结合实际分析,可以抽象出以下几个类:AdCourseManage(管理员对课程信息管理模块)AdGradeManage(管理员对成绩信息管理模块)AdminWindow(管理员个人信息管理模块)AdStuInfo(管理员对学生信息管理模块)CourseQuery(学生课程信息管理模块)GradeQ
11、uery(学生成绩信息管理模块)LoginWindow(登陆界面模块)Register(注册界面模块)StuWindow(学生个人信息管理模块)2.3.2 确定每一个类的属性根据用例相关资料并结合学生信息管理系统的功能需求,将属性分配到类。AdCourseManage(管理员对课程信息管理模块):courseId(课程号) ,courseName(课程名) ,courseTime(上课时间) ,courseSite(上课地点)AdGradeManage(管理员对成绩信息管理模块):xuankeId(选课号) ,stuId(学号) ,courseId(课程号) ,Grade(成绩)AdminWi
12、ndow(管理员个人信息管理模块):AdId(管理员 ID) ,AdName(管理员姓名) ,AdSex(管理员性别)AdPassword(管理员密码)AdStuInfo(管理员对学生信息管理模块):stuId(学号) ,stuName(姓名) , stuSex(性别) ,stuPassword(密码)CourseQuery(学生课程信息管理模块):courseId(课程号) ,courseName(课程名) ,courseTime(上课时间) ,courseSite(上课地点)GradeQuery(学生成绩信息管理模块):stuId(学号) ,courseId(课程号) ,Grade(成绩)
13、StuWindow(学生个人信息管理模块):stuId(学号) ,stuName(姓名) , stuSex(性别) ,stuPassword(密码)LoginWindow(登陆界面模块):用户 Id,密码,角色Register(注册界面模块):用户 ID,姓名,性别,密码,角色3、确定标识符8即选择一个属性作为这个类的唯一标识符。在此我们选择 stuId(学号) ,courseId(课程号)AdId(管理员 ID)xuankeId(选课号)为标识符2.3.3 建立概念数据模型综上所述,我们建立的概念数据模型如下图所示:2.4 将概念数据模型转换为对象关系模型对象关系数据模型是带有面向对象扩充的
14、关系数据模型,以关联表或关系的形式描绘数据。基于前面概念数据模型的建立,将其转化为对象关系,接着将所有关系合并为最终的、综合的一组关系,其步骤如下:2.4.1 将类转化为对象关系类的标识符成为该对象关系的主键,类的其他属性成为该对象关系的非主键属性。则对象关系如下:Admin(AdId,AdName,AdSex,AdPassword)stuInfo(stuId,stuName,stuSex,stuPassword)stuCourse(courseId,courseName,courseTime,courseSite)stuGrade(xuankeId,stuId,courseId,Grade)
15、2.4.2 最后转化关联类在 stuInfo 和 stuCourse 之间有一关联类 stuGrade,其可映像为对象关系,并用两个类的主键 stuId 和 courseId 的组合作为他的主键。2.5 分析类图建模这一部分通过图对系统进行描述2.5.1 顺序图:交互图是帮助在一个用例的分析类之间分配责任并说明类对象之间的相互交互的图,常用的交互图的类型是顺序图,它以时间顺序的方式说明类的对象之间的交互。下图为按照指导原则描绘的管理员用例的顺序图:92.5.2 分析类图:分析类图说明分析类和这些类之间的关系,有两种关系结构关系和行为关系,结果方面从数据建模中可以获得,分析类图的行为方面可以从顺
16、序图或通信图导出。下图是系统的一个分析类图:10第三部分:系统设计3.1 物理数据库设计3.1.1 物理数据库设计是对系统存储结构和存取方法等依赖于具体计算机结构的各项物理设计措施的设计,涉及访问的效率考虑因素比如响应时间和事务吞吐量,本实验旨在确保用户在运行查询时不必等待不合理的时间,从而有效执行任务。1、关系对象属性特性描述Admin(AdId,AdName,AdSex,AdPassword)AdId 为主键stuInfo(stuId,stuName,stuSex,stuPassword)stuId 为主键stuCourse(courseId,courseName,courseTime,courseSite)courseId为主键stuGrade(xuankeId,stuId,courseId,Grade)xuankeId 为主键根据上述对象关系,结合逻辑数据模型以及实际情况,分析了各个属性的特征,如数据类型、设计域、数据的完整性(默认值、是否为空、控制范围、参照完整性)等,具体涉及如下表所示:Admin 表:stuInfo 表:stuCourse 表: