需求模型基础(Requirement model basics)
Requirements Model(RQM) 是一种文档式模型,它通过准确恰当地列出,解释开发过程程中需要实现的功能行为来描述待开发项目。你可以为开发过程中需要使用到的各种结构化技术文档(功能或技术规格说明书,测试计划)而使用Requirements Model.
Requirements Model以下面两种视图呈现(而不是以图表形式):
需求文档视图 对一系列公共属性进行编号
可编辑行矩阵 单元格代表了当前需求与设计对象,外部文件或其它需求的联系
Requirements Model 允许你可以:
对一结构化技术文档建立需求模型
检查现有或引入的模型
对需求和设计对象(其它类型模型)建立联系
对其它设计对象建立需求模型,或反之通过需求模型建立其它设计类型
从需求模型生成或更新MS Word文档,提供用户一符合需求模型的MS Word文档
从现有MS Word文档生成或更新相应的需求模型
各对象之间关系如下图所示:
Requirements Model 应该包括如下特定对象(Object):
Object |
Description |
Requirement |
功能行为的名称或内容,可以是父级或子级需求的一部分,它应该在被指派给用户或群(Groups)前被准确定义说明 |
Glossary term |
用于需求模型中的词汇,它应该被正确定义说明以避免误解,建立一定的通用规则 |
User |
至少与某一需求有关的个人实体 |
Group |
至少与某一需求有关的用户(user)群体 |
由于Requirements Model中没有图表,以上各对象均没有与之对应的图象符号。需求是以图表视图形式列出,可编辑矩阵视图显示出需求和各设计对象,外部文件或其它需求之间的联系。
新建Requirements Model
下面以我自己最近的项目过程为例逐步讲解各过程:
项目简介:这是个类似动网或CSDN的论坛系统,参考了它们的功能设计,主要用于本人练习N层架构的学习。
建立需求模型:
建立完成的需求视图
首先我们要新建一Workspace作为整个系统各种模型,文档与报告信息集合。
启动PowerDesigner,这时会默认打开一个Workspace,单击鼠标右键->选择”Close”,这样我们完成了关闭原来Workspace,同时新建Workspace的工作。接下来就是在其中添加各种模型了。
新建Requirements Model
点击File->New或鼠标右键单击Workspace->New->Requirement Model可以看到新建模型属性选项框如下:
选择左边Requirements Model,其它为默认设置,确定,OK!
下面我们对新建的RQM进行先进行一些基本属性设置:
在资源浏览窗口中右键单击刚建好的RQM->Properties或直接双击对应RQM,直接进去模型属性设置Model Properties,如下图所示:
现在你可以进行自己想要设置了。这里我们将Name,Comment分别进行基本设置,同时系统默认Name和Code是一致的,Name用来进行分析描述,为了形象明了可以使用中文,而Code则和后期的具体设计有关,如用于编码设计,一般多用英文加数字等标准命名(仅供参考)。
同时我们可以看到在新建RQM时也自动建立了一个模型视图(View),接下来我们就要对该视图(View)进行编辑以建立需求模型,根据前面需求模型简介介绍的相关RQM视图知识,需求模型可以用文档视图的形式表示,后续的大部分工作只有对View进行编辑就OK了!
先看看完成后的需求视图吧!
这里的各系统需求是按层次排列的,这样也使需求文档视图能和标准的层次化Word/rtf文档能进行相互转换。可以通过视图上方的工具栏进行全面的需求模型建设。
添加需求(Requirement):
点击需求文档视图工具栏上”Insert a Row”工具或点击需求文档视图的空白区
这样一个预先默认自定义的需求已经添加在文档视图中,如下所示:
编辑需求属性
双击需求TitleID左边的箭头(arrow)或单击需求文档视图工具栏最左边的Properties工具即进入属性属性编辑。
其中除了TitleID栏之外每栏都处于可编辑状态的。
注:箭头
属性各栏目对应着文档视图中的各可编辑栏。这里我们可以设置各需求的详细内容和描述信息,比如标题(Title),需求描述(Description),优先级(Priority),风险(Risk),状态(Status),工作量(Workload)等详细内容。详细设置信息请参考示例文件。
若要更改文档视图中的可见栏目,可以通过单击需求文档视图工具栏中Customize Columns and Filter工具,进入
现在可以选择您想要显示的栏目了。
这样我们就基本上完成了系统需求的设计过程,依此多次操作完成如下系统需求文档视图基本框架:
后面的工作就是对其中各Requirement做进一步的细化,对各需求模块做更为细致的划分,即分层细化,这样也和层次化的文档吻合。这里我们以对Functional Requements的设计为例进行讲解,先看看细化完成后的需求文档视图(部分):
现在让我们开始吧!
方法一:
需求文档视图,选中Functional Requirements->点击视图工具栏”Insert Sub-Object”工具(而不是”Insert a Row”工具),这样就在Functional Requirements中插入了一个子对象。
方法二:
于左边资源管理窗口Requirements目录下右键单击相应需求名称->New->Requirement即可。如下图:
现在只要对新插入的子对象进行详细的内容编辑设计即可,同样地我们也可以对各子对象通过再次添加子对象作进一步的细化工作。
如果要提升或降低某部分的需求层次,则可以通过工具栏中的Promote和Demote来实现调整。
定义Users和Groups
Users(用户) 指在一个需求模型中至少和一个已定义需求有关的人的集合。
Groups(组) 指专属于开发进程中一个或多个方面的用户类别。每个用户组要与需求模型中至少一个已定义需求有关。
新建User/Group
在资源浏览窗口中,右键单击模型名称(图标)-->NewàUser/Group,打开User或Group属性窗口,输入相应名称和代码名,确定即完成新建。
同样也可在菜单栏选择”Model”àUsers/Groups完成新建过程。
下一步是将相应的User与Group联系,添加进Group中,打开相应的Group属性,选择Group Users属性栏
点击属性工具栏中”Add Objects”工具,从中选择您要添加的User对象,当然只有在您已经建立了相应的User对象时才会显示User成员列表。
现在选择您需要添加的User对象,确定就可以了。
建立Business rules(业务规则)
业务规则是对为了满足业务需求,模型应该包括的特定内容或关于如何构建模型方面的描述清单。在这里的示例模型中,我们要定义关于论坛积分制度的业务规则,具体业务规则内容见参考文档。
在Requirement Model状态下,PowerDesgner默认Businss为不可用状态,为此我们需要通过新建Extended model definition(扩展模型定义)来激活Business rules。
步骤如下:
选择菜单栏”Model”à Extended Model Definitions,这时打开List of Extended Model Definitions,通过选择其工具栏中”Add a Row”工具,如下图:
点击Apply即在资源浏览窗口中添加Extended Model Definitions目录。
在资源浏览器中打开Extended Model Definitions目录,双击相应扩展模型定义左边图标
即打开Extended Model Definition Propreties
现在可以在右边输入extended model definition的Name,Code等信息。
选择左边窗口中”Profile”目录,右键单击在上下文菜单中选择”Add Metaclasses…”,这时可以看到Metaclass Selection对话框,选择PdCommon页,在Metaclass选择列表中选定BusinessRule
点击OK,现在可以在Profile目录下看到BusinessRule了,点击OK!已经完成了BusinessRule的激活。
完成上述激活步骤后我们就可以执行Business Rules的新建了。
在资源浏览器窗口中右键单击当前需求模型->选择”New”,或通过选择菜单栏上Model,你可以看到Business Rule(s)选项了,选择执行,设定详细业务规则属性内容就OK了,示例模型中我们完成了三个关于论坛积分制度方面的业务规则,可以查看参考文档,不再赘述!
接下来我们为示例模型添加术语表(glossary term)
选择菜单栏Model->Glossary terms,进入List of Glossary terms对话框
选择工具栏上”Add a Row”工具,进行glossary term编辑。
或通过资源浏览器中也同样能执行添加术语操作。
若目标系统比较大,功能较多,也可以通过在系统模型中添加文件夹(package)来方便管理,也能使整个模型更清晰,具有层次性。
到这我们就已经基本完成了整个需求模型,接下来让我们来与word文档协调工作且生成内容全面的需求报告文档。
从需求模型生成Word文档
资源浏览窗口中,右键单击当前模型名称或图标->选择”Export as Word Document”
或在菜单栏中选择Tools->Export as Word Document...,这时文档生成就开始执行,输出窗口会显示对当前模型的检验信息,这里我们对其中的Warning就忽略不作考虑了。
片刻后会弹出
选择空白文档,单击确定,你可以看到文档输出了!
生成的文档如
其中红色部分文字表示与当前模型联接的信息,如果已经确定需求模型,要生成最终文档作为分析成果,可以通过在MS Word菜单栏上选择”Requirements”->Detach the Document from the Requirements Model,这样就实现了最终文档与需求模型的分离,同时生成的文档也没有那些红色的联接信息了。
在没有将文档与模型分离时,我们还可能在PowerDesigner中对需求模型进行修改,这时我们可以对文档执行更新操作,同时对符合层次化标准的Word文档,也可以将其转化为相应的需求模型。
需求模型的个人见解就到此为止,要申明的是:以上内容只是对PowerDesigner提供的需求建模功能的大概说明,其中太多细节还需日后使用过程中慢慢掌握。