一个软件工程设计示例3.详细设计说明书(共24页).doc
精选优质文档-倾情为你奉上密级: 文档编号: 第 版分册名称: 第 册/共 册校级(公共课)学生成绩管理系统详细设计说明书 1.00版中南大学 (某专业某年级某人)总页数正文附录生效日期: 编制:审核:批准:详细设计说明书4.1外部接口.221引言1.1编写目的为明确软件需求、安排项目规划与进度、组织软件开发与测试,撰写本文档。本文档供项目经理、设计人员、开发人员参考。1.2项目背景a. 项目的委托单位:中南大学 开发单位:李明 主管部门:中南大学信息学院b. 该软件系统与其他1. 本软件系统的名称:校级(公共课)学生成绩管理系统2. 该软件系统同其他系统或其他机构的基本的相互来往关系:该系统基于IE浏览器,版本为6.0及以上,支持windows系列平台。1.3定义定义关键词如下:HTTP Hyper Text Transfer Protocol.(超文本传输协议)IIS Internet 信息服务.HTML Hyper Text Markup Language(超文本标记语言).ASPActive Server Pages ODBC开放数据库连接ADO 活动存储对象IPO input & process & output(输入、处理、输出)CGI Common GateWay interface (公用网关接口技术)1.4参考资料 GB/T 11457:软件工程术语GB/T 8566 1995:计算机软件开发规范GB 8567:计算机软件产品开发文件编制指南国简标准-软件2总体设计2.1需求概述校级(公共课)学生成绩管理系统分3个模块:数据库模块、成绩录入模块和统计打印模块。数据库模块需要实现如建库、增加、插入、删除、修改、合并、查询等基本操作。成绩录入模块需要实现功能如下:录入方式(顺序、非顺序)自动查错、灵活的输入(权交互)对特殊情况的标志及处理、统计打印全校补考成绩。统计各任课老师所教各班的考试成绩(平均、分段)。统计打印需要实现功能如下:统计打印一个班考试成绩(上中、中下、下中、下末) 统计打印一个班汇总成绩:(上、下) 统计打印全校考试成绩(分段、平均),统计打印全校汇总 统计打印各班补考成绩。2.2软件结构系统构成图如下:1. 数据库模块:管理员建 立增加插入删除修改合并查询数据库2.成绩录入模块:自动查错非顺序灵活的输入(权交互)对特殊情况的标志及处理顺序录入方式3.打印统计模块:统计打印班考试成绩(上中、中下、下中、下末)班汇总成绩(上、下)全校考试成绩(分段、平均)全校汇总成绩各班补考成绩2.2.1登录模块:子模块名称子模块标识符父模块名称验证用户名密码L1登录模块判断用户类别并跳转L2登录模块2.2.2数据库模块子模块名称子模块标识符父模块名称添加操作添加课程 M1数据库模块添加教师添加学生添加管理员删除操作删除学生M2数据库模块删除管理员删除教师删除课程修改操作修改管理员信息M3数据库模块修改教师信息修改课程信息查看操作查看管理员信息M4数据库模块查看教师信息查看课程信息2.2.3成绩录入模块子模块名称子模块标识父模块名称个人信息操作T1数据库端学生成绩操作考试成绩统计T2数据库端给定平时成绩计算总成绩文档管理查看学生上交的文档T3数据库端2.2.4统计打印模块子模块名称子模块标识符父模块名称批改出成绩S1成绩录入端对成绩进行排序S2成绩录入端查看查看平均成绩S3成绩录入端查看总成绩流程图为:系统判别用户名和密码输入用户名和密码显示出错信息进入数据库模块进入成绩录入模块进入统计打印模块NOYES根据要做的操作判断进入哪个模块传输数据M1M2M3M4T1T2T3S1S2S33程序描述【逐个模块给出以下的说明:】3.1数据库模块3.1.1 功能用户在登录界面输入用户名和密码,系统验证是否正确,并根据用户名判断用户类别,并跳转到相应的子模块;3.1.2 性能 项目名称输入处理输出数据来源权限设置1管理员输入用户名和密码身份验证根据用户要进行的操作判定下一步进入的模块管理员输入管理员操作3.1.3全局数据变量 名称标识符类型使用方式访问方式描述数据库连接connSqlConnection产生数据库连接操作动作只读在Web.config中定义连接字符串数据库命令 cmd SqlCommand产生数据库操作动作读写在每个页面定义数据适配器 daSqlDataAdapter产生填充数据集的操作动作读写在每个页面定义数据集 dsDataSet 存放数据读写在每个页面定义数据表格 dgDataGrid 显示数据读写根据页面需要定义数据读取 DrDataReader 读取数据只读在每个页面定义3.1.4局部数据变量名称标识符类型使用方式访问方式描述标识 Tag Int仅使用只读标志函数过程中的状态, 根据页面需要定义标识Tag1Int仅使用只读标志函数过程中的状态, 根据页面需要定义数据视图dvDataView仅使用只读为数据表格提供数据,根据页面需要定义父结点IDintIdString仅使用只读根据页面需要定义链接地址urlTopicString仅使用只读根据页面需要定义树结点对象tmpNdTreeNode仅使用只读根据页面需要定义DropDownList对象mycontrol1DropDownList仅使用只读控制DataGrid中绑定的DropDownList根据页面需要定义DropDownList对象mycontrol2DropDownList仅使用只读控制DataGrid中绑定的DropDownList根据页面需要定义DropDownList对象mycontrol3DropDownList仅使用只读控制DataGrid中绑定的DropDownList根据页面需要定义用户名uidString仅使用只读DataGrid中绑定列中用户名的值根据页面需要定义课程CourseString仅使用只读DataGrid中绑定的DropDownList所选取课程的值,根据页面需要定义年级gradeString仅使用只读DataGrid中绑定的DropDownList所选取年级的值,根据页面需要定义班级ClassString仅使用只读DataGrid中绑定的DropDownList所选取班级的值,根据页面需要定义课程号numberString仅使用只读DataGrid中绑定列中课程号的值根据页面需要定义3.1.5存储过程名称使用参数描述ChooseIDuid从索引表中读取相应用户的信息delete_CourseTablenumber删除课程表中相应教师的信息delete_IndexTableuid从索引表中删除相应用户的信息insert_AdminTableuid password priority 从索引表中添加用户的信息insert_CourseTableCourseNumber CourseName 从课程表中添加课程信息insert_Studentuidpassword name priority grade Class 从索引表中添加学生信息nsert_StudentTableuid courseNO 从学生表,考试表中添加学生所学课程号insert_Teacheruidpassword name priority course grade Class 从索引表,教师表中添加教师信息searchnameuidpriority 从索引表中查询相应的用户信息search_AdminTablenameuid从索引表中查询相应的管理员信息search_CoursecourseNO name 从课程表中查询相应的课程信息search_Teacher nameuid从教师表,索引表中查询相应的教师信息select_AdminTable无从索引表中读取管理员的信息select_Alluid从索引表中读取相应用户的信息select_Course无从课程表中读取课程的信息select_Student 无从索引表中读取学生的信息select_Teacher 无从索引表,教师表中读取教师的信息update_Alluid1 uid2 password namesex grade Class 更新索引表中用户的信息update_CourseTablenumber name 更新课程表中课程的信息update_Studentuid grade Class 更新索引表中学生的信息update_Teacheruid course grade Class 更新教师表中教师的信息3.1.6关系图3.1.7 限制条件只有身份为管理员的用户可以进入 ,不能跳过登录页面直接进入。3.1.8 测试要点1、驱动模块和承接模块 2、前置条件3、测试用例 输入和预期结果3.2 成绩录入模块3.2.1 功能成绩录入模块需要实现功能如下:录入方式(顺序、非顺序)自动查错、灵活的输入(权交互)对特殊情况的标志及处理、统计打印全校补考成绩。统计各任课老师所教各班的考试成绩(平均、分段)。3.2.1 性能3.2.1.1 添加操作项目名称输入(全部由院系输入)处理输出数据来源权限设置1添加教师姓名,性别,用户名,密码权限将教师信息添加到数据库输出教师添加成功界面管理员输入教师能够更改自己的信息2添加课程课程号,课程名将课程信息添加到数据库输出课程信息添加成功界面管理员输入3添加学生姓名,性别,年级,班级将学生信息添加到数据库输出学生信息添加成功界面管理员输入4添加管理员姓名,性别,用户名,密码权限将管理员信息添加到数据库输出管理员信息添加成功界面管理员输入管理员可以修改自己的信息3.2.1.2 删除操作项目名称输入(全部由院系输入)处理输出数据来源权限设置1删除教师用户名将教师信息从数据库消除输出教师删除成功界面管理员输入管理员操作2删除课程课程号将课程信息从数据库消除输出课程删除成功界面管理员输入管理员操作3删除学生学号将学生信息删除到数据库输出学生信息删除成功界面管理员输入管理员操作4删除管理员用户名,密码将管理员信息删除到数据库输出管理员信息删除成功界面管理员输入管理员操作3.2.1.3 修改操作项目名称修改(全部由院系输入)处理输出数据来源权限设置1修改教师信息所教课程的课程名,年级,班级将修改后的教师信息保存到在数据库中输出教师信息修改成功界面管理员输入管理员操作,教师能够更改自己的信息1修改课程信息课程号,课程名将修改后的课程信息保存到在数据库中输出课程信息修改成功界面管理员输入管理员操作1修改管理员信息姓名,性别,用户名,密码将修改后的管理员信息保存到在数据库中输出管理员信息修改成功界面管理员输入管理员能够更改自己的信息3.2.1.4 查看操作项目名称查看(全部由院系输入)处理输出数据来源权限设置1查看教师信息在总表中查询按教师用户名查询教师基本信息;查看教师在数据库中的信息教师在数据库中的信息,除密码。管理员输入管理员操作1查看课程信息在课程表中查询按课程号查询查看课程在数据库中的信息输出课程号,课程名,所任老师,管理员输入管理员操作1查看管理员信息在总表中查询按用户名查询查看管理员在数据库中的信息管理员姓名,性别,用户名,权限管理员输入管理员操作3.2.3 全局数据变量 名称标识符类型使用方式访问方式描述数据库连接sqlConnectionSqlConnection产生数据库连接操作动作只读在Web.config中定义连接字符串数据库命令 sqlCommand SqlCommand产生数据库操作动作读写在每个页面定义数据适配器 sqlDataAdapterSqlDataAdapter产生填充数据集的操作动作读写在每个页面定义数据集 dataSetDataSet 存放数据读写在每个页面定义数据表格DataGridDataGrid 显示数据读写根据页面需要定义数据读取sqlDatareaderDataReader 读取数据只读在每个页面定义3.2.4局部数据变量名称标识符类型使用方式访问方式描述考试次数DropDownList HomeworkDropDownListDropDownList仅使用只读绑定学生考试次数课程DropDownListCourseDropDownListDropDownList仅使用只读绑定学生所能够选择的科目用户名UserIDString仅使用只读DataGrid中绑定列中用户名的值根据页面需要定义考试次数SelectedHomeworkString仅使用只读DataGrid中绑定的DropDownList所选取课程的值,根据页面需要定义年级gradeString仅使用只读DataGrid中绑定的DropDownList所选取年级的值,根据页面需要定义班级ClassString仅使用只读DataGrid中绑定的DropDownList所选取班级的值,根据页面需要定义课程号SelectedCourseString仅使用只读DataGrid中绑定列中课程号的值根据页面需要定义平时成绩比例DisciplinePercentageInt仅使用可读写平时成绩比例期末成绩比例FinalPercentageInt仅使用可读写期末成绩比例成绩(单次)HomeworkScoreInt仅使用可读写单次成绩3.2.5存储过程名称参数使用说明CheckCourseteacherid varchar(12)返回教师的课程CheckRightuserid varchar(12)返回教师所管辖的年级和班级Downloadhomework int, teacherid varchar(12), CourseNumber int更新学生考试情况DownloadStudenthomework int, teacherid varchar(12), studentid varchar(12), CourseNumber int检查单个学生考试情况SelectAllCourse返回所有课程SelectAllStudentHomeworkhomework int, userid varchar(12), CourseNumber int查询所有学生的某次考试成绩SelectAllStudentScoreuserid varchar(12), CourseNumber int返回所有学生的总成绩信息SelectCoursegrade int返回该年级的所有课程SelectDownloadteacherid varchar(12), homework int, CourseNumber int返回教师能够下载的所有考试的连接SelectStudentHomeworkuserid varchar(12), homework int, teacherid varchar(12), CourseNumber int返回某个学生的某次考试成绩UpdateStudentAverageuserid varchar(12), teacherid varchar(12)计算某个学生的平均成绩UpdateStudentHomework userid varchar(12), homework int, homeworkscore int, teacherid varchar(12), CourseNumber int给学生的某次考试打分UpdateStudentScoreuserid varchar(12), disciplinescore int, finalscore int, teacherid varchar(12)给学生评定平时成绩和期末成绩UpdateStudentTotalScorehomeworkper int, disciplineper int, finalper int, CourseNumber int, TeacherID varchar(12)计算学生总成绩3.2.6 限制条件只有身份为教师的用户可以进入,不能跳过登录界面直接进入3.2.7 测试要点1、驱动模块和承接模块 2、前置条件3、测试用例 输入和预期结果3.3 统计打印模块3.3.1 功能统计打印需要实现功能如下:统计打印一个班考试成绩(上中、中下、下中、下末) 统计打印一个班汇总成绩:(上、下) 统计打印全校考试成绩(分段、平均),统计打印全校汇总 统计打印各班补考成绩。3.3.2 性能3.3.2.1个人信息操作项目名称输入(全部由院系输入)处理输出数据来源权限设置1修改个人信息用户名,密码,姓名,性别,所授课程修改个人在数据中的信息输出教师修改成功界面教师输入教师操作3.3.2.2学生成绩批改操作项目名称输入(全部由院系输入)处理输出数据来源权限设置1学生考试计分考试分数批改学生相应的考试成绩输出考试批改成功界面教师输入教师操作3.3.2.3 学生成绩排序操作项目名称输入(全部由院系输入)处理输出数据来源权限设置1考试成绩统计考试分数老师评改出考试成绩输出考试成绩教师输入教师操作2给定平均成绩各科成绩分数电脑计算出平均成绩 = 某科考试成绩*相应学分然后再算出总合,然后再除以考试科目数输出平均考试成绩教师输入教师操作3.计算总成绩各科考试成绩电脑计算出总成绩 = 某科考试成绩*相应学分然后再算出总合输出总成绩系统输入教师操作3.3.2.4 文档管理项目名称输入(全部由院系输入)处理输出数据来源权限设置1查看学生成绩文档查看命令连接到相应科目的子文件夹输出所有学生文档教师输入教师操作3.3.3全局变量名称标识符类型使用方式访问方式描述数据库连接connSqlConnection产生数据库连接操作动作只读在Web.config中定义连接字符串数据库命令 cmd SqlCommand产生数据库操作动作读写在每个页面定义数据适配器 daSqlDataAdapter产生填充数据集的操作动作读写在每个页面定义数据集 dsDataSet 存放数据读写在每个页面定义数据表格 dgDataGrid 显示数据读写根据页面需要定义数据读取 DrDataReader 读取数据只读在每个页面定义Session对象Session"UserID"Session仅使用只读控制页面运行顺序3.3.4局部数据变量名称标识符类型使用方式访问方式描述DirectoryInfo对象DirectoryOperatorDirectoryInfo仅使用只读保存文件目录FileInput对象FileInputFileFiled仅使用只读上传文件DropDownList对象Dropdownlist1DropDownList仅使用只读控制DataGrid中绑定的DropDownList根据页面需要定义DropDownList对象Dropdownlist1DropDownList仅使用只读控制DataGrid中绑定的DropDownList根据页面需要定义用户名uidString仅使用只读DataGrid中绑定列中用户名的值根据页面需要定义课程CourseString仅使用只读DataGrid中绑定的DropDownList所选取课程的值,根据页面需要定义3.3.5 限制条件 在硬件中必须配有打印机,在排序前必须选择好排序的要求,如:是排出平均成绩的名次还是总成绩的名次。3.3.6 测试要点1、驱动模块和承接模块 2、前置条件3、测试用例 输入和预期结果4接口设计 4.1外部接口软件接口:系统利用Visual C#提供与SQL Server2000连接进行访问数据库的操作。 服务器程序可利用SQL Server2000提供的对数据库备份的操作实现对数据库的备份操作。 在网络软件接口方面,采取一种无差错的传输协议进行连接。硬件接口:输入:采用键盘鼠标以及Visual C#的标准输入/输出进行输入处理。输出:采用Visual C#的标准输入/输出或其它输出设备对输出进行处理。在统计打印模块还需要有打印机的参与。在网络传输部分,在网络硬件部分,为了实现高速传输,将使用高速ATM。4.2内部接口数据库模块的操作由管理员通过密码登陆,然后对数据库进行相应的操作。通过对数据库要进行的不同的操作来决定调用另外的哪个模块。模块间采用函数调用、参数传递、返回值的方式进行信息传递。5数据库设计本系统所选用的DBMS为SQL SERVER,系统主要是维护5张数据表:1. 学生信息表2. 成绩表3. 补考成绩表4. 平均成绩表5. 总成绩表专心-专注-专业