作者:嘉娜杰_877 | 来源:互联网 | 2023-07-16 13:18
文章目录
- 一:选择题
- 二:填空题
- 三:名词解释
- (1)必考
- (2)了解
- 四:简答题
- (1)必考
- 1.关于软件危机
- 2.关于软件工程
- 3. 关于软件生命周期
- 4.关于软件过程
- 5.典型软件生命周期模型优缺点及适用范围
- (2)了解
- 五:应用题/画图题
一:选择题
二:填空题
软件发展的三个阶段
- 程序设计阶段(50~60年代)
- 程序系统阶段(60~70年代)
- 软件工程阶段(70年代以后)
软件包括的三个部分
- 数据:是使程序能够适当处理信息的数据结构
- 程序:是能够完成预定功能和性能的可执行指令序列
- 文档:是开发、使用和维护过程中程序所需要的图文资料
软件过程方法学的三个部分
- 方法:完成软件开发各项任务的技术方法,回答“怎么做”的问题
- 工具:为运用方法提供的自动或半自动软件工程支撑环境
- 过程:是为了获得高质量软件所需要完成的一系列任务框架,回答“何时做”的问题
瀑布模型阶段间具有顺序性和依懒性,遵从推迟实现和质量保证的观点
三:名词解释
(1)必考
- 软件危机:在计算机软件开发和维护过程中所遇到的一系列严重问题。主要包含两个方面:如何开发软件,以满足日益增长的软件需求;如何维护数量不断膨胀的已有软件
- -软件工程:采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,经济的开发出高质量的软件并维护它
- 软件过程:是为了获得高质量软件所需要完成的一系列任务框架,它规定了完成任务的工作步骤。通常用软件生命周期模型来描述软件过程
(2)了解
- 软件:是计算机系统中与硬件相互依存的另一部分,包括程序、数据及其相关文档的完整集合
- 软件工程方法学:把在软件生命周期全过程中使用的一整套技术方法的集合称之为方法学,也称为范型
四:简答题
(1)必考
1.关于软件危机
★★★
【答案】
软件危机的定义:软件危机是在计算机开发和维护过程中所遇到的一系列的严重问题,主要包含两个方面
- 如何开发软件,以满足日益增长的软件需求
- 如何维护软件数量不断膨胀的已有软件
软件危机的表现:
- 对软件开发成本和进度的估算不准确
- 用户对软件不满意
- 软件质量不可靠
- 软件不可维护
- 没有合适的文档资料
- 软件成本在计算机系统中的成本逐年上升
- 软件开发生产率低
软件危机的原因
①:主观方面
- 忽视需求分析
- 轻视软件维护
- 没有认识到程序只是软件的一部分
- 没有认识到开发只是软件漫长生命周期中一个比较次要的阶段
- 越到后期引入变动代价会越高
②:客观方面
- 软件是逻辑实体,具有不可见性,管理控制很困难
- 软件不会磨碎,维护意味着需要原来的设计,维护困难
- 软件规模庞大,程序的复杂性会随着软件规模增加而增加
如何解决
- 对计算机软件应该有正确的认识
- 要吸取和借鉴人类长期从事各种工程项目积累的原理、概念、技术和方法
- 积极开发和使用计算机辅助开发软件
- 探索更好更有效的管理措施和手段对开发过程进行控制和管理
2.关于软件工程
【答案】
软件工程定义:采用工程的概念、技术、原理和方法,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,经济的开发出高质量的软件并维护它
软件工程的特征
软件工程的原理
3. 关于软件生命周期
软件生命周期阶段如何划分?
4.关于软件过程
【答案】
软件过程的定义:是为了获得高质量软件所需要完成的一系列任务框架,它规定了完成任务的工作步骤,通常用软件生命周期模型来描述软件过程
软件工程方法学:把在软件生命周期全过程中所使用的一整套技术方法的集合称之为软件工程方法学。包含三个要素
- 方法:完成软件开发各项任务的技术方法
- 工具:为了运用方法提高的自动或半自动软件工程支撑环境
- 过程:是为了获得高质量软件所需要完成的一系列任务框架
因此软件过程是软件工程方法学的重要组成部分
5.典型软件生命周期模型优缺点及适用范围
①瀑布模型
优点:
- 强迫开发人员使用规范的方法
- 严格规定了每个阶段提交的文档
- 要求每个阶段交出的产品都必须经过质量保证小组的验证
- 对文档的约束,使得软件维护变得容易一些,且能降低软件预算
缺点
- 在软件开发初期就要求做出正确的,全面的,完整的需求分析对多数应用软件来说是很困难的
- 在需求分析阶段,在需求确定后,无法及时验证需求是否正确,完整
- 作为整体开发的瀑布模型,由于不支持产品演化,缺乏灵活性,对开发过程中很难发现的错误,只有在产品最终运行时才能发现
适用范围
- 用户的需求非常清晰全面,且在开发过程中没有或很少有变化
- 开发人员对软件的应用领域很熟悉
- 用户的使用环境非常稳定
- 开发工作对用户的参与要求很低
②快速原型模型
优点:
缺点
- 准确原型设计困难
- 原型理解可能不同
- 不利于开发人员创新
适用范围
- 对所开发的领域比较熟悉且与快速的原型开发工具
- 项目招投标时,可以以原型模型作为软件的开发模型
- 进行产品移植或升级时,或对已有产品原型进行客户化工作时
③:增量模型
优点
- 短时间内可提交部分功能
- 逐渐增加产品功能,用户适应产品快
缺点
④:喷泉模型
优点
- 利于把软件质量作为软件的开发目标
- 减少测试
- 维护和开发不分开
缺点
(2)了解
什么是软件?软件的特点是什么?
【答案】
在软件开发的不同阶段进行修改所付出的代价是不相同的。在早期引入变动,由于设计的面较少,因而代价也比较低;在开发的中后期,软件配置相关工作已经完成,引入一个变动时常常会引起所有与之有关的成分发生变化,所以代价较高。一个人编码错误是不可避免的,但是修改的成本是很小的,因为这不是整体架构的错误,只要不断进行阶段评审,不要让错误留到后期,在早期就尽可能解决
【答案】
结构化范型
- 采用结构化技术完成软件开发的各项任务
- 把软件生命周期划分不同阶段
- 每个阶段开始和结束都有严格标准
- 每个阶段结束后要有严格审查
面向对象范型
- 把对象作为融合了数据及在数据上的操作行为的统一软件构件
- 把所有对象划分为类
- 按照父类与子类的关系,把若干类组成层次结构的系统
- 对象彼此间仅通过消息互相联系
【答案】
因为使用面向对象方法学开发软件时,各个阶段都使用统一的概念和表示符号, 因此,整个开发过程都是吻合一致的,或者说是无缝连接的,这自然就很容易实现各个开发步骤的反复多次迭代,达到认识的逐步深化,而喷泉模型则很好的体现了面向对象软件开发过程迭代和无缝的特性
【答案】
优点:提高了团队生产力,在迭代的开发过程、需求管理、基于组建的体系结构、可视化软件建模、验证软件质量及控制软件变更等方面、针对所有关键的开发活动为每个开发成员提供了必要的准则、模版和工具指导,并确保全体成员共享相同的知识基础。它建立了简洁和清晰的过程结构,为开发过程提供较大的通用性
缺点:缺点: RUP只是一个开发过程,并没有涵盖软件过程的全部内容,例如它缺少关于软件运行和支持等方面的内容,此外,他没有支持多项目的开发结构,这在一定程度上降低了在开发组织内大范围实现重用的可能性
【答案】大型的需求不断变化的复杂软件系统项目
【答案】适用于商业竞争环境下对小型项目提出的有限资源和有限开发时间的约束
【答案】适用于商业环境下具有有限资源和有限开发时间约束的项目的软件过程模式
五:应用题/画图题