[工学]软件技术基础6.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
[工学]软件技术基础6

第六章 软件工程 一、软件工程的基本概念 “软件工程”一词是1968年北大西洋公约组织的计算机科学家在当时联邦德国召开的专门讨论解决“软件危机”的国际会议上正式提出并使用的,并由此诞生了一门新兴学科——软件工程学。 “软件工程学”是一门交叉学科,它涉及计算机科学、管理科学、工程学和数学。 计算机科学培养的是计算机科学家,而软件工程则是培养软件工程师。 1.什么是软件工程 软件工程 IEEE定义:软件工程是以系统的、规范的、定量的方法应用于软件的开发、运营和维护,以及这些方法的研究。 软件工程学:研究软件开发和维护的普遍原理与技术的一门工程学科 。 2.软件工程的目标 软件工程的基本目标是: 开发尽可能多的软件产品; 提高软件的生产效率; 满足应用的功能需要; 降低软件开发成本。 3.软件工程的指导思想 为解决软件危机,把“软件”这种特殊商品的生产、管理过程纳入传统工程管理的轨道; 用计算机科学中的最新成果应用于软件工程中 用管理学的原理和方法进行软件生产管理 用工程学的观点进行核算,制定工程进度和实施方案 用数学方法建立软件的可靠模型和各种有效算法 采用科学的方法进行软件的开发和管理 4.软件工程基本原理 著名软件工程专家B.W.Boehm于1983年发表的一篇论文中提出了软件工程的七条基本原理。他认为这七条原理是确保软件产品质量和开发效率的最小准则集合。 自1968年提出“软件工程”的概念以来,专家学者又陆续突出了100多条关于软件工程的准则。 软件工程七条基本原理 (1)用分阶段的生命周期计划严格管理 (2)坚持进行阶段评审 (3)实行严格的产品控制 (4)采用现代程序设计技术 (5)结果应能清楚地审查 (6)开发小组人员少而精 (7)承认不断改进软件工程实践的必要性 5.软件工程应用范围 大型程序要由若干个程序员小组承担开发,相互关系极其复杂,因此,必须自始至终坚持SE方法。 个人程序、中小型或一般程序同开发人员之间的关联较小,应用SE方法收效甚微。 应用程序分类 6.传统软件工程模式 70年代,计算机技术水平不高,开发工具少而且性能差。对于大型复杂问题的求解方法有很大的局限性影响。 软件工程采用的方法:把软件生存周期划分成若干个阶段,每个阶段的任务相对独立,而且比较简单,便于不同人员分工协作,从而降低整个软件开发工程的困难程度。 在实现每个阶段的任务时,采用的是系统化的技术方法——结构化分析和结构化设计技术。 传统软件工程模式的缺点:强调了分阶段实施模块化、结构化程序设计技术和方法,而忽视了人在软件开发过程中的地位和作用。 7.现代软件工程模式 现代软件工程是在传统软件工程模式的基础上,为了强调人在系统开发中的作用,同时为了适应软件新技术的发展趋势而提出的。其基本要点是: 以人为主,充分利用软件开发方法及软件开发工具; 开发人员的组织管理对软件开发成功与否至关重要; 基于软件组件的软件开发技术。各种功能的可重用软件组件不断问世。这使得在软件开发过程中编程工作量日趋减少,取而代之的是在设计好系统体系结构后,利用软件组件构造或重构软件系统。 由于软件组件是标准化设计、成品化生产的,极易构造使用,从而大大简化了设计、编程、测试各个环节的工作量,提高了工作效率和生产效率。 由于在软件开发过程中最大限度地采用软件组件,使得软件开发过程变为系统分析、系统构造、系统测试的集成过程。 6.1.2 软件生命周期 一、定义 为了更有效、更科学地组织和管理软件生产;根据某一软件从被提出并着手开始实现,直到软件完成其使命为止的全过程划分为一些阶段;称这一全过程为软件生命周期。 软件生命周期组成 二、各个阶段任务 1.软件定义期 (1)问题定义 (1)这一阶段的主要目的是确定问题的性质、工程目标以及规模。 (2)应力求使软件开发人员、用户以及使用部门负责人对问题的性质、工程目标与规模取得完全一致的看法。 (2)可行性研究 (1)可行性研究的目的是进一步研究问题定义 阶段所定义的问题是否可解。 (2)通过复查系统的目标和规模,并研究现在正使用的系统,从而导出试探性的解。 (3)从各方面分析物理系统的可行性, 推荐一个可行方案,供有关部门审批。 (3)需求分析 任务:根据可行性研究阶段提交的文档,特别是从数据流图,对目标系统提出清晰、准确和具体的要求,即要明确系统必须做什么的问题。 (3) 需求分析 2.软件开发期 (1)系统设计 任务是划分出构成系统的各物理元素(如程序、文件、数据库、人工过程与文档等)以及设计出软件的结构(如确定模块及模块间的关系) 系统设计过程 (2)详细设计 (3)编码 编码是将系统设计与详细设计阶段中的结果翻

文档评论(0)

ctuorn0371 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档