1、软件工程课程设计报告( 2014 年度 第一学期)课程名称: 软件工程课程设计 题 目: 作业提交系统 院 系: 计算机与信息技术学院班 级: 软件工程 组 号: 组 长: 赵佳 组 员: 史鸿羽,尚佩,王前 指导教师: 杨陟卓 设计周数: 4 周 小组成绩: 日期:2014 年 09 月 18 日软件工程课程设计任务书一、目的、要求通过软件开发的实践训练,进一步掌握软件工程的方法和技术,提高软件开发的实际能力,培养工程设计能力和综合分析、解决问题的能力。具体如下: 学习和实践在分析和设计计算机应用系统所需要的知识,包括面向对象的系统分析与设计,编码和测试方面的知识; 熟悉自动化的软件开发工具
2、 Rational Rose 2003 等,并将其运用于软件开发的全过程; 进一步加强和提高软件工程文档的编写能力; 培养协作能力和团队精神。二、任务分配任务 负责人 参与人 备注需求分析 赵 佳 史鸿羽 二人共同讨论课题,系统功能,粗略分析用例总体设计 史鸿羽 赵 佳 参与人负责 E-R 图,总体结构设计图纠错详细设计 王 前 无 根据需求分析制作流程图系统实现与测试 尚 佩 无 实现 Java 代码在 eclipse 上的实现三、设计成果要求 建立系统分析与设计模型; 初步建立系统原型,实现关键的功能; 编写课程设计报告。指导教师: 杨陟卓 日 期: 2014 年 9 月 18 日软件工程
3、课程设计成绩评定一、 指导教师评语二、 成绩指导教师: 杨陟卓 日 期: 2014 年 9 月 18 日学号 姓名 成绩 备注2012242115 赵佳2012242067 史鸿羽2012242065 尚佩2012242078 王前摘要:作业提交系统是基于 b/s 结构,在 tomcat 平台上使用 JSP 与 Microsoft SQL 2005开发的,主要目的是解决学校机房管理上机作业的问题。因为传统的对学生作业管理是在服务器上建立一个 FTP 服务器,然后对学生用户设置一个专门的帐号,只允许对作业进行上传/下载,然后学生将作业上传到服务器里面对应的班级文件夹下面。这种传统的方法可能导致学
4、生之间相互抄袭,因为上传的作业别的同学也可以看到,而且局域网共享本身就存在很大的安全隐患,很多病毒都是通过共享传染到其他机器,影响整个机房的正常运行,传统方式无法解决的问题有:不能防止学生乱上传作业,不能防止学生找错班级文件夹,不能对作业进行限制如大小,类型,上传时间等,教师布置作业要通过黑板写字,教师打分之后只能记在本子上,不能通过局域网发布出来让学生看,教师下载作业必须到服务器上拷贝。而这套系统正是出于这个目的,为了解决上面的问题而设计的。系统对于复杂的问题都采用程序的方式解决了。系统分了管理员、教师、学生用户,管理员须进行的操作是录入,删除,修改,增加学生和教师的相关信息。而教师只需要发
5、布作业,对作业的要求进行限制,不必去服务器上建文件夹来存放你的作业,并且程序自动创建目录。下载作业也只须要点一下就会将作业全部打包下载回来,在局域网内的任何一台计算机都可以进行各种操作。学生则再也不会将作业上传错,上传到别的班级中,也不允许上传非法的文件,对一次未上传完成的作业也可以先暂存后下节课再下载回来接着做。关键字:作业提交 数据库 管理 JSP1 课程设计的目的与要求通过软件开发的实践训练,进一步掌握软件工程的方法和技术,提高软件开发的实际能力,培养工程设计能力和综合分析、解决问题的能力。具体如下:(1) 学习和实践在分析和设计计算机应用系统所需要的知识,包括面向对象的系统分析与设计,
6、编码和测试方面的知识;(2) 熟悉自动化的软件开发工具 Rational Rose 2003,并将其运用于软件开发的全过程;(3) 进一步加强和提高软件工程文档的编写能力;(4) 培养协作能力和团队精神。2 设计正文2.1 概述2. 1.1 课题题目:作业提交系统2. 1.2 系统的主要目标本系统目标是实现作业提交系统所需的各种基本功能,包括:(1)学生用户的主要需求功能是登陆作业系统公告界面;登录密码可以自己修改;查看教师发布的作业公告,以及管理员发布的系统公告;然后完成作业后提交;如果完不成可以先暂存;遇到不懂的可以提出相关疑问;待老师批改完后,可以查看自己的成绩;也可以查看个人资料; (
7、2)教师用户主要功能是登陆作业系统公告界面;登录密码可以自己修改;发布作业公告;查看系统公告;待学生完成后进行批改;对学生作业进行点评;然后录入分数;对学生提出的疑问进行解答;也可以查看个人资料; (3)管理员主要功能是登陆作业系统管理界面;登录密码可以自己修改;管理教师和学生的个人信息,包括录入,删除,修改;发布系统公告;还有作业信息的管理,即当作业到一定量的时候,进行必要的删除;可以管理其他管理员;还可以注销其他用户,包括注销教师,学生,以及管理员;也可以查看个人资料;2. 1.3 系统的开发环境及运行环境:操作系统: Windows 7建模工具: Rational Rose 2003数据
8、库系统:SQL Server2005运行环境: JDK1.6.0_43开发工具: eclipse3.2Web 服务器:TOMCAT6.0 平台2.2 系统需求分析学生选课系统主要满足来自三方面的需求,这三个方面分别是学生用户、教师用户和管理员用户,也即是三类用户角色。(1)学生用户的主要需求功能是登陆作业系统公告界面;登录密码可以自己修改;查看教师发布的作业公告,以及管理员发布的系统公告;然后完成作业后提交;如果完不成可以先暂存;遇到不懂的可以提出相关疑问;待老师批改完后,可以查看自己的成绩;也可以查看个人资料; (2)教师用户主要功能是登陆作业系统公告界面;登录密码可以自己修改;发布作业公告
9、;查看系统公告;待学生完成后进行批改;对学生作业进行点评;然后录入分数;对学生提出的疑问进行解答;也可以查看个人资料; (3)管理员主要功能是登陆作业系统管理界面;登录密码可以自己修改;管理教师和学生的个人资料,包括录入,删除,修改;发布系统公告;还有作业信息的管理,即当作业到一定量的时候,进行必要的删除;可以管理其他管理员;还可以注销其他用户,包括注销教师,学生,以及管理员;也可以查看个人资料;本系统将管理员用户、教师用户、学生用户的身份及权限进行严格的划分,让管理员拥有最高权限,可以查看、维护系统中的所有信息,如添加学生,添加教师,添加管理员,注销用户等;让教师拥有下发作业,以及提交学生成
10、绩的权限;让学生拥有对作业进行提交和暂存的权限;而修改密码模块的权限每个用户都可拥有,用以修改自己的密码信息。通过进行严格的权限划分,可以更好地进行管理,也可更好地保护用户信息安全。2.2.1. 用例图图 2.2.1 作业提交系统用例图用例图说明:(1)系统的外部角色有:学生用户、教师用户和管理员。(2)系统主要用例的文档描述:学生管理用例:学生用户可见的功能,包含查看公告,作答作业,提出疑问,查看成绩功能。教师管理用例:教师用户可见的功能,包含了发布作业公告,批改学生作业,提交成绩和解答疑问功能。信息管理用例:管理员可见的功能,这个用例进一步分为三个用例:学生信息管理用例、教师信息管理用例和
11、管理员信息管理用例。学生信息管理用例:信息管理用例可见的功能,实现学生信息的管理功能,包含了添加学生、修改学生信息和注销学生三个用例。教师信息管理用例:信息管理用例可见的功能,实现教师信息的管理功能,包含了添加教师、修改教师信息和注销教师三个用例。修改密码用例:所有用户都可见的功能,用于修改用户的密码信息(3)系统关键用例的正常事件流图和异常事件流图表 2-1 修改密码用例的正常事件流图和异常事件流图用例名称 修改密码参与者 管理员、教师、学生描述 管理员、教师、学生用户进行密码修改启动 单击“ 修改密码 ”链接前置条件 用户成功登录主事件流用户 系统1.进入用户修改密码界面,输入旧密码一次,
12、新密码两次2.系统检查密码格式是否相符3.系统检查旧密码是否正确4.如果正确,进行密码修改,转入密码修改成功界面异常流异常流 密码检查未通过系统 返回密码修改界面,提示旧密码不正确,新密码格式不符,两次不同等密码异常 用户旧密码错误表 2-2 提交成绩用例的正常事件流图和异常事件流图用例名称 提交成绩用例参与者 教师用户描述 提交选自己开设课程的学生的成绩启动 进入提交成绩界面前置条件 用户成功登录后置条件 尚未提交过成绩主事件流用户 系统1.单击提交成绩2.系统提交成绩页面3.填写学生成绩,单击提交成绩 5.更新学生成绩,提示提交成功异常流异常流 用户已经提交过该门课程成绩系统 提示该课程成
13、绩已提交,不能再次提交2.2.2. 类图图 2.2.2 作业提交系统类图类图说明:(1)BaseUser 类是一个系统角色用户的基类,主要功能有两个:modifyPWD() 用于修改用户的密码;loginCheck() 用于用户登录验证。(2)Admin 类继承自 BaseUser 类。主要功能有:Adminregis() 用于管理员登陆Adminlog() 用于注销学生和教师信息Adminmanage() 用于学生和教师信息管理Adminrelease() 用于发布公告Adminoperation() 用于作业管理Adminadmin() 用于管理管理员(3)Student 类继承自 Bas
14、eUser 类,主要功能有:Studentregis() 用于学生登录;Studentlookann() 用于学生查看公告;Studentsubmit() 用于学生提交作业;Studettempo() 用于学生作业暂存;Studetquiz() 用于学生提问Studentlookper() 用于学生查看成绩(4)Teacher 类继承自 BaseUser 类,主要功能有:Teacherregis() 用于教师登陆;Teacherrelease() 用于发布作业公告;Teachercorrect() 用于教师批改作业;Teachersubmit() 用于教师提交成绩Teacherremark() 用于教师点评作业;Teacheranswer() 用于教师解答学生疑问(5)task 类是一个作业类,主要功能有:Taskdepart()用于区分作业科目;Taskperformance()用于表明作业成绩;Taskremark()用于点评作业;(6)Submit 类是一个提交类,主要功能有:Studentsubmit() 用于学生提交作业;Teachersubmit() 用于教师提交成绩;2.2.3. 时序图(1)管理员修改教师信息图 2.2.3.1 管理员修改教师信息时序图(2)学生用户作答作业图 2.2.3.2 学生用户作答作业时序图(3)教师用户提交成绩