- 1、本文档共12页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
件工程复习重点
软件工程学概述
软件危机(软件萧条、软件困扰):是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。实际上,几乎所有软件都不同程度地存在这些问题。
软件危机包含下述两方面的问题:
如何开发软件,满足对软件日益增长的需求;
如何维护数量不断膨胀的已有软件。
产生软件危机的原因;
与软件本身的特点: 有关软件是逻辑部件。
软件不会被“用坏”,如果发现了错误,很可能是开发时期引入。
软件规模庞大,而且程序复杂性将随着程序规模的增加而呈指数上。
与软件开发与维护的方法不正确有关
与软件开发与维护的方法不正确有关:
忽视软件需求分析的重要性。
认为软件开发就是写程序并设法使之运行。
轻视软件维护。
消除软件危机的途径
1 对计算机软件有正确的认识。
2认识到软件开发是一种组织良好、管理严密、各类人员协同配合、共同完成的工程项目。
3应该推广使用在实践中总结出来的开发软件的成功技术和方法,并继续研究探索。
4应该开发和使用更好的软件工具。
5总之,为了解决软件危机,既要有技术措施(方法和工具),又要有必要的组织管理措施。
怎样用软件工程消除软件危机
软件工程以软件产品化、系列化、工程化、标准化为特征。
采用工程化方法和工程途径来研制与维护软件。
摆脱软件危机的途径就是软件工程生成的过程
消除软件危机,既要有技术措施又要有必要的组织管理措施
软件工程:是指导计算机软件开发和维护的一门工程学科。采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,以经济地开发出高质量的软件并有效地维护它,这就是软件工程。
本质特征:
1关注于大型程序的构造
2中心课题是控制复杂性
3软件经常变化
4开发软件的效率非常重要
5和谐的合作是开发软件的关键
6软件必须有效的支持它的用户
7 在软件工程领域中通常由一种具有文化背景的人替另一种具有文化背景的人创造产品
基本原理
用分阶段的生命周期计划严格管理
坚持进行阶段评审
实行严格的产品控制
采用现代程序设计技术
结果应能清楚地审查
开发小组的人员应该少而精
承认不断改进软件工程实践的必要性
基本原则:
1局部化 要求在一个物理模块内集中逻辑上相互关联的计算机资源,保证模块之间具有松散的耦合,模块内部具有较强的内聚。这有助于控制解的复杂性。
2确定性 软件开发过程中所有概念的表达应是确定的、无歧义性的、规范的。
3一致性 整个软件系统的各个模块应使用一致的概念、符号和术语。程序内部接口应保持一致。软件和硬件、操作系统的接口应保持一致。系统规格说明与系统行为应保持一致。用于形式化规格说明的公理系统应保持一致。
4完备性 软件系统不丢失任何重要成分,可以完全实现系统所要求功能的程度。为了保证系统的完备性,在软件开发和运行过程中需要严格的技术评审。
5可验证性 开发大型的软件系统需要对系统自顶向下、逐层分解。系统分解应遵循系统 。易于检查、测试、评审的原则,以确保系统的正确性
软件工程包括技术和管理两方面的内容。
管理:通过计划、组织和控制等一系列活动,合理地配置和使用各种资源,以达到既定目标的过程。
技术(软件工程方法学):通常把在软件生命周期全过程中使用的一整套技术方法的集合称为方法学(methodology),也称为范型(paradigm)。
软件工程方法学包括:传统方法学(生命周期方法学或结构化范型)——强调自顶向下
面向对象方法学——强调主动地多次反复迭代
传统方法学:采用结构化的技术来完成软件开发的各项任务,并用适当的软件工具或软件工程环境来支持结构化技术的运用。
面向对象方法:把数据和行为看成同等重要,它是一种以数据为主线,把数据和对数据的操作紧密地结合起来的方法。(对象,类,继承,消息)
面向对象方法学的优点:
1 面向对象方法学的尽量模拟人类习惯的思维方式,使开发软件的方法与过程
尽可能接近人类认识世界解决问题的方法与过程。
2 面向对象方法学开发软件的过程,是一个主动地多次反复迭代的演化过程,
保证了在各项开发活动之间的平滑过渡。
3 促进了软件重用。
文档评论(0)