软件分析实验报告.doc
《软件分析实验报告.doc》由会员分享,可在线阅读,更多相关《软件分析实验报告.doc(14页珍藏版)》请在冰点文库上搜索。
软件工程课程设程课程设计报告(学生
计算机科学与技术系
实验报告
专业名称计算机科学与技术系
课程名称软件分析与设计
项目名称网上选课系统
班级12计本(3)班
学号1204013027
姓名程浩帆
同组人员
实验日期2014年11月6日
软件分析与设计UML实验报告
一、引言:
本系统实现学生选课的基本功能,包括学生退选课,查看自己的选课信息;教师查看选课学生的信息,提交成绩;管理员添加学生、管理学生、管理成绩、添加教师、管理教师和管理课程等。
系统利用JavaSE技术进行开发,实现学生选课的动态管理,使得对信息的管理更加及时、高效,提高了效率。
同时还对系统的开发原理、功能特点和设计方案进行了介绍。
关键词:
学生选课数据库管理JavaSE
二、目的与要求
通过软件开发的实践训练,进一步掌握软件分析方法和技术,提高软件开发的实际分析能力,培养工程设计能力和综合分析、解决问题的能力。
具体如下:
1.学习和实践在分析和设计计算机应用系统所需要的知识,包括面向对象的系统分析与设计,编码和测试方面的知识;
2.熟悉自动化的软件开发工具RationalRose2003,并将其运用于软件开发的全过程;
3.进一步加强和提高软件工程文档的编写能力;
4.培养协作能力和团队精神。
三、综合描述
1.问题概述
1.1课题:
学生网上选课系统
1.2系统的主要目标:
本系统目标是实现选课系统所需的各种基本功能,包括学生选课、退课功能和教师查看选修课程、提交课程成绩功能以及管理员添加学生、维护学生信息、成绩管理、添加教师、维护教师信息、维护选修课程,还有公用的修改密码等功能。
1.3系统的开发环境及运行环境:
操作系统:
Windows7
建模工具:
RationalRose2003
数据库系统:
Mysql
开发工具:
VisualStudio2005、myeclipse
Web服务器:
tomcat6.0
2.系统需求分析
学生选课系统主要满足来自三方面的需求,这三个方面分别是学生用户、教师用户和管理员用户,也即是三类用户角色。
(1)学生用户是主要的需求者,主要需求功能是查询可选课程、查看自己选课情况及进行选课、退课操作等;
(2)教师用户主要需求功能是查看自己所教授的课程、课程有哪些学生选修、以及利用本系统提交学生的成绩;
(3)管理员用户的功能需求较为复杂,包括对学生信息、教师信息、课程信息进行管理。
在学生信息管理子模块中,实现对学生信息的添加、修改、删除操作,还可以输入查询条件进行查询操作。
在教师管理子模块中,实现对教师信息的添加、修改、删除、查询等操作。
在课程管理子模块中,实现对课程信息的添加,添加时为其分配任课教师、上课时间和地点,实现对课程的修改、删除、查看某个课程的详细信息等。
本系统将管理员用户、教师用户、学生用户的身份及权限进行严格的划分,让管理员拥有最高权限,可以查看、维护系统中的所有信息,如添加学生,添加课程,修改课程信息等;让教师拥有查看自己开设的课程的信息,以及提交所开设课程成绩的权限;让学生拥有选课和退选的权限;而修改密码模块的权限每个用户都可拥有,用以修改自己的密码信息。
通过进行严格的权限划分,可以更好地进行管理,也可更好地保护用户信息安全。
2.1用例图
图2-1学生选课系统用例图
用例图说明:
(1)系统的外部角色有:
学生用户、教师用户和管理员。
(2)系统主要用例的文档描述:
①学生管理用例:
学生用户可见的功能,包含了选课、退课和查看选课三个用例功能。
②教师管理用例:
教师用户可见的功能,包含了查看学生选课和提交成绩两个用例功能。
③信息管理用例:
管理员可见的功能,这个用例进一步分为三个用例:
学生信息管理用例、教师信息管理用例和课程信息管理用例。
④学生信息管理用例:
信息管理用例可见的功能,实现学生信息的管理功能,包含了添加学生、修改学生信息和删除学生三个用例。
⑤教师信息管理用例:
信息管理用例可见的功能,实现教师信息的管理功能,包含了添加教师、修改教师信息和删除教师三个用例。
⑥课程信息管理用例:
信息管理用例可见的功能,实现课程信息的管理功能,包含了添加课程、修改课程信息和删除课程三个用例。
⑦修改密码用例:
所有用户都可见的功能,用于修改用户的密码信息。
(3)系统用例之间的关系:
①学生管理用例与选课、查看选课、退课三用例之间是包含关系。
②教师管理用例与查看学生选课、提交成绩两用例之间是包含关系。
③信息管理用例与学生信息管理用例、教师信息管理用例和课程信息管理用例之间是包含关系。
④学生信息管理用例与添加学生、修改学生信息和删除学生三个用例之间是包含关系。
⑤教师信息管理用例与添加教师、修改教师信息和删除教师三个用例之间是包含关系。
⑥课程信息管理用例与添加课程、修改课程信息和删除课程三个用例之间是包含关系。
2.2类图
图2-2学生选课系统类图
类图说明:
(1)BaseUser类是一个系统角色用户的基类,主要方法有两个:
modifyPWD()用于修改用户的密码;
loginCheck()用于用户登录验证。
(2)Admin类继承自BaseUser类。
(3)Student类继承自BaseUser类,主要方法有:
studentAdd()用于添加学生;
studentDel()用于删除学生;
studentUpdate()用于更新学生信息;
getStudents()用于获取学生列表。
(4)Teacher类继承自BaseUser类,主要方法有:
teacherAdd()用于添加教师;
teacherDel()用于删除教师;
teacherUpdate()用于更新教师信息;
getTeachers()用于获取教师列表。
(5)Course类是一个课程类,主要方法有:
courseAdd()用于添加课程;
courseDel()用于删除课程;
courseUpdate()用于修改课程信息;
getCourses()用于获取课程列表。
(6)Elect类是一个选课表类,主要方法有:
elect()选修课程;
electDel()退选课程;
getElectInfo()获取选课信息;
haveSubmit()检测是否已提交过成绩;
submitScore()提交成绩。
2.3顺序图
(1)管理员修改课程信息顺序图
图2-3管理员修改课程信息顺序图
(2)学生用户退选课的顺序图
图2-4学生用户退选课的顺序图
(3)教师提交成绩顺序图
图2-5教师提交成绩顺序图
2.4协作图
(1)学生用户选课协作图
图2-6学生用户选课协作图
(2)教师提交成绩协作图
图2-7教师提交成绩协作图
2.5网上选课系统活动图
活动图(activitydiagram,动态图)是阐明了业务用例实现的工作流程。
业务用例工作流程说明了业务为向所服务的业务主角提供其所需的价值而必须完成的工作。
业务用例由一系列活动组成,它们共同为业务主角生成某些工件。
工作流程通常包括一个基本工作流程和一个或多个备选工作流程。
工作流程的结构使用活动图来进行说明。
网上选课系统活动图包含以下三部分:
1).用户登陆界面活动图,如图4-13所示
2).学生选课活动图,如图4-14所示
3).教师录入成绩活动图,如图4-15所示
图4-13用户登入界面活动图
图4-14学生选课活动图
图4-15教师录入成绩活动图
3.系统总体设计
3.1设计子系统
学生选课系统是实现学生选课退课、教师提交成绩以及学校教务管理员维护信息的一个平台,整个学生选课系统有前台和后台两部分,共分为4个模块:
管理员模块,教师模块,学生模块和公有模块,分别用于完成各自的功能。
以下为学生选课系统总体设计图和各功能模块说明:
(1)总体设计图
学生选课系统
前台模块
后台模块
学生登录模块
教师登录模块
学生处理模块
教师处理模块
管理员处理模块
公共模块
管理员登录模块
图3-1学生选课系统总体设计图
(2)各模块功能
表3-1学生选课系统功能模块表
功能模块
包含子功能模块
功能
管理员模块
学生管理子模块
对学生信息的添加、修改,删除操作
教师管理子模块
对教师的添加,修改,删除,查询操作
课程管理子模块
对课程的添加,添加时为其分配任课教师,上课时间和地点,实现对课程的修改,删除,查看某个课程的详细信息等
教师模块
实现查看自己所教授的课程,课程有哪些学生选修,以及利用本系统提交学生的成绩
学生模块
实现学生选课,查看所选课程,修改自己的选课信息
公有模块
实现用户的身份验证,密码修改,退出系统等功能
3.2设计数据管理子系统
(1)数据库表
表3-2数据库表
序号
数据库表
数据表存储的内容
1
Student
存储学生的信息
2
Teacher
存储教师的信息
3
Users
存储管理员的信息
4
Elect
存储选课的信息
5
Cource
存储课程的信息
6
Depart
存储学校系院信息
图3-2数据表之间的关系图
3.3设计子系统
(1)用户分类
本系统的用户可分为三类:
①管理员用户;
②教师用户;
③学生用户。
(2)用户描述
①管理员用户的描述:
管理员用户在整个选课系统中起到管理和维护的作用,对学生和教师的信息进行管理和维护以及开设课设等职责。
②教师用户的描述:
教师用户在本系统中具有管理选修了自己开设的课程的学生的权限,查看选修了自己开设课程的学生信息有及提交学生成绩。
③学生用户的描述:
选课系统主要是针对管理学生的,学生在本系统中具有修改自己的信息,以及选课和退选的功能。
(3)网上选课系统系统组织结构
①系统的子系统的内容和准则:
本学生选课系统的人机交互子系统在根据不同的用户身份登陆到不同的页面,然后按照不同的用户只能进行用户权限内的操作,其结构图如下:
主系统界面
学生用户界面
教师用户界面
管理员用户界面
图3-3子系统结构图
②通过采用树形结构,展示网上选课系统总体组织结构,如下:
主系统界面
管理员用户
学生用户
教师用户
选课
查看选课
学生管理
教师管理
课程管理
查看选课信息
提交成绩
退课
添加学生
修改学生信息
删除学生
添加教师
修改教师信息
删除信息
添加课程
修改课程信息
删除课程
图3-4网上选课系统结构
四、总结或结论
1.通过这次软件工程课程设计的实践训练,进一步掌握软件工程的方法和技术,提高软件开发的实际能力,培养工程设计能力和综合分析、解决问题的能力。
1.1学习和实践了分析和设计软件系统的各种知识,包括面向对象的系统分析与设计,编码和测试方面的知识。
1.2掌握了自动化的软件开发工具RationalRose2003,并将其运用于软件开发的全过程。
1.3加深掌握了.Net平台的三层架构模式设计。
1.4进一步加强和提高软件工程文档的编写能力。
1.5增强了协作能力和团队精神。
2.本系统基本实现了关键的功能模块,在功能上基本满足了用户的需求,但是由于时间较紧,有些模块以及整个系统还有许多不完善的地方,如界面不太美观,操作性不太友好等。
3.通过这次课程设计对UML的设计思想又有了进一步的理解,对UML的知识也更进一步的了解了,实践出真知,自己的动手能力也有了增强。
、知识源于实践。
认识来源于实践,实践是认识的动力和最终目标,实践是检验真理的唯一标准。
我觉得做课程设计同时也是对课本知识的巩固和加强,由于课本上的只是太多,平时可见的学习并不能很好的理解和运用,在一个软件开发的过程中,需要各个学科的总汇,要做到面面俱到。
平时看课本时,有些问题觉得理解了,但是真正到编程的时候还是会存在问题,这也是我的不足之处,在今后的学习中需要改进。
四、参考文献
[1]张海藩.软件工程导论(第4版).北京:
清华大学出版社,2005
[2]刁成嘉.UML系统建模与分析设计.北京:
机械工业出版社,2007
[3]UML基础与Rose建模案例.北京:
人民邮电出版社,2004
[4]刘乃丽ASP.NET2.0网络开发详解.北京:
电子工业出版社,2008
14