软件工程的基本理论课件.pptx
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《软件工程的基本理论课件.pptx》由会员分享,可在线阅读,更多相关《软件工程的基本理论课件.pptx(90页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、下一页上一页停止放映“软件工程是一种描述规范。软件工程是一种描述规范。”Michael Jackson软件工程?软件工程?下一页上一页停止放映了解并掌握软件的开发步骤、了解并掌握软件的开发步骤、方法、准则。方法、准则。为什么学习软件工程?为什么学习软件工程?下一页上一页停止放映教学目标教学目标了解软件工程的基本概念了解软件工程的基本概念掌掌握握软软件件工工程程的的基基本本理理论论、技技术术和和方方法法,运运用用于于软软件件的的开发和生产开发和生产下一页上一页停止放映教学内容教学内容本讲介绍四个问题:本讲介绍四个问题:一、软件工程的基本概念一、软件工程的基本概念二、软件生存周期二、软件生存周期三
2、、软件工程管理三、软件工程管理四、知识产权保护四、知识产权保护下一页上一页停止放映本单元涉及内容本单元涉及内容第第9 9章章 软件工程软件工程9.1 9.1 软件工程软件工程9.2 9.2 软件生存周期软件生存周期9.3 9.3 软件工程管理软件工程管理下一页上一页停止放映一、软件工程的基本概念一、软件工程的基本概念 介绍以下几个问题介绍以下几个问题:1.1.什么是软件工程什么是软件工程2.2.软件工程的目标软件工程的目标3.3.软件工程的指导思想软件工程的指导思想4.4.软件工程基本原理软件工程基本原理5.5.软件工程应用范围软件工程应用范围6.6.传统软件工程模式传统软件工程模式7.7.现
3、代软件工程模式现代软件工程模式下一页上一页停止放映1.1.问题的由来问题的由来软件内在规律软件内在规律。任何事物有它自己的客观规律和。任何事物有它自己的客观规律和发展轨迹。只有认识了它,才能驾驭它。发展轨迹。只有认识了它,才能驾驭它。软件地位软件地位。软件是计算机系统中重要的组成部分。软件是计算机系统中重要的组成部分。但在早期它并没有引起业界的重视。随着计算机但在早期它并没有引起业界的重视。随着计算机技术的发展,随着技术的发展,随着“软件危机软件危机”的出现,以及软的出现,以及软件危机对社会危害的增大,软件的地位也越来越件危机对社会危害的增大,软件的地位也越来越重要。重要。软件的作用软件的作用
4、 软件是今后信息产业发展的推动力。软件是今后信息产业发展的推动力。美国最近在美国最近在2424项高科技领域中调查结果表明,其项高科技领域中调查结果表明,其中中1818项与软件有关。项与软件有关。软件工程学软件工程学。业界人士不得不设置专门的学科。业界人士不得不设置专门的学科软件工程学来研究软件开发、生产的内在规律,软件工程学来研究软件开发、生产的内在规律,用于指导现代工程化的软件生产。用于指导现代工程化的软件生产。下一页上一页停止放映2.2.软件工程软件工程“软软件件工工程程”一一词词是是19681968年年北北大大西西洋洋公公约约组组织织的的计计算算机机科科学学家家在在当当时时联联邦邦德德国
5、国召召开开的的专专门门讨讨论论解解决决“软软件件危危机机”的的国国际际会会议议上上正正式式提提出出并并使使用用的的,并并由由此此诞诞生生了了一一门门新新兴兴学学科科软件工程学。软件工程学。“软软件件工工程程学学”是是一一门门交交叉叉学学科科,它它涉涉及及计计算机科学、管理科学、工程学和数学。算机科学、管理科学、工程学和数学。计计算算机机科科学学培培养养的的是是计计算算机机科科学学家家,而而软软件件工程工程则是培养软件工程师。则是培养软件工程师。下一页上一页停止放映什么是软件工程什么是软件工程19681968年在第一届年在第一届NATONATO会议上定义:会议上定义:软件工程软件工程就是为了经济
6、地获得可靠的且能在实际机就是为了经济地获得可靠的且能在实际机器上有效地运行的软件,而建立和使用完器上有效地运行的软件,而建立和使用完善的工作原理善的工作原理。软件工程软件工程IEEEIEEE定义定义:软件工程是以系统的、:软件工程是以系统的、规范的、定量的方法应用于软件的开发、规范的、定量的方法应用于软件的开发、运营和维护,以及这些方法的研究。运营和维护,以及这些方法的研究。下一页上一页停止放映软件工程的本质特征软件工程的本质特征1.软件工程关注于大型程序的构造软件工程关注于大型程序的构造2.软件工程的中心课题是控制复杂度软件工程的中心课题是控制复杂度3.软件经常变化软件经常变化4.开发软件的
7、效率非常重要开发软件的效率非常重要5.和谐地合作是开发软件的关键和谐地合作是开发软件的关键6.软件必须有效地支持它的用户软件必须有效地支持它的用户7.在软件工程领域中是由具有一种文化背在软件工程领域中是由具有一种文化背景的人替具有另一种文化背景的人创造景的人替具有另一种文化背景的人创造产品产品下一页上一页停止放映软件工程学的体系结构软件工程学的体系结构 软件工程学软件工程学软件开发技术软件开发技术软件开发方法学软件开发方法学软件工具软件工具软件工程环境软件工程环境软件工程管理软件工程管理软件管理学软件管理学软件经济学软件经济学下一页上一页停止放映3.3.软件工程的目标软件工程的目标l软件工程的
8、基本目标是:软件工程的基本目标是:l开发尽可能多的软件产品;开发尽可能多的软件产品;l提高软件的生产效率;提高软件的生产效率;l满足应用的功能需要;满足应用的功能需要;l降低软件开发成本。降低软件开发成本。下一页上一页停止放映4.4.软件工程的指导思想软件工程的指导思想l为为解解决决软软件件危危机机,把把“软软件件”这这种种特特殊殊商商品品的的生产、管理过程纳入传统工程管理的轨道;生产、管理过程纳入传统工程管理的轨道;用用计计算算机机科科学学中中的的最最新新成成果果应应用用于于软软件件工工程程中中用用管理学管理学的原理和方法进行软件生产管理的原理和方法进行软件生产管理用用工工程程学学的的观观点
9、点进进行行核核算算,制制定定工工程程进进度度和和实施方案实施方案用用数数学学方方法法建建立立软软件件的的可可靠靠模模型型和和各各种种有有效效算法算法下一页上一页停止放映5.5.软件工程基本原理软件工程基本原理l自自19681968年提出年提出“软件工程软件工程”的概念以的概念以来,专家学者又陆续提出了来,专家学者又陆续提出了100100多条关多条关于软件工程的准则。于软件工程的准则。l著名软件工程专家著名软件工程专家B.W.BoehmB.W.Boehm于于19831983年年发表的一篇论文中提出了软件工程的发表的一篇论文中提出了软件工程的七条基本原理。他认为这七条原理是七条基本原理。他认为这七
10、条原理是确保软件产品质量和开发效率的最小确保软件产品质量和开发效率的最小准则集合。准则集合。下一页上一页停止放映软件工程七条基本原理软件工程七条基本原理用分阶段的生命周期计划严格管理用分阶段的生命周期计划严格管理坚持进行阶段评审坚持进行阶段评审实行严格的产品控制实行严格的产品控制采用现代程序设计技术采用现代程序设计技术结果应能清楚地审查结果应能清楚地审查开发小组人员少而精开发小组人员少而精承认不断改进软件工程实践的必要性承认不断改进软件工程实践的必要性下一页上一页停止放映用分阶段生命周期计划严格管理用分阶段生命周期计划严格管理l在在软软件件的的整整个个生生命命周周期期中中应应该该制制定定并并严
11、严格格执执行行六六类类计计划划:项项目目概概要要、项项目目进进度度表表、项项目目控控制制、产产品品控控制制、验证验证及及运行维护计划。运行维护计划。l不不同同层层次次的的管管理理人人员员必必须须严严格格按按照照计计划划各各尽尽其其职职地地去去管管理理软软件件开开发发与与维维护护工工作作,绝绝不不能能受受客客户户或或上上级级的的影响而擅自背离预定计划。影响而擅自背离预定计划。下一页上一页停止放映坚持进行阶段评审坚持进行阶段评审l软软件件的的质质量量保保证证工工作作不不能能等等到到编编码码阶阶段段结结束束之后再进行。这是因为:之后再进行。这是因为:大大部部分分错错误误是是在在编编码码之之前前造造成
12、成的的(根根据据BoehmBoehm统统计计,设设计计错错误误占占软软件件错错误误的的63%63%,编码错误占编码错误占37%37%)。)。错错误误发发现现与与改改正正得得越越晚晚,所所付付出出的的代代价价也也越高。越高。因因此此,在在每每个个阶阶段段进进行行严严格格的的评评审审,尽尽早早发发现现并并修修正正各各个个阶阶段段中中所所犯犯的的错错误误是是一一条条必必须须遵循的重要原则。遵循的重要原则。下一页上一页停止放映示意图关于阶段评审作用示意图关于阶段评审作用 下一页上一页停止放映实行严格的产品控制实行严格的产品控制l在在软软件件开开发发过过程程中中不不应应随随意意改改变变需需求求,但但不不
13、能能禁禁止止更更改改需需求求。当当必必须须修修改改时时,为为了了保保持持软软件件各各配配置置成成分分的的一一致致性性,必必须实行严格的产品控制。须实行严格的产品控制。l一一切切有有关关修修改改软软件件的的建建议议都都必必须须按按照照严严格格的的规规程程进进行行评评审审,获获准准后后才才能能实实施施修修改。改。l绝绝对对不不能能谁谁想想修修改改就就随随意意进进行行修修改改的的行行为。为。下一页上一页停止放映采用现代程序设计技术采用现代程序设计技术l以以前前的的结结构构化化程程序序设设计计技技术术,如如今今的的面面向向对对象象程程序序设设计计技技术术都都被被实实践践证证明明是是各各个个不不同同历历
14、史史阶阶段段的的优优秀秀程程序设计技术和方法。序设计技术和方法。l采采用用先先进进的的技技术术既既可可以以提提高高软软件件开开发发的的效效率率,又又可可以以提提高高软软件件维维护护的的效率。效率。下一页上一页停止放映结果应能清楚地审查结果应能清楚地审查l软软件件产产品品是是看看不不见见、摸摸不不着着的的逻逻辑辑产产品品,软软件件开开发发人人员员的的工工作作进进展展情情况可见性差。况可见性差。l为为了了提提高高开开发发过过程程的的可可见见性性,应应根根据据软软件件开开发发项项目目中中的的目目标标完完成成期期限限,规规定定开开发发组组织织的的责责任任和和产产品品标标准准,使得到的结果能够清楚的审查
15、。使得到的结果能够清楚的审查。下一页上一页停止放映开发小组人员少而精开发小组人员少而精l开发小组成员的素质应该高,人员开发小组成员的素质应该高,人员不宜过多。人员素质和数量是影响不宜过多。人员素质和数量是影响产品质量和开发效率的重要因素。产品质量和开发效率的重要因素。l素质高的人开发效率比低的人高几素质高的人开发效率比低的人高几倍甚至几十倍,而错误则明显得少;倍甚至几十倍,而错误则明显得少;l人数增加,管理难度也增加。人数增加,管理难度也增加。下一页上一页停止放映承认不断改进软件工程实践的必要性承认不断改进软件工程实践的必要性l要要积积极极主主动动地地采采纳纳新新的的软软件件技技术术,要要不不
16、断断总总结结经经验验;不不能能自自以以为为是是,固步自封,唯我独好。固步自封,唯我独好。l大大千千世世界界,错错综综复复杂杂,只只有有不不断断学学习,才能不断进取,不断进步。习,才能不断进取,不断进步。下一页上一页停止放映6.6.软件工程应用范围软件工程应用范围l个人程序、中小型或一般程序同开个人程序、中小型或一般程序同开发人员之间的关联较小,应用发人员之间的关联较小,应用SESE方方法收效甚微。法收效甚微。l大型程序要由若干个程序员小组承大型程序要由若干个程序员小组承担开发,相互关系极其复杂,因此,担开发,相互关系极其复杂,因此,必须自始至终坚持必须自始至终坚持SESE方法。方法。下一页上一
17、页停止放映7.7.软件工程方法学软件工程方法学l软件工程方法学包含软件工程方法学包含3个要素:个要素:l方法方法是完成软件开发的各项任务的技术方是完成软件开发的各项任务的技术方法,回答法,回答“怎么做怎么做”的问题?的问题?l工具工具是为运用方法而提供的软件工程支撑是为运用方法而提供的软件工程支撑环境。环境。l过程过程是为了获得高质量的软件所需要完成是为了获得高质量的软件所需要完成的一系列任务的框架,它规定了完成各项的一系列任务的框架,它规定了完成各项任务的工作步骤。任务的工作步骤。下一页上一页停止放映传统方法学传统方法学l把把软软件件生生存存周周期期划划分分成成若若干干个个阶阶段段,每每个个
18、阶阶段段的的任任务务相相对对独独立立,而而且且比比较较简简单单,便便于于不不同同人人员员分分工工协协作作,从从而而降降低低整整个个软软件件开开发发工工程程的的困困难程度。难程度。l在在实实现现每每个个阶阶段段任任务务时时,采采用用系系统统化化的的技技术术方方法法结构化分析和结构化设计技术。结构化分析和结构化设计技术。l传传统统软软件件工工程程模模式式的的缺缺点点:强强调调了了分分阶阶段段实实施施模模块块化化、结结构构化化程程序序设设计计技技术术和和方方法法,而而忽忽视视了人在软件开发过程中的地位和作用。了人在软件开发过程中的地位和作用。下一页上一页停止放映面向对象方法学面向对象方法学l当当软软
19、件件规规模模庞庞大大,或或对对软软件件的的需需求求是是模模糊糊的的、或或随随时时间间而而变变化化时时,使使用用传传统统方方法法学学往往往往不不成成功功。因因为为结结构构化化方方法法要要么么面面向向行行为,要么面向数据,而不能兼有。为,要么面向数据,而不能兼有。l计计算算机机就就是是为为了了处处理理数数据据而而诞诞生生的的,数数据据和和对对数数据据的的处处理理本本是是紧紧密密联联系系在在一一起起的的,而而传传统统方方法法人人为为地地把把数数据据和和数数据据处处理理分分开开,导致了问题的复杂性。导致了问题的复杂性。l而而面面向向对对象象处处理理方方法法把把数数据据和和数数据据处处理理紧紧密结合在一
20、起,产生了一种新的方法学。密结合在一起,产生了一种新的方法学。下一页上一页停止放映现代方法学现代方法学l现现代代软软件件方方法法学学是是在在传传统统方方法法学学的的基基础础上上,为为了了强强调调人人在在系系统统开开发发中中的的作作用用,同同时时为为了了适适应应软软件件新新技技术术的的发发展展趋趋势势而提出的。而提出的。l由由于于在在软软件件开开发发过过程程中中最最大大限限度度地地采采用用软软件件组组件件,使使得得软软件件开开发发过过程程变变为为系系统统分分析析、系系统统构构造造、系系统统测测试试的的集集成成过程。过程。下一页上一页停止放映现代方法学基本要点现代方法学基本要点1.1.开开发发人人
21、员员的的组组织织管管理理对对软软件件开开发发成成功功与与否否至至关关重要;重要;2.2.以以人人为为主主,充充分分利利用用软软件件开开发发方方法法及及软软件件开开发发工具;工具;3.3.基基于于软软件件组组件件的的软软件件开开发发技技术术。各各种种功功能能的的可可重重用用软软件件组组件件不不断断问问世世。这这使使得得在在软软件件开开发发过过程程中中编编程程工工作作量量日日趋趋减减少少,取取而而代代之之的的是是在在设设计计好好系系统统体体系系结结构构后后,利利用用软软件件组组件件构构造造或或重重构软件系统。构软件系统。4.4.由由于于软软件件组组件件是是标标准准化化设设计计、成成品品化化生生产产
22、的的,极极易易构构造造使使用用,从从而而大大大大简简化化了了设设计计、编编程程、测测试试各各个个环环节节的的工工作作量量,提提高高了了工工作作效效率率和和生生产效率。产效率。下一页上一页停止放映现代软件工程模式阶段现代软件工程模式阶段划分及主要任务划分及主要任务1)1)系统分析系统分析2)2)系统设计系统设计3)3)系统测试系统测试4)4)软件组件软件组件5)5)系统开发人员的组织管理系统开发人员的组织管理下一页上一页停止放映系统分析系统分析首首先先根根据据用用户户需需求求建建立立系系统统用用户户模模型型,。它它从从概概念念上上全全方方位位表表达达系系统统需需求求及及系系统统与与用户的相互关系
23、。用户的相互关系。在在用用户户模模型型的的基基础础上上,通通过过系系统统分分析析建建立立适适应应性性强强的的独独立立于于系系统统实实现现环环境境的的逻逻辑辑结结构构。分分析析阶阶段段独独立立于于系系统统实实现现环环境境,可可以以保保证证建建立立起起来来的的系系统统结结构构具具有有相相对对的的稳稳定定性性,便于系统维护、移植或扩充。便于系统维护、移植或扩充。下一页上一页停止放映系统逻辑结构三要素系统逻辑结构三要素l系系统统的的逻逻辑辑结结构构应应从从以以下下三三方方面面全全面面反映系统的功能与性能:反映系统的功能与性能:信息信息 完整描述系统中所处理的全部信息;完整描述系统中所处理的全部信息;行
24、为行为 完完全全描描述述系系统统状状态态变变化化所所需需处处理理或或功能;功能;表示表示 详细描述系统的对外接口与界面。详细描述系统的对外接口与界面。下一页上一页停止放映系统设计系统设计l系系统统实实现现环环境境 为为了了保保持持系系统统结结构构的的稳稳定定性性,在在系系统统设设计计阶阶段段要要充充分分考考虑虑:应应尽尽可可能能避避免免由由于实现环境的特定要求而改变系统结构。于实现环境的特定要求而改变系统结构。l设设计计构构造造系系统统的的软软件件组组件件 主主要要内内容容包包括括:定定义义组组件件结结构构、功功能能和和外外部部接接口口、组组件件之之间间的的相相互互关关系系和和通通信信方方式式
25、。对对于于复复杂杂的的大大系系统统,还还可可以以根根据据组组件件之之间间关关联联的的紧紧密密程程度度,将将关关联联密密切切的多个组件形成一个子系统。的多个组件形成一个子系统。l编编程程实实现现系系统统 对对于于需需要要开开发发的的软软件件系系统统,选选择择某某种种合合适适的的程程序序设设计计语语言言编编写写相相应应的的源源代代码码程序,完成系统实现工作。程序,完成系统实现工作。下一页上一页停止放映系统测试系统测试l系系统统测测试试包包括括单单元元测测试试、集集成成测测试和系统测试。试和系统测试。l就就功功能能而而言言与与传传统统软软件件工工程程模模式式中系统测试的功能相同。中系统测试的功能相同
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件工程 基本理论 课件
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内