软件工程简答

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

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.瀑布模型的特点、优点及缺点?

特点:各个阶段的顺序性和依赖性;

推迟程序的物理实现;

质量保证。

优点:可强迫开发人员采用规范的方法(例如,结构化技术);

严格地规定了每个阶段必须提交的文档;

要求每个阶段交出的所有产品都必须经过质量保证小组的仔细验证。

缺点:无法解决软件需求不明确或不准确的问题;可能导致最终开发的产品不能真正满足用户需要。

瀑布模型比较适合开发需求明确的软件。

12.螺旋模型的优点及缺点?

优点:强调可选方案和约束条件,有利于已有软件的重用,也有助于把软件质量作为软件开发的一个重要目标;

减少了过多测试(浪费资金)或测试不足(产品故障多)所带来的风险;

维护是一个周期,与开发并没有本质区别

缺点:需要开发人员具有相当丰富的风险评估经验和专门知识;

进行风险分析的费用可能较大。

适合大型软件开发

13.可行性研究报告过程的步骤有哪些?

复查系统规模和目标2)研究目前正在使用的系统3)导出新系统的高层逻辑模

型4)进一步定义问题5)导出和评价供选择的解法6)推荐行动方针7)草拟开发计划8)书写文档提交审查

14.可行性研究报告的主要内容有哪些?

引言2)可行性研究前提3)对现有系统的分析4)所建议系统的技术可行性分析5)所建议系统的经济可行性分析6)社会因素可行性分析7)其他可供选择方案8)结论意见

15.什么是数据流图?其作用是什么?

数据流图(DFD):以图形的方式描述数据在系统中流动和处理的逻辑过程。只反映系统必须完成的逻辑功能,是一种功能模型。

16.什么是数据字典简述数据字典与数据流图的关系

答案:数据字典是关于数据的信息的集合,对数据流程图中的各个元素做完整的定义与说明,是数据流程图的补充工具. 数据字典有以下四类条目:数据流,数据项,数据存储,基本加工。数据流图和数据字典共同构成系统的逻辑模型,没有数据字典数据流图就不严格,然而没有数据流图数据字典也难于发挥作用. 数据流图和对数据流图中每个元素的精确定义放在一起,才能共同构成系统的规格说明.

17.需求分析工作可以分成哪四个方面?软件需求分析的有哪三个基本原则?答:需求分析阶段分成四个方面:对问题的识别、分析与综合、制定规格说明和评审。三个基本原则:必须能够表达和理解问题的数据域和功能域;必须按自顶向下、逐步分解的方式对问题进行分解和不断细化;要给出系统的逻辑视图和物理视图。

18.需求分析的三个层次包括那些主要内容。

软件需求包括三个不同的层次—业务需求、用户需求和功能需求—也包括非功能需求。

业务需求反映了组织机构或客户对系统、产品高层次的目标要求。

用户需求文档描述了用户使用产品必须要完成的任务。

功能需求定义了开发人员必须实现的软件功能,使得用户能完成他们的任务,从而满足了业务需求。

19.需求分析方法应遵循的基本原则?

答:1.必须能够表达和理解问题的数据域和功能域。2.可以把一个复杂的问题按功能进行分解并可逐层细化。3.建模

20.需求分析的主要方法是什么?用这种方法进行需求分析的主要步骤有哪些?

答:需求分析的方法有面向数据流的分析方法、面向数据结构的分析方法、面向对象分析方法和动态分析方法等,主要采用面向数据流的分析方法。主要步骤包括:(1)分析数据流图;(2)用户审查;(3)细化数据流图;(4)修订开发计划;(5)复审开发计划。

21.数据流图需要遵循哪些基本原则?

答:在分层细化时必须保持数据的连续性,也就是说细化前后对应功能的输入/输出数据必须相同。把一个功能进一步分解成子功能,这些子功能必须有独立的功能,否则,就不需要再分解了。

22.软件产品的特点是什么

答:①软件开发与硬件研制相比,更依赖于开发人员的业务素质、智力、人员的组织、合作和管理。

相关文档
最新文档