第4讲 需求分析工具
18
(5)可与数据建模工具ERin集成使用 BPwin可与数据库工具ERwin双向同步。使用BPwin可进一步验证 ERwin数据模型的质量和一致性,抓取重要的细节,如数据在何处使 用,如何使用,并保证需要时有正确的信息存在。这一集成保证了新 的分布式数据库和数据仓库系统在实际中对业务需求的支持。 (6)符合美国政府FIPS标准和IEEE标准 支持美国军方系统的IDEFO和IDEF3方法,使得开发人员能够从静 态和动态角度对企业业务流程进行建模,支持传统的结构化分析方法 并能根据DFD模型自动生成数据字典。此外BPwin还支持模型和模型 中各类元素报告的自动生成,生成的文档能够被Microsoft Word和 Excel等编辑。 (7)易于使用,支持Unicode 可以在各种不同语言环境的Windows平台上使用。
1
2.开发人员 需求工程涉及的角色(不要与人相混淆,角色是指 一种职责,同一个人可以担当多种角色)包括客户方 (客户、系统使用者)、系统分析师、项目开发及管 理人员。其中系统分析师起到桥梁工程师的作用,负 责完成用户“业务世界(可系统化业务对象)”逻辑 向由软硬件组成的“电脑世界”逻辑的获取和转换过 程。 3. 需求工程3个阶段 需求工程包括需求获取、需求生成和需求验证3个阶 段。
◎商业驱动(产品线瞄准的是长期的商业战略,而不是仅仅走 单); ◎架构驱动(产品线工程依赖一个通用的参考架构,特定项目 架构都基于参考架构进行开发);
◎两阶段生命周期(每个产品基于平台开发,产品和平台有各 自的开发团队和开发生命周期)。
16
四、需求分析 CASE工具的具体使用
1.BPwin简介 BPwin 美国 Computer Association公司出品的用于业 务流程可视化、分析和提高业务处理能力的建模CASE环 境。采用BPwin不但能降低与适应业务变化相关的总成本 和风险,还使企业能识别支持其业务的数据并将这些信 息提供给技术人员,保证他们在信息技术方面的投资与 企业目标一致。因此,BPwin作为信息化的业务建模工具 被广泛地、成功地应用于许多位居《财富》500强的大企 业、国防部及美国政府等其他部门。
17
BPwin的特色体现在以下几个方面。 (1)提供功能建模、数据流建模和工作流建模 BPwin可使项目分析员的分析结果从3大业务角度(功能、数据及工 作流)满足功能建模人员、数据流建模人员和工作流建模人员的需要。 (2)将与建立过程模型有关的任务自动化 BPwin可将与建立过程模型有关的任务自动化,并提供逻辑精度以保 证结果的正确一致。 (3)为复杂项目的项目分析小组成员提供统一的分析环境 BPwin成员可方便地共享分析结果,且BPwin可利用内部策略机制, 理解并判断业务过程分析结果,自动优化业务过程分析结果,对无效、 浪费、多余的分析行为进行改进、替换或消除。 (4)可与模型管理工具ModelMart集成使用 不论从管理方面还是安全方面,BPwin与ModelMart集成使用都会使 得设计大型复杂软件的工作变得十分方便。Modelmart会为BPwin分析 行为增加用户安全性、检人(checkin)。检出(checkout)、版本控 制和变更管理等功能。
7
(3)根据需求工具和客户的业务领域的关系,需求分析 工具划分为多类 比如 ERP领域需求分析工具、实时领域的需求分析工 具和其他业务领域的需求分析工具等。 目前需求分析工具非常多,而且大多与设计、乃至代码 生成工具组合在一起,从而使得开发人员使用时可以非常 方便地从需求分析阶段平滑地过渡到设计阶段,然后再过 渡到代码阶段。
三、需求分析方法与需求分析工具
1. 软件需求分析的方法与工具 软件需求分析的方法与工具众多,常用的需求分析 方法有Yourdon公司的结构化分析方法 SA (Structured Analysis)、IDEF方法系列、面向对象 的分析方法 OOA(Object-Oriented Analysis)。
15
(3)产品线方法,与传统的单项目开发的主要不同在于关注点 的转移。产品线工程对开发以重用和使用重用来开发有明确的区 分。对比传统的重用,产品线基础设施包括产品开发周期的所有 资产,而不只是在代码级的重用。产品线方法的四个主要原则: ◎可变性管理(每个产品都是核心资产的变体,必须系统化的 管理产品的可变性,这对业务分析的要求就更高了);
6
原型化分析的需求分析工具。该类工具支持画面的快 速生成,能够较快地生成用户界面,不少工具自身内建 了标准的代码模板,经过简单修改后能够生成系统的大 致框架以供用户和系统分析师参考。原型化分析的需求 工具特别适合于RAD开发。 基于其他方法的需求分析工具。这类工具往往针对特 定的领域,因为在这些领域需要专有化的方法来进行需 求分析。比如实时系统一般采用的Petri网技术就属于该 类型。
2
4. 其他要求
业务需求(business requirement)反映了用户对系统和产 品的高层次的目标要求,它们是用户组织机构流程的再现和模 拟,是从用户组织机构工作流程的角度进行的需求描述。 用户需求(user requirement)描述了用户使用产品必须要 完成的任务,一般通过用例或方案脚本予以说明。它是从系统 使用者的角度对待开发系统进行的需求描述。UML中的用例图 描述的正是该方面的需求。 功能需求(functional requirement)定义了开发人员必须实 现的软件功能,从而使得用户能完成任务,满足其业务需求。 功能需求针对的是系统开发人员,一般情况大多通过文档对功 能需求进行定义和说明。
4
1.分类 (1)从自动化程度来看,需求分析工具可以分为两类 以人工方式为主的需求分析工具。人工方式为主的工具 为系统分析师们提供了一种意义明确的技术(通常附有某 种图形、符号的表示方式),该技术使得需求分析工作能 够系统地进行。虽然该技术可以由一个或多个自动工具来 协助实施,但是分析和规格说明却仍然要求人工实现。 以自动化方式为主的需求分析工具。过去的10年中,对 于需求规格说明已经有了一些自动工具。在证实人工描述 系统的一致性和完善性的过程中所遇到的困难促使形成了 一种自动方式。该方式通过保证需求信息的一致性和完整 性来实现需求分析的自动化。
第4讲 需求分析工具与设计工具
一、需求工程 1.定义 需求工程是需求的供需双方采取被证明行之有效的原理、 方法,通过使用适当的工具和符号体系,正确、全面地描述用 户待开发系统的行为特征、约束条件的过程。需求工程的结果 是对待开发系统给出清晰的、一致的、精确的并且无二义性的 需求模型(Model),并通常以SRS(需求规格说明书)的形 式来定义待开发系统的所有外部特征。该模型实际上是对用户 在不同需求层次上的模拟性说明,是用户的“业务世界(可系 统化业务对象)”向由软硬件组成的“电脑世界”建立—一映 射的过程。
13
常用的需求分析图形工具有: ·UML(Unified Modeling Language); ·数据流图 DFD(Data Flow Diagram); ·数据词典DD(Data-Dictionary); ·判定表(Decision Table); ·判定树(Decision Tree); ·结构化高级分析语言; ·层次图 HC(Hierarchy Chart); ·输人处理输出图 IPO; ·Warnier图; ·结构化分析与设计技术 SADT; ·软件需求工程方法SREM; ·问题描述语言与问题描述分析器 PSL/PSA。
11
3. 衡量一个需求分析CASE工具功能强弱的主要依据
·所支持的需求分析方法的类型与数量的多少。优秀的需求分析 工具应支持尽可能多的分析方法和符号体系。 ·使用的方便程度。优秀的需求分析工具应支持图形用户界面,并 提供详细的帮助文档和示例,使用户易学易用。 ·与设计工具衔接的程度。优秀的结构化需求分析工具所产生的数 据流程图和数据字典,优秀的面向对象的需求分析工具产生的用例图、 对象交互图、类图等可以无任何阻碍地为后继的设计工具所使用。 ·所占资源,即系统开销的多少以及对硬件环境的需求程度。优秀 的需求分析工具应当占用尽可能少的资源,并且对硬件环境的需求很 低。 ·是否提供需求错误检测机制,好的需求分析工具应当提供不一致 性和冗余性方面的校验甚至纠错的功能。 ·用户领域知识提示功能。针对专门领域建模的需求分析工具应当 提供该领域的知识提示,并通过相应的用语信息库和流程信息库来帮 助分析人员快速掌握客户领域的知识。 12
8
2.需求分析工具的功能特性和衡量标准 作为需求分析的 CASE具应当尽可能满足下列特性。 (1)针对结构化方法 · 多种分析与设计方法(SA、SADT、面向数据结构等); · 作为采用结构化方法的需求分析工具应当支持 DFD(数 据流程图)的编辑功能。包括图形、文字的添加删除、修 改、块搬移、块复制等;数据字典自动生成与管理功能。 即根据用户对数据及其相互关系的描述,自动生成数据字 典,并最终生成数据关系图以及数据流程图; · 一致性检查功能,即对涉及的所有数据项进行检查,防 止产生数据项命名、支持典型的多种面向对象方法(OMT,Booch, OOSE,UML等); · 支持类定义和类关系描述; · 支持对象复用; · 支持对象交互描述; · 一致性检查,检查对象关系的逻辑一致性,防止 产生对象重名、消息流向和关系标识误用等错误。
10
(3)一些共性 ·支持信息仓储(repository; ·支持业务反向工程; ·支持版本控制; ·脚本支持; ·支持生成需求分析规格说明书; ·能够改进用户和分析人员以及相关开发人员之间的通信状况; ·方便、灵活、易于掌握的图形化界面; ·需求分析工具产生的图形应易于理解并尽量符合有关业务领域的 业界标准; ·支持扩展标记语言(XML); ·支持多种文件格式的导出和导入; ·有形式化的语法域表),能够供计算机进行处理; ·必须提供分析(测试)规格说明书的不一致性和冗余性的手段, 并且应该能够产生一组报告指明对完整性分析的结果。
5
(2)从支持分析设计技术的角度,需求分析工具分为 下面几类 支持传统的结构化方法的需求分析工具。这类工具的 共同特点是支持数据流程图的生成和分解,支持对数据 流程图的索引,同时支持数据字典的生成和管理。不少 工具还支持程序结构图的生成和分解。 面向对象分析的需求分析CASE工具。这类工具支持 OMT、OOSE、Booch)等面向对象的方法。就目前来 讲,不少市面的面向对象分析的需求工具均支持UML的 全部或是一部分(主要针对基于用例的面向对象方法), 从内容上讲这类工具至少支持用例分解和描述。用例索 引的生成等。