您的当前位置:首页正文

学生选课系统设计报告 软件工程课程设计

2023-08-06 来源:步旅网


软件工程课程设计

学生选课管理系统

开发报告

作者:2009242012*** 2009242014颉翔

1引言 ............................................................................................................................................... 3 1.1编写目的 ................................................................................................................................. 3 1.2背景......................................................................................................................................... 3 1.3参考资料 ................................................................................................................................. 3 2任务概述 ....................................................................................................................................... 3 2.1任务目标 ................................................................................................................................. 3 2.2用户的特点 ............................................................................................................................. 4 2.3假定和约束 ............................................................................................................................. 4 2.3.1 进度约束: ...................................................................................................................... 4 2.3.2 系统约束: ................................................................................................................... 4 2.3.3用户约束 ........................................................................................................................ 5 2.3.4假设与前提条件. ........................................................................................................ 5 3需求分析 ....................................................................................................................................... 5 3.1对功能的规定 ......................................................................................................................... 5 3.2对性能的规定 ......................................................................................................................... 6 3.3输人输出要求 ......................................................................................................................... 6 3.4故障处理要求 ......................................................................................................................... 6 4软件设计与实现 ........................................................................................................................... 7 4.1系统功能结构 ......................................................................................................................... 7 4.2系统数据结构 ......................................................................................................................... 8 4.2.1概念结构设计 ................................................................................................................ 8 4.2.2逻辑结构设计: ............................................................................................................ 9 4.2.3 物理结构设计 ............................................................................................................... 9 4.3功能需求与程序的关系 ....................................................................................................... 10 4.4运行环境规定 ....................................................................................................................... 10 5软件测试 ..................................................................................................................................... 10 5.1测试概要 ............................................................................................................................... 10 5.2测试结果及调试 ................................................................................................................... 11 5.3测试结论 ............................................................................................................................... 13 6小结 ............................................................................................................................................. 13

1引言

1.1编写目的

此报告完整呈现了我们开发“学生选课系统”的整个软件生命周期,包括需求分析阶段,软件设计与实现阶段和测试阶段。在需求分析阶段,明确所要开发的软件应具有的功能、性能与界面,使系统使用人员及系统开发人员能清楚地了解用户的需求,并在此基础上进一步提出概要设计说明书和完成后续设计与开发工作。在软件设计与实现阶段,进一步细化软件设计阶段得出的软件总体概貌,把它加工成在程序细节上非常接近于源程序的软件表示,然后着手于实践。最后在测试阶段检验了我们的软件的实用性,发现了许多不足。这个报告即是对最后软件的总体描述。

1.2背景

目前国内各高校的规模越来越大,进而造成教师教学管理等工作量日趋加大。然而,现代教育的信息化、网络化已经成为教育发展的一个重要方向,同时也为解决高校教学管理效率低下的现状,使管理突破时空限制,提高工作效率和办学水平,提供了一个很好的突破口。基于这种情况,选课系统应运而生。

1.3参考资料

1.张海藩,《软件工程导论》,清华大学出版社; 2.王珊、萨师煊,《数据库系统概论》,高等教育出版社; 3.张瑞丰、董渊、郑莉,《C++语言程序设计》,清华大学出版社。

2任务概述

2.1任务目标

由于学生多,老师多,课程多,学生课程每学期变动,造成进行课程分配,老师任务分配极为复杂不便,同时由于人员的流动(例如学生转专业,老师跨学院授课等等),对学生

选课,老师授课的安排显得力不从心,有时查找与重新整理文件要浪费许多的人力、物力。而且近年来,由于学校扩招力度的加强和教育的改革,选课,成绩档案的管理不当会严重到导致学校管理混乱的局面。于是大家不断地在探索希望能找到解决的方法。

为了解决以上的问题,让学校能够有效的管理,同学能够方便的选课,及促进成绩管理的信息化、规范化和集成化,我们小组多方听取意见、追加和完善部分实用功能,进而了解学生选课流程,同时结合各部门、各专业与同学选课管理的方法,开发出一套适合于多学院,多课程的复杂的选课系统。

2.2用户的特点

本项目所开发的系统用户有三类,学生、老师和系统管理员。

系统中有哪些可选的课程由管理员添加,学校公布选课信息后,学生就应该急时登陆选课系统进行选课。

凡是想要选课的学生,必须是在该学校有注册信息的学生,只有具有该校学生资格,才可以进行选课。

课程重要的信息之一就是该课程的代课老师。老师同样应该具有该校的教师(teacher)资格,才可以教授该校所开设的课程。当老师登陆时,可以查看自己所教的课程的报名情况,以及学生对该课的评价等等信息。

学生和老师都不可能使用管理员的功能。

2.3假定和约束 2.3.1 进度约束:

在2011年9月8日前完成全部进度,分三周进行,第一周完成需求分析说明书和详细设计说明书;第二周完成SQL语句的编写,系统界面设计以及调试等相关工作;第三周进行系统调试和修改完善工作。

2.3.2 系统约束:

1.系统中所有账户能够供用户随时使用,能够随时使用相应功能。

2.同一时刻,所有账户不能在多个地方登陆。 3.学生选课数目不能超过学校限制。

4.不能选已经超过规定人数的的课程,不能选已经开课的课程。 5.没有达到规定人数的课程不能开课。

6.该系统必须确保所有数据安全,以免损失。所有用户都要登陆才能访问,每个用户只能使用所属角色的权限,必要时限定访问次数。

7.界面友好,操作简单。

8.软件系统开放性好,结构灵活,可扩充,方便维护。 9.安全可靠。

2.3.3用户约束

1.一个学生至少要选择一门课程(course),也可以选择多门课程,每一门课程的选课人数必须达到一定数量才能开课。

2.学校为了教学内容的丰富,会不定期的增加一些课程(course),并且请一位相关专业的教师进行讲解,同时为了调动老师积极性,也鼓励一个老师同时开设多门课程(course)。

3. 如果教师开设的课程受学生欢迎,下一学年可以继续开设该们课程。

4.所有选课信息(stucourse)都必须记录,以备将来教学评估以及对学生选课信息的查询。

2.3.4假设与前提条件.

1.假设学生不在学校,照样可以选课。只要有联网的电脑,登录学校官网就可进行选课。 2.假设用户忘记密码,系统设置找回密码的方法,也可与管理员联系。

3需求分析

3.1对功能的规定

1.学生根据所在院系的名称(college),查看本学期所开设的课程的信息。 2.教师根据教师编号(tid)可以查看自己所教课程的信息。

3.学生可以根据课程编号(cid),查询某课程的信息,从而对该课程进行相应的选择。

4.教师通过课程编号(cid),查看选择该课程的学生的信息。

5.管理员查询学生选择课程人数最多的前三门课程的信息,从而对其进行教学评估。 6.管理员可以更新学生、教师、课程的信息。

3.2对性能的规定

3.2.1安全性要求:

①系统应设置访问用户的标识以鉴别是否是合法用户,并要求合法用户设置其密码,保证用户身份不被盗用;

②系统应对不同的数据设置不同的访问级别,限制访问用户可查询和处理数据的类别和内容;

③系统应对不同用户设置不同的权限,区分不同的用户,如区分普通用户(学生),管理员。

3.2.2完整性要求:

①各种信息记录的完整性,信息记录内容不能为空; ②各种数据间相互的联系的正确性; ③相同的数据在不同记录中的一致性。

3.3输人输出要求

该系统为教学管理系统的一个模块,因此它的输入数据由总系统的其它模块提供,其输出数据一部分可显示给用户,另一部分作为其它子模块的输入。

3.4故障处理要求

1.面对突然死机,断电等情况能够还原原有数据,自动备份; 2.数据输入错误能够识别并提醒;

3.选修课程后未参加考试没有成绩则删除此学生的这条选修信息。

4软件设计与实现

4.1系统功能结构

学生选课管理系统 学生模块 管理员模块 教师模块 密码修改 查询选课信息 查询公共信息 密码修改 查询公共信息 查询已发布课程信息 课程信息发布 查询教师信息 查询选课名单 查询课程信息 修改选课信息 添加公共信息 添加公共信息 删除课程发布信息 修改课程发布信息 添 修删添修删 删 加改除加改除除 教教教学学学公师 师师生生生告信 信信信信信信息 息 息 息 息 息 息 图4.1 选课系统功能模块图 4.2系统数据结构 4.2.1概念结构设计

4.2.1.1系统实体属性图:

1. 具有学生资格的学生应该包括如下信息:学号(Sno),学生姓名(Sname),性别(Gender),年龄(Age),政治面貌(Political),系别(Branches),班级(Class);

ClassBranchesPolitical学生SnoSnameGenderAge图4.2 学生属性图

2. 每门课程应该包括如下信息:课程号(Cid),课程名称(Cname),学分(Credit),课时(Hour),需求人数(Total),课称描述(Decription):

CidCnameCreditDescription课程CounterHour图4.3 课程属性图

3. 教师信息应该包括如下:教师号(Tid),教师姓名(Tname),职称(Title),所在系别

(Branches),研究方向(Professional),简介(Introduce),年龄(Age),性别(Gender):

AgeGenderBranchesIntroduce教师TidProfessionTname图4.4 教师属性图

4.2.1.2实体联系图

图4.5 系统E-R图

4.2.2逻辑结构设计:

学生信息 (sid,sname,gender,age, branches,class);

教师信息 (tid,tname,ag,gender,title,branches,professional,introduce); 课程信息 (cid,cname,credit,hour),total,decription); 学生选课信息(sid,cid,checkdata,grade);

教师开课信息(tid,cid,opendata,counter,teachdata)。

4.2.3 物理结构设计

表4.1 学生信息数据字典 字段中文名称 学号 姓名 性别 班级 政治面貌 年龄 系别 字段中文名称 教师号 姓名 性别 简介 职称 年龄 系别 字段名 Sno Sname Gender Class Political Age Branches 字段名 Sno Sname Gender Introduce Title Age Branches

类型 Varchar Varchar Varchar Int Varchar Int Varchar 类型 Varchar Varchar Varchar Varchar Varchar Int Varchar 长度 10 8 2 6 2 2 15 长度 14 8 2 14 2 2 15 说明 学生学号 学生姓名 学生所在班级 说明 学生学号 学生姓名 学生所在班级 表4.2教师信息数据字典

表4.3课程信息数据字典

字段中文名称 课程编号 课程名称 课程简称 课时 需求人数 学分 字段中文名称 课程号 学号 选课时间 成绩 字段名 Cid Cname Description Hour Total Credit 字段名 Cid Sno Check Data Grade 类型 Int Char Char Int Int Int 类型 Int Int int Int 长度 8 40 40 10 30 4 长度 6 10 14 4 说明 任课教师 本课程的学分 说明 表4.4学生选课信息数据字典

4.3功能需求与程序的关系 4.4运行环境规定

1.硬件平台:Windows 2000/XP/server 2003/7 2.软件平台: Microsoft Visual C++ 6.0

SQL server 2005

3.设备: 处理器:Inter (R) Core(TM)2 Quad;

内存:2G 外存:250G; 存储格式:exe,mdf,dsw;

输入及输出设备:键盘,鼠标,显示器,打印机。

5软件测试

5.1测试概要

由于时间有限,我们主要对以下主要模块进行了测试:

A:用户登录; B更新学生信息; C:更新教师信息; D:更新课程信息; E:学生进行选课; F:教师查看选课情况; G:教师进行评分; H:更新教师信息; I:数据库备份、数据库还原;

5.2测试结果及调试

表5.1 测试结果表

模块代码 测试结果 可以按学生、教师、管A 理员各自的身份进行登录 B C D E 课,并且更新数据库 F G 可以实现 可以实现 没有完善 H 无 无 这个程序中教师只能查看选修自己课程的学生信息,并且进行评分,没有更新自己信息的模块。 I 不够完善 没有进行这方面的考虑。 可以实现 可以实现 可以实现 根据现有的课程进行选无 无 无 无 无 与预期的差别 图5.1 学生进行选课

图5.2管理员添加课程信息

图5.3 教师对学生所选课程进行评分

图5.4 学生修改自己的密码

5.3测试结论

该程序能实现学生选课系统数据流图中的大部分功能,但由于时间不够,程序中没有对教师信息进行更新的功能模块。经过对登录界面、学生界面、教师界面和管理员界面进行的登录增删改测试,初步证明了该程序基本稳定安全。

6小结

经过这个小学期的软件工程课程设计活动,我们终于对整个软件开发过程有了一个更加详细的了解。两人结成小组分工合作,最终总算完成了一个不怎么完善但可以使用的程序。在这期间也培养了我们精诚合作,遇到困难解决困难,仔细严谨的良好习惯。时间总是过得飞快,三个星期的课程设计很快就结束了,但我们学习到的这样的开发流程和这些良好习惯将会伴随我们终生。

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