您的位置:首页 > 其它

软件工程大作业(高校在线答疑)

2014-12-25 12:46 309 查看

《软件工程》

高校在线答疑


组长:
熊智鹏 班级:0491201 学号:2012211663
组员:(排名不分先后)
张刚强 班级:0411204 学号:2012211725
黄奕   班级:0491201 学号:2012211522
杨敏杰 班级:0491201 学号:2012211784
黎丹静 班级:0491201 学号:2012211846
张春花 班级:0411203 学号:2012211557
沈玉洁 班级:0411203 学号:2012211753
陆倩   班级:0411203 学号:2012211655

目录


《软件工程》
----------------------------------------1
在线高校答疑
----------------------------------------1
一、题目:
---------------------------------------------3
高校在线答疑系统
-----------------------------------3
一)、总体说明:
-----------------------------------3
二)、系统相关角色:
------------------------------3
三)、详细说明:
-----------------------------------3
二、问题定义
---------------------------------------4
三、可行性分析
----------------------------------------4
1、引言
-------------------------------------------------4
(1)编写目的
--------------------------------------------4
(2)项目背景
--------------------------------------------5
2.可行性分析的前提
----------------------------------5
(1)系统要求
--------------------------------------------5
(2)系统目标
-------------------------------------------5
3.项目的支出与收益的分析
------------------------5
4.对团队现有技术支持的分析
-------------------------5
5.对团队支出与收益的分析
------------------------5
6.社会因素的分析
----------------------------------6
7.结论
------------------------------------------------6
四、总体设计
---------------------------------------6
一)、面向结构化分析
----------------------------------6
<一>、功能结构图
----------------------------------6
<二>、分层数据流图
----------------------------------8
<三>、加工说明及数据字典
------------------------9
二)、面向对象分析
---------------------------------12
<一>、类图
-------------------------------------------12
<二>、E-R图
-------------------------------------------13
<三>、用例图
--------------------------------------15
<四>、包图
-------------------------------------------16
<五>、构件图
--------------------------------------17
<六>、状态机图
--------------------------------------18
<七>、活动图
--------------------------------------20

 

一、题目:

高校在线答疑系统

一)、总体说明:

近年来,随着教育业的不断发展,高校的规模也日益变大,学生人数和教师人数在不断增多。但蓬勃发展的背后也带来了一个问题高校师生间的答疑工作愈发困难。因此开发了此在线答疑系统,主要完成学生端注册提问服务、教师端查看回复服务以及系统管理员的后台维护功能。

二)、系统相关角色:

系统管理员、学生、教师、

三)、详细说明:

一)学生端:

注册用户和登录:学生可自由地注册用户并登录在线答疑系统
资料修改:注册后学生可以修改自己的注册资料。
查询课程:查询自己感兴趣的课程,支持模糊检索。
申请课程:如果学生还不属于某课程,可提交该课程的申请表。
查看提问:学生提出问题后,可以查看该问题的回答情况。
查看参与的提问:学生可以查看所有参与的提问。

二)教师端:

查看未回答的提问:老师登录后,可以查看未回答的问题列。
查看已回答的提问:对于已经回答的问题,老师也可查看并继继续回复讲解。
添加学生:老师可以为自己的某个课程添加学生用户  
删除学生:老师可以删除自己教授的课程下的学生用户:

三)管理员端:

课程管理:管理员可以对课程信息进行维护。
用户管理:管理端可以对学生用户和老师用户进行管理。
内容管理:管理员可以对提问内容和回复内容进行管理。
管理员管理:主要是超级管理员对普通管理员的管理。

二、问题定义

近年来,随着教育业的不断发展,高校的规模也日益变大,学生人数和教师人数在不断增多,加之上课地点的变动等原因,师生之间的答疑工作不好开展,经分析传统答疑方式有如下缺点:
1、 答疑时间和地点不好确定。
2、 学生有新问题无法及时向老师提问。
3、 由于老师和学生可能不住在一起,学生间交流和讨论比较少。
4、 老师和学生交流少,以致老师不了解学生的学习和掌握知识的情况。

为了解决这样问题,提高答疑工作的便捷性与及时性,增加师生之间的互动,团队经过讨论,决定采用日益成熟的Web技术(B/S模式)开发此高校答疑系统

三、可行性分析

可行性分析是上层进行决策的重要依据,同时也决定了项目是否可以继续进行,对该系统的可行性分析如下所示。

1、引言

     重庆邮电大学为了提高师生之间答疑的效率和便捷性,更好地开展答疑工作以提高教学质量,提出开发该在线答疑系统。

(1)编写目的

从团队的现有技术水平及重庆邮电大学的需求分析两方面来分析该在线答疑系统的开发可行性,为团队及该学校领导的决策提供依据。

(2)项目背景

项目提出者:重庆邮电大学。
项目开发者:本小组
系统最终用户:重庆邮电大学的学生、老师及管理人员:

2.可行性分析的前提

(1)系统要求

系统中应该有各种课程的信息,用户可以查询课程学生则可以在自己的课程里热思问题和参与讨论问题,老师可以在自己教授的课程里进行答熙而管男架架行日常的护,对课程进行增删改查等工作,对用户进行管理,从而确保答疑系统的正常运行

(2)系统目标

进一步提高学校答疑的效率和便捷性,更好地了解学生对所学课程的掌握程度,从而提高学校的教学质量。

3.项目的支出与收益的分析

     学校现有的答疑方式是老师和学生约定时间和地点进行面对面的答疑交流,对于这样的答疑方式,时间、地点等因素决定了答疑工作是否能顺利开展,而学生和老师的时间不好协调等因素使得答疑工作开展起来难度较大,老师不了解学生的学习情况,造成教学质量下滑等现象。

学校支出部分经费开发该系统之后可以在很大程度上改善学校的教学质量,确保答疑工作的顺利开展,而且可以非常方便地进行线上师生之间的互动,同时对于学校学生来说,有问题时可以立即进入系统提出,只要是该课程下的用户都可以参与讨论对于老师来说,可以方便地查看学生提出的问题并解答,了解学生掌握知识的程度并把握教学重点,这样一来,学校的教学质量便得到了提高。 

4.对团队现有技术支持的分析 

 
通常的描述包括“公司自创办以来一直致力于java web软件开发,尤其是此类管理系统的开发有着一批优秀的开发人员,经验丰富,完全可以在规定的时间里完成开发任务。

5.对团队支出与收益的分析

该项目要求在1个月内完成,一年的维护期,经过大体预算审核.整个团队最后大约可得利润]万元(仅供参考,),而且通过开发该系统,可以进一步积累对该类企业软件的开发经验。

6.社会因素的分析

该系统完全由“本团队”自主开发,完全是按照“团队”的开发流程进行的,在法律方面没有任何侵权行为,完全符合合同的规定。  

7.结论

经过上述分析,团队在技术上完全有能力开发该管理系统,而且时间上也相对比较充裕,利润上也比较可观,同时也有利于团队成员对该类软件开发经验的进一步积累。

四、总体设计

说明:由于本次作业成员较多,未增强同学们项目参与感,同时充实项目内容,强化锻炼效果与知识回顾,本次作业将从面向结构化分析、面向对象分析两个角度来完成设计。(后期代码实现已结构化分析为准)

一)、面向结构化分析

<一>、功能结构图

所谓功能结构图就是将系统的功能进行分解,按功能从属关系表示的图表。



 
图4-1-1



 
图4-1-2
 


图4-1-3
 


图4-1-4

<二>、分层数据流图

 


图4-1-2


 
图4-1-3

<三>、加工说明及数据字典

1、管理员:

加工名:处理用户

加工编号:1.3

描述:对新添加的用户信息进行处理

输入:初始用户信息

输出:合格用户信息

处理:检查用户信息的合法性和合理性

加工逻辑:IF 输入的用户编号存在

 THEN 添加到用户信息清单

 ELSE 舍弃

 ENDIF

加工名:处理课程

加工编号:3.3

描述:对新添加的课程信息进行处理

输入:初始课程信息

输出:合格课程信息

处理:检查课程信息的合法性和合理性

加工逻辑:IF 输入的课程编号合法且存在

            THEN 添加到课程信息清单

            ELSE 舍弃

          ENDIF

加工名:处理提问及回复

加工编号:2.3

描述:对输入的信息进行分类

输入:课程信息

输出:提问信息、回复信息

处理:将不同的信息存在不同的清单里

加工逻辑:根据输入的信息编号

     IF 是提问信息编号

            THEN 添加到提问信息清单

            ELSEIF 是回复编号

         THEN 添加到回复信息清单

         ELSE 舍弃

    ENDIF

2.学生

加工名:处理课程

加工编号:1.3

描述:查询课程

输入:查询课程的编号或关键字

输出:查询课程的详细信息

处理:根据输入的课程关键信息输出课程的详细信息

加工逻辑:根据课程信息清单

IF 输入的是课程编号

THEN 根据课程编号返回课程信息

ELSEIF 输入的是关键字

THEN 根据关键字返回客户信息

ELSE 需要重新输入

  ENDIF

加工名:产生学生信息

加工编号:2

描述:注册后的学生可以修改自己的资料

输入:用户信息报表

输出:学生信息

处理:增加或删除学生的个人信息

加工逻辑:输入学生编号,可对相应学生的各数据项进行修改

加工名:产生申请信息

加工编号:3

描述:申请课程

输入:申请信息报表

输出:申请信息

处理:根据申请信息中的课程编号将相应的课程添加到学生中

加工逻辑:IF 课程编号合法且存在

 THEN 添加课程到学生

 ELSE 需要重新输入

         ENDIF

加工名:产生提问和回复信息

加工编号:4

描述:提出问题和得到解答后回复

输入:提问及回复报表

输出:提问及回复信息

处理:提交提问和回复,等待管理员进行审核

加工逻辑:根据添加的课程号提出相应的问题,提交管理员审核,审核通过即输出

3.教师

加工名:处理申请信息

加工编号:1.3

描述:对学生提交的申请信息进行处理

输入:原始申请信息

输出:处理后的申请信息

处理:对学生提交的申请信息根据实际情况进行添加和删除

加工逻辑:IF 学生编号属于授课的班级

 THEN 添加学生

 ELSE 不添加

ENDIF

加工名:产生教师信息

加工编号:3

描述:注册后的教师可以修改自己的资料

输入:用户信息报表

输出:教师信息

处理:增加或删除教师的个人信息

加工逻辑:输入教师编号,可对相应教师的各数据项进行修改

加工名:处理课程

加工编号:2.3

描述:添加所授课程

输入:原始课程信息

输出:处理后的课程信息

处理:如果课程编号为所授课程,添加到教师

加工逻辑:IF 课程编号为所授课程

 THEN 添加课程

            ELSE 不添加

  ENDIF

加工名:回答提问

加工编号:4.3

描述:添加答案

输入:提问信息

输出:回答信息

处理:对相应的提问做出解答

加工逻辑:查看提问,编辑回答,提交回答。



 

图:数据字典图

二)、面向对象分析

<一>、类图

实体类表示的是系统领域的实体。在信息系统中,实体对象具有永久性且存储在数据库中,如:表、记录或字段等对象。实体类对应于表记录的封装,也就是该类的一个实例对应于表中的一个记录。而且,该类中的属性和记录中的字段是一一对应的。从高校在线答疑系统的功能需求中,我们抽象出了以下实体类:用户、教师、学生、管理员、权限、提问信息、回复信息、课程信息等。



 

<二>、E-R图

E-R方法是“实体-联系方法”(Entity-Relationship Approach)的简称。描述现实世界概念结构模型的有效方法。是本项目中表示概念模型的一种方式。如下:

 


图4-2-1



 
图4-2-2
 


图4-2-3
 


图4-2-4
 


图4-2-5

<三>、用例图

用例图是指由参与者(Actor)、用例(Use Case)以及它们之间的关系构成的用于描述系统功能的静态视图。
用例图(User Case)是被称为参与者的外部用户所能观察到的系统功能的模型图,呈现了一些参与者和一些用例,以及它们之间的关系,主要用于对系统、子系统或类的功能行为进行建模。

 


图4-3-1

<四>、包图

包图是有一些包以及它们之间的关系构成的模型图。包是一种将其他模型元素组织起来,形成较大粒度的系统单位的机制。既包是一种把元素组织到一起的通用机制。包可以嵌套于其他包中。而高校在线答疑系统中的包图,在包头写上的系统的名字,也在里面加了三个类, 分别是教师,学生和管理员。还有在里面嵌套了四个包,“课程管理”,“内容管理”,“用户管理”,“管理员管理”。这四个包就是这三个类之间的关系联系准确的描述出来



 
图4-4-1

<五>、构件图

构件图是一种表示构件的组织结构和相互关系的图,用于将系统元素组织成构件,并通过其接口描述构件之间的关系,以支持基于构件的软件开发。
本系统中,大的来说,构件有六个。管理员通过用户管理来管理教师端和学生端,学生端和教师端端之间是由课程管理和内容管理,来说实现沟通交流,完成在线答疑的这个环节。



 
图4-5-1

<六>、状态机图

状态图(Statechart Diagram)是描述一个实体基于事件反应的动态行为,显示了该实体如何根据当前所处的状态对不同的事件做出反应的。它用于显示状态机(它指定对象所在的状态序列)、使对象达到这些状态的事件和条件、以及达到这些状态时所发生的操作。



 
图4-6-1


 
图4-6-2



图4-6-3
 


图4-6-4

<七>、活动图

活动图(activity diagram,动态图)是阐明了业务用例实现的工作流程。业务工作流程说明了业务为向所服务的业务主角提供其所需的价值而必须完成的工作。业务用例由一系列活动组成,它们共同为业务主角生成某些工件。工作流程通常包括一个基本工作流程和一个或多个备选工作流程。工作流程的结构使用活动图来进行说明。

 


图4-7-1
 


图4-7-2
 


图4-7-3
 


图4-7-4

中期总结:

这次的任务量确实有点大,作为队长,感觉责任甚重,从前期的选题到总体说明再到后来的结构分析,都要身体力行,因为需要先把项目需求吃透,才能更好地理解项目量,更好地分配任务,目前项目进行到现在,最大的感触就是软件工程绝非个人项目,团队分工协作才是最重要的,如何更好针对每个人的特点分配任务,如何沟通项目进展都是挑战,这是一个很好的机遇,实践中收获确实不少。

      -------------熊智鹏

组长根据每个同学的特长进行了明确的分工。在画状态图时不仅巩固了相关的概念,同时也补充了上课时遗漏的知识,并且对一个工程项目也有了新的理解和体会。

--------------陆倩

这次作业,我主要是做的包图和构件图,因为对这两种模型都不太懂,所以需要查找资料,认真的学习,然后根据我们这次做的实验的题目要求和资料,绘制出图形,让我对包图还有结构图有了更多的了解和认识。

   -------------沈玉洁

这次软件工程第三次作业是个大项目,我们选择的是高校在线答疑系统。对于前期的文档部分,我们虽然进行了相应的分工,但每个人的任务量都挺大,我负责的是活动图和类图。这次作业的完成,给我最大的感触是团队合作。一个团队,重要的是如何协调好各个成员之间的工作内容,达到统一。这次也让我加深了对理论知识的理解,丰富了实践经验。

------------张春花

在这次作业中,可以说是真的要检验学习的时刻了,前面在对理论和实验课程的学习中,对项目开发有所体会,但是让我们自己讨论项目来做确实还是有挑战的,不过在组长的指导下,我们明确分工的同时积极协作,及时解决了遇到的问题。在这个阶段我主要负责的是类图和用例图,项目进展到现在不仅提高了我的能力,而且我已经很好的融入了我们的团队,在和大家的交流中,也完善了我的盲点知识,收获很大。

------------张刚强

第一次真正意义上的和同学们一起用软件工程的思想去开发一个项目,真的让我获益良多。首先,我觉得其实一个项目的代码开发阶段并不是最难的,刚开始的需求分析和系统设计都很关键。同时我觉得这两个部分也比较困难,要做好不简单。其次,我体会到了一个团队合作的重要性和团队负责人决策能力的重要性,刚开始的分析和设计需要画很多的图,在我们统一了选题后,组长便分配了任务大家完成。这样可以提高效率,同时通过一遍遍的修改,这样便提高了准确性。总的来说,从选定项目开始至今,真的还是学到了很多。

-------------杨敏杰

在这次的大项目,我懂得了团队协作的重要性。一个人不管多么优秀都只是一个人,在团队中,必须学会和队友团结协作,才能做出好成绩。

-------------黄奕

以前一直片面的觉得软件的开发就是编写程序,只要编完程序,一切就ok了。但是通过这次小组合作的在线答疑系统这个项目,发现最重要的还是软件开发早期阶段大家通过讨论之后整体思路的统一,每个人最初的想法都是不一样的,如果不通过交流理清思路,那么最后大家的想法会越离越远,导致最后无法整合。同时,我感觉掌握软件工程化的思想比单纯的编写程序更加重要,没有管理的设计是失败和混乱的设计,没有设计指导的编程是无序的忙碌的。根据开发的软件的规模,应该适当程度的运用软件工程化的思想,这会使我们的工作更加高效,更加稳定。

-------------黎丹静
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: