《软件工程原理》PPT课件.ppt
《《软件工程原理》PPT课件.ppt》由会员分享,可在线阅读,更多相关《《软件工程原理》PPT课件.ppt(39页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、软软 件件 工工 程程 原原 理理方方 裕裕参考书目:参考书目:1.1.软件工程软件工程实践者的研究方法实践者的研究方法 Roger Pressman Roger Pressman 中译本:机械工业出版社中译本:机械工业出版社2.2.软件工程软件工程 齐治昌等编,高等教育出版社齐治昌等编,高等教育出版社3.3.软件工程软件工程 杨文龙等编,电子工业出版社杨文龙等编,电子工业出版社 第一章第一章 绪绪 论论1 1 软件软件1.1.程序程序:计算机指令或语句的有序集合。计算机指令或语句的有序集合。体现某一个完整的算法体现某一个完整的算法 有确定性的运算结果有确定性的运算结果2.2.软件:软件:彼此
2、相关的程序集合与文档的总称彼此相关的程序集合与文档的总称3.3.软件的特性软件的特性 (1 1)外在特性:呈现语言特性,主要表现在)外在特性:呈现语言特性,主要表现在功能与界面功能与界面 (2 2)内在特性:高效性、可理解性、可维护)内在特性:高效性、可理解性、可维护性、可移植性,归结为结构特征性、可移植性,归结为结构特征 第一章第一章 绪绪 论论4.4.软件的分类软件的分类 系统软件:着眼于系统资源的管理,包括系统软件:着眼于系统资源的管理,包括硬资源和软资源,主要目的是使得用户可以高硬资源和软资源,主要目的是使得用户可以高效、公平、友好地使用资源。要求:运行效率效、公平、友好地使用资源。要
3、求:运行效率高、占用资源省、抽象程度好。高、占用资源省、抽象程度好。支撑软件:着眼于向软件开发人员提供开支撑软件:着眼于向软件开发人员提供开发支持,以提高开发效率、保证开发质量。要发支持,以提高开发效率、保证开发质量。要求:配套、跨平台、适应性求:配套、跨平台、适应性。应用软件:解决特定的应用问题。要求:应用软件:解决特定的应用问题。要求:方便、领域知识和模型完整、正确方便、领域知识和模型完整、正确。第一章第一章 绪绪 论论地理信息系统软件:地理信息系统软件:一类用来获取、存储、处理、分析、表现和一类用来获取、存储、处理、分析、表现和在不同用户、不同系统和不同地点之间传输数字在不同用户、不同系
4、统和不同地点之间传输数字化的空间数据的计算机应用软件。化的空间数据的计算机应用软件。地理信息系统的体系地理信息系统的体系Geographical Information System:Geographical Information System:Geographical Information Science Geographical Information Science Geographical Information Software Geographical Information Software Geographical Information Service Geographi
5、cal Information Service第一章第一章 绪绪 论论GIS软件的层次体系:软件的层次体系:GIS GIS 基基 础础 软软 件件 平平 台台GIS GIS 行行 业业 应应 用用 平平 台台GIS GIS 行行 业业 应应 用用 平平 台台GIS应用应用软件系统软件系统GIS应用应用软件系统软件系统GIS应用应用软件系统软件系统GIS应用应用软件系统软件系统第一章第一章 绪绪 论论5.5.可重用软件可重用软件 可重用软件又称软件构件,是一类相对特殊的可重用软件又称软件构件,是一类相对特殊的软件。它通常是将软件开发过程中常用的一些功能软件。它通常是将软件开发过程中常用的一些功能
6、模块加以提炼和抽象,将使用的数据结构与操作封模块加以提炼和抽象,将使用的数据结构与操作封装起来,形成软件构件,装起来,形成软件构件,“嵌入嵌入”应用程序中使用。应用程序中使用。从而提高开发效率,减少错误。从而提高开发效率,减少错误。条件:面向对象的设计技术条件:面向对象的设计技术 要求:功能明确、接口和规范统一、必须绝要求:功能明确、接口和规范统一、必须绝对可靠。对可靠。问题:语义检索机制难以实现问题:语义检索机制难以实现第一章第一章 绪绪 论论6.6.软件的发展历程软件的发展历程 初级阶段(初级阶段(19401940年代中期年代中期5050年代后期)年代后期)特点:规模小、应用面窄、手编程序
7、为特点:规模小、应用面窄、手编程序为主、系统软件缺乏、基本没有软件工具。主、系统软件缺乏、基本没有软件工具。开发方式:个体手工业,个人开发、个开发方式:个体手工业,个人开发、个人使用、个人维护。人使用、个人维护。理论:十分缺乏理论指导,主要是凭开理论:十分缺乏理论指导,主要是凭开发人员的经验、直觉和天赋。发人员的经验、直觉和天赋。技术:能工巧匠型,以个人经验和技巧技术:能工巧匠型,以个人经验和技巧为主,缺乏标准。为主,缺乏标准。第一章第一章 绪绪 论论 发展阶段(发展阶段(19601960年代初期年代初期7070年代中后期)年代中后期)特点:软件分类日益明确,规模迅速扩大,应用特点:软件分类日
8、益明确,规模迅速扩大,应用范围大大拓广,系统软件功能日益增强,软件工具相对范围大大拓广,系统软件功能日益增强,软件工具相对缺乏。缺乏。开发方式:向手工作坊式过渡,专业分工开始出开发方式:向手工作坊式过渡,专业分工开始出现,但不够明确。现,但不够明确。理论:形式语言理论基本成熟,并行理论走向成理论:形式语言理论基本成熟,并行理论走向成熟,软件形式化理论开始出现,软件结构理论有所发展。熟,软件形式化理论开始出现,软件结构理论有所发展。技术:集中在程序设计单项技术的发展,出现了技术:集中在程序设计单项技术的发展,出现了不少行之有效的编程、调试和软件测试技术。不少行之有效的编程、调试和软件测试技术。第
9、一章第一章 绪绪 论论 工程阶段(工程阶段(19801980年代初期年代初期)特点:软件规模更加宏大,系统软件和工具种特点:软件规模更加宏大,系统软件和工具种类日益繁多,应用范围深入社会各个角落,特别是类日益繁多,应用范围深入社会各个角落,特别是网络和网络和InternetInternet的出现,开始改变人类的生活方式。的出现,开始改变人类的生活方式。开发方式:工程化生产到大规模软件工厂。开发方式:工程化生产到大规模软件工厂。理论:各种理论日益发展,软件开发和程序设理论:各种理论日益发展,软件开发和程序设计方法学推陈出新,程序证明公理系统日益完备。计方法学推陈出新,程序证明公理系统日益完备。第
10、一章第一章 绪绪 论论 技术:结构化设计技术、原型技术、面向对象技术:结构化设计技术、原型技术、面向对象技术、软件重用技术广泛使用,形式化技术已经技术、软件重用技术广泛使用,形式化技术已经开始走向部分实用。开始走向部分实用。趋势:软件生产逐步向工业化生产靠拢。但是趋势:软件生产逐步向工业化生产靠拢。但是软件过程问题的研究仍然进展不大。软件过程问题的研究仍然进展不大。问题:软件危机的基本特征并没有有效地得到问题:软件危机的基本特征并没有有效地得到改善,软件生产自动化问题仍然举步维艰。软件改善,软件生产自动化问题仍然举步维艰。软件发展与硬件发展的步伐仍然不能不能同步。发展与硬件发展的步伐仍然不能不
11、能同步。第一章第一章 绪绪 论论7.7.软件设计的特点软件设计的特点 软件的各种指标发展与提升彼此存在实质性的软件的各种指标发展与提升彼此存在实质性的矛盾和冲突。矛盾和冲突。大型软件通常基于特定的硬件。大型软件通常基于特定的硬件。对于特定的功能,并没有一种对于特定的功能,并没有一种“唯一唯一”的解决的解决办法。办法。软件的错误往往通过程序的运行才能发现。软件的错误往往通过程序的运行才能发现。开发软件需要开发软件需要“创意创意”,“创意创意”的管理难有的管理难有统一的尺度,管理困难。统一的尺度,管理困难。开发软件的过程不是孤立的,与硬件和其它软开发软件的过程不是孤立的,与硬件和其它软件关系密切件
12、关系密切第一章第一章 绪绪 论论 功能往往不是软件开发的主要困难,运行环境功能往往不是软件开发的主要困难,运行环境才是更难确定的。才是更难确定的。大型软件开发是一种遵循多种原则的智力密集大型软件开发是一种遵循多种原则的智力密集性活动。性活动。软件不会软件不会“用旧用旧”和磨损,但将在使用过程中和磨损,但将在使用过程中不断改变。不断改变。软件的可用性涉及许多人文方面的因素,度量软件的可用性涉及许多人文方面的因素,度量困难。困难。软件工作量的估计与众多因素有关。软件工作量的估计与众多因素有关。软件开发过程是一个充满回朔的过程。软件开发过程是一个充满回朔的过程。第一章第一章 绪绪 论论2 2 软件工
13、程的发展软件工程的发展1.1.软件工程的由来软件工程的由来 目标:提高软件开发的效率目标:提高软件开发的效率 提高软件的质量提高软件的质量 降低软件开发成本降低软件开发成本 软件危机:进度常延缓、成本难控制、质软件危机:进度常延缓、成本难控制、质量无保证。原因:大型软件巨大的复杂性,人们量无保证。原因:大型软件巨大的复杂性,人们对如此大的系统的复杂性把握程度不够对如此大的系统的复杂性把握程度不够 NATO NATO科技委员会会议科技委员会会议 1968 1968第一章第一章 绪绪 论论2.2.定义定义 软件工程是一门研究软件开发的原则、方法、软件工程是一门研究软件开发的原则、方法、管理的计算机
14、软件学科分支,试图运用系统的、规管理的计算机软件学科分支,试图运用系统的、规范的和定量化的方法来规划、开发、维护和运行软范的和定量化的方法来规划、开发、维护和运行软件,借以提高开发效率、降低成本。件,借以提高开发效率、降低成本。对象:大型软件的开发过程对象:大型软件的开发过程 方法:定性和定量相结合方法:定性和定量相结合 特点:实践性强、灵活性强特点:实践性强、灵活性强 原则:全面质量管理,系统科学原则:全面质量管理,系统科学 关键:分解复杂性,权衡和折中关键:分解复杂性,权衡和折中第一章第一章 绪绪 论论 学术观点:从软件计划、开发、维护等方面综合考虑,总学术观点:从软件计划、开发、维护等方
15、面综合考虑,总结规律,建立科学概念,制定生产规范,研究实用技术,形结规律,建立科学概念,制定生产规范,研究实用技术,形成科学体系。成科学体系。实践观点:以软件工程学的理论为指导,按照其原则、方实践观点:以软件工程学的理论为指导,按照其原则、方法进行组织与管理,采用其技术进行工业化软件生产。法进行组织与管理,采用其技术进行工业化软件生产。常见的几种错误认识:常见的几种错误认识:开发软件就是编程序;开发软件就是编程序;进度落后可以通过增加人员的方法来解决;进度落后可以通过增加人员的方法来解决;通过加强测试,就可以保证软件没有错误;通过加强测试,就可以保证软件没有错误;只要保证正确的输入能够产生正确
16、的结果只要保证正确的输入能够产生正确的结果 就是高质量就是高质量的软件。的软件。第一章第一章 绪绪 论论3.3.基本出发点:基本出发点:分解复杂性,借鉴生产流水线的分解复杂性,借鉴生产流水线的组织思路,将复杂的生产过程分解为简单工步组织思路,将复杂的生产过程分解为简单工步的集合。使用工具,提高每个工步的生产效率,的集合。使用工具,提高每个工步的生产效率,推行全过程质量管理,保证软件产品的质量。推行全过程质量管理,保证软件产品的质量。4.4.不同的认识:不同的认识:渐进式:通过非形式化的、逐步改善的方渐进式:通过非形式化的、逐步改善的方式,达到最终解决问题的目的。式,达到最终解决问题的目的。革命
17、式:通过形式化的方法,彻底解决问革命式:通过形式化的方法,彻底解决问题。题。“软件工程是末日学科软件工程是末日学科”Dijkstra”Dijkstra第一章第一章 绪绪 论论5.5.问题的症结问题的症结 计算机系统的几大要素:硬件、软件、数据、应用计算机系统的几大要素:硬件、软件、数据、应用模型、人,其中模型处于主导地位,最关键的要素是人。模型、人,其中模型处于主导地位,最关键的要素是人。软件开发过程是一个不断决策、充满回朔的过程,软件开发过程是一个不断决策、充满回朔的过程,有很强的不确定性和人为性。有很强的不确定性和人为性。大型计算机程序是一个高度复杂、高度形式化的计大型计算机程序是一个高度
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件工程原理 软件工程 原理 PPT 课件
限制150内