收藏 分销(赏)

学生管理系统需求文档说明书.doc

上传人:xrp****65 文档编号:7686879 上传时间:2025-01-12 格式:DOC 页数:30 大小:2.72MB 下载积分:10 金币
下载 相关 举报
学生管理系统需求文档说明书.doc_第1页
第1页 / 共30页
学生管理系统需求文档说明书.doc_第2页
第2页 / 共30页


点击查看更多>>
资源描述
学生管理系统文档需求说明书 一、 项目概述 1. 开发背景 随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已经进入人类社会的各个领域并发挥着越来越重要的作用,然而在计算机应用普及以前我国大部分高校的学生信息管理仅靠人工进行管理和操作,这种管理方式存在着许多缺点,如:效率低,密保性差,另外时间一长,将产生大量的文件和数据,其中有些是冗余或者针对同一目的的数据不相吻合,这对于查找、更新和维护文件等管理工作带来了不少困难,同时也跟不上信息时代高速、快捷的要求,严重影响了消息的传播速度。然而现今学校的规模不断扩大,学生数量急剧增加,有关学生的各种信息也成倍增长,人工管理信息的缺点日渐突出,面对庞大的学生信息量,如何利用现代信息技术使其拥有快捷、高效的适应能力已成为当务之急。 正因为如此,学生信息管理系统成为了教育单位不可缺少的部分,它的内容对于学校的决策者和管理者来说都至关重要,所以学生信息管理系统应该能够为用户提供充足的信息和快捷的查询手段。作为计算机应用的一部分,使用计算机对学生信息进行管理,具有着手工管理所无法比拟的优点。例如:检索迅速。查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大的提高学生信息管理的效率,也是企业的科学化、正规化管理,与世界接轨的重要条件,由此看来开发这样一套管理软件是很有必要的。学生信息管理系统是典型的信息管理系统(MIS),其开发功能主要包括对学生各种信息的建立、管理、查询等功能。 2. 项目描述 该学生管理系统应用于高校学生信息管理,主要有3个主要功能模块组成,分别是:学生信息管理系统模块,学生成绩管理模块和系统管理模块。学生信息管理模块包括对学生的学籍等基本信息的查看和维护管理;学生成绩管理模块主要包括对学生成绩的录入和查询;系统管理主要包括对系统数据字典以及管理员的维护模块。除了这三大主要功能模块之外还涉及到于本系统相关的一系列小的功能模块,例如,学科管理、班主任管理等。本系统设计的学生信息管理系统很好的解决了学生信息管理方面的困难,提高了学生信息管理效率、减轻了教务员的工作负担,节省了大量的人力、物力资源,给高校学生信息管理带来了很大的方便 3. 系统目标 该系统要实现的功能有: l 学生信息管理:包括添加学生信息,修改学生信息 l 学生成绩管理:包括添加学生成绩、修改学生成绩、删除学生成绩 l 系统管理:维护系统数据字典、添加管理员、删除管理员、修改管理员信息 除了这三大主要功能模块之外还涉及到于本系统相关的一系列小的功能模块,例如,学科管理、班主任管理等。 4. 性能需求 数据精确度:经多次测试,该系统最终的输出数据的精确度达到95%以上 时间特性:该系统在响应时间、更新处理时间,数据转换与传输时间、与运行时间等方面时间短、速度快。 适应性:该系统专为高校量身定做,对高校有很强的适应性 复用性:该系统的功能和大多数高校基本吻合,所以可以在大多数高校中复用 灵活性:该系统可以在大多数Windows XP以上版本上应用,与微软的office办公软件相结合,可以打印该系统中的成绩、学生表等,该系统采用团队分块制作,以后维护、改方便 运行需求 本系统服务器的环境如下: 操作系统:Windows XP 以上 服务器:IIS5.0以上 数据库:SQL Server 2005 Express 硬件配置:CPU:P41.8GHz 内存:256MB以上 分辨率:最佳效果1024×768像素 二、 系统设计 1. 总体设计 1) 项目概述 该学生管理系统应用于高校学生信息管理,主要有3个主要功能模块组成,分别是:学生信息管理系统模块,学生成绩管理模块和系统管理模块。学生信息管理模块包括对学生的学籍等基本信息的查看和维护管理;学生成绩管理模块主要包括对学生成绩的录入和查询;系统管理主要包括对系统数据字典以及管理员的维护模块。除了这三大主要功能模块之外还涉及到于本系统相关的一系列小的功能模块,例如,学科管理、班主任管理等。本系统设计的学生信息管理系统很好的解决了学生信息管理方面的困难,提高了学生信息管理效率、减轻了教务员的工作负担,节省了大量的人力、物力资源,给高校学生信息管理带来了很大的方便 2) 系统功能架构图 整个系统大体上可分为4可主要模块,分别是“学生信息管理,学生成绩管理,班级管理,系统管理”,他们分别管理学生信息,学生成绩,班级信息,系统。每个功能又可以细分实现具体的增删改查等功能。 3) 根据需求分析。找出参与者,和参与者的功能,画出用例图 4) 采用面向对象分析,画出类图和时序图 学生管理系统类图 学生管理系统时序图 5) 系统的业务流程图和数据流向。(流程图,活动图) 流程图 活动图 6) 实现各个模块的关键的算法和技术描述 学生信息模块 关键算法: 技术描述: 学生成绩模块 关键算法: 技术描述: 班级模块管理 关键算法: 技术描述: 系统模块设置 关键算法: 技术描述: 7) 软件的开发环境: 本系统以Windows为开发平台,采用面向对象的软件开发方式,以Microsoft公司的可视开发环境VisualStudio2008作为主要开发工具,使用Microsoft SqlServer2005作为关系数据库,并为C#编程语言中采用ADO数据库编程模型,配合功能强大的SQL查询语言实现建立关系数据库,访问数据库,对数据库的更新,较好的实现了预定的需求功能。 2. 详细设计 1) 学生信息管理模块详细设计 学生信息模块详细架构图 学生信息管理主要有三大功能: 1.添加学生信息,信息包括:基本信息、学籍信息、联系方式; 2.学生属性管理,包括:基本信息、学籍信息、联系方式、学籍异动、获奖记录、处分记录; 3.信息编辑管理,包括:基本信息、学籍信息、联系方式、学籍异动、获奖记录、处分记录; 学生信息模块详细用例图 学生信息管理模块详细时序图 2) 学生成绩管理模块详细设计 学生成绩管理模块详细架构图 学生成绩管理主要包括四个主要功能: 1.添加成绩 2.成绩浏览 3.成绩排名 4.成绩查询 学生成绩管理模块详细用例图 学生成绩详细管理模块时序图 3) 班级管理模块详细设计 班级管理模块详细架构图 班级管理系统主要分为三个主要功能: 1.班级浏览 2.添加班级 3.班级查询 班级管理模块详细用例图 班级管理模块详细时序图 4) 系统信息设置模块详细设计 系统信息设置模块详细设计 系统信息设置主要分为两个主要功能: 1. 数据字典,包括:班级设置、专业设置、学员设置、学科设置、学籍异动、处分类型 2. 用户管理,包括:管理用户、密码修改 系统信息设置模块详细设计用例图 系统信息设置详细时序图 5) 数据库设计(跟据类图映射过来) (画概念数据模型图,和物理数据模型图) 概念数据模型设计 物理结构模型设计 1.Colloges(学院表) 字段名 数据类型 长度 是否主键 是否外键 描述 备注 CollogeID Int 4 是 否 学院编号 CollogeName Varchar(50) 50 否 否 学院名称 2.Speciality(专业表) 字段名 数据类型 长度 是否主键 是否外键 描述 备注 SpecialityID Int 4 是 否 专业编号 SpecialityName Varchar(50) 50 否 否 专业名称 CollogeID Int 4 否 是 所属学院 参照 Colleges 表主键 SpecialityYears Int 4 否 是 学制 参照 Speyears 表主键 3.Speyears(学制表) 字段名 数据类型 长度 是否主键 是否外键 描述 备注 SpeyearID Int 4 是 否 学制编号 Identity(1,1) SpeyearName Varchar(50) 50 否 否 学制名称 SpeyearYears Int 4 否 否 学制时间 单位:年 4.Classes(班级表) 字段名 数据类型 长度 是否主键 是否外键 描述 备注 ClassID Int 4 是 否 班级编号 ClassName Varchar(50) 50 否 否 班级名称 SpecialityID Int 4 否 是 所属专业 参照 Speciality 表主键 TeacherID Int 4 否 是 班主任编号 参照 Teachers 表主键 5. ChangeTypesRecode(学籍变动记录表) 字段名 数据类型 长度 是否主键 是否外键 描述 备注 ChangeTypesRecodeID Int 4 是 否 记录编号 Identity(1,1) ChangeTypeID Int 4 否 是 变动类型 参照 ChangeTypes 表主键 ChangeReason Varchar(500) 500 否 否 变动原因 ChangeStudentID Int 4 否 是 变动 学生 编号 参照 Students 表主键 ChangDate DateTime 8 否 否 变动时间 6.ChangeTypes(学籍变动类型表) 字段名 数据类型 长度 是否主键 是否外键 描述 备注 ChnageTypeID Int 4 是 否 学籍变 动类型 编号 Identity(1,) ChangeTypeName Varchar(50) 50 否 否 变动类型名称 7.PunishmentAwardsRecode(奖惩记录表) 字段名 数据类型 长度 是否主键 是否外键 描述 备注 PunishAwardsRecodeID Int 4 是 否 奖惩记录编号 小于0表示惩罚,大于0表示奖励 PunishAwardTypeID Int 4 否 是 奖惩记录类别 参照Punishment AwardTypes 表主键 StudentID Int 4 否 是 获奖学生编号 参照 Students 表主键 PunishAwardContent Varchar(500 500 否 否 获奖信息 PunishAwardReasion Varchar(500 500 否 否 获奖原因 PunishAwardDate DateTime 8 否 否 获奖时间 8.PunishmentAwardsTypes(奖惩记录类别表) 字段名 数据类型 长度 是否主键 是否外键 描述 备注 PunishAwardTypeID Int 4 是 否 奖惩记录类型编号 编号>0表示奖励,编号<0表示惩罚 PunishAwardTypeName Varchar(50) 50 否 否 奖惩记录类型名称 9.AdminInfo(管理员表) 字段名 数据类型 长度 是否主键 是否外键 描述 备注 AdminID Int 4 是 否 管理员编号 Identity(1,1) AdminName Varchar(50) 50 否 否 管理员名称 AdminPwd Varchar(50) 50 否 否 管理员密码 AdminLevel Varchar(50) 50 否 否 管理员权限 10.Students(学生表) 字段名 数据类型 长度 是否主键 是否外键 描述 备注 StudentID Int 4 是 否 学生编号 Identity(1,1) Name Varcahr(50) 50 否 否 学生名字 Gender Varcahr(2) 2 否 否 学生性别 ClassID Int 4 否 是 所属班级 参照 Classes 表主键 StudentNum Varcahr(50) 50 否 否 学号 EnterYear DateTime 8 否 否 入学时间 Origin Varcahr(50) 50 否 否 籍贯 Birthday DateTime 8 否 否 出生日期 PersionCard Varcahr(50) 50 否 否 身份证号 Address Varcahr(50) 50 否 否 家庭住址 FamilyTel Varcahr(50) 50 否 否 家庭电话 DromTel Varcahr(50) 50 否 否 寝室电话 Mobile Varcahr(50) 50 否 否 移动电话 Email Varcahr(50) 50 否 否 电子邮件 11.Teachers(班主任表) 字段名 数据类型 长度 是否主键 是否外键 描述 备注 TeacherID Int 4 是 否 班主任编号 Identity(1,1) TeacherName Varchar(50) 50 否 否 班主任姓名 TeacherTel Varchar(50) 50 否 否 班主任电话 TeacherGender Varchar(2) 2 否 否 班主任性别 Indate 8 8 否 否 入职日期 TeacherBirthday 8 8 否 否 出生年月 TeacherOrigin Varcahr(50) 50 否 否 班主任籍贯 12.Sepc_Subjects(专业科目关系表) 字段名 数据类型 长度 是否主键 是否外键 描述 备注 SepcID Int 4 是 否 专业编号 联合主键 SubjectID Int 4 是 否 科目编号 联合主键 13.Subjects(科目表) 字段名 数据类型 长度 是否主键 是否外键 描述 备注 SubjectID Int 4 是 否 科目编号 Identity(1,1) SubjectName Varchar(50) 50 否 否 科目名称 14.Examination(考务表) 字段名 数据类型 长度 是否主键 是否外键 描述 备注 ExaminationID Int 4 是 否 考试编号 Identity(1,1) StudentID Int 4 否 否 学生编号 SubjectID Int 4 否 否 科目编号 ExamScore Int 4 否 否 考试成绩 6) 界面设计(静态原型图,界面的统一风格…) 主窗体界面 添加学生信息 班级信息浏览 班级信息查询 组织机构设置 用户管理 编辑学生的基本信息 学生的属性 成绩查询 类型参数设计 添加班级 添加成绩 设置学科 用户登录 修改密码 7) 数据结构和算法设计具体实现 三、 编码计划 1. 人员配置(建立项目开发小组,分工,设定项目/模块负责人,制定小组章程) 编号 成员名称 团队开发任务 界面设计 技术支持 备注 001 彭小敏 界面设计 C# 界面负责人 002 张航 界面设计 C# 003 杨光远 代码编写 C# 004 刘晓朋 代码编写 C# 005 焦学军 代码编写 C# 代码编写负责人 006 李旭东 代码编写 C# 007 李旺盛 软件测试 C# 软件测试负责人 2. 根据总体设计中的分模块来进行编码工作分工。 代码编写分工 编号 成员名称 团队开发任务 技术支持 备注 003 杨光远 系统管理模块 C# 004 刘晓朋 学生信息管理模块 C# 005 焦学军 学生成绩管理模块 C# 006 李旭东 班级管理模块 C# 3. 项目开发进度计划。(画甘特图) 4. 项目开发采用的工具。(有哪些工具,用了哪些编程语言) 开发工具:VisualStudio 2008,SqlServer 2005 语言:C#,数据库语言 5. 编码规范(数据库命名规范, C#编程规范) 目标: l 安全:代码完成所需的功能之余,不要产生负作用,即要稳定可靠 l 易读:类、实例、成员变量、成员函数的命名一目了然。 l 美观:尽量同意项目组内人员的编程风格。 数据库命名规范: 1. 数据库文件名 数据文件命名采用系统名+_+文件类型,比如系统名为ComSys,则数据库文件名为ComSys_datebase.mdf,有的数据库文件有多个,比如SQL Server就有2个,一个是数据库文件,另一个是日志文件,那么他们的文件名分别为ComSys_datebase.mdf,ComSys_datebase.log。 2. 数据库对象命名规范 数据库对象包括表、视图(查询),存储过程(参数查询),函数,约束,对象名字有前缀和实际名字组成,长度不超30. (1).前缀 使用小写字母。如: 表: tb 视图 vi 存储过程 sp 函数 fn (2).实际名字 实际名字尽量描述实体内容,由单词或单词组合,每个单词的首字母大写,其他字母小写,不以数字和_开头。如: 表 User_Info 视图 User_List 存储过程 User_Delete (3).示例 合法的对象名字类似如下: 表 tb_User_Info tb_Message_Detail 视图 vi_Message_List 存储过程 sp_Message_Add 3. 表的命名 (1).表名由前缀和实际名字组成。前缀使用小写字母tb,表示表。 (2).如果表或者是字段的名称仅有一个单词,那么建议不使用缩写,而是用完整的单词。 (3).所有的存储值列表的表前面加上前缀Z 目的是将这些值列表类排序在数据库最后。 (4).所有的冗余类的命名(主要是累计表)前面加前缀X 冗余类是为了提高数据库效率,非规范化数据库的时候加入的字段或者表。 (5). 4. 字段的命名 5. 师徒的命名 6. 触发器的命名 7. 索引命名 8. 存储过程命名 9. 变量名 10. 命名中其他注意事项 数据库名:StudentDB 数据库表名:不要根据自己的爱好随意命名,要根据数据库设计图名词英文名命名 学院表:Colloges 专业表:Speciality 学制表:SpeYears 班级表:Classes 学籍变动记录表:ChangeTypeRecode 学籍变动类型表:ChangeTypes 奖惩记录表:PunishmentAwardsRecode 奖惩记录类别表:PunishmentAwardsTypes 管理员表:AdminInfo 学生表:Students 班主任表:Teachers 专业科目关系表:Sepc_Subjects 科目表:Subjects 考务表:Examination C#编码规范: Ø 命名原则 (1).所有的函数(变量/类/文件名)应该代表其实际的作用,应该使用有意义的单词或多个词组合,但不要使用人名,项目组名。 (2).所有的函数(变量/类名)一律使用英文。 (3).使用多个单词时不需要使用连线(如下划线),但对于全部大写的宏要连线 (4).多个词组合较长时,可以使用单词的缩写。 (5).不得使用非常相近的名字类表示不同含义的函数(变量/类)。 (6).命名时请考虑名字的唯一性和含义的准确性。 (7).使用项目组专用词汇来表达特定的含义(概念),不得把专用词汇挪用作它用 Ø 变量命名 原则:使用匈牙利命名法命名变量 (1).变量名一般由“类型修饰+代表变量含义的英文单词或单词缩写”等部分组成。 类型修饰(小写字母) n:int, LONG/long, s:short, u:UNIT, f:float b:bool, by:BYTE, ch:char, sz:char[], str:string (2).针对异常捕获过程中的Exception变量命名,在没有冲突的情况下,统一命名为e;如果有冲突的情况下,可以重复e,比如:ee。 Ø 函数的命名 (1).使用动宾词组表达函数实际所做的事。 (2).同名的函数(重载函数)在功能上应该完全相同,在参数差别也应一目了然。 (3).不得出现名字非常相近但功能不同的函数,如CreatePage1(),CreatePage2()等。 Ø 类命名 (1).名字应该能够标识事物的特征。 (2).名字尽量不使用缩写,除非他是众所周知的。 (3).名字可以是两个或三个单词组成,但通常不应多余三个。 (4).在名字中所有单词第一个字母大写,缩写都要大写。 (5).不要使用下划线字符( _ ). Ø 控件命名规则 控件命名=控件缩写前缀+“_”+变量名。 控件 Label TextBox Button ListBox DropdownList 等等 缩写 lb_xxx Tb_xxx Btn_xxx Lb_xxx Drd_xxx xxxx 6. 使用技术 该项目使用到的技术有: 1.面向对象编程 2.WinForm窗体设计 3.C#程序设计 四、测试计划 五、工程实施计划与维护 1. 配置图 2. 客户培训PPT 六、参考资料
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 教育专区 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服