购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

2.1 知识准备

2.1.1 功能结构图

1. 功能结构图的定义

功能结构图是对硬件、软件、解决方案等进行解剖,详细描述功能列表的结构、构成等而描绘或画出来的结构图。从概念上讲,上层功能包括(或控制)下层功能,越上层功能越笼统,越下层功能越具体。功能分解的过程就是一个由抽象到具体、由复杂到简单的过程。如某美容美发会员管理系统功能结构图如图2-1所示。

2. 功能结构图的设计

功能结构的建立是设计者的设计思维由发散趋向于收敛、由理性化变为感性化的过程。它是在设计空间内对不完全确定设计问题或相当模糊设计要求的一种较为简洁和明确的表示,它以图框形式简单地表示系统间输入与输出的相互关系,是概念设计的关键环节。

图2-1 某美容美发会员管理系统功能结构图

功能结构图设计过程就是把一个复杂的系统分解为多个功能较单一的过程。而这种分解为多个功能较单一的模块的方法称作模块化。模块化是一种重要的设计思想,这种思想把一个复杂的系统分解为一些规模较小、功能较简单、更易于建立和修改的部分,一方面,各个模块具有相对独立性,可以分别加以设计实现;另一方面,模块之间的相互关系(如信息交换、调用关系),则通过一定的方式予以说明,各模块在这些关系的约束下共同构成统一的整体,完成系统的各项功能。

3. 功能结构图的作用

功能结构图主要是为了更加明确地体现内部组织关系,更加清晰地厘清内部逻辑关系,做到一目了然地规范各自的功能部分,并使之条理化。

4. 功能结构图的应用范围

功能结构图多应用于程序开发、工程项目施工、组织结构分析、网站设计等模块化场景。

5. 绘制功能结构图工具

绘制功能结构图的工具非常多,例如Photoshop、Fireworks、Word 2010、Microsoft Visio等。

2.1.2 用例图

用例图主要用来描述用户、需求、系统功能单元之间的关系,它展示了一个外部用户能够观察到的系统功能模型,它的主要作用是帮助开发团队以一种可视化的方式理解系统的功能需求。

1. 用例图包括的内容

用例图包括参与者(Actor)、用例(Use Case)、子系统(Subsystem)、关系(Relation)等元素。

(1)参与者

参与者表示与应用程序或系统进行交互的用户、组织或外部系统,可以用一个小人表示,如图2-2所示。

(2)用例

用例是对包括变量在内的一组动作序列的描述。系统执行这些动作,并产生传递特定参与者价值的可观察结果。对于用例的命名,可以给用例起一个简单、描述性的名称,一般为带有动作性的词,用例在画图中用椭圆来表示,椭圆里面附上用例的名称,如图2-3所示。

图2-2 参与者

图2-3 用例

(3)子系统

子系统用来展示系统的一部分功能,这部分功能联系紧密。以下是学籍管理系统的学生信息管理子系统用例,如图2-4所示。

图2-4 学籍管理系统的学生信息管理子系统用例

(4)关系

用例图中涉及的关系有关联、泛化、包含、扩展,具体见表2-1。

表2-1 用例关系表

①关联(Association):表示参与者与用例之间的通信,任何一方都可发送或接收消息。箭头指向消息接收方。

箭头指向:指向父用例,如图2-5所示。

图2-5 学生与查询课程成绩用例的关联关系

②泛化(Inheritance):就是通常理解的继承关系。子用例和父用例相似,但表现出更特别的行为,子用例将继承父用例的所有结构、行为和关系。

箭头指向:指向父用例,如图2-6所示。

图2-6 管理员与超级管理员、普通管理员的泛化关系

③包含(Include):包含关系用来把一个较复杂用例所表示的功能分解成较小的步骤。

箭头指向:指向分解出来的功能用例,如图2-7所示。

图2-7 维护产品信息用例与添加、修改、删除产品信息用例关系

④扩展(Extend):扩展关系是指用例功能的延伸,相当于为基础用例提供一个附加功能。

箭头指向:指向基础用例,如图2-8所示。

图2-8 买电器用例与满1000送100用例、买一送一用例关系

2. 用例规约

用例图在总体上大致描述了系统所能提供的各种服务,让人对系统的功能有一个总体的认识。除此之外,还需要描述每一个用例的详细信息,这些信息包含在用例规约中。用例模型是由用例图和每一个用例的详细描述——用例规约所组成的。通常用例规约包含以下内容。

(1)简要说明(Brief Description):简要介绍该用例的作用和目的。

(2)事件流(Flow of Event):包括基本流和备选流,事件流应该表示出所有的场景。

(3)用例场景(Use-Case Scenario):包括成功场景和失败场景,场景主要是由基本流和备选流组合而成的。

(4)特殊需求(Special Requirement):描述与该用例相关的非功能性需求(包括性能、可靠性、可用性和可扩展性等)和设计约束(所使用的操作系统、开发工具等)。

(5)前置条件(Pre-Condition):执行用例之前系统所处的状态。

(6)后置条件(Post-Condition):用例执行完毕后系统可能处于的一种状态。

用例规约基本上是用文本方式来表述的。为了更加清晰地描述事件流,也可以选择使用状态图、活动图或序列图来辅助说明。只要有助于表达简洁明了,就可以在用例中任意粘贴用户界面和流程的图形化显示方式,或是其他图形。

以下为某网站管理员发布新闻文章的用例,如图2-9所示;描述用例的规约见表2-2。

图2-9 网站管理员发布新闻文章用例

表2-2 网站管理员发布新闻文章用例规约

3. 绘制用例图的工具

为了方便地将用户行为、多系统协作、功能性需求等用图示展现出来,带有用例图的产品需求说明书可以使开发人员更容易理解,既提高工作效率,又减少了沟通成本,因此,作为项目设计人员或开发人员,熟练掌握一个用例设计工具是非常有必要的,常用的工具有Rational Rose、StarUML等。

(1)Rational Rose简介

Rational Rose是IBM公司出品的一种面向对象的统一建模语言的可视化建模工具。用于可视化建模和公司级水平软件应用的组件构造。确切地说是面向对象的建模工具。通过Rational Rose,可以清晰地把一些烦琐的业务实现原理、对象协调流程通过图示表达出来。Rational Rose提供了用例图、类图、序列图、状态图、活动图、组件图、部署图等。

(2)StarUML简介

StarUML是一款开放源码的UML开发工具,是由韩国公司主导开发出来的产品,利用这款工具可以绘制用例图、类图、序列图、状态图、活动图、通信图、模块图、部署图、复合结构图等9款UML图,绘制完成后可导出JPG、JPEG、BMP、EMF和WMF等格式的图片文件,使用非常方便。 n39HmjzuFYvKX7vvXCdudC1Y8A1mHlhKVrx3dmMBiIo5ilNC5r91xEX4J9SJwpbL

点击中间区域
呼出菜单
上一章
目录
下一章
×