《教学方针管理计划系统详细设计方案介绍书.doc》由会员分享,可在线阅读,更多相关《教学方针管理计划系统详细设计方案介绍书.doc(19页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、-/五、详细设计说明书1引言11.1编写目的11.2项目背景11.3定义21.4参考资料22总体设计22.1需求概述22.2软件结构23程序描述23.1功能33.2性能33.3输入项目33.4输出项目33.5算法33.6程序逻辑33.7接口33.8存储分配33.9限制条件33.10测试要点31引言1.1编写目的详细说明书的主要内容是关于我们团队所要设计的“教务管理系统”来编写的,随着学校的规模不断扩大,专业、班级、学生、教师等的数量急剧增加,有关学生课的各种信息量也成倍增长,而目前许多高校的学生成绩管理仍停留在人工管理阶段,重复工作较多,工作量大,效率低。因此,迫切需要开发基于网络的学生成绩管
2、理系统来提高管理工作的效率。它主要介绍的是我们所要实现的功能与性能等,同时它对以后阶段的工作起指导作用,也是项目完成后系统验收的依据。这份详细设计说明书主要面向系统分析员、程序员、测试员、实施员和最终用户。1.2项目背景开发软件名称:教学管理系统项目参与人:宋兰兰 (组长)韩光辉 杨鹏飞 高翔项目来源:应教务管理中心要求主管部门:信息学院教务管理中心1.3定义Macromedia Dreamweaver 8:网页设计工具Microsoft SQL Server:数据库工具静态数据系统固化在内的描述系统实现功能的一部分数据动态数据在软件运行过程中用户输入的后系统输出给用户的一部分数据,也就是系统
3、要处理的数据。数据字典数据字典中的名字都是一些属性与内容的抽象和概括,它们的特点是数据的“严密性”和“精确性”,没有半点含糊。1.4参考资料数据库设计 沈洁 清华大学出版社 2007.3.1软件工程(第五版)张海藩 清华大学出版社 软件工程模型与方法,肖丁等,北京邮电大学出版社 。ASP.NET+Dreamweaver8案例精粹 武新华等,西安电子科技大学出版社信息系统应用与开发案例教程,陈承欢,清华大学出版社。Visual Basic 程序设计基础 林永兴 中国水利水电出版社 2011.1.1JAVA编程思想 埃克尔 机械工业出版社 2007.6.1数据库系统实现 加西亚 莫里亚 机械工业出
4、版社 2010.1.12总体设计2.1需求概述高效的教学管理系统是当前信息化学校管理系统的需求。面对日益庞大的教学信息,如果是单纯的人工来管理或者是小型的不完善的系统来管理会很浪费时间、精力等,所以就需要有教学管理系统来提高管理工作的效率。通过建立这样的系统,可以做到信息的规范管理、快速查询和科学统计,从而减少管理方面的工作量。本系统的设计模拟一般学校特别是高校的教学管理内容,经过充分地系统调研,发现本系统应包括院系信息、教研室信息、班级信息、教师信息、学生信息、课程信息、学生专业信息等需管理的信息。进一步还发现信息实体间需管理的信息有:专业分学期课程计划、学生选课及各类考试成绩登记、补考重修
5、管理、研究生管理、班级管理、教师教学质量评估等内容。2.2软件结构3程序描述3.1功能31 . 1 功能分析 在教务管理系统中,主要有用户登陆、学生信息管理、课程信息管理、用户管理、教师信息管理、院系信息、教研室信息、班级信息、统计等功能,主要功能分析如下:(1)用户登陆教务管理系统网站采用用户名及密码验证模式,进入教务管理系统网站前,用户必须选择身份在登陆页面输入用户名及密码,只有验证通过的用户方可进入教务管理系统网站操作主页面,才能对其中的内容进行查询或者操作,包括对学生、教师等信息的修改。(2)学生信息管理 包括3个功能模块:学生个人信息的添加、学生信息的查询以及学生信息的修改于删除。(
6、3)课程信息管理 包括3个功能模块:课程基本添加与删除处理、成绩查询处理以及学生选课信息的查询处理。(4)教师信息管理 包括3个功能模块:教师个人信息的添加、教师信息的查询以及教师信息的修改与删除。(5)用户管理 包括2个功能模块:用户信息查询以及用户的删除与处理。(6)查询院系、教研室、班级信息:实现对于要查询的院系、教研室、班级信息的显示。(7)统计功能:统计学生、教师、课程、专业学生、院系中班级或学生综合情况。3.2性能32. 1 性能要求分析(1)系统易操作性 所开发的系统应做到操作简单,尽量使系统操作不受用户对电脑知识水平的限制,如果在以后要添加需要一些电脑知识水平限制的操作则在编写
7、用户操作手册时,将操作详细的添加到其中。 (2)系统具有可维护性 因为系统涉及了教师、课程、学生等信息,比较重要,数据库中的数据需定期修改、添加、删除等操作。而系统可利用的空间及性能也随之下降,为了使系统更好地运转,我们可以对系统数据及一些简单的功能进行独立的维护及调整,或者添加一些功能。(3)其他的性能要求:输入要求:数据完整,详实.输出要求:简捷,快速,实时。说明对于该软件的时间特性要求,a 响应时间:少于3秒b 更新处理时间:少于2秒c 数据的转换和传送时间少于5秒说明对该软件的灵活性的要求,即当需求发生某些变化时,该软件对这些变化的适应能力,操作方式上的变化:更人性化3. 2. 2逻辑
8、模型的建立 经过以上调查分析,明确以所开发系统的功能需求和性能要求,发现了存在的问题,弄清了系统的功能,为系统逻辑模型的建立提供了依据。系统分析的主要成果是建立系统的逻辑模型,本系统的逻辑模型主要以系统的数据流图和数据词典作为描述功具。3.3输入项目首先打开主界面,在界面中选择要进行的操作,若进行其他限制性操作则需要输入用户登录的口令,如:学号,教师职工号,和管理员的编号等。具体如下例:表名名称中文名称类型控制域说明UserId用户idintPublicUserName用户名stringPublicPassWord密码stringPublicRights权限intPublicType删除标识i
9、ntPublic为0时表示该生被删除表名字段名中文名数据类型是否可为空关系(主键或外键)注:如果是外键,则写上外键表名约束和默认值StuNo学号Char否主键自增StuName姓名Char否StuBirth出生日期Int否StuSex性别Char否MinZu民族Char否StuClassId班级号Char是外键 ClassEntTime入学时间Datatime否StuTel联系方式Char否StuAddr现住址Char否StuHuji户籍所在地Char否Remark备注Text是Type删除标志Int否表名 名称中文名称类型控制域说明TeaId教师IdintPublicTeaNo教师编号str
10、ingPublicTeaName教师姓名stringpublicSex性别stringPublicBirthDate出生日期DateTimePublicDegree学历stringPublicRank职称StringPublicTeaTel电话号码stringPublicTeaAddress住址stringPublicRemark备注stringPublicType删除标识intPublic当标识为0时表示该教师已被删除3.4输出项目进入主界面,普通用户主要可以进行的操作是查询学院、系、及班级的大体情况以及其简介,学生在普通用户基础上可以查询自己的学籍信息、课程表、选课情况和成绩等;同样教师在
11、学生可以操作的内容基础上,可以查询学生的一些信息和自己的信息、还可以对成绩进行登记、修改等;管理员主要是对学生表、教师职工表、选课表、课程表及一些数据库的内容做修改、更新、删除等。3.5算法3.5.1 用户登录验证方法:public int JudgeExist(Model.User.Users objUsers, out string strErr) Model.User.Users objUsers为模型类,接收用户的账号和密码及权限信息,执行后返回值0和1,当验证失败时返回0,并用out string输出错误原因;当验证成功时返回1,out stErr为空。3.5.2 修改用户密码的方法
12、: public int ModifyUser(string UserName , Model.Users.Users objUsers, out string strErr)string UserName是定义接收用户名的变量,根据用户名查找用户,Model.Users.Users objUsers 是模型类,得到用户的新密码,out string strErr 定义捕获错误的变量,当返回值为1则修改成功,返回值为0 ,则出错,将错误赋给strErr 3.5.3 .查询的方法:查询所有记录public int SearchUser(out DataTable objDataTable,out
13、 string strErr)out DataTable objDataTable定义了一个表,out string strErr 定义捕获错误的变量,当返回值为1则查询成功,定义的表显示查询结果,返回值为0 ,则出错,将错误赋给strErr查询某行记录public int SearchUser(string UserName , out DataTable objDataTable, out string strErr)string UserName 是定义接收用户名的变量,根据用户名查找用户的相关信息, out DataTable objDataTable定义了一个表,out string
14、 strErr 定义捕获错误的变量,当返回值为1则查询成功,定义的表显示查询结果,返回值为0 ,则出错,将错误赋给strErr 3.5.4 学生信息管理的具体实现:1 添加的方法:public int AddStu( Model.student.student objStu,out string strErr)Model.student.student objStu 是模型类, out string strErr定义捕获错误的变量,int 为1则添加成功,同时添加用户成功,模型类存储学生的相关信息,为0则返回错误提示,将错误赋给strErr2 修改的方法: public int ModifyS
15、tu(int iStuId, string strOld, Model.student.student objStu, out string strErr) int iStuId,是传入的学生ID, string strOld是传入的旧的学生编号, Model.student.student objStu 是模型类, out string strErr定义捕获错误的变量int 为1则修改成功,同时修改用户成功,模型类存储学生的相关信息,为0则返回错误提示,将错误赋给strErr3 查询的方法:public int SearchStu(out DataTable objDataTable, ou
16、t string strErr, string strErr)out DataTable objDataTable定义了一个表,out string strErr 定义捕获错误的变量,当返回值为1则查询成功,定义的表显示查询结果,返回值为0 ,则出错,将错误赋给strErr。public int SearchStu(string strStuNo,string StuName,string ClassName, out DataTable objDataTable, out string strErr) 管理员根据学生编号、学生姓名、学生所在班级进行查询,string strStuNo定义接收
17、学生编号的变量,string StuName定义接收学生姓名的变量,string ClassName定义接收学生所在班级的变量, out DataTable objDataTable定义了一个表,out string strErr 定义捕获错误的变量,当返回值为1时,根据传入的学生编号和学生姓名和所在班级查询学生成功,将查询结果给表,返回值为0,则将错误赋给strErr。4 删除的方法:public int DelStu(int iStuId, string strStuNo, out string strErr) 删除学生和账号,int iStuId定义接收学生ID的变量, string s
18、trStuNo是定义接收学生编号的变量, out string strErr定义捕获错误的变量,当返回值为1时,删除成功,当返回值为0时,出错,则将错误赋给strErr。3.5.5 教师管理功能的实现:1 添加的方法: public int AddTea(Model.teacher.teacher objTea, out string strErr) Model.teacher.teacher objTea是模型类, out string strErr定义捕获错误的变量,int 为1则添加成功,同时添加用户成功,模型类存储教师的相关信息,为0则返回错误提示,将错误赋给strErr2 修改的方法
19、: public int ModifyTea(int iTeaId, string strOld, Model.teacher.teacher objTea, out string strErr) int iTeaId是传入的教师ID, string strOld是传入的旧的教师编号,Model.teacher.teacher objTea是模型类, out string strErr定义捕获错误的变量int 为1则修改成功,同时修改用户成功,模型类存储教师的相关信息,为0则返回错误提示,将错误赋给strErr。3 查询的方法:public int SearchTea (out DataTab
20、le objDataTable ,out string strErr) out DataTable objDataTable定义了一个表,out string strErr 定义捕获错误的变量,当返回值为1则查询成功,定义的表显示查询结果,返回值为0 ,则出错,将错误赋给strErr。public int SearchTea(string strTeaNo, string strTeaName, out DataTable objDataTable, out string strErr) 根据教师编号、教师姓名进行查询,string strTeaNo定义接收教师编号的变量,string str
21、TeaName定义接收教师姓名的变量, out DataTable objDataTable定义了一个表,out string strErr 定义捕获错误的变量,当返回值为1时,根据传入的教师编号和教师姓名查询成功,将查询结果给表,返回值为0,则将错误赋给strErr4删除的方法 public int DelTea(int iTeaId, string strTeaNo, out string strErr)删除教师和账号,int iTeaId定义接收教师ID的变量, string strTeaNo是定义接收教师编号的变量, out string strErr定义捕获错误的变量,当返回值为1时
22、,删除成功,当返回值为0时,出错,则将错误赋给strErr。5 教师职务管理a)添加的方法 public int AddTeacherC_C(Model.Teacher_Course.Teacher_Course objTeacherCourse, Model.Teacher_Class.Teacher_Class objTClass, out string strErr) Model.Teacher_Course.Teacher_Course objTeacherCourse, Model.Teacher_Class.Teacher_Class objTClass Model.teacher
23、.teacher objTea是模型类, out string strErr定义捕获错误的变量,int 为1则添加成功,模型类存储教师可和教师课程班级以及课程班级的相关信息,为0则返回错误提示,将错误赋给strErrb) 查询的方法 public int SearchTCC(out DataTable objDataTable, out string strErr) out DataTable objDataTable定义了一个表,out string strErr 定义捕获错误的变量,当返回值为1则查询成功,定义的表显示查询结果,返回值为0 ,则出错,将错误赋给strErr。 public
24、int SearchTCC1(string TeaNo,string TeaName ,string CourseName,string ClassName,out DataTable objDataTable, out string strErr) 根据教师编号、教师姓名,课程名称,班级名称进行查询,string TeaNo定义接收教师编号的变量,string TeaName定义接收教师姓名的变量, string ClassName定义了接收班级名称的变量, string CourseName定义了接收课程名称的变量,out DataTable objDataTable定义了一个表,out
25、string strErr 定义捕获错误的变量,当返回值为1时,根据传入的教师编号、教师姓名、课程姓名、班级姓名查询成功,将查询结果给表,返回值为0,则将错误赋给strErr。 c) 删除的方法public int DelTCC(string TeaNo, string ClassName, string CourseName, out string strErr) 删除教师职务信息, string TeaNo是定义接收教师编号的变量, string ClassName定义了接收班级名称的变量, string CourseName定义了接收课程名称的变量, out string strErr定
26、义捕获错误的变量,当返回值为1时,删除成功,当返回值为0时,出错,则将错误赋给strErr d) 修改的方法 public int ModifyTCC(string TeaNo,int OldClassid,int OldCourseid, Model.Teacher_Class.Teacher_Class objTCl, Model.Teacher_Course.Teacher_Course objTCo, out string strErr)修改教师所教班级,string TeaNo定义接收教师编号的变量,int OldClassid定义接收旧的班级ID的变量,int OldCoursei
27、d定义接收旧的课程ID的变量, Model.Teacher_Course.Teacher_Course objTCo, Model.Teacher_Class.Teacher_Class objTCl, Model.teacher.teacher objTea是模型类, out string strErr定义捕获错误的变量,返回值 为1则添加成功,模型类存储教师和教师课程班级以及课程班级的相关信息,为0则返回错误提示,将错误赋给strErr。 public int ModifyTCC1(string TeaNo,int OldClassid,int OldCourseid, Model.Tea
28、cher_Class.Teacher_Class objTCl, Model.Teacher_Course.Teacher_Course objTCo, out string strErr) 修改教师所教课程,string TeaNo定义接收教师编号的变量,int OldClassid定义接收旧的班级ID的变量,int OldCourseid定义接收旧的课程ID的变量, Model.Teacher_Course.Teacher_Course objTCo, Model.Teacher_Class.Teacher_Class objTCl, Model.teacher.teacher objTe
29、a是模型类, out string strErr定义捕获错误的变量,返回值 为1则添加成功,模型类存储教师可和教师课程班级以及课程班级的相关信息,为0则返回错误提示,将错误赋给strErr。3.5.6 班级管理功能实现:1 添加的方法:public int AddClass( Model.Class.Class objClass,out string strErr)ModelClass objClass是课程模型类。返回值定义为0和1,当添加失败时,返回0,并用out string strErr输出出错原因;当添加成功时,返回1,out string strErr的输出为空。2 修改的方法:
30、public int ModifyClass(string ClassNo, Model.Class.Class objClass, out string strErr)返回值定义为0和1,当修改失败时,返回0,并用out string strErr输出出错原因;当修改时,返回1,out string strErr的输出为空。string iClassNo定义接受班级编号的变量, Model.Class.Class objClass为模型类3 查询的方法:查询单行(按班级名和班级编号):public int SearchClass(string ClassNo ,string ClassNam
31、e, out DataTable objDataTable, out string strErr) string iClassNo定义接受班级编号的变量, string strClassName定义接受班级名称的变量, out DataTable objDataTable是输出内存中的表的内容,用返回值定义为0和1判断查询成功或失败,查询失败时用out string strErr输出出错原因,成功时out string strErr输出为空。4删除班级public int DelClass(string ClassNo, out string strErr)删除班级信息以及班级中的学生,班级课
32、程表,教师班级表中相应记录string iClassNo定义接受班级编号的变量, out string strErr输出出错原因,成功时out string strErr输出为空。3.5.7 成绩管理功能实现:1 添加的方法:public int AddScore(Model.Score objScore,out string strErr)Model.Score objScore 是课程模型类。返回值定义为0和1,当添加失败时,返回0,并用out string strErr输出出错原因;当添加成功时,返回1,out string strErr的输出为空。2 修改的方法: public int
33、 ModifyScore(string CourseNo,Model.string StuNo,float Score,out string strErr) 返回值定义为0和1,当添加失败时,返回0,并用out string strErr输出出错原因;当修改成功时,返回1,out string strErr的输出为空,string CourseNo定义了接收课程编号的变量,string StuNo定义接收学生编号的变量,float Scoure 分数变量。3 查询的方法:public int SearchScore(Model.Score objScore,out DataTable objD
34、ataTable ,out string strErr)查询所有成绩Model.Score objScore 是课程模型类。返回值定义为0和1,当添加失败时,返回0,并用out string strErr输出出错原因;当查询成功时,返回1,out string strErr的输出为空。public int SearchScoreStudent(sting StuNo, string TeaNo,string CourseName, string ClassName, Model.Score objScore,out DataTable objDataTable ,out string strE
35、rr)按学生、班级、课程、教师查询成绩sting StuNo定义了接收学生编号的变量, string TeaNo接收教师编号,string CourseName,接收课程名称 string ClassName接收班级名称, Model.Score objScore 是课程模型类。返回值int定义为0和1,当添加失败时,返回0,并用out string strErr输出出错原因;当查询成功时,返回1,out string strErr的输出为空。4 删除的方法:public int DelScore(int id,out string strErr)int id 定义编号, out string
36、 strErr输出出错原因,成功时out string strErr输出为空。3.5.8 课程信息管理功能:1.添加的方法:public int AddCourse(Model.Course.Course objCourse, out string strErr)Model.Course objCourse是课程模型类。返回值定义为0和1,当添加失败时,返回0,并用out string strErr输出出错原因;当添加成功时,返回1,out string strErr的输出为空。2.修改的方法: public int ModifyCourse(int iCourseId, Model.Cour
37、se.Course objCourse, out string strErr)返回值定义为0和1,当修改时,返回0,并用out string strErr输出出错原因;当修改时,返回1,out string strErr的输出为空。3.查询的方法:public int SearchCourse(out DataTable objDataTable, out string strErr)查询所有课程:public int SearchCourse( sting CourseNo,string CourseName,out DataTable objDataTable, out string st
38、rErr)根据课程编号,课程名查询单行课程sting CourseNo接收课程编号,string CourseName接收课程名, out DataTable objDataTable是输出内存中的表的内容,用int定义为0和1判断查询成功或失败,查询失败时用out string strErr输出出错原因,成功时out string strErr输出为空。4 删除课程 public int DelCourse(string CourseNo, out string strErr)string CourseNo接收课程编号,返回值为0和1,判断查询成功或失败,查询失败时为0用out string
39、 strErr输出出错原因,成功时为1,out string strErr输出为空。3.5.9 统计功能实现:1计算总评分public int sum(int , int ) Int是一个学生的其中一门课程的成绩,另一个是下一门的成绩,依次的相加就是一个学生的总评分,返回值为int类型的数据。若此时学生无成绩,则返回值为0.2. 计算全班平均总评分public int average(int a)一个班级的学生总成绩按数组的形式存放,是整形的数组形式,将数据先求和在求平均值,若有成绩返回值为计算结果,无成绩返回0.3统计各等级学生人数public b stat(int a,count b,ch
40、ar sex,count1 c ,char Sage,count2 d)统计班级人数,此时count作为计数的变量,依次对数组进行遍历,若对应的是我们限制要求的数据,则count+,遍历结束返回return(count)。当我们要按性别统计人数时,我们的限制条件就是sex,返回return(count1),若按年龄统计则限制条件是Sage,返回return(count2)。3.5.10用户修改密码功能public int ModifyUser(string UserName , Model.Users.Users objUsers, out string strErr)string UserN
41、ame是定义接收用户名的变量,根据用户名查找用户,Model.Users.Users objUsers 是模型类,得到用户的新密码,out string strErr 定义捕获错误的变量,当返回值为1则修改成功,返回值为0 ,则出错,将错误赋给strErr 2.查询的方法:查询所有记录public int SearchUser(out DataTable objDataTable,out string strErr)out DataTable objDataTable定义了一个表,out string strErr 定义捕获错误的变量,当返回值为1则查询成功,定义的表显示查询结果,返回值为0
42、,则出错,将错误赋给strErr查询某行记录public int SearchUser(string UserName , out DataTable objDataTable, out string strErr)string UserName 是定义接收用户名的变量,根据用户名查找用户的相关信息, out DataTable objDataTable定义了一个表,out string strErr 定义捕获错误的变量,当返回值为1则查询成功,定义的表显示查询结果,返回值为0 ,则出错,将错误赋给strErr 3.6程序逻辑登录功能的实现流程图:处理流程:学生老师管理员成功失败用户登录查看成
43、绩全班单科成绩全班各科汇总成绩个人成绩添加、修改、删除学生成绩计算总评成绩 、全班平均总评分、成绩不及格、及格、中、良、优等分数段的学生人数处理流程查询学生信息以及学生可用的功能:教师信息及其可以进行的操作:管理员的登录及其可以进行的操作:学生数据查询的流程图:学生成绩管理:统计功能的实现内容:3.7接口外部设计:界面登录:内部接口:学生登录:void Stu_Login()教师登陆:void Tea_Login()管理员登录: void User_Login()查询:char search(char a)修改:string update(String a)删除:int delete(int
44、a)计算总评分:int sum(int , int )计算全班平均总评分int average(int a)统计各等级学生人数b stat(int a)统计信息:string total(string a)修改用户密码:int ModifyUser(string UserName , Model.Users.Users objUsers, out string strErr)3.8存储分配在编程时进行动态内存分配是非常必要的。它可以在程序运行的过程中帮助分配所需的内存,而不是在进程启动的时候就进行分配。然而,有效地管理这些内存同样也是非常重要的。在大型的、复杂的应用程序中,内存泄漏是常见的问题
45、。当以前分配的一片内存不再需要使用或无法访问时,但是却并没有释放它,那么对于该进程来说,会因此导致总可用内存的减少,这时就出现了内存泄漏。尽管优秀的编程实践可以确保最少的泄漏,但是根据经验,当使用大量的函数对相同的内存块进行处理时,很可能会出现内存泄漏。尤其是在碰到错误路径的情况下更是如此,所以存储分配很重要,在我们建立数据库时一定要分配好内存。3.9限制条件由于我们组的开发知识有限,软硬件可能出现故障,且开发工作计划在2011年11月12日完成。具体如下:a所建议系统的运行寿命的最小值;b进行系统方案选择比较的时间;c硬件、软件、运行环境和开发环境方面的条件和限制;d可利用的信息和资源;e系统投入使用的最晚时间。3.10测试要点1、 测试方案使用以界面为基础的测试。以界面为基础的测试仅仅依靠软件与其运行环境之间的界面来选择和产生测试数据,而不管软件的具体需求和具体实现细节。包括软件输入,输出数据的类型取值范围以及取值的概率分