第01章 软件工程概念.ppt

  1. 1、本文档共65页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第一章 软件工程概念 软件工程课件 提示:设计与建模要点 结构化分析建模:数据流图、实体关系图、状态迁移图、数据字典 结构化设计建模:数据流图转换为系统结构图 结构化程序设计:程序流程图、N-S图、PAD 程序环路复杂性计算 测试用例设计:逻辑覆盖、循环测试、基本路径覆盖、因果图 可靠性分析:估算测试前程序中潜在错误 OMT建模:对象模型、动态模型(状态图、事件追踪图) UML建模:用例图、类图、顺序图、活动图 第一章 软件工程概念 1.1 软件的定义与分类 1.2 软件的发展 1.3 软件工程定义 1.4 软件工程过程与软件生存周期模型 1.5 软件开发范型 1.6 软件工程原理和原则 1.1 软件的定义与分类 软件的定义:软件由计算机程序、数据及文档组成。 程序是按事先设计的功能和性能要求执行的指令序列 数据是使程序能正常操纵信息的数据结构 文档是与程序开发,维护和使用有关的图文材料 软件与硬件、数据库、人、过程等共同构成计算机系统。 软件的特点 软件是一种逻辑实体,而不是具体的物理实体。因而它具有抽象性 软件的生产与硬件不同,在它的开发过程中没有明显的制造过程 在软件的运行和使用期间,没有硬件那样的机械磨损,老化问题 软件的开发和运行常受到计算机系统的限制,对计算机系统有着不同程度的依赖性 软件的开发至今尚未完全摆脱手工艺的开发方式 软件本身是复杂的 实际问题的复杂性 程序逻辑结构的复杂性 软件成本相当昂贵 相当多的软件工作涉及到社会因素 软件的分类 按软件的功能进行划分: 系统软件 操作系统 数据库管理系统 设备驱动程序 通信处理程序等 支撑软件 文本编辑程序 文件格式化程序 程序库系统 支持需求分析、设计、实现、测试和支持管理的软件 应用软件 商业数据处理软件 工程与科学计算软件 计算机辅助设计/制造软件 智能产品嵌入软件 事务管理、办公自动化软件 计算机辅助教学软件 按软件规模进行划分: 类别 参加人员数 研制期限 源程序行数 微型 1 1~4周 0.5k 小型 1 1~6月 1k~2k 中型 2~5 1~2年 5k~50k 大型 5~20 2~3年 50k~100k 甚大型 100~1000 4~5年 1M(=1000k) 极大型 2000~5000 5~10年 1M~10M 按软件工作方式划分: 实时处理软件 分时软件 交互式软件 批处理软件 按软件服务对象的范围划分: 项目软件 产品软件 按使用的频度进行划分: 一次使用 频繁使用 按软件失效的影响进行划分: 高可靠性软件 一般可靠性软件 1.2 软件发展阶段 程序设计阶段 — 1950 至 60 年代 计算机软件发展的初期,其主要特征是程序生产方式为个体手工方式。 主要采用批处理技术,没有任何其它形式的文档资料保留下来,开发出的程序根本无法维护。 程序系统阶段 — 60至70年代 程序的规模已经很大,需要多人分工协作,软件的开发方式由“个体生产”发展到了“软件作坊”。 “软件作坊”基本上沿用了软件发展早期所形成的个体化的开发方式,软件的开发与维护费用以惊人的速度增加。许多软件产品根本不能维护,最终导致出现了严重的“软件危机”。 软件工程阶段 — 70年代以后 软件的开发以工程化的思想为指导,用工程化的原则、方法和标准来开发和维护软件。 软件工程概念的出现源自软件危机。 软件危机的主要特征 软件价格在整个项目投入中的比例不断升高; 软件开发成本严重超标; 软件开发周期大大超过规定日期; 软件质量难于保证; 软件修改、维护困难; 失败的根本原因在于:开发人员写出的东西达不到用户要求 (人的问题、技术问题) 为了解决软件危机,人们借鉴其他领域的经验和知识,从而认识到“摆脱软件危机的出路在于软件开发的标准化和工程化”,出现了“软件工程”的概念。 1.3 软件工程定义 1968 年德国人 Bauer 在北大西洋公约组织会议上的定义: 建立并使用完善的工程化原则 , 以较经济的手段获得能在实际机器上有效运行的可靠软件的一系列方法。 1983 年 IEEE 的软件工程定义: 软件工程是开发,运行 , 维护和修复软件的系统方法。 1993 年 IEEE 的一个更加综合的定义: 将系统化的,规范的,可度量的方法应用于软件的开发

文档评论(0)

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

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

1亿VIP精品文档

相关文档