第7章-集成化面向对象环境——CASE

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

1/66梁昌勇信息系统分析、设计与开发方法第7章集成化面向对象环境——CASE2/661CASE概述2集成化CASE环境3集成化面向对象的CASE工具4RdtionalRose简介5在RdtionalRose环境下建立UML模型6案例目录3/667.1CASE概述•CASE的概念计算机辅助软件工程(ComputerAidedSoftwareEngineering,简称CASE)是指在软件工程活动中,软件工程师和管理员按照软件工程的方法和原则,借助于计算机及其软件工具的帮助,开发、维护、管理软件产品的过程。•基本思想:结合信息系统开发的各种具体方法,在完成对目标系统的规划和详细调查以后,如果整个信息系统开发过程的每一步都相对独立且在一定程度上彼此形成对应的关系,则整个系统开发就可以应用专门的软件开发工具和集成开发环境来实现。就是提供一组能够自动覆盖软件开发生命周期各个阶段的集成的、减少劳动力的工具。1CASE概述4/667.1CASE概述1CASE概述•CASE技术:一种为信息系统开发、维护和项目管理提供自动化工程原理的软件技术,包括自动化、结构化方法和自动化工具。•CASE系统:一种集成化CASE工具,使用一个公共的用户接口,并在一个公共的计算机环境下运行。•CASE工作台:被设计用来协同工作以实现整个信息系统软件生命周期自动化的一组集成CASE工具。•CASE工具:对某个具体的信息系统软件生命周期的任务实现自动化或者部分自动化的一种软件工具。•CASE工具箱:一组用来协同工作以实现某个信息系统软件生命周期阶段或某类具体信息系统软件作业自动化(半自动化)的集成CASE工具。5/66•CASE三大作用:(1)有助于实现一个具有快速响应、资源专用和早期查错功能的交互式开发环境;(2)可以通过一个强有力的图形接口实现直观的程序设计;(3)能对系统开发、维护过程中的各个环节实现自动化。7.1CASE概述1CASE概述6/66•CASE目标是:(1)全面实施一种或多种系统开发方法;(2)提供高效率的原型建立手段;(3)提供自动检查提高软件质量;(4)提高系统开发过程的速度和简化系统维护,使系统开发人员精力集中于开创性工作;(5)提高软件可重用度。7.1CASE概述1CASE概述7/66•CASE所涉及到的技术主要有两类:一类是支持软件开发过程本身的技术;另一类是支持软件开发过程管理的技术。•按照CASE工具使用的目的和功能,可以将它们划分为以下几类:(1)用于需求分析的CASE工具。该类CASE工具用于客户的事务系统规划,建立专用事务信息系统模型。(2)用于系统分析和设计的CASE工具。该类CASE工具用于建造系统模型。(3)用于系统实现的CASE工具。该类CASE工具用于软件程序编码。7.1CASE概述2CASE种类8/66(4)用于系统测试的CASE工具。该类CASE工具能自动对软件进行静态、动态模拟测试和相应的测试管理。(5)用于系统维护的CASE工具。该类CASE工具用于支持软件维护。(6)用于项目管理的CASE工具。该类CASE工具用于协助项目管理人员估算项目工作量、成本和制定进度计划。(7)用于框架支撑的CASE工具。该类CASE工具用于支持软件开发、维护的全过程。(8)用于智能化原型建模的CASE工具。该类CASE工具属于智能化专家系统,支持某一专业领域的原型建模。7.1CASE概述2CASE种类9/66•按照CASE系统对软件过程的支持范围:(1)支持单个过程任务的工具。工具可能是通用的,或者也可能归组到工作台。(2)工作台支持某一过程所有活动或某些活动。它们一般以或多或少的集成度组成工具集。(3)环境支持软件过程所有活动或至少大部分。它们一般包括几个不同的工作台,将这些工作台以某种方式集成起来。•按照CASE工具支持的过程,可分为设计工具、编程工具、维护工具等。7.1CASE概述2CASE种类10/66•图稿绘制(1)visio:这是目前国内用得最多的case工具。(2)smartdraw:校园里比较流行的绘图软件。•原码浏览的工具(1)SourceInsight:以工程的方式管理原码,提供非常适合再工程的浏览手段。(2)SourceNavigator:它是从RedhatLinux版本移植到win32下的,提供原码高亮显示和编辑,提供头文件的包含关系分析,提供类的层次关系,最大的特点是把原码始终和文件联系在一起,提供到文件的导航。(3)Dia:完全免费的CASE工具,主要用于画图。7.1CASE概述3常见CASE工具11/66•配置管理工具(1)VirsualSourceSafe:简称VSS,微软的studio企业版包含的版本管理工具。该工具包括一服务器和一通过网络可以连接服务器的客户端。(2)PVCS:PVCS是世界领先的软件开发管理工具,是公认的事实上的工业标准。全球的著名企业、软件机构、银行等诸多行业及政府机构几乎无一例外地应用了PVCS。PVCS包含PVCSVersionManager、PVCSTracker、PVCSNotify、PVCSRequisitePro等多种工具。(3)ClearCase:ClearCase是rational公司的主要配置管理工具,提供了VOB的概念来进行配置管理,功能极其强大,是世界上目前最强大的配置管理工具之一。(4)CVS:在linux和unix下系统自带的版本控制工具,功能强大。7.1CASE概述3常见CASE工具12/66•数据库建模(1)CAERWin/CABPWin:两个都是CA公司的产品,是强大的数据库建模工具。BPWin是CASE工具里一个里程碑似的产品。ERWin界面简洁,采用ER模型,适合开发中小型数据库。(2)ER/Studio:数据库建模工具,结合Repository,可进行VSS式的版本控制。(3)PowerDesign:Sybase推出的数据库设计工具。PowerDesign致力于采用基于Entiry-Relation的数据模型,分别从概念数据模型(ConceptualDataModel)和物理数据模型(PhysicalDataModel)两个层次对数据库进行设计,还有逆向工程,再工程支持,目前还支持UML建模。7.1CASE概述3常见CASE工具13/66•UML建模UML建模工具众多,包括RationalRose、XDE、BorlandTogether、PowerDesigner、VisualParadigm、Jude、MagicDraw、ObjecteeringUML、SystemArchitect,等等。RationalRose是高端CASE工具。7.2集成化CASE环境7.1CASE概述3常见CASE工具14/66•采用一种客观的CASE工具的评价、选择与采用机制,对软件组织选用合理的CASE工具,提高生产率,改进软件开发过程是十分必要的。•1995年,国际标准化组织和国际电工委员会发布了一项国际标准,即ISO/IEC14012《信息技术CASE工具的评价与选择指南》。它指出:软件组织若想在开发工作开始时选择一个最适当的CASE工具,有必要建立一组评价与选择CASE工具的过程和活动。7.1CASE概述4CASE工具的选择与采用15/66•国际标准化组织和国际电工委员会于1999年发布了一项针对CASE工具采用的技术报告(ISO/IECTR14471:1999《信息技术CASE工具的采用指南》),根据CASE工具的各种特性,将采用工作划分为准备、评价和选择、试验、转换等4个主要过程、4个子过程和13个活动。•评价和选择CASE工具的过程,实际上是一个根据组织的要求,按照ISO/IEC9126《信息技术软件产品评价质量特性及其使用指南》中描述的软件产品评价模型所提供的软件产品的质量特性和子特性,以及CASE工具的特性进行技术评价与测量,以便从中选择最适合的CASE工具的过程。7.1CASE概述4CASE工具的选择与采用16/66•随着计算机辅助软件工程技术的不断发展,越来越多的软件组织希望选用适当的CASE工具来支持他们的一部分或全部的软件生存期过程。因此,按照一定的规范进行CASE工具的评价、选择与采用工作,不仅是十分必要的,也是可行的。ISO/IEC14102和ISO/IEC14471两个标准在这方面起到了十分有益的指导作用。7.1CASE概述4CASE工具的选择与采用17/66•一个完善的CASE环境具有以下特征:(1)能生成结构化的图形接口;(2)能存储和管理所有系统信息的中心信息库;(3)具有由设计规格说明自动生成代码的工具,具有辅助每个阶段的工具;(4)共享一个公共接口的高度集成化的软件工具包;(5)在工具中实现能进行各类检查的信息系统软件生命周期方法论。7.2集成化CASE环境1CASE环境18/66为提供全面的软件开发支持,一个完整的CASE环境应具有图形、查错、中心信息库、高度集成化工具包、全面覆盖系统开发生命周期、支持建立系统原型、支持代码自动生成、支持结构化方法论等功能。需要说明的是,规格说明语言、图形工具、建立系统原型工具、词典、DBMS、编译程序以及各类生成程序都是构成CASE环境的各种工具,所有工具必须通过集成才能形成完善的CASE环境。7.2集成化CASE环境1CASE环境19/66一个软件开发机构首先应对承接项目的特点、职员的技术水平和管理水平进行分析,确定软件开发的方法、模型、规范,并在此基础上,分析市场上CASE工具的功能、特点等因素,从而选出能够更加有效地支持本机构的软件开发方法、规模和规范的CASE工具,因而能进一步构建集成化CASE工具支持的软件开发环境。7.2集成化CASE环境2CASE工具的集成化20/66集成化CASE环境的功能要求(1)共享软件工程信息库。存储软件项目在生命周期内的所有信息,如项目合同、计划、进度、需求分析文档、设计报告、模型、程序模块和测试用例的等,环境下所有工具都可访问,是集成化环境的核心。(2)任务分解与软件质量控制。自动对软件项目进行任务分解,方便对其进行定量计划管理。对项目管理和采用的技术进行量化,以控制开发过程和软件质量。(3)风格一致的界面和方便、安全、可靠的操作管理机制。如使用者可以简单、方便、随机地调用环境中的各种CASE工具,提供由于某一信息的修改引起的可能变动的其他相关联信息,形成风格一致、友好、安全的用户界面,支持开发人员之间相互信息沟通,对软件工程信息提供版本和系统配置管理,等等。7.2集成化CASE环境2CASE工具的集成化21/66集成化CASE环境的系统层次结构集成化CASE环境的系统结构由4个层次组成:系统支持层系统服务层系统集成框架层CASE工具层。7.2集成化CASE环境2CASE工具的集成化22/667.2集成化CASE环境2CASE工具的集成化CASE工具层系统集成框架层系统服务层系统支持层图7-1集成化CASE环境的系统层次结构23/66系统类型活动结构化方法(方案1)面向对象方法(方案2)大中型软件系统系统建模分析设计测试(1)系统建模:objectmaker,playcase(2)数据库建模:ErwinSQA(黑盒测试),safepro/c,TestBytes(数据库测试),C程序测试分析系统分析设计:objectmaker数据库建模:Erwin(可选)SQATestBytesSafepro/c++文档项目管理Bpwin、Erwin等工具提供报表功能CCC/Harvest用paradigmplus中的publisher可生成项目文档CCC/Harvest7.2集成化CASE环境2CASE工具的集成化面向大中型系统开发的CASE工具集成方案24/66•在集成方案设计中,需要考虑以下几点因素:一是掌握各CASE工具间的接口和信息关系,使各CASE工具间能够通信,高端CASE工具的信息向低端CASE工具能流畅传递,进而使工具之间、人员之间、软件工程各过程之间均能便利地通信,从而支持软件生存周期各过程。二是较

1 / 62
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功