教务管理系统软件工程实验报告.docx
- 文档编号:10521745
- 上传时间:2023-02-17
- 格式:DOCX
- 页数:40
- 大小:1.17MB
教务管理系统软件工程实验报告.docx
《教务管理系统软件工程实验报告.docx》由会员分享,可在线阅读,更多相关《教务管理系统软件工程实验报告.docx(40页珍藏版)》请在冰豆网上搜索。
教务管理系统软件工程实验报告
开发人员:
王斌斌、李祥楠、王柏其、孙博、王猛
2012-8-23
项目开发计划
1引言
1.1编写目的
为了保证项目团队按时保质地完成项目目标,便于项目团队成员更好地了解项目情况,使项目工作开展的各个过程合理有序,因此本报告确定各个项目模块的开发情况和主要的负责人,供各项目模块的负责人阅读,做到及时协调,按步有序进行项目的开发.减少开发中的不必要损失.
1.2背景
由于学校的发展,课程的丰富,学生人数的增加,对选课系统的要求越来越高,老的选课系统已无法满足需求,更高的访问速度、更多的并行用户、更全的办公功能,成为选课系统新的标准。
项目名称:
学生选课系统。
项目提出者:
软件工程实验室
1.3参考资料
[1]张海藩.软件工程导论——第5版[M].清华大学出版社,2008年2月.
[2]窦万峰.软件工程方法与实践.机械工业出版社,2009年5月.
[3]窦万峰.软件工程实验教程.机械工业出版社,2009年5月.
[4]陈勇孝.java程序设计实用教程,2008年6月.
[5]王珊,萨师煊.数据库系统概论,高等教育出版社,2006年5月.
2项目概述
2.1工作内容
本项目的主要内容分为三个阶段:
根据用户文档,进行需求分析,并形成文档。
根据需求分析文档,对项目进行前期的设计,包括项目开发环境、项目整体架构、数据库设计等。
通过项目的前期设计,具体实现程序的编写,同时进行程序测试,确保程序的正确无误。
2.2参加人员
计算机学院09级七班:
李祥楠、王柏淇、孙博、王斌斌、王猛
2.3产品
本项目使用C/C++高级程序语言,以及微软ACCESS数据库,同时应用MFC和ODBC等技术开发。
该系统具有学生选课,教师选课,查询成绩,以及信息维护等功能,具有速度开,并行量高,使用安全,操作便捷等特点。
2.4验收标准
依照用户需求文档,完成用户提出的各项要求,并达到所要求的功能、性能指标。
2.5完成项目的最迟期限
按计划,本项目将于2012年8月23日完成,在此前提下,开发人员保留对开发时间进度进行局部调整的权利。
3实施计划
3.1人员分工
开发设计:
孙博
需求分析:
王猛
设计文档:
王柏淇
程序设计:
王斌斌
测试计划与报告:
李祥楠
3.2进度
开发设计文档:
2天完成
需求分析文档:
2天完成
设计文档:
2天完成
程序设计与测试同步:
4天完成
项目总结:
1天完成
3.3关键问题
需求分析阶段,要一步到位,完成之后不可再做改动;
数据库设计时,要细致全面,在程序设计阶段尽量不改动数据库结构,及时改动,也要不影响大局;
在程序设计与测试阶段,要协调好设计和测试的进度,做到在潜在错误没有影响程序整体时,测试修正;
各个阶段保证在限定期限内完成任务,以免影响整体项目的进度,保证项目完成的日期。
需求规格说明书
1.引言
需求规格说明书是需求分析的产物,它是软件系统生存期中软件定义阶段的最后一个步骤。
作为整个软件开发过程的指南,它也是软件开发人员开发出符合用户要求的软件的基础。
1.1编写目的
为了使学生注册系统更加地完善、规范、功能清晰明了,学生注册系统能够有效地开发实施。
为使学生、任课教师及管理人员更有效、方便地使用学生注册系统。
1.2背景
1.2.1待开发的软件系统名称:
学生注册系统
1.2.2本项目的任务提出者:
WylieCollege
开发者:
李祥楠、王柏其、孙博、王斌斌、王猛
用户:
WylieCollege学生、教师及相关部门
1.2.3该软件系统同其他系统或其他机构的基本的相互来往关系:
计费系统,课程目录系统
1.3定义
数据字典:
关于数据的信息的集合,也即是对数据流图中包含的元素的定义的集合。
数据流图:
一种图形化技术,它描述信息流和数据从输入移动到输出的过程
中所经受的变换。
状态转换图:
通过描绘系统的状态及引起的系统状态转换的事件,来表示系
统的行为。
1.4参考资料
(1)2008SoftwareEngineeringPracticeProject
(2)引用资料
【1】张海藩.软件工程导论.北京:
清华大学出版社,2008
【2】狄国强.软件工程试验.北京:
清华大学出版社,2008
【3】郝安林.SQLserver2005基础教程与实验指导.北京:
清华大学出版社,
2008
2.任务概述
2.1目标
StudentRegistrationSystem是学校信息资源管理中的重要内容,也是信息资源开发利用的基础工作。
旧的教务管理系统,在人员离退休、升迁、岗位变动、职称变动、学位变动,以及档案管理人员的变动等方面存在诸多不利于管理的地方,不适应现代的教学管理形势和信息资源开发利用的要求。
开发新的教务管理系统使学校的教务管理工作实现了信息化、规范化,不仅使学校能够高效率完成教务管理的日常工作,还使学校深入开发利用教学资源成为可能。
2.1用户的特点
本软件的最终用户是WylieCollege的教师、学生及管理人员。
学校的教师和学生,
具有一定的计算机操作知识;系统的管理人员是学校的信息中心的信息管理员,对网
络和数据库的操作比较熟悉,同时对VC或delphi编程有一定的经验;教师和学生利
用系统查询相关信息和选课;系统管理员负责数据录入、日常更新、数据的备份和其
他管理工作。
2.2假定和约束
学校的经费有限,开发时间紧迫,可以使用VC或delphi进行软件编程。
3.需求规定
3.1对功能的规定
3.1.1系统功能
教务管理系统的功能可以划分为如下几个部分:
1.结束注册:
允许管理人员关闭注册过程,没有足够学生的课程将被取消。
2.登录:
用户登录到该系统。
3.管理教师信息:
使管理人员能在系统中管理教师信息,包括在系统中添加、修改和删除教师信息。
4.管理学生信息:
使管理人员能在系统中管理学生信息,包括在系统中添加、修改和删除学生信息。
5.注册课程:
允许学生注册在这个学期的课程。
在课程注册期间,学生还可以更新或删除已选课程。
课程目录系统提供了一个包含当前学期所有课程的列表。
6.选择教授的课程:
允许一个教授从课程目录选择他/她有资格和希望在新学期教的课程。
7.记录成绩:
允许教授为学生提交一个或多个在前面的学期完成了的课程的成绩。
8.查看成绩:
允许一个学生来查看他/她已经完成的课程的成绩。
3.1.2数据流图
参见
3.1.3数据字典
数据项名:
学生
描述:
包括学生的主要信息
别名:
无
定义:
学号+姓名+性别+出生日期+院系+专业+登录密码
数据量:
10000左右
峰值:
随时,但经常在新生入学时期
其他说明:
在系统功能扩充时可能增加定义项
数据项名:
教师
描述:
包括教师的主要信息
别名:
无
定义:
工号+姓名+性别+联系电话+登录密码
数据量:
1000左右
峰值:
随时
其他说明:
在系统功能扩充时可能增加定义项
数据项名:
课程
描述:
包括课程的主要信息
别名:
无
定义:
课程号+名称+学时+学分+类型
数据量:
10000左右
峰值:
随时,但经常在开学时期
其他说明:
在系统功能扩充时可能增加定义项
更多的数据字典不再一一列出。
3.1.4E—R图
3.1.5状态图
3.2对性能的规定
3.2.1精度
本系统要求输入的年龄、出生日期为整数,课程学分可以为小数。
3.2.2时间特性要求
(1)系统的更新处理时间应该在可接受的范围内;
(2)系统的数据查询时间应该在可接受的范围内;
(3)系统的数据统计时间应该在可接受的范围内。
3.2.3灵活性
(1)操作方式上应能够满足鼠标和键盘任意切换的需要;
(2)能够支持Windows2000、WindowsXP、WindowsVista和Windows7的运行环境。
(3)留有与其他系统的接口。
3.3输入输出的要求
对用户名的输入要求不超过4个汉字或8个英文字符;密码输入不能
明文显示。
更多的说明不再一一列出。
3.4数据管理能力要求
由于学校对信息资料进行永久保存,再加上学校人员调动频繁,因此对数据存储有一定的要求;要求提供数据的备份功能。
3.5故障处理要求
在输入不符合定义格式的数据时,软件应该出现提示信息,而不是死机或删除已经输入的信息,然后再弹出输入界面重新开始。
当查询不到用户希望找到的信息后,软件应该提出提示信息。
其他情形不再一一描述。
3.6其他专门要求
能够按照前提条件进行检索。
4.运行环境规定
4.1设备
运行本软件要求处理器在奔腾III以上,内存在256MB以上的计算机。
4.2支持软件
本系统支持的操作系统包括:
Windows2000、WindowsXP、WindowsVista
和Windows7。
本系统的支持数据库:
SQLServer2005,MicrosoftAccess.
本软件的开发工具:
VC6.0或delphi7。
4.3接口
本软件通过若干个中间表(在此省略其结构)实现与其它软件的通信。
4.4控制
本系统通过“用户验证”模块进行用户登录的控制,根据不同用户的权
限调用不同的模块。
附录A数据流图
概要设计说明书
1.引言
软件概要设计主要是一个把软件需求转化为软件表示的过程,这种表示只是描述出软件总的概貌。
1.1编写目的
概要设计说明书编制的目的是:
说明对程序系统的设计考虑,包括程序系统的基本处理流程、程序系统的组织结构、模块划分、功能分配、接口设计、运行设计、数据结构设计和出错处理设计等,为程序的详细设计提供基础。
本软件概要说明书的读者是系统开发人员或合同约定的人员。
1.2背景
1.2.1待开发的软件系统名称:
StudentRegistrationSystem
1.2.2本项目的任务提出者:
WylieCollege
开发者:
李祥楠、王柏其、孙博、王斌斌、王猛
用户:
WylieCollege学生、教师及相关部门
1.2.3该软件系统同其他系统或其他机构的基本的相互来往关系:
计费系统,课程目录系统
1.3定义
数据字典:
关于数据的信息的集合,也即是对数据流图中包含的元素的定义的集合。
数据流图:
一种图形化技术,它描述信息流和数据从输入移动到输出的过程
中所经受的变换。
状态转换图:
通过描绘系统的状态及引起的系统状态转换的事件,来表示系
统的行为。
1.4参考资料
(1)2008SoftwareEngineeringPracticeProject
(2)引用资料
【1】张海藩.软件工程导论.北京:
清华大学出版社,2008
【2】狄国强.软件工程试验.北京:
清华大学出版社,2008
【3】郝安林.SQLserver2005基础教程与实验指导.北京:
清华大学出版社,
2008
2.总体设计
2.1需求规定
教务管理系统的功能可以划分为如下几个部分:
1.结束注册:
允许管理人员关闭注册过程,没有足够学生的课程将被取消。
2.登录:
用户登录到该系统。
3.管理教师信息:
使管理人员能在系统中管理教师信息,包括在系统中添加、修改和删除教师信息。
4.管理学生信息:
使管理人员能在系统中管理学生信息,包括在系统中添加、修改和删除学生信息。
5.注册课程:
允许学生注册在这个学期的课程。
在课程注册期间,学生还可以更新或删除已选课程。
课程目录系统提供了一个包含当前学期所有课程的列表。
6.选择教授的课程:
允许一个教授从课程目录选择他/她有资格和希望在新学期教的课程。
7.记录成绩:
允许教授为学生提交一个或多个在前面的学期完成了的课程的成绩。
8.查看成绩:
允许一个学生来查看他/她已经完成的课程的成绩。
本系统对性能的规定为:
(1)要求输入的年龄、出生日期为整数,课程学分可以为小数。
(2)系统的更新处理时间应该在可接受的范围内;
(3)系统的数据查询时间应该在可接受的范围内;
(4)系统的数据统计时间应该在可接受的范围内。
(5)操作方式上应能够满足鼠标和键盘任意切换的需要;
(6)能够支持Windows2000、WindowsXP、WindowsVista和Windows7
的运行环境。
(7)留有与其他系统的接口。
2.2运行环境
(1)硬件环境:
运行本软件要求处理器在奔腾III以上,内存在256MB以
上的计算机。
(2)软件环境:
本系统支持的操作系统包括:
Windows2000、WindowsXP、WindowsVista
和Windows7。
本系统的支持数据库:
SQLServer2005,MicrosoftAccess.
本软件的开发工具:
VC6.0或delphi7。
2.3基本设计概念和处理流程
本系统描绘学生成绩初步算法的IPO表如下:
其它IPO图不再一一列出。
2.4结构
所有模块都必须调用“验证用户”模块进行身份验证,只有合法用户才能使用系统。
其它模块之间的关系不在此一一说明。
2.5功能需求与程序的关系
用户身份验证必须调用“验证用户”模块程序进行身份验证。
其它功能与程序的调用关系在此不再一一说明。
2.6人工处理过程
本软件系统的工作过程中不需要人工处理数据。
2.7尚未解决的问题
使用照片进行检索是本系统尚未解决二设计者认为在系统完成之前必
须解决的问题。
3.接口设计
3.1用户接口
本系统采用典型的Windows风格作为人机接口,入使用窗口、对话框等。
3.2外部接口
运行本软件要求处理器在奔腾III以上,内存在256MB以上的计算机。
本系统支持的操作系统包括:
Windows2000、WindowsXP、WindowsVista
和Windows7。
本系统的支持数据库:
SQLServer2005,Microsoft
Access.本软件的开发工具:
VC6.0或delphi7。
3.3内部接口
“用户验证”模块:
提示系统用户登录时的身份验证功能,用户进行角
色切换时必须用此模块进行身份验证。
本系统内元素接口的安排在此不再一一描述。
4.运行设计
4.1运行模块的组合
不同的用户登陆此系统获得的系统功能是不同的,如超级用户具有系统
的全部功能,一些用户只具有浏览数据但不具有更新数据的功能。
更多的
描述不再一一列出。
4.2运行控制
超级用户对系统的其他用户设置系统功能的访问权限,这样权限受限的
用户就只能访问部分系统模块。
更多的描述不再一一列出。
4.3运行时间
“用户验证”模块在完成用户登录的身份验证后立即退出运行,释放占
用的系统资源。
主界面只有在用户确认退出后才能退出运行,其他界面同此。
5.系统数据结构设计
5.1逻辑结构设计要点
效果图如下:
5.2物理结构设计要点
效果图如下:
5.3数据结构与程序的关系
本系统进行用户身份验证时,首先通过登陆界面获得用户输入的用户ID
和密码,程序通过ADO访问数据库的用户表,若不匹配,返回结果到登录
窗口,提示错误,相反登陆成功。
更多的描述不再一一列出。
6.系统出错处理设计
6.1出错信息
当用户没有输入非空字段进行数据提交时,系统提示字段数据不能为空,
请重新输入。
更多的描述不再一一列出。
6.2补救措施
本系统中,当用户没有输入非空字段而进行数据提交时,系统提示字段
数据不能为空,请重新输入。
这时输入界面保留刚刚输入信息的界面,而
不是清空全部输入界面上的所有数据;要求用户重新输入。
本系统提供数据备份功能,方便用户对数据备份。
6.3系统维护设计
详细编写各阶段的文档资料,以利于未来版本升级及移植等二次开发。
详细设计说明书
一.数据库系统设计
信息系统的主要任务是通过大量的数据获得管理所需要的信息,这就必须存储和管理大量的数据。
因此建立一个良好的数据组织结构和数据库,使整个系统都可以迅速、方便、准确地调用和管理所需的数据,是衡量信息系统开发工作好坏的主要指标之一。
数据库系统设计数据库设计主要是进行数据库的逻辑设计,即将数据按一定的分类、分组系统和逻辑层次组织起来,是面向用户的。
二.模块管理
课程注册系统从功能上划分问四个主模块
1.身份验证
2.信息维护:
信息添加,信息修改,信息删除,信息浏览信息查询
3.选课
4.课程发布
从对象上划分为教师、学生、管理员三个,其中管理员主要负责信息维护(信息添加、信息修改、信息删除),学生选课,教师出成绩、选择所授课程。
三、详细设计
1.登录模块
学生个人信息存储在数据库表student中,包括登陆ID,密码,姓名等。
教师信息存储在表professor中,包括ID,密码,姓名等个人信息。
管理员信息存储在表registrar中。
用户选择登陆身份(学生,教师或管理员),用户名,密码。
首先检查用户名是否为空,为空则提示。
若不为空,则检索相应的数据库表,检查用户是否存在。
若存在,检查密码是否正确,若正确,则登陆成功。
该模块程序流程图如下:
2.学生模块
在登陆时,用静态变量CPublic:
:
login存储登陆者的ID。
个人信息内容通过检索数据库表student来得到。
课程表通过检索选课记录recourse得到所有resid为CPublic:
:
login的课程recid,再将这些recid检索课程表course来得到课程信息。
至此就得到了学生的课程表。
选课对话框将所有课程信息显示,学生点击选中,点击确定来选课。
选课成功后,要在recourse表中添加学生和课程编号,并在课程信息里修改剩余人数。
查询成绩与查询课表相同,只是显示信息略有取舍。
2.教师模块
个人信息查询与学生相同,只是在表professor中查询。
当某门课程无任课老师时,会出现在教师的选课页面中。
老师选择一门课程确定后,系统将老师姓名和职工号存入课程表中相应课程的cpid和cpname中,以表示该门课由该老师教。
上成绩时,将课程编码、名称及一名学生姓名,学号显示在对话框中,老师打分。
老师id记录在CPublic:
:
login中,用它来检索课程表course,查找的老师所有教的课程cid,再由这些课程id来检索出选课记录表中的学生id,通过学生id可以检索student可以得到学生姓名。
至此,得到了每一名学生与每一门课的信息,显示在对话框中,由老师得分。
确定后,系统将分数存入选课记录表recourse中的regrade字段中。
3.管理员模块
Y
添加学生时,弹出对话框要求填写学生的详细信息。
删除学生时,将要删除的学生id保存到临时变量input中,然后将表student中该生的记录删除。
然后由input检索选课记录表recourse,查找所有该学生的选课记录,将课程的id存入临时数组temp中,将选课记录中该学生记录删除。
然后再由temp数组记录的课程id查找课程表course,将这些课程的剩余量加一。
修改学生信息,输入要进行操作的学生id,首先检索该id是否存在,不存在则警告。
若存在则弹出该生的详细信息,由管理员进行更改。
添加与修改教师信息与学生相同。
记录要删除的老师id,删除professor中该教师的信息。
检索课程表course中所有cpid为该老师的课程,将其cpanme和cpid字段赋值为空,即完成老师的删除操作。
添加、修改课程与学生相同,删除课程时,只需将其从课程表和选课记录表中删除。
软件测试报告
1.学生测试:
操作:
输入学号,密码,选择学生单选钮。
预期:
(1)用户名为空时提示,用户名不存在时提示,密码错误时提示,用户名密码都正确时登陆成功.
(2)单击个人信息显示个人信息
(3)单击课表显示课表
(4)单击选课,弹出选课界面:
已选满课时提示,重复选择某课时提示,选课成功。
(5)单击成绩显示成绩。
学号为空:
输入非法学号:
输入密码错误:
登陆成功:
个人信息:
课表:
选课达上线:
选课成功:
重复选课:
查询成绩:
测试结果:
与预期相同。
2.教授登陆测试
用户名为空:
用户名非法:
密码错误:
登陆成功:
个人信息:
选课:
上成绩:
测试结果:
与预期相同
3.管理员登陆测试
登陆成功:
更改学生信息:
删除学生:
添加学生:
修改课程信息:
测试结果:
与预期相同
测试结论:
该软件成功完成了用户要求的内容。
总结报告
一.小组总结
二.个人总结
1.李祥楠
2.王柏其
我负责的部分是设计中的整体设计,即画出E-R图,给出各实体集间
的关系。
写出数据字典,供以后的同学作详细设计参考。
通过整体设计,我又复习了软件工程的知识,是我对项目设计有了新
的认识。
原以为小的项目设计可以一个人完成,实际操作了才知道很困难。
几个人做项目要分工明确,自己做自己的部分,可也要时刻联系。
比如我之
前画的E-R图,关系画的不清楚,导致详细设计的同学编程出现了问题,
给他人造成了错误的引导,经过一起探讨研究,我改正了E-R图,队友也
改进了程序。
这样不断地探讨,不断地出错,不断地改正,才逐渐完成了这
个课题。
通过这次实验,我增长了不少软件工程与编程,数据库的知识。
在作
设计的过程中,软件是不断变化的,开始构造的是一方面,实际制作时又是
另外一方面,所以得不断变化。
软件必须有效的支持他的用户,我们做的软
件是学生选课系统,所以我们需要从学生和老师,管理员的实际情况出发,
制定他们操作方便的系统,是软件对用户友好。
在写数据字典之前,我对数据字典的理解有一些偏差,通过这次作实
验,我知道了数据字典就是对数据流,数据流分量,数据存储,处理的定义
集合。
我们做这种比较小的软件时,数据字典还比较好维护,哪里出了问题,
可以很快的找到,然后改正。
如果做比较大的软件时,数据字典就不好维护
了。
开发大的软件系统时,数据字典的规模和复杂程度迅速增加,貌似人工
维护就不太可能了。
总之,经过这次真正的开发,我获益匪浅,增强了团队意识,小组协
调性,开发软件的实战经验等等。
3.孙博
4.王斌斌
5.王猛
通过设计,我对C++、Delphi、数据库软件SQLServer2005、JAVA、
JSP等系列
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 教务 管理 系统软件 工程 实验 报告