软件系统工程课件

上传人:s9****2 文档编号:569391142 上传时间:2024-07-29 格式:PPT 页数:46 大小:367.50KB
返回 下载 相关 举报
软件系统工程课件_第1页
第1页 / 共46页
软件系统工程课件_第2页
第2页 / 共46页
软件系统工程课件_第3页
第3页 / 共46页
软件系统工程课件_第4页
第4页 / 共46页
软件系统工程课件_第5页
第5页 / 共46页
点击查看更多>>
资源描述

《软件系统工程课件》由会员分享,可在线阅读,更多相关《软件系统工程课件(46页珍藏版)》请在金锄头文库上搜索。

1、 软件工程导论软件工程导论(第(第4 4版)版) 普通高校本科计算机专业特色教材精选张海藩 编著授课教师:殷 锋西南民族大学计算机科学与技术学院授课教师简介授课教师简介o殷锋殷锋,男,侗族,博士,副教授。,男,侗族,博士,副教授。3434岁,贵州岁,贵州榕江县人。计算机软件工程教研室主任,四川省榕江县人。计算机软件工程教研室主任,四川省计算机用户协会理事,中国计算机学会高级会员。计算机用户协会理事,中国计算机学会高级会员。o1993年参加工作,曾被四川省人民政府授予教学成果奖1项,西南民族大学科研成果奖3项。近年来主要从事计算机数据挖掘、中间件、分布式计算、软件测试等方向的研究工作,曾主持和参

2、与校级科研项目二十余项,主持完成省级课题1项、参与完成2项。于2004年度获得“四川省青年软件创新基金”资助。已在中文核心期刊及相关学术杂志上发表学术论文4040余余篇,多篇被美国权威索引“EI”检索。长期担任“软件工程”、“计算机科学与技术”专业多门专业课、跨系专业课等的教学工作。系我校首批应用电子课件进行教学和首批实施“双语”教学的教师。2007年被评为 “西南民族大学青年优秀骨干教师西南民族大学青年优秀骨干教师”。E-mail:E-mail:yfyfyfyf_eagle_eagle_eagle_cncncn作业提交作业提交作业提交作业提交FTP:/211.83.242.122(FTP:/

3、211.83.242.122(FTP:/211.83.242.122(FTP:/211.83.242.122(用户名用户名用户名用户名: : : :yfstu yfstu yfstu yfstu 密码密码密码密码: : : :yfstuyfstuyfstuyfstu) ) ) )o考勤:考勤:10o平时作业:平时作业:20o期末:期末:70考核标准考核标准总总 目目 录录第第1章章 软件工程学概述软件工程学概述第第2章章 可行性研究可行性研究第第3章章 需求分析需求分析第第4章章 形式化说明技术形式化说明技术第第5章章 总体设计总体设计第第6章章 详细设计详细设计第第7章章 实现实现总总 目目

4、 录录第第8章章 维护维护第第9章章 面向对象方法学引论面向对象方法学引论第第10章章 面向对象分析面向对象分析第第11章章 面向对象设计面向对象设计第第12章章 面向对象实现面向对象实现第第13章章 软件项目管理软件项目管理第第1章章 软件工程学概述软件工程学概述1.1 软件危机1.2 软件工程1.3 软件生命周期1.4 软件过程1.5 小结习题1.1 软件危机1.1.1 软件危机介绍 1968年由NATO (北大西洋公约组织)在德国Garmish召开的学术会议上,Fritz Bauer首先提出了“软件工程”概念。 软件技术面临的问题o 复杂性o 生产率 o例:Windows95有1000万

5、行代码 Windows2000有5000万行代码Exchange2000和 Windows2000开发人员结构Exchange2000Windows2000项目经理25人约250人开发人员140人约1700人测试人员350人约3200人 软件危机的主要特征o 软件开发周期大大超过规定 日期;o 软件开发成本严重超标;o 软件质量难于保证。衡量一个软件衡量一个软件成功的标准成功的标准在于在于:s用户在用s用户可很容易地做完要做的事失败的根本原因:失败的根本原因:o开发人员写出的东西达不到用户的要求(人的问题.技术问题) 处在十字路口的中国软件产业o 主权大国必须建立基于自主技术的、 完整的软件产

6、业体系。 软件本国提供率:中国1/3左右,美国97%o “印度模式”还是“中国模式”(1)、(2)o 软件人才结构不合理,缺乏中高级软 件人才;此外,软件人员缺乏软件工程化的概念也是问题之一。1.1.2 产生软件危机的原因 在软件开发和维护的过程中存在这么多在软件开发和维护的过程中存在这么多严重问题,原因主要在于:严重问题,原因主要在于:o一方面与软件本身的特点有关一方面与软件本身的特点有关o另一方面也和软件开发与维护的方法不正确另一方面也和软件开发与维护的方法不正确有关有关1.1.3 消除软件危机的途径消除软件危机的途径 为了解决软件危机,既要有技术措施为了解决软件危机,既要有技术措施(方法

7、和工具方法和工具),又要有必要的组织管理措施。,又要有必要的组织管理措施。软件工程正是从管理和技术两方面研究如何软件工程正是从管理和技术两方面研究如何更好地开发和维护计算机软件的一门新兴学更好地开发和维护计算机软件的一门新兴学科。科。第第1章章 软件工程学概述软件工程学概述1.1 软件危机1.2 软件工程1.3 软件生命周期1.4 软件过程1.5 小结习题1.2.1 软件工程的介绍软件工程的介绍 Fritz Bauer在NATO会议上给出的定义: “软件工程是为了经济地获得可靠的和能在实际机器上高效运行的软件而确立和使用的健全的工程原理(方法)。” 软件工程的定义 IEEE【IEE83IEE8

8、3】给出的软件工程定义: “软件工程是开发、运行、维护和修复软件的系统方法。” IEEE【IEE93IEE93】给出了一个更加综合的定义: “将系统化的、规范的、可度量的方法应用于软件的开发、运行和维护的过程,即将工程化应用于软件中。” 综合以上得软件工程的定义为: 软件工程是应用计算机科学、数学及管理科学等原理开发软件的工程。它借鉴传统工程的原则、方法,以提高质量,降低成本为目的。 软件工程是一门交叉学科软件工程的主要研究内容软件工程的主要研究内容u软件开发技术: 软件开发方法学 软件开发过程 软件工具和软件工程环境 u软件工程管理: 软件管理学 软件经济学 软件心理学 软件工程所包含的内容

9、不是一成不变的,随着人们对软件系统的研制开发和生产的理解。应该用发展的眼光来看待它。软件工程的本质特性软件工程的本质特性o1. 软件工程关注于大型程序的构造软件工程关注于大型程序的构造o2. 软件工程的中心课题是控制复杂性软件工程的中心课题是控制复杂性o3. 软件经常变化软件经常变化o4. 开发软件的效率非常重要开发软件的效率非常重要o5. 和谐地合作是开发软件的关键和谐地合作是开发软件的关键o6. 软件必须有效地支持它的用户软件必须有效地支持它的用户o7. 在软件工程领域中是用具有一种文化背景的人在软件工程领域中是用具有一种文化背景的人的思维去取代具有另一种文化背景的人的工作方式的思维去取代

10、具有另一种文化背景的人的工作方式1.2.2 软件工程的基本原理软件工程的基本原理o1. 用分阶段的生命周期计划严格管理用分阶段的生命周期计划严格管理o2. 坚持进行阶段评审坚持进行阶段评审o3. 实行严格的产品控制实行严格的产品控制o4. 采用现代程序设计技术采用现代程序设计技术o5. 结果应能清楚地审查结果应能清楚地审查o6. 开发小组的人员应该少而精开发小组的人员应该少而精o7. 承认不断改进软件工程实践的必要性承认不断改进软件工程实践的必要性1.2.3 软件工程方法学软件工程方法学o软件生命周期全过程中使用的一整套技术方软件生命周期全过程中使用的一整套技术方法的集合称为法的集合称为方法学

11、方法学(methodology),也称也称为为范型范型(paradigm)。软件工程软件工程 一种层次化技术工具工具方法方法过程过程质量焦点质量焦点Software engineering layersSoftware engineering layers软件工程软件工程软件工程软件工程三个要素:三个要素:三个要素:三个要素:方法、工具、过程方法、工具、过程方法、工具、过程方法、工具、过程软件工程框架软件工程框架可可用用性性性性性性确确正正合合算算选取适宜的开发模型选取适宜的开发模型采用合适的设计方法采用合适的设计方法提供高质量的工程支持提供高质量的工程支持重视软件工程的管理重视软件工程的管理

12、基基本本过过程程原则原则 目标目标 过过 程程支支支支持持持持过过过过程程程程组组组组织织织织过过过过程程程程软件软件工程与一般工程的差异工程与一般工程的差异u软件是逻辑软件是逻辑产品产品而不是而不是实物实物产品产品u软件的功能依赖于软件的功能依赖于硬件硬件和软件的和软件的运行环境运行环境以及人们以及人们对它的对它的操作操作u软件设计的复杂性软件设计的复杂性u软件特征:软件特征: 功能的多样性功能的多样性 实现的多样性实现的多样性 能见度低能见度低 软件结构合理性差软件结构合理性差u智力密集及知识产权保护智力密集及知识产权保护软件工程知识结构o 软件需求o 软件设计o 软件构造o 软件测试o

13、软件维护o 软件配置管理o 软件工程管理o 软件工程过程o 软件工程工具和方法o 软件质量 “软件工程”课程 与其它软件专业课的区别(1) 立足于系统的整体。(2) 讲授系统分析、系统设计、 测试及维护的理论和方法。(3) 构筑一个软件系统,实践 软件开发全过程。 “软件工程软件工程”课程教学与实践课程教学与实践的目标的目标u 转变对软件的认识: 上升 程序 系统u 转变思维定式: 上升 程序员 系统工程师 (系统分析员)o 工程化训练“一个好的工业,应有一套一个好的工业,应有一套良好的标准来配套良好的标准来配套”软件的工业化生产过程应具备的特点:o明确的工作步骤o详细具体的规范化文档o明确的

14、质量评价标准软件工程技术的两个明显特点:软件工程技术的两个明显特点:软件产品的标准化软件产品的标准化软件产品的标准化软件产品的标准化软件开发过程的标准化软件开发过程的标准化软件开发过程的标准化软件开发过程的标准化第第1章章 软件工程学概述软件工程学概述1.1 软件危机软件危机1.2 软件工程软件工程1.3 软件生命周期软件生命周期1.4 软件过程软件过程1.5 小结小结习题习题1.3 1.3 软件生命周期软件生命周期(Software Life Cycle) 软件产品或软件系统从设计、投软件产品或软件系统从设计、投入使用到被淘汰的全过程。入使用到被淘汰的全过程。 软件生存期的阶段划分软件生存期

15、的阶段划分(1)1)可行性研究与计划可行性研究与计划(2)(2)需求分析需求分析(3)(3)总体设计总体设计 上游上游 (4)(4)详细设计详细设计(5)(5)实现实现(6)(6)集成测试集成测试(7)(7)确认测试确认测试 下游下游(8)(8)使用和维护使用和维护(根据(根据国标国标计算机软件开发规范计算机软件开发规范)阶段阶段关键问题关键问题结束标准结束标准问题定义问题定义问题是什么?问题是什么?关于规模和目标的报告书关于规模和目标的报告书可行性研究可行性研究有可行的解吗?有可行的解吗?系统的高层逻辑模型:系统的高层逻辑模型:数据流图,成本数据流图,成本/效益分析效益分析需求分析需求分析系

16、统必须做什么?系统必须做什么?系统的逻辑模型:系统的逻辑模型:数据流图、数据字典、算法描述数据流图、数据字典、算法描述总体设计总体设计应该如何解决这个应该如何解决这个问题?问题?可行的解法:可行的解法: 系统流程图、成本系统流程图、成本/效益分效益分析析推荐的系统结构:推荐的系统结构: 层次图或结构图层次图或结构图详细设计详细设计怎样具体地实现这怎样具体地实现这个系统个系统编码规格说明:编码规格说明: HIPO图或图或PDL编码和单元编码和单元测试测试正确的程序模块正确的程序模块源程序清单;单元测试方案和结果源程序清单;单元测试方案和结果综合测试综合测试符合要求的软件符合要求的软件综合测试方案

17、和结果;完整一致的软件配置综合测试方案和结果;完整一致的软件配置维护维护持久地满足用户需持久地满足用户需要的软件要的软件完整准确的维护记录完整准确的维护记录只考虑只考虑编写程序编写程序 涉及整个涉及整个软件生存软件生存周期周期扩展到扩展到软件工作的范围第第1章章 软件工程学概述软件工程学概述1.1 软件危机软件危机1.2 软件工程软件工程1.3 软件生命周期软件生命周期1.4 软件过程软件过程1.5 小结小结习题习题1.4 软件过程软件过程o软件过程软件过程是为了获得高质量软件所需要完成的一系列任务的框是为了获得高质量软件所需要完成的一系列任务的框架,它规定了完成各项任务的工作步骤。架,它规定

18、了完成各项任务的工作步骤。软件软件开发开发模型是软件开发全部过程、活动和任务模型是软件开发全部过程、活动和任务的的结构框架结构框架。它能直观表达软件开发全过程,。它能直观表达软件开发全过程,明确规定要完成的主要活动、任务和开发策明确规定要完成的主要活动、任务和开发策略。略。 软件软件开发开发模型也常称为:模型也常称为: 软件软件过程过程模型模型 软件生存期模型软件生存期模型 软件工程范型软件工程范型1. 1. 瀑布模型瀑布模型 (线形顺序模型)可行性研究与计划可行性研究与计划需求分析需求分析设计设计编码编码运行维护运行维护测试测试定义定义阶段阶段开开发发阶阶段段维护阶段维护阶段按照传统瀑布模型

19、开发软件的特点按照传统瀑布模型开发软件的特点1.阶段间具有顺序性和依赖性。2.推迟实现的观点。3.每个阶段必须完成规定的文档; 每个阶段结束前完成文档审查, 及早改正错误。2.2. 原型模型原型模型(快速成型模型)建造建造/ /修改修改 原型原型用户测试用户测试运行原型运行原型 听取用听取用 户意见户意见原型范型原型范型原型范型原型范型采用采用原型原型模型的模型的软件生存软件生存周期周期分析定义分析定义系统需求系统需求生成生成原型原型系统系统设计设计程序程序设计设计编码编码测试测试运运 行行和维护和维护原型化原型化含原型化的含原型化的软件生存期软件生存期1.4.3 1.4.3 增量模型增量模型

20、( (递增模型递增模型) ) 先完成一个系统子集的开发,再按同样的开发步骤增加功能 (系统子集),如此递增下去直至满足全部系统需求。 系统的总体设计在初始子集设计阶段就应作出设想。分析分析 增量模型设计设计 编码编码测试测试 分析分析 设计设计 编码编码测试测试 分析分析 设计设计 编码编码测试测试 分析分析 设计设计 编码编码测试测试 增量增量增量增量1 11 1增量增量增量增量2 22 2增量增量增量增量3 33 3增量增量增量增量n nn n 增量增量增量增量1 11 1交付交付交付交付客户客户客户客户 增量增量增量增量2 22 2交付交付交付交付客户客户客户客户 增量增量增量增量3 3

21、3 3交付交付交付交付客户客户客户客户 增量增量增量增量n nn n交付交付交付交付客户客户客户客户日历时间日历时间日历时间日历时间.1.4.4 1.4.4 螺旋模型螺旋模型风险风险分析分析工程工程实施实施用户通信用户通信用户用户评估评估产品维护项目产品维护项目产品维护项目产品维护项目产品增强项目产品增强项目产品增强项目产品增强项目新产品开发项目新产品开发项目新产品开发项目新产品开发项目概念开发项目概念开发项目概念开发项目概念开发项目计划计划计划计划建造及发布建造及发布建造及发布建造及发布第第1章章 软件工程学概述软件工程学概述1.1 软件危机1.2 软件工程1.3 软件生命周期1.4 软件过程1.5 小结习题

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 建筑/环境 > 综合/其它

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号