软件工程考试整理
第一章
1、CASE(Computer Aided Software Environment)
2、软件危机的概念P1-2:指在计算机软件的开发和维护过程中所遇到的一系列严重问题。 3、软件危机的表现p2:(1)对软件开发成本和进度的估计常常很不准确。
(2)用户对“已完成的”软件系统不满意的现象经常发生。 (3)软件产品的质量往往靠不住。 (4)软件常常是不可维护的。
(5)软件通常没有适当的文档资料。
(6)软件成本在计算机系统总成本中所占的比例逐年上升。 (7)软件开发生产率提高的速度,远远跟不上计算机应用迅速普及深入的趋势。
4、产生软件危机的原因P3:一方面与软件本身有的特点有关,另一方面也和软件开发与维护的方法不正确有关。 5、软件开发流程:(问题定义→可行性分析→需求分析)软件定义时期→(概要设计→详细设计)软件开发时期→程序编写(占全部工作量的10%~20%)→软件测试(占全部工作量的40%~50%)
6、软件的配置主要包括程序、数据、文档。
7、做好软件定义时期的工作,是降低软件成本提高软件质量的关键。
软件工程学的一个重要目标就是提高软件的可维护性,减少软件维护代价。 8、消除软件危机的途径P5:首先应该对计算机软件有一个正确的认识。
更重要的是必须充分认识到软件开发不是某种个体劳动的神秘技巧,而应该是一种组织良好、管理严密、各类人员协同配合、共同完成的工程项目。
总之,为了解决软件危机,既要有技术措施(方法 和工具),
又要有必要的组织管理措施。
9、软件工程支撑环境P5:如果把各个阶段使用的软件工具有机地集合成一个集体,支持软件开发的全过程。
10、软件工程的定义P5:是指导计算机软件开发和维护的一门工程学科。
采用工程的概念、原理、技术和方法来开发和维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,以经济地开发出高质量的软件并有效地维护它,这就是软件工程。
IEEE具体的定义:①把系统的、规范的、可度量的途径应用于软件开发、运行和维
护过程,也就是把工程应用与软件;②研究①中提到的途径。 11、软件工程的本质特征:
(1)软件工程关注于大型程序的构造。 (2)软件工程的中心课题是控制复杂性。 (3)软件经常变化。
(4)开发软件的效率非常重要。 (5)和谐的合作是开发软件的关键。 (6)软件必须有效地支持它的用户。
(7)在软件工程领域中通常由具有一种文化背景的人替具有另一种文化背景的人创造产品。
12、软件工程的基本原理:
(1)用分阶段的生命周期计划严格管理。 (2)坚持进行阶段评审。 (3)实行严格的产品控制。 (4)采用现代程序设计技术。 (5)结果应能清楚的审查。
(6)开发小组的人员应该少而精。
(7)承认不断改进软件工程实践的必要性。 13、软件工程方法学P9-10:
通常把在软件生命周期全过程中使用的一整套技术方法的集合称为方法学,也称为范型。
软件工程方法学包含三个要素:方法、工具和过程。最广泛的方法学包括传统方法学和面向对象方法学。
传统方法学:也称为生命周期方法学或结构化范型。主要是把软件生命周期的全过程
一次划分为若干个阶段,然后顺序地完成每个阶段的任务。
面向对象方法学:4个要点(对象、类、继承、消息通信) 14、软件生命周期3个时期 P11:软件定义、软件开发、软件维护
软件定义阶段:确定开发过程的总目标;工程的可行性;实现工程目标应采用的策略;系统必须完成的功能;估计资源和成本,制定工程进度表。三个阶段,问题定义、可行性研究和需求分析。
软件开发阶段:总体设计,详细设计(前两个阶段又称系统设计),编码和单元测试,综合测试(后两个阶段又称系统实现)。
维护:四类维护活动:改正性维护,适应性维护,完善性维护,预防性维护。 15、软件过程的定义:
软件过程是为了获得高质量软件所需要完成的一系列任务框架,它规定了完成各项任务的工作步骤。概括地说,软件过程是为了开发出客户需要的软件,什么人、在什么时候、做什么事以及怎样做这些事以实现一个特定的具体目标。
通常使用生命周期模型简洁的描述软件过程。生命周期模型规定了把生命周期划分成哪些阶段及各个阶段的执行顺序,因此,也称为过程模型。 16、三个模型的优缺点: 传统瀑布模型:(1)阶段间具有顺序性和依赖性 (2)推迟实现的观点 (3)质量保证的观点 瀑布模型(带反馈环)P15
优点:①可强迫开发人员采用规范的方法;②严格规定了每个阶段必须提交的文档;③要求每个阶段交出的所有产品都必须经过质量保证小组的仔细验证。 缺点:由于是一种文档驱动的模型,最终开发出的软件产品可能并不是用户真正需要的。
快速原型模型(不带反馈环)P17
所谓快速原型是快速建立起来的可以在计算机上运行的程序,它所能完成的功能往往是最终产品功能的一个子集。
可以通过快速构建起一个在计算机上运行的原型系统,让用户试用原型并收集用户反馈意见的办法,获取用户的真实需求。本质是“快速”。 主要优点:软件产品的开发基本上是线性顺序进行的。 原因:(1)原型已通过与用户交互而得到验证,据此产生的规格说明文档正确的描述了用户需求,因此不会因规格说明文档错误而进行较大返工
(2)开发人员通过建立原型系统已经学到了许多东西,因此设计和编码阶段发生错误的可能性较小,自然减少了后续阶段要改正前面阶段所犯错误的可能性。
增量模型P17
把软件产品作为一系列的增量构件来设计、编码、集成和测试,逐步向用户提交产品。 优点:能在较短时间内向用户提交可完成工作的产品,是增量模型的一个优点。另一个优点是,逐步增加产品功能可以使用户有较充裕的时间学习和适应新产品,从而减少一个全新的软件可能给客户组织带来的冲击。
困难:把每个新的增量构件集成到现有软件体系结构中时,必须不破坏原来已经开发出的产品。此外必须把软件体系结构设计的便与按这种方式进行扩充,向现有产品中加入新构件的过程必须简单、方便,也就是说,软件体系结构必须是开放的。
螺旋模型P19
基本思想:使用原型及其他方法来降低风险。 优势:风险驱动
喷泉模型 p21
喷泉这个词体现了面向对象软件开发过程迭代和无缝的特性。各个开发步骤的多次反复迭代,每次迭代会增加或者明确一些目标系统的性质,但却不是对先前工作结果的本质性改动,这样就减少了不一致性,降低了出错的可能性,是一种典型的面向对象的软件过程模型之一。
Rational统一过程 迭代式开发
把软件开发过程看作一个风险管理过程,迭代式开发通过采用可验证的方法来减少风险。每个迭代过程以完成可执行版本结束,这不仅使用户可以不断地介入和提出反馈意见,而且开发人员也因随时有一个可交付的版本而提高了士气。
注意小结的总结!!! 第二章
1、可行性研究的目的:用最小的代价在尽可能短的时间内确定问题是否能够解决。
2、可行性分析的方面:至少是技术可行性、经济可行性、操作可行性,必要时还有从法律和社会效益方面的研究。
可行性研究的成本只是预期的工程总成本的5%~10%。 3、可行性研究的步骤: (1)复查系统规模和目标
(2)研究目前正在使用的系统 (3)导出新系统的高层逻辑模型 (4)进一步定义问题
(5)导出和评价供选择的解法 (6)推荐行动方针 (7)草拟开发计划
(8)书写文档提交审查
4、系统流程图
系统流程图是概括地描绘物理系统的传统工具。它的基本思想是用图形符号以黑盒子形式描绘组成系统的每个部件(程序、文档、数据库、人工过程)。
5、数据流图的定义(DFD)P40:是一种图形化技术,描绘信息流和数据从输入移动到输出过程中所经受的变换。无具体物理部件,只是描绘数据在软件中流动和被处理的逻辑过程。在设计时值考虑系统必须完成的基本逻辑功能,完全不考虑具体怎么样实现。描绘数据流向,而不应该描绘出现某个数据流的条件。 6、数据流图的符号P41:
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说教育文库软件工程复习资料精简版在线全文阅读。
相关推荐: