本科生毕业设计管理系统.doc_第1页
本科生毕业设计管理系统.doc_第2页
本科生毕业设计管理系统.doc_第3页
本科生毕业设计管理系统.doc_第4页
本科生毕业设计管理系统.doc_第5页
已阅读5页,还剩23页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

设计说明目录1 概述11.1 编写目的11.2 参考资料12 需求概述13 结构设计13.1 总体设计13.2 功能分配33.2.1管理员功能33.2.2教师功能103.2.3学生功能133.2.4其他功能153.3 接口设计153.3.1 外部接口设计153.3.2 内部接口设计163.4 数据结构设计163.4.1 公共数据结构设计163.4.2 数据库设计163.4.3 数据结构同程序的关系193.5 出错处理设计194 构件(过程)设计204.1 数据库访问层详细设计204.1.1 总体功能说明204.1.2 关键类的算法204.2 业务逻辑层详细设计224.2.1 总体功能说明224.2.2 关键类的算法234.3 用户界面层详细设计254.3.1 总体功能说明254.3.2 关键类的算法261 概述1.1 编写目的本文档的编写目的是:详细定义本科生毕业设计管理系统软件的总体功能;给出系统的结构设计和过程设计,作为程序编写的依据。1.2 参考资料a.项目来源为了尽快满足学校教学管理人员、教师和学生对高效的毕业设计管理信息系统的迫切需求,北京信息工程学院决定开发一套本科生毕业设计管理系统,对毕业设计的过程和成果实施科学管理和利用,并通过校园网为广大师生提供信息服务。b.引用资料1.北京信息工程学院. 毕业设计(论文)工作手册2.教育部. 普通高等学校本科教学工作水平评估方案(试行)3.飞鱼小组. 本科生毕业设计管理系统需求说明书2 需求概述本科生毕业设计管理系统是一套在校园网上运行的教学管理软件,本着“谁产生数据谁负责采集”的原则,教师和学生是该系统的主要用户,因此软件应简洁,易于使用。此外用户较多,安全性的设计要完备,应符合以下要求:1. 除查看通知之外,其他所有操作均要求用户先登录,验证身份后,根据不同身份显示的页面也应不同;2. 教师登录后只能维护指导教师或督导教师为本人的那些毕业设计课题的信息,不得更改其他教师的课题信息;3. 学生登录只能维护本课题的成果或浏览任务书、评审成绩等信息;4. 校外课题的维护由所分配的督导教师负责;5. 对于查过管理期限的维护要求,教师和学生没有获取授权不可执行有关操作,只有得到管理员授权后才可进行,授权在执行完操作之后自动收回;3 结构设计3.1 总体设计本系统采用面向对象设计方法,设计方案主要采用类图和顺序图进行描述。3.2 功能分配3.2.1管理员功能1、维护教师部门 管理员要负责登记教师所在的部门,本项目仅考虑一级部门设置。根据需要可能执行的操作包括:创建新部门、修改部门信息和删除部门。维护教师部门2、维护教师信息 管理员要负责登记教师的相关信息,包括编号、姓名、所在的部门、职称等,根据需要可能执行的操作包括:添加教师、修改教师信息和删除教师。维护教师信息3、维护学生班级 管理员要负责登记所有班级。根据需要可能执行的操作包括:创建新班级、修改班级信息和删除班机。维护学生班级4、维护学生信息 管理员要负责登记所有参加毕业设计的学生信息,包括编号、姓名、所在班级、联系方式等。根据需要可能执行的操作包括:添加学生、修改学生信息和删除学生。维护学生信息5、登记校外课题 管理员要负责登记在校外完成毕业设计的课题资料。在登记前,应将所设计的单位信息和教师信息提前登记到系统中。可能执行的操作包括:增加校外课题、修改校外课题信息和删除课题。(校内课题由指导教师负责维护)登记校外课题6、为学生分配教师管理员要负责为每个学生分配一个校内的负责教师,一旦分配好教师,后期所有事务均由负责教师承担,包括课题任务书的书写,周志检查、教师评语书写等。如果是校外课题的学生,在登记校外课题时已完成分配,所以此处的分配针对所有校内毕设的学生。为学生分配教师7、维护答辩小组管理员要负责组建答辩小组,每个小组设置一位组长和多名组员。可能的操作是增加答辩小组、修改和删除,对某个答辩小组添加教师或删除教师等。维护答辩小组8、学生答辩分组管理员要负责为每个答辩小组分配若干学生,答辩小组成员中应不包含学生的指导教师和督导教师。学生答辩分组9、发布通知管理员要负责按时发布和毕设管理流程有关的通知,学生和教师可以随时查看最新通知,通知允许包含附件文件。修改、删除事件流略。发布通知3.2.2教师功能1、教师登记毕设课题 管理员要负责登记教师所在的部门,本项目仅考虑一级部门设置。根据需要可能执行的操作包括:创建新课题、修改课题信息、删除课题。其中修改课题信息可以根据毕设流程的需要实现提交课题任务书、分配课题学生等功能。登记课题2、教师签写周志教师可以浏览本人所带的所有课题,并可检查每个课题学生所填写的周志,对每周的完成情况填写进度情况,设计参考了计算机毕业设计网 的资料。签写周志3、教师检查毕设成果 教师可以浏览名下的所有课题,可以查看每个课题学生已提交哪些文档,已提交的文档可以下载到本地。检查毕设成果4、指导教师评审教师可以浏览名下的所有课题,对课题填写评审意见和分数。指导教师评审5、评阅教师评审教师可以浏览名下的所有需要评阅的课题,对课题填写评审意见和分数,其中校外课题的评阅教师自动设为课题的督导教师。评阅教师评审6、分配评阅教师作为答辩小组组长的教师可以浏览分配到该小组的所有课题和所有答辩小组成员教师,对每个课题分配一个小组内的教师作为评阅教师,其中校外课题的评阅教师自动设为课题的督导教师。分配评阅教师7、记录答辩成绩作为答辩小组组长的教师可以浏览分配到该小组的所有课题,在答辩之后填写每个课题的答辩成绩。记录答辩成绩3.2.3学生功能1、学生选择教师 教师提交课题之后,学生可以自愿选择导师,每个学生可以选择的志愿数在可以从系统设置参数中获取,志愿不允许重复教师。选择指导教师2、学生书写周志 毕设开始之后,学生应每周提交本周计划,教师对计划完成情况进行检查,书写检查结果。可能执行的操作包括新周志的增加,更改已有内容,以及删除,其中更改和删除在教师签写之后不允许执行。下面的序列图仅绘制了增加的事件流,其它事件流略。书写周志3、学生提交文档 学生应按照要求提交开题报告、论文、工作成果(如源程序、有关的完整报告等),文档提交后,所有文件上传到服务器指定目录下存放。提交文档3.2.4其他功能1、查看通知 系统的所有用户都可以参看毕设有关通知。2、修改密码 系统的所有用户都可以修改自己的登录密码。3.3 接口设计3.3.1 外部接口设计本系统设计为网页方式实现校园网内访问,所以用户界面统一为超文本形式,要求客户端使用ie6.0以上版本。本系统和其它外部系统之间无接口。3.3.2 内部接口设计本系统内部采用分层设计,界面层依赖于业务逻辑层,业务逻辑层依赖于数据库访问层。界面层通过使用业务逻辑层对象来存取数据,一部分采用数据绑定方式实现,另一部分直接使用业务逻辑对象实现。业务逻辑层和数据库访问层使用datatable对象来存取数据。3.4 数据结构设计3.4.1 公共数据结构设计本项目中所使用的全局数据结构主要是session对象和settingbll对象。l session对象:用于存放页面之间共享的数据,比如用户登录信息。l settingbll对象:用于存放整个系统有关的参数设置,比如年度信息。3.4.2 数据库设计本系统数据库表结构直接由类导出,类图如下所示:部门表:create table dbo.department(departmentno nvarchar(10) collate chinese_prc_ci_as not null,departmentname nvarchar(10) collate chinese_prc_ci_as null,departmenttype nvarchar(10) collate chinese_prc_ci_as null, constraint pk_department primary key clustered 教师职称表:create table dbo.title(titleno nvarchar(10) collate chinese_prc_ci_as not null,titlename nvarchar(50) collate chinese_prc_ci_as not null, constraint pk_title primary key clustered 教师表:create table dbo.teacher(username nvarchar(20) collate chinese_prc_ci_as not null,password nvarchar(20) collate chinese_prc_ci_as null,fullname nvarchar(20) collate chinese_prc_ci_as null,departmentno nvarchar(10) collate chinese_prc_ci_as null,email nvarchar(50) collate chinese_prc_ci_as null,phone nvarchar(20) collate chinese_prc_ci_as null,mobile nvarchar(15) collate chinese_prc_ci_as null,title nvarchar(10) collate chinese_prc_ci_as null,role nvarchar(10) collate chinese_prc_ci_as null, constraint pk_teacher primary key clustered 班级表:create table dbo.class(classno nvarchar(10) collate chinese_prc_ci_as not null,classtutor nvarchar(10) collate chinese_prc_ci_as null, constraint pk_class primary key clustered 学生表:create table dbo.student(username nvarchar(20) collate chinese_prc_ci_as not null,password nvarchar(20) collate chinese_prc_ci_as null,fullname nvarchar(20) collate chinese_prc_ci_as null,classno nvarchar(10) collate chinese_prc_ci_as null,email nvarchar(50) collate chinese_prc_ci_as null,phone nvarchar(20) collate chinese_prc_ci_as null,mobile nvarchar(15) collate chinese_prc_ci_as null,teacherno nvarchar(20) collate chinese_prc_ci_as null, constraint pk_student primary key clustered 学生志愿表:create table dbo.studentassignment(assignmentid int identity(1,1) not null,studentusername nvarchar(20) collate chinese_prc_ci_as not null,teacherusername nvarchar(20) collate chinese_prc_ci_as not null,year nvarchar(10) collate chinese_prc_ci_as not null, constraint pk_studentassignment primary key clustered 毕设课题表create table dbo.project(projectno int identity(1,1) not null,projectname nvarchar(100) collate chinese_prc_ci_as null,projecttype nvarchar(10) collate chinese_prc_ci_as null,year nvarchar(10) collate chinese_prc_ci_as null,content nvarchar(500) collate chinese_prc_ci_as null,result nvarchar(500) collate chinese_prc_ci_as null,demand nvarchar(500) collate chinese_prc_ci_as null,research nvarchar(500) collate chinese_prc_ci_as null,reference nvarchar(500) collate chinese_prc_ci_as null,equipment nvarchar(500) collate chinese_prc_ci_as null,plan nvarchar(500) collate chinese_prc_ci_as null,director nvarchar(20) collate chinese_prc_ci_as null,supervisor nvarchar(20) collate chinese_prc_ci_as null,student nvarchar(20) collate chinese_prc_ci_as null,directorcomment nvarchar(500) collate chinese_prc_ci_as null,directorscore nvarchar(10) collate chinese_prc_ci_as null,directorcommentdate datetime null,inspectorcomment nvarchar(500) collate chinese_prc_ci_as null,inspectorscore nvarchar(10) collate chinese_prc_ci_as null,inspectorcommentdate datetime null,inspectorteacherno nvarchar(20) collate chinese_prc_ci_as null,answercomment nvarchar(500) collate chinese_prc_ci_as null,answerscore nvarchar(10) collate chinese_prc_ci_as null,answercommentdate datetime null,answerteacherno nvarchar(20) collate chinese_prc_ci_as null,answerteamno int null, constraint pk_project primary key clustered 毕设课题类型表create table dbo.projecttype(projecttypeno nvarchar(10) collate chinese_prc_ci_as not null,projecttypename nvarchar(50) collate chinese_prc_ci_as null, constraint pk_projecttype primary key clustered 毕设周志表:create table dbo.weeklog(logno int identity(1,1) not null,weeknum int null,studentplan nvarchar(100) collate chinese_prc_ci_as null,teachercheck nvarchar(100) collate chinese_prc_ci_as null,logdate datetime null,checkdate datetime null,projectno int null, constraint pk_weeklog primary key clustered 毕设文档表create table dbo.document(documentno int identity(1,1) not null,documenttype nvarchar(50) collate chinese_prc_ci_as null,documentdate datetime null,documentpath nvarchar(500) collate chinese_prc_ci_as null,projectno int null,memo nvarchar(100) collate chinese_prc_ci_as null, constraint pk_document primary key clustered 答辩小组表:create table dbo.answerteam(answerteamno int identity(1,1) not null,year nvarchar(10) collate chinese_prc_ci_as null,teamno nvarchar(20) collate chinese_prc_ci_as null,teamleader nvarchar(20) collate chinese_prc_ci_as null, constraint pk_answerteam primary key clustered 答辩小组成员表:create table dbo.answerteammember(memberno int identity(1,1) not null,answerteamno int null,teacherno nvarchar(20) collate chinese_prc_ci_as null, constraint pk_answerteammember primary key clustered 通知表create table dbo.notice(noticeno int identity(1,1) not null,noticename nvarchar(50) collate chinese_prc_ci_as null,content nvarchar(1000) collate chinese_prc_ci_as null,noticedate datetime null,attachmentpath nvarchar(500) collate chinese_prc_ci_as null, constraint pk_notice primary key clustered 系统设置表:create table dbo.setting(name nvarchar(50) collate chinese_prc_ci_as not null,value nvarchar(50) collate chinese_prc_ci_as null, constraint pk_setting primary key clustered 3.4.3 数据结构同程序的关系本系统采用严格的面向对象方法完成设计和编程,组件化程度高,即使是公共数据结构也是作为对象来处理,对象的数据直接通过数据库的表来存取,所以系统个个构件之间的耦合度非常低,公共数据结构对于程序基本无影响。3.5 出错处理设计利用异常的定义和捕获完成出错处理,在程序捕获异常后,输出该异常的描述信息。但由于时间关系,本项目没有实现全部异常的定义和捕获。1. 为本项目设计一个公共的异常类baseexception,所有自定义的异常均从此异常类继承。2. baseexception类中,可以记录发生的异常。3. 所有自定义异常均在定义时把出错信息放到类内部,页面捕获异常后,直接以message提示客户。4. 定义了一个通用错误处理页面commonerror.aspx。 4 构件(过程)设计本项目按照分层模式对系统进行设计,图示如下:以下各节根据分层架构的层次对系统整体组件的设计进行描述。4.1 数据库访问层详细设计4.1.1 总体功能说明本层类及其模块主要用于实现数据库各表的增删改查等操作。4.1.2 关键类的算法本层有关类通过设计数据集对象创建相关的操作,如针对表的各种数据库查询、删除和更新操作,设置过程中需要制定有关的数据库sql命令和相应操作名称,最终源代码由vs2005自动创建。下面以毕设课题表project为例,说明有关的数据库操作类及其方法。1. projecttableadapter类此类完成数据库有关增删改查操作。有关方法如下所示:2. projectdatatable类此类对应于数据库project表,用于保存所有表格数据。有关方法如下:3. projectdatarow类此类对应于数据库project表中的行,其中属性对应于数据库中的字段列,包含的方法主要有两类,一类用于判断列值是否为空,一类用于设置列值。4.2 业务逻辑层详细设计4.2.1 总体功能说明本层类及其模块封装所有业务对象及业务处理规则,处理的数据通过数据库访问层的对应类写入到数据库中,或通过数据库访问类获取必要的数据。业务逻辑层的实体类如下图所示:4.2.2 关键类的算法下面以projectbll类为例来描述其具体方法和算法。l addproject方法 功能描述增加一个新课题 输入projectno, projectname, projecttype, year, content, result, demand, research, reference, equipment, plan, director, supervisor, student 输出增加是否成功的标志 处理过程1. 创建一个projectdatatable表对象;2. 使用projectdatatable表对象新建projectrow行对象;3. 设置行对象的所有属性值;4. 将行对象添加到表对象的行集合中;5. 使用projecttableadapter对象将表对象更新到数据库中;6. 如果更新数量返回值为1,则返回true,否则返回false。l getprojects方法 功能描述取出全部课题信息 输入无 输出projectdatatable表对象 处理过程1. 使用projecttableadapter对象的getprojects方法查询数据;2. 返回查询结果。l getprojectbyprojectno方法 功能描述取出指定课题号的课题信息输入projectno 输出projectdatatable表对象 处理过程1. 使用projecttableadapter对象的getprojectsbyprojectno方法查询数据;2. 返回查询结果。l getprojectswithnoanswerteam方法 功能描述取出未分配答辩小组的课题 输入year 输出projectdatatable表对象 处理过程1. 使用projecttableadapter对象的getprojectswithnoanswerteam方法查询未分配答辩小组的课题信息;2. 返回查询结果。l updateproject方法 功能描述更新指定课题号的课题信息 输入projectno, projectname, projecttype, year, content, result, demand, research, reference, equipment, plan, director, supervisor, student 输出更新是否成功的标志 处理过程1. 使用projecttableadapter对象的getprojectbyprojectno方法查询课题;2. 查询结果返回创建一个projectdatatable表对象;3. 如果projectdatatable表对象的行数小于1,返回false;4. 否则,利用输入的值修改projectdatatable表对象的第一行的所有属性;5. 使用projecttableadapter对象将表对象更新到数据库中;6. 如果更新数量返回值为1,则返回true,否则返回false。l updateanswercomment方法 功能描述更新指定课题号的课题答辩成绩和评语 输入projectno, answercomment, answerscore, answercommentdate 输出更新是否成功的标志 处理过程1. 使用projecttableadapter对象的getprojectbyprojectno方法查询课题;2. 查询结果返回创建一个projectdatatable表对象;3. 如果projectdatatable表对象的行数小于1,返回false;4. 否则,利用输入的answercomment, answerscore, answercommentdate修改projectdatatable表对象行的对应属性;5. 使用projecttableadapter对象将表对象更新到数据库中;6. 如果更新数量返回值为1,则返回true,否则返回false。l updatedirectorcomment方法 功能描述更新指定课题号的课题指导教师评语 输入projectno, directorcomment, directorscore, directorcommentdate 输出更新是否成功的标志 处理过程1. 使用projecttableadapter对象的getprojectbyprojectno方法查询课题;2. 查询结果返回创建一个projectdatatable表对象;3. 如果projectdatatable表对象的行数小于1,返回false;4. 否则,利用输入的directorcomment, directorscore, directorcommentdate修改projectdatatable表对象行的对应属性;5. 使用projecttableadapter对

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论