收藏 分享(赏)

第4讲--需求分析工具.ppt

上传人:weiwoduzun 文档编号:4193286 上传时间:2018-12-14 格式:PPT 页数:30 大小:99.52KB
下载 相关 举报
第4讲--需求分析工具.ppt_第1页
第1页 / 共30页
第4讲--需求分析工具.ppt_第2页
第2页 / 共30页
第4讲--需求分析工具.ppt_第3页
第3页 / 共30页
第4讲--需求分析工具.ppt_第4页
第4页 / 共30页
第4讲--需求分析工具.ppt_第5页
第5页 / 共30页
点击查看更多>>
资源描述

1、1,第4讲 需求分析工具与设计工具,一、需求工程1.定义需求工程是需求的供需双方采取被证明行之有效的原理、方法,通过使用适当的工具和符号体系,正确、全面地描述用户待开发系统的行为特征、约束条件的过程。需求工程的结果是对待开发系统给出清晰的、一致的、精确的并且无二义性的需求模型(Model),并通常以SRS(需求规格说明书)的形式来定义待开发系统的所有外部特征。该模型实际上是对用户在不同需求层次上的模拟性说明,是用户的“业务世界(可系统化业务对象)”向由软硬件组成的“电脑世界”建立一映射的过程。,2,2.开发人员需求工程涉及的角色(不要与人相混淆,角色是指一种职责,同一个人可以担当多种角色)包括

2、客户方(客户、系统使用者)、系统分析师、项目开发及管理人员。其中系统分析师起到桥梁工程师的作用,负责完成用户“业务世界(可系统化业务对象)”逻辑向由软硬件组成的“电脑世界”逻辑的获取和转换过程。 3. 需求工程3个阶段需求工程包括需求获取、需求生成和需求验证3个阶段。,3,4. 其他要求业务需求(business requirement)反映了用户对系统和产品的高层次的目标要求,它们是用户组织机构流程的再现和模拟,是从用户组织机构工作流程的角度进行的需求描述。用户需求(user requirement)描述了用户使用产品必须要完成的任务,一般通过用例或方案脚本予以说明。它是从系统使用者的角度对

3、待开发系统进行的需求描述。UML中的用例图描述的正是该方面的需求。功能需求(functional requirement)定义了开发人员必须实现的软件功能,从而使得用户能完成任务,满足其业务需求。功能需求针对的是系统开发人员,一般情况大多通过文档对功能需求进行定义和说明。,4,二、需求分析工具需求分析工具应用于软件生命周期的第一个阶段,即软件开发的需求分析阶段。它是能够辅助系统分析人员对用户的需求进行提取、整理、分析并最终得到完整而正确的软件需求分析式样,从而满足用户对所构建的系统的各种功能、性能需求的辅助手段。它可以是符号、图形体系或是某个具体的软件(一般是 CASE具)。需求分析阶段对整个

4、软件周期的作用至关重要,同样,需求分析工具的产品特性将直接影响到下一阶段工具的选择与使用。,5,1分类(1)从自动化程度来看,需求分析工具可以分为两类以人工方式为主的需求分析工具。人工方式为主的工具为系统分析师们提供了一种意义明确的技术(通常附有某种图形、符号的表示方式),该技术使得需求分析工作能够系统地进行。虽然该技术可以由一个或多个自动工具来协助实施,但是分析和规格说明却仍然要求人工实现。以自动化方式为主的需求分析工具。过去的10年中,对于需求规格说明已经有了一些自动工具。在证实人工描述系统的一致性和完善性的过程中所遇到的困难促使形成了一种自动方式。该方式通过保证需求信息的一致性和完整性来

5、实现需求分析的自动化。,6,(2)从支持分析设计技术的角度,需求分析工具分为下面几类支持传统的结构化方法的需求分析工具。这类工具的共同特点是支持数据流程图的生成和分解,支持对数据流程图的索引,同时支持数据字典的生成和管理。不少工具还支持程序结构图的生成和分解。面向对象分析的需求分析CASE工具。这类工具支持OMT、OOSE、Booch)等面向对象的方法。就目前来讲,不少市面的面向对象分析的需求工具均支持UML的全部或是一部分(主要针对基于用例的面向对象方法),从内容上讲这类工具至少支持用例分解和描述。用例索引的生成等。,7,原型化分析的需求分析工具。该类工具支持画面的快速生成,能够较快地生成用

6、户界面,不少工具自身内建了标准的代码模板,经过简单修改后能够生成系统的大致框架以供用户和系统分析师参考。原型化分析的需求工具特别适合于RAD开发。基于其他方法的需求分析工具。这类工具往往针对特定的领域,因为在这些领域需要专有化的方法来进行需求分析。比如实时系统一般采用的Petri网技术就属于该类型。,8,(3)根据需求工具和客户的业务领域的关系,需求分析工具划分为多类比如 ERP领域需求分析工具、实时领域的需求分析工具和其他业务领域的需求分析工具等。目前需求分析工具非常多,而且大多与设计、乃至代码生成工具组合在一起,从而使得开发人员使用时可以非常方便地从需求分析阶段平滑地过渡到设计阶段,然后再

7、过渡到代码阶段。,9,2需求分析工具的功能特性和衡量标准 作为需求分析的 CASE具应当尽可能满足下列特性。 (1)针对结构化方法多种分析与设计方法(SA、SADT、面向数据结构等);作为采用结构化方法的需求分析工具应当支持 DFD(数据流程图)的编辑功能。包括图形、文字的添加删除、修改、块搬移、块复制等;数据字典自动生成与管理功能。即根据用户对数据及其相互关系的描述,自动生成数据字典,并最终生成数据关系图以及数据流程图;一致性检查功能,即对涉及的所有数据项进行检查,防止产生数据项命名、重名、数据流向等错误。,10,(2)针对面向对象方法支持典型的多种面向对象方法(OMT,Booch, OOS

8、E,UML等);支持类定义和类关系描述;支持对象复用;支持对象交互描述;一致性检查,检查对象关系的逻辑一致性,防止产生对象重名、消息流向和关系标识误用等错误。,11,(3)一些共性支持信息仓储(repository;支持业务反向工程;支持版本控制;脚本支持;支持生成需求分析规格说明书;能够改进用户和分析人员以及相关开发人员之间的通信状况;方便、灵活、易于掌握的图形化界面;需求分析工具产生的图形应易于理解并尽量符合有关业务领域的业界标准;支持扩展标记语言(XML);支持多种文件格式的导出和导入;有形式化的语法域表),能够供计算机进行处理;必须提供分析(测试)规格说明书的不一致性和冗余性的手段,并

9、且应该能够产生一组报告指明对完整性分析的结果。,12,3. 衡量一个需求分析CASE工具功能强弱的主要依据所支持的需求分析方法的类型与数量的多少。优秀的需求分析工具应支持尽可能多的分析方法和符号体系。使用的方便程度。优秀的需求分析工具应支持图形用户界面,并提供详细的帮助文档和示例,使用户易学易用。与设计工具衔接的程度。优秀的结构化需求分析工具所产生的数据流程图和数据字典,优秀的面向对象的需求分析工具产生的用例图、对象交互图、类图等可以无任何阻碍地为后继的设计工具所使用。所占资源,即系统开销的多少以及对硬件环境的需求程度。优秀的需求分析工具应当占用尽可能少的资源,并且对硬件环境的需求很低。是否提

10、供需求错误检测机制,好的需求分析工具应当提供不一致性和冗余性方面的校验甚至纠错的功能。用户领域知识提示功能。针对专门领域建模的需求分析工具应当提供该领域的知识提示,并通过相应的用语信息库和流程信息库来帮助分析人员快速掌握客户领域的知识。,13,三、需求分析方法与需求分析工具1. 软件需求分析的方法与工具软件需求分析的方法与工具众多,常用的需求分析方法有Yourdon公司的结构化分析方法 SA(Structured Analysis)、IDEF方法系列、面向对象的分析方法 OOA(ObjectOriented Analysis)。,14,常用的需求分析图形工具有:UML(Unified Mode

11、ling Language);数据流图 DFD(Data Flow Diagram);数据词典DD(DataDictionary);判定表(Decision Table);判定树(Decision Tree);结构化高级分析语言;层次图 HC(Hierarchy Chart);输人处理输出图 IPO;Warnier图;结构化分析与设计技术 SADT;软件需求工程方法SREM;问题描述语言与问题描述分析器 PSL/PSA。,15,2. 典型方法(1)结构化方法历史悠久,比较成熟,并且已经形成了一整套规范、标准,涵盖了分析设计的各个方面,如分析设计的基本语言、分析设计的过程、分析设计的规范与分析设

12、计工具的结合,甚至包括分析设计文档的标准。因而。结构化方法仍然具有强大的生命力。(2)面向对象编程技术目前已比较成熟,但面向对象技术应用于软件分析设计阶段的时间还不是很长,UML虽然已经成为事实上的工业标准,但是仍然处于不断发展、修正的过程中。并且,UML是建模语言,它不是方法,它不包含应用的过程,尽管这使得UML可以应用于任何过程之中,但这恰恰说明,从软件开发过程的角度来看,面向对象分析设计方法过程标准的形成还需要一定的时间。,16,(3)产品线方法,与传统的单项目开发的主要不同在于关注点的转移。产品线工程对开发以重用和使用重用来开发有明确的区分。对比传统的重用,产品线基础设施包括产品开发周

13、期的所有资产,而不只是在代码级的重用。产品线方法的四个主要原则:可变性管理(每个产品都是核心资产的变体,必须系统化的管理产品的可变性,这对业务分析的要求就更高了);商业驱动(产品线瞄准的是长期的商业战略,而不是仅仅走单);架构驱动(产品线工程依赖一个通用的参考架构,特定项目架构都基于参考架构进行开发);两阶段生命周期(每个产品基于平台开发,产品和平台有各自的开发团队和开发生命周期)。,17,四、需求分析 CASE工具的具体使用 1BPwin简介BPwin 美国 Computer Association公司出品的用于业务流程可视化、分析和提高业务处理能力的建模CASE环境。采用BPwin不但能降

14、低与适应业务变化相关的总成本和风险,还使企业能识别支持其业务的数据并将这些信息提供给技术人员,保证他们在信息技术方面的投资与企业目标一致。因此,BPwin作为信息化的业务建模工具被广泛地、成功地应用于许多位居财富500强的大企业、国防部及美国政府等其他部门。,18,BPwin的特色体现在以下几个方面。(1)提供功能建模、数据流建模和工作流建模BPwin可使项目分析员的分析结果从3大业务角度(功能、数据及工作流)满足功能建模人员、数据流建模人员和工作流建模人员的需要。(2)将与建立过程模型有关的任务自动化BPwin可将与建立过程模型有关的任务自动化,并提供逻辑精度以保证结果的正确一致。(3)为复

15、杂项目的项目分析小组成员提供统一的分析环境BPwin成员可方便地共享分析结果,且BPwin可利用内部策略机制,理解并判断业务过程分析结果,自动优化业务过程分析结果,对无效、浪费、多余的分析行为进行改进、替换或消除。(4)可与模型管理工具ModelMart集成使用不论从管理方面还是安全方面,BPwin与ModelMart集成使用都会使得设计大型复杂软件的工作变得十分方便。Modelmart会为BPwin分析行为增加用户安全性、检人(checkin)。检出(checkout)、版本控制和变更管理等功能。,19,(5)可与数据建模工具ERin集成使用BPwin可与数据库工具ERwin双向同步。使用B

16、Pwin可进一步验证ERwin数据模型的质量和一致性,抓取重要的细节,如数据在何处使用,如何使用,并保证需要时有正确的信息存在。这一集成保证了新的分布式数据库和数据仓库系统在实际中对业务需求的支持。(6)符合美国政府FIPS标准和IEEE标准支持美国军方系统的IDEFO和IDEF3方法,使得开发人员能够从静态和动态角度对企业业务流程进行建模,支持传统的结构化分析方法并能根据DFD模型自动生成数据字典。此外BPwin还支持模型和模型中各类元素报告的自动生成,生成的文档能够被Microsoft Word和Excel等编辑。(7)易于使用,支持Unicode可以在各种不同语言环境的Windows平台

17、上使用。,20,2.Power Designer简介Power Designer是Sybase公司的CASE工具集,使用它可以方便地对管理信息系统进行分析设计,它几乎包括了数据库模型设计的全过程。利用Power Designer可以制作数据流程图、概念数据模型、物理数据模型,可以生成多种客户端开发工具的应用程序,还可为数据仓库制作结构模型,也能对团队设计模型进行控制。它可与许多流行的数据库设计软件,例如:PowerBuilder,Delphi,VB等相配合使用来缩短开发时间和使系统设计更优化。,21,(1)Power Designer主要功能:DataArchitect,利用实体-关系图为一个

18、信息系统创建“概念数据模型“CDM。并且可根据CDM产生基于某一特定数据库管理系统的“物理数据模型“-PDM。 ProcessAnalyst,用于创建功能模型和数据流图,创建处理层次关系。 AppModeler,为客户/服务器应用程序创建应用模型。 ODBC Administrator,此部分用来管理系统的各种数据源。,22,(2)Power Designer的4种模型文件:概念数据模型 (CDM),表现数据库的全部逻辑的结构,与任何的软件或数据储藏结构无关。 一个概念模型经常包括在物理数据库中仍然不实现的数据对象。物理数据模型 (PDM),叙述数据库的物理实现。面向对象模型 (OOM),一个

19、OOM包含一系列包,类,接口, 和他们的关系。这些对象一起形成所有的 ( 或部份) 一个软件系统的逻辑的设计视图的类结构。 业务程序模型 (BPM),描述业务的各种不同内在任务和内在流程,而且客户如何以这些任务和流程互相影响。BPM 是从业务合伙人的观点来看业务逻辑和规则的概念模型,使用一个图表描述程序,流程,信息和合作协议之间的交互作用。,23,五、软件设计概要 1. 软件设计所产生的设计成果应该满足下面的需求满足需求规格说明书中所指定的功能需求和非功能需求。符合设计相关条件的限制。程序设计阶段的开发人员依照该设计成果能够构造出系统。,24,2. 如何产生一个好的软件设计,如下这些设计原则可

20、供参考软件设计应该体现为和谐的层次结构,即层次化,低一级的层次是上一层的精化。软件设计应尽量地模块化。软件设计应该遵循从概念结构到实现结构的转化原则,是从抽象到具体的过程。软件设计中应该考虑到信息的隐蔽性(可视性)。软件设计中的模块之间应该尽量地独立。,25,六、软件设计CASE工具任何设计总是需要一定的表述工具(广义概念,包括文字、图表、符号等)进行设计的表述,这些设计表述工具和支持这些表述的CASE环境(工具)总是和特定的软件设计方法相结合。在传统软件工程中设计阶段分为概要设计和详细设计两个步骤。面向结构化方法的设计 CASE具的基本功能是辅助设计人员依据需求分析阶段产生的数据流程图以及数

21、据字典和其他相关图表(判定树、判定表等)对系统进行设计,以完成系统的概要设计及详细设计,最后产生逐步细化的模块结构图、各模块和模块参数的详细定义的软件设计及其相应文件。面向对象的分析设计工具则是对用例分析得到用例模型进行分析转化,最后生成序列图和类图等反映系统构造关系的过程。由于面向对象分析在分析模型和设计模型是对同样的图(例:类图)的精化过程,因此分析和设计过程不存在明显的分界线(实际上有关的界线应该根据不同的软件生命周期和具体的开发流程来确定,所以无须在这个问题上争论不休)。,26,1. 支持结构化的CASE设计工具至少应具备的功能支持多种设计方法(SA、SADT、面向数据结构等)。能够定

22、义全局结构图。作为采用结构化方法的需求分析工具应当支持模块结构图的编辑功能。包括图形和文字的添加、删除、修改、模块搬移、模块复制等,支持模块索引的生成。一致性检查功能,这些一致性包括模块的命名规则、接口参数顺序、连接顺序的一致性等;支持相关软件结构定义文档报告的生成。,27,2. 应用在面向对象的软件工程方法中的CASE设计工具应具备的功能支持典型的多种面向对象方法(OOAOOD、OMT、Booch、OOSE等)。支持类和对象的不同层次的视图。支持类和对象的描述,自动建立相关类图和对象图的索引。支持用户自定义类型和“模板类”的描述。针对不同平台(程序语言),能够生成相应的框架代码。支持相关文档

23、报告的生成。工具应能让多个用户在同一个模型上协同工作。,28,3. 衡量一个设计 CASE具功能强弱的主要依据所支持的设计方法的类型与数量的多少。优秀的设计工具应支持尽可能多的设计方法和尽可能多的符号体系。使用的方便程度。优秀的设计工具应支持图形用户界面(GUI),并提供了详细的帮助文档和示例,使用户易学易用。需要的人工干预是否减到了最低限度。优秀的设计工具基本上实现了设计的半自动化或自动化。生成的结构对代码生成阶段的代码生成工具是否可直接使用。 所占资源,即系统开销的多少以及对硬件环境的要求程度。优秀的设计工具应当占用尽可能少的资源,并且对硬件环境的要求很低。是否提供设计错误检测机制。好的软

24、件设计工具应当提供设计不一致性和冗余性方面的校验甚至纠错的功能。,29,七、结构化设计方法与工具1.结构化设计概要结构化设计主要是在叨世纪70年代由Constantine和Yourdon等人在总结了程序设计实践经验的基础上发展起来的。结构化设计是从整个程序的总体结构出发。突出程序模块层次性和调用的一种设计方法,它利用程序结构图表达程序模块之间的关系。由于数据流程图和程序结构图之间有一定的映射关系,因此结构化设计可以和需求分析所采用的结构化分析方法很好地进行衔接。2. 所采用的工具总体设计阶段:程序结构图、层次图。详细设计阶段:程序流程图、盒图(NS图)、PAD图、判定树、判定表、过程设计语言(PDL)。,30,Thanks!,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报