软件工程简答题及答案

软件工程试题整理_简答题

1、可行性研究的任务是什么?

首先需要进行概要的分析研究,初步确定项目的规模和目标,确定项目的约束和限制,把他们清楚地列举出来。然后,分析员进行简要的需求分析,抽象出该项目的逻辑结构,建立逻辑模型。从逻辑模型出发,经过压缩的设计,探索出若干种可供选择的主要解决方法,对每种解决方法都要研究它的可行性,可从以下三个方面分析研究每种解决方法的可行性。㈠技术可行性:对要开发项目的功能、性能、限制条件进行分析,确定在现有的资源条件下,技术风险有多大,项目是否能实现。㈡经济可行性:进行开发成本的估算以及了解取得效益的评估,确定要开发的项目是否值得投资开发。㈢社会可行性:要开发的项目是否存在任何侵犯、妨碍等责任问题,要开发项目的运行方式在用户组织内是否行得通,现有管理制度、人员素质、操作方式是否可行。

2、什么是模块的影响范围?什么是模块的控制范围?他们之间应该建立什么关系?

一个模块的作用范围(或称影响范围)指受该模块内一个判定影响的所有模块的集合。一个模块的控制范围指模块本身以及其所有下属模块(直接或间接从属于它的模块)的集合。一个模块的作用范围应在其控制范围之内,且判定所在的模块应在其影响的模块在层次上尽量靠近。如果再设计过程中,发现模块作用范围不在其控制范围之内,可以用“上移判点”或“下移受判断影响的模块,将它下移到判断所在模块的控制范围内”的方法加以改进。

3、非渐增式测试与渐增式测试有什么区别?渐增式测试如何组装模块?

非渐增式测试与渐增式测试的测试方法有以下区别:㈠非渐增式测试方法把单元测试和集成测试分成两个不同的阶段,前一阶段完成模块的单元测试,后一阶段完成集成测试。而渐增式测试往往把单元测试与集成测试和在一起,同时完成。㈡非渐增式需要更多的工作量,因为每个模块都需要驱动模块和桩模块,而渐增式利用已测试过的模块作为驱动模块或桩模块,因此工作量较少。㈢渐增式可以较早的发现接口之间的错误,非渐增式最后组装是才发现。㈣渐增式有利于排错,发生错误往往和最近加进来的模块有关,而非渐增式发现接口错误推迟到最后,很难判断是哪一部分接口出错。㈤渐增式比较彻底,已测试的模块和新的模块再测试。㈥渐增式占用的时间较多,但非渐增式须更多的驱动模块、桩模块也占用一些时间。㈦非渐增式开始可并行测试所有模块,能充分利用人力,对测试大型软件很有意义。渐增式测试有以下两种不同的组装模块的方法:㈠自顶向下组合。该方法只需编写桩模块,其步骤是从顶层模块开始,沿被测程序的软件结构图的控制路径逐步向下测试,从而把各个模块都结合起来,它又有两种组合策略:①深度有先策略:先从软件结构中选择一条主控制路径,把该路径上的模块一个个结合进来进行测试,以便完成一个特定的子功能,接着再结合其它需要优先考虑的路径。②宽度有先策略:逐层结合直接下属的所有模块。㈡自低向上结合。该方法仅需编写驱动模块。其步骤为:①把底层模块组合成实现一个个特定子功能的族。②为每一个族编写一个驱动模块,以协调测试用例的输入和测试结果的输出。③对模块族进行测试。④按软件结构图依次向上扩展,用实际模块替换驱动模块,形成一个个更大的族。⑤重复②至④步,直至软件系统全部测试完毕。

4、软件质量与软件质量保证的含义是什么?

从实际应用来说,软件质量定义为:㈠与所确定的功能和性能需求的一致性。㈡与所成文的开发标准一致性。㈢与所有专业开发的软件所期望的隐含特性的一致性。软件质量保证就是向用户及社会提供满意的高质量的产品,确保软件产品从诞生到消亡为止的所有阶段的质量的活动,即确定、达到和维护需要的软件质量而进行的所有有计划、有系统的管理活动。

5、软件工程标准化的意义是什么?都有哪些软件工程标准?积极推进软件工程标准化,其道理是显而易见的。仅就一个软件开发项目来说,有许多层次,不同分工的人员相互配合,在开发项目的各个部分以及各开发阶段之间也都存在许多联系和衔接问题。如何把这些错综复杂的关系协调好,需要有一系列统一的约束和规定。在软件开发项目取得阶段成果或最后完成是时,需要进行阶段评价和验收测试。投入运行的软件,其维护工作中遇到问题又与开发工作者有着密切的关系。软件的管理工作则渗透到软件生存期的每一个环节。所有这些都要要求提供统一的行动规范和衡量准则,使得各种工作都有章可循。软件工程的标准主要有以下三个:㈠FIPS135是美国国家标准局发布的《软件文档管理指南》㈡NSAC ——39是美国核子安全分析中心发布的《安全参数显示系统的验证与确认》。㈢ISO5807是国际标准化组织公布(现已成为中国的国家标准)的《信息处理—数据流程图、程序流程图、程序网络图和系统资源图的文件编制符号及约定》。

5、需求分析阶段的基本任务是什么?

需求分析阶段的基本任务是要准确的定义新系统的目标,为了满足用户需要,回答系统必须“做什么”的问题。本阶段要进行以下几方面的工作:㈠问题识别。双方确定对问题的综合需求,这些需求包括:功能需求、性能需求、环境需求、用户界面需求,另外还有可靠性、安全性、保密性、可移植性、可维护性等方面的需求。㈡分析与综合,导出软件的逻辑模型。分析人员对获取的需求,进行一致性的分析检查,在分析、综合中逐步细化软件功能,划分成各个子功能。这里也包括对数据域进行分解,并分配到各个子功能上,以确定系统的构成及主要成份,并用图文结合的形式,建立起新系统的逻辑模型。㈢编写文档。编写“需求规格说明书”、编写初步用户使用手册、编写确认测试计划、修改完善软件开发计划。

7、说明动态建模的过程。

㈠准备脚本。

动态分析从寻找事件开始,然后确定各对象的可能事件的顺序。在分析阶段不考虑算法的执行,算法是实现模型的一部分。

㈡确定事件。

确定所有外部事件。事件包括所有来自或发往用户的信息、外部设备的信号、输入、转换和动作。

㈢准备事件跟踪表。

把脚本表示成一个事件跟踪表,对象为表中的列,给每一个对象分配一个独立的列。

㈣构造状态图。

对各对象类建立状态图,反映对象接收和发送的事件,每个事件跟踪都对应于状态图中一条路径。

8、软件生产经历了几个阶段?各有何特征?

软件生产至今已经历了三个阶段:㈠程序设计时代(1946-1956):这个阶段的生产方式是个体手工劳动,使用的工具实际其语言、汇编语言。开发方法是追求编程技巧,追求程序运行效率。硬件特征是价格贵、存储容量小,运行可靠性差。软件特征是只有程序、程序设计概念,不重视程序设计方法。㈡程序系统时代(1956-1968):这个阶段的生产方式是作坊式的小集团合作生产,生产工具是高级语言,开发方法仍就靠个人技巧,但开始提出结构化方法。硬件特征是速度、容量、工作可靠性有明显提高。软件特征是程序员数量猛增,但开发技术没有新的突破,开发人员的素质和落后的开发技术不适应规模大、结构复杂的软件开发,导致软件危机的产生。㈢软件工程时代(1968至今):这个阶段的生产方式是工程化的生产,使用数据库、开发工具、开发环境、网络、分布式、面向对象技术来开发软件。硬件特征是向超高速、大容量、微型化以及网络化方向发展。软件特征是开发技术有很大进步,但是未能获得突破性进展,软件价格不断上升,没有完全摆脱软件危机。

5、简述Gantt图的功能及不足。

Gantt图常用水平线段来描述把任务分解成子任务,以及每个子任务的进度安排,动态反映软件开发进度情况,该图可以:表示任务分解成子任务情况;表示每个任务的开始时间和完成时间,线段的长度表示子任务完成所需要的时间;表示子任务之间的并行和串行关系。Gantt图只能表示任务之间的并行与串行的关系,难以反映多个任务之间存在的复杂关系,不能直观表示任务之间相互依赖制约关系,以及哪些任务是关键字任务等信息,因此仅仅用Gantt图作为进度的安排是不够的。

6、什么是数据字典?其作用是什么?它有哪些条目?

数据字典(简称DD)是用来定义数据流图中的各个成分的具体含义的,它以一种准确的、无二义性的说明方式为系统的分析、设计及维护提供了有关元素的一致的定义和详细的描述。他和数据流图共同构成了系统的逻辑模型,是需求规格说明书的主要组成部分。数据字典是为分析人员查找数据流图中有关名字的详细定义而服务的,因此也像普通字典一样,要把所有条目按一定的次序排列起来,以便查阅。数据字典有以下四类条目:数据流、数据项、数据存储、基本加工。数据项是组成数据流和数据存储的最小元素。源点、终点不在系统之内,故一般不在字典中说明。

7、调试的目的是什么?调试有哪些技术手段?

调试的目的是确定错误的原因和位置,并改正错误,因此调试也成为纠错。调试技术主要有:简单的调试方法,主要有在程序中插入打印语句、运行部分程序等;归纳法调试,他从测试结果发现的线索(错误迹象、征兆)入手、分析他们之间的联系,导处错误原因的假设,然

后再证明或否定这个假设;演绎法调试,该方法列出所有可能的错误原因的假设,然后利用测试数据排除不适当的假设,最后再测试数据验证余下的假设确实是出错的原因;回溯法调试,该方法从程序产生错误的地方出发,人工沿程序的逻辑路径反向搜索,直到找到错误的原因为止。

9、 如何做好软件质量保证工作?

软件质量保证工作是软件工程管理的重要内容,软件质量保证应做好以下几个方面的工作:采用技术手段和工具。质量保证活动要贯彻开发过程始终,必须从采用技术手段和工具,尤其是使用软件开发环境来进行软件开发。组织正式技术评审,在软件开发的第一个阶段结束时,都要组织正式的技术评审。国家标准要求单位必须采用审查、文档评审、设计评审、审计和测试等具体手段来保证质量。加强软件测试。软件测试是质量保证的重要手段,因为测试可发现软件可发现软件中大多数潜在错误。推选软件工程规范(标准)。用户可以自己指定软件工程规范(标准),但标准一旦确认就应贯彻执行。对软件的变更进行控制。软件的修改和变更常常会引起潜伏的错误,因此必须严格控制软件的修改和变更。对软件质量进行度量。即对软件质量进行跟踪,及时记录和报告软件质量情况。

10、什么是数据流图?其作用是什么?

其中的基本符号各表示什么含义?数据流图简称DFD,是SA方法中用于表示系统逻辑模型的一种工具。它以图形的方式描述数据在系统中流动和处理的过程,由于它只反映系统必须完成的逻辑功能,所以它是一种功能模型。数据流图有四种基本图形符号:“→”箭头表示数据流;“○”圆或椭圆表述加工;“=”双杠表示数据存储;“”方框表示数据的源点或终点。

16、采用黑盒技术设计测试用例有哪几种方法?这些方法各有什么特点?

㈠等价类划分。等价类划分是将输入数据域按有效的或无效的(也称合理的或不合理的)划分成若干个等价类,测试每个等价类的代表值就等于对该类其它值的测试。㈡边界值分析。该方法是将测试边界情况作为重点目标,选取正好等于,刚刚大于或刚刚小于边界值的情况,根据这些情况选择测试用例。㈢错误推测。错误推测法没有确定的步骤,凭检验进行。它的基本思想是列出程序中可能发生错误的情况,根据这些情况选择测试用例。㈣因果图。因果图能有效的检测输入条件的各种组合可能会引起的错误。因果图的基本原理是通过画因果图,把用自然语言描述的功能说明转换为判定表,最后为判定表的每一列设计一个测试用例。

21、 什么是确认测试?该阶段有哪些工作?

确认测试又称有效性测试。它的任务是检查软件的功能与性能是否与需求规格说明书中确定的指标相符合。确认测试阶段有两项工作,进行确认测试与软件配置审查。确认测试一般是在模拟环境中运用黑盒测试方法,由专门测试人员和用户参加的测试。软件配置审查的任务是检查软件的所有文档资料的完整性、正确性。如果发现遗漏和错误,应补充和改正,同时要编排好目录,为以后的软件维护工作奠定基础。

23、软件维护的特点是什么?

主要体现在三个方面:非结构化维护和结构化维护。软件的开发过程对软件的维护有很大的影响。若不采用软件工程的方法开发软件,则软件只有程序而无文档,维护工作非常困难,这是一种非结构化的维护。若采用软件工程的方法开发软件,则各阶段都有相应的文档,容易进行维护工作,这是一种结构化的维护。维护的困难性。软件维护的困难性是由于软件需求分析和开发方法的缺陷。软件生存周期中的开发阶段没有严格而有科学的管理和规划,就会引起软件运行时的维护困难。软件维护的费用。软件维护的费用在总费用中的比重是在不断增加的,这是软件维护有形的代价。另外还有无形的代价,即要占用更多的资源。软件维护费用增加的主要原因是软件维护的生产率非常低。

24、什么是CASE?CASE工具有哪些分类?

CASE是一组工具和方法的集合,可以辅助软件开发生命周期各阶段进行软件开发。从学术研究角度讲,CASE是多年来在软件开发管理、软件开发方法、软件开发环境和软件工具等方面研究和发展的产物。CASE把软件开发技术、软件工具和软件开发方法集成到一个统一而一致的框架中,并且吸引了CAD(计算机辅助设计)、软件工程、操作系统、数据库、网络和许多其它计算机领域的原理和技术。因而,CASE领域是一个应用集成和综合的领域。从产业角度讲,CASE是种类繁多的软件开发和系统集成的产品及软件工具的集合。CASE分类:CASE技术种类CASE系统所涉及到的技术有两类:一类是支持软件开发过程本身的技术;另一类是支持软件开发过程管理的技术。从CASE系统产生方式来看,还有一种特殊的CASE技术,即元——CASE技术。他是生成CASE系统的生成器所采用的技术。该生成器可用来创建支持软件开发过程活动及过程管理的CASE系统。CASE工具的分类对CASE工具分类的标准可分为:①功能。功能是对软件进行分类的最常用的标准。②支持的过程。根据支持的过程,工具可分为设计工具、编程工具、维护工具等。③支持的范围。根据支持的范围,可分为窄支持、较宽支持和一般支持工具。窄支持指支持过程中特定的任务,较宽支持是指支持特定过程阶段;一般支持是指支持覆盖软件过程的全部阶段或大多数阶段。1993年,Fuggetta根据CASE系统对软件过程的支持范围,提出CASE系统可分为三类:①支持单个过程任务的工具。工具可能是通用的,或者也可能归组到工作台。②工作台支持某一过程所有活动或某些活动。他们一般以或多或少的集成度组成工具集。③环境支持软件过程所有活动或至少大部分。他们一般包括几个不同的工作台,将这些工作台以某种方式集成起来。

25、 说明容错软件的定义与容错的一般方法。

归纳容错软件的定义,有以下四种:⑴规定功能的软件,在一定程序上对自身错误的作用(软件错误)具有屏蔽能力,则称此软件为具有容错功能的软件。⑵规定功能的软件,在一定程序上能从错误状态自动恢复到正常状态,则称之为容错软件。⑶规定功能的软件,在因错误而发生错误时,仍然能在一定程度上完成预期的功能,则把该软件称为容错软件。⑷规定功能的软件,在一定程度上具有容错能力,则称之为容错软件。实现容错技术的主要手段是冗余,通常冗余技术分为四类。⑴结构冗余。结构冗余是通常用的冗余技术。按其工作方式,它分为静态、动态和混合冗余三种。⑵信息冗余。为检查或纠正信息在运算或传输中的错误须外加一部分信息,这种现象称为信息冗余。⑶时间冗余。是指以重复执行指令(指令复执)或程序(程序复算)来消除瞬时错误带来的影响。⑷冗余附加技术。是指为实现上述冗余技术所需的资源和技术。包括程序、指令、数据、存放和调动他们的空间和通道等。

5、快速原型模型有几种?各有何特点?

根据原型的不同作用,有三类原型模型:⑴探索型原型。这种类型的原型模型是把原型用于开发的需求分析阶段,目的是要弄清用户的需求,确定所期望的特性,并探索各种方案的可行性。它主要针对开发目标模糊,用户与开发着对项目都缺乏经验的情况,通过对原型的开发来明确用户的需求。⑵实验型原型。这种原型主要用于设计阶段,考核实现方案是否合适,能否实现,对于一个大型系统,若对设计方案心中没有把握时,可通过这种原型来证实设计方案的正确性。⑶演化型原型。这种原型主要用于及早向用户提交一个原型系统,该原型系统或者包含系统的框或者包含系统的主要功能。在得到用户的认可后,将原型系统不断扩充演变为最终的软件系统,它将原型的思路扩展到软件开发的全过程。

27、在划分软件生存周期阶段时,应遵循的基本原则是什么?

软件生存周期的各个阶段有不同的划分。软件规模、种类、开发方式、开发环境以及开发使用方法都影响软件生存周期的划分。在划分软件生存周期阶段时,应遵循的一条基本原则是各阶段的任务应尽可能相对独立,同一阶段各项目任务的性质尽可能相同,从而降低每个阶段任务的复杂程度,简化不同阶段之间的联系,有利于软件项目开发的组织管理。

28、请说明软件文档的作用?

软件开发项目生存期各阶段都包含哪些文档?软件文档的作用是:提高软件开发过程的能见度;提高开发效率;作为开发人员阶段工作成果和结束标志;记录开发过程的有关信息便于使用与维护;提供软件运行、维护和培训有关资料;便于用户了解软件功能、性能。软件开发项目生存期各阶段应包括得文档以及与各类人员的关系如下:可行性研究报告、项目开发计划、软件需求说明书、数据要求说明书、测试计划、概要设计说明书、详细设计说明书、用户手册、操作手册、测试分析报告、开发进度月报、项目开发总结、程序维护手册(维护修改建议)。

29、软件开发成本估算方法有哪几种?

自顶向下估算方法。估算人员参照以前完成的项目所耗费的总成本(或总工作量),来推算将要开发的软件的总成本(或总工作量),然后把它们按阶段、步骤和工作单元进行分配,这样方法称为自顶向下的估算方法。自底向上估算方法。自底向上估算方法是将待开发的软件细分,分别估算每一个子任务所需要的开发工作量,然后将它们加起来,得到软件的总开发量。差别估算方法。差别估算是将开发项目与一个或多个已完成的类似项目进行比较,找出与某个相类似项目的若干不同之处,并估算每个不同之处对成本的影响,导出开发项目的总成本。专家估算法。依靠一个或多个专家对要求的项目做出估算。类推估算法。算式估算法。

30、简述SA方法的优缺点?

结构化分析方法是软件需求分析中公认的、有成效的、技术成熟、使用广泛的一种方法,它较适合于开发数据处理类型软件的需求分析。该方法利用图形等半形式化工具表达需求,简明、易读,也易于使用,为后一阶段的设计、测试、评价提供了有利的条件。但SA方法也

存在有不足之处:⑴传统的SA方法主要用于数据处理方面的问题,主要工具DFD体现了系统“做什么”的功能,但它仅是一个静态模型,没有反映处理的顺序,即控制流程。因此,不适合描述实时控制系统。⑵SA方法使用DFD在分析与描述“数据要求”方面是有限的,DFD应与数据库技术中的实体联系图(ER图)结合起来。⑶DFD不是和描述人机界面系统的需求。SA方法则对这一部分用自然语言作补充,对这类系统可采取其它的分析方法。⑷为了更精确地描述软件需求,提高软件系统的可靠性、安全性,也便于实现自动化,SA方法可与形式化方法结合起来。

5、什么是软件工程?它的目标和内容是什么?

软件工程是一种用科学知识和技术原理来定义、开发、维护软件的一门学科。软件工程是一门工程性学科,目的是成功的建造一个大型软件系统,所谓成功是要达到以下几个目标:付出较低的开发成本,达到要求的软件功能;取得较好的软件性能;开发的软件易于移植;需要较低的维护费用;能按时完成开发任务,及时交付使用;开发的软件可靠性高。软件工程研究的主要内容是软件开发技术和软件开发管理两方面,在软件开发技术中,主要研究软件开发方法、软件开发过程、软件开发工具和环境。在软件开发管理中,主要研究软件管理学、软件经济学、软件心理学等。

31、如何控制因修改而引起的副作用?

为了控制因修改而引起的副作用,要做到:⑴按模块把修改分组;⑵自顶向下的安排被修改模块的顺序;⑶每次修改一个模块;⑷对每个修改了的模块,在安排修改下一个模块之前要确定这个修改的副作用,可使用交叉引用表、存储映像表、执行流程跟踪等。

4、增量模型的基本思想是什么?

为了克服瀑布模型的局限性,使开发过程具有一定的灵活性和可修改性,于是产生了增量模型。它是在瀑布模型的基础上加以修改而形成的。增量模型和瀑布模型之间的本质区别是:瀑布模型属于整体开发模型,它规定在开始下一个阶段的工作之前,必须完成前一阶段的所有细节。而增量模型属于非整体开发模型,它推迟某些阶段或所有阶段中的细节,从而较早的产生工作软件。增量模型是在项目的开发过程中以一系列的增量方式开发系统。增量方式包括增量开发和增量提交。增量开发是指在项目开发周期内,以一定的时间间隔开发部分工作软件;增量提交是指在项目开发周期内,以一定的时间间隔增量方式向用户提交工作软件及相应文档。增量开发和增量提交可以同时使用,也可以单独使用。

35、什么是确认测试?该阶段有哪些工作?

确认测试又称有效性测试。它的任务是检查软件的功能与性能是否与需求规格说明书中确定的指标相符合。确认测试阶段有两项工作,进行确认测试与软件配置审查。确认测试一般是在模拟环境中运用黑盒测试方法,由专门测试人员和用户参加的测试。软件配置审查的任务是检查软件的所有文档资料的完整性、正确性。如果发现遗漏和错误,应补充和改正,同时要编排好目录,为以后的软件维护工作奠定基础。

36、详细设计的基本任务是什么?有哪几种描述方法?

详细设计是软件设计的第二阶段,其基本任务有:为每个模块进行详细的算法设计;为模块内的数据结构进行设计;对数据库进行物理设计,即确定数据库的物理结构;其它设计,根据软件系统类型,还可能要进行代码设计、输入/输出格式设计、人机对话设计;编写详细设计说明书;评审。详细描述处理过程常用三种工具:图形、表格和语言。如结构化程序流程图、盒图和问题分析图。IPO图也是详细设计的主要工具之一。表格工具如判定表可作为详细设计中描述逻辑条件复杂的算法。过程设计语言(PDL)是一种用于描述模块算法设计和处理细节的语言工具。

5、什么是软件危机?其产生的原因是什么?

当软件开发技术的进步不能跟上硬件技术的进步,未能满足发展的要求,致软件开发中遇到的问题找不到解决的办法,使问题积累起来,形成了尖锐的矛盾,因而导致了软件危机。主要表现为:经费预算经常突破,完成时间一再拖延;开发的软件不能满足用户要求;

开发的软件可维护性差;开发的软件可靠性差。造成软件危机的原因是由于软件产品本身的特点以及开发软件的方式、方法、技术和人员引起的。共产生原因主要有以下几方面:

软件的规模越来越大,结构越来越复杂;软件开发管理困难而复杂;软件开发费用不断增加;软件开发技术落后;生产方式落后;开发工具落后,生产率提高缓慢。

37、软件维护的特点是什么?

主要体现在三个方面:非结构化维护和结构化维护。软件的开发过程对软件的维护有很大的影响。若不采用软件工程的方法开发软件,则软件只有程序而无文档,维护工作非常困难,这是一种非结构化的维护。若采用软件工程的方法开发软件,则各阶段都有相应的文档,容易进行维护工作,这是一种结构化的维护。维护的困难性。软件维护的困难性是由于软件需求分析和开发方法的缺陷。软件生存周期中的开发阶段没有严格而有科学的管理和规划,就会引起软件运行时的维护困难。软件维护的费用。软件维护的费用在总费用中的比重是在不断增加的,这是软件维护有形的代价。另外还有无形的代价,即要占用更多的资源。软件维护费用增加的主要原因是软件维护的生产率非常低。

40、概要设计阶段的基本任务是什么?

⑴设计软件系统结构(简称软件结构),具体为:①采用某种设计方法,将一个复杂的系统按功能划分成模块。②确定每个模块的功能。③确定模块之间的调用关系。④确定模块之间的接口,即模块之间传递的信息。⑤评价模块结构的质量。⑵数据结构及数据库设计,汉数据结构的设计及数据库的设计。⑶编写概要设计文档。主要有:概要设计说明书;数据库设计说明书;用户手册;修订测试计划。⑷评审。

42、请说明软件文档的作用?

软件开发项目生存期各阶段都包含哪些文档?软件文档的作用是:提高软件开发过程的能见度;提高开发效率;作为开发人员阶段工作成果和结束标志;记录开发过程的有关信息

便于使用与维护;提供软件运行、维护和培训有关资料;便于用户了解软件功能、性能。软件开发项目生存期各阶段应包括得文档以及与各类人员的关系如下:可行性研究报告、项目开发计划、软件需求说明书、数据要求说明书、测试计划、概要设计说明书、详细设计说明书、用户手册、操作手册、测试分析报告、开发进度月报、项目开发总结、程序维护手册(维护修改建议)。

软件工程试题整理_简答题

1、可行性研究的任务是什么?

首先需要进行概要的分析研究,初步确定项目的规模和目标,确定项目的约束和限制,把他们清楚地列举出来。然后,分析员进行简要的需求分析,抽象出该项目的逻辑结构,建立逻辑模型。从逻辑模型出发,经过压缩的设计,探索出若干种可供选择的主要解决方法,对每种解决方法都要研究它的可行性,可从以下三个方面分析研究每种解决方法的可行性。㈠技术可行性:对要开发项目的功能、性能、限制条件进行分析,确定在现有的资源条件下,技术风险有多大,项目是否能实现。㈡经济可行性:进行开发成本的估算以及了解取得效益的评估,确定要开发的项目是否值得投资开发。㈢社会可行性:要开发的项目是否存在任何侵犯、妨碍等责任问题,要开发项目的运行方式在用户组织内是否行得通,现有管理制度、人员素质、操作方式是否可行。

2、什么是模块的影响范围?什么是模块的控制范围?他们之间应该建立什么关系?

一个模块的作用范围(或称影响范围)指受该模块内一个判定影响的所有模块的集合。一个模块的控制范围指模块本身以及其所有下属模块(直接或间接从属于它的模块)的集合。一个模块的作用范围应在其控制范围之内,且判定所在的模块应在其影响的模块在层次上尽量靠近。如果再设计过程中,发现模块作用范围不在其控制范围之内,可以用“上移判点”或“下移受判断影响的模块,将它下移到判断所在模块的控制范围内”的方法加以改进。

3、非渐增式测试与渐增式测试有什么区别?渐增式测试如何组装模块?

非渐增式测试与渐增式测试的测试方法有以下区别:㈠非渐增式测试方法把单元测试和集成测试分成两个不同的阶段,前一阶段完成模块的单元测试,后一阶段完成集成测试。而渐增式测试往往把单元测试与集成测试和在一起,同时完成。㈡非渐增式需要更多的工作量,因为每个模块都需要驱动模块和桩模块,而渐增式利用已测试过的模块作为驱动模块或桩模块,因此工作量较少。㈢渐增式可以较早的发现接口之间的错误,非渐增式最后组装是才发现。㈣渐增式有利于排错,发生错误往往和最近加进来的模块有关,而非渐增式发现接口错误推迟到最后,很难判断是哪一部分接口出错。㈤渐增式比较彻底,已测试的模块和新的模块再测试。㈥渐增式占用的时间较多,但非渐增式须更多的驱动模块、桩模块也占用一些时间。㈦非渐增式开始可并行测试所有模块,能充分利用人力,对测试大型软件很有意义。渐增式测试有以下两种不同的组装模块的方法:㈠自顶向下组合。该方法只需编写桩模块,其步骤是从顶层模块开始,沿被测程序的软件结构图的控制路径逐步向下测试,从而把各个模块都结合起来,它又有两种组合策略:①深度有先策略:先从软件结构中选择一条主控制路径,把该路径上的模块一个个结合进来进行测试,以便完成一个特定的子功能,接着再结合其它需要优先考虑的路径。②宽度有先策略:逐层结合直接下属的所有模块。㈡自低向上结合。该方法仅需编写驱动模块。其步骤为:①把底层模块组合成实现一个个特定子功能的族。②为每一个族编写一个驱动模块,以协调测试用例的输入和测试结果的输出。③对模块族进行测试。④按软件结构图依次向上扩展,用实际模块替换驱动模块,形成一个个更大的族。⑤重复②至④步,直至软件系统全部测试完毕。

4、软件质量与软件质量保证的含义是什么?

从实际应用来说,软件质量定义为:㈠与所确定的功能和性能需求的一致性。㈡与所成文的开发标准一致性。㈢与所有专业开发的软件所期望的隐含特性的一致性。软件质量保证就是向用户及社会提供满意的高质量的产品,确保软件产品从诞生到消亡为止的所有阶段的质量的活动,即确定、达到和维护需要的软件质量而进行的所有有计划、有系统的管理活动。

5、软件工程标准化的意义是什么?都有哪些软件工程标准?积极推进软件工程标准化,其道理是显而易见的。仅就一个软件开发项目来说,有许多层次,不同分工的人员相互配合,在开发项目的各个部分以及各开发阶段之间也都存在许多联系和衔接问题。如何把这些错综复杂的关系协调好,需要有一系列统一的约束和规定。在软件开发项目取得阶段成果或最后完成是时,需要进行阶段评价和验收测试。投入运行的软件,其维护工作中遇到问题又与开发工作者有着密切的关系。软件的管理工作则渗透到软件生存期的每一个环节。所有这些都要要求提供统一的行动规范和衡量准则,使得各种工作都有章可循。软件工程的标准主要有以下三个:㈠FIPS135是美国国家标准局发布的《软件文档管理指南》㈡NSAC ——39是美国核子安全分析中心发布的《安全参数显示系统的验证与确认》。㈢ISO5807是国际标准化组织公布(现已成为中国的国家标准)的《信息处理—数据流程图、程序流程图、程序网络图和系统资源图的文件编制符号及约定》。

5、需求分析阶段的基本任务是什么?

需求分析阶段的基本任务是要准确的定义新系统的目标,为了满足用户需要,回答系统必须“做什么”的问题。本阶段要进行以下几方面的工作:㈠问题识别。双方确定对问题的综合需求,这些需求包括:功能需求、性能需求、环境需求、用户界面需求,另外还有可靠性、安全性、保密性、可移植性、可维护性等方面的需求。㈡分析与综合,导出软件的逻辑模型。分析人员对获取的需求,进行一致性的分析检查,在分析、综合中逐步细化软件功能,划分成各个子功能。这里也包括对数据域进行分解,并分配到各个子功能上,以确定系统的构成及主要成份,并用图文结合的形式,建立起新系统的逻辑模型。㈢编写文档。编写“需求规格说明书”、编写初步用户使用手册、编写确认测试计划、修改完善软件开发计划。

7、说明动态建模的过程。

㈠准备脚本。

动态分析从寻找事件开始,然后确定各对象的可能事件的顺序。在分析阶段不考虑算法的执行,算法是实现模型的一部分。

㈡确定事件。

确定所有外部事件。事件包括所有来自或发往用户的信息、外部设备的信号、输入、转换和动作。

㈢准备事件跟踪表。

把脚本表示成一个事件跟踪表,对象为表中的列,给每一个对象分配一个独立的列。

㈣构造状态图。

对各对象类建立状态图,反映对象接收和发送的事件,每个事件跟踪都对应于状态图中一条路径。

8、软件生产经历了几个阶段?各有何特征?

软件生产至今已经历了三个阶段:㈠程序设计时代(1946-1956):这个阶段的生产方式是个体手工劳动,使用的工具实际其语言、汇编语言。开发方法是追求编程技巧,追求程序运行效率。硬件特征是价格贵、存储容量小,运行可靠性差。软件特征是只有程序、程序设计概念,不重视程序设计方法。㈡程序系统时代(1956-1968):这个阶段的生产方式是作坊式的小集团合作生产,生产工具是高级语言,开发方法仍就靠个人技巧,但开始提出结构化方法。硬件特征是速度、容量、工作可靠性有明显提高。软件特征是程序员数量猛增,但开发技术没有新的突破,开发人员的素质和落后的开发技术不适应规模大、结构复杂的软件开发,导致软件危机的产生。㈢软件工程时代(1968至今):这个阶段的生产方式是工程化的生产,使用数据库、开发工具、开发环境、网络、分布式、面向对象技术来开发软件。硬件特征是向超高速、大容量、微型化以及网络化方向发展。软件特征是开发技术有很大进步,但是未能获得突破性进展,软件价格不断上升,没有完全摆脱软件危机。

5、简述Gantt图的功能及不足。

Gantt图常用水平线段来描述把任务分解成子任务,以及每个子任务的进度安排,动态反映软件开发进度情况,该图可以:表示任务分解成子任务情况;表示每个任务的开始时间和完成时间,线段的长度表示子任务完成所需要的时间;表示子任务之间的并行和串行关系。Gantt图只能表示任务之间的并行与串行的关系,难以反映多个任务之间存在的复杂关系,不能直观表示任务之间相互依赖制约关系,以及哪些任务是关键字任务等信息,因此仅仅用Gantt图作为进度的安排是不够的。

6、什么是数据字典?其作用是什么?它有哪些条目?

数据字典(简称DD)是用来定义数据流图中的各个成分的具体含义的,它以一种准确的、无二义性的说明方式为系统的分析、设计及维护提供了有关元素的一致的定义和详细的描述。他和数据流图共同构成了系统的逻辑模型,是需求规格说明书的主要组成部分。数据字典是为分析人员查找数据流图中有关名字的详细定义而服务的,因此也像普通字典一样,要把所有条目按一定的次序排列起来,以便查阅。数据字典有以下四类条目:数据流、数据项、数据存储、基本加工。数据项是组成数据流和数据存储的最小元素。源点、终点不在系统之内,故一般不在字典中说明。

7、调试的目的是什么?调试有哪些技术手段?

调试的目的是确定错误的原因和位置,并改正错误,因此调试也成为纠错。调试技术主要有:简单的调试方法,主要有在程序中插入打印语句、运行部分程序等;归纳法调试,他从测试结果发现的线索(错误迹象、征兆)入手、分析他们之间的联系,导处错误原因的假设,然

后再证明或否定这个假设;演绎法调试,该方法列出所有可能的错误原因的假设,然后利用测试数据排除不适当的假设,最后再测试数据验证余下的假设确实是出错的原因;回溯法调试,该方法从程序产生错误的地方出发,人工沿程序的逻辑路径反向搜索,直到找到错误的原因为止。

9、 如何做好软件质量保证工作?

软件质量保证工作是软件工程管理的重要内容,软件质量保证应做好以下几个方面的工作:采用技术手段和工具。质量保证活动要贯彻开发过程始终,必须从采用技术手段和工具,尤其是使用软件开发环境来进行软件开发。组织正式技术评审,在软件开发的第一个阶段结束时,都要组织正式的技术评审。国家标准要求单位必须采用审查、文档评审、设计评审、审计和测试等具体手段来保证质量。加强软件测试。软件测试是质量保证的重要手段,因为测试可发现软件可发现软件中大多数潜在错误。推选软件工程规范(标准)。用户可以自己指定软件工程规范(标准),但标准一旦确认就应贯彻执行。对软件的变更进行控制。软件的修改和变更常常会引起潜伏的错误,因此必须严格控制软件的修改和变更。对软件质量进行度量。即对软件质量进行跟踪,及时记录和报告软件质量情况。

10、什么是数据流图?其作用是什么?

其中的基本符号各表示什么含义?数据流图简称DFD,是SA方法中用于表示系统逻辑模型的一种工具。它以图形的方式描述数据在系统中流动和处理的过程,由于它只反映系统必须完成的逻辑功能,所以它是一种功能模型。数据流图有四种基本图形符号:“→”箭头表示数据流;“○”圆或椭圆表述加工;“=”双杠表示数据存储;“”方框表示数据的源点或终点。

16、采用黑盒技术设计测试用例有哪几种方法?这些方法各有什么特点?

㈠等价类划分。等价类划分是将输入数据域按有效的或无效的(也称合理的或不合理的)划分成若干个等价类,测试每个等价类的代表值就等于对该类其它值的测试。㈡边界值分析。该方法是将测试边界情况作为重点目标,选取正好等于,刚刚大于或刚刚小于边界值的情况,根据这些情况选择测试用例。㈢错误推测。错误推测法没有确定的步骤,凭检验进行。它的基本思想是列出程序中可能发生错误的情况,根据这些情况选择测试用例。㈣因果图。因果图能有效的检测输入条件的各种组合可能会引起的错误。因果图的基本原理是通过画因果图,把用自然语言描述的功能说明转换为判定表,最后为判定表的每一列设计一个测试用例。

21、 什么是确认测试?该阶段有哪些工作?

确认测试又称有效性测试。它的任务是检查软件的功能与性能是否与需求规格说明书中确定的指标相符合。确认测试阶段有两项工作,进行确认测试与软件配置审查。确认测试一般是在模拟环境中运用黑盒测试方法,由专门测试人员和用户参加的测试。软件配置审查的任务是检查软件的所有文档资料的完整性、正确性。如果发现遗漏和错误,应补充和改正,同时要编排好目录,为以后的软件维护工作奠定基础。

23、软件维护的特点是什么?

主要体现在三个方面:非结构化维护和结构化维护。软件的开发过程对软件的维护有很大的影响。若不采用软件工程的方法开发软件,则软件只有程序而无文档,维护工作非常困难,这是一种非结构化的维护。若采用软件工程的方法开发软件,则各阶段都有相应的文档,容易进行维护工作,这是一种结构化的维护。维护的困难性。软件维护的困难性是由于软件需求分析和开发方法的缺陷。软件生存周期中的开发阶段没有严格而有科学的管理和规划,就会引起软件运行时的维护困难。软件维护的费用。软件维护的费用在总费用中的比重是在不断增加的,这是软件维护有形的代价。另外还有无形的代价,即要占用更多的资源。软件维护费用增加的主要原因是软件维护的生产率非常低。

24、什么是CASE?CASE工具有哪些分类?

CASE是一组工具和方法的集合,可以辅助软件开发生命周期各阶段进行软件开发。从学术研究角度讲,CASE是多年来在软件开发管理、软件开发方法、软件开发环境和软件工具等方面研究和发展的产物。CASE把软件开发技术、软件工具和软件开发方法集成到一个统一而一致的框架中,并且吸引了CAD(计算机辅助设计)、软件工程、操作系统、数据库、网络和许多其它计算机领域的原理和技术。因而,CASE领域是一个应用集成和综合的领域。从产业角度讲,CASE是种类繁多的软件开发和系统集成的产品及软件工具的集合。CASE分类:CASE技术种类CASE系统所涉及到的技术有两类:一类是支持软件开发过程本身的技术;另一类是支持软件开发过程管理的技术。从CASE系统产生方式来看,还有一种特殊的CASE技术,即元——CASE技术。他是生成CASE系统的生成器所采用的技术。该生成器可用来创建支持软件开发过程活动及过程管理的CASE系统。CASE工具的分类对CASE工具分类的标准可分为:①功能。功能是对软件进行分类的最常用的标准。②支持的过程。根据支持的过程,工具可分为设计工具、编程工具、维护工具等。③支持的范围。根据支持的范围,可分为窄支持、较宽支持和一般支持工具。窄支持指支持过程中特定的任务,较宽支持是指支持特定过程阶段;一般支持是指支持覆盖软件过程的全部阶段或大多数阶段。1993年,Fuggetta根据CASE系统对软件过程的支持范围,提出CASE系统可分为三类:①支持单个过程任务的工具。工具可能是通用的,或者也可能归组到工作台。②工作台支持某一过程所有活动或某些活动。他们一般以或多或少的集成度组成工具集。③环境支持软件过程所有活动或至少大部分。他们一般包括几个不同的工作台,将这些工作台以某种方式集成起来。

25、 说明容错软件的定义与容错的一般方法。

归纳容错软件的定义,有以下四种:⑴规定功能的软件,在一定程序上对自身错误的作用(软件错误)具有屏蔽能力,则称此软件为具有容错功能的软件。⑵规定功能的软件,在一定程序上能从错误状态自动恢复到正常状态,则称之为容错软件。⑶规定功能的软件,在因错误而发生错误时,仍然能在一定程度上完成预期的功能,则把该软件称为容错软件。⑷规定功能的软件,在一定程度上具有容错能力,则称之为容错软件。实现容错技术的主要手段是冗余,通常冗余技术分为四类。⑴结构冗余。结构冗余是通常用的冗余技术。按其工作方式,它分为静态、动态和混合冗余三种。⑵信息冗余。为检查或纠正信息在运算或传输中的错误须外加一部分信息,这种现象称为信息冗余。⑶时间冗余。是指以重复执行指令(指令复执)或程序(程序复算)来消除瞬时错误带来的影响。⑷冗余附加技术。是指为实现上述冗余技术所需的资源和技术。包括程序、指令、数据、存放和调动他们的空间和通道等。

5、快速原型模型有几种?各有何特点?

根据原型的不同作用,有三类原型模型:⑴探索型原型。这种类型的原型模型是把原型用于开发的需求分析阶段,目的是要弄清用户的需求,确定所期望的特性,并探索各种方案的可行性。它主要针对开发目标模糊,用户与开发着对项目都缺乏经验的情况,通过对原型的开发来明确用户的需求。⑵实验型原型。这种原型主要用于设计阶段,考核实现方案是否合适,能否实现,对于一个大型系统,若对设计方案心中没有把握时,可通过这种原型来证实设计方案的正确性。⑶演化型原型。这种原型主要用于及早向用户提交一个原型系统,该原型系统或者包含系统的框或者包含系统的主要功能。在得到用户的认可后,将原型系统不断扩充演变为最终的软件系统,它将原型的思路扩展到软件开发的全过程。

27、在划分软件生存周期阶段时,应遵循的基本原则是什么?

软件生存周期的各个阶段有不同的划分。软件规模、种类、开发方式、开发环境以及开发使用方法都影响软件生存周期的划分。在划分软件生存周期阶段时,应遵循的一条基本原则是各阶段的任务应尽可能相对独立,同一阶段各项目任务的性质尽可能相同,从而降低每个阶段任务的复杂程度,简化不同阶段之间的联系,有利于软件项目开发的组织管理。

28、请说明软件文档的作用?

软件开发项目生存期各阶段都包含哪些文档?软件文档的作用是:提高软件开发过程的能见度;提高开发效率;作为开发人员阶段工作成果和结束标志;记录开发过程的有关信息便于使用与维护;提供软件运行、维护和培训有关资料;便于用户了解软件功能、性能。软件开发项目生存期各阶段应包括得文档以及与各类人员的关系如下:可行性研究报告、项目开发计划、软件需求说明书、数据要求说明书、测试计划、概要设计说明书、详细设计说明书、用户手册、操作手册、测试分析报告、开发进度月报、项目开发总结、程序维护手册(维护修改建议)。

29、软件开发成本估算方法有哪几种?

自顶向下估算方法。估算人员参照以前完成的项目所耗费的总成本(或总工作量),来推算将要开发的软件的总成本(或总工作量),然后把它们按阶段、步骤和工作单元进行分配,这样方法称为自顶向下的估算方法。自底向上估算方法。自底向上估算方法是将待开发的软件细分,分别估算每一个子任务所需要的开发工作量,然后将它们加起来,得到软件的总开发量。差别估算方法。差别估算是将开发项目与一个或多个已完成的类似项目进行比较,找出与某个相类似项目的若干不同之处,并估算每个不同之处对成本的影响,导出开发项目的总成本。专家估算法。依靠一个或多个专家对要求的项目做出估算。类推估算法。算式估算法。

30、简述SA方法的优缺点?

结构化分析方法是软件需求分析中公认的、有成效的、技术成熟、使用广泛的一种方法,它较适合于开发数据处理类型软件的需求分析。该方法利用图形等半形式化工具表达需求,简明、易读,也易于使用,为后一阶段的设计、测试、评价提供了有利的条件。但SA方法也

存在有不足之处:⑴传统的SA方法主要用于数据处理方面的问题,主要工具DFD体现了系统“做什么”的功能,但它仅是一个静态模型,没有反映处理的顺序,即控制流程。因此,不适合描述实时控制系统。⑵SA方法使用DFD在分析与描述“数据要求”方面是有限的,DFD应与数据库技术中的实体联系图(ER图)结合起来。⑶DFD不是和描述人机界面系统的需求。SA方法则对这一部分用自然语言作补充,对这类系统可采取其它的分析方法。⑷为了更精确地描述软件需求,提高软件系统的可靠性、安全性,也便于实现自动化,SA方法可与形式化方法结合起来。

5、什么是软件工程?它的目标和内容是什么?

软件工程是一种用科学知识和技术原理来定义、开发、维护软件的一门学科。软件工程是一门工程性学科,目的是成功的建造一个大型软件系统,所谓成功是要达到以下几个目标:付出较低的开发成本,达到要求的软件功能;取得较好的软件性能;开发的软件易于移植;需要较低的维护费用;能按时完成开发任务,及时交付使用;开发的软件可靠性高。软件工程研究的主要内容是软件开发技术和软件开发管理两方面,在软件开发技术中,主要研究软件开发方法、软件开发过程、软件开发工具和环境。在软件开发管理中,主要研究软件管理学、软件经济学、软件心理学等。

31、如何控制因修改而引起的副作用?

为了控制因修改而引起的副作用,要做到:⑴按模块把修改分组;⑵自顶向下的安排被修改模块的顺序;⑶每次修改一个模块;⑷对每个修改了的模块,在安排修改下一个模块之前要确定这个修改的副作用,可使用交叉引用表、存储映像表、执行流程跟踪等。

4、增量模型的基本思想是什么?

为了克服瀑布模型的局限性,使开发过程具有一定的灵活性和可修改性,于是产生了增量模型。它是在瀑布模型的基础上加以修改而形成的。增量模型和瀑布模型之间的本质区别是:瀑布模型属于整体开发模型,它规定在开始下一个阶段的工作之前,必须完成前一阶段的所有细节。而增量模型属于非整体开发模型,它推迟某些阶段或所有阶段中的细节,从而较早的产生工作软件。增量模型是在项目的开发过程中以一系列的增量方式开发系统。增量方式包括增量开发和增量提交。增量开发是指在项目开发周期内,以一定的时间间隔开发部分工作软件;增量提交是指在项目开发周期内,以一定的时间间隔增量方式向用户提交工作软件及相应文档。增量开发和增量提交可以同时使用,也可以单独使用。

35、什么是确认测试?该阶段有哪些工作?

确认测试又称有效性测试。它的任务是检查软件的功能与性能是否与需求规格说明书中确定的指标相符合。确认测试阶段有两项工作,进行确认测试与软件配置审查。确认测试一般是在模拟环境中运用黑盒测试方法,由专门测试人员和用户参加的测试。软件配置审查的任务是检查软件的所有文档资料的完整性、正确性。如果发现遗漏和错误,应补充和改正,同时要编排好目录,为以后的软件维护工作奠定基础。

36、详细设计的基本任务是什么?有哪几种描述方法?

详细设计是软件设计的第二阶段,其基本任务有:为每个模块进行详细的算法设计;为模块内的数据结构进行设计;对数据库进行物理设计,即确定数据库的物理结构;其它设计,根据软件系统类型,还可能要进行代码设计、输入/输出格式设计、人机对话设计;编写详细设计说明书;评审。详细描述处理过程常用三种工具:图形、表格和语言。如结构化程序流程图、盒图和问题分析图。IPO图也是详细设计的主要工具之一。表格工具如判定表可作为详细设计中描述逻辑条件复杂的算法。过程设计语言(PDL)是一种用于描述模块算法设计和处理细节的语言工具。

5、什么是软件危机?其产生的原因是什么?

当软件开发技术的进步不能跟上硬件技术的进步,未能满足发展的要求,致软件开发中遇到的问题找不到解决的办法,使问题积累起来,形成了尖锐的矛盾,因而导致了软件危机。主要表现为:经费预算经常突破,完成时间一再拖延;开发的软件不能满足用户要求;

开发的软件可维护性差;开发的软件可靠性差。造成软件危机的原因是由于软件产品本身的特点以及开发软件的方式、方法、技术和人员引起的。共产生原因主要有以下几方面:

软件的规模越来越大,结构越来越复杂;软件开发管理困难而复杂;软件开发费用不断增加;软件开发技术落后;生产方式落后;开发工具落后,生产率提高缓慢。

37、软件维护的特点是什么?

主要体现在三个方面:非结构化维护和结构化维护。软件的开发过程对软件的维护有很大的影响。若不采用软件工程的方法开发软件,则软件只有程序而无文档,维护工作非常困难,这是一种非结构化的维护。若采用软件工程的方法开发软件,则各阶段都有相应的文档,容易进行维护工作,这是一种结构化的维护。维护的困难性。软件维护的困难性是由于软件需求分析和开发方法的缺陷。软件生存周期中的开发阶段没有严格而有科学的管理和规划,就会引起软件运行时的维护困难。软件维护的费用。软件维护的费用在总费用中的比重是在不断增加的,这是软件维护有形的代价。另外还有无形的代价,即要占用更多的资源。软件维护费用增加的主要原因是软件维护的生产率非常低。

40、概要设计阶段的基本任务是什么?

⑴设计软件系统结构(简称软件结构),具体为:①采用某种设计方法,将一个复杂的系统按功能划分成模块。②确定每个模块的功能。③确定模块之间的调用关系。④确定模块之间的接口,即模块之间传递的信息。⑤评价模块结构的质量。⑵数据结构及数据库设计,汉数据结构的设计及数据库的设计。⑶编写概要设计文档。主要有:概要设计说明书;数据库设计说明书;用户手册;修订测试计划。⑷评审。

42、请说明软件文档的作用?

软件开发项目生存期各阶段都包含哪些文档?软件文档的作用是:提高软件开发过程的能见度;提高开发效率;作为开发人员阶段工作成果和结束标志;记录开发过程的有关信息

便于使用与维护;提供软件运行、维护和培训有关资料;便于用户了解软件功能、性能。软件开发项目生存期各阶段应包括得文档以及与各类人员的关系如下:可行性研究报告、项目开发计划、软件需求说明书、数据要求说明书、测试计划、概要设计说明书、详细设计说明书、用户手册、操作手册、测试分析报告、开发进度月报、项目开发总结、程序维护手册(维护修改建议)。


相关内容

  • 管理信息系统
  • 管理信息系统1 总分:100 考试时间:100分钟 一.单项选择题 1.管理信息系统不仅是一个技术系统,还是一个(),管理系统,社会系统 .(正确答案:C, 答题答案:) A .计算机系统 B .网络系统 C .人机系统 D .数据库系统 2.管理信息系统支持企业高层决策,(),基层业务处理.(正确 ...

  • [原创]一级建造师考试[建筑工程经济]学习的最佳顺序
  • 一级建造师考试<建筑工程经济>学习的最佳顺序 对经济复习的总结,主干是资产,负债与所有者权益,使资产保值增值,就要进行分析,利用利率和其他财务指标进行动态与静态分析,成本分析,从中间开始向两边看,全书的脉络就非常清晰,容易理解.(东大建造师经济编写人王玉红老师语:财务知识-------经 ...

  • 2013年一级建造师考试题型及注意事项
  • 2010年一级建造师考试题型及注意事项 一级建造师考试形式 <建设工程法规及相关知识>.<建设工程施工管理>.<建设工程经济>三个科目试卷均为客观题,考生用2B铅笔在答题卡上作答. <专业工程管理与实务>科目试卷由主观题和客观题组成:主观题部分考生须用 ...

  • 下列关于个人计算机的叙述中1
  • 下列关于个人计算机的叙述中,错误的是__C_____. A.个人计算机的英文缩写是PC B.个人计算机又称为微机 C.世界上第一台计算机是个人计算机 D.个人计算机是以微处理器为核心的计算机 下列关于个人计算机的叙述中,错误的是__B_______. A.个人计算机将运算器和控制器做在一块大规模集成 ...

  • 二级市政模拟题一
  • 2011年二级建造师<市政工程>冲刺备考(1) 2011-06-14 11:57 [大 中 小][打印][我要纠错] 1.选择锤击沉桩设备的一般思路为:( ). A.选择锤重→选择锤型→选择桩架 B.选择锤型→选择锤重→选择桩架 C.选择桩架→选择锤重→选择锤型 D.选择桩架→选择锤型→ ...

  • "考试题库系统"软件设计文档
  • [项目名称] 基础类课程考试系统 软件需求说明书 [V1.0(版本号)] 拟 制 人___ __________________ 负 责 人______________________ 批 准 人______________________ [二00三年九月十日] "基础类课程考试系统&q ...

  • 2012年环境影响评价技术方法作业12
  • 一.单选题: 1.据 <环境影响评价技术导则-生态影响>,当成图面积≥l00km2时,一级生态影响评价的成图比例尺应( ). A.≥1:25万 B.≥1:5万 C.≥1:50万 D.≥1:10万 你的答案: 标准答案: d 本题分数: 6.72 分,你答题的情况为 错误 所以你的得分为 ...

  • 助理电子商务师模拟三
  • 助理电子商务.模拟三 单项选择题部分 (共80题每.1分 共80分) 49. 关于建立邮件列表的说法错误的是 (1分) A 邮件列表的用户数量需要较长时期的积累,为了获得更多的用户,还需要对邮件列表本身进行必要 的推广,需要投入相当的营销资源 B 邮件列表的建立通常要与网站的其他功能分开,由一个人或 ...

  • 注册安全工程师模拟试题一(2011年新版)
  • 详 细 情 况 一.单选题: 1. 以下不属于机械设备的危险部位的是().P2 A.传输皮带和皮带轮的咬合处 B.动力压力机的滑枕 C.金属刨床的床身 D.机床的基础 你的答案: 标准答案: d 本题分数: 1.06 分,你答题的情况为 错误 所以你的得分为 0 分 解 析: 2. 在机械设备上采用 ...

  • 水利二建考试试技巧
  • 水利水电工程管理与实务 应试技巧班 一.备考基本程序 1.准备好考试大纲和教材 按照考试大纲的要求,将需要掌握.熟悉和了解 的内容用不同的符号或不同颜色的笔迹在考试指定教 材中作好标记,以备在学习中随时掌控. 2.全面通读教材 通读教材需要一定的时间和精力投入,应试者宜 早作安排.强调对教材的通读, ...