《软件工程》实验指导书(实验一).doc_第1页
《软件工程》实验指导书(实验一).doc_第2页
《软件工程》实验指导书(实验一).doc_第3页
《软件工程》实验指导书(实验一).doc_第4页
《软件工程》实验指导书(实验一).doc_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

.实验1 软件工程概念与相关工具1.1软件工程的计算环境(实验估计时间:90 分钟)1.1.1 背景知识软件工程学主要研究如何以较少的代价获得高质量的软件,而要达到这个目的,就必须研究软件开发方法和软件开发工具。 软件开发方法就是开发软件的规范化方法。软件工具是指能支持软件生存周期中某一阶段(如系统定义、需求分析、设计、编码、测试或维护等)的需要而使用的软件系统;软件开发环境则是面向软件整个生存周期,为支持各个阶段的需要,在基本硬件和宿主软件的基础上使用的一组软件系统。软件工具和软件开发环境都是软件工程的重要支柱,对于提高软件生产率,改进软件质量,以及适应计算机技术的迅速发展有着越来越大的作用。从20世纪70年代末开始,专家们就致力于软件开发自动化工具的研究,并逐步形成了应用于软件过程的集成的项目支撑环境(Integrated Project Support Environment) 和计算机辅助软件工程(CASE,Computer-Aided Software Engineering)工具。在此基础上建立集成式软件开发环境,全面支持软件开发过程,以期实现软件设计过程的自动化或半自动化。1.1.2 实验目的1)理解软件工程的基本概念,熟悉软件、软件生存周期、软件生存周期过程和软件生存周期各阶段的定义和内容。2)通过 Internet 搜索与浏览,了解网络环境中主流的软件工程技术网站,掌握通过专业网站不断丰富软件工程最新知识的学习方法,尝试通过专业网站的辅助与支持来开展软件工程应用实践。1.1.3 工具/准备工作在开始本实验之前,请预习教科书第一章的相关内容。需要准备一台带有浏览器、能够访问因特网的计算机。1.1.4 实验内容与步骤1)请查阅有关资料,给“软件”下一个权威性的定义:软件(中国大陆及香港用语,台湾作软体,英文:Software)是一系列按照特定顺序组织的计算机数据和指令的集合。一般来讲软件被划分为编程语言、系统软件、应用软件和介于这两者之间的中间件。软件并不只是包括可以在计算机(这里的计算机是指广义的计算机)上运行的电脑程序,与这些电脑程序相关的文档一般也被认为是软件的一部分。简单的说软件就是程序加文档的集合体。另也泛指社会结构中的管理系统、思想意识形态、思想政治觉悟、法律法规等等。这个定义的来源是:/view/37.htm2)“软件生存周期”是软件工程技术的重要基础,是对软件的长远发展的看法,这种看法把软件开始开发之前和软件交付使用之后的一切活动都包括在软件生存周期之内。请查阅有关资料,给出“软件生存周期”的定义:软件生存周期(SDLC,软件生命周期)是软件的产生直到报废的生命周期,周期内有问题定义、可行性分析、总体描述、系统设计、编码、调试和测试、验收与运行、维护升级到废弃等阶段,这种按时间分程的思想方法是软件工程中的一种思想原则,即按部就班、逐步推进,每个阶段都要有定义、工作、审查、形成文档以供交流或备查,以提高软件的质量。但随着新的面向对象的设计方法和技术的成熟,软件生命周期设计方法的指导意义正在逐步减少。这个定义的来源是:/view/178747.htm3)“软件生存周期过程”概念进一步完善了关于软件生存周期的定义,其主要内容是:软件工程的传统途径是生命周期法,强调结构化分析,结构化设计.1. 生命周期法的起源人类解决复杂问题时普遍采用的一个策略是各个击破,也就是对问题进行分解,然后再分别解决各个子问题的策略.软件工程采用的生命周期法,就是从时间角度对软件开发和维护的复杂问题进行分解,把软件生存的漫长周期依次划分为若干个阶段,每个阶段有相对独立的任务,然后再逐步完成每个阶段的任务.2.1 软件生命周期2. 生命周期划分的原则各阶段的任务彼此间尽可能相对独立,同一个阶段各项任务的性质尽可能相同,从而降低每个阶段任务的复杂性,简化不同阶段之间的联系,有利于软件开发过程的组织管理.3. 生命周期的划分软件生命周期一般分为:软件定义(问题定义,可行性研究,需求分析),软件开发(总体设计,详细设计,编码和单元测试,综合测试),软件使用与维护等三个时期.生命周期法各阶段的工作小结生命周期法各阶段的工作小结2.1 软件生命周期4. 生命周期法的特点阶段具有顺序性和依赖性推迟实现的观点质量保证的观点每个阶段都必须完成规定的文档每个阶段结束前都要对所完成的文档进行评审,以便尽早发现问题,改正错误.这个定义内容的来源是:/z/q50212169.htm4)由于工作对象和范围的不同以及经验的不同,对软件生存周期过程中各阶段的划分也不尽相同。但是,这些不同划分中有许多相同之处。相关的软件工程国家标准把软件生存周期划分为8个阶段,这8个阶段是:系统分析可行性分析需求分析概要设计详细设计编写代码用户测试运行与维护你认为把软件生存周期划分为不同阶段的意义何在:同任何事物一样,一个软件产品或软件系统也要经历孕育、诞生、成长、成熟、把整个软件生存周期划分为若干阶段,使得每个阶段有明确的任务,使规模大。5)上网搜索和浏览,了解软件工程技术的应用情况,看看哪些网站在做着软件工程的技术支持工作?并将搜索结果记录下来。目前软件工程9个专业的内容和就业情况如下: 1 可视化编程 掌握程序设计方法及可视化技术,精通一种可视化平台及其软件开发技术。获取Delphi程序员系列、Java初级或VB开发能手认证。 就业方向:企业、政府、社区、各类学校等可视化编程程序员。 2 WEB应用程序设计 具有美工基础和网页动画设计能力,掌握交互式网页程序的设计技术,能进行网站建设和维护。获取Macromedia多媒体互动设计师或Delphi初级程序员或Delphi快速网络开发工程师认证。 就业方向:企业、政府、社区、各类学校等WEB应用程序员。 3 软件测试 掌握软件测试的基本原理、方法和组织管理,精通软件测试工具。获取ATA软件测试工程师或Delphi初级程序员或Java初级程序员认证。 就业方向:企业、政府、社区、各类学校等软件测试员。 4 数据库管理 能应用关系范式进行数据库设计,精通SQL语言,胜任数据库服务器管理与应用工作。获取Oracle数据库管理或SQL Server数据库应用或Windows XP应用认证。 就业方向:企业、政府、社区、各类学校等部门的中、大型数据库管理员。 5 图形图像制作 精通国际上流行的图形/图像制作工具(如CorelDraw、Photoshop、Pagemaker等)。获取平面设计师相关的认证。 就业方向:广告制作公司、建筑设计公司、包装装璜设计公司、居室装修公司、出版印刷公司。 6 网络构建技术 熟悉网络结构和组网方式,掌握建网方法,能利用工具分析和排除常见网络故障。获取Cisco路由配置或华为网络工程或AMP应用工程师认证。 就业方向:企业、政府、社区、各类学校等网络构建工程师。 7 网络系统管理 掌握网络系统管理的基本知识与应用技能,能进行网络系统的安全设置。获取Window2000 Server或TurboLinux TLCE或Cisco路由配置专家认证。 就业方向:企业、政府、社区、各类学校等网络系统管理员。 8 多媒体制作 具有多媒体程序设计与多媒体制作策划的能力。基本掌握面向对象程序设计与建模、造型设计、场景设计、分镜头原理等技能。获取多媒体设计师相关的认证。 就业方向:多媒体设计与制作公司、动画美术制作出版公司、广告制作公司。 9 计算机办公应用 精通办公自动化应用与管理,熟悉服务器的安装、管理和维护,基于应用服务器的相关服务和软件系统,具备对服务器的网络安全设置、邮件、网页发布、FTP、OA、BBS等系统的应用和维护能力。 就业方向:企业、政府、社区、各类学校等系统管理提示:一些软件工程专业网站的例子包括www.51CMM.COM(软件工程专家网)www.SA-SE.COM(系统分析&软件工程网)www.SERCenter.COM(软件工程研究中心)www.UML.NET.CN(火龙果软件工程-UML 软件工程组织)你习惯使用的网络搜索引擎是:百度、google你在本次搜索中使用的关键词主要是:软件工程的现状与未来表 1-1 软件工程专业网站实验记录网站名称网址内容描述软件工程专家网系统分析在本实验中将你感觉比较重要的2个软件工程专业网站记录下来: 网站名称: 网站名称:综合分析,你认为各软件工程专业网站当前的技术(如培训内容)热点是: 名称:主要内容: 名称:主要内容: 名称:主要内容:1.2工具、环境与CASE(实验估计时间:90分钟)1.2.1 背景知识软件工程的主要目标是提高软件生产率,改善软件质量和降低软件成本,而这些目标的实现必须依靠软件工具、软件开发环境和计算机辅助软件工程(CASE)的广泛应用。1. 软件工具软件工具是“可用来帮助和支持软件需求分析、软件开发、测试、维护、模拟、移植或管理等目的而编制的计算机程序或软件。”它一般是为专门应用而开发,其主要目的是为了提高软件生产率和改善软件的质量。如今,软件工具重视用户界面的设计,不断地采取新理论和新技术,正由单个工具向多个工具集成的方向发展,且注重工具间的平滑过渡和互操作性。软件工具的商品化推动着软件产业的发展,而软件产业的发展,又增加了对软件工具的需求,促进了软件工具的商品化进程。软件工具的范围很广,它既包括比较成熟的传统工具,如操作系统、编译程序、解释程序和汇编程序等,又包括支持软件生存周期各阶段,如需求分析、设计、编码、测试、维护等的开发和管理工具。例如,一项分类标准把软件工具分为13类,它们是系统模拟和模型工具、需求追踪工具、需求分析工具、设计工具、 编码和单元测试工具、测试和集成工具、文档工具、项目管理工具、配置管理工具、质量保证工具、度量工具、软件再用工具、其他工具。2. 软件开发环境软件开发环境是指在计算机基本软件的基础上,为了支持软件的开发而提供的一组工具软件系统。1985年第八届国际软件工程会议提出的关于“软件开发环境”的定义是:“软件开发环境是相关的一组软件工具集合,它支持一定的软件开发方法或按照一定的软件开发模型组织而成。”一般说来,软件开发环境都具有层次式的结构,例如可区分为四层:1)宿主层:它包括基本宿主硬件和基本宿主软件。2)核心层:包括工具组、环境数据库、通信设施和运行时刻支持设施。3)基本层:包括一组工具,如编译程序、编辑程序、调试程序、连接程序和装配程序等。这些工具都是由核心层来支持的。4)应用层:以特定的基本层为基础,包括一些补充工具,借以更好地支持各种应用软件的研制。按内容分,软件开发环境一般由环境数据库、接口软件和工具组等构成。1)环境数据库。这是软件开发环境的核心,其中存放的信息有被研制软件在其生存周期中所必需的信息和软件研制工具的有关信息等。例如,它把经过各种软件工具加工后的软件产品和半成品(如各种文件、源代码及测试数据)存入库内,以便根据需要进行查询、修改或输出等。在环境数据库中,可以分别标识的信息组称为对象;作为一组相关的版本而存在的一组对象称为版本组。把一个项目中各个不同的“对象组”组合起来,就可以构成各种不同的软件配置。2)接口软件。包括系统与用户的接口、子系统和子系统之间的接口。开发环境要求所有的接口都具有统一性。例如,为了实现用户和各种系统的通信,要求有统一调用方式。3)工具组。软件开发环境中的工具彼此有交互作用。工具组中的各个工具被设计成由一些基本功能成分组成。这些成分可以组合,供用户选用,并且可通过环境数据库进行通信。 语言工具。它一般提供编译(或解释)程序、连接装配程序、调试程序、 静态及动态分析程序等一系列语言支撑工具。也有的系统支持非过程语言的运行。 质量保证工具。目前大量使用的仍是静态、动态测试技术以及各种形式的评审技术。与形式方法相联系的程序证明和验证技术已为许多专家所重视。 需求分析及设计工具。主要由文本编辑工具、图形工具及一致性检验工具等支持。 配置管理工具。对于不同用户或不同的硬件配置,一个系统往往需不同的软件配置;即使同一软件也有不同的版本;加上软件产品的修改需要进行严格的管理等原因,软件的配置管理已成为软件生产管理的重要课题。软件开发环境的发展方向是集成化的软件工程环境,即软件生存周期中各个阶段的开发环境(工具与支持系统)集成为一致的用户接口,包括制定各种标准接口。以下一些名称具有相同或类似的含义:软件开发环境(SDE)、软件工程环境(SEE)、软件支持环境(SSE)、项目支持环境(PSE)、自动开发环境(ADE)、 集成化程序设计环境(IPE)、工具盒(Toolbox)、工具箱(Toolkit)。3. 计算机辅助软件工程(CASE)CASE 是一组工具和方法的集合,用来辅助软件开发生命周期各阶段进行软件开发,它是软件开发管理、软件开发方法、软件开发环境和软件工具等方面研究和发展的产物,CASE 把软件开发技术、软件工具和软件开发方法集成到一个统一的框架中,并且吸取了计算机辅助设计(CAD)、软件工程、操作系统、数据库、 网络和许多其他计算机领域的原理和技术。因而,从产业角度讲,CASE 是种类繁多的软件开发和系统集成的产品及软件工具的集合。CASE 可以简单到单个工具,它支持某个特定的软件工程活动,或者复杂到一个完整的环境,包含了工具、数据库、人员、硬件、网络、操作系统、标准以及许多其他部件。CASE的构造积木块如图 1-1 所示。每个构造积木块是形成其上一层的基础,而 CASE工具位于构造积木块的顶部。 环境体系结构由硬件平台和操作系统(包括网络和数据库管理软件)构成, 铺设了CASE的基石。但是,CASE 环境本身要求其他的构造积木块。一组可移植服务提供了CASE工具及其集成框架与环境体系结构间的连接桥梁。集成框架是一组专用程序,它们使得单个的 CASE工具可以和其他工具相互通信,能够创建项目数据库,以及使终端用户(软件工程师)看到同样的软件界面。可移植服务允许CASE工具及其集成框架能够跨越不同的硬件平台和操作系统使用,而不需要大量的相应修改。某些CASE工具保持“点解决方案”,即工具被用于辅助某个特定的软件工程活动(如分析建模),但并不直接和其他工具通信,不关联到一个项目数据库,也不是某个集成CASE环境的一部分。这种方案虽然不很理想,但CASE工具仍可以被有效地使用。对 CASE 工具的分类,可以根据功能、它们被作为管理工具还是技术工具、它们在软件工程过程各个步骤中的使用、支撑它们的环境体系结构(硬件和软件)、或者它们的起源或价格来划分。按使用的功能来进行分类,主要有: 信息工程工具。 过程建模和管理工具。 项目计划工具。 风险分析工具。 项目管理工具。 需求跟踪工具。 度量和管理工具。 文档工具。 系统软件工具。 质量保证工具。 数据库管理工具。 软件配置管理工具。 分析和设计工具。 原型和仿真工具。 界面设计和开发工具。 原型工具。 编程工具。 集成和测试工具。 静态分析工具。 动态分析工具。 测试管理工具。 客户/服务器测试工具。 再工程工具。4GB/T158531995软件支持环境GB/T158531995软件支持环境规定了软件支持环境(software support environment)的基本要求,软件开发支持环境的内容及实现方法,以及对软件生存期支持部门软件支持能力的具体要求,适用于软件支持环境的设计、建立、管理和评价。GB/T158531995 定义的软件支持环境由一个宿主机系统,加上其他有关的设备和规程而构成。它能对目标机系统(或对功能和物理上相关的一组目标机系统)的软件提供全面的支持,包括性能评价、系统与软件生成、开发与修改测试、模拟与仿真、培训、软件集成、配置管理、软件的运行分配。软件支持环境又分为软件开发支持环境和软件生存期支持环境两种类型。前者是由软件开发单位确定、并经任务委托单位认可的资源,用于支持合同项目中的软件需求;而后者是由软件生存期支持部门使用的(属于任务委托单位的)资源,用于为指定的目标机系统提供整个生存期内的软件支持。1.2.2 实验目的1)熟悉软件工具、软件开发环境以及 CASE 工具的基本概念及其分类。2)了解主流的软件工具和软件开发环境产品。3)通过 Internet 搜索与浏览,了解软件工具、软件开发环境和 CASE 工具的发展与应用状况,进一步掌握通过专业网站丰富软件工程最新知识的学习方法,尝试通过专业网站的辅助与支持来开展软件工程应用实践。4)了解 GB/T15853-1995软件支持环境的相关内容。1.2.3 工具/准备工作在开始本实验之前,请预习教科书第一章的相关内容。请联系指导老师或者熟识软件工程技术的人士,如软件企业的职员和具有丰富开发经验的老师等,了解他(她)们所在的企业或开发团队在软件研发活动中, 是否使用以及使用了哪些软件工程的工具和开发支持环境,在什么地方可以找到关于这些软件工具、开发环境和 CASE 工具的技术资料和信息。需要准备一台带有浏览器、能够访问因特网的计算机。1.2.4 实验内容与步骤在本实验中,我们复习相关的技术概念,列举并简单介绍一些主流和优秀的软件工具、软件开发环境和 CASE 工具产品。1. 软件工具、开发环境和 CASE 的概念在软件工程技术中,无论采用哪一种开发方法,重要的是要尽可能地使用自动化工具来提高系统开发工作的速度和质量。1)请查阅有关资料(例如教材、本实验的“背景知识”和专业网站等),结合自己的理解,给出“软件工具”、“软件开发环境”和“CASE 工具”的定义: 软件工具:软件工具是指为支持计算机软件的开发、维护、模拟、移植或管理而研制的程序系统。它是为专门目的而开发的,在软件工程范围内也就是为实现软件生存期中的各种处理活动(包括管理、开发和维护)的自动化和半自动化面开发的程序系统。 软件开发环境:软件开发环境(Software Development Environment,SDE)是指在基本硬件和宿至软件的基础上,为支持系统软件和应用软件的工程化开发和维护而使用的一组软件,简称SDE。它由软件工具和环境集成机制构成,前者用以支持软件开发的相关过程、活动和任务,后者为工具集成和软件的开发、维护及管理提供统一的支持。 CASE 工具:CASE的一个基本思想就是提供一组能够自动覆盖软件开发生命周期各个阶段的集成的、减少劳动力的工具。CASE工具由许多部分组成,一般我们按软件开发的不同阶段分为上层CASE和下层CASE产品。上层或前端CASE工具自动进行应用的计划、设计和分析,帮助用户定义需求,产生需求说明,并可完成与应用开发相关的所有计划工作。下层或后端CASE工具自动进行应用系统的编程、测试和维护工作。提示:在实际应用中,并不是所有支持系统开发的工具都被供应商称为CASE工具,如今的供应商有可能把他们的工具称为可视化建模工具、集成应用开发工具或往返工程工具等。2)请填写以下术语的英文缩写,并思考、理解其含义。 软件开发环境:Software Development Environment,简称SDE 软件工程环境:SoftWare Engineering Environment ,简称SEE 软件支持环境:Software support environment ,简称SSE 项目支持环境:Projectsupport environment 简称PSE 自动开发环境:Automatic Development Environment,简称ADE 集成化程序设计环境:Integratedprogramming environment,简称IPE 工具盒:Tool Box,简称TB 工具箱:Toolbox,简称Tb3)GB/T158531995软件支持环境规定的软件支持环境的基本要求是:承办单位必须规定、实现并集成全部软件及有关项目,以用于开发和支持按合同应交付的软件。承办单位还必须确定应推荐给软件生存期支持部门的全部软件,以便支持按合同交付的软件在整个生存期内正常运行。此外,还必须向软件生存期支持部门提供一些方法,以保证其有能力执行对按合同交付的软件的支持。必须在承办的软件项目未开工前,先将所提供的方法报送任务委托单位审批。2. Microsoft VisioVisio 实际上只是一个绘图工具。但是,由于其所具有的强大的专业绘图功能,系统分析员可以用 Visio 来创建 CASE 应用中所需要的任何系统模型。Visio 带有一个绘图模板集,包含了用于各种商业和工程应用的符号。其中的软件和系统开发模板提供了流程图、数据流图、实体-联系(E-R)图、UML 图以及其他许多图形符号。模板提供了一个用于存储图表元素的定义和描述信息的有限资料库。尽管 Visio 并没有提供用于系统项目开发的完整资料库,但许多系统开发人员还是喜欢 Visio 所提供的绘制必要图表的灵活性。请通过网络搜索,简单了解和体会 Visio 工具的应用状况:Visio是一款图形制作软件,功能强大,风靡全球,不但能绘制各种各样的专业图形,还可以绘制丰富的生活图形,工程技术人员经常用到它。编程用的流程图,工业的工艺流程图等等。3. Visible Analyst集成应用程序开发工具Visible Analyst是可视系统公司()的产品。这种工具使得绘制典型的传统模型如数据流图和E-R图更加容易,同时也能支持面向对象UML模型。Visible Analyst包含了一个用于定义系统组件并提供错误检测以及一致性检验支持的资料库。请通过网络搜索,简单了解和体会 Visible Analyst 工具的应用状况:4. Oracle DesignerOracle公司()将Oracle Designer描述成个工具集。该工具集用来记录定义并快速构造灵活、图形化的客户-服务器应用。它常常与Oracle Developer集成在一起。而Oracle Developer是一个用于在Oracle关系数据库上创建 GUI应用的开发工具。Oracle Designer包括一个完整的资料库,具有图形表示功能和代码生成功能,是一个支持传统的系统开发方法的集成CASE工具。用于分析的系统模型程序包括一个过程模型程序、功能等级绘图程序、数据流绘图程序以及 E-R 绘图程序。Design Transformer 以及 Design Editor 使用它所生成的图表以及资料库中的详细定义来创建数据库和应用逻辑。请通过网络搜索,简单了解和体会 Oracle Designer 工具的应用状况:Oracle Designer 工具是SQL server的升级,所以它主要应用于设计数据库,比如用于创建数据库,Tablespalce,User,用户表,等等。5. Rational Rose作为 UML 支撑环境的 Rational Rose 可视化建模工具,如今已是 IBM 公司的专门用来支持面向对象方法的工具。Rational Rose 可用于 Rational 统一过程(RUP) 或使用 UML 图表的任何方法。该工具除提供资料档案库外还提供逆向工程和代码生成能力,同时也能和其他工具结合使用,从而提供一个完整的系统开发环境。UML 是一种面向对象分析与设计(OOA&D)方法的可视化建模语言,适用于以面向对象技术来描述任何类型项目,适用于系统开发的不同阶段,包括需求规格描述直至系统实现后的测试、维护和发布等。而 Rational Rose 则是实现这种建模语言的工具,相当于 UML 的编译与解释系统。Rose 是一个以 UML 语言为基础的软件支撑环境,即面向对象的 CASE 工具。请通过网络搜索,简单了解和体会 Rational Rose 工具的应用状况: Rational Rose是基于UML的可视化建模工具,那首先要看看UML有什么用了。UML全称叫Unfied Modeling Language,顾名思义,UML是一种语言,一种表示法,就是一种交流沟通的工具,特别适用于软件密集型系统的表示。UML的统一性(Unified)表现为以下几点:(1)、 UML是人类思想和计算机代码的一个连接桥梁大家都知道,计算机能直接识别的语言就是二进制的CPU指令,早期工程师门都是直接写这些指令输入给计算机直接执行的,非常痛苦;后来就出现了更好理解的汇编语言,之后就出现了各种各样更加容易理解和编写,更加接近人类语言的计算机高级语言,什么VB啊、DELPHI、JAVA等等。所以从一个角度来看,其实计算机软件的发展史,可以算是一个解决计算机语言和人类语句差异性问题的历史,就是说如何让开发语言更加接近人类语言。(2)、 UML所定义的概念和符号可用于软件开发的分析、设计和实现的全过程,软件开发人员不必在开发过程的不同阶段进行概念和符号的转换。(3)、 UML所用的语言元素基本都是图形化的,便于理解和沟通,不但开发人员之间可以用来交流,客户和开发人员之间也可以用它作为交流的工具。目前版本的Rational Rose可以用来做以下一些工作:1、对业务进行建模(工作流);2、建立对象模型(表达信息系统内有哪些对象,它们之间是如何协作完成系统功能的);3、对数据库进行建模,并可以在对象模型和数据模型之间进行正、逆向工程,相互同步;4、建立构件模型(表达信息系统的物理组成,如有什么文件、进程、线程、分布如何等等) 5、生成目标语言的框架代码,VB、JAVA、DELPHI 6. Together Soft往返工程是软件工程工具中的一个新概念。由于系统开发是经常反复的过程,尤其在面向对象方法中。因此,对图形模型(例如类图)和生成程序代码进行同步操作是很重要的。比如,如果分析员改变了程序代码,那么类图也需要更新。 同样地,如果类图改变了,那么程序代码也要更新。往返工具将自动地完成两个方向上(往返)的同步过程。Together Soft公司()在其称为Together的工具中首先采用了往返工程。Together使用UML图表和几种不同的面向对象编程语言来对往返工程提供支持。如果开发人员喜欢书写代码来定义类,则类图会自动更新。如果开发人员喜欢先绘制类图,则定义类的代码会自动随之更新。请通过网络搜索,简单了解和体会 Together Soft 工具的应用状况: Together的处境是非常微妙的,在被Borland收购之前,它的市场分额就已经直逼Rational Rose系列,并且提供了Rose所不具备的很多功能,但是Rational公司的光环太过于眩目而令Rose增色不少,再加之其庞杂的RUP过程的支撑,一度使得Rose成为软件建模的代名词。 在Borland一连串的收购动作中,Together也进入了Borland的怀抱,成为Borland整个软件开发生命周期管理套件(Application Lifecycle Management)中必不可少的一个重要组成部分,从此Together也就没有了前世,人们再提到Together想起来的就只有Borland了,而Together也成为Borland同IBM(Rational)以及Microsoft(Visio)博弈的重要武器。打上了具有传奇色彩的Borland的烙印,对于Together来说应当算是一个好事情,但是Borland的历史往往都是悲壮的历史,看看Borland的软件蓝图,我们就会了解到,它横跨了J2EE以及.NET两大阵营的几乎所有领域:Windows/Linux/应用服务器/建模/开发/测试/协作/部署等等,方方面面覆盖到了极致。我没有能力来评判Borland这样做是否是正确的,但是目前Borland公司的确处在一个越来越尴尬的境地,资源远不如IBM和MS,资金同样如此,与其这样广而博,还不如专攻其中的一个领域会更好,战线拖得太长,迟早会有断裂的一天,那时候在选择彻底倒向哪一边就为时已晚了。Together处在这样的公司之内,也就不完全是一件好事情了。一个好的选择是SUN+BEA+Borland,就可以和IBM/Microsoft来一个三足鼎立了,可惜这只是痴人说梦了。 接触Together是在其4.0-5.0的时候,那时候的第一感觉就是这家伙不是给我们这些平民百姓准备的,因为他太吃内存了,几乎打开了Together就不能再工作了, ,也难怪,这是Java应用程序的通病,现在我1G的内存打开Together 6.2还是非常的吃力,不过随着Java虚拟机性能的逐步改善,这个情况比以前要好很多。 上面基本上都是一些题外话,在这篇随笔当中我会以Together Control Center 6.1/6.2 以及Together for VS.NET 2003 V2.0为依托来描述在实际项目中的运用,其间也会和Rose 2003 / XDE进行一些对比,当然由于自身能力所局限,我也只能尽我所能来展示了。之所以选择这个版本是因为这是目前最新Release出来的版本,其改进也逐渐成熟,尤其是Together for VS 2.0。 Together的版本有很多,主要如下: Together ControlCenter :最完备的一个版本,简称为TCC。 Together Solo :提供给小型Team使用的版本。 Together Edition for JBuilder :和JBuilder集成的版本(他的集成方式不是作为插件,而同样是独立的一个Application,只是它能感知到JBuilder的IDE存在,并自动进行双向同步) Together Edition for Eclipse Together Edition for WebSphere Studio Together Edition for SAP NetWeaver Studio Together Edition for Microsoft Visual Studio .NET Together Edition for C+BuilderX 7. Embarcadero DescribeEmbarcadero Describe()是包含面向对象建模以及往返工程特征的一个新产品。Describe企业版的一个很重要的特征就是为分析和设计提供灵活的UML建模功能,包括基于Java的往返工程。Describe开发工具可以将包括 JBuilder和Sun Forte在内的几个Java开发工具集成进来。请通过网络搜索,简单了解和体会 Embarcadero Describe 工具的应用状况:一款UML设计解决方案,可以让软件开发小组即时看见你的源代码,它增加了一组强力的管理代码的可视化工具,该工具可以融合到现有的开发环境中。允许你为你的软件应用程序创建蓝图,提供了一个清晰的实现路线图,让开发人员的学习曲线降低。代码和UML的模型完全同步,可加速开发速度。可在UML图上直接导航和管理代码。Embarcadero的UML设计和建模产品Describe Version 6.1引入了对Microsoft Visual C# .NET 的支持,以及对Microsoft Visual Studio .NET的全面指南。Embarcadero Technologies, Inc. (Nasdaq: EMBT),应用程序和数据库生命期管理解决方案的领先者,今天宣布公司基于UML的集成建模开发环境(Integrated Modeling Development Environment,IMDE)产品 Describe将在即将发布的 6.1 Enterprise引入对Microsoft Visual C# .NET语言的支持。除了对Visual C# .NET的增强之外,公司计划在Microsoft Visual Studio .NET 2003集成开发环境(IDE)内部提供全面的IMDE支持,使Visual Studio应用建模者和应用开发者在Visual Studio .NET 2003 IDE内能无缝使用Describe的直观而强大的建模特性。Describe的行动展示了Embarcadero为广阔领域的客户提供end-to-end,平台独立,模型驱动分析设计环境的承诺。“在开发项目时,可能有许多涉众,从Visual C# .NET开发人员到SQL Server DBA到业务单元经理,清楚传递应用架构的信息是至关重要的”,Microsoft平台和推广部首席产品经理 Prashant Sridharan说。一款可以帮助你以比以往更快速的创建灵活性和可靠性更高的应用程序。Embarcadero.Describe.Enterprise可以让软件开发小组即时看见你的源代码,该工具可以融合到现有的开发环境中并有一个强大的代码控制工具包。 8. CASE StudioCASE Studio 是一个专业的数据库设计工具。它可以透过 E-R 图、数据流程图来设计各种数据库系统(如 MS SQL,Oracle,Sybase 等),另外,程序还提供了各种各样的管理单元来提供设计帮助。 请通过网络搜索,简单了解和体会 CASE Studio 工具的应用状况:9Sybase Power DesignerSybase Power Designer 提供了一个完整的建模解决方案,业务人员、系统分析人员、设计人员、数据库管理员和开发人员等可以对其裁剪以满足他们的特定需要;而其模块化的结构提供了极大的灵活性,从而使开发单位可以根据其项目的规模和范围来使用他们所需要的工具。Power Designer 灵活的分析和设计特性允许使用一种结构化的方法有效地创建数据库或数据仓库,而不要求严格遵循一个特定的方法学。Power Designer 提供了直观的符号表示使数据库的创建更加容易,并使项目组内的交流和通信标准化,同时能更加简单地向非技术人员展示数据库和应用的设计。请通过网络搜索,简单了解和体会 Power Designer 工具的应用状况:从某一层面来讲,上面的这张图表并不能完全说明问题,这是因为软件开发管理工具的范围太大了,比如说 ERWin 和 Power Designer 的核心在于数据库设计,虽然 Power Designer 也可以作系统架构设计与分析,但是由于 历史的原因使得大家往往仅仅会在数据库设计的时候才会考虑到它.而 Together,Rational Rose/XDE,Rational Software Architect 都属于系统架构设计工具, 同时可以关联到需求与代码实现的辅助工具. Visio 只能称之为图 而 形绘制工具,而绝对不能和上面这三个工具相提并论的,适用 Visio 做流程规划和分析都是可以的,但是,它不 能做设计, 至少到目前最新的版本为止, 它的设计功能都是十分微弱的, 这一点连微软顾问服务部的人都承认 Visio 与 Rose 不是同一个档次上的工具. 这张图在一定程度上表明了下面几个情况: 对于数据库建模工具,现在 Power Designer 的市场分额远大于 ERWin 的,而且在平时的开发过程中我 们可以看到 Power Designer 的市场宣传活动也要比 ERWin 积极很多,我们很少见到关于 ERWin 的产品宣传与 推广.加上 Power Designer 是一些华人参与开发的,所以,更使得中国人对其有着较深的感情而倾向于使用它。 10MI WinRunner 和 LoadRunner如果没有一个完善的测试管理解决方案作为有力保障,那么软件项目的策划、 开发、实施、推广都将非常困难。为此,Mercury Interactive公司(美科利(中国)公司,/cn/)提供了被称为“应用实施方案(AD,application delivery)”的软件测试套件,通过测试管理提供工作效率,通过功能测试和压力测试实现对软件质量的严格控制,通过软件更新流程来控制软件更新的风险。Mercury 的 BTO(business technology optimization,业务优化科技)行业创新战略提出“从商业的角度管理 IT”,自顶而下地使用户能够从一开始就把 IT 与商务流程紧密联系起来,从而最大化商业运作,而不是把目光集中在类似于路由器、 服务器、数据库这样的 IT 基本元素上。Mer

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论