Skip to content
This repository has been archived by the owner on Jul 5, 2021. It is now read-only.

Latest commit

 

History

History
355 lines (189 loc) · 18.6 KB

README.md

File metadata and controls

355 lines (189 loc) · 18.6 KB

《软件需求分析与设计》课程综合实践

一、项目实训目的

通过正向工程方式,完成用户提出的《面向对象分析与设计(UML)》在线开放课程平台的分析、设计、实现等环节。

按照Rational Unified Process(RUP,Rational统一过程)的软件开发生命周期模型,指导整个项目的开发。分四个循环Cycles,每个循环实践四个阶段Phases,每个阶段实践九个工作流Core Workflows。

通过四个Cycle完成四个版本。版本1.0各组独立完成,实现全部界面。版本2.0和3.0各组分工完成不同的功能模块。版本4.0各组集成在一起,完成整个系统的组装。从而实现敏捷软件开发。

二、技术要求

1、基于Java/JavaScritp语言和JSP技术。JDK虚拟机,MySQL数据库,Web服务器Tomcat,数据库服务器Apache。

建议:使用纯绿色软件JspStudy。JspStudy集成了JDK+Tomcat+ Apache+MySQL,JSP环境配置一键启动。无需修改任何配置即可迅速搭建支持JSP的服务器运行环境。

2、Win2000/XP/win7/win8/win2008 操作系统。

3、IE浏览器,Google Chrome浏览器,360浏览器等主流浏览器。

4、网络版的在线开放课程平台。从全省其他高校可以成功访问本平台,并进行相应的操作。

三、功能要求

客户端(前台):

1、网站首页。包括以下子功能:课程负责人,课程简介,课程特色,课程动态,教师团队(滚动展示),教学资源链接,友情链接。登录。

2、课程概况。包括以下子功能:课程简介,课程特色,教材与参考资料,历史沿革。

3、教师队伍。包括以下子功能:课程负责人,课程教学团队,主讲教师,青年教师培养。

4、教学安排。包括以下子功能:教学大纲,教学日历,教学内容,授课计划,教学难重点,教学方法与手段。

5、教学研究改革。包括以下子功能:教学改革措施,教学改革立项,教学改革成果,教学表彰和奖励。

6、教学资源。包括以下子功能:课程课件(可以观看PPT、PDF、WORD),教学录像(可以播放视频),习题库(单选题、多选题、是非题、填空题、简答题、简单分析题、系统分析题、计算机水平考试题集),案例库(实验环境,实验系统代码,实验安装操作手册),实验任务,技术文档范本。

7、教学管理。包括以下子功能:开课计划,上课班级,班级花名册,班级成绩单,学生作业案例。

8、教学效果。包括以下子功能:校外专家评价,校内督导评价,教师自我评价,校内学生评价,社会评价,教学评估及相关文件。

9、教学互动。包括以下子功能:微信群,QQ群,网站内的师生互动。

管理端(后台):

1、前台全部页面的内容维护。

超级管理员,二级管理员,在前台登录,切换到一个新的后台系统管理界面。

超级管理员,二级管理员,可以管理前台全部页面的内容维护。举例来说,在后台更新了"课程简介"的内容,则前台会自动显示出更新后的内容。在后台上传了图片后,在前台也会在正确的位置上显示新的图片。

2、账号维护。

超级管理员,可以创建二级管理员账号。二级管理员,除了不能创建新帐号(二级管理员和教师)外,其他可以操作的功能,同超级管理员。超级管理员,可以增删查二级管理员账号。可以重置二级管理员登录密码。

超级管理员,可以为某个教师创建登录帐号和密码。保证该教师可以为自己的班级输入学生名单、成绩和作业案例。超级管理员,可以增删查教师账号。可以重置教师登录密码。

超级管理员,二级管理员,教师,可以修改自己的登录密码。

3、制订开课计划。

超级管理员,二级管理员,可以创建开课计划。为即将上课的课程分配教师和班级(行政自然班)。

4、教师班级管理。

教师,在前台登录,切换到一个新的后台系统管理界面。

成功进入系统后,可以修改自己的登录密码,可以录入自己负责班级的学生名单、成绩和作业案例。

可以手动录入和自动导入学生名单和成绩,可以上传学生作业案例。

四、领域实体

1、参与者:普通访客,教师,二级管理员,超级管理员。

2、账号信息:账号,密码,类别,电子邮箱,手机。

类别分:教师,二级管理员,超级管理员。

3、教师信息:账号,密码,教师姓名,性别,出生日期,职称,邮箱,手机号码。

4、班级信息:班级编号,班级名称,年级,专业,班号。

5、学生信息:学号,学生姓名,性别,出生日期,籍贯,邮箱,手机号码。

6、学生成绩信息:学年度,课程编号,课程名称,班级编号,班级名称,教师姓名,学号,学生姓名,平时成绩,期中考试成绩,期末考试成绩,大作业成绩,总评成绩。

7、课程信息:课程编号,课程名称,学分,学时数。

8、课程负责人信息:姓名,性别,出生年月,最高学历,学位,专业,职称,职务,电话,Email,所在院系,通信地址,研究方向,简历。

9、教师队伍团队信息:姓名,性别,出生年月,职称,专业,学位,在教学中承担的工作。

10、教学内容信息:标题,发表时间,内容介绍。

备注:其他很多信息,都是这种表结构。使用相同的方式,显示在各自的页面上。

11、教学改革立项信息:标题,发表时间,下载地址。

备注:其他很多信息,都是这种表结构。使用相同的方式,显示在各自的页面上。

五、业务流程

前台页面操作流程:

1、普通页面。

1.1、访客打开任何一个普通页面。

1.2、可以观看页面中的内容。如果内容很多,可以分页显示,或者,右边滚动条拉动显示。

1.3、点击超链接,可以进入到下一个页面。

1.4、点击视频链接,可以调出视频播放器,播放视频。

后台页面操作流程:

1、教师登录。

1.1、教师用自己的账号和密码登录。如果密码忘记,可以通过"邮件"方式,找回密码。新密码由超级管理员设置。

1.2、教师可以看到本学期自己正在上的课程。

1.3、教师可以选择正在上的课程的班级,录入该班级的学生名单(手动录入,自动导入)。

1.4、教师可以选择正在上的课程的班级,录入该班级的学生成绩(手动录入,自动导入)。

1.5、教师可以选择正在上的课程的班级,上传该班级的学生作业案例。

2、超级管理员、二级管理员登录。

2.1、超级管理员、二级管理员,用自己的账号和密码登录。如果密码忘记,可以通过"邮件"方式,找回密码。新密码由超级管理员设置。

2.2、可以在左侧功能导航树上,看到自己可以操作的功能模块。点击某个功能模块,可以输入相关信息。确认无误,保存后,在前台页面上能够正确地动态反映出来。

2.3、根据需要,超级管理员可以创建二级管理员账号和教师账号。

2.4、根据需要,超级管理员、二级管理员,可以创建开课计划。为即将上课的课程分配教师和班级(行政自然班)。分配教师指:输入教师的登录账号和教师本人姓名。分配班级指:输入班级的编号和班级名称。

2.5、根据需要,对于离职的二级管理员和教师,超级管理员通过重置密码而不告诉二级管理员和教师的方式,使得他们成为非法用户。

六、约束条件

1、窗体内容显示风格1。文字、图片、表格、框架、超链接。

{width="5.768055555555556in" height="3.243195538057743in"}

2、窗体内容显示风格2。文档下载,文档上传。

{width="5.768055555555556in" height="3.243195538057743in"}

3、窗体内容显示风格3。视频播放,PPT播放。

{width="5.768055555555556in" height="3.243195538057743in"}

4、窗体内容显示风格4。交流互动。邮件联系,在线QQ互动,在线微信互动,自编界面的互动。

{width="5.768055555555556in" height="3.243195538057743in"}

5、超级管理员权限,二级管理员权限,教师权限,访客权限。

系统初始化后,生成两个超级管理员账号。

超级管理员,只能修改自己的登录密码,不能删除其他的超级管理员。

超级管理员,可以修改二级管理员和教师的各自登录密码,可以删除二级管理员和教师。

二级管理员,只能修改自己的登录密码,不能删除其他的二级管理员账号和教师账号。

教师,只能修改自己的登录密码。

访客,不需要账号。在前台可以访问任何页面。

七、参考网站

1、东莞理工学院精品课程网址http://jpkc.dgut.edu.cn/

{width="5.768055555555556in" height="3.243195538057743in"}

选择其中的"2012年省级精品资源共享课《合同法学》"链接。

《合同法学》课程的首页http://219.222.189.2/

{width="5.768055555555556in" height="3.243195538057743in"}

《合同法学》课程的"基础资源"页面http://219.222.189.2/index.html

{width="5.768055555555556in" height="3.243195538057743in"}

2、厦门大学数据库实验室网址https://dblab.xmu.edu.cn/

{width="5.768055555555556in" height="3.243195538057743in"}

高校大数据课程公共服务平台网址http://dblab.xmu.edu.cn/post/bigdata-teaching-platform/

{width="5.768055555555556in" height="3.243195538057743in"}

大数据课程学生服务站网址http://dblab.xmu.edu.cn/post/4331/

{width="5.768055555555556in" height="3.243195538057743in"}

大数据课程教师交流群网址http://dblab.xmu.edu.cn/post/4782/

{width="5.768055555555556in" height="3.243195538057743in"}

八、软件工程过程的实践要求

1、根据上述的用户需求,进行需求分析,画出用例图,给出每个用例的用例描述,画出每个用例描述对应的(不带泳道)活动图。填写完整的需求规格说明书。

2、根据需求分析的结果(用例图和用例描述),设计系统的逻辑模型(包括:数据库的设计,实体类的类图,基于协作的类图,顺序图,协作图,状态图,(带泳道)活动图)。每个类要定义好"类的名字,类的属性名及数据类型,类的方法名及数据类型"。

3、根据系统的逻辑模型,设计系统的物理模型(包括:组件图,包图,部署图)。填写完整的软件需求及系统设计规格书。

4、选择Java EE平台,使用Java/JavaScritp语言和JSP技术,开发系统(指《面向对象分析与设计(UML)》在线开放课程网站)。填写完整的系统操作指南和用户手册。

5、运用Rational Unified Process(RUP,Rational统一过程)的生命周期模型,指导整个项目的开发。

RUP的软件开发生命周期模型如下。

t2{width="5.64924978127734in" height="3.7916666666666665in"}

RUP把软件开发生命周期划分为多个Cycles。每个Cycle生成一个产品的新的版本。每个Cycle都依次由四个连续的阶段(phase)组成。

{width="5.768055555555556in" height="3.576388888888889in"}

九、验收要求

1、版本1.0,提交仅仅显示全部操作界面的可运行的软件系统。

版本2.0,提交完成了数据库设计、显示全部静态页面的可运行的软件系统。

版本3.0,提交显示全部动态页面(含文档下载和文档上传)的可运行的软件系统。

版本4.0,提交完成了剩余设计要求及功能的、完整的可运行的软件系统。

2、分组要求:十个人一组。

学号01~10为第一组,学号11~20为第二组,学号21~30为第三组,学号31~40为第四组,学号41~50为第五组,学号51~60为第六组,学号61~70为第七组,其余类推。

不足十人的分别均匀地插入到其他组中。

软件工程普通班(1班),分5组。软件工程卓越班(卓越1班、卓越2班),合起来分6组。

3、每个组,学生自由选出一名组长,二名副组长。负责任务分工,阶段答辩安排,进度跟踪,过程管理等活动。

4、时间安排:第14周~第18周。8B407,8B408。

5、需求分析阶段(第14周)结束后,进行Cycle 1的验收。各组分别演示版本1.0的运行效果,提交需求规格说明书,阶段1答辩。

特别提示:所有组各自独立完成阶段1的实践任务。

特别提示:根据所有组提交的版本1.0,选择一个比较理想的方案,作为最终系统用户界面的方案。后续软件功能的开发,都是基于这个统一的系统用户界面。

6、系统分析与设计阶段1(第15周)结束后,进行Cycle 2的验收。不同的组分别演示各自负责的功能模块的版本2.0的运行效果,提交软件需求规格说明书和软件系统设计文档,阶段2答辩。

特别提示:本阶段进行静态页面的可运行的软件系统的设计与实现。

特别提示:软件系统设计文档,包括:逻辑模型和物理模型。

特别提示:各组负责的功能模块划分如下:

普通班:第一组,课程概况。第二组,教师队伍。第三组,教学安排+教学互动。第四组,网站首页+教学研究改革+教学资源。第五组,教学管理+教学效果。各组负责的功能模块,要完成客户端(前台)+管理端(后台)。

卓越班:第一组,教学安排+教学互动。第二组,网站首页+教学资源。第三组,教学管理+教学效果。第四组,课程概况。第五组,教师队伍。第六组,教学研究改革。各组负责的功能模块,要完成客户端(前台)+管理端(后台)。

7、系统分析与设计阶段2(第16周)结束后,进行Cycle 3的验收。不同的组分别演示各自负责的功能模块的版本3.0的运行效果,提交软件需求规格说明书和软件系统设计文档,阶段3答辩。

特别提示:本阶段进行动态页面(含文档下载和文档上传)的可运行的软件系统的设计与实现。

特别提示:软件系统设计文档,包括:逻辑模型和物理模型。

特别提示:各组负责的功能模块划分如下:

普通班:第一组,课程概况。第二组,教师队伍。第三组,教学安排+教学互动。第四组,网站首页+教学研究改革+教学资源。第五组,教学管理+教学效果。各组负责的功能模块,要完成客户端(前台)+管理端(后台)。

卓越班:第一组,教学安排+教学互动。第二组,网站首页+教学资源。第三组,教学管理+教学效果。第四组,课程概况。第五组,教师队伍。第六组,教学研究改革。各组负责的功能模块,要完成客户端(前台)+管理端(后台)。

8、系统分析与设计阶段3(第17周~第18周)结束后,进行Cycle 4的验收。不同的组分别演示各自负责的功能模块的版本4.0的运行效果,提交软件需求规格说明书和软件系统设计文档,系统操作指南和用户手册,阶段4答辩。

特别提示:本阶段进行剩余的全部功能的可运行的软件系统的设计与实现。包括:视频播放,PPT播放,邮件联系,在线QQ互动,在线微信互动,自编界面的互动。

特别提示:将每个组各自开发的完整功能模块集成在一起,解决数据库设计上的冲突,修改相关页面中的字段名。使不同组开发的各自功能模块组装成一个整体。

特别提示:软件系统设计文档,包括:逻辑模型和物理模型。

特别提示:各组负责的功能模块划分如下:

普通班:第一组,课程概况。第二组,教师队伍。第三组,教学安排+教学互动。第四组,网站首页+教学研究改革+教学资源。第五组,教学管理+教学效果。各组负责的功能模块,要完成客户端(前台)+管理端(后台)。

卓越班:第一组,教学安排+教学互动。第二组,网站首页+教学资源。第三组,教学管理+教学效果。第四组,课程概况。第五组,教师队伍。第六组,教学研究改革。各组负责的功能模块,要完成客户端(前台)+管理端(后台)。

十、评分标准

1、各阶段验收,得各阶段的分值(满分100分)。权重分配如下:Cycle1阶段验收得分,占比20%。Cycle2阶段验收得分,占比20%。Cycle3阶段验收得分,占比20%。Cycle4阶段验收得分,占比40%。

2、每个Cycle阶段验收,得分标准:

2.1、Cycle1。是否网络版(满分40),是否JSP(满分10),是否做完全部界面(满分20),是否自设界面(满分15),界面显示风格(满分15)。

2.2、Cycle2。是否网络版(满分40),是否JSP(满分20),是否做完全部功能(满分40)。

2.3、Cycle3。是否网络版(满分20),是否JSP(满分20),是否做完全部功能(满分30),是否能够动态显示(满分30)。

2.4、Cycle4。是否网络版(满分20),是否JSP(满分20),是否做完全部功能(满分30),是否集成组装成功(满分30)。

3、每个模型设计阶段验收,得分标准:

3.1、各种模型图的图形符号表达正确的,得分20分。

3.2、各种模型图中的模型元素、元素之间关系的描述符合实际需求要求的,得分20分。

3.3、文档内容符合规范的,得分20分。

3.4、文档排版格式符合规范的,得分20分。

3.5、参加演示答辩者(小组自荐,可多人同时参与),得分10分。

3.6、实践过程中考勤记录,全勤者,得分10分。缺勤者,以10分为基数,按比例折扣。

4、在每个Cycle,每个小组进行成员互评,得分标准:

4.1、小组成员通过互评,评价每个成员在本Cycle中在各自小组中做出的贡献。

4.2、以十名学生为参考,1名A(95分),2名B(85分),3名C(75分),4名D(65分)。

4.3、指导教师可以根据各组中同学的实际表现,做适当的微调。

东莞理工学院计算机网络与安全学院

《软件需求分析与设计》课程组

2018年11月20日