




下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、1,第二篇 软件工程,软件工程的基本概念 软件开发各阶段的任务、技术、方法 主要的软件开发方法 结构化分析和设计 面向对象分析和设计 软件测试(步骤、方法) 软件维护(内容、策略),主要内容:,2,第一章 软件工程概述,软件技术 软件危机 软件工程 软件工程环境,主要内容:,3,程序与软件 程序:一系列指令序列的集合,能被计算机理解和执行 软件:是计算机系统中与硬件子系统相互依存的另一个 子系统,是一个包含程序及其文档资料的完整集 合,提供了用户与硬件子系统之间的接口 软件 文档:与程序开发、维护和使用有关的图文材料 程序:按事先设计的功能和性能需求执行的指令序列 数据:是程序能正常操纵信息的
2、数据结构,1.1 软件技术概述,4,1.1 软件技术概述,软件的发展历史,5,1.1 软件技术概述,6,软件技术的定义: 是开发计算机软件所需的所有技术的总称 计算机软件技术的领域: 软件工程技术 程序设计技术 软件工具环境技术 系统软件技术 数据库技术 实时软件技术,1.1 软件技术概述,7,软件复用的定义 在构造新的软件系统的过程中,对已存在的软件产品 (设计结构、源代码、文档等)重复使用的技术 三个层次:知识复用、方法复用、软件成分复用 软件成分复用的三个级别: 代码复用(剪贴、包含和继承) 设计结果复用(设计模型) 分析结果复用(分析模型) 组件技术,1.1 软件技术概述,8,软件危机
3、的定义 计算机软件的开发和维护过程所遇到的一系列严重问题,如:开发周期长、成本增加、可靠性降低等。 1979年美国政府项目调查表,1.2 软件危机,9,软件危机的表现 对软件开发成本和进度的估算很不准确 用户很不满意 质量很不可靠 没有适当的文档,维护困难 软件成本比重上升 供不应求,1.2 软件危机,10,1.2 软件危机,11,解决途径 组织管理 工程项目管理方法 技术措施 软件开发技术与方法 软件工具,1.2 软件危机,12,软件工程的定义 是指用工程的概念、原理、技术和方法来开发和维护 软件,把经过时间考验证明正确的管理技术和当前能 够得到的最好的技术方法结合起来,指导计算机软件 的开
4、发和维护的工程学科 指导计算机软件开发和维护的工程学科 工程方法 + 管理技术 + 技术方法,1.3 软件工程,13,1.3 软件工程,确保软件质量和提高开发效率 内容: 严格按照计划进行管理 坚持进行阶段评审 实行严格的产品控制 采用现代化的程序设计技术 结果应能清楚地审计 开发小组的人员应该少而精 承认不断进行软件工程实践的必要性,B.W.Boehm的七条软件工程原理,软件生命周期的定义 是一个软件从用户需求开始,经过分析、开发、测试、运行维护的一系列相关活动的全周期。,14,软件的生命周期过程,1.3 软件工程,15,1.3 软件工程,软件工程方法学 软件工程是技术与管理的紧密结合,技术
5、是指方法学问题,管理是指通过计划、组织和控制等活动,合理配置和使用各种资源,得到满足质量要求的工作产物(运行系统和支持文档)。 方法学的三个要素:方法、工具和过程,16,方法学的分类,快速原型方法,1.3 软件工程,17,1.3 软件工程,18,2 快速原型模型,快速原型方法,原型: 是系统的早期版本,是系统的物理模型,只实现了系统的一些最基本的功能,反映系统的行为特性,但不一定满足全部需求。,建立原型的步骤: 确定用户的基本需求 建立工作原型 试用原型 修改补充原型,特点: 容易理解和沟通 及早发现需求中的问题 检查设计的可行性,快速原型法: 在软件生命周期的编码阶段之前插入一个建立系统原型
6、的阶段。,1.3 软件工程,19,3 螺旋模型,螺旋模型将瀑布模型和快速原型模型结合起来,强调了其他模型所忽视的风险分析,特别适合于大型复杂的系统。,四个象限分别代表了以下活动:,(1)制定计划:确定软件目标,选定实施方案,弄清项目开发的限制条件; (2)风险分析:分析评估所选方案,考虑如何识别和消除风险; (3)实施工程:实施软件开发和验证; (4)客户评估:评价开发工作,提出修正建议,制定下一步计划。,1.3 软件工程,20,4 增量模型,也称构件集成模型,整个软件产品被分解成若干个构件,每一个构件都有设计、实现、集成和测试等过程。开发人员逐个构件地交付产品。,1.3 软件工程,21,5
7、过程模型之间的比较,1.3 软件工程,22,基本思想: 模拟人类习惯的思维方式,通过建立问题域的对象模型(不强调算法和数据结构),使得问题空间与解空间在结构上尽可能一致;开发过程渗透了演绎(一般到特殊:对象分类)和归纳(特殊到一般:“派生类”对“基类”的继承)的渐进深化的思维过程。 最主要特征: 以对象模型为核心,整个生命周期使用相同的概念、表示法和策略,为动态模型和功能模型提供实质性得框架。 组成: 面向对象分析(Object-Oriented Analysis, OOA) 面向对象设计(Object-Oriented Design, OOD) 面向对象程序设计(Object-Oriente
8、d Programming, OOP),面向对象方法学,1.3 软件工程,23,OOA: 任务:分析问题域,用相应的符号系统建立系统的概念模型; 通常从三个方面建立系统模型: 对象模型:描述系统数据结够 动态模型:描述系统控制结构 功能模型:描述系统功能,OOD: 任务:决定如何将系统划分成子系统, 每个子系统分成更小的子系统 OOP: 任务:将OOD的结果用一种程序设计语言实现,1.3 软件工程,24,采用的软件过程模型:喷泉模型,以“无缝”连接和“迭代”的方式,保证了各个阶段工作的连续性。 “圆圈”代表生命周期的阶段,圆圈的重叠表示了阶段间的迭代和无缝过渡,“向下箭头”代表了阶段内的迭代或
9、求精。,1.3 软件工程,25,软件工具: 定义:可以用来帮助开发、测试、分析、维护 其它计算机程序的程序以及文档资料的 集合,它可以实现软件生产过程自动化, 提高软件的生产率、可靠性,降低软件 生产成本。 软件工具是一种自动化系统 用于软件生存周期的某一个阶段或某一个环节,1.4 软件工程环境,26,软件工程环境的定义: 是用以支持需求定义、程序生成,以及软件维护等整个软件生命周期全部活动的,并把方法、规模和计算机程序集成在一起的整个体系。 又称为软件开发环境,软件支撑环境,自动开发环境 需求: 集成化的系统 通用的系统 可剪裁又可扩充的系统 实用的、经济合算的系统,1.4 软件工程环境,27,计算机辅助软件工程 CASE (Computer Aided Software Engineering) 将软件工程方法、工具与环境方面的新技术同 形式化语义理论有机地结合起来 标志着软件开发技术的发展进入一个新阶段 可以对软件生产过程的每一步提供辅助手段,1.4 软件工程环境,28,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 购销合同协议封面
- 合同的补充协议英语
- 电脑供货合同协议
- 互联网合作协议合同
- 调解协议合同效力
- 签订实习协议合同
- 雇佣做饭合同协议书范本
- 棚改补偿协议和买卖合同
- 伤亡赔偿协议合同
- 第三方协议就是劳动合同
- 2024年内江市事业单位医疗岗招聘笔试真题
- 深静脉血栓的评估和预防
- 杭州浙江杭州市上城区行政审批服务管理办公室编外人员招聘笔试历年参考题库附带答案详解
- DB37-T 4612-2023 化妆品生产企业批生产记录常用管理规范
- 2025年国家能源集团国神公司招聘笔试参考题库含答案解析
- 厨师操作安全培训
- 2025年四川内江市资中县润资水务投资开发有限责任公司招聘笔试参考题库附带答案详解
- 2025年福建泉州交发集团招聘笔试参考题库含答案解析
- 2024年度文化教育机构代运营合作协议3篇
- 两位数加一位数口算练习题4000道88
- 《张爱玲倾城之恋》课件
评论
0/150
提交评论