- 1、本文档共15页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
软件工程重点知识doc
软件工程学概述
1.1软件危机
概念:指在计算机软件的开发和维护过程中所遇到的一系列严重问题。实际上,几乎所有软件都不同程度地存在这些问题。
原因:
1. 与软件本身的特点有关。1)软件不同于硬件,缺乏“可见性”,它是计算机系统的逻辑部件而不是物理部件。2)软件不同于一般程序,规模庞大,而且程序复杂性将随着程序规模的增加而呈指数上升。
2.与软件开发与维护的方法不正确有关。1)忽视软件需求分析的重要性。对用户要求没有完整准确的认识就匆忙着手编写程序。2)认为软件开发就是写程序并设法使之运行。3)在软件开发的不同阶段进行修改需要付出的代价是很不相同的。4)轻视软件维护。
消除途径:
1.对计算机软件有正确的认识:软件是计算机系统中与硬件相互依存的另一部分,它是包括程序,数据及其相关文档的完整集合。即Software = Program + Data + Document。
2.必须充分认识到软件开发是一种组织良好、管理严密、各类人员协同配合、共同完成的工程项目。
3.推广使用在实践中总结出来的开发软件的成功技术和方法,并继续研究探索。
4.开发和使用更好的软件工具。
1.2 软件工程
:是指导计算机软件开发和维护的一门工程学科。
软件工程的本质特性:1. 软件工程关注于大型程序的构造;2. 软件工程的中心课题是控制复杂性;3. 软件经常变化;4. 开发软件的效率非常重要;5. 和谐地合作是软件开发的关键;6. 软件必须有效地支持它的用户;7. 在软件工程领域中是由具有一种文化背景的人替具有另一种文化背景的人创造产品。
软件工程包括技术和管理两方面的内容,是技术与管理紧密结合所形成的工程学科。
软件工程方法学的3要素:方法、工具和过程。
目前使用最广泛的软件工程方法学,分别是传统方法学和面向对象方法学。
1.传统方法学也称为生命周期方法学或结构化范型。结构化方法(Structure Method)有:1)结构化设计方法(SD);2)结构化分析方法(SA);3)结构化分析与设计技术(SADT);4)JACKSON方法; 5)WARNIER方法。
2.面向对象方法学是把数据和对数据的操作紧密结合起来的方法,模拟人类认识世界解决问题的方法和过程。面向对象方法学4个要点:对象(object)、类(class)、继承、消息。
1.3 软件生命周期
软件生命周期由软件定义、软件开发和运行维护(也称为软件维护)三个时期组成,每个时期又进一步划分成若干个阶段。
1.4 软件过程
软件过程1. 瀑布模型
传统瀑布模型 实际瀑布模型
瀑布模型的特点:1)阶段间具有顺序性和依赖性;2)推迟实现的观点;3)质量保证的观点。
瀑布模型的优点:1)可强迫开发人员采用规范的方法;2)严格地规定了每个阶段必须提交的文档;3)要求每个阶段交出的所有产品都必须经过质量保证小组的仔细验证。
瀑布模型的缺点:1)“瀑布模型是由文档驱动的”这个事实也是它的一个主要缺点。2)实际项目很少按照该模型给出的顺序进行;3)用户常常难以清楚地给出所有需求;4)用户必须有耐心,等到系统开发完成。
2. 快速原型模型
快速原型(Rapid Prototype Model):是快速建立起来的可以在计算机上运行的程序,它所能完成的功能往往是最终产品能完成的功能的一个子集。
快速原型模型的特点:1)快速原型模型不带反馈环,软件产品的开发基本上是线性顺序进行的。2)快速原型的本质是“快速”。应该尽可能快地建造出原型系统,以加速软件开发过程,节约成本。
原型模型存在的问题:1)为了使原型尽快的工作,没有考虑软件的总体质量和长期的可维护性。2)为了演示,可能采用不合适的操作系统、编程语言、效率低的算法,这些不理想的选择成了系统的组成部分。3)开发过程不便于管理。
3. 增量模型
增量模型(Incremental Model):把软件产品作为一系列的增量构件来设计、编码、集成和测试。每个构件由多个相互作用的模块构成,并且能够完成特定的功能。
增量模型的优点:
人员分配灵活,刚开始不用投入大量人力资源。
当配备的人员不能在设定的期限内完成产品时,它提供了一种先推出核心产品的途径。
逐步增加产品功能可以使用户有较充裕的时间学习和适应新产品。
增量模型的难点:
软件体系结构必须是开放的。
模型本身是自相矛盾的。整体——独立构件。
不同的构件并行地构建有可能加快工程进度,但是冒无法集成到一起的风险。
增量模型适用于:
适用于需求经常改变的软件开发过程。
如果在项目既定的商业要求期限之前不可能找到足够的开发人员,在这种情况下,增量模型显得特别有用。
4. 螺旋模型
螺旋模型(Spi
文档评论(0)