锁定老帖子 主题:软件工程探讨
该帖已经被评为新手帖
|
|
---|---|
作者 | 正文 |
发表时间:2007-05-04
一,基本概念 软件:计算机程序及说明程序的各种文档。“程序”是计算任务的处理对象和处理规则的描述;“文档”是有关计算机程序功能、设计、编制、使用的文字或图形资料。 软件生产的发展:程序设计时代,程序系统时代,软件工程时代。 软件工程:用科学知识和技术原理来定义、开发、维护软件的一门学科。 软件工程性质:它涉及计算机科学、工程科学、管理科学、数学等领域,计算机科学着重于原理和理论,而软件工程着重于如何建造一个软件系统。软件工程要用工程科学中的观点来进行费用估算、制定进度、制定计划和方案。软件工程要用管理科学中的方法和原理进行软件生产的管理。软件工程要用数学的方法建立软件开发中的各种模型和各种算法,如可靠性模型,说明用户需求的形式化模型等。 软件工程研究的主要内容:是软件开发技术和软件开发管理两个方面。在软件开发技术中,主要研究软件开发方法、软件开发过程、软件开发工具和环境。在软件开发管理中, 主要是研究软件管理学、软件经济学、软件心理学等。 软件工程面临的问题:软件费用;软件可靠性;软件维护;软件生产率;软件重用。 软件工程过程:获取过程;供应过程;开发过程;操作过程;维护过程;管理过程;支持过程。 软件生存周期:可行性分析和项目开发计划;需求分析;概要设计;详细设计;编码;测试;维护。 软件生存周期模型是描述软件开发过程中各种活动如何执行的模型。瀑布模型是将软件生存周期各个活动规定为依线性顺序连接的若干阶段的模型。增量模型是一种非整体开发的模型。瀑布模型是一种整体开发的模型螺旋模型将瀑布模型与增量模型结合起来,加入了风险分析,用于复杂的大型软件开发;分为几个螺旋周期:第一,制定计划;第二,风险分析;第三,开发实施;第四,用户评估。喷泉模型是一种以用户需求为动力,以对象作为驱动的模型,适合于面向对象的开发方法。喷泉模型使开发过程具有迭代性和无间隙性。基本知识的模型又称智能模型,它把瀑布模型和专家系统结合在一起。变换模型是一种适合于形式化开发方法的模型。从软件需求形式化说明开始,经过一系列变换,最终得到系统的目标程序。 软件开发方法:结构化方法由结构化分析、结构化设计、结构化程序设计构成。它是一种面向数据流的开发方法。结构化方法总的指导思想是自顶向下、逐步求精。它的基本原则是功能的分解与抽象,它是软件工程中最早出现的开发方法,特别适合于数据处理领域的问题。 Jackson方法是一种面向数据结构的开发方法。维也纳开发方法(VDM)是一种形式化的开发方法,软件的需求用严格的形式语言描述。面向对象的开发方法包括面向对象分析、面向对象设计、面向对象实现。面向对象开发方法有Booch方法、Coad方法 ====================================================================================== 软件可行性研究的目的 可行性研究的任务 典型的可行性研究有下列步骤 可行性研究报告的主要内容 成本――效益分析首先是估算将要开发的系统的开发成本,然后与可能取得的效益进行比较和权衡。效益分有形效益和无形效益两种。有形效益可以用货币的时间价值、投资回收期、纯收入等指标进行度量;无形效益主要从性质上、心理上进行衡量,很难直接进行量的比较。 投资回收期就是使累计的经济效益等于最初的投资费用所需的时间。 项目的纯收入,也就是在整个生存周期之内的累计经济效益(折合成现在值)与投资之差。 项目开发计划:项目概述;实施计划;人员组织及分工;交付期限。 ====================================================================================== 在进行可行性研究和软件计划以后,如果确认开发一个新的软件系统是必要的而且是可能的,那么就进入需求分析阶段。 需求分析是指,开发人员要准确理解用户的要求,进行细致的调查分析,将用户非形式的需求陈述转化为完整的需求定义,再由需求定义转换到相应的形式功能规约(需求规格说明)的过程。 它的难点主要体现在以下几个方面:问题的复杂性;交流障碍;不完备性和不一致性。需求易变性。 需求分析的基本任务是要准确地定义新系统的目标,为了满足用户需要,回答系统必须“做什么”的问题。 本阶段要进行以下几方面的工作: 问题识别:功能需求;性能需求;环境需求;用户界面需求分析与综合,导出软件的逻辑模型 编写文档:需求规格说明书;初步用户使用手册;确认测试计划;修改完善软件开发计划。 结构化分析(SA)是面向数据流进行需求分析的方法。 SA方法利用图形等半形式化的描述方式表达需求,简明易懂,用它们形成需求说明书中的主要部分。这些描述工具是:数据流图;数据字典;描述加工逻辑的结构化语言,判定表、判定树。 “数据流图(DFD)”描述的分解,即描述系统由哪几部分组成,各部分之间有什么联系等等。 “数据字典”定义了数据流图中每一个图形元素。结构化语言、判定表或判定树则详细描述数据流图中不能被再分解的每一个加工。 数据流图的数据流是数据在系统内传播的路径,因此由一组成分固定的数据项组成。 加工(又称数据处理)。对数据流进行某些操作或变换。 数据存储(又称文件),指暂时保存的数据,它可以是数据库文件或任何形式的数据组织。数据源点或终点:是本软件系统外部环境中的实体,统称外部实体。 数据字典(DD)就是用来定义数据流图中的各个成分的具体含义的,它和数据流图共同构成了系统的逻辑模型,是需求规格说明书的主要组成部分。数据字典的内容及格式 数据项是组成数据流和数据存储的最小元素。 数据流条目;数据存储条目;数据项条目;加工条目数据字典中的加工逻辑主要描述该加工“做什么”,即实现另工的策略,而不是实现加工的细节,它描述如何把输入数据流变换为输出数据流的加工规则。 加工逻辑也称为“小说明”,描述加工逻辑一般用以下三种工具:结构化语言、判定表、判定树。 结构化语言是介于自然语言和形式语言之间的一种半形式语言。它的结构可分成外层和内层两层:外层用来描述控制结构,采用顺序、选择、重复三种基本结构;内层对于顺序执行和循环执行的动作,用结构化语言描述。对于存在多个条件复杂组合的判断问题,用判定表和判定树。 IDEF0:用来描述系统的功能活动及其联系,建立系统的功能模型。
====================================================================================== 在软件需求分析阶段,已经搞清楚了软件“做什么”的问题,并把这些需求通过规格说明书描述了出来,这也是目标系统的逻辑模型。进入了设计阶段,要把软件“做什么”的逻辑模型变换为“怎么做”的物理模型,即着手实现软件的需求,并将设计的结果反映在“设计规格说明”文档中,软件设计是一个把软件需求转换为软件表示的过程,最初这种表示只是描述了软件的总的体系结构,称为软件概要设计或结构设计。然后对结构进一步细分,称为详细设计或过程设计。 概要设计的基本任务: 3编写概要设计文档(概要设计说明书、数据库设计说明书、用户手册、修订测试计划,对测试策略、方法、步骤提出明确要求。) 4评审:对设计部分是否完整地实现了需求中规定的功能、性能等要求,设计方案的可行性,关键的处理及内外部接口定义正确性、有效性,各部分之间的一致性等等都一一进行评审。 模块的基本属性:接口指模块的输入与输出;功能指模块实现什么功能;逻辑描述内部如何实现要求的功能及所需的数据;状态指该模块的运行环境,即模块的调用与被调用关系。 功能、状态与接口反映模块的外部特性,逻辑反映它的内部特性。 模块化是指解决一个复杂问题时自顶向下逐层把软件系统划分为若干模块的过程。模块完成一个特定的子功能,所有的模块按某种方法组装起来,成为一个整体,完成整个系统所要求的功能。 开发一个大而复杂的软件系统,将它进行适当的分解,不但可降低其复杂性,还可减少开发工作量,从而降低开发成本,提高软件生产率,这就是模块化的依据。 抽象是认识复杂现象过程中使用的思维工具,即抽出事物本质的共同的特性而暂不考虑它的细节,不考虑其他因素。 信息隐蔽指在设计和确定模块时,使得一个模块内部包含的信息(过程或数据),对于不需要这些信息的其他模块来说,是不能访问的。通过抽象,可以确定组成软件的过程实体。通过信息隐蔽,可以定义和实施对模块的过程细节和局部数据结构的存取限制。 模块独立性指每个模块只完成系统要求的独立子功能,并且与其他模块的联系最少且接口简单,两个定性的度量标准――耦合性和内聚性。 耦合性也称块间联系。指软件系统结构中各模块间相互联系紧密程度的一种度量。模块之间联系越紧密,其耦合性就越强,模块的独立性则越差。模块间耦合高低取决于模块间接口的复杂性、调用的方式及传递的信息。 无直接耦合 数据耦合 标记耦合 控制耦合 公共耦合 内容耦合(低――高) 内聚性又称块内联系。指模块的功能强度的度量,即一个模块内部各个元素彼此结合的紧密程度的度量。若一个模块内各元素(语名之间、程序段之间)联系的越紧密,则它的内聚性就越高。 偶然内聚 逻辑内聚 时间内聚 通信内聚 顺序内聚 功能内聚(低――高) 耦合性与内聚性是模块独立性的两个定性标准,将软件系统划分模块时,尽量做到高内聚低耦合,提高模块的独立性,为设计高质量的软件结构奠定基础。 如果若干模块之间耦合强度过高,每个模块内功能不复杂,可将它们合并,以减少信息的传递和公共区的引用。若有多个相关模块,应对它们的功能进行分析,消去重复功能。 软件结构图主要内容有:模块、模块的控制关系、模块间的信息传递、两个附加符号 一个模块的作用范围应在其控制范围这内,且判定所在的模块应与受其影响的模块在层次上尽量靠近。 一个模块的作用范围指受该模块内一个判定影响的所有模块的集合。一个模块的控制范围指模块本身以及其所有下属模块(直接或间接从属于它的模块)的集合。 要把数据流图(DFD)转换成软件结构,首先必须研究DFD的类型,一般可分为变换型和事务型两类。 基于iDEF0图的设计也是结构化设计技术之一,它以系统的功能模型和信息结构为基础设计系统的软件结构。 ====================================================================================== 详细设计是软件设计的第二阶段,主要确定每个模块具体执行过程,故也称“过程设计” 处理过程设计中采用的典型方法是结构化程序设计(SP)方法。详细设计的目标不仅是逻辑上正确地实现每个模块的功能,还应使设计出的处理过程清晰易读。结构化程序设计是实现该目标的关键技术之一,它指导人们用良好的思想方法开发易于理解、易于验证的程序。 结构化程序设计方法的基本要点是: 详细描述处理过程常用三种工具:图形、表格和语言。 JSP方法一般通过以下五个步骤来完成设计: ====================================================================================== 将详细设计得到的处理过程的描述转换为基于某种计算机语言的程序,即源程序代码。 程序设计工程特性
=========================================================================================== 软件测试的目的 测试阶段的基本任务 软件测试中,应注意以下指导原则 软件测试方法一般分为两大类 动态测试指通过运行程序发现错误,分为黑盒测试法和白盒测试法。 1逻辑覆盖 2循环覆盖 黑盒测试是功能测试,因此设计测试用例时,需要研究需求规格说明和概要设计说明中有关程序功能或输入、输出之间的关系等信息,从而与测试后的结果进行分析比较。
软件产品在交付使用之前要经过哪些测试呢?一般要经过以下四步测试:单元测试、集成测试、确认测试和系统测试。 软件测试的步骤及与各开发阶段的关系 单元测试主要针对模块的以下五个基本特征进行测试:模块接口、局部数据结构、重要的执行路径、错误处理、边界条件。 在单元测试时,需要为被测模块设计驱动模块和桩模块。 驱动模块的作用是用来模拟被测模块的上级调用模块,它只完成接受测试数据,以上级模块调用被测模块的格式驱动被测模块,接收被测模块的测试结果并输出。 桩模块用来代替被测试模块所调用的模块。它的作用是返回被测试模块所需的信息。 集成测试是指在单元测试的基础上,将所有模块按照设计要求组装成一个完整的系统进行的测试,故也称组装测试或联合测试。 集成测试的方法主要有两种:非渐增式测试和渐增式测试。 非渐增式方法把单元测试和集成测试分成两个不同的阶段。P97 渐增式测试有以下两种不同的组装模块的方法:自顶向下结合(深度优先策略、宽度优先策略);自底向上结合 确认测试又称有效性测试。它的任务是检查软件的功能与性能是否与需求规格说明书中确定的指标相符合,确认测试阶段有两项工作:进行确认测试与软件配置审查。 确认测试一般是在模拟环境下运用黑盒测试方法,由专门测试人员和用户参加的测试。 软件配置审查的任务是检查软件的所有文档资料的完整性、正确性。如发现遗漏和错误,应补充和改正。 软件测试的目的是尽可能多地发现程序中的错误,而调试则是在进行了成功的测试之后才开始的工作,因此调试也称为纠错。 归纳法调试从测试结果发现的线索入手,分析它们之间的联系,导出错误原因的假设,然后再证明或否定这个假设。 步骤:收集有关数据;组织数据;提出假设;证明假设 演绎法调试是列出所有可能的错误原因的假设,然后利用测试数据排除不适当的假设,最后再测试数据验证余下的假设确实是出错的原因。 回溯法调试:该方法从程序产生错误的地方出发,人工沿程序的逻辑路径反向搜索,直到找到错误原因为止。 ====================================================================================== 软件维护的内容有四种:校正性维护,适应性维护,完善性维护和预防性维护。 结构化的维护VS非结构化的维护:软件的开发过程对软件的维护有较大的影响。若不采用软件工程的方法开发软件,则软件只有程序而无文档,维护工作非常困难,这是一种非结构化的维护。若采用软件工程的方法开发软件,则各阶段都有相应的文档,容易进行维护工作,这是一种结构化的维护。 软件维护:软件能够被理解、校正、适应及增强功能的容易程度。用于软件维护工作的活动可分为生产性活动和非生产性活动两种。生产性活动包括分析评价、修改设计和编写程序代码等。非生产性活动包括理解程序代码功能、解释数据结构接口特点和设计约束。 维护的流程:制定维护申请报告;审查申请报告并批准;进行维护并做详细记录;覆审。 衡量软件质量的几个主要特性:软件的可维护性、可使用性、可靠性是。软件的可维护性可用下面七个质量特性可来衡量,即可理解性、可测试性、可修改性、可靠性、可移植性、可使用性和效率。对不同类型的维护,这七种特性的侧重点也不相同。 提高可维护性的方法:建立明确的软件质量目标;利用先进的软件开发技术和工具;建立明确的质量保证工作;选择可维护的程序设计语言;改进程序文档。 为了保证可维护性,以下四类检查是非常有用的:在检查点进行检查;验收检查;周期性的维护检查;对软件包的检查。 瀑布模型本质上是一种线性顺序模型,各阶段之间存在着严格的顺序性和依赖性,特别强调预先定义需求的重要性。 瀑布模型属于整体开发模型,它规定在开始下一个阶段的工作之前,必须完成前一阶段的所有细节。而增量模型属于非整体开发模型,它推迟某些阶段或所有阶段中的细节,从而较早的产生工作软件。 增量模型是在项目的开发过程中以一系列的增量方式开发系统。增量方式包括增量开发和增量提交。增量开发是指在项目开发周期内,以一定的时间间隔开发部分工作软件;增量提交是指在项目开发周期内,以一定的时间间隔增量方式向用户提交工作软件及相应文档。 根据增量的方式和形式的不同,分为渐增模型和原型模型。 渐增模型是瀑布模型的变种,有两类渐增模型: 原形模型又称快速原形模型,它是增量模型的另一种形式。软件开发中的原型是软件的一个早期可运行的版本,它反映了最终系统的重要特性。快速原型是利用原型辅助软件开发的一种新思想。经过简单快速分析,快速实现一个原型,用户与开发者在试用原型过程中加强通信与反馈,通过反覆评价和改进原型,减少误解,弥补遗漏,适应变化,最终提高软件质量。 根据原型的不同作用,有三类原型模型: 由于运用原形的目的和方式不同,在使用原型时也采取不同的策略,有抛弃策略和附加策略。 原形开发步骤:快速分析、构造原形、运行原型、评价原型、修改
对象和类:对象具有状态。一个对象用数据值来描述它的状态。对象还有操作,用于改变对象的状态,对象及其操作就是对象的行为。对象实现了数据和操作的结合,使数据和操作封装于对象的统一体中。 具有相同或相似性质的对象的抽象就是类。因此,对象的抽象是类,类的具体化就是对象,也可以说类的实例是对象。 类具有属性,它是对象的状态的抽象,用数据结构来描述类的属性。 类具有操作,它是对象的行为的抽象,用操作名和实现该操作的方法来描述。 类中操作的实现过程叫做方法,一个方法有方法名、参数、方法体。当一个对象接收一条消息后,它所包含的方法决定对象怎样动作。 在客观世界中有若干类,这些类之间有一定的结构关系。通常有两种主要的结构关系,即一般――具体结构关系,整体――部分结构关系。 在类的层次结构中,通常上层类称为父类或超类,下层类称为子类。子类只继承一个父类的数据结构方法,则称为单重继承。 子类继承了多个父类的数据结构和方法,则称为多重继承。 对象之间进行通信的构造叫做消息。在对象的操作中,当一个消息发送给某个对象时,消息包含接收对象去执行某种操作的信息。接收消息的对象经过解释,然后给予响应。这种通信机制称为消息传递。 面向对象的特征:对象惟一性;分类性;继承性;多态性(多形性)。 面向对象开发方法:有coad方法、booch方法、omt方法和oose方法等。 Uml语言:统一了booch方法、omt方法、oose方法的表示方法,而且对其作了进一步的发展,最终统一为大众所接受的标准建模语言。 对象模型:表示了静态的、结构化的系统数据性质,描述了系统的静态结构,它是从客观世界实体的对象关系角度来描述。表现了对象的相互关系。该模型主要关心系统中对象的结构,属性和操作,使用了对象图的工具来刻划,它是分析阶段三个模型的核心。 属性指的是类中对象所具有的性质(数据值)。不同对象的同一属性可以具有相同或不同的属性值。 操作是类中对象所使用的一种功能或变换。类中的各对象可以共享操作。方法是类的操作的实现步骤。 链表示对象间的物理与概念联结,关联表示类之间的一种关系,就是一些可能的链的集合,链是关联的实例,关联是链的抽象。两个类之间的关联称为二元关联,三个类之间的关联称为三元关联。 继承有单重继承和多重继承。单重继承指的是子类只有一个父亲,在一个类层次结构中,若只有单重继承,则该类层次结构是树型层次结构。多重继承指的是子类继承了多个父类的性质,在一个类层次结构中,若有多重继承,则该类层次结构是网状层次结构。 动态模型:是与时间和变化有关的系统性质。该模型描述了系统的控制结构,它表示了瞬时的、行为化的系统控制性质,它关心的是系统的控制,操作的执行顺序,它从对象的事件和状态的角度出发,表现了对象的相互行为。 该模型描述的系统属性是触发事件、事件序列、状态、事件与状态的组织。使用状态图作为描述工具。 现实世界中,各对象之间相互触发,一个触发行为就是一个事件。对事件的响应取决于接受该触发的对象的状态,响应包括状态的改变或形成一个新的触发。事件可以看成是信息从一个对象到另一个对象的单向传递。各事件将信息从一个对象传到另一个对象中去,因此要确定各事件的发送对象和接收对象。事件跟踪图用来表示事件、事件的接收对象和发送对象。 状态是对象属性值的抽象,状态指明了对象对输入事件的响应。 状态图反映了状态与事件的关系,状态图确定了由事件序列引起的状态序列。 活动是一种有时间间隔的操作,它是依附于状态的操作。 动作是一种瞬时操作,它是与事件联系在一起的操作。 功能模型描述了系统的所有计算。功能模型指出发生了什么,动态模型确定什么时候发生,而对象模型确定发生的客体。功能模型由多张数据流图组成。 数据流图中包含有处理、数据流、动作对象和数据存储对象。 功能模型用来说明值是如何计算的,表明值之间的依赖关系及其相关的功能,数据流图有助于表示功能依赖关系,其中的处理对应于状态图的活动和动作,其中的数据流对应于对象图中的对象或属性。 操作与对象模型中属性和关联的查询有关,与动态模型的事件有关,与功能模型的处理有关。 瀑布模型把设计进一步划分成概要设计和详细设计两个阶段,类似地,也可以把面向对象设计再细分为系统设计和对象设计。系统设计确定实现系统的策略和目标系统的高层结构。对象设计确定解空间中的类、关联、接口形式及实现操作的算法。 面向对象设计的准则:模型化;抽象;信息隐蔽;低耦合;高内聚(操作内聚、类内聚、一般――具体内聚)
软件质量定义: 为了提高软件的质量,软件质量保证的任务大致可归结为以下几点: 针对面向软件产品的运行、修正、转移,软件质量概念包括11个特性:(面向软件产品操作)正确性、可靠性、效率、完整性、可性。(面向软件产品修改)可维护性、可测试性、适应性。(面向软件产品适应)可移植性、可重用性、可互操作性 ISO三层次中的第一层为质量特性,第二层为质量子特性、第三层为度量。 通常,把“质量”理解为“用户满意程序”。 软件复杂性主要表现在程序的复杂性。程序的复杂性主要指模块内程序的复杂性。它直接关联到软件开发费用的多少、开发周期长短和软件内部潜伏错误的多少。 设计质量评审的对象是在需求分析阶段产生的软件需求规格说明、数据需求规格说明,在软件概要设计阶段产生的软件概要设计说明书等。 程序质量评审通常它是从开发者的角度进行评审,直接与开发技术有关。它是着眼于软件本身的结构、与运行环境的接口、变更带来的影响而进行的评审活动。 ====================================================================================== 软件工程管理的具体内容包括对开发人员、组织机构、用户、文档资料等方面的管理。 软件开发人员一般分为:项目负责人、系统分析员、高级程序员、初级程序员、资料员和其他辅助人员。 软件开发的组织机构没有统一的模式:主程序员组织机构;专家组织机构;民主组织机构。 控制包括进度控制、人员控制、经费控制和质量控制。 在软件项目管理过程中一个关键的活动是制定项目计划,它是软件开发工作的第一步。软件项目计划是由系统分析员与用户共同经过“可行性研究与计划”阶段后制定的。所以软件项目计划是可行性研究阶段的结果产品。但由于可行性研究是在高层次进行系统分析,未能考虑软件系统开发的细节情况,因此软件项目计划一般在需求分析阶段完成后才定稿的。软件项目计划包括两个任务:研究与估算。即通过研究确定该软件项目的主要功能、性能和系统界面。 软件工程规范可选用现成的各种规范,也可自己制定。目前软件工程规范可分为三级:国家标准与国际标准;行业标准与工业部门标准;企业级标准与开发小组级标准。 风险分析实际上就是贯穿在软件工程中的一系列风险管理步骤,其中包括风险识别、风险估计、风险管理策略、风险解决和风险监督。 软件配置管理,简称SCM,它用于整个软件工程过程。其主要目标是:标识变更;控制变更;确保变更正确地实现;报告有关变更。SCM是一组管理整个软件生存期各阶段中变更的活动。软件配置项(SCI)是软件工程中产生的信息项。 软件工程过程中某一阶段的变更,均要引起软件配置的变更,这种变更必须严格加以控制和管理,保持修改信息,并把精确、清晰的信息传递到软件工程过程的下一步骤。 变更控制包括建立控制点和建立报告与审查制度。其中“检出”和“登入”处理实现了两个重要的变更控制要素,即存取控制和同步控制。存取控制管理各个用户存取和修改一个特定软件配置对象的权限。同步控制可用来确保由不同用户所执行的并发变更。 软件工程标准的类型也是多方面的。它可能包括过程标准(如方法、技术、度量等)、产品标准(如需求、设计、部件、描述、计划报告等)、专业标准(如职别、道德、准则、认证、特许、课程等),以及记法标准(如术语、表示法、语言等)。 根据软件工程标准制定的机构与适用的范围,它分为国际标准、国家标准、行业标准、企业规范及项目(课题)规范五个等级。 软件开发环境是指相关的一组软件工具集合,它支持一定的软件开发方法或按照一定的软件开发模型组织而成。 软件开发环境的目标是提高软件开发的生产率和软件产品的质量。因而理想的软件开发环境应是能支持整个软件生存期阶段的开发活动,并能支持各种处理模型的软件方法学,同时实现这些开发方法的自动化。 分类:按解决的问题分类:程序设计环境;系统合成环境;项目管理环境。 按软件开发环境的演变趋向分类:以语言为中心的环境;工具箱环境;基于方法的环境。 按集成化程度分类:第一代;第二代;第三代。 软件工具是指为支持计算机软件的开发、维护、模拟、移植或管理而研制的程序系统。开发软件工具的主要目的是为了提高软件生产率和改善软件的质量。 软件工具通常由工具、工具接口和工具用户接口三部分构成。工具通过工具接口与其他工具、操作系统或网络操作系统,以及通信接口、环境信息库接口等进行交互作用。当工具需要与用户进行交互作用时则通过工具的用户接口。 软件工具的发展有以下特点: CASE是一组工具和方法的集合,可以辅助软件开发生命周期各阶段进行软件开发。CASE把软件开发技术、软件工具和软件开发方法集成到一个统一而一致的框架中,并且吸收了CAD、软件工程、操作系统、数据库、网络和许多其他计算机领域的原理和技术。 CASE系统所涉及到的技术有两类:一类是支持软件开发过程本身的技术,如支持规约、设计、实现、测试等;另一类是支持软件开发过程管理的技术,如支持建模、过程管理等。 CASE集成: 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
浏览 5745 次