软件工程复习题库:软件危机、软件工程方法和软件生命周期

需积分: 0 5 下载量 197 浏览量 更新于2024-08-04 2 收藏 22KB MD 举报
面向对象软件工程复习题库 软件工程是计算机系统中与硬件相互依存的另一部分,它是包括程序、数据及其相关文档的完整集合。软件危机是指在计算机软件开发与维护过程中所遇到的一系列严重的问题,包括如何开发软件,以满足软件日益增长的需求和如何维护数量不断膨胀的已有软件。 软件危机的原因是软件开发和维护中存在许多的严重问题,一方面和软件本身的特点有关,另一方面也和软件开发与维护的方法不正确有关。具体表现为软件是逻辑部件而不是物理部件,软件的规模越来越大,复杂性越来越大,轻视需求分析的重要性,轻视软件维护的错误观点和方法。 软件工程是采用工程的概念、原理、技术、方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来。软件工程方法学有两种:传统方法学和面向对象方法学。面向对象方法学有瀑布模型、原型模型、增量模型、螺旋模型等。 软件过程模型分为五大类:管理过程模型、瀑布模型、增量过程模型、烟花过程模型和专用过程模型。软件生命周期是一个软件从定义、开发、使用和维护,直至被废弃,要经历一个漫长的时期。软件生命周期有三个阶段:定义、开发、维护八个步骤:问题定义、可行性研究、需求分析;总体设计、详细设计、编码与单元测试、综合测试、运行维护。 软件设计有两个阶段:总体设计阶段和详细设计阶段。总体设计阶段包括系统设计和结构设计。系统设计是划分出组成系统的程序、文件、数据库、人工过程和文档等物理元素,而结构设计是确定系统中每个程序是由哪些模块组成的,以及这些模块相互间的关系,不涉及模块内部算法流程。 软件和硬件的区别在于软件是一种逻辑部件,而不是具体的物理部件。软件在开发、生产、使用、维护等方面与硬件相比有明显差异。软件是开放式的、可修改的和可扩展的,而硬件是封闭式的、不可修改的和不可扩展的。 软件工程是一门重要的学科,它涉及到软件的设计、开发、测试、维护等方面。软件工程可以帮助软件开发者更好地设计、开发和维护软件,提高软件的质量和效率,减少软件的开发成本和时间。