第6章-软件工程PPT课件.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第6章 软件工程 6.1软件工程与软件过程 6.2传统方法学 6.3面向对象方法学 6.4软件项目管理 6.1软件工程与软件过程 软件危机 软件工程 软件过程 软件危机(1) 软件危机指的是在计算机软件的开发和维护过程中所遇到的一系列严重问题 1968年北大西洋公约组织的计算机科学家在联邦德国召开的国际学术会议上第一次提出了“软件危机”(software crisis)这个名词 软件危机(2) 软件危机包含两方面问题: 如何开发软件,以满足不断增长,日趋复杂的需求 如何维护数量不断膨胀的软件产品 软件危机(3) 软件危机的原因: 一方面是与软件本身的特点有关 一方面是由软件开发和维护的方法不正确有关 软件危机(4) 为了消除软件危机,既要有技术措施(方法和工具),又要有必要的组织管理措施。软件工程正是从管理和技术两方面研究如何更好地开发和维护计算机软件的一门新兴学科 软件工程 (1) 软件工程是一类求解软件的工程,它应用计算机科学,数学以及管理科学等原理,借鉴传统工程的原则、方法,创建软件以达到提高质量,降低成本的目的 软件工程是一门指导计算机软件开发和维护的工程学科 软件工程(2) 软件工程是一门交叉学科。软件工程包含技术和管理两个方面的内容,是管理与技术的紧密结合 软件开发技术包括软件开发方法学、软件开发过程、软件工具和软件工程环境,软件工程管理包括软件管理学、软件经济学和软件心理学 目前使用最广泛的软件工程方法学,分别是传统方法学和面向对象方法学 软件过程 (1) 软件工程过程是为了获得高质量软件所需要完成的一系列任务的框架,它规定了完成各项任务的工作步骤 在概念上可以把软件生命周期划分成问题定义、可行性研究、需求分析、概要设计、详细设计、编码和单元测试、综合测试以及维护八个阶段 软件过程(2) 软件生命周期 软件定义 软件开发 运行维护 6.2传统方法学 传统方法学也称生命周期方法学或结构化范型。它采用结构化技术来完成软件开发的各项任务,并使用适当的软件工具或软件工程环境来支持结构化技术的运用 结构化分析 结构化设计 结构化实现 结构化分析(1) 传统的软件工程方法学使用结构化分析技术,完成分析用户需求的工作 需求分析是发现、求精、建模、规格说明和复审的过程 需求分析要尽可能准确地了解用户当前的情况和需要解决的问题。通过与用户交流,对用户的基本需求反复细化,以得出对目标系统的完整、准确和具体的需求 结构化分析(2) 为了详尽地了解并正确地理解用户的需求,必须使用适当的技术与用户通信和沟通 访谈 简易的应用规格说明技术 快速原型 结构化分析(3) 为了更好地理解问题,人们常常采用建立模型的方法,结构化分析实质上就是一种建模活动,通常建立数据模型、功能模型和行为模型 结构化分析(4) 建立模型使用的工具通常有: 实体——关系图(建立数据模型) 数据流图(建立功能模型) 状态转换图(建立行为模型) 数据字典则是描述在数据模型、功能模型和行为模型中出现的数据对象和控制信息的特性,给出这些对象的精确定义。 结构化设计(1) 软件设计在软件工程过程中处于技术核心地位,是软件开发过程中决定软件产品质量的关键阶段 软件设计必须依据对软件产品的需求来进行,目标是设计出所要开发的软件的模型 结构化设计(2) 结构化设计把结构化分析的结果作为基本输入信息了获得高质量的软件设计结果 结构化设计应该遵循模块化、抽象、逐步求精、信息隐藏和模块独立等基本设计原理,特别是其中的模块独立原理,对软件体系结构设计和接口设计具有非常重要、十分具体的指导作用 结构化实现(1) 实现包括编码和测试两个阶段。 传统的软件工程方法学规定编码是在对软件进行了概要设计和详细设计之后进行的,编码是把软件设计的经过翻译成用某种程序设计语言书写的程序,因此,程序的质量基本上由设计的质量决定。 编码使用的语言,特别是写程序的风格,也对程序质量有相当大的影响。 结构化实现(2) 软件测试在软件生命周期中横跨两个阶段。 在编写出每个模块之后就对它做必要的测试(称为单元测试),模块的编写者和测试者是同一个人,编码和单元测试属于软件生命周期的同一个阶段。在这个阶段结束之后,对软件系统还要进行各种综合测试,这是软件生命周期中的另一个独立的阶段,通常由专门的测试人员承担这项工作。 结构化实现(3) 测试阶段的根本任务是发现并改正软件中的错误。 软件测试有两类方法:白盒测试和黑盒测试。 在测试过程的早期阶段主要使用白盒测试技术,在测试的后期主要使用黑盒测试技术。 结构化实现(4) 目前软件测试仍然是保证软件质量的关键步骤,它是对软件规格说明、设计和编码的最后复审。 在测试过程发现的软件错误必须及时改正,这就是调试的任务。

文档评论(0)

pandon + 关注
官方认证
内容提供者

该用户很懒,什么也没介绍

认证主体阳春市鑫淼网络科技有限公司
IP属地广东
统一社会信用代码/组织机构代码
91441781MA52GF540R

1亿VIP精品文档

相关文档