软件工程第1章概述.ppt_第1页
软件工程第1章概述.ppt_第2页
软件工程第1章概述.ppt_第3页
软件工程第1章概述.ppt_第4页
软件工程第1章概述.ppt_第5页
已阅读5页,还剩33页未读 继续免费阅读

下载本文档

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

文档简介

软件工程 徐晓君 课程性质 考试课学时 64 48 16 学分 4成绩分配 50 50 本课程讲述软件工程的基本概念 原理 方法和工具 系统地介绍目前流行的和较成熟的软件工程技术 学习软件开发与维护的普遍原理和基本技术 提高软件开发维护的效率 前续课程 数据库原理 数据结构 软件开发工具后续课程 毕业实践 毕业设计 目录 概述软件计划软件需求分析软件总体设计软件详细设计软件编码软件测试软件实施与维护软件项目管理面向对象软件工程技术 第1章概述 本章要点软件软件工程软件危机软件生存周期软件开发模型软件开发方法 1 1软件工程学的几个基本概念 1 1 1软件与软件工程1 软件及其组成软件是指计算机程序及其有关的数据和文档的集合 软件的发展 第一代 20世纪40年代中期到60年代中期 程序设计阶段 第二代 从20世纪60年代中期到70年代初期 程序系统阶段 软件 程序 文档阶段1968年北大西洋公约组织正式提出 软件工程 softwareengineering 的术语第三代 从20世纪70年代中期到90年代 软件工程阶段 这阶段的主要任务是为了克服软件危机 适应软件发展的需要 而采用 工程化的生产 方式 第四代技术阶段 从20世纪80年代中期至今 软件产业在世界经济中已经占有举足轻重的地位 2 软件危机与软件工程 软件危机 在软件开发和维护过程中所遇到的一系列严重问题 软件危机包含下述两方面的问题 如何满足日益增长的软件需求如何维护数量不断膨胀的已有软件软件危机的主要表现供求矛盾软件成本与开发进度难以估计软件产品不符合用户的实际需要软件的可靠性差软件的维护费急剧上升 软件危机产生的原因目标不清情况不明通信误解步骤混乱不遵守统一的标准解决软件危机的途径组织良好 管理严密 各类人员协同配合统一开发标准使用软件开发辅助工具 3 软件工程 软件工程 1983年美国 IEEE软件工程标准术语 对软件工程下的定义为 软件工程是开发 运行 维护和修复软件的系统方法 1993年 IEEE为软件工程的定义是 软件工程是将系统化的 规范化的 可度量的方法应用于软件的开发 运行和维护过程 即将工程化应用于软件中的方法的研究 本书 采用工程的概念 原理 技术和方法来研制和维护软件 软件工程是指导计算机软件开发和维护的工程学科 软件工程采用工程的概念 原理 技术和方法来开发与维护软件 软件工程的目标是以较少的投资获取较高质量的软件 1 1 2软件工程的任务及研究范围 软件工程主要研究的内容 软件的规范与标准p9软件开发技术软件工程方法学软件工具和软件支撑环境软件管理 1 软件工程方法学 软件工程方法学是编制软件的系统方法 它确定软件开发的各个阶段 规定每个阶段的活动 产品 验收的步骤和完成准则三要素 方法 完成软件开发任务的技术方法 定义说明法 结构化的构造方法 文档资料描述方法 为软件开发提供了 如何做 的技术工具 为了支持软件的开发和维护而研制的程序系统 需求分析工具 编辑程序 编译程序 排错工具等 过程 把输入转化为输出的一组彼此相关的资源和活动 规定了完成任务的工作阶段 工作内容 产品 验收的步骤和完成的准则 2 软件工具和软件支撑环境 软件工具是指可以用来帮助开发 测试 分析 维护其他计算机程序及文档资料的一类程序 需求分析工具设计工具编码工具确认工具维护工具 软件支撑环境 在基本软硬件基础上 提供一组能支持软件生存周期的工具 组成 数据库一组工具命令或调用方式 3 软件管理 目的 合理地使用人力 物力资料 以最少消耗来开发软件 保证软件质量 最有效地组织力量 制定计划 保证各类资源与各种活动协调同步 内容 工程计划管理费用管理人员组织管理质量管理等 1 1 3软件生存周期 软件生存周期 软件产品或软件系统从计划 分析 设计 投入使用到被淘汰的全过程 软件生存周期中 软件开发与维护时的费用越低 软件的使用寿命越长 产生的价值就越大 这就是掌握软件工程学的目的 软件生存周期各阶段及相应的任务 软件计划问题定义 确定系统的目标 规模 基本任务可行性研究 经济 技术 法律等是否可行软件开发需求分析 确定系统应具备的具体功能总体设计 系统的模块功能 模块结构及模块间相互调用关系 接口详细设计 每个模块内部过程的描述编码测试软件运行 维护 每一阶段的工作都以前一阶段的结果为依据 并作为下一阶段的前提 每个阶段都要进行复审 主要检查是否有高质量文档资料 前一阶段复审通过 后一阶段才能开始 软件生命周期划分的原则 各阶段的任务彼此间尽可能相对独立同一阶段的工作任务尽可能相同 1 1 4软件开发模型 瀑布模型快速原型喷泉模型螺旋模型 1 瀑布模型 瀑布模型的特点 软件生命周期的顺序性适合于在软件需求比较明确 开发技术比较成熟 工程管理比较严格的场合 文档驱动尽可能推迟软件的编码保证质量每个阶段都要完成规定的文档每个阶段都要对已完成的文档进行复审以便早日发现隐患 排除故障 快速原型模型是指快速开发一个可以运行的原型系统 该原型系统所能完成的功能往往是最终产品能完成功能的一个子集 请用户试用原型系统 以便能准确地认识到他们的实际需求是什么 然后书写软件系统的需求规格说明文档 根据这份文档开发出来的软件可以满足真实需求 创建快速原型从设计用户界面开始 所建立的原型所能完成的功能 往往是用户需求的主要功能 该方法鼓励用户参加开发过程 用户参与原型运行和评价 能充分地与开发方协调一致 开发期间 原型还可以作为终端用户的教学模型 开发者一边进行软件开发 一边让用户学习使用 若用户发现软件功能不符合自己的实际 可以及时提出意见 开发者应立即进行修改 如此反复进行 直到用户满意为止 2 快速原型 2 快速原型 原型的作用是获得用户的真正需求 三种类型 1 渐增式的原型 增量模型 优点 在较短的时间内向用户提交能完成一定功能的产品 并使用户有较充裕的时间学习和适应产品方法 增量开发增量提交 增量开发 在软件需求分析和设计阶段采用整体开发方式 在编码和测试阶段采用增量开发模型开发方式 先对部分功能进行编码 测试 提交用户试用 增量提交 所有阶段都采用增量模型开发方式 先对某部分功能进行需求分析 设计 编码 测试 提交给用户试用 充分听取用户意见 再对另一部分功能进行分析 设计等 提交给用户试用 直到所有功能开发完毕 2 用于验证软件需求的原型系统分析人员在确定了软件需求后 从中选出某些应验证的功能 用适当的工具快速构造出可运行的原型 由用户试用和评价 可以丢弃 3 用于验证设计方案的原型在概要设计和详细设计过程中可以用原型来验证总体结构或某些关键算法 可以丢弃 也可做为最终产品的一部分 3 喷泉模型 典型的面向对象软件开发模型着重强调不同阶段之间的重叠是一种以用户需求为动力 以对象作为驱动的模型 概念模型分析建立系统模型 对象模型 过程模型 系统设计 模型对象和过程的规范描述对象设计与实现测试 测试所有的对象及对象相互之间的关系是否符合要求系统组装集成演化 喷泉模型主张分析和设计过程的重叠 不严格加以区分 模块集成过程要反复经过分析 设计 测试 集成这几个阶段 每次集成都使系统功能在原有基础上得到扩展 因此 称为系统演化 4 螺旋模型 1 2软件开发的原则和方法 原则 自顶向下将复杂系统进行分解 由高度抽象到逐步具体的方法 形成树状结构模块结构将软件系统分解成若干个模块 方法1 非自动形式系统开发方法系统流程图采用自顶向下功能分割法 工具 事务流程图 处理流程图 计算机化流程图 程序说明书适用于系统分析与设计结构分析法采用自顶向下数据流分割法 工具 数据流程图 数据字典 判定表 结构化语言等适用于系统分析 结构化设计法采用模块化结构方法工具 模块结构图 模块说明书适用于软件系统设计数据结构法采用身顶向下数据结构分割法工具 数据结构图 程序结构图适用于小规模系统设计层次 输入 处理 输出方法 H I P O 采用自顶向下分层图描述功能及其输入 处理 输出工具 HIPO图和I P O图适用于软件系统分析和设计 2 半自动形式的系统开发方法软件需求工程法问题说明语言与分析法3 自动形式的系统开发方法 练习1 快速原型法是用户和设计者之间的一种交互过程 适用于A系统 它从设计用户界面开始 首先形成B 然后用户C并就D提出意见 它是一种E型设计过程 A 1 需求不确定性较高的2 需求确定的3 管理信息4 决策支持 B 1 用户使用手册2 系统界面原型3 界面需求分析说明书4 完善用户界面 C 1 阅读文档资料2 改进界面的设计3 模拟界面的运行4 运行界面的原型 D 1 使用发种编程语言2 程序结构3 同意什么 不同意什么4 执行速度是否满足要求 E 1 自外向内2 自底向上3 自顶向下4 自内向外 练习2 A是将软件生命周期的各个阶段依线性顺序连接 用文档驱动的模型 B是一种以用户需求为动力 以对象作为驱动的模型 适合于面向对象的开发方法 A B 1 瀑布模型2 快速原型模型3 喷泉模型4 螺旋模型 练习3 假设你要开发一个软件 它的功能是把987238 8378这个数开方 所得到的结果精确到小数点后四位 一旦实现并测试完成后 该产品将被抛弃 你打算选用哪种软件生命周期模型 答 快速原型 原因是这个软件功能非常简单 可以很快地容易实现 而且实现并测试完之后 该产品将被抛弃 练习4 假设你要为一家生

温馨提示

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

评论

0/150

提交评论