目录1 导言 01。
1 背景 01。
2 目的 01.3 名词解释 01.4 参考资料 (1)2 概述 (1)2。
1 系统环境 (1)2.2 功能需求 (2)2.3 参与者分工 (2)2.4 技术支持 (3)2。
4.1 MVC模式 (3)2。
4。
2 jsp+servlet+javabean开发模式 (4)3 UML建模语言 (4)3.1 基本概念 (4)3.1.1 对象图 (5)3.1.2 类图 (5)3。
1。
3 类图 (5)3.2 模型视图 (6)3.2.1 用例图 (6)3.2。
2 活动图 (6)3。
2.3 顺序图 (7)4 需求分析 (7)4.1 管理员需求分析 (7)4。
1。
1 管理员用例图 (7)4.2 普通用户需求分析 (10)4.2.1 普通用户用例图 (10)4.3 安全管理需求分析 (12)4。
3.1 安全管理用例图 (12)5 对性能的规定 (14)5.1 时间特性要求 (14)5。
2 灵活性 (14)5。
3 输入输出要求 (15)5.4 故障处理要求 (15)5.5 其他专门要求 (15)1 导言1。
1 背景近年来,随着互联网技术的迅速发展,越来越多的人开始关注软件开发这项技术,随之也开始涌现出了诸多的开发语言和开发工具.然而,安装这些开发工具对系统内存往往有较大的要求,即使成功安装,有时也会对我们的日常使用带来不便。
此外,这些开发工具只是提供了一个平台,供我们练习使用,本身并不能帮助我们提高软件开发水平。
所以我们小组联合开发了名为学程网的在线评测系统,该系统采用了B/S结构。
系统中有大量的习题,可以练习可以考试,既可以练习开发语言,亦可以温故数据结构.该系统的特点是方便、使用。
1。
2 目的实现以下功能:能够实现注册用户的功能:能够判断用户的身份,并根据身份的不同进入不同的页面;管理员能够实现在线添加试卷、试题,查询试卷、试题的功能;普通用户能够实现在线考试的功能;普通用户能够实现查询考试分数的功能;普通用户能够实现在线答题的功能;普通用户能够实现查询试卷和试题的功能。
1.3 名词解释表1 名词解释1。
4 参考资料《Java程序设计》雍俊海,清华大学出版社,2008年02月;《JavaEE实用教程》郑阿奇,出版社:电子工业出版社,2009年11月;《Jquery基础教程》(第四版)[美]Jonathan Chaffer,[美] Karl Swedberg,人民邮电出版社,2013年10月。
2 概述2。
1 系统环境2.2 功能需求该系统共有两个角色,分别为普通用户和管理员.普通用户通过注册账号获得使用该系统的权限,管理员无需注册,账号由系统分配。
普通用户登录系统之后,即可进入系统首页,在首页有大量的习题,用户可以根据自己的需要,选择相应的习题进行练习。
同时,用户可以在该页面选择考试,点击考试即可进入选择试卷页面,对试卷中的页面进行做答,系统会根据作答情况,给出成绩,用户可以通过成绩了解自己的作答情况.此外,用户还可以查询自己的历史试卷.管理员登录之后会进入管理员首页,在该页面管理员可以查询试题、试卷,添加题目、试卷.其中添加试卷时,管理员通过查询题目,选中相应的题目,点击添加,将试题添加至对应的试卷.图1即为该系统的功能结构图。
图1 系统功能结构图2。
3 参与者分工表3 参与者分工2。
4 技术支持2.4.1 MVC模式MVC全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写,一种软件设计典范,用一种业务逻辑、数据、界面显示分离的方法组织代码,将业务逻辑聚集到一个部件里面,在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑。
MVC被独特的发展起来用于映射传统的输入、处理和输出功能在一个逻辑的图形化用户界面的结构中.视图是用户看到并与之交互的界面。
对老式的Web应用程序来说,视图就是由HTML元素组成的界面,在新式的Web应用程序中,HTML依旧在视图中扮演着重要的角色,但一些新的技术已层出不穷,它们包括Adobe Flash和像XHTML,XML/XSL,WML等一些标识语言和Web services。
MVC好处是它能为应用程序处理很多不同的视图。
在视图中其实没有真正的处理发生,不管这些数据是联机存储的还是一个雇员列表,作为视图来讲,它只是作为一种输出数据并允许用户操纵的方式。
模型表示企业数据和业务规则。
在MVC的三个部件中,模型拥有最多的处理任务。
例如它可能用像EJBs和ColdFusion Components这样的构件对象来处理数据库,被模型返回的数据是中立的,就是说模型与数据格式无关,这样一个模型能为多个视图提供数据,由于应用于模型的代码只需写一次就可以被多个视图重用,所以减少了代码的重复性。
控制器接受用户的输入并调用模型和视图去完成用户的需求,所以当单击Web页面中的超链接和发送HTML表单时,控制器本身不输出任何东西和做任何处理。
它只是接收请求并决定调用哪个模型构件去处理请求,然后再确定用哪个视图来显示返回的数据。
2。
4.2 jsp+servlet+javabean开发模式jsp开发模式2采用Servlet+jsp+JavaBean的技术实现java web的开发.使用jsp开发模式2的开发步骤为:(1)定义一系列的Bean来表示数据。
(2)使用一个Servlet来处理请求。
(3)在Servlet中填充Bean。
(4)在Servlet中,将Bean存储到请求,会话或者Servlet上下文中。
(5)将请求转到jsp页面。
(6)在jsp页面中,从Bean中提取数据.jsp开发模式2借MVC架构模式,采用Servlet+jsp+JavaBean的技术实现java web的开发。
其中,Servlet充当控制器的角色,负责处理请求和控制业务流程,jsp充当视图的角色,负责输出响应结果,JavaBean充当模型的角色,负责具体的业务逻辑和业务数据。
3 UML建模语言3.1 基本概念统一建模语言(UML,UnifiedModelingLanguage)是面向对象软件的标准化建模语言。
UML因其简单、统一的特点,而且能表达软件设计中的动态和静态信息,目前已成为可视化建模语言的工业标准。
在软件无线电系统的开发过程中,统一建模语言可以在整个设计周期中使用,帮助设计者缩短设计时间,减少改进的成本,使软硬件分割最优。
在UML系统开发中有三个主要的模型:功能模型:从用户的角度展示系统的功能,包括用例图。
对象模型:采用对象、属性、操作、关联等概念展示系统的结构和基础,包括类图、对象图、包图动态模型:展现系统的内部行为,包括序列图、活动图、状态图. 3。
1.1 对象图对象图(Object Diagram) 是显示了一组对象和他们之间的关系。
使用对象图来说明数据结构,类图中的类或组件等的实例的静态快照。
对象图和类图一样反映系统的静态过程,但它是从实际的或原型化的情景来表达的。
对象图显示某时刻对象和对象之间的关系。
一个对象图可看成一个类图的特殊用例,实例和类可在其中显示.对象也和合作图相联系,合作图显示处于语境中的对象原型(类元角色).对象图是类图的实例,几乎使用与类图完全相同的标识。
他们的不同点在于对象图显示类的多个对象实例,而不是实际的类.一个对象图是类图的一个实例。
由于对象存在生命周期,因此对象图只能在系统某一时间段存在。
3。
1。
2 类图显示了一组类、接口、协作以及他们之间的关系。
在UML中问题域最终要被逐步转化,通过类来建模,通过编程语言构建这些类从而实现系统。
类加上他们之间的关系就构成了类图,类图中还可以包含接口、包等元素,也可以包括对象、链等实例。
3。
1。
3 类图主要用来描述用户、需求、系统功能单元之间的关系。
它展示了一个外部用户能够观察到的系统功能模型图。
3.2 模型视图3。
2.1 用例图用例图是指由参与者(Actor)、用例(Use Case)以及它们之间的关系构成的用于描述系统功能的静态视图.用例图(User Case)是被称为参与者的外部用户所能观察到的系统功能的模型图,呈现了一些参与者和一些用例,以及它们之间的关系,主要用于对系统、子系统或类的功能行为进行建模。
参与者:参与者不是特指人,是指系统以外的,在使用系统或与系统交互中所扮演的角色。
因此参与者可以是人,可以是事物,也可以是时间或其他系统等等。
还有一点要注意的是,参与者不是指人或事物本身,而是表示人或事物当时所扮演的角色。
比如小明是图书馆的管理员,他参与图书馆管理系统的交互,这时他既可以作为管理员这个角色参与管理,也可以作为借书者向图书馆借书,在这里小明扮演了两个角色,是两个不同的参与者。
参与者在画图中用简笔人物画来表示,人物下面附上参与者的名称。
用例:是对包括变量在内的一组动作序列的描述,系统执行这些动作,并产生传递特定参与者的价值的可观察结果.这是UML对用例的正式定义,对我们初学者可能有点难懂。
我们可以这样去理解,用例是参与者想要系统做的事情.对于对用例的命名,我们可以给用例取一个简单、描述性的名称,一般为带有动作性的词。
用例在画图中用椭圆来表示,椭圆下面附上用例的名称.用例之间的关系:包含关系,泛化关系,扩展关系.3。
2.2 活动图活动图阐明了业务用例实现的工作流程。
业务工作流程说明了业务为向所服务的业务主角提供其所需的价值而必须完成的工作。
业务用例由一系列活动组成,它们共同为业务主角生成某些工件.工作流程通常包括一个基本工作流程和一个或多个备选工作流程。
工作流程的结构使用活动图来进行说明。
可以使用垂直实线将活动图划分为泳道。
每条泳道代表整个工作流程的某个部分的职责,该职责由组织的某个部门来执行。
泳道最终可以由组织单元或者业务对象模型中的一组类来实施.泳道之间的排序并不会影响语义。
每个活动状态都指派了一条泳道,而转移则可能跨越数条泳道。
3。
2。
3 顺序图顺序图是将交互关系表示为一个二维图。
纵向是时间轴,时间沿竖线向下延伸。
横向轴代表了在协作中各独立对象的类元角色。
类元角色用生命线表示.当对象存在时,角色用一条虚线表示,当对象的过程处于激活状态时,生命线是一个双道线。
4 需求分析4.1 管理员需求分析4。
1.1 管理员用例图管理员用例图包括添加试卷、添加题目、查询试卷、查询题目四个用例,其中添加试卷和查询试卷用例都包含查询题目用例。
管理员用例图见图2图2 管理员用例图(1)查看试卷用例用例名称:查看试卷用例编号:1用例描述:当管理员需要了解系统所存试卷情况时可以点击查询试卷,查询相应试卷情况。
前置条件:管理员成功登录。
后置条件:将查询结果显示在相应页面。
活动步骤:1 管理员进入管理员页面.2 点击查询试卷。