第九章软件开发与信息处理技术 口软件工程基础 口数据库设计基础 口数据结构与算法 口程序设计基础 口多媒体技术简介
第九章 软件开发与信息处理技术 软件工程基础 数据库设计基础 数据结构与算法 程序设计基础 多媒体技术简介
91软件工程基础 软件的规模大小、复杂程度决定了软 件开发的难度,因此,必须采用科学的 软件开发方法,采用抽象、分解等科学 方法降低复杂度,以工程的方法管理和 控制软件开发的各个阶段,以保证大型 软件系统的开发具有正确性、易维护 性、可读性和可重用性
9.1 软件工程基础 软件的规模大小、复杂程度决定了软 件开发的难度,因此,必须采用科学的 软件开发方法,采用抽象、分解等科学 方法降低复杂度,以工程的方法管理和 控制软件开发的各个阶段,以保证大型 软件系统的开发具有正确性、易维护 性、可读性和可重用性
911软件工程基本概念 软件的发展大致分为四个阶段:(如下图) 第一阶段第二阶段第三阶段 第四阶段 程序设计阶程序系统阶软件工程阶段软件工程阶段 阶段 段 段 (结构化方法(面向对象方法) 发) 面向批处理多用户分布式系统强大的桌面系统 典型技有限的分布实时嵌入“智能”面向对象技术 术自定义软件数据库低成本硬件专家系统 软件产品|消费者的影响人工神经网络 网络计算机
9.1.1 软件工程基本概念 软件的发展大致分为四个阶段:(如下图) 阶段 第一阶段 第二阶段 第三阶段 第四阶段 程序设计阶 段 程序系统阶 段 软件工程阶段 (结构化方法 发) 软件工程阶段 (面向对象方法) 典型技 术 面向批处理 有限的分布 自定义软件 多用户 实时 数据库 软件产品 分布式系统 嵌入“智能” 低成本硬件 消费者的影响 强大的桌面系统 面向对象技术 专家系统 人工神经网络 网络计算机
软件危机和软件工程 软件危机主要表现在:对软件开发成本和进 度的佔计常常很不准确,经费预算经常突破, 完成时间一再拖延;开发的软件不能满足用 户要求,用户软件不满意的现象经常发生; 开发的软件可维护性差、可靠性差 软件工程:运用系统的、规范的和可定量的 方法开发、远行和维护软件。它包含三个要 素 方法( Methodologies) 工具(Toos)过程( Procedures)
软件危机和软件工程 ◼ 软件危机主要表现在:对软件开发成本和进 度的估计常常很不准确,经费预算经常突破, 完成时间一再拖延;开发的软件不能满足用 户要求,用户软件不满意的现象经常发生; 开发的软件可维护性差、可靠性差 ◼ 软件工程:运用系统的、规范的和可定量的 方法开发、运行和维护软件。它包含三个要 素: 方法(Methodologies) 工具(Tools) 过程(Procedures)
软件工程过程和软件生命周期 软件工程过程 >软件生命周期 软件生命周期模型 软件工程的目标和原则 软件开发工具与软件开发环境
软件工程过程和软件生命周期 ➢ 软件工程过程 ➢ 软件生命周期 ➢ 软件生命周期模型 ➢ 软件工程的目标和原则 ➢ 软件开发工具与软件开发环境
下图为软件生命周期各阶段的任务 阶段 任务 文档 问题定义理解用户要求,划清工作范围 计划说明书 软件计划可行性研 可行性方案及代价 究 需求分析|软件系统的目标及应完成的工作需求规格说明书 概要设计 系统的逻辑设计 软件概要设计说明 书 详细设计 系统模块设计 软件详细设计说明 软件开发 书 软件编码 编写程序代码 程序、数据、详细 注释 软件测试 单元测试、综合测试 测试后的软件、测 试大纲、测试方案 与结果 软件维护软件维护 运行和维护 维护后的软件
下图为软件生命周期各阶段的任务: 时期 阶段 任务 文档 软件计划 问题定义 理解用户要求,划清工作范围 计划说明书 可行性研 究 可行性方案及代价 需求分析 软件系统的目标及应完成的工作 需求规格说明书 软件开发 概要设计 系统的逻辑设计 软件概要设计说明 书 详细设计 系统模块设计 软件详细设计说明 书 软件编码 编写程序代码 程序、数据、详细 注释 软件测试 单元测试、综合测试 测试后的软件、测 试大纲、测试方案 与结果 软件维护 软件维护 运行和维护 维护后的软件
图为软件生命周期的瀑布模型和快速原形法模型 软件计划 需求分析 需求分析 快速设计 软件设计 建立模型 软件编码 用户评价模型 软件测试 修改原型 软件维护 生产产品
图为软件生命周期的瀑布模型和快速原形法模型 软件计划 需求分析 软件设计 软件编码 软件测试 软件维护 需求分析 快速设计 建立模型 用户评价模型 修改原型 生产产品
软件工程目标和原则 目标:在给定成本、进度的前提下,开发出具 有有效性、可靠性、可理解性、可维护性 可重用性、可适应性、可移植性、可追踪性 并满足用户需求的产品 软件工程理论和技术性硏究的内容: 软件开发技术和软件管理技术 原则:抽象、信息隐蔽、模块化、局部化、确 定性、一致性、完备性和可验证性
软件工程目标和原则 目标:在给定成本、进度的前提下,开发出具 有有效性、可靠性、可理解性、可维护性、 可重用性、可适应性、可移植性、可追踪性 并满足用户需求的产品 软件工程理论和技术性研究的内容: 软件开发技术和软件管理技术 原则:抽象、信息隐蔽、模块化、局部化、确 定性、一致性、完备性和可验证性
软件开发工具与开发环境 4软件开发工具:是为文持软件人员开 和维护活动而使用的软件。 4作用:可以帮助开发人员完成一些繁琐的程 序编制和调试问题,是软件开发人员将更多 的精力和时间投放到最重要的软件求和设 计上,提高软件开发的速度和质量
软件开发工具与开发环境 软件开发工具:是为支持软件人员开发 和维护活动而使用的软件。 作用:可以帮助开发人员完成一些繁琐的程 序编制和调试问题,是软件开发人员将更多 的精力和时间投放到最重要的软件需求和设 计上,提高软件开发的速度和质量
912结构化分析方法 口结构化方法( Sructure Methodology):是计算学科的一种典 型的系统开发方法,它采用了系统科学的思 想方法,从层次的角度,自顶向下的分析和 设计系统。 口内容:结构化分析( Sructure analysis 结构化设计( Sructure design) 结构化程序设计( Sructure Program Design)
9.1.2 结构化分析方法 结构化方法(Sructured Methodology):是计算学科的一种典 型的系统开发方法,它采用了系统科学的思 想方法,从层次的角度,自顶向下的分析和 设计系统。 内容:结构化分析( Sructured Analysis) 结构化设计( Sructured Design) 结构化程序设计(Sructured Program Design)