高级软件工程(1)21487.pptx

上传人:jix****n11 文档编号:91059029 上传时间:2023-05-21 格式:PPTX 页数:61 大小:376.15KB
返回 下载 相关 举报
高级软件工程(1)21487.pptx_第1页
第1页 / 共61页
高级软件工程(1)21487.pptx_第2页
第2页 / 共61页
点击查看更多>>
资源描述

《高级软件工程(1)21487.pptx》由会员分享,可在线阅读,更多相关《高级软件工程(1)21487.pptx(61页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、n一个应用系统进入工程化开发之前,要搞清楚计算机系统的整体目标,标识出这一系统中涉及的硬件、软件、人员、数据库、网络、规程和其它系统元素。计算机系统硬件与硬件工程 n基于计算机的应用系统离不开计算机硬件的支撑。计算机系统工程师根据系统需求为硬件系统指派任务,产生硬件需求。硬件工程师根据硬件需求设计、制造或选择硬部件或设备。n硬件工程过程分为三个阶段,即计划和定义阶段;设计和样机实现阶段;生产、销售和售后服务阶段,具体如图1.2的(a)、(b)和(c)所示。软件与软件工程 n计算机软件是软件工程师设计和建造的产品,包括:一个在任意规模和体系结构的计算机中执行的程序,以及软件开发过程中涉及的各种文

2、档和各种形式的数据。n软件工程是研究软件生产和软件管理的工程科学,其内容包括市场调研、正式立项、需求分析、项目策划、概要设计、详细设计、编程、测试、试运行、产品发布、用户培训、产品复制、销售、实施、系统维护和版本升级等。n软件工程师借助于软件工程的过程、方法和工具开发基于计算机的软件系统。软件工程模型虽然种类很多,但它们都有一个共同的特点,即都包括软件项目的定义阶段、软件开发阶段、软件的检验、交付与维护阶段,如图1.3的(a)、(b)和(c)所示。软件定义阶段n软件定义阶段的任务是,确定软件开发必须完成的总目标;确定工程的可行性;导出实现工程目标应该采用的策略及系统必须完成的功能;估计完成该项

3、工程需要的资源和成本,并且制定工程进度表。n这个时期的工作通常又称为系统分析,由系统分析员负责完成。软件定义阶段通常进一步划分成三个子阶段,即问题定义阶段、可行性研究阶段和需求分析阶段。n需求分析阶段的一项重要任务是用正式文档准确地记录对目标系统的需求,这份文档通常称为需求规格说明。软件开发阶段 n这个阶段的基本任务是回答“怎样实现目标系统?”这个问题。n软件开发阶段具体设计和实现在前一个时期定义的软件,它通常由下述四个子阶段组成:概要设计、详细设计、编码和单元测试、综合测试。其中前两个阶段又称为系统设计阶段,后两个阶段又称为系统实现阶段 软件的检验、交付与维护阶段 n这一阶段的主要任务是使软

4、件持久地满足用户的需要。n当软件在使用过程中发现错误时,应该加以改正;当环境改变时,应该修改软件以适应新的环境;当用户有新要求时,应该及时改进软件以满足用户的新需要。人机工程 n人与计算机硬件和软件的直接交互可以启动并控制系统运行,在系统开发与维护活动中,人的因素起着十分关键的作用。数据库工程 n数据库系统是基于计算机系统的重要组成部分,它将有关的硬件、软件、数据和数据库管理人员结合起来,为用户提供信息服务。开发一个数据库系统是一项复杂的工程项目,人们也常称之为数据库工程。n数据库工程应完成下列任务,1)确定系统的各项指标并进行评估和计划制定;2)论证、选择和配置数据库系统;3)数据库设计与实

5、现;4)数据库的管理与维护。网络工程 n随着网络技术的发展,很多基于计算机的系统使用网络进行通信,网络工程也成为了基于计算机系统的重要组成部分。网络工程是研究网络系统的规划、设计与管理的工程科学,要求工程技术人员根据既定的目标,严格依照行业规范,制定网络建设的方案,协助工程招投标、设计、实施、管理与维护等活动。n网络工程的实施需要经过如下几个阶段:1)需求分析;2)总体设计分析;3)实施;4)验收与维护。n n软件发展阶段n n程序设计阶段程序设计阶段 50至至60年代年代n n程序系统阶段程序系统阶段 60至至70年代年代n n软件工程阶段软件工程阶段 70年代以后年代以后n n软件软件软件

6、软件是计算机系统中与硬件相互依存的另一部分,是计算机系统中与硬件相互依存的另一部分,是计算机系统中与硬件相互依存的另一部分,是计算机系统中与硬件相互依存的另一部分,它是包括程序,数据及其相关文档的完整集合。它是包括程序,数据及其相关文档的完整集合。它是包括程序,数据及其相关文档的完整集合。它是包括程序,数据及其相关文档的完整集合。n n程序程序程序程序是按事先设计的功能和性能要求执行的指令序是按事先设计的功能和性能要求执行的指令序是按事先设计的功能和性能要求执行的指令序是按事先设计的功能和性能要求执行的指令序列列列列n n数据数据数据数据是使程序能正常操纵信息的数据结构是使程序能正常操纵信息的

7、数据结构是使程序能正常操纵信息的数据结构是使程序能正常操纵信息的数据结构n n文档文档文档文档是与程序开发,维护和使用有关的图文材料是与程序开发,维护和使用有关的图文材料是与程序开发,维护和使用有关的图文材料是与程序开发,维护和使用有关的图文材料什么是软件?什么是软件?软件的特点n n软件是一种软件是一种软件是一种软件是一种逻辑实体逻辑实体逻辑实体逻辑实体,而不是具体的物理实体。因而,而不是具体的物理实体。因而,而不是具体的物理实体。因而,而不是具体的物理实体。因而它具有抽象性它具有抽象性它具有抽象性它具有抽象性n n软件的生产与硬件不同,在它的开发过程中软件的生产与硬件不同,在它的开发过程中

8、软件的生产与硬件不同,在它的开发过程中软件的生产与硬件不同,在它的开发过程中没有明显没有明显没有明显没有明显的制造过程的制造过程的制造过程的制造过程n n在软件的运行和使用期间,在软件的运行和使用期间,在软件的运行和使用期间,在软件的运行和使用期间,没有硬件那样的机械磨损,没有硬件那样的机械磨损,没有硬件那样的机械磨损,没有硬件那样的机械磨损,老化问题老化问题老化问题老化问题n n软件的开发和运行常受到计算机系统的限制,对计算软件的开发和运行常受到计算机系统的限制,对计算软件的开发和运行常受到计算机系统的限制,对计算软件的开发和运行常受到计算机系统的限制,对计算机系统有着不同程度的依赖性机系统

9、有着不同程度的依赖性机系统有着不同程度的依赖性机系统有着不同程度的依赖性n n软件的开发至今软件的开发至今软件的开发至今软件的开发至今尚未完全摆脱手工艺的开发方式尚未完全摆脱手工艺的开发方式尚未完全摆脱手工艺的开发方式尚未完全摆脱手工艺的开发方式n n软件本身是复杂的软件本身是复杂的软件本身是复杂的软件本身是复杂的n n实际问题的复杂性实际问题的复杂性实际问题的复杂性实际问题的复杂性n n程序逻辑结构的复杂性程序逻辑结构的复杂性程序逻辑结构的复杂性程序逻辑结构的复杂性 n n软件成本相当昂贵软件成本相当昂贵软件成本相当昂贵软件成本相当昂贵n n相当多的软件工作涉及到社会因素相当多的软件工作涉及

10、到社会因素相当多的软件工作涉及到社会因素相当多的软件工作涉及到社会因素软件发展过程中存在的问题软件发展过程中存在的问题软件开发能力不能满足人们的需要;社会对软件的依赖程度加大,人们普遍关注软件的安全和可靠性;若干年前开发的应用软件经过几十次修改已无人认识它的内部结构,己经不可维护;由于经济原因,嵌入式系统存在许多怪现象,企业不愿意投入资源再生产,而采取打补丁+时髦界面的方法。软件危机软件危机n软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。n典型表现:n 开发成本和进度的估计常常很不准确;n 用户对“已完成的”软件系统不满意;“闭门造车”;n 软件质量不可靠;n 软件常常是不

11、可维护的;n 软件成本的比例逐年上升;n 软件产品“供不应求”;软件危机产生的原因n客观原因:软件的特点n主观原因:软件开发和维护过程中使用不正确的方法。消除软件危机的途径消除软件危机的途径n消除“软件就是程序”的错误观念。n一个软件必须由一个完整的配置组成,事实上,软件是程序、数据及相关文档的完整集合。n 软件开发不是某种个体劳动的神秘技巧,而应该是一种组织良好、管理严密、各类人员协同配合、共同完成的工程项目。n 成功的软件开发技术和方法。n 软件工具和软件工程支撑环境。软件工程的定义软件工程的定义n1968年 NATO 计算机科学会议n软件危机根源解决途径软件工程n“概括地说,软件工程是指

12、导计算机软件开发和维护的一门工程学科。采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,以经济地开发出高质量的软件并有效地维护它。”软件工程的目标软件工程的目标n软件工程的目标是明确的,就是研制、开发与生产出具有良好软件质量和费用合算的产品。1)采用工程化方法和途径来开发与维护软件。2)应该开发和使用更好的软件工具。3)采取必要的管理措施。软件工程的基本原理(软件工程的基本原理(B.W.BoehmB.W.Boehm)n用分阶段的生命周期计划严格管理n坚持进行阶段评审n错误出现的时间:在编代码之前(63%:37%)n改正错

13、误的代价:发现得月晚,开发代价越高n实行严格的产品控制n基线配置、变动控制n采用现代程序设计技术n结果应能清楚地审查n开发小组的人员应该少而精n承认不断改进软件工程实践的必要性软件工程研究的基本内容软件工程研究的基本内容n软件工程学分为:理论与结构、方法、工具与环境、管理和规范等。n理论与结构包括:程序正确性证明理论、软件可靠性理论、软件成本估算模型、软件开发模型、模块划分原理等。n软件开发技术包括:软件开发方法学、软件工具和软件开发环境。n软件工程管理包括:软件开发管理和软件经济管理。软件生存期 life cyclen n软件有一个孕育、诞生、成长、成熟、衰亡的生存过软件有一个孕育、诞生、成

14、长、成熟、衰亡的生存过软件有一个孕育、诞生、成长、成熟、衰亡的生存过软件有一个孕育、诞生、成长、成熟、衰亡的生存过程。这个过程即为计算机软件的生存期程。这个过程即为计算机软件的生存期程。这个过程即为计算机软件的生存期程。这个过程即为计算机软件的生存期n n软件生存期的六个步骤,即软件生存期的六个步骤,即软件生存期的六个步骤,即软件生存期的六个步骤,即制定计划制定计划制定计划制定计划、需求分析需求分析需求分析需求分析、设设设设计计计计、程序编码程序编码程序编码程序编码、测试测试测试测试及及及及运行维护运行维护运行维护运行维护瀑布模型瀑布模型 制定计划n n确定要开发软件系统的确定要开发软件系统的

15、确定要开发软件系统的确定要开发软件系统的总目标总目标总目标总目标n n给出给出给出给出功能功能功能功能、性能性能性能性能、可靠性可靠性可靠性可靠性以及以及以及以及接口接口接口接口等方面的要求等方面的要求等方面的要求等方面的要求n n完成该软件任务的完成该软件任务的完成该软件任务的完成该软件任务的可行性研究可行性研究可行性研究可行性研究n n估计可利用的估计可利用的估计可利用的估计可利用的资源资源资源资源 (硬件,软件,人力等硬件,软件,人力等硬件,软件,人力等硬件,软件,人力等)、成本成本成本成本、效效效效益益益益、开发进度开发进度开发进度开发进度n n制定出完成开发任务的制定出完成开发任务的

16、制定出完成开发任务的制定出完成开发任务的实施计划实施计划实施计划实施计划,连同可行性研究报,连同可行性研究报,连同可行性研究报,连同可行性研究报告,提交管理部门审查告,提交管理部门审查告,提交管理部门审查告,提交管理部门审查需求分析和定义n n对用户提出的要求进行对用户提出的要求进行对用户提出的要求进行对用户提出的要求进行分析分析分析分析并给出并给出并给出并给出详细的定义详细的定义详细的定义详细的定义n n编写编写编写编写软件需求说明书软件需求说明书软件需求说明书软件需求说明书或或或或系统功能说明书系统功能说明书系统功能说明书系统功能说明书及及及及初步的系统初步的系统初步的系统初步的系统用户手

17、册用户手册用户手册用户手册n n提交管理机构提交管理机构提交管理机构提交管理机构评审评审评审评审软件设计n n概要设计概要设计概要设计概要设计 把各项需求转换成把各项需求转换成把各项需求转换成把各项需求转换成软件的体系结构软件的体系结构软件的体系结构软件的体系结构。结。结。结。结构中每一组成部分都是意义明确的模块,每个模块都构中每一组成部分都是意义明确的模块,每个模块都构中每一组成部分都是意义明确的模块,每个模块都构中每一组成部分都是意义明确的模块,每个模块都和某些需求相对应和某些需求相对应和某些需求相对应和某些需求相对应n n详细设计详细设计详细设计详细设计 对每个模块要完成的工作进行具体的

18、描对每个模块要完成的工作进行具体的描对每个模块要完成的工作进行具体的描对每个模块要完成的工作进行具体的描述,为源程序编写打下基础述,为源程序编写打下基础述,为源程序编写打下基础述,为源程序编写打下基础n n编写设计说明书,提交评审。编写设计说明书,提交评审。编写设计说明书,提交评审。编写设计说明书,提交评审。程序编写n n把软件设计转换成计算机可以接受的程序代码,即写把软件设计转换成计算机可以接受的程序代码,即写把软件设计转换成计算机可以接受的程序代码,即写把软件设计转换成计算机可以接受的程序代码,即写成以某一种特定程序设计语言表示的成以某一种特定程序设计语言表示的成以某一种特定程序设计语言表

19、示的成以某一种特定程序设计语言表示的“源程序清单源程序清单源程序清单源程序清单”n n写出的程序应当是结构良好、清晰易读的,且与设计写出的程序应当是结构良好、清晰易读的,且与设计写出的程序应当是结构良好、清晰易读的,且与设计写出的程序应当是结构良好、清晰易读的,且与设计相一致的相一致的相一致的相一致的软件测试n n单元测试单元测试单元测试单元测试,查找各模块在功能和结构上存在的问题并,查找各模块在功能和结构上存在的问题并,查找各模块在功能和结构上存在的问题并,查找各模块在功能和结构上存在的问题并加以纠正加以纠正加以纠正加以纠正n n组装测试组装测试组装测试组装测试,将已测试过的模块按一定顺序组

20、装起来,将已测试过的模块按一定顺序组装起来,将已测试过的模块按一定顺序组装起来,将已测试过的模块按一定顺序组装起来n n按规定的各项需求,逐项进行按规定的各项需求,逐项进行按规定的各项需求,逐项进行按规定的各项需求,逐项进行有效性测试有效性测试有效性测试有效性测试,决定已开,决定已开,决定已开,决定已开发的软件是否合格,能否交付用户使用发的软件是否合格,能否交付用户使用发的软件是否合格,能否交付用户使用发的软件是否合格,能否交付用户使用运行维护n n改正性维护改正性维护改正性维护改正性维护 运行中发现了软件中的错误需要修正运行中发现了软件中的错误需要修正运行中发现了软件中的错误需要修正运行中发

21、现了软件中的错误需要修正n n适应性维护适应性维护适应性维护适应性维护 为了适应变化了的软件工作环境,需为了适应变化了的软件工作环境,需为了适应变化了的软件工作环境,需为了适应变化了的软件工作环境,需做适当变更做适当变更做适当变更做适当变更n n完善性维护完善性维护完善性维护完善性维护 为了增强软件的功能需做变更为了增强软件的功能需做变更为了增强软件的功能需做变更为了增强软件的功能需做变更软件生存期模型n n软件生存期模型是跨越整个生存期的系统开发、运作软件生存期模型是跨越整个生存期的系统开发、运作软件生存期模型是跨越整个生存期的系统开发、运作软件生存期模型是跨越整个生存期的系统开发、运作和维

22、护所实施的全部过程、活动和任务的结构框架和维护所实施的全部过程、活动和任务的结构框架和维护所实施的全部过程、活动和任务的结构框架和维护所实施的全部过程、活动和任务的结构框架n n 瀑布模型瀑布模型瀑布模型瀑布模型n n 演化模型演化模型演化模型演化模型n n 螺旋模型螺旋模型螺旋模型螺旋模型n n 喷泉模型喷泉模型喷泉模型喷泉模型n n 智能模型智能模型智能模型智能模型瀑布模型瀑布模型n阶段间具有顺序性和依赖性n各个阶段如同瀑布流水,逐级下落,自上而下、相互衔接的固定次序。n推迟实现的观点n清楚地区分逻辑设计与物理设计,尽可能推迟程序的物理实现。n质量保证的观点(文档驱动)n每个阶段都必须完成

23、规定的文档n每个阶段结束前都要对所完成的文档进行评审瀑布模型的缺点瀑布模型的缺点模型缺乏灵活性。开发过程一般不能逆转,否则代价太大规格说明很难理解:“我知道这是按我的要求做的,但不是我想要的样子。”软件的实际情况必须到项目开发的后期客户才能看到。(文档驱动的两面性)演化模型(快速原型模型)n n由于在项目开发的初始阶段人们对软件的需求认识常常由于在项目开发的初始阶段人们对软件的需求认识常常由于在项目开发的初始阶段人们对软件的需求认识常常由于在项目开发的初始阶段人们对软件的需求认识常常不够清晰,因而使得开发项目难于做到一次开发成功,不够清晰,因而使得开发项目难于做到一次开发成功,不够清晰,因而使

24、得开发项目难于做到一次开发成功,不够清晰,因而使得开发项目难于做到一次开发成功,出现返工再开发在所难免。做两次出现返工再开发在所难免。做两次出现返工再开发在所难免。做两次出现返工再开发在所难免。做两次n n第一次只是试验开发,其目标只是在于探索可行性,弄第一次只是试验开发,其目标只是在于探索可行性,弄第一次只是试验开发,其目标只是在于探索可行性,弄第一次只是试验开发,其目标只是在于探索可行性,弄清软件需求清软件需求清软件需求清软件需求n n第二次则在此基础上获得较为满意的软件产品第二次则在此基础上获得较为满意的软件产品第二次则在此基础上获得较为满意的软件产品第二次则在此基础上获得较为满意的软件

25、产品需求需求设计设计编码编码测试测试集成集成需求需求设计设计编码编码测试测试集成集成开开发发反反馈馈开开发发反反馈馈.核核 心心 系系 统统 开开 发发第第 二二 次次 迭迭 代代针对事先不能完整地定义需求针对事先不能完整地定义需求 针对用户的核心需求针对用户的核心需求,开发核心系统开发核心系统 根据用户的反馈根据用户的反馈,实施活动的迭代实施活动的迭代增量模型 也称:渐增模型把软件产品作为一系列增量构件来设计、编码、集成和测试。增量模型的优点增量模型的优点每个阶段交付一个可用的产品减少一个全新产品给客户带来的心理上的影响分阶段地交付产品不需要大的资金支出需求经常变化,增量模型的灵活性使其具有

26、更加优越的适用性增量模型的困难增量模型的困难需要一个开放的结构,方便构件的加入增量模型本身就是一个矛盾的名词螺旋模型n n螺旋模型沿着螺线旋转,在四个象限上分别表达四个螺旋模型沿着螺线旋转,在四个象限上分别表达四个螺旋模型沿着螺线旋转,在四个象限上分别表达四个螺旋模型沿着螺线旋转,在四个象限上分别表达四个方面的活动,即:方面的活动,即:方面的活动,即:方面的活动,即:n n制定计划制定计划制定计划制定计划确定软件目标,选定实施方案,弄清项确定软件目标,选定实施方案,弄清项确定软件目标,选定实施方案,弄清项确定软件目标,选定实施方案,弄清项目开发的限制目开发的限制目开发的限制目开发的限制n n风

27、险分析风险分析风险分析风险分析分析所选方案,考虑如何识别和消除风分析所选方案,考虑如何识别和消除风分析所选方案,考虑如何识别和消除风分析所选方案,考虑如何识别和消除风险险险险n n实施工程实施工程实施工程实施工程实施软件开发实施软件开发实施软件开发实施软件开发n n客户评估客户评估客户评估客户评估评价开发工作,提出修正建议评价开发工作,提出修正建议评价开发工作,提出修正建议评价开发工作,提出修正建议 螺旋模型的优点容易确定什么时候已经对某一阶段的产品充分测试完毕维护和开发之间没有什么本质上的差别 螺旋模型的缺点仅适合于大型软件 风险驱动既是优点也是缺点喷泉模型n n迭代迭代迭代迭代n n 重复

28、重复重复重复n n 演进演进演进演进n n无间隙无间隙无间隙无间隙n n 各阶段间无明显界限各阶段间无明显界限各阶段间无明显界限各阶段间无明显界限软件工程的定义n nBoehmBoehm:运用现代科学技术知识来设计并构造计算机程序及运用现代科学技术知识来设计并构造计算机程序及运用现代科学技术知识来设计并构造计算机程序及运用现代科学技术知识来设计并构造计算机程序及为开发、运行和维护这些程序所必需的相关文件资料为开发、运行和维护这些程序所必需的相关文件资料为开发、运行和维护这些程序所必需的相关文件资料为开发、运行和维护这些程序所必需的相关文件资料n nIEEEIEEE:软件工程是开发、运行、维护和

29、修复软件的系统方软件工程是开发、运行、维护和修复软件的系统方软件工程是开发、运行、维护和修复软件的系统方软件工程是开发、运行、维护和修复软件的系统方法法法法n nFritz BauerFritz Bauer:建立并使用完善的工程化原则,以较经济的手建立并使用完善的工程化原则,以较经济的手建立并使用完善的工程化原则,以较经济的手建立并使用完善的工程化原则,以较经济的手段获得能在实际机器上有效运行的可靠软件的一系列方法段获得能在实际机器上有效运行的可靠软件的一系列方法段获得能在实际机器上有效运行的可靠软件的一系列方法段获得能在实际机器上有效运行的可靠软件的一系列方法软件工程三要素:方法、工具和过程

30、n n软件工程方法为软件开发提供了软件工程方法为软件开发提供了软件工程方法为软件开发提供了软件工程方法为软件开发提供了 “如何做如何做如何做如何做”的技的技的技的技术术术术n n软件工具为软件工程方法提供了自动的或半自动的软件工具为软件工程方法提供了自动的或半自动的软件工具为软件工程方法提供了自动的或半自动的软件工具为软件工程方法提供了自动的或半自动的软件支撑环境软件支撑环境软件支撑环境软件支撑环境n n软件工程过程定义了软件工程过程定义了:n n 方法使用的顺序方法使用的顺序方法使用的顺序方法使用的顺序n n 要求交付的文档资料要求交付的文档资料要求交付的文档资料要求交付的文档资料n n 为

31、保证质量和适应变化所需要的管理为保证质量和适应变化所需要的管理为保证质量和适应变化所需要的管理为保证质量和适应变化所需要的管理n n 软件开发各个阶段完成的里程碑软件开发各个阶段完成的里程碑软件开发各个阶段完成的里程碑软件开发各个阶段完成的里程碑软件开发方法 n结构化方法n结构是指系统内各组成要素之间的相互联系、相互作用的框架。n结构化方法强调结构的合理性,以及所开发软件的结构合理性,由此提出了一组提高软件结构合理性的准则,如分解和抽象、模块的独立性、信息隐蔽等。n针对不同的开发活动,有结构化分析、结构化设计、结构化编程和结构化测试等。面向数据结构方法面向数据结构方法n面向数据结构方法是结构化

32、方法的变形,它着重数据结构而不是数据流。n结构化方法结构化方法:以分析信息流为主,用数据流图来表示信息流;n面向数据结构方法面向数据结构方法:从分析数据结构入手,即分析信息结构,并用数据结构图来表示,再在此基础上进行需求分析,导出软件的结构。nWarmer法、Jackson法以及DSSD(数据结构系统开发)方法等。面向对象方法面向对象方法n起源:面向对象编程语言 nOOP(面向对象编程)-OOD(面向对象设计)+OOA(面向对象分析)-OOM(面向对象的软件开发方法)n面向对象方法的开发步骤:面向对象方法的开发步骤:1)从问题陈述入手,构造系统模型(对象模型)。2)逐层分解成各级子系统。原型法

33、原型法n原型法首先构造一个功能简单的原型系统,然后通过对原型系统逐步求精,不断扩充完善得到最终的软件系统。n原型法的主要优点:1)一种支持用户的方法,使得用户在系统生存周期的设计阶段起到积极的作用;2)它能减少系统开发的风险,特别是在大型项目的开发中,由于对项目需求的分析难以一次完成,应用原型法效果更为明显。软件工程环境软件工程环境n软件工程环境的定义软件工程环境的定义 美国国防部在STARS计划中,对软件工程环境定义如下:“软件工程环境是一组方法、过程及计算机程序的整体化构建,支持从需求定义、程序生成直到维护的整个软件生存期”。n软件工程环境是相关的一组软件工具的集合,支持一定的软件开发方法或按照一定的软件开发模型组织而成。n一个理想的软件工程环境:支持开发+支持管理的工具。n软件开发环境的特点1.数据库 2.软件工具的集成:软件工程环境提供软件工具的集成化,实现开发活动之间的全自动切换 3.友好的用户界面 4.信息提取的能力 5.分析能力 6.可裁减性和可扩充性 7.项目控制和管理 8.方法学的支持

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 技术资料 > 技术总结

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com