1、 厦门工学院 《软件项目管理》课程 综合实战作业 项目名称 网上选课项目 系 部 计算机科学与工程系 班 级 2013级软件5班 学 号 1303105010 姓 名 郭振城 计算机科学与工程系 2016年 4 月 29日 目录 一、 项目背景……...………......………………………………………….....................3 1、项目的提出原因...………......……
2、……………………………………............... 3 2、项目编写的目的………......………………………………………….................. 4 二、 项目建设内容……...………......………………………………………….............4 1、项目应用目标...………......………………………………………….................... 4 2、项目使用范围...………......………………………………………….................... 4 3、系统的实现工具及开发环境...………......…………………………
3、………........ 4 4、系统的功能需求分析…......…………………………………………....................4 5、总体设计过程…......…………………………………………............................... 5 5.1 功能模块设计…......………………………………………….......................... 5 5.2 系统的数据库设计…......………………………………………….................. 7 5.2.1 数据流图…......………………………………………….........
4、……. 7 5.2.1.1学生相关数据流图…......…………………………………………........7 5.2.1.2 管理员相关数据流图…......…………………………………………...8 5.2.2 系统实体-关系(E-R)图…......……………………………………........8 6、系统详细设计…......…………………………………………................................9 6.1 登录模块…......………………………………………….....................................9 6
5、2 学生选课模块…......…………………………………………............................10 6.3 教师模块…......………………………………………….....................................11 6.4 管理员模块…......………………………………………….................................11 三、 系统需求建模……...………......………………………………………….............12 1、用例图……...………......………………………………………………….
6、12 1.1 选课用例……...………......……………………………………………............12 1.2 管理课程用例……...………......………………………………………............12 2、活动图……...………......………………………………………………….............13 2.1 用户登录活动图……...………......……………………………………………14 2.2 学生选课活动图……...………......……………………………………………14 3、时序图……...
7、………......………………………………………………….………15 3.1 选课时序图……...………......…………………………………………………16 3.2 添加课程时序图……...………......……………………………………………16 4、状态图……...………......………………………………………………….………17 4.1 课程管理状态图……...………......……………………………….…………...17 5、协作图……...………......………………………………………………….………18 5.1 学生用户选课协作图…….
8、………......………………………………………18 5.2 添加课程协作图……...………......……………………………………………19 6、类图……...………......………………………………………………….…………19 6.1 类图……...………......…………………………………………………………20 7、组件图……...………......………………………………………………….………20 7.1 组件图……...………......………………………………………………………20 8、部署图……...………......…………………………………
9、……………….………20 8.1 部署图……...………......………………………………………………………21 四、 项目进度计划……...………......………………………………………………….21 1.1 甘特图……...………......………………………………………………...……….21 1.2 资源分布图……...………......……………………………………………………21 五、 项目风险……...………......…………………………………………........……….22 1、时间风险……...………......……………………………………………
10、………….22 2、技术风险……...………......……………………………………………………….22 3、应对措施……...………......……………………………………………………….22 六、 项目总结……...………......…………………………………………........……….23 一、项目背景 1、项目提出原因: 大学期间总会有公共选修课,以往的选课方法是随堂报名。这种方法虽然直接,但是造成选课的盲目性,有些课堂选课时人满为患,有的课堂无人问津。原因是传统的选课方法没有预见性,大家没有事先协调好.使用了网上选课系统以后,可以在开课前就网上选课,每个学生的课程在开课
11、前就确定好,即使所选课程的人满了,系统也会提示。不用浪费体力去选课,还可以使教学资源合理平均地分配。 网上选课系统是针对在校学生和教师使用,从学生的角度来说,由于学校教学制度的改革,传统的教学模式——学生按照学校安排好的课程上课——已经不能适应新现在大部分高等院校开始实行的学生的自主选课模式型的教学手段,如果仍然通过纸上的方式选课,一方面浪费的大量的人力、物理资源,另一方面浪费时间以及在人为的统计过程中不可避免出现的差错等情况。随着高校人数的增多,这种弊端会越来越多的暴露出来。因此,利用网络,只要学生只要在计算机前输入自己的个人选课信息即可完成原来几倍的作业量。从教师的角度来说,同样是节省了
12、大量的工作量,由于教师提出代课申请完成课程发布的工作较学生选课而言更加的复杂,因此通过网上进行课程发布能大幅度的减少教师的工作量,减少错误的发生几率。作为教师,也只要通过自己的电脑来操作即可,不用再奔波于教务处和办公室之间。 2、项目编写的目的 全面地描述了网上选课这一信息平台所实现的功能和性能,对各项业务提供详细、准确的描述。使软件开发的人员和用户对本系统中的业务流程及功能达成共识。通过本文档用户可以全面了解网上选课系统所要完成的任务。旺盛选课系统是一个提供给高校学生制定个人选课平台,学生可以在网上进行选课申请,并可查询个人选课计划以及选课申请情况。同时,教务人员负责维护课程相关信息,包
13、括课程名,开课院系,课程类别(必修,选修),授课教师,课时,上课时间,限选人数等。管理员可以查询选课进度,根据学生选课情况适当调整选课学生名单。 二、项目建设内容 1、项目应用目标 满足现代化的校园教学管理的要求。 2、项目适用范围 各大高校以及远程教育组织和教育机构。 3、系统的实现工具及开发环境 本系统具体是用的开发环境是visual studio 2010,这是一款专业网站开发编辑器。系统实现工具是SQL Sever 2008版来创建数据库。 4、系统的功能需求分析 对于本系统来说,主要包括三类用户的需求: (1)管理员需求,系统可以管理学生和教师的基本信息;
14、可以管理所开课程的信息;可以管理选课系统的基本信息。 (2)教师需求,通过登录查看和修改教师的个人信息,查询所教课程详单,课程结束后,可以为学过课程的学生给予相应的成绩。 (3)学生需求,登录系统查看选课通知和选课说明,修改个人信息,可以查看所开课程的列表和已选课程。查看该课程及开课教师信息等,课程结束后,登录系统可查看自己学习课程的成绩和已获的学分。 这个系统的三种用户,都通过浏览器访问系统。学生用户在这个系统中可以进行的操作不是很多,包括选课,取消选课,查询选课和修改信息等。但是因为学生用户很多,而且很可能同时选课,因此要增强系统的并发性,提高性能。管理员要进行课程信息、学生信息和教
15、师信息的录入及维护,可以进行的操作比较多,而且有比较大的风险性,因为对一些敏感操作要提醒进行确认;同时由于管理员很少,不用太多考虑并发性。 5、总体设计过程 5.1功能模块设计 系统共有三个大的模块,分别为学生使用的模块、管理员使用的模块和教师使用的模块。学生登录后可以进行选课、取消选课、查询已选课程和修改个人登录密码等操作。管理员登录后可以进行学生信息管理、教师信息管理、课程信息管理和新闻管理等操作。 学生模块是学生登录后使用的模块,有5个功能,分别是修改资料,选课操作,查询成绩,查看公告和意见留言。选课操作是这个系统最经常进行的操作,是系统的瓶颈,最能体现对系统性能的要求,提高该部
16、分的性能可以大大提高整个系统的性能。取消选课是将已经选上的课程取消,有些同学选错了课程可以用这个取消选课的功能来更正。修改个人资料和对系统留言,其系统对其结果进行保存提交,课程结束后登陆系统查看成绩和已获得的学分。 管理员模块为管理员所使用,包含学生信息管理、教师信息管理、课程信息管理,审查回复留言和发布系统公告五个子模块,前三个字模块分别可以进行学生信息、教师信息和课程信息的增删改查。审查回复留言操作主要是对学生和教师提出的意见反映给学校并给予回复。系统公告主要是关于学生的选课说明和注意事项,提醒教师的成绩的录入。 教师模块是教师登录后使用的模块,有5个功能,分别是修改个人资料,查看所授
17、课程,查询学生名单,查看系统公告和学生成绩录入。课程结束后教师根据系统公告录入学生们的成绩,当成绩达到60分系统就自动给予学生该课程的学分。总体设计布局如下: 学生选课系统 前台模块 后台模块 学生登录模块 教师登录模块 学生处理模块 教师处理模块 管理员处理模块 公共模块 管理员登录模块 完善的功能: (1)实现三种不同权限用户的登录(包括学生、教师、管理员)。 (2)根据管理员对系统的设置,动态的录入选课说明和系统公告,使用户时时了解信息。 (3)查询课程可以分类查询,必修课课程查询和选修课课程。 (4)必修课程学分达到30学
18、分时系统禁止再进行选课。 (5)选修课程学分达到4学分时系统禁止再进行选课。 (6)对于每一门课成每个学生只能选课一次。 功能模块的划分分析,本系统总体是两个大模块,一个是登录模块;另一个是信息处理模块,有三个登录身份,分别有不同的操作权限。详细功能模块如下图: 5.2 系统的数据库设计 数据库的设计是一个MIS系统中至关重要的部分,良好的数据库设计是一个系统成功设计并实现的先决条件。如果数据库设计得不好,系统可能会不稳定,而数据库的修改可能会造成整个系统都要推倒重新编写。可见数据库的设计是至关重要的。其中主要体现在用户对数据库的添加、删除、修改、
19、查询操作。这就要求数据库有良好的输入和输出效果。所以要考虑数据库的完整性,包括实体完整性,参考完整性和用户自定义完整性。 5.2.1 数据流图: 数据流图是一种图形化技术,它描绘信息流和数据从输入移动到输出过程中所经受的变换。在数据流图中没有任何具体的物理元素,它只是描绘信息在软件中流动和被处理的情况。因为数据流图是系统逻辑功能的图形表示,即使不是专业的计算机技术人员也容易理解它,所以是分析员与用户之间极好的通信工具。本系统的主要数据流图学生相关数据流图和管理员相关数据流图如下: 学生相关数据流图: 管理员相关数据流图: 5.2.2系统实体
20、关系(E-R)图 实体—关系(E-R)数据模型基于对现实世界的这样一种认识:现实世界由一组称为实体的基本对象以及这些对象间的联系构成。实体是现实世界中可区别于其他对象的一个“事件”或一个“物体”。 学生:{ 学号,学生姓名,性别,年龄,登录密码} 教师:{ 教师编号,教师姓名,教师职称,教师性别,登录密码} 课程:{ 课程编号,课程名称,学时,人数,上课时间,上课教室,备注信息} 因为每个课程只有一个确定的任课老师,所以把任课老师作为课程的一个属性来存储,也不会出现冗余的现象,而且比较简单,查询信息的时候也避免了大量的自然连接操作,可以提高系统的性能。 实体-关系(E-R)图:
21、 6、系统详细设计 6.1 登录模块 登入系统事件: 1. 学生进入登入界面 2. 系统提示学生输入账户,密码 3. 学生开始输入账户,密码 4. 系统验证 A1密码错误 5. 系统进入用户使用界面 6. 学生进行相关操作 7. 最后退出系统 其它事件: A1密码错误 系统提示密码错误,要求再次输入 6.2 学生选课模块 学生选课事件: 1. 学生进入登入界面 2. 系统提示学生输入账户,密码 3. 学生开始输入账户,密码 4. 系统验证 A1密码错误 5. 成功登入,进入选课界面 A2查看教师信息 A3查
22、看课程资源 6. 查看课程信息 7. 开始选课 8. 选课修改 9. 最后退出系统 其他事件流: A 密码错误 系统提示密码错误,要求重新输入密码 B 查看教师信息 选择查看教师信息 C 查看课程资源 选择查看课程资源 6.3 教师模块 教师提交成绩事件: 1. 成功登入选课系统 2. 系统检测是否已经提交过成绩 A 成绩已经提交 3. 教师开始填写学生成绩 4. 成绩填写完毕,点击提交成绩 5. 最后退出系统 其他事件: 1. 系统检测到成绩已经提交,提示已经提交成绩 2. 退出系统 6.4 管理员模块 添加课程事件流:
23、 1 管理员选择进入管理界面 2 系统提示输入管理员密码 3 管理员输入密码 4 系统验证密码 A 密码错误 5 进入管理界面,系统显示目前所建立的全部课程信息 6 管理员选择添加课程 7 系统提示输入新课程信息 8 管理员输入信息 9 系统验证是否和已有课程冲突 B 有冲突 10 系统添加新课程,提示课程添加成功。 11 系统重新进入管理主界面,显示所有课程 其它事件: A 密码错误 1 系统提示再次输入 2 用户确认 3 三次错误,拒绝再次访问 4 否则进入添加课程事件第5步 A 有冲突 1 系统提示冲突,显示冲突课程信息 2 用户重新输入
24、 3 继续验证直到无冲突 4 进入添加课程事件第10步 三、系统需求建模 1、用例图: 1.1 选课用例: 1.2管理课程用例: 2、活动图: 2.1 用户登录活动图: 2.2学生选课活动图: 3、时序图 3.1 添加课程时序图: 3.2 选课时序图: 4、状态图 4.1课程管理状态图 5、协作图 5.1学生用户选课协作图: 5.2 添加课程协作图: 6、类图 6.1 类: 7、组件图 7.1 组件图: 8、部署图 8.1 部署图:
25、 四、项目进度计划 1.1 甘特图: 1.2 资源分布表: 五、项目风险 1、 时间风险 无法合理安排任务可能导致时间延误 2、 技术风险 自己缺乏技术经验、、若要组队人员参差不齐且经验不足可能导致项目开发不能按期完成,且不能满足各个高校选课系统的需求、测试人员人数少且经验也不足,可能导致测试中软件出现错误,不能按期完成测试提交项目。 3、 应对措施 1.培训开发人员 2.找专家作指导 3.采取边开发边学习的方法,但必须在规定的时间内掌握技术。 六、项目总结 选课系统主要是对学生信息,成绩信息,教师信息,课程信息进行管理和维护的功能。通过该项目,让我重新对数据库、网页、软件项目生命各个周期、系统建模和项目管理有了深刻的理解。做的过程痛苦,画图,文字的描述,以及做的过程中出现的问题,不能解决时。或许书上有大量的资源,但却不能直接的运用,这就需要我们将理论与实践结合,也正是做项目设计的目的。 - 23 -






