软件工程项目概述.pptVIP

  • 214
  • 0
  • 约7.6千字
  • 约 59页
  • 2018-09-20 发布于湖北
  • 举报
计算机科学与工程学院 第一章 软件工程概述 1.1 软件的发展历史 1.2 软件工程与软件过程 1.3 软件开发的基本策略 1.4 软件的错误观点 2. 第二阶段--程序系统阶段 从60年代中期到70年代末期 多用户系统引入了人机交互的新概念, 实时系统能够从多个源收集、分析和转换数据,从而使得进程的控制和输出的产生是以毫秒而不是分钟来进行, 产生了第一代数据库管理系统 出现了软件产品和“软件作坊”的概念,设计人员开发程序不再像早期阶段那样只为自己的研究工作需要,而是为了用户更好地使用计算机。被开发的软件可以在较宽的范围内使用。主机、微机上的程序可以有数百上千的用户。 出现了“软件危机”问题。 采用“软件工程”的方法来解决“软件危机”问题。 3. 第三阶段—软件工程阶段 1970年代中期--1980年代末期 分布式系统极大地提高了计算机系统的复杂性,网络的发展对软件开发提出了更高的要求, 特别是微处理器的出现和广泛应用,孕育了一系列的智能产品。 软件开发技术的度量问题受到重视,最著名的有软件工作量估计COCOMO模型、软件过程改进模型CMM等。 4. 第四阶段 强大的桌面系统和计算机网络迅速发展的时期 计算机体系结构由中央主机控制方式变为客户机/服务器方式 专家系统和人工智能软件进入了实际应用, 出现了并行计算和网络计算的研究, 面向对象技术在许多领域迅速取代了传统软件开发方法 软件从个性化的程序变为工程化的产品, 从“软件=程序”发展为“软件=程序+数据+文档”。软件的需求成为软件发展的动力, 软件工作的考虑范围不再只顾及程序的编写,而是涉及到软件的整个生命周期。 二、软件的概念和特点 1.软件的概念,有3层含义: (1)能够完成预定功能和性能的可执行指令(program); (2)使得程序能够适当地操作信息的数据结构(data); (3)描述程序的操作和使用的文档(document)。 三、软件的分类 1.按软件的功能进行划分: 系统软件:与硬件紧密结合的软件 操作系统 数据库管理系统 设备驱动程序 通信处理程序等 商业数据处理软件 工程与科学计算软件 计算机辅助设计/制造软件 系统仿真软件 智能产品嵌入软件 医疗、制药软件 事务管理、办公自动化软件 计算机辅助教学软件 2.按软件规模进行划分: 类别 参加人员数 研制期限 源程序行数 微型 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 实时处理软件 分时软件 交互式软件 批处理软件 4.按软件服务对象的范围划分: 项目软件:受某个特定用户或机构的委托,在合同的约束下靠罚机构开发的软件。 产品软件:软件开发机构开发出来直接提供给市场的。 四、软件危机 软件危机定义:软件在开发和维护过程中遇到的一 系列严重问题。 软件危机包含两层含义: 如何开发软件 如何维护数量不断膨胀的已有软件 一、软件工程的概念 软件工程的根本在于提高软件的质量与生产率,最终实现软件的工业化生产。在“软件工程”的概念提出后的几十年里,各种有关软件的技术、思想、方法和概念层出不穷,典型的包括结构化的方法、面向对象方法、软件开发模型和软件开发过程等,软件工程逐步发展为一门独立的科学。 二、软件工程学研究的目标 三、软件工程学的原则 四、软件生存周期 五、常见的软件开发模型 6. 喷泉模型 适用于面向对象方法。 主张分析和设计过程的重叠、不严格区分。 模块集成过程: 反复经过分析、设计、测试、集成,再分析、设计、测试、集成。 7.RUP(统一过程) RUP(Rational Unified Process)使用UML; 采用用例驱动和架构优先的策略; 采用迭代增量建造方法。 1.3 软件开发的基本策略 1.4 软件的错误观点 软件开发的各阶段的成本比例 为了开发出高质量低成本的软件,在软件开发过程中必须遵循下列软件工程原则: 1.抽象(abstraction) 抽取事物最基本的特性和行为,忽略非基本的细节。采用分层次抽象的办法可以控制软件开发过程的复杂性,有利于软件的可理解性和开发过程的管理。 2.信息隐藏(information hiding) 将模块中的软件设计决策封装起来的技术。 按照信息隐

文档评论(0)

1亿VIP精品文档

相关文档