软件工程答案.doc

上传人:hs****ma 文档编号:542802090 上传时间:2023-07-18 格式:DOC 页数:6 大小:46.50KB
返回 下载 相关 举报
软件工程答案.doc_第1页
第1页 / 共6页
软件工程答案.doc_第2页
第2页 / 共6页
软件工程答案.doc_第3页
第3页 / 共6页
软件工程答案.doc_第4页
第4页 / 共6页
软件工程答案.doc_第5页
第5页 / 共6页
点击查看更多>>
资源描述

《软件工程答案.doc》由会员分享,可在线阅读,更多相关《软件工程答案.doc(6页珍藏版)》请在金锄头文库上搜索。

1、第一部分 概述 1什么是软件工程?软件危机的主要表现有哪些?2 什么是软件危机?软件危机的内在原因是什么?3 软件工程需要解决的问题有哪些?(面临的问题)4 软件生产经历了那些阶段5 什么是软件过程过程?6 什么是软件生存周期?什么生命周期模型?7 软件生存期一般包括哪些阶段?8 罗列你知道的软件生存期模型?9 可行性研究的任务是什么?主要有哪些方面的可行性研究?10 可行性研究的具体步骤?11 可行性研究报告的主要内容?参考答案:1、 软件工程是用科学知识和技术原理来定义、开发、维护软件的一门综合性的交叉学科。研究的主要内容是软件开发技术和软件开发管理两个方面。开发技术主要研究软件开发方法、

2、软件开发过程、软件开发工具和环境。软件开发管理主要研究软件管理学、软件经济学、软件心理学等。软件过程是一种自顶向下分阶段的软件程序开发方法。2、 软件开发中遇到问题,找不到解决的办法时,问题积累起来,形成了尖锐的矛盾,导致了软件危机。主要表现:软件需求增长得不到满足;软件生产成本高,价格安规;软件生产进度无法控制;软件需求定义不准确,容易偏离用户需求;软件质量不容保证;软件维护性差。归纳起来:无法满足日益增长的对软件的需求;难以满足对已有软件系统的维护需要。内在原因:软件生产本身存在复杂性;与软件开发使用的方法和技术有关。3、 软件费用、软件可靠性、软件可维护性、软件生产率、软件重用。4、 程

3、序设计、程序系统、软件工程三个阶段。5、 规定了获取、供应、开发、操作和维护软件时要实施的过程、获得和任务。包含以下7个过程:获取过程、供应过程、开发过程、操作过程、维护过程、管理过程和支持过程。6、 指一个软件从提出开发要求开始直到软件报废为止的整个时期。把整个生命周期划分为若干阶段,是每个阶段有明确的任务,使规模大、结构复杂和管理复杂的软件开发变得容易控制和管理。生存周期模型是描述软件开发过程中各种活动如何执行的模型。模型确立了软件开发和演绎中各阶段的次序限制以及各阶段活动准则,确立了各阶段所遵守的规定和限制,便于各种活动的协调,便于人员的有效通信、利于活动重用,利于活动管理。7、 可行性

4、分析和开发计划,需求分析,概要设计,详细设计,编码,测试,维护等。8、 瀑布模型,增量模型,螺旋模型,喷泉模型,变换模型,基于知识模型等。增量模型有渐增模型(增量构造模型,演化提交模型)和原型模型(探索性、实验性、演化性等)。9、 初步确定项目的规模和目标,确定项目的约束和限制,并把他们明确的列举出来。从逻辑模型出发,经过压缩设计,探索出若干种可供选择的主要解决办法。对每一种解决方法都研究它的可行性。主要有技术可行性、经济可行性、社会可行性。10、 确定项目的规模和目标;研究正在运行的系统;建立新系统的高层逻辑模型;导出和评价各种方案;推荐可行的方案;编写可行性研究报告。11、 引言;可行性研

5、究的前提;对现有系统的分析;所建议系统的技术可行性;所建议系统的经济可行性;社会因素可行性分析;其他可供选择的方案;结论意见。第二部分 软件需求分析与概念模型1 什么是需求分析?2 需求分析的基本原则?3 需求分析的基本任务?4 结构化分析方法的步骤?5 什么是数据流图?包含哪些元素?什么是数据字典?6 描述加工逻辑的主要工具有哪些?7 参考答案1 是指开发人员要进行细致的调查分析,准确理解用户的要求。“做什么的问题”。2 (1)可以把一个复杂的问题按照功能进行分解和逐层细化;(2)必须能够表达和理解问题的数据域和功能域,数据域包括数据流、数据内容和数据结构,功能域反映数据流、数据内容和数据结

6、构三个方面的控制信息;(3)建立模型,包括信息、功能和行为。3 问题的明确定义;导出软件按的逻辑模型;编写文档。4 结构化分析、结构化设计、结构化程序设计三个部分。(1)建立现行系统的物理模型;(2)抽象现行系统的逻辑模型;(3)建立目标系统的逻辑模型;(4)进一步补充和优化。5 是结构化分析的基本工具,描述系统的分解,各部分的联系等。由数据流、加工、数据存储、数据源点、数据终点四个基本部分组成。是数据信息的集合,是对数据流图中包含的所有元素的定义的集合,有4类基本条目:数据流、数据项、数据存储和基本加工。6 结构化语言、判定表和判定树。第三部分 总体设计1 软件总体设计的基本任务?2 软件设

7、计的基本原理?3 什么是软件结构图?其形态有什么特征?4 软件结构设计的优化准则有哪些?5 面向数据流的设计方法设计总体设计的基本方法?6 数据流的类型有哪些?结构化设计的过程是怎样的?参考答案1 总体设计是概要回答系统应该如何实现,基本任务有:(1)软件系统的结构设计;(2)数据结构及数据库设计;(3)网络系统设计;(4)软件总体设计文档;(5)评审。2 抽象;细化;模块化;信息隐蔽;模块独立性3 软件结构图是软件系统的模块层次结构,反映了整个系统的功能实现。结构图主要内容有:模块、模块的控制关系;模块间的信息传递。形态主要特征:深度;宽度;扇出;扇入。4 软件结构设计优化准则:模块独立性准

8、则;控制与作用范围之间的准则;结构特征准则;模块的接口准则。5 结构化设计,数据流按照一定步骤映射成软件结构图。6 变换型数据流,事务性数据流。第四部分 软件的细节设计1 详细设计的基本任务有哪些?2 结构化程序设计的基本要点?3 详细设计的描述工具有哪些?参考答案1 详细设计的基本任务包括7个方面: 数据结构设计; 物理设计; 算法设计; 界面设计; 其他设计; 编写设计说明书 引言(包括编写目的、背景、定义、参考文献) 程序系统组织结构 程序1n设计说明(功能、性能、输入输出、算法、流程逻辑、接口等) 评审。2 结构化程序设计的基本要点: (1)自顶向下,逐步求精; (2)使用顺序、选择、

9、循环三种基本结构构造程序。3 通常三种工具:图形、表格和语言。程序流程图、PAD图、PDL语言第五部分 软件实现1 编码阶段任务有哪些?2 程序设计语言的哪些特征?3 程序设计语言如何选择?4 程序设计的风格?(注释、变量数据取名、语句的简单、格式的缩进、输入输出的格式化)参考答案1 编码就是在前一阶段详细设计的基础上,用一种程序设计语言来讲设计转换为程序,得到的结果就是源程序代码。包括语言的选择、程序设计风格确定等。2 语言的心理特征对通信质量有主要的影响,语言的工程特征对软件开发成功与否有重要影响,软件的技术特征也会影响软件设计的质量。(1)心理特征:是指影响程序员心理的语言性能,因为程序

10、最终靠人来实现,因此人的因素对程序的实现质量会产生很大影响。语言的心理特点主要表现在编码时对人的影响,包括对程序的理解等,如歧义性、简洁性、局部性和顺序性、传统性等。(2)工程特性。从软件过程的观点,程序语言的特性着重考虑软件开发项目的需要。可移植性、开发工具的可利用性;软件的可重用性;可维护性等。(3)技术特性。对软件工程的各个阶段有一定的影响,特别是确定了软件需求之后,程序设计语言的特性就显得非常重要,要根据项目特性选择相应的语言,有的要求提供复杂的数据结构、有的要求实时处理能力强,有的要求能方便进行数据库操作等。软件设计阶段的实际质量一般与语言的技术特性无关(面向对象的例外),但转化成程

11、序代码时,转化的质量往往会受语言性能的影响。语言的特性对软件的测试与维护也有一定的影响。3 为开发一个特定的项目选择程序设计语言时,必须从技术特性、工程特性和心理特性几个方面考虑。选择语言时,要从问题的需求入手,确定它要求是什么,以及这些要求相对重要性,针对这些要求,需要说明特性的程序设计语言来实现。由于一种语言不可能同时满足其所有要求,所以要对各种需求进行权衡,比较各种可用语言的适应程度,最后选择认为最适宜的语言。选择时,可以从以下几个方面考虑:(1)项目的应用领域:科学计算(Fortran,Pascal,C,C+);实时处理(汇编、Ada);数据处理与数据库(SQL等);系统软件(汇编、C

12、、Pascal、Ada等);人工智能(Lisp,Prolog等)。(2)软件开发方法。面向对象的VS结构化的;原型开发的?。(3)软件开发环境。可视化的集成环境,调试工具,都能帮助形成高质量的软件。(4)算法和数据结构的复杂性。(5)软件开发人员的知识。4 首先明确程序时为了实现特定功能的代码,但现在观点是程序的主要目的是给其他人阅读,所需要良好的程序书写风格解决程序的阅读问题。良好的编码风格有以下几个方面:(1)源程序的文档化(标识符尽量有实际意义;程序应加注释)。(2)数据说明(数据说明顺序规范(如按照常量类型说明全程量局部量),将同一类型的数据写在同一段落中;当一个句子有多个变量说明时,

13、按照变量名的字典顺序排列,便于查找;对于复杂的由特殊用途的数据结构,要加注释,说明程序中的作业和实现时的特点。(3)语句构造。(简单直接,使用规范语言,减少歧义;不要一行多个语句,造成阅读上困难;不同层次采用缩进形式,使逻辑结构和功能特征清晰;避免复杂、嵌套的判定条件,避免多重循环嵌套(不要超过3层)。(4)输入输出。(输入操作步骤和格式尽量简单,提示信息明确,易于理解;输入一批数据时,尽量使用计数器控制数据的输入进度,应使用文件结束标志;应对输入数据的合法性、有效性检查,并报告必要的信息;交互时,提供明确可用的信息。(5)效率。效率是性能要求;最求效率应该建立在不损害程序可读性、可靠性的基础

14、上;选择良好的设计方法才是提高程序效率的根本路径,设计良好的数据结构与算法,都是提高程序效率的重要方法。第六部分 软件测试与维护1 测试目的是什么?2 软件测试原则有哪些?3 软件测试方法有哪些?4 黑盒技术的测试用例设计有哪些方法?5 白盒技术测试用例设计的主要方法有哪些?6 维护主要内容?7 维护的主要困难有哪些?怎样实施维护?8 可维护性怎么度量?提高可维护性的方法?参考答案1 为发现错误而执行程序的过程。这里确定了立脚点,是站在发现错误的角度,所以定义什么是好的测试,好的测试用例,好的测试计划等都是指能发现错误的执行程序观点。测试的基本任务是根据软件开发各个阶段的文档资料、程序的内部结构,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 社会民生

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号