软件与软件工程培训ppt课件_第1页
软件与软件工程培训ppt课件_第2页
软件与软件工程培训ppt课件_第3页
软件与软件工程培训ppt课件_第4页
软件与软件工程培训ppt课件_第5页
已阅读5页,还剩79页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、软件和软件工程培训,第1,1章软件和软件工程,1.1软件1.2软件工程概念1.3软件生命周期1.4软件开发模型1.5软件开发方法,工具和环境,软件和软件工程培训,2,培训标题:1.1软件1.2软件工程概念培训目的:1。理解软件、软件危机等概念2。掌握软件工程的定义、原理、目标和原始概念。讲座重点:软件工程的定义、原则、目标和原则培训难点:软件工程的目标和原则培训工具:多媒体教室,电子教学计划行业:阅读,第一章软件和软件工程,软件和软件工程培训,3,1.1.1软件(Software)1.1.1软件和软件配置,计算机软件相关能够运行软件程序和相关的数据机。文档(软件开发、操作、裴珉姬维修、使用、培

2、训相关)不能执行。程序用编程语言描述,适用于计算机处理的语句序列。软件和软件工程培训,4,1机器语言,汇编语言:依赖机器,机器2高级语言:独立于机器,面向流程或面向对象3面向问题的语言:独立于机器,非程序语言(4GL)文档(document)一个数据介质及其上面记录的数据。文档记录软件开发活动和阶段的结果,是永久性的,可以由人或机器阅读。文档可用于专家和用户之间的通信和沟通。软件开发过程管理;运行时运行时管理。面向流程和编程语言:软件和软件工程培训,5,1。软件的特性,软件是逻辑产品,硬件是物理产品。特征:(1)软件开发更依赖于开发人员的业务质量、智力、员工的组织、合作和管理。软件开发,设计几

3、乎从头开始,成本和进度难以预测。(2)软件有潜伏错误,通常可以排除硬件错误。(3)如果软件开发成功,只需复制原版即可。软件和软件工程培训,6,1。软件的特性(续),(4)软件使用过程中出现的假设(保守复杂性:1)在纠正错误的过程中发现的潜在错误的纠正;2)提高或提高软件性能的完善的零件报酬;3)适应硬件和软件环境变化的管理修改软件;4)主动预防性管理软件的未来可维护性和可靠性增强。(5)软件不会磨损或老化。软件和软件工程培训,7,2。软件开发,第一阶段20世纪60年代中期以前,软件开发处于个别生产状态。在这个阶段,软件还没有系统的开发方法。目标主集在于提高时空效率的方法。第二阶段是从20世纪6

4、0年代中期到70年代后期。软件开发通过“软件研讨会”进入了生产方式。软件开发开始形成产品。直到20世纪60年代末,“软件危机”变得非常严重。软件和软件工程培训,8,2。软件开发,第三阶段,从20世纪70年代中期到80年代后期。软件开发进入了工业生产,就出现了很多大型“软件公司”。在第一部分中,随着软件开发中引入“工程”方法,软件产品急剧增加,质量也有了很大提高。第四阶段开始于20世纪80年代末。这是软件产业大发展的时期。随着软件工程的极大发展,人们开始采用面向对象技术和可视化集成开发环境。软件和软件工程培训、9,1.1.2软件危机、软件危机是指计算机软件开发、使用和管理过程中出现的一系列严重问

5、题和挑战。1软件危机的征兆1)软件开发成本和进度的估计往往不准确。实际成本比预计成本高一级,实际进度经常比计划进度推迟几个月,甚至几年,因此,开发人员的可信度降低,可能引起用户不满。2)当用户对完成的软件不满意时发生。3)软件产品的质量往往不可靠。软件和软件工程培训,10,1软件危机的性能,4)软件往往无法管理裴珉姬。5)软件通常没有相应的文档资料。文件资料不完整或不具备资格,会给软件开发和裴珉姬管理工作带来很多困难,难以解决。6)软件成本在整个计算机系统成本中所占的比例逐年增加。特别是软件裴珉姬维修成本迅速增加,占硬件和软件总成本的40u%,如图1-1-1所示。7)提高开发生产力比软件要求快

6、得多。软件和软件工程培训,11,3)缺乏处理大型软件项目的经验。开发大型软件项目需要很多人力共同完成。一般来说,大多数管理员缺乏大规模软件开发经验,大多数软件开发人员缺乏大规模软件项目的管理经验,因此,各种各样的人都不能及时交换信息,不准确,容易产生误导。软件和软件工程培训,13,2软件危机的原因,4)大规模软件开发容易出现遗漏和错误。(5)缺乏强有力方法的指导和有效发展组织的支持。软件开发过分依赖程序员的“要领”,深化了软件产品的个性化。6)面对日益增长的软件要求,人们显得无能为力。从某种意义上来说,解决需求和供给的矛盾将是永恒的主题。软件和软件工程教育,如何缓解14,3软件危机,20世纪6

7、0年代末软件危机相当严重。因此,计算机科学家开始寻找缓解软件危机的方法。他们提出了“软件工程”的概念,以现代工程的原理、技术和方法进行软件的开发、管理、管理和更新。因此开拓了计算机科学技术的新研究领域。软件和软件工程教育,15,1.2软件工程的概念1.2.1软件工程的定义,1968年北大西洋公约组织在前西德举行了计算机科学会议,Fritz Bauer首次提出了“软件工程”的概念。软件工程工程、科学和数学原则和方法开发与计算机软件相关的技术和管理方法。软件工程包括三个部分:称为软件工程的三个元素的方法、工具和过程。软件和软件工程培训、16,1.2.1软件工程的定义、软件工程的多种方法是完成软件工

8、程项目的技术手段,并支持软件工程的不同阶段。软件工程中使用的软件工具可以自动或半自动地支持软件的开发、管理和文档生成。软件工程的流程贯穿整个工程流程,在此过程中,管理人员应评估、管理和控制软件开发的质量、进度、成本等,包括程序跟踪和控制、成本估算、人员组织、质量保证、配置管理;软件和软件工程培训;17,1.2.2软件工程的基本原则;著名软件工程专家B. W. Boehm这七个原则被认为是保证软件产品质量和开发效率的原则的最小集合,是相互独立的、不可缺少的非常完整的最小集合。软件和软件工程培训,18,1受分阶段生命周期计划的严格管理,这是将软件生命周期分为多个阶段,相应地制定可行计划,然后按计划

9、严格管理软件开发和裴珉姬管理工作的基本原则。需要创建的计划包括项目汇总计划、里程碑计划、项目控制计划、产品控制计划、验证计划和执行裴珉姬管理计划。各级管理人员必须按照计划严格管理软件开发和裴珉姬维修工作。据统计,一半没有成功的软件项目是由于计划不充分导致的。软件和软件工程培训,遵守19,2阶段审查,在软件生命周期的每个阶段,编码阶段之前的错误约为63%,而编码错误仅为37%。另外,发现错误,修改得越晚,费用就越高。在每个阶段结束之前继续严格的审查,可以尽早发现错误,并以最低的成本更正它们。因此,这是必须遵守的重要原则。软件和软件工程培训,实施20,3严格的产品控制,随机变更要求,渡边杏,可以依

10、靠科学的产品控制技术满足用户要求的变更要求。为了保持软件各组件的一致性,必须进行严格的产品控制。实施基本配置管理,通常称为变更控制。也就是说,所有修改软件的建议,特别是包括基本配置的更改建议,都必须严格按照法规审查,并在审查后实施。此处,“基准配置”是指分阶段审查后的软件组件,即在每个阶段生成的文档或程序代码等。软件和软件工程培训,21,4表明,使用最新的编程技术,可以提高软件开发和裴珉姬管理的效率和软件质量。多年来,人们一直致力于研究新的“编程技术”。例如,20世纪60年代末提出的结构编程技术,后来开发了多种结构分析(SA)和结构设计(SD)技术。然后,面向对象分析(OOA)和面向对象设计(

11、OOD)技术等将再次出现。软件和软件工程培训,并清楚地审查22,5结果。软件产品是看不见,不孙怡接触的逻辑产品。因此,很难确定软件开发团队的工作进度,难以评估和管理。为了更好的评价和管理,必须根据软件开发的总体目标和完成时间,尽可能明确地规定软件开发团队的责任和产品标准,从而明确地审查所取得的结果。软件和软件工程培训,23,6开发人员必须是少数,因为软件开发团队的人员和数量是影响软件质量和开发效率的重要因素。实践表明,素质高的人比素质低的人开发效率高几倍到几十倍,开发软件的错误也少得多。另外,开发组的数量太多,就等于是零。因为随着人数的增加,人事之间的交流情况、讨论问题的通信开销急剧增加,而不

12、是提高生产力,而是误会等,会增加出错的可能性。认识到需要继续改进软件和软件工程培训,24,7软件工程实践,遵循上述六项基本原则,可以更好地实现软件工程创建。但是,软件工程只能停留在现有技术水平上,必须积极采用或创建新的软件技术,还必须注意持续经验总结、工作负载、进度、成本等数据收集、错误类型和问题报告的统计信息等。此数据可用于评估新软件技术的效果,并可用于表示需要优先研究的软件工具和技术。软件和软件工程培训,25,1.2.3软件工程的目标,软件工程的目标是以给定的成本、进度为前提,开发具有可修改性、有效性、可靠性、可理解性、可维护性、可重用性、适应性、可移植性、可追溯性和互操作性并满足用户要求

13、的软件产品。、软件和软件工程培训,26,术语说明,1)修改性,可以在不增加软件系统复杂性的情况下修改软件系统。协助软件调试和裴珉姬管理。2)表示软件系统时间和空间效率的有效性。这是需要努力追求的重要目标。3)稳定性,程序在给定时间间隔内成功运行的概率。可靠性是衡量软件质量的重要目标。软件和软件工程培训,27,名词说明,4)表示系统的明确结构,直接反映问题的需要。理解力有助于控制软件系统的复杂性,并支持软件的裴珉姬管理、移植和重用。5)可维护性是指在提供软件产品后,解决潜在错误、实现性能提高等特性,以及适应环境变化等方面的工作变得多么容易。由于软件裴珉姬管理成本在整个软件生命周期中所占的比重,服

14、务功能是软件工程中非常重要的目标。支持软件的可理解性和可修改性软件的可维护性。软件和软件工程培训,28,术语说明,6)“可重复使用性”(reusability)表示可变部件在各种情况下的可用程度。概念或功能相对独立的一个或一组相关模块可以由一个软部件组成。软部件必须具有明确的结构和注释、准确的编码和高的时空效率。开发人员可以根据规则将各种可变部件放置在可变部件存储库中,以供选择。一般来说,可重用性还应包括重复使用,如应用项目、规格说明、设计、概念和方法。一般来说,重用的级别越高,效果越大。可重用性有助于提高软件产品的质量和开发效率,降低软件开发和维护成本。软件和软件工程培训,29,术语说明,7

15、)适应性是指软件在其他系统限制下满足用户需求的容易程度。以广泛使用的硬件和软件支持环境、广泛使用的编程语言编码、标准术语和格式编写文档,提高了软件产品的适应性。8)可移植性是指软件从一个计算机系统或环境迁移到另一个计算机系统的轻松程度。可以采用典型的操作支持环境和尽可能常用的编程语言的标准部分,以提高可移植性。依赖计算机系统的低级(物理)特征部分必须相对独立和集中。可移植性支持软件的可重用性和适应性。软件和软件工程培训,30,名词说明,9)可追溯性是指根据软件需求向前跟踪软件设计、程序或根据程序、软件设计向后跟踪软件需求的能力。在软件开发的所有阶段,文档和程序的完整性、一致性和可理解性支持软件的可跟踪性。10)互操作性是指多个软件元素能够互相通信并一起完成任务的能力。软件和软件工程培训、31,1.2.4软件工程原理、1抽象、提取各事物共有的最基本的特征和动作,暂时忽略它们之间的差异。通常使用分层抽象方法来控制软件开发过程的复杂性。抽象有助于提高软件的理解度,有助于管理开发过程。2信息隐藏,封装模块内的信息(数据和过程)。其他模块只能通过简单的模块接口调用

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论