- 1、本文档共16页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
软件工程复习资料[已修改]
:软件工程学概述
软件危机:软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。这些问题绝不仅仅是不能正常运行的软件才具有,实际上,几乎所有软件都不同程度地存在这些问题。软件危机包含下属两方面的问题;如何开发软件,以满足对软件日益增长的需求;如何维护数量不断膨胀的已有软件。
软件危机的典型表现:1、对软件开发成本和进度的估计常常很不准确。2、用户对“已完成的”软件系统不满意的现象经常发生。3、软件产品的质量往往靠不住。4、软件常常是不可维护的。5、软件通常没有适当的文档资料。6、软件成本在计算机系统总成本所占的比例逐年上升。7、软件开发生产率提高的速度,远远跟不上计算机应用迅速普及深入的趋势。
产生软件危机的原因:1)软件本身特点造成;2)软件开发与维护的方法不正确。主要表现:
(a)忽视软件需求分析;(b)认为软件开发就是写程序并使之运行;(c)轻视软件维护;
消除软件危机的途径:1)推广使用在实践中总结出来的开发软件的成功技术和方法,并研究探索更有效的技术和方法;2)开发和使用更好的软件工具;3)良好的组织管理措施。
软件工程:是指导计算机软件开发和维护的一门工程学科。采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,以经济地开发出高质量的软件并有效地维护它。
软件工程本质特性:1、软件工程关注于大型程序的构造。2、软件工程的中心课题是控制复杂性。3、软件经常变化。4、开发软件的效率非常重要。5、和谐地合作市开发软件的关键。6、软件必须有效地支持它的用户。7、在软件工程领域中通常由具有一种文化背景的人替具有另一种文化背景的人创造产品。
软件工程基本原理:1、用分阶段的生命周期计划严格管理。2、坚持进行阶段评审。3、实行严格的产品控制。4、采用现代程序设计技术。5、结果应能清楚地审查。6、开发小组的人员应该少而精。7、承认不断改进软件工程实践的必要性。
软件工程方法学3要素:方法、工具和过程。其中,方法是完成软件工程的各项任务的技术方法,回答“怎样做”的问题;工具是为运用方法而提供的自动的或半自动的软件工程支撑环境;过程是为了获得高质量的软件所需要完成的一系列任务的框架,它规定了完成各项任务的工作步骤。
软件生命周期:由软件定义(A.问题定义B.可行性研究C.需求分析)、软件开发(D.总体设计E.详细设计F.编码和单元测试G.综合测试)和运行维护三个时期组成。指软件从提出到最终被淘汰的这个存在期。
软件生命周期每个阶段的基本任务:1、问题定义。2、可行性研究。3、需求分析。4、总体设计。5、详细设计。6、编码和单元测试。7、综合测试。8、软件维护。
软件过程:为了获得高质量软件所需要完成的一系列任务的框架,它规定了完成各项任务的工作步骤。
软件过程3要素:1、过程定义:将过程所包含的活动及程序文档化。2、过程学习:应将关于过程的知识传授给需要执行过程的每个人。3、过程执行
瀑布模型特点:1、阶段间具有顺序性和依赖性。2、推迟实现的观点。3、质量保证的观点。优点:采用规范的方法;严格规定每个阶段提交的文档;要求每个阶段交出的产品必须经过验证。
快速原型模型:是快速建立起来的可以在计算机上运行的程序,它所能完成的功能往往是最终产品能完成的功能的一个子集。优点:不带反馈环,基本上是线性顺序进行。
快速原型模型特点:优点:处理模糊需求 、用户参与、快速 缺点:快速(弱功能)、资源规划和管理较为困难、对开发环境要求高 适用范围:已有产品(原型)、简单而熟悉的领域、有快速原型开发工具、进行产品移植或升级
增量模型:也称为渐增模型,使用增量模型开发软件时,把软件产品作为一系列的增量构建来设计、编码、集成和测试。优点是能在较短时间内向用户提交可完成都分工作的产品,逐步增加产品功能可以使用户有较充裕的时间学习和适应新产品,从而减少一个全新的软件可能给客户组织带来的冲击。
增量模型特点:优点:任务或功能模块驱动,可以分阶段提交产品
缺点:条件比较苛刻
适用范围:1、在整个项目开发过程中,需求都可能发生变化,客户接受分阶段交付2、分析设计人员对应用领域不熟悉,难以一步到位3、中等或高风险项目4、用户可参与到整个软件开发过程中5、使用面向对象语言或第四代语言6、软件公司自己有较好的类库、构件库
第二章:可行性研究
1.可行性研究的目标是用最小的代价在尽可能短的时间内确定问题是否可解,或者确定问题是否值得去解。
2.可行性研究包括四个方面的内容:
(1)经济可行性 :进行成本∕效益分析。从经济角度判断系统开发是否“合算”。
(2)技术可行性 :进行技术风险评价。从开发者的技术实力、以往工作基础、问题的复 杂性等出发,判断系统开发在
文档评论(0)