软件工程简答1.什么是软件危机软件危机的表现是什么?软件危机产生的原因是什么?软件危机是指软件在开发和维护过程遇到的一系统严重问题,主要包含二方面的问题,一是如何开发软件,二是如何维护软件.软件危机表现:对软件开发成本和进度的估计常常很不准确。用户对已完成的软件不满意的现象时有发生。软件产品的质量往往是靠不住的。软件常常是不可维护的。软件成本在计算机系统总成本中所占比例逐年上升。软件开发生产率提高的速度远跟不上日益增长的软件需求。造成软件危机的原因:软件的规模越来越大,结构越来越复杂。(2)软件开发管理困难而复杂。(3)软件开发费用不断增加。(4)软件开发技术落后。(5)生产方式落后。6)开发工具落后,生产率提高缓慢。2.什么是软件的生存周期?包括哪几个部分?答:个软件从定义到开发、使用和维护,直到最终被废弃,要经历一个漫长的时期,通常把软件经历的这个漫长的时期称为生存周期。软件生存周期就是从提出软件产品开始,直到该软件产品被淘汰的全过程。它包括制定计划、需求分析、软件设计、程序编写、软件测试、运行维护等。3.什么是软件生命周期模型?有哪些主要模型?生存周期模型:描述软件开发过程中各种活动如何执行的模型。对软件开发提供强有力的支持,为开发过程中的活动提供统一的政策保证,为参与开发的人员提供帮助和指导,是软件生存周期模型化技术的基础,也是建立软件开发环境的核心。主要有:瀑布模型,增量模型,螺旋模型,喷泉模型,基于知识的模型,变换模型。4.软件生命周期如何划分?答:可将软件生存周期划分为3个过程共9个阶段。软件定义过程:由可行性研究和需求分析2个阶段组成;软件开发过程:由概要设计、详细设计、实现、组装测试、验收测试5个阶段组成;软件使用与维护过程:由使用与维护和退役2个阶段组成。5.软件生命期各阶段的任务是什么?答:软件生命期分为7个阶段:1、问题定义:要解决的问题是什么2、可行性研究:确定问题是否值得解,技术可行性、经济可行性、操作可行性3、需求分析:系统必须做什么4、总体设计:系统如何实现,包括系统设计和结构设计5、详细设计:具体实现设计的系统6、实现:编码和测试7、运行维护:保证软件正常运行。6.什么软件?软件按功能进行划分,可以划分成哪几类?按工作方式进行分类,可以划分成哪几类?答:软件是由计算机程序、程序使用的数据以及说明的各种文档组成。按功能进行划分可以分为:系统软件、支撑软件、应用软件;按软件工作方式进行分类可以分为:实时处理软件、分时处理软件、交互式软件和批处理软件。7.软件生产有几个阶段?各有何特征?⑴程序设计时代:这个阶段生产方式是个体劳动,使用的生产工具是机器语言,汇编语言。⑵程序系统时代:这个阶段生产方式是小集团合作生产,使用的生产工具是高级语言,开发方法仍依靠个人技巧,但开始提出结构化方法。⑶软件工程时代:这个阶段生产方式是工程化的生产,使用数据库﹑开发工具﹑开发环境﹑网络﹑分布式﹑面向对象技术来开发软件。8.什么是软件工程?它目标和内容是什么?软件工程:就是用科学的知识工程和技术原理来定义,开发,维护软件的一门学科。软件工程的目标:付出较低开发成本;达到要求的功能;取得较好的性能;开发的软件易于移植;只需较低的维护费用;能按时完成开发任务,及时交付使用;开发的软件可靠性高。软件工程的内容:研究内容包括开发技术和开发管理两个方面。开发技术主要研究:软件开发方法,开发过程,开发工具和环境。开发管理主要研究:软件管理学,软件经济学,软件心理学。9.软件工程的7条基本原理?7条原则是什么?答:1)用分阶段的生存周期计划严格管理2)坚持进行阶段评审3)实行严格的产品控制4)采用现代程序设计技术5)结果应能清楚地审查6)开发小组的人员应少而精7)承认不断改进软件工程实践的必要性1.抽象。2.信息隐藏。3.模块化。4.局部化。5.一致性。6.完全性。7.可验证性。10.瀑布模型的特点、优点及缺点?特点:各个阶段的顺序性和依赖性;推迟程序的物理实现;质量保证。优点:可强迫开发人员采用规范的方法(例如,结构化技术);严格地...