《新》第1章 软件开发方法(二)软件工程.pptVIP

《新》第1章 软件开发方法(二)软件工程.ppt

  1. 1、本文档共76页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
主要内容 软件工程 软件工程的目标 软件工程的原理 软件开发活动 软件工程方法学 软件工程专家Boehm定义 运用现代科学技术知识来设计并构造计算机程序及为开发、运行和维护这些程序所必需的相关文件资料。 IEEE1983年给出的定义 以优质、高效、低成本为目标,研究开发、运行和维护软件以及使之退役的系统方法。 其中,“软件”的定义为:计算机程序、方法、规则、相关的文档资料以及在计算机上运行时所必需的数据。 本教科书给出的定义 运用系统的、规范的和可定量的方法来开发、运行和维护软件。 软件工程学 软件工程是一门交叉学科,涉及到计算机科学、管理科学、工程学和数学。 软件工程的理论、方法、技术都是建立在计算机科学的基础上; 用管理学的原理、方法进行软件生产管理; 用工程学的观点进行费用估算、制定进度和实施方案; 用数学方法建立软件可靠性模型以及分析各种算法。 软件工程的目标 开发生产尽可能多的软件产品; 提高软件的生产效率; 满足应用的功能需要和具有较好的软件性能; 能按时、按质完成软件开发任务; 降低软件开发成本。 软件工程原理 自1968年提出“软件工程”的概念以来,专家学者又陆续提出了100多条关于软件工程的准则。 著名软件工程专家B.W.Boehm于1983年发表的一篇论文中提出了软件工程的七条基本原理。他认为这七条原理是确保软件产品质量和开发效率的最小准则集合。 软件工程七条基本原理 用分阶段的生命周期计划严格管理 坚持进行阶段评审 实行严格的产品控制 采用现代程序设计技术 结果应能清楚地审查 开发小组人员少而精 承认不断改进软件工程实践的必要性 软件开发活动 软件工程过程是由一系列软件工程的阶段任务和活动组成。 1995年ISO将软件生存周期的活动和任务划分为3个过程: 主要过程(需求、设计、构造、测试和维护) 支持过程(软件配置、软件工程管理、软件过程和软件质量) 组织过程(基础设施建设、工具和方法、改进和培训) 一.主要过程 主要过程包括的软件开发活动和任务是: 软件需求 软件设计 软件构造 软件测试 软件维护 1、软件需求 任务:收集、分析、理解、确定用户的要求;然后把用户的要求精确、完整地描述表达出来。 目的:要回答“要解决什么问题?”, 既系统“做什么?” 。 分两步骤: 可行性研究、制定软件开发计划 结果: 可行性报告、软件计划、需求说明书 需求说明书是让用户理解: “什么是他们真正需要的”。 了解用户需求有关的问题 什么是需求?希望,功能,限制,必需品,任何必要的东西; 什么时候? 从确定方案开始; 为什么? 用户的需求是开发需要的依据; 来自哪里? 来自用户,工业标准,和实践经验; 如何实现?使所有相关的人参与需求分析活动,通过有效的交流实现; 谁来做? 用户,工程管理人员,开发人员,维护人员。 需求分析的难点 ⑴ 问题的复杂性。 涉及因素多而;如运行环境和系统功能等。 ⑵ 交流障碍。 涉及不同类型人员较多,知识背景、角度、角色的不同; ⑶ 不完备性和不一致性。 用户对问题的陈述有矛盾、片面性等造成。 ⑷ 需求易变性。 需求是变化的。 需求活动 ⑴ 识别问题 通过调研和收集资料,了解用户的确切需求,并将用户提出的功能行为和特殊要求等用双方都能理解的表达方式逐条列出。在整个分析期间要和用户充分协商。 ⑵ 可行性研究 对于大型复杂问题,要对用户的要求及实现环境从技术、经济和社会因素三个方面进行可行性研究,以确定问题是否可解。 ⑶ 分析建模 建立软件求解模型;信息、行为和表示。 ⑷ 需求规格化及编写文档 需求规格说明书、初步用户使用手册等。 2、软件设计 任务:给出实现系统的实施蓝图。 目的:要回答“如何解决该问题?”, 既系统“怎样做?”。 步骤: 概要设计:解决系统的模块划分、模块的层次结构及数据库设计。 详细设计:解决每个摸块内部算法和数据结构。 结果: 系统设计说明书和模块功能说明书 软件设计工作 软件设计要做的工作总的可以归结为:软件系统结构(软件结构) 设计、数据设计、界面设计和过程设计。 设计办法是功能分解,包括: ⑴ 采用某种设计方法,将一个复杂的系统按功能划分成模块; ⑵ 确定每个模块的功能; ⑶ 确定模块之间的接口,即模块之间传递的信息; ⑸ 评价模块结构的质量。 软件设计准则 (1)软件结构准则;分层结构、便于控制;软件结构的深度和宽度要适中;具有合理的扇出和扇入数。 (2)模块化准则;分解复杂问题; (3)模块独立性准则;应使模块之间和与外部环境之间接口的复杂性尽量地减小;模块应具有低耦合、高内聚; (4)数

文档评论(0)

tianjiao123 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档