软件工程绪论—1.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
软件工程绪论—1

第一章 绪论 什么是软件 软件的特点 软件的发展 软件生存期 什么是软件工程 软件工程的目的和要求 先接受2个正确观点: 1、“开发软件不等于编写程序” — 开发软件应该完成的工作远远多于编写程序应该完成的工作。 设计算法(即完成指定功能的步骤),然后用程序设计语言(例如:C语言)表达该算法。 而开发软件并非就是编写程序,事实上编写程序仅仅是开发软件所应完成的工作的一部分,而且只占一小部分。 为了开发出一个符合用户需要、质量合格的软件,软件工程师必须首先弄清楚用户面临的问题是什么,也就是要明确软件的“主攻”方向; 接下来应该进行可行性研究方案,分析用户面临的问题是否有行得通的解决方案。为避免浪费资源,仅在该软件的开发是可行的前提下,才进行实质性的开发工作; 然后应该进行需求分析工作,通过与用户的反复交流,搞清楚用户对该软件的具体需求,这些需求是进行软件设计的依据;在编写程序之前需要先进行设计。 通常,大型软件的设计工作又分成两个阶段进行,先进行总体设计(又称为概要设计),再进行详细设计; 编写程序实质上是把设计结果翻译成用某种程序设计语言书写的程序; 程序编写出来之后,还需要经过严格的测试过程(需要的工作量通常占软件开发全部工作量的40%~50%) ,软件确实符合用户需求而且质量合格,才能交付给用户使用。 2、“错误做法会导致软件危机”。 开发软件不等于编写程序。但是,迄今为止,仍然有不少人错误地认为开发软件就是编写程序,或者认为开发软件主要就是编写程序。人们之所以有错误的认识并在开发软件时采用了错误的做法,主要可归因于在计算机系统发展的早期阶段“开发软件”的个体化特点。 所谓软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。这些问题绝不仅仅是不能正常运行的软件才具有的,实际上,几乎所有软件都不同程度地存在这些问题。(软件危机的具体表现在后面介绍) 1.1软件工程简述 软件是计算机系统中与硬件相互依存的另一部分,它是包括程序,数据及其相关文档的完整集合。 程序是按事先设计的功能和性能要求执行的指令序列。计算机程序包括源程序和目标程序。 数据是使程序能正常操纵信息的数据结构(即数据的组织形式)。 文档是与程序开发,维护和使用有关的图文材料。 1.1软件工程简述 软件的特点 软件是一种逻辑实体,而不是具体的物理实体。因此,它具有抽象性。 软件的生产与硬件不同,没有明显的制造过程。对软件的质量控制,必须立足于软件开发方面。 在软件的运行和使用期间,没有像硬件那样的磨损、老化问题。 软件的开发和运行往往受到计算机系统的限制,对计算机系统有不同程度的依赖性。 1.1软件工程简述 面向过程的程序=算法+数据结构 面向对象的程序=对象+消息 面向构件的程序=构件+构架 软件=程序+数据+文档 1.1软件工程简述 软件的特点(续) 迄今为止,软件的开发尚未完全摆脱手工艺的方式。 软件本身是复杂的。 软件的成本相当昂贵。(见下页图示) 相当多的软件工作涉及到社会因素。 1.1软件工程简述 软件的分类 按软件的功能划分:系统软件、支撑软件、应用软件 按软件的规模划分:微型、小型、中型、大型、超大型 按软件的工作方式划分:实时、分时、交互、批处理 按软件服务对象的范围划分:项目软件、产品软件 1.1软件工程简述 一、计算机软件发展的各个时期 1. 第一代(60年代中期之前)程序设计阶段 硬件通用,软件专用;程序规模小,编写者和使用者为同一人(同组人)。 2. 第二代(60年代中期-70年代中期)程序系统阶段 出现“软件作坊”、产品软件;“个体化”开发方法。 3. 第三代(70年代中期之后)软件工程阶段 软件开发成为一门新兴的工程学科——软件工程。 4. 第四代(90年代后)现代软件工程阶段。 1.1软件工程简述 二、什么是软件危机 软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。主要是两个问题。 1. 如何开发软件,怎样满足对软件的日益增长的需求。 2. 如何维护数量不断膨胀的已有软件 1.1软件工程简述 三、软件危机的主要表现 1. 对软件开发成本和进度的估计不准确 2. 用户不满意 3. 软件质量不高、可靠性差 4. 软件常常不可维护、错误难以改正。 5. 缺乏适当的文档资料 6. 软件成本占系统总成本的比例逐年上升 7. 软件开发速度跟不上计算机发展速度 1.1软件工程简述 四、产生软件危机的原因 1. 与软件本身的特点有关 软件不同于硬件,它是计算机系统的逻辑部件而不是物理部件。在写出程序代码并在计算机运行之前,软件开发过程的进展情况较难衡量,软件开发的质量也较难评价。因此,管理和控制软件开发过程相当困难。 2. 软件不易于维护 (1)软件维护通常意味着

文档评论(0)

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

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

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档