1. 什么是软件危机?有哪些主要表现? 其产生的原因是什么?解决措施?
软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。
软件危机的表现是:
①开发成本和进度的估计常常不是很准确;
②用户对软件产品不满意;
③软件质量不可靠;
④软件常常是不可维护的;
⑤软件没有适当的文档资料。
出现软件危机的原因:
①从事软件开发的人员对这个产业认识不充分、缺乏经验;
②缺乏统一的、标准化的开发过程设计,缺乏规范化的方法论进行指导;
③忽视软件开发前期的需求分析;
④文档资料不齐全、不准确;
⑤忽视测试的重要性;
⑥没有完善的质量保证体系;
⑦开发团队内部交流不顺畅、不充分;
⑧不重视维护,或由于以上原因造成维护工作的困难。
解决措施:①对软件有正确认识;②对软件开发规范化。
2.什么是软件工程?有哪些特性? 其基本原理是什么?
概括地说,软件工程是指导计算机软件开发和维护的一门工程学科。采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,以经济地开发出高质量的软件并有效地维护它,这就是软件工程。
软件工程的本质特性:
① 分析设计:软件工程关注大型程序的构造
② 分解:软件工程的中心课题是控制复杂性
③ 准确的需求:软件经常变化
④ 经验技巧:开发软件的效率非常重要
⑤ 团队精神:和谐合作是开发软件的关键
⑥ 软件目的:软件必须有效的支持他的用户
⑦ 应用领域:一种文化背景的人替另一种文化背景的人创造商品
软件工程的基本原则:
① 用分阶段的生命周期计划严格管理;
② 坚持进行阶段评审;
③ 实行严格的产品控制;
④ 采用现代程序设计技术;
⑤ 结果应能够清楚地审查;
⑥ 开发小组的人员应小而精;
⑦ 承认不断改进软件工程实践的必要性。
3.传统方法学和面向对象方法学的要点及优缺点。
通常把在软件生命周期全过程中使用的一整套技术方法的集合称为方法学,也称范型。
软件工程方法学构成的三要素:方法、工具、过程。方法是完成软件开发的各项任务的技术方法,为软件开发提供“如何做”的技术。工具为运用方法而提供的自动的或半自动的软件工程的支撑环境。过程是为了获得高质量的软件所需要完成的一系列任务的框架,它规定了完成各项任务的工作步骤,如何将软件工程方法与软件工具相结合,合理、及时地进行软件开发。
目前使用得最广泛的软件工程方法学,分别是传统方法学和面向对象方法学。
4.什么是软件生命周期?分哪几个阶段?每个阶段的任务?
一个软件产品或软件系统要经历一个包含孕育、诞生、成长、成熟、衰亡等阶段的生存过程,称为软件生命周期。
软件的三个阶段及工作:
①软件定义期:问题定义、可行性分析、制定项目计划、需求分析;
②软件开发期:总体设计、详细设计、编码和单元测试、综合测试;
③软件维护期:软件运行、软件维护(完善性维护、适应性维护、改正性维护、预防性维护)。
5.什么是软件过程?与软件工程方法学有何关系?
概括地说,软件工程是指导计算机软件开发和维护的一门工程学科。采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,以经济地开发出高质量的软件并有效地维护它,这就是软件工程。
软件工程包括技术和管理两方面的内容,是技术与管理紧密结合所形成的工程学科。所谓管理就是通过计划、组织和控制等一系列活动,合理地配置和使用各种资源,以达到既定目标的过程。通常把在软件生命周期全过程中使用的一整套技术方法的集合称为方法学,也称范型。
6. 什么是软件生命周期模型?比较各种模型的优缺点。
软件生命周期模型也称软件开发过程模型,是为了解决产业环境中的实际问题,而提出的开发策略,是反映整个软件生命期中,系统开发、运行、维护等实施活动的一种结构框架。软件生命周期模型规定了把生命周期划分成哪些阶段及各个阶段的执行顺序,也叫过程模型。典型的过程模型有:①瀑布模型;②快速原型模型;③增量模型;④螺旋模型;⑤喷泉模型。