第一篇:软件工程自考课后习题4
第八章习题参考答案 软件维护有哪些内容? 答:(1)校正性维护。在软件交付使用后,一些隐含的错误在某些特定的使用环境下会暴露出来。为了识别和纠正错误,修改软件性能上的缺陷,应进行确定和修改错误的过程,这个过程就称为校正性维护。(2)适应性维护。为了使应用软件适应计算机硬件、软件环境及数据环境的不断发生的变化而修改软件的过程称为适应性维护。(3)完善性维护。为增加软件功能、增强软件性能、提高软件运行效率而进行的维护活动称为完善性维护。(4)预防性维护。为了提高软件的可维护性和可靠性而对软件进行的修改称为预防性维护。软件维护的特点是什么? 答:主要体现在三个方面:
(1)非结构化维护和结构化维护。软件的开发过程对软件的维护有很大的影响。若不采用软件工程的方法开发软件,则软件只有程序而无文档,维护工作非常困难,这是一种非结构化的维护。若采用软件工程的方法开发软件,则各阶段都有相应的文档,容易进行维护工作,这是一种结构化的维护。
(2)维护的困难性。软件维护的困难性是由于软件需求分析和开发方法的缺陷。软件生存周期中的开发阶段没有严格而又科学的管理和规划,就会引起软件运行时的维护困难。
(3)软件维护的费用。软件维护的费用在总费用中的比重是在不断增加的,这是软件维护有形的代价。另外还有无形的代价,即要占有更多的资源。软件维护费用增加的占有原因是软件维护的生产率非常低。软件维护的流程是什么?
答:软件维护的流程如下:知道维护申请报告、审查申请报告并批准、运行维护并做详细记录、复审。软件维护的副作用有哪些? 答:维护的副作用有以下三种:
(1)编码副作用。在使用程序设计语言修改源代码时可能引入的错误。
(2)数据副作用。在修改数据结构时,有可能造成软件设计与数据结构不匹配,因而导致软件错误。数据副作用是修改软件信息结构导致的结果。但它可以通过详细的设计文档加以控制。
(3)文档副作用。如果对可执行软件的修改没有反映在文档中,就会产生文档副作用。什么是软件可维护性?可维护性度量的特性是什么?
答:软件可维护性的定义:软件能够被理解、校正、适应及增强功能的容易程度。软件的可维护性可用以下七个质量特性来衡量,即可理解性、可测试性、可修改性、可靠性、可移植性、可使用性和效率。提高可维护性的方法有哪些? 答:(1)建立明确的软件质量目标。(2)使用先进的软件开发技术和工具。(3)建立明确的质量保证。(4)选择可维护性的程序设计语言。(5)改进程序的文档。第九章习题参考答案
渐增模型有几种?各有何特点? 答:渐增模型有两种类型,一是增量构造模型,二是演化提交模型。增量构造模型是在瀑布模型基础上,对一些阶段进行整体开发,对另一些阶段进行增量开发。演化提交模型则是在瀑布模型的基础上,所有阶段都进行增量开发,不仅是增量开发,也是增量提交。
2、快速原型模型有几种,各有什么特点?
答:快速原形模型根据原型的不同作用,有三类原型模型:
探索型原型:把原型用于开发的需求分析阶段,目的是要弄清用户的需求,确定所期望的特性,并探索各种方案的可行性。它主要针对开发目标模糊,用户与开发者对项目都缺乏经验的情况,通过对原型的开发来明确用户的需求。
实验型原型:主要用于设计阶段,考核实现方安是否合适,能否实现。对于一个大型系统,若对设计方案心中没有把握时,可通过这种原型的开发来证实设计方案的正确性。
(3)演化型原型:它将原型思想扩展到软件开发的全过程,就是及早向用户提交一个原型系统,在得到用户认可后,将原型系统不断扩充演化为最终的软件系统。快速原型的开发步骤是什么? 答:快速原型的开发步骤是:(1)快速分析:在分析人员与用户的配合下,迅速确定系统基本需求并开始构造原型。(2)构造原型:在快速分析的基础上,根据基本需求说明尽快实现一个可运行的系统。(3)运行原型:通过运行快速原型,发现问题,消除误解,达到开发者也用户的充分协调。(4)评价原型:在运行的基础上,评价原型的特性,分析运行效果是否满足用户的需求,提出全面的修改意见。(5)修改:根据评价原型的活动结果进行修改,修改过程代替初始的快速分析,从而实现原型开发的循环过程。用户与开发者在这种循环过程中不断接近系统的最终要求。上述步骤在软件工具的支持下往往是互相交融在一起的,而不再象瀑布模型那样严格的阶段划分,线性推进。评价快速原型模型的优缺点。答:快速原型的优点是:(1)可及早为用户提供有用的产品。(2)可及早发现问题,随时纠正错误。(3)减少技术、应用风险,缩短开发时间,减少费用、提高生产率。(4)通过实际运行原型,提供直接评价系统的方法,促使用户主动参与开发活动,加强了信息反馈,促进各类人员的协调,减少误解,适应需求变化,能有效提高系统质量。快速原型的缺点是:1.缺乏丰富而强有力的软件工具和开发环境。2.缺乏有效的管理机制,还未建立起自己的开发标准。3.对设计开发环境要求较高。(4)在多次重复改变原型的过程中,程序员会感到厌倦。(5)系统的易变性对测试有一定影响,难于做到彻底测试,更新文档较为困难。
4、比瀑布模型与增量模型,指出增量模型的新思路。
答:瀑布模型属于整体开发模型,它规定在开始下一个阶段的工作之前,必须完成前一阶段的所有细节。瀑布模型很难适应需求可变、模糊不定的软件系统的开发,而且在开发过程中用户很难参与进去,只有到开发结束才能看到整个软件系统。这种理想的、线性的开发过程缺乏灵活性,不适应实际的开发过程。增量模型是在瀑布模型的基础上加以修改而形成的。属于非整体开发模型。
它的基本思路是为了使开发过程具有一定的灵活性和可修改性,在开发过程中推迟某些阶段或所有阶段中的细节,从而较早的产生工作软件。第十章习题参考答案
说明对象、类、类结构、消息的基本概念。答:(1)对象:对象是人们要进行研究的任何事物,它不仅能表示具体的事物,还能表示抽象的规则、计划或事件。对象包括有形实体、作用、事件、性能说明等类型。对象具有状态和行为。一个对象用数据值来描述它的状态,对象的操作则用于改变状态,对象及其操作就是对象的行为。对象实现了数据和操作的结合,使数据和操作封装于对象的统一体中。对象内的数据具有自己的操作,从而可灵活地专门描述对象的独特行为,具有较强的独立性和自治性,其内部状态不受或很少受外界的影响,具有很好的模块化特点。为软件重用奠定了坚实的基础。(2)类:具有相同或相似性质的对象的抽象就是类。因此,对象的抽象就是类,类的具体化就是对象,也可以说类的实例是对象。(3)类结构:类与类之间的结构关系,包括一般-具体结构关系和整体-部分结构关系。一般-具体关系结构称为分类结构,也可以说是“或”关系或“is a”关系,类的这种层次结构可用来描述现实世界中的一般化的抽象关系,通常越在上层的类越具有一般性和共性,越在下层的类越具体、越细化。整体-部分结构称为组装结构,它们之间的关系是一种“与”关系,或者是“has a”关系。类的这种层次关系可用来描述现实世界中的类的组成的抽象关系。上层的类具有整体性,下层的类具有成员性。在类的层次结构中,通常上层的类称为父类或超类,下层类称为子类。(4)消息:对象之间进行通信的构造叫做消息。在对旬的操作中,当一个消息发送给某个对象时,消息包含接收对象去执行某种操作的信息。接收消息的对象经过解释,然后给予响应。这种通信机制称为消息传递。发送一条消息的格式是“对象名.方法名(参数)”。说明面向对象的特征和要素。答:面向对象的特征是:(1)对象唯一性。每个对象都有自身唯一的标识,在对象生存期中,其标识不变,不同的对象不能有不同的标识。(2)分类性。是指将具有一致的数据结构(属性)和行为(操作)的对象抽象成类(3)继承性。是子类自动共享父类数据结构和方法的机制,这是类之间的一种关系。(4)多态性。是指相同的操作或函数过程可以作用于多种类型的对象上并获得不同的结果。面向对象的要素是:1.抽象。2.封装性(信息隐蔽)(3)共享性。说明动态模型的特征,说明事件,脚本、状态的含义。
答:动态模型是与时间和变化有关的系统性质,该模型描述了系统的控制结构,它表示了瞬时的、行为化的系统控制性质,它关心的是系统的控制,操作的执行顺序,它从对象的事件和状态的角度出发,表现了相互行为。事件是指特定时刻发生的某件事情,它是某事情发生的信号,它没有持续时间,它是一种相对性的快速事件。脚本是完成系统某个功能事件序列,侧重于表达说明发生于系统执行过程中的一个特定场景,用事件跟踪图表达。状态是对象属性值的抽象。状态指明了对象对输入事件的响应。说明功能模型的特征,比较功能模型的DFD和结构化方法的DFD异同。
答:功能模型描述了系统的所有计算。功能模型指出发生了什么,动态模型确定什么时候发生,而对象模型确定发生的客体。功能模型表明一个计算如何从输入值得到输出值,它不考虑所计算的次序。功能模型由多张数据流图组成。数据流图说明数据流是如何从外部输入、经过操作和内部存储输出到外部的。功能模型也包括对象模型中值的约束条件。
说明三种分析模型的关系。答:三种分析模型之间关系是这样的:功能模型指出发生了什么,动态模型确定什么时候发生,而对象模型确定发生的客体。说明对象建模的过程。
答:对象建模的过程如下:首先标识类和关联,因为它们影响了整体结构和解决问题的方法,其次是增加属性,进一步描述类和关联的基本网络,使用继承合并和组织类,最后将操作增加到类中去作为构造动态模型和功能模型的副产品。(1)确定类。构造对象模型的第一步是标出来自问题域的相关对象类,包括物理实体和概念。所有类在应用中都必须有意义。检查问题陈述中的所有名词,产生暂定类。然后去掉不必要的类和不正确的类。(2)准备数据字典。为所有建模实体准备一个数据词典。准确描述各个类的精确含义,描述当前问题中的类的范围,包括对类的成员、用法方面的假设或限制。1.确定关联。两个或多个类之间的相互依赖就是关联。从问题中抽取所有可能的关联表示,把它们记下来,但不要过早去细化这些表述。2.确定属性。属性是个体对象的性质,通常用修饰性的名词词组来表示。只考虑与具体应用直接相关的属性,不考虑那些超出问题范围的属性,首先找出重要属性,避免那些只用于实现的属性,要为各个属性取有意义的名字。3使用继承来细化类。4.完善对象模型。说明功能建模的过程。答:功能建模的过程如下:(1)确定输入、输出值(2)建立数据流图
10、说明对象设计的步骤。
答:对象设计要确定实现用到的类、关联的完整定义,接口的形式以及实现操作方法的算法,可以增加实现必须的内部对象,对数据结构和算法进行优化。1.获得操作 2确定操作的目标对象 3.算法设计 4.优化设计 5.控制的实现 6调整继承(7)关联的设计 第十一章习题参考答案
软件质量与软件质量保证的含义是什么? 答:从实际应用来说,软件质量定义包括三个一致性:1.与所确定的功能和性能需求的一致性;(2)与所成文的开发标准的一致性; 3.与所有专业开发的软件所期望的隐含特性的一致性。4.软件质量保证是指确定、达到和维护所需要的软件质量而进行的所有有计划、有系统的管理活动。影响软件质量的因素有哪些? 答:影响软件质量的因素分为可以直接度量的因素(如单位时间内千行代码中所产生的错误)和只能间接度量的因素(如可用性和可维护性)。
什么是软件质量保证策略?软件质量保证的主要任务是什么? 答:软件质量保证策略是指软件质量保证工作的过程和侧重点。
质量保证的主要任务包括以下几点:1.正确定义用户的要求。2.技术方法的应用。3.提高软件开发的工程能力。4.软件的复用。5.发挥每个开发者的能力。6.组织外部力量协作。7.排除无效劳动。(8)提高计划和管理质量。
程序复杂性的度量方法有哪些? 答:软件复杂性的度量方法有:1.代码行度量法:以源代码行数作为程序复杂性的度量。
2、McCabe度量法:一种基于程序控制流的复杂性度量方法。什么是软件的可靠性?它们能否定量计算? 答:软件可靠性是指在给定的时间内,在规定的环境条件下系统完成所指定功能的概率。衡量软件可靠性的两个常用指标是平均失效等待时间MTTF和平均失效间隔时间MTBF。就是说可以定量计算。
7、说明容错软件的定义与容错的一般方法。答:容错软件的定义有四种,指规定功能的软件,(1)在一定程度上对自身错误的作用具有屏蔽能力的软件。(2)在一定程度上能从错误状态自动恢复到正常状态的软件。(3)在因错误而发生错误时,仍然能在一定程度上完成预期的功能的软件。(4)在一定程度上具有容错能力的软件。
实现容错技术的主要手段是冗余。冗余通常分为四类:1.结构冗余,又分为静态、动态和混合冗余三种。2.信息冗余 3.时间冗余(4)冗余附加技术 第十二章习题参考答案
软件工程管理包括哪些内容? 答:软件工程管理的具体内容包括对开发人员、组织机构、用户、文档资料等方面的管理。
2、软件项目计划中包括哪些内容?
答:软件项目计划内容包括:1.范围 2.资源 3.进度安排 4成本估算(5)培训计划
3、软件开发成本估算方法有哪几种? 答:软件开发成本估算的方法主要有:(1)自顶向下估算方法(2)自底向上估算方法(3)差别估算方法 以及专家估算法、类推估算法、算式估算法等几类方法。
4、什么是软件配置管理?什么是基线?
答:软件配置管理,简称SCM(Software Configuration Management),是指一组管理整个软件生存期各阶段中变更的活动。软件配置管理技术可以使软件变更所产生的错误达到最小并最有效地提高生产率。基线:是软件生存期中各开发阶段的一个特定点,它的作用是把开发各阶段工作的划分更加明确化,使本来连续的工作在这些点上断开,以便于检查与肯定阶段成果。
5、软件工程标准化的意义是什么?都有哪些软件工程标准? 答:软件工程标准化可以为软件工程各个阶段的活动提供统一的行动规范和衡量准则,使得各种工作都能有章可循。软件工程标准根据其制定机构与适用范围,可分为:1.国际标准2.国家标准 3.行业标准 4.企业规范
5、项目(课题)规范
6、请说明软件文档的作用?
答:软件文档的作用是:1.提高软件开发过程的能见度;2.提高开发效率;3.作为开发人员阶段工作成果和结束标志;4.记录开发过程的有关信息便于使用与维护;5.提供软件运行、维护和培训有关资料;6.便于用户了解软件功能、性能。第十三章习题参考答案
1、什么是软件开发环境?请列出其发展情况。
答:软件开发环境是指在计算机的基本软件的基础上,为支持软件的开发而提供的一组工具软件系统。具体地说,软件开发环境是一组相关工具的集合。这些相关工具按一定的开发方法或一定开发处理模型组织起来的,这些相关工具支持整个软件生存期的各阶段或部分阶段。软件开发环境的发展阶段:
(1)70年代,软件开发与设计方法出现了结构化分析技术的一整套相互衔接的SA-SD的方法学。与此相适应的计算机辅助软件工程技术则主要由开发孤立的软件工具而逐步向程序设计环境的开发和使用方向发展,出现了第一代的基于正文的CASE工具。
(2)80年代中期与后期,主要是实时系统设计方法,以及面向对象的分析和设计方法的发展,它克服了结构化技术的缺点。在这期间开发了第二代的CASE工具,其特点是支持使用图形表示的结构化方法,如数据流图与结构图。其开发环境表现在提高环境中工具的集成性方面,如“集成的项目支持环境”。
(3)80年代后期和90年代初期出现了“基于信息工程CASE”技术,这种环境集成了用于项目计划、分析、设计、编程、测试和维护的一个工具箱的集合。
(4)90年代出现一系列集成的CASE软件产品,用以实现需求管理、应用程序分析设计和建模、编码、软件质量保证和测试、过程和项目管理及文档生成管理等软件开发工作的规范化、工程化和自动化。
2、请叙述软件开发环境的分类。答:软件开发环境可按解决的问题、软件开发环境的演变趋向和集成化程度进行分类:(1)按解决的问题可分为:程序设计环境、系统合成环境、项目管理环境三类。(2)按软件开发环境的演变趋向可分为:以语言为中心的环境、工具箱环境和基于方法的环境三类。(3)按集成化程度有第一代、第二代、第三代的开发环境。
3、何谓软件工具?通常包含哪几部分?答:软件工具的定义是:可用来帮助和支持软件需求分析、软件开发、测试、维护、模拟、移植或管理而编制的计算机程序或软件。软件工具是一个程序系统。软件工具通常由工具、工具接口和工具用户接口三部分构成。
4、当今软件工具发展有何特点? 答:软件工具的发展有以下特点:(1)软件工具由单个工具向多个工具集成化方向发展。(2)重视用户界面设计。(3)不断地采用新理论和新技术。(4)软件工具的商品化与软件产业的发展形成良性互动。
5、什么是CASE?CASE工具有哪些分类?答:CASE是一组工具和方法的集合,可以辅助软件开发生命周期各阶段进行软件开发。CASE把软件开发技术、软件工具和软件开发方法集成到一个统一而一致的架中,并且吸收了CAD(计算机辅助设计)、软件工程、操作系统、数据库、网络和许多其他计算机领域的原理和技术。因而,CASE领域是一个应用、集成和综合的领域。根据CASE系统对软件过程的支持范围,CASE可分为三类:(1)支持单个过程任务的工具。(2)支持某一过程所有活动或某些活动的工作台。(3)环境支持软件过程大部分乃至所有活动,一般包括几个不同工作台的集合。
6、请叙述集成化CASE的五级模型。答:集成化CASE的五级模型包括(1)平台集成:工具运行在相同的硬件/操作系统平台上(2)数据集成:工具使用共享数据模型来操作(3)表示集成:工具使用相同的用户界面(4)控制集成:工具激活后能控制其他操作(5)过程集成:工具在一个过程模型和“过程机”的指导下使用
7、CASE工作台有哪些分类? 答:CASE工具台是一组工具集,支持像设计、实现或测试等特定的软件开发阶段。CASE工具组装成一个工具台后工具能协同工作,可提供比单一工具更好的支持。CASE工作台包括:(1)程序设计工作台。由支持程序设计的一组工具组成。(2)分析和设计工作台。支持软件过程的分析和设计阶段。(3)测试工作台。(4)交叉开发工作台。这些工作台支持在一种机器上开发软件,而在其他的系统上运行所开发的软件。(5)配置管理(CM)工作台。这些工作台支持配置管理。(6)文档工作台。这些工具支持高质量文档的制作。(7)项目管理工作台。支持项目管理活动。
第二篇:软件工程课后习题答案
第一章习题参考答案
1﹑软件产品的特性是什么? 答:软件产品特性:
⑴是一种逻辑产品,与物质产品有很大的区别。
⑵软件产品的生产主要是研制,生产成本主要在开发和研制,开发研制完成后,通过复制就产生了大量软件产品。⑶软件产品不会用坏,不存在磨损,消耗。
⑷生产主要是脑力劳动,还末完全摆脱手工开发方式,大部分产品是“定做”的⑸开发软件的费用不断增加,致使生产成本相当昂贵。2﹑软件生产有几个阶段?各有何特征?
答:⑴程序设计时代:这个阶段生产方式是个体劳动,使用的生产工具是机器语言,汇编语言。
⑵程序系统时代:这个阶段生产方式是小集团合作生产,使用的生产工具是高级语言,开发方法仍依靠个人技巧,但开始提出结构化方法。
⑶软件工程时代:这个阶段生产方式是工程化的生产,使用数据库﹑开发工具﹑开发环境﹑网络﹑分布式﹑面向对象技术来开发软件。
3﹑什么是软件危机?产生原因是什么?答:软件开发技术的进步未能满足发展的要求。在软件开发中遇到的问题找不到解决的办法,问题积累起来,形态尖锐的矛盾,导致了软件危机。产生原因:⑴ 软件规模越来越大,结构越来越复杂。⑵ 软件开发管理困难而复杂。⑶ 软件包开发费用不断增加。⑷ 软件开发技术落后。⑸ 生产方式落后,仍采用手工方式。⑹ 开发工具落后,生产率提高缓慢。
4﹑什么是软件工程?它目标和内容是什么?
答:软件工程就是用科学的知识程和技术原理来定义,开发,维护软件的一门学科。软件工程目标:付出较低开发成本;达到要求的功能;取得较好的性能;开发的软件易于移植;只需较低的维护费用;能按时完成开发任务,及时交付使用;开发的软件可靠性高。软件工程内容:研究内容包括开发技术和开发管理两个方面。开发技术主要研究:软件开发方法,开发过程,开发工具和环境。开发管理主要研究:软件管理学,软件经济学,软件心理学。
5﹑软件工程面临的问题是什么?
答:软件工程需要解决的问题:软件的费用,可靠性,可维护性,软件生产率和软件的重用。
6﹑什么是软件生存周期?它有哪几个活动?
答:软件生存周期:一个软件从提出开发要求开始直到该软件报废为止的整个时期。包括:可行性分析和项目开发计划,需求分析,概要设计,详细设计,编码,测试,维护。7﹑什么是软件生存周期模型?有哪些主要模型?
答:生存周期模型:描述软件开发过程中各种活动如何执行的模型。对软件开发提供强有力的支持,为开发过程中的活动提供统一的政策保证,为参与开发的人员提供帮助和指导,是软件生存周期模型化技术的基础,也是建立软件开发环境的核心。主要有:瀑布模型,增量模型,螺旋模型,喷泉模型,基于知识的模型,变换模型。
8﹑什么是软件开发方法?有哪些主要方法?
答:使用早已定义好的技术集及符号表示习惯来组织软件生产的过程。通过使用成功的软件开发方法,在规定的投资和时间内,开发出符合用户需求的高质量的软件。软件开发方法是克服软件危机的重要方面之一,对软件工程及软件包产业的发展起了不可估量的作用。
主要有:结构化方法,JACKSON方法,维也纳开发方法﹙VDM﹚,面向对象开发方法。第二章习题参考答案
1.可行性研究的任务是什么?
答:可行研究的任务:首先需要进行概要的分析研究,初步确定项目的规模,目标,约束和限制。分析员再进行简要的需求分析,抽象出项目的逻辑结构,建立逻辑模型。从逻辑模型出发,经过压缩的设计,探索出若干种可供选择的解决方法,对每种解决方法都要研究它的可行性。
主要从三个方面考虑:⑴技术可行性:一般要考虑的情况包括 开发的风险即设计出的系统能否达到要求的功能和性能;资源的有效性;相关技术的发展是否支持;⑵经济可行性:进行开发成本的估算以及了解取得效益的评估,确定要开发的项目是否值得投资。⑶社会可行性:要开发的项目是否存在任何侵权问题,运行方式在用户组织内是否可行,现有管理制度﹑人员素质﹑操作方式是否可行。2.可行性研究有哪些步骤?
答:⑴确定项目规模和目标;⑵研究正在运行的系统;收集﹑研究﹑分析现有系统的文档资料,实地考察系统访问有关人员,然后描绘现有系统的高层系统流程图。⑶建立新系统的高层逻辑模型;使用数据流图和数据字典描述数据在系统中的流动和处理情况。⑷导出和评价各种方案;导出若干较高层次的物理解决方法,根据技术可行性﹑经济可行性﹑社会可行性进行评估,得到可行的解决方法。⑸推荐可行方案;进行成本~效益分析,决定该项目是否值得开发,若值得开发那么解决方案是什么,并且说明该方案可行的原因和理由。⑹编写可行性研究报告;将上述可行性过程的结果写成相应文档,即可行性研究报告。
3.可行性研究报告有哪些主要内容?
答:⑴引言:编写本文档的目的;项目名称﹑背景;本文档用到的专门术语和参考资料。⑵可行性研究前提:说明开发项目的功能﹑性能和基本要求;达到的目标;各种限制条件;可行性研究方法和决定可行性的主要因素。⑶对现有系统的分析:说明现有系统的处理流程和数据流程;工作负荷;各项费用支出;所需各类专业技术人吧和数量;所需各种设备;向有系统存在什么问题。⑷所建议的技术可行性分析:所建议系统的简要说明;处理流程和数据流程;与现有系统比较的优越性;采用所建议系统对用户的影响;对各种设备﹑现有软件﹑开发环境﹑运行环境的影响;对经费支出的影响;对技术可行性的评价。⑸所建议系统的经济可行性分析:说明建议系统的确良各种支出,各种效益;收益投资比;投资顺收周期。⑹社会因素可行性分析:说明法律因素,对合同责任﹑侵犯专利权﹑侵犯版权等问题的分析;说明用户使用可行性,是否满足用户行政管理﹑工作制度﹑人吧素质的要求。⑺其它可供选择方案:逐一说明其他可供选择的方案,并说明未被推荐的理由。⑻结论意见:说明项目是否能开发;还需什么条件才能开发;对项目目标有何变动等。
4.成本--效益分析可用哪些指标进行度量?
答:⑴投资回收率:通常把建立系统若干年后能取得的收益折算成现在的价值和开发系统所需的费用进行比较得出投资回收率。⑵投资回收期:就是使累计的经济效益等于最初的投资费用所需的时间。⑶纯收入:整个生存周期之内的累计经济效益(折成现在值)与投资之差。5.项目开发计划有哪些内容?
答:⑴项目概述:说明项目的各项主要工作;说明软件的功能﹑性能;为完成项目应具有的条件;用户及合同承包者承担的工作完成的期限及其他条件限制;应交付的程序名称;所使用的语言及程储形式;应交付的文档。⑵实施计划:说明任务的划分,各任务责任人,项目开发进度,项目的预算,各阶段的费用支出,各阶段应完成的任务,用图表说明每项任务的开始和完成时间。⑶人员组织及分工:所需人员类型﹑数量﹑组成结构。⑷交付期限:最后完工日期。
第三章习题参考答案
⒈什么是需求分析?需求分析阶段的基本任务是什么?
答:需求分析:开发人员准确地理解用户的要求,进行细致的调查分析,将用户非形式的需求陈述转化为完整的需求定义,再由需求定义转换到相应的需求规格说明的过程。
基本任务:⑴问题识别:双方确定对问题的综合需求,这些需求包括功能需求,性能需求,环境需求,用户界面需求。⑵分析与综合,导出软件的逻辑模型⑶编写文档:包括编写“需求规格说明书”,“初步用户使用手册”,“确认测试计划”,“修改完善软件开发计划”
⒉什么是结构分析方法?该方法使用什么描述工具?
答:结构化分析:简称SA,面向数据流进行数据分析的方法。采用自顶向下逐层分解的分析策略。顶层抽象地描述整个系统,底层具体地画出系统工程的每个细节。中间层则是从抽象到具体的过渡。使用数据流图,数据字典,作为描述工具,使用结构化语言,判定表,判定树描述加工逻辑。⒊结构化分析方法通过哪些步骤来实现? 答:⑴了解当前系统的工作流程,获得当前系统的物理模型。⑵抽象出当前系统的逻辑模型。⑶建立目标系统的逻辑模型。⑷作进一步补充和优化。
⒌画数据流图应注意什么事项?
答:命名: 不能使用缺乏具体含义的名字,加工名应能反映出处理的功能。1.画数据流而不是控制流。数据流名称只能是名词或名词短语,整个图中不反映加工的执行顺序。
一般不画物质流。2.每个加工至少有一个输入数据流和一个输出数据流,反映出此加工数据的来源与加工的结果。
编号: 某个加工分解成加一张数据流图时,上层图为父图,下
层图为子图。子图应编号子图上的所有加工也应编号,子图的编号应与父图的编号相对应。3.父图与子图的平衡:子图的输入输出 数据流同父图相应加工的输入输出数据流必须一致⑵抽象:认识复杂现象过程所使用权的工具,只考虑事物本质的共同特性,忽略细节和其它因素。通过抽象确定组成软件的过程实体。⑶信息隐蔽:将模块实现自身功能的细节与数据“局部数据存储:当某慨数据流图中的数据存储不是父图中相应加工的外部接口,而只是本图中某些加工之间的数据接口,则称这些数据存储为局部数据存储。注意数据流图的易理解性。
⒍什么是数据字典?其作用是什么?共有哪些条目?
答:数据字典(DD)用来定义数据库流图中的各个成分的具体含义。有以下四类条目:数据流,数据项,数据存储,基本加工。
⒎描述加工逻辑有哪些工具?
答:加工逻辑的描述:一般用结构化语言,判定表,判定树 结构化语言是介于自然语言和形式语言之间的一种半形式化语言。它的结构可分里层和内层
⑴外层:用来描述控制结构,采用顺序,选择,重复三种基本结构。
顺序结构:是一组祈使语句,选择语句,重复语句的顺序排列 ②选择结构:一般用IF-THEN-ELASE-ENDIF,CASE-OF-ENDCASE等关键词。
③重复结构:一般用DO-WHILE-ENDDO,REPEAT-UNTIL等关键词。⑵内层:一般采用祈使语句的自然语言短语,使用数据字典中的名词和有限的自定义词,其 动词含义要具体,尽量不使用形容词和副词来修饰。
⒏什么是IDEF方法?IDEF0方法有哪些特点?答:IDEF方法是美国空军针对计算机辅助制造工程项目中用于进行复杂系统分析和设计的方法,是在结构化分析方法基础上提出来的。
包括: IDEF0描述系统的功能活动及联系,建立系统的功能模型。即反映系统”做什么“折功能。IDEF1描述系统的信息及联系,建立系统的信息模型。IDEF2进行系统模拟,建立系统的动态模型。IDEF0特点:
⑴采用方框和箭头等简单图形符号描述系统的活动和数据流,描述活动所受的约束条件及实现机制。
如下图描述,其中输入为完成某活动时所需的数据,输出指执行活动产生时的数据,控制活动指所受到的约束条件,机制是指活动由谁来完成。⑵采用严格的自顶向下﹑逐层分解的方式建立系统功能模型。
⒐简述SA方法的优缺点。答:SA方法是软件需求分析中公认的,有成效的,技术成熟,使用广泛的一种结构化分析方法。较适用于开发数据处理类型软件的需求分析。利用图形等半形式化工具表达需求,简明,易读,也易于使用。但也存在一些弱点,表现如下:⑴SA方法仅是一个静态模型,没有反映处理的顺序,即控制流程。⑵SA方法使用DFD在分析与描述”数据要求“方面是有局限的,只有与数据库技术中的实体联系图(ER图)结合起来,才能较完整地描述用户对系统的需求。⑶DFD不适合描述人机界面系统的要求,一些人机交互较频繁的软件系统。⑷SA方法要与形式化方法结合起来,才能更精确地描述软件需求。⑸要借助需求分析工具,提高需求分析的质量及效率。
第四章习题参考答案
1、什么是软件概要设计?该阶段的基本任务是什么?
答:把一个软件需求转换为软件表示时,首先设计出软件总的体系结构。称为概要设计或结构设计。基本任务:⑴设计软件系统结构,具体为:1.采用某种设计方法,将一个复杂的系统按功能划分为模块。2.确定每个模块的功能。3.确定模块之间的调用关系。4.确定模块之间的接口(模块之间传递的信息)评价模块的结构质量⑵进行数据结构及数据库的设计⑶编写概要设计的文档 主要内容有:概要设计说明书,数据库说明书(DBMS的简介,概念模型,逻辑设计,结果)用户手册,修订测试计划(测试的策略﹑方法﹑步骤)⑷评审:是否完整地实现了规定的功能﹑性能要求。设计方案是否可行。关键的处理及内部接口定义的正确性,有效性,各部分的一致性。
2、软件设计的基本原理包括哪些内容?
答:⑴模块化:模块是软件的组成部分,是具有独立功能且可命名的一段程序,所有模块组成整体,可以满足问题的要求。模块化即按照一定的原则,将软件划分成若干个模块,每个模块完成一个特定的功能,然后把这些模块按照某种方法组装成一个软件系统。(可降低复杂度、减少工作量)
模块具有以下几种特性:接口:模块的输入输出。功能:指模块实现什么功能。逻辑:描述模块内部如何实现要求及所需的数据。状态:该模块的运行环境,模块间调用与被调用关系。
隐蔽”起来。模块间仅交换为完成系统功能所必须的信息。⑷模块独立性:每个模块只完成系统要求的独立的子功能。
3、衡量模块独立性的两个标准是什么?各表示什么含义? 答:内聚:又称为块内联系,指模块内部各成分之间相互关联的程度,以高内聚为设计目标。耦合:也称块间联系,模块之间相互联系程度的度量,联系越紧密,耦合性越强,独立性越差,以低耦合为设计目标。
4、模块的耦合性有哪几种?各表示什么含义?
答:⑴内容耦合:一个模块直接操作或修改另一模块的数据,或者不通过正常入口直接转入另一模块⑵公共耦合:两个或多个模块通过共同引用一个全局数据环境相互作用⑶控制耦合:模块之间通过传递控制信息相互作用⑷标记耦合:两个模块之间通过传递公共指针或地址相互作用的耦合⑸数据耦合:模块之间通过传递数据交换信息⑹无耦合:模块间无任何关系,独立工作
5、模块的内聚性有哪几种?各表示什么含义?答:⑴偶然内聚:一个模块各个成分之间毫无关系⑵逻辑内聚:将几个逻辑上相关的功能放在同一个模块中⑶时间内聚:一个模块完成的功能在同一时间执行⑷过程内聚:一个模块内部的处理成分是相关的,而且必须以特定的次序执行⑸通信内聚:一个模块的所有成分都集中在同一个数据结构上⑹顺序内聚:一个模块的各个成分同一个功能密切相关,而且一个成分的输出,作为另外一个成分的输入⑺功能内聚:模块内的所有成分属于一个整体,完成单一的功能。(内聚最高)
6、什么是软件结构?简述软件结构设计的优化准则。
答:⑴改进软件结构,提高模块独立性 首先设计出软件初始结构,评价该结构,通过模块分解或合并,力求降低耦合提高内聚。⑵模块的规模应该适中⑶模块结构的深度、宽度、扇出和扇入应适中。深度:软件结构中控制的层数 宽度:软件结构中同一层次上最大模块总数 扇入:某一模块有多少直接调用它的上级模块数目(越大越好)扇出:一个模块直接控制(调用)下级模块的数目。(越少越好,3,4个为宜,不超过9个,“顶层扇出较高,中间扇出较少,底层模块高扇入多”⑷一个模块的作用域(范围),应处在这个模块的控制域(范围)之内 模块的作用域:受该模块内一个判定影响的所有模块的集合模块的控制域:这个模块本身以及所有直接或间接从属于它的模块的集合一个模块的影响范围(作用域),应处在这个模块的模块的控制范围(控制域)内。
8、什么样是“事物流”?什么是“变换流”?试将相应形式的数据流图转换为软件结构图
答:数据流图(DFD)一般可分为“变换流”,“事物流”两种。“变换流”:由输入﹑输出﹑变换(或称处理)三部分组成,是一顺序结构。“事物流”:它的某个加工,分离成许多发散的数据流,形成许多加工路径,并且根据输入值选择其中一个路径来执行。(这人加工称为事务处理中心)
9.试述“变换分析”﹑“事务分析”设计步骤。
答:变换分析设计步骤:⑴确定变换中心,逻辑输入和输出。⑵设计软件结构的顶层和第一层--变换结构:顶层的功能是完成所有模块的控制(名称应是系统名,以体现完成整个系统功能)第一层至少有三种功能模块:输入﹑输出和变换模块⑶设计中﹑下层模块,对第一层的模块自顶向下分解。输入模块由两部分组成:接收数据﹑转换成调用模块所需信息。输出模块由两部分组成:将数据转换成下属模块所需的形式﹑ 发送数据 变换模块:对每个基本加工建立一功能模块、⑷设计的优化 :输入部分求精,每个物理输入设置专门模块,以体现系统的外部接口。其它输入模块与转换数据模块都很简单时,可将它们合并。输出部分求精:每个物理输出设置专门模块,其它也可适当合并。变换部分求精:根据设计准则,对模块适当合并。事务分析的设计步骤:⑴确定事务中心和加工路径⑵设计顶层(事务机构)和第一层 顶层模块有两个功能:接收数据和根据事务类型调动相应处理模块。⑶中下层模块的设计﹑优化工作与变换结构相同。事务型软件结构包括两部分: 接收分支 发送分支出 通常包括一调度模块,当事务类型不多时,可与主模块合并。
第五章习题参考答案
1、详细设计的基本任务是什么,有哪几种描述方法?答:详细设计的基本任务包括:(1)为每个模块进行详细的算法设计(2)为模块内的数据结构进行设计(3)对数据库进行物理设计(4)其他设计(5)编写详细设计说明书(6)评审 详细设计的描述
方法有图形、表格和语言,其中图形常用结构化程序流程图、盒图和PAD(问题分析图)为描述工具,语言常用过程设计语言(PDL)来作为工具。
2、结构化程序设计的基本要点是什么?答:主要有三个:(1)采用自顶向下、逐步求精的程序设计方法(2)使用三种基本控制结构构造程序。任何程序都可以由顺序、选择、重复(循环)三种基本控制结构构造,这三种基本结构的共同点是单入口、单出口。(3)主程序员组的组织形式。
3、简述Jackson方法的设计步骤。答:Jackson方法的设计步骤如下:1.分析并确定输入数据和输出数据的逻辑结构,并用Jackson结构图表示这些数据结构。(2)找出输入数据结构和输出数据结构中有对应关系的数据单元。3.按一定的规则由输入、输出的数据结构导出程序结构。4.列出基本操作与条件,并把它们分配到程序结构图的适当位置。(5)用伪码写出程序。比较?
答:白盒法测试法把测试对象看作一个打开的盒子,测试人员须了解程序内部结构和处理过程,以检查处理过程的细节为基础,对程序中尽可能多的逻辑路径进行测试,检验内部控制结构和数据结构是否有错,实际的运行状态与预期的状态是否一致。
白盒法有下列几种覆盖标准:语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、条件组合覆盖、路径覆盖
从上到下的覆盖标准其检错能力也从弱到强,其中条件组合发现错误的能力较强,凡满足其标准的测试用例,也必然满足前四种覆盖标准。在实际的逻辑测试中,一般以条件组合覆盖为主设计测试用例,然后再补充部分用例来达到路径覆盖的测试标准。
什么是黑盒测试法?采用黑盒技术测试用例有哪几种方法?这些第六章习题参考答案
程序语言有哪些共同特征?
答:程序语言的共同特征(似为特性更符合题意)是指程序设计语言的语言特性,包括心理特性、工程特性和技术特性三个方面。语言的心理特性对人机通信的质量有主要的影响;语言的工程特性对软件开发成功一否有重要的影响,此外,语言的技术特性也会影响软件设计的质量。
在项目开发时选择程序设计语言通常考虑哪些因素?
答:通常要考虑的因素有:项目的应用领域、软件开发的方法、软件执行的环境、算法和数据结构的复杂性以及软件开发人员的知识等。
第4代语言(4GL)有哪些主要特征?答:4GL的主要特征是:1.友好的用户界面2.兼有过程性和非过程性双重特性3.高效的程序代码4.完备的数据库(5)应用程序生成器举例说明各种程序设计语言的特点及适用范围?
答:以常见的一些编程语言为例:FORTRAN语言,它不仅面向科学计算,数据处理能力也极强。适用于科学工程计算;Pascal语言,具有很强的数据和过程结构化能力,它语言简明,数据类型丰富,程序结构严谨。它是第一个体现结构化编程思想的语言。用于描述结构化算法和科学计算,操作系统的编写 ;C语言:功能强大,支持复杂的数据结构,可大量运用指针,具有丰富灵活的操作运算符及数据处理操作符,它还具有汇编语言的某些特征,使程序运行效率高。可用于许多领域,特别是在操作系统等方面有较大优势。Coble语言,它具有极强的数据定义能力,程序说明与硬件环境说明分开、数据描述与算法描述分开。结构严谨层次分明,广泛用于商业数据处理。SQL:结构化查询语言,用于对数据库进行存取管理。
汇编语言和Ada语言,主要用于实时处理和编写系统软件。Prolog、Lisp语言。Lisp是一种函数型语言,特别适用于组合问题中符号运算和表处理,用于定理证明、树的搜索和其他问题的求解。Prolog是一种逻辑型语言,它提供了支持知识表示的特性,每一个程序由一组表示事实、规则和推理的句子组成,比较接近与自然语言。这两种语言主要用于人工智能系统开发。C++、Java语言,是面向对象的设计语言,用于面向对象的方开发软件。
什么是程序设计风格?为了具有良好的设计风格,应注意哪些方面的问题?
答:程序设计风格是指一个人编制程序时所表现出来的特点、习惯、逻辑思路等。
要形成良好的程序设计风格,应从源程序文档化、数据说明、语句构造、输入输出和追求效率几个方面加以注意。第七章习题参考答案
软件测试的目的是什么?软件测试中,应注意哪些原则?
答:软件测试的目的是为了发现软件的错误。软件测试中应注意的原则有:
测试用例应由输入数据和预期的输出数据两部分组成。这样便 于对照检查,做到有的放矢。测试且例不仅选用合理输入数据,还要选择不合理的输入数据。这样能更多地发现错误,提高程序的可靠性。对于不合理的输入数据,程序应拒绝接受,并给出相应的提示。
除了检查程序是否做了它应该做的事,还应该检查程序是否做了它不应该做的事。
应制定测试计划并严格执行,排除随意性。长期保留测试用例。
对发现错误较多的程序段,应进行更深入的测试。(7)程序员应避免测试自己的程序。测试是一种“挑剔性”的行为,心理状态是测试自己程序的障碍。
什么是白盒测试法?有哪些覆盖标准?试对他们的检错能力进行
方法各有什么特点?
答:黑盒测试法把被测试对象看成是一相黑盒子,测试人员完全不考虑程序的内部结构和处理过程,只在软件接口处进行测试,依据需求规格说明书,检查程序是否满足功能要求。
采用黑盒技术测试用例的方法有:等价类的划分、边界值分析、错误推测和因果图。
软件测试要经过哪些步骤?这些测试与软件开发各阶段之间有什么关系?
答:软件测试要经过的步骤是:单元测试→集成测试→确认测试→系统测试。
单元测试对源程序中每一个程序单元进行测试,检查各个模块是否正确实现规定的功能,从而发现模块在编码中或算法中的错误。该阶段涉及编码和详细设计文档。
集成测试是为了检查与设计相关的软件体系结构的有关问题,也就是检查概要设计是否合理有效。
确认测试主要是检查已实现的软件是否满足需求规格说明书中确定了的各种需求。
系统测试是把已确认的软件与其他系统元素(如硬件、其他支持软件、数据、人工等)结合在一起进行测试。以确定软件是否可以支付使用。
单元测试有哪些内容?测试中采用什么方法?答:单元测试主要针对模块的以下五个基本特征进行测试:1.模块接口 2.局部数据结构 3.重要的执行路径4.错误处理 5.边界条件6.测试的方法是为被测试模块编写驱动模块和桩模块来实现被测试单元的可运行。通过驱动模块来模拟被测试模块的上级调用模块,以上级模块调用被测模块的格式驱动被测模块,接收被测模块的测试结构并输出。桩模块则用来代替被测试模块所调用的模块。它的作用是返回被测模块所需的信息。
什么是集成测试?非渐增式测试与渐增式测试有什么区别? 渐增式测试如何组装模块?
答:集成测试是指在单元测试的基础上,将所有模块按照设计要求组装成一个完整的系统进行的测试。
非渐增式测试是指首先对每个模块分别进行单元测试,再把所有模块组装成一个完整的系统进行的测试。而渐增式测试就是逐个把未经测试的模块组装到已经过测试的模块上去进行集成测试,每加入一个新模块进行一次集成测试,重复此过程直到程序组装完毕。渐增式测试有两种不同的组装方法:自顶向下和自底向上结合。两者区别是:(1)非渐增式方法把单元测试和集成测试分成两个不同的阶段,前一阶段完成模块的单元测试,后一阶段完成集成测试。而渐增式测试往往把单元测试和集成测试合在一起,同时完成。(2)非渐增式需要更多的工作量,因为每个模块都需要驱动模块和桩模块,而渐增式利用已测试过的模块作为驱动模块或桩模块,因此工作量少。渐增式可以较早地发现接口之间的错误,非渐增式最后组装时才发现。(3)渐增式有利于排错,发生错误往往和最近新加入的模块有关,而非渐增式发现接口错误推迟到最后,很难判断是哪一部分接口出错。(4)渐增式比较彻底,已测试的模块和新的模块再测试。(5)渐增式点用时间较多,但非渐增式所需更多的驱动模块和桩模块也占用一些时间。(6)非渐增式开始可并行测试所有模块,能充分利用人力,对测试大型软件很有意义。什么是确认测试?该阶段有哪些工作?
答:确认测试又称有效性测试。它的任务是检查软件的功能与性能是否与需求规格说明书中确定的指标相符合。因而需求说明是确认测试的基础。确认测试阶段有两项工作:进行确认测试与软件配置审查。
调试的目的是什么?调试有哪些技术手段?
答:调试则是在进行了成功的测试之后才开始的工作。调试的目的是确定错误的原因和位置,并改正错误,因此调试也称为
纠错(Debug)。调试的技术手段有简单的调试方法、归纳法、演绎法和回溯法等。第八章习题参考答案 软件维护有哪些内容? 答:(1)校正性维护。在软件交付使用后,一些隐含的错误在某些特定的使用环境下会暴露出来。为了识别和纠正错误,修改软件性能上的缺陷,应进行确定和修改错误的过程,这个过程就称为校正性维护。
(2)适应性维护。为了使应用软件适应计算机硬件、软件环境及数据环境的不断发生的变化而修改软件的过程称为适应性维护。
(3)完善性维护。为增加软件功能、增强软件性能、提高软件运行效率而进行的维护活动称为完善性维护。
(4)预防性维护。为了提高软件的可维护性和可靠性而对软件进行的修改称为预防性维护。软件维护的特点是什么? 答:主要体现在三个方面:
(1)非结构化维护和结构化维护。软件的开发过程对软件的维护有很大的影响。若不采用软件工程的方法开发软件,则软件只有程序而无文档,维护工作非常困难,这是一种非结构化的维护。若采用软件工程的方法开发软件,则各阶段都有相应的文档,容易进行维护工作,这是一种结构化的维护。
(2)维护的困难性。软件维护的困难性是由于软件需求分析和开发方法的缺陷。软件生存周期中的开发阶段没有严格而又科学的管理和规划,就会引起软件运行时的维护困难。
(3)软件维护的费用。软件维护的费用在总费用中的比重是在不断增加的,这是软件维护有形的代价。另外还有无形的代价,即要占有更多的资源。软件维护费用增加的占有原因是软件维护的生产率非常低。软件维护的流程是什么?
答:软件维护的流程如下:知道维护申请报告、审查申请报告并批准、运行维护并做详细记录、复审。软件维护的副作用有哪些? 答:维护的副作用有以下三种:
(1)编码副作用。在使用程序设计语言修改源代码时可能引入的错误。
(2)数据副作用。在修改数据结构时,有可能造成软件设计与数据结构不匹配,因而导致软件错误。数据副作用是修改软件信息结构导致的结果。但它可以通过详细的设计文档加以控制。(3)文档副作用。如果对可执行软件的修改没有反映在文档中,就会产生文档副作用。
什么是软件可维护性?可维护性度量的特性是什么?
答:软件可维护性的定义:软件能够被理解、校正、适应及增强功能的容易程度。软件的可维护性可用以下七个质量特性来衡量,即可理解性、可测试性、可修改性、可靠性、可移植性、可使用性和效率。
提高可维护性的方法有哪些? 答:(1)建立明确的软件质量目标。(2)使用先进的软件开发技术和工具。(3)建立明确的质量保证。(4)选择可维护性的程序设计语言。(5)改进程序的文档。第九章习题参考答案
渐增模型有几种?各有何特点?
答:渐增模型有两种类型,一是增量构造模型,二是演化提交模型。增量构造模型是在瀑布模型基础上,对一些阶段进行整体开发,对另一些阶段进行增量开发。演化提交模型则是在瀑布模型的基础上,所有阶段都进行增量开发,不仅是增量开发,也是增量提交。
2、快速原型模型有几种,各有什么特点?
答:快速原形模型根据原型的不同作用,有三类原型模型: 探索型原型:把原型用于开发的需求分析阶段,目的是要弄清用户的需求,确定所期望的特性,并探索各种方案的可行性。它主要针对开发目标模糊,用户与开发者对项目都缺乏经验的情况,通过对原型的开发来明确用户的需求。
实验型原型:主要用于设计阶段,考核实现方安是否合适,能否实现。对于一个大型系统,若对设计方案心中没有把握时,可通过这种原型的开发来证实设计方案的正确性。
(3)演化型原型:它将原型思想扩展到软件开发的全过程,就是及早向用户提交一个原型系统,在得到用户认可后,将原型系统不断扩充演化为最终的软件系统。快速原型的开发步骤是什么? 答:快速原型的开发步骤是:(1)快速分析:在分析人员与用户的配合下,迅速确定系统基本需求并开始构造原型。(2)构
造原型:在快速分析的基础上,根据基本需求说明尽快实现一
个可运行的系统。(3)运行原型:通过运行快速原型,发现问题,消除误解,达到开发者也用户的充分协调。(4)评价原型:在运行的基础上,评价原型的特性,分析运行效果是否满足用户的需求,提出全面的修改意见。(5)修改:根据评价原型的活动结果进行修改,修改过程代替初始的快速分析,从而实现原型开发的循环过程。用户与开发者在这种循环过程中不断接近系统的最终要求。上述步骤在软件工具的支持下往往是互相交融在一起的,而不再象瀑布模型那样严格的阶段划分,线性推进。
评价快速原型模型的优缺点。答:快速原型的优点是:(1)可及早为用户提供有用的产品。(2)可及早发现问题,随时纠正错误。(3)减少技术、应用风险,缩短开发时间,减少费用、提高生产率。(4)通过实际运行原型,提供直接评价系统的方法,促使用户主动参与开发活动,加强了信息反馈,促进各类人员的协调,减少误解,适应需求变化,能有效提高系统质量。快速原型的缺点是:1.缺乏丰富而强有力的软件工具和开发环境。2.缺乏有效的管理机制,还未建立起自己的开发标准。3.对设计开发环境要求较高。(4)在多次重复改变原型的过程中,程序员会感到厌倦。(5)系统的易变性对测试有一定影响,难于做到彻底测试,更新文档较为困难。
4、比瀑布模型与增量模型,指出增量模型的新思路。答:瀑布模型属于整体开发模型,它规定在开始下一个阶段的工作之前,必须完成前一阶段的所有细节。瀑布模型很难适应需求可变、模糊不定的软件系统的开发,而且在开发过程中用户很难参与进去,只有到开发结束才能看到整个软件系统。这种理想的、线性的开发过程缺乏灵活性,不适应实际的开发过程。增量模型是在瀑布模型的基础上加以修改而形成的。属于非整体开发模型。
它的基本思路是为了使开发过程具有一定的灵活性和可修改性,在开发过程中推迟某些阶段或所有阶段中的细节,从而较早的产生工作软件。第十章习题参考答案
说明对象、类、类结构、消息的基本概念。
答:(1)对象:对象是人们要进行研究的任何事物,它不仅能表示具体的事物,还能表示抽象的规则、计划或事件。对象包括有形实体、作用、事件、性能说明等类型。对象具有状态和行为。一个对象用数据值来描述它的状态,对象的操作则用于改变状态,对象及其操作就是对象的行为。对象实现了数据和操作的结合,使数据和操作封装于对象的统一体中。对象内的数据具有自己的操作,从而可灵活地专门描述对象的独特行为,具有较强的独立性和自治性,其内部状态不受或很少受外界的影响,具有很好的模块化特点。为软件重用奠定了坚实的基础。(2)类:具有相同或相似性质的对象的抽象就是类。因此,对象的抽象就是类,类的具体化就是对象,也可以说类的实例是对象。(3)类结构:类与类之间的结构关系,包括一般-具体结构关系和整体-部分结构关系。一般-具体关系结构称为分类结构,也可以说是“或”关系或“is a”关系,类的这种层次结构可用来描述现实世界中的一般化的抽象关系,通常越在上层的类越具有一般性和共性,越在下层的类越具体、越细化。整体-部分结构称为组装结构,它们之间的关系是一种“与”关系,或者是“has a”关系。类的这种层次关系可用来描述现实世界中的类的组成的抽象关系。上层的类具有整体性,下层的类具有成员性。在类的层次结构中,通常上层的类称为父类或超类,下层类称为子类。(4)消息:对象之间进行通信的构造叫做消息。在对旬的操作中,当一个消息发送给某个对象时,消息包含接收对象去执行某种操作的信息。接收消息的对象经过解释,然后给予响应。这种通信机制称为消息传递。发送一条消息的格式是“对象名.方法名(参数)”。
说明面向对象的特征和要素。答:面向对象的特征是:(1)对象唯一性。每个对象都有自身唯一的标识,在对象生存期中,其标识不变,不同的对象不能有不同的标识。(2)分类性。是指将具有一致的数据结构(属性)和行为(操作)的对象抽象成类(3)继承性。是子类自动共享父类数据结构和方法的机制,这是类之间的一种关系。(4)多态性。是指相同的操作或函数过程可以作用于多种类型的对象上并获得不同的结果。面向对象的要素是:1.抽象。2.封装性(信息隐蔽)(3)共享性。说明动态模型的特征,说明事件,脚本、状态的含义。
答:动态模型是与时间和变化有关的系统性质,该模型描述了系统的控制结构,它表示了瞬时的、行为化的系统控制性质,它关心的是系统的控制,操作的执行顺序,它从对象的事件和状态的角度出发,表现了相互行为。事件是指特定时刻发生的某件事情,它是某事情发生的信号,它没有持续时间,它是一种相对性的快速事件。脚本是完成系统某个功能事件序列,侧重于表达说明发生于系统执行过程中的一个特定场景,用事件跟踪图表达。状态是对象属性值的抽象。状态指明了对象对输入事件的响应。
说明功能模型的特征,比较功能模型的DFD和结构化方法的DFD异同。
答:功能模型描述了系统的所有计算。功能模型指出发生了什么,动态模型确定什么时候发生,而对象模型确定发生的客体。功能模型表明一个计算如何从输入值得到输出值,它不考虑所计算的次序。功能模型由多张数据流图组成。数据流图说明数据流是如何从外部输入、经过操作和内部存储输出到外部的。功能模型也包括对象模型中值的约束条件。
说明三种分析模型的关系。答:三种分析模型之间关系是这样的:功能模型指出发生了什么,动态模型确定什么时候发生,而对象模型确定发生的客体。说明对象建模的过程。
答:对象建模的过程如下:首先标识类和关联,因为它们影响了整体结构和解决问题的方法,其次是增加属性,进一步描述类和关联的基本网络,使用继承合并和组织类,最后将操作增加到类中去作为构造动态模型和功能模型的副产品。(1)确定类。构造对象模型的第一步是标出来自问题域的相关对象类,包括物理实体和概念。所有类在应用中都必须有意义。检查问题陈述中的所有名词,产生暂定类。然后去掉不必要的类和不正确的类。(2)准备数据字典。为所有建模实体准备一个数据词典。准确描述各个类的精确含义,描述当前问题中的类的范围,包括对类的成员、用法方面的假设或限制。1.确定关联。两个或多个类之间的相互依赖就是关联。从问题中抽取所有可能的关联表示,把它们记下来,但不要过早去细化这些表述。2.确定属性。属性是个体对象的性质,通常用修饰性的名词词组来表示。只考虑与具体应用直接相关的属性,不考虑那些超出问题范围的属性,首先找出重要属性,避免那些只用于实现的属性,要为各个属性取有意义的名字。3使用继承来细化类。4.完善对象模型。
说明功能建模的过程。答:功能建模的过程如下:(1)确定输入、输出值(2)建立数据流图
10、说明对象设计的步骤。
答:对象设计要确定实现用到的类、关联的完整定义,接口的形式以及实现操作方法的算法,可以增加实现必须的内部对象,对数据结构和算法进行优化。1.获得操作 2确定操作的目标对象 3.算法设计 4.优化设计 5.控制的实现 6调整继承(7)关联的设计
第十一章习题参考答案
软件质量与软件质量保证的含义是什么?
答:从实际应用来说,软件质量定义包括三个一致性:1.与所确定的功能和性能需求的一致性;(2)与所成文的开发标准的一致性; 3.与所有专业开发的软件所期望的隐含特性的一致性。4.软件质量保证是指确定、达到和维护所需要的软件质量而进行的所有有计划、有系统的管理活动。影响软件质量的因素有哪些? 答:影响软件质量的因素分为可以直接度量的因素(如单位时间内千行代码中所产生的错误)和只能间接度量的因素(如可用性和可维护性)。
什么是软件质量保证策略?软件质量保证的主要任务是什么? 答:软件质量保证策略是指软件质量保证工作的过程和侧重点。质量保证的主要任务包括以下几点:1.正确定义用户的要求。2.技术方法的应用。3.提高软件开发的工程能力。4.软件的复用。5.发挥每个开发者的能力。6.组织外部力量协作。7.排除无效劳动。(8)提高计划和管理质量。程序复杂性的度量方法有哪些?
答:软件复杂性的度量方法有:1.代码行度量法:以源代码行数作为程序复杂性的度量。
2、McCabe度量法:一种基于程序控制流的复杂性度量方法。
什么是软件的可靠性?它们能否定量计算?
答:软件可靠性是指在给定的时间内,在规定的环境条件下系统完成所指定功能的概率。衡量软件可靠性的两个常用指标是平均失效等待时间MTTF和平均失效间隔时间MTBF。就是说可以定量计算。
7、说明容错软件的定义与容错的一般方法。
答:容错软件的定义有四种,指规定功能的软件,(1)在一定程度上对自身错误的作用具有屏蔽能力的软件。(2)在一定程度上能从错误状态自动恢复到正常状态的软件。(3)在因错误而发生错误时,仍然能在一定程度上完成预期的功能的软件。(4)在一定程度上具有容错能力的软件。
实现容错技术的主要手段是冗余。冗余通常分为四类:1.结构冗余,又分为静态、动态和混合冗余三种。2.信息冗余 3.时间冗余(4)冗余附加技术第十二章习题参考答案
软件工程管理包括哪些内容?
答:软件工程管理的具体内容包括对开发人员、组织机构、用户、文档资料等方面的管理。
2、软件项目计划中包括哪些内容?
答:软件项目计划内容包括:1.范围 2.资源 3.进度安排 4成本估算(5)培训计划
3、软件开发成本估算方法有哪几种? 答:软件开发成本估算的方法主要有:(1)自顶向下估算方法(2)自底向上估算方法(3)差别估算方法
以及专家估算法、类推估算法、算式估算法等几类方法。
4、什么是软件配置管理?什么是基线?
答:软件配置管理,简称SCM(Software Configuration Management),是指一组管理整个软件生存期各阶段中变更的活动。软件配置管理技术可以使软件变更所产生的错误达到最小并最有效地提高生产率。
基线:是软件生存期中各开发阶段的一个特定点,它的作用是把开发各阶段工作的划分更加明确化,使本来连续的工作在这些点上断开,以便于检查与肯定阶段成果。
5、软件工程标准化的意义是什么?都有哪些软件工程标准? 答:软件工程标准化可以为软件工程各个阶段的活动提供统一的行动规范和衡量准则,使得各种工作都能有章可循。软件工程标准根据其制定机构与适用范围,可分为:1.国际标准2.国家标准 3.行业标准 4.企业规范
5、项目(课题)规范
6、请说明软件文档的作用?
答:软件文档的作用是:1.提高软件开发过程的能见度;2.提高开发效率;3.作为开发人员阶段工作成果和结束标志;4.记录开发过程的有关信息便于使用与维护;5.提供软件运行、维护和培训有关资料;6.便于用户了解软件功能、性能。第十三章习题参考答案
1、什么是软件开发环境?请列出其发展情况。
答:软件开发环境是指在计算机的基本软件的基础上,为支持软件的开发而提供的一组工具软件系统。具体地说,软件开发环境是一组相关工具的集合。这些相关工具按一定的开发方法或一定开发处理模型组织起来的,这些相关工具支持整个软件生存期的各阶段或部分阶段。软件开发环境的发展阶段:
(1)70年代,软件开发与设计方法出现了结构化分析技术的一整套相互衔接的SA-SD的方法学。与此相适应的计算机辅助软件工程技术则主要由开发孤立的软件工具而逐步向程序设计环境的开发和使用方向发展,出现了第一代的基于正文的CASE工具。
(2)80年代中期与后期,主要是实时系统设计方法,以及面向对象的分析和设计方法的发展,它克服了结构化技术的缺点。在这期间开发了第二代的CASE工具,其特点是支持使用图形表示的结构化方法,如数据流图与结构图。其开发环境表现在提高环境中工具的集成性方面,如“集成的项目支持环境”。(3)80年代后期和90年代初期出现了“基于信息工程CASE”技术,这种环境集成了用于项目计划、分析、设计、编程、测试和维护的一个工具箱的集合。
(4)90年代出现一系列集成的CASE软件产品,用以实现需求管理、应用程序分析设计和建模、编码、软件质量保证和测试、过程和项目管理及文档生成管理等软件开发工作的规范化、工程化和自动化。
2、请叙述软件开发环境的分类。答:软件开发环境可按解决的问题、软件开发环境的演变趋向和集成化程度进行分类:(1)按解决的问题可分为:程序设计环境、系统合成环境、项目管理环境三类。(2)按软件开发环境的演变趋向可分为:以语言为中心的环境、工具箱环境和基于方法的环境三类。(3)按集成化程度有第一代、第二代、第三代的开发环境。
3、何谓软件工具?通常包含哪几部分?答:软件工具的定义是:可用来帮助和支持软件需求分析、软件开发、测试、维护、模拟、移植或管理而编制的计算机程序或软件。软件工具是一个程序系统。软件工具通常由工具、工具接口和工具用户接口三
部分构成。
4、当今软件工具发展有何特点?
答:软件工具的发展有以下特点:(1)软件工具由单个工具向多个工具集成化方向发展。(2)重视用户界面设计。(3)不断地采用新理论和新技术。(4)软件工具的商品化与软件产业的发展形成良性互动。
5、什么是CASE?CASE工具有哪些分类?答:CASE是一组工具和方法的集合,可以辅助软件开发生命周期各阶段进行软件开发。CASE把软件开发技术、软件工具和软件开发方法集成到一个统一而一致的架中,并且吸收了CAD(计算机辅助设计)、软件工程、操作系统、数据库、网络和许多其他计算机领域的原理和技术。因而,CASE领域是一个应用、集成和综合的领域。根据CASE系统对软件过程的支持范围,CASE可分为三类:(1)支持单个过程任务的工具。(2)支持某一过程所有活动或某些活动的工作台。(3)环境支持软件过程大部分乃至所有活动,一般包括几个不同工作台的集合。
6、请叙述集成化CASE的五级模型。答:集成化CASE的五级模型包括(1)平台集成:工具运行在相同的硬件/操作系统平台上(2)数据集成:工具使用共享数据模型来操作(3)表示集成:工具使用相同的用户界面(4)控制集成:工具激活后能控制其他操作(5)过程集成:工具在一个过程模型和“过程机”的指导下使用
7、CASE工作台有哪些分类?
答:CASE工具台是一组工具集,支持像设计、实现或测试等特定的软件开发阶段。CASE工具组装成一个工具台后工具能协同工作,可提供比单一工具更好的支持。CASE工作台包括:(1)程序设计工作台。由支持程序设计的一组工具组成。(2)分析和设计工作台。支持软件过程的分析和设计阶段。(3)测试工作台。(4)交叉开发工作台。这些工作台支持在一种机器上开发软件,而在其他的系统上运行所开发的软件。(5)配置管理(CM)工作台。这些工作台支持配置管理。(6)文档工作台。这些工具支持高质量文档的制作。(7)项目管理工作台。支持项目管理活动。
第三篇:自考【版式设计】课后习题答案
自考【版式设计】复习资料
名词解释
1.立体主义:具有主张模仿客观对象,重视艺术的自我表现,对具体对象分析、重构和综合处理的特征。
2.未来主义:即编排无重心无主次、杂乱无章、字体各异的散构,甚至完全散乱的无政府主义的形式。
3.达达主义:强调自我,反理性,认为世界没有任何规律可遵循,所以表现出强烈的虚无主义特点;随机性和偶然性,荒诞与杂乱。
4.超现实主义:认为社会的表象是虚伪的,创作的目的是重新寻找和了解社会的实质,认为无计划的,无设计的下意识或潜在思想机动更真实,如用写实的手法描绘、拼合荒诞或虚无的幻觉。
5.现代主义设计:现代主义的特点是理性主义,“功能决定形式”不是一种风格,而是一种信仰。现代主义最鲜明的主张是:“少则多”。它反对装饰的繁琐,提倡简洁的几何形式。
6构成主义:构成主义设计将抽象的图形或文字作为视觉传达的元素和符号进行构成设计,版面编排常以几何的形式构成,同时也带有未来主义、达达主义自由拼合、无序的特点。但在整体上构成主义更讲究理性的规律,强调编排的结构、简略的风格以及空间的对比关系。
7.风格派:荷兰风格派的思想和形式来源于蒙德里安的绘画探索。他以高度理性、数字化的逻辑思维来创造和谐的新秩序,画面上简洁到只有纵横的几何形方块和鲜明的色块。
8.包豪斯:包豪斯的平面设计思想及风格具有强调科学化、理性化、功能化,减少主义和几何化的特点,注重启发学生的潜在能力和想象力,注重字体设计,采用无线装饰字体和简
略的编排风格。
9.国际主义平面设计风格:国际主义风格在平面上的贡献是研究出了骨骼排版法,即将版面进行标准化的分割,将字体、插图、照片等按照划分的骨骼编排在其中,取消编排的装饰,采用朴素的无线装饰字体,采用非对称的版面编排。特点是高度的功能化、标准化、系统化。其反装饰的排版风格,简明扼要的视觉形式,有利于国际化的视觉传达功能,10.后现代主义的设计风格:后现代主义的整体思想体系是全面的否定与反讽传统的一切文明,主张强调自我感受。他们“对人类自古典文明以来的传统艺术进行了全面的、革命的、彻底的改革,完全改变了视觉艺术的内容、形式和服务对象”。使版面获得趣味与韵味,充满活跃、纷乱、生动的特点,后现代主义是一种思潮,一种趋势以及一种设计观念。
什么是点?:将单位面积比较小的称其为点。
什么是线?:线是点的移动轨迹。
什么是面?
面是点的放大、点的密集或线的重复。
什么是骨骼设计?
骨骼设计是一种严谨、规范、理性的设计方法。骨骼的基本原理是将版面刻意按照骨骼的规则,有序地分割成大小相等的空间单位。
什么是变形骨骼?
变形骨骼是在骨骼设计的基础上变化发展而来的。在骨骼的基本形上,通过并合、取舍部分骨骼、寻求新的造型变化,它产生的造型无穷无尽,并且富有活力与生命,富有设计的魅力,什么是视觉流程?
视觉流程是一种“视觉空间的运动”,是版面空间的各元素引导视线阅读的运动过程。
什么是单向视觉流程?
单向视觉流程就是指视觉往一个方向运动的过程。
什么是曲线视觉流程?
曲线视觉流程就是视觉成弧线形运动方向的过程。
什么是重心的视觉流程?
重心的视觉流程就是以一个点为重心向四周扩散或收缩的视觉运动过程。
什么是散构的视觉流程?
散构的视觉流程就是自由活泼、无规则的视觉运动过程。
什么是最佳视阈?
最佳视阈是最舒适的视觉运动过程。即注目价值高的位置。
什么是单纯?单纯就是简练。
什么是秩序?秩序就是有规律。
什么是对比?对比就是差异化。
什么是和谐?和谐就是将相同的或相似的并置在一起。
什么是节奏?
节奏是均匀的重复,是在不断重复中产生的频率节奏的变化。
什么的韵律?
韵律不是简单的重复,而是比节奏要求更高一级的律动。
什么叫图版率?
是指版面相对于文字、图(图片或照片)所占据的面积比。
什么叫角板?
角板也称方形版,即画面被直线方框所切割。
什么是挖版?
挖版图也称退底图,即将图片中精彩的图像部分按需要剪裁下来。
什么是出血版?
出血版,即图形充满或超出版页,无边框的限制,有向外扩张和舒展之势。
什么是视觉度?
视觉度是指文字和图版(插图、照片)在版面中产生的视觉强弱度。
什么是多维空间
在二维平面空间上表现立体的、矛盾的、虚幻的复合空间,叫多维空间。
简答题
第一章 版式设计概论
1、平面设计的发展史中每个发展阶段的特点是什么?
答:20世纪的艺术主要经历了四个时期。第一个时期主要以立体主义,未来主义,达达主义、超现实主义,装饰主义为代表,其特点是对版面构成的形式要素进行了分析组合及对理性规律的探索。第二个时期以一战后兴起的俄国构成主义、荷兰风格派、德国包豪斯三个重要的设计运动为代表。其特点是强调平面设计中的科学化,理性化,功能化、减少主义和几何化,对艺术设计的观念和思想奠定了坚实的基础。第三个时期为二战后50年代至70年代的国际主义主导设计风格,其特点是高度的功能化,标准化,系统化,其反装饰的排版风格,简明扼要的视觉形式,有利于国际化的视觉传达功能。第四个时期为20世纪60年代开始的后现代主义平面设计表现形式以及电脑网络多元化媒体传达。其特点是在思想体系上全面否定与反讽传统的一切文明,主张强调自我感受,他们对人类自古典文明以来的传统艺术进行了全面的、革命的、彻底的改革,完全改变了视觉艺术的内容、形式和服务对象。
2、立体主义,未来主义,达达主义以及超现实主义对现代平面设计风格产生了怎样的影响? 答:立体主义具有主张不模仿客观对象,重视艺术的自我表现,对具体对象分析,重构和综合处理的特征,这种思想观念对平面设计的影响,表现为对版面构成的分析组合和对理性的规律探索。未来主义鲜明的提出反对严谨正规的排版方式,即编排无中心,无主次,杂乱无章,字体各异,毫无拘束的编排。探索在时间、空间与机械美学方面的表现成为时尚设计的标志。达达主义在艺术观念上,强调自我,反理性,表现出强烈的虚无主义特点,随机性,偶然性,荒诞与杂乱,他们对版面编辑的革命性的大胆尝试与突破,对当时及以
后的设计家产生了巨大的影响。超现实主义用写实的手法描绘,拼合荒诞的梦境或虚无的幻觉,其插图的应用和版式的新奇的艺术特征,对人类意识形态和精神领域方面的启迪和震撼作用是有创造性的。
3、现代主义的设计风格是什么?对世界平面设计起到什么作用?
答:现代主义的设计风格是理性主义,即“功能决定形式”不是一种风格,而是一种信仰,现代主义最鲜明的主张是“少则多”,它反对装饰的繁琐,提倡简洁的几何形状,所以现代主义在平面设计上作出了很大的贡献,对世界设计发展起到了4个方面的作用。一创造了无装饰线脚的国际字体为主体的新字体,并得以广泛的应用。二 在平面设计上开始对简洁的几何抽象图形进行探索设计。三将摄影作为平面设计插图的形式进行研究。4,将数学和几何学应用于平面的设计分割,为骨骼法的创造奠定了基础。
4、什么是包豪斯?如何理解构成主义与风格派各自的思想体系?
答:包豪斯是在俄国的构成主义、荷兰风格派和德国的现代主义设计的影响下,综合发展和逐步完善形成的。包豪斯学院是世界上第一所完全为设计教育设立的学院,并成为欧洲现代主义设计运动的交汇中心,它的设计理论和风格基础影响了半个世纪以来对现代设计的探索与研究。俄国的构成主义在整体上更讲究理性的规律,强调编排的结构,简略的风格以及空间的对比关系。荷兰的风格派来源于蒙德里安的绘画探索。其特点是1 高度的理性化,完全采用简单的纵横编排方式,除纵横的几何分割块外,没有其他装饰。2 字体完全采用无装饰线体。3 版面编排采用非对称方式,但追求非对称的视觉平衡。4 尝试在版面上进行直线的骨骼分割构成,形成了被称为瑞士骨骼的编排法。
5、后现代主义思维观念的主要表现特征是什么?它对当代文化的冲击以及对平面设计产生的影响表现在哪些方面?
答:后现代主义思维观念的主要表现;在它将国际主义中冷漠、缺乏人情味、高度秩序化的形式弊端弱化与削减,把装饰性的、历史性的内容加到设计中,使之成为平面设计的组成要素,它对当代文化的冲击表现为,为设计增加人情味与历史韵味,运用幽默的调侃甚至疯狂的手法,给平面设计产生的影响主要表现在带来欢乐与游戏的特征,在强调大众文化的同时更强调多元化以及人性化,使设计的现实性、时代性更加明显。
6、学习世界平面设计发展史对现代版式设计的作用和意义是什么?
答:学习和了解平面设计发展史,使我们能够清晰的把握设计发展的脉络,拓展我们艺术设计的空间,知晓艺术设计的各种手法和艺术追求、艺术风格、艺术趣味,为创造适应当代大众需求的平面设计形式提供了较好的比较对象。从历史的平面设计风格的转换中,我们又看到了艺术家们精心创意,苦心追求,求新求变的创造精神,以及对科学现象的捕捉、对社会变革的把握的敏锐艺术眼光。世界平面设计的发展史告诉我们不断创新,善于开拓,4、“点、线、面在版面中的构成是相对的,不可均等,均等不是好版面”,你如何理解? 答:由于点线面是相互依存,相互渗透的关系,所以绝对的由点组成的板式有太花、太碎、不够集中的感觉,绝对的曲线组成的板式有单薄、零碎的感觉,同样绝对是面构成的板式有呆板之感。因此均等的点线面同样不利于主题的表现,丧失了整体的设计风格。所以我们一定要相对的对点线面作一定倾斜式的版式设计。
是我们当代平面设计发展的必由之路。
第二章 版面设计的编排构成
1、如何理解“点”在版面中的概念?以及点在版面的表现形式?
答:版面中的点由于大小、形态、位置不同所产生的视觉效果也不同,心理的作用也不同。它的表现形式为:1,点的缩小起着强调和引起注意的作用。点的放大有面之感。2,点在首行放大,起着引导、强调、活泼和成为视觉焦点的作用。3,当点居于几何中心时,上下左右空间对等,有庄重之感,但呆板。4,但点居于视觉中心时,有平衡和舒适感。5,但点偏右或偏左时,有向心移动之势,但过于边置则产生离心之动感。6,点作上下边置,有上升或下沉之感。
2、如何理解“线”在版面中的概念?线在版面中有哪些表现形式?不同的线有不同的心理情感和作用,你能认识到多少?
答:线是版面中点移动的轨迹,它的表现形式有直线、折线、波浪线、实线、虚线、自由曲线、几何曲线等。一般水平直线有平安之感,曲线有变化运动之感,折线有转折、僵硬之感,波浪线有优美舒缓之感,自由曲线有随意、奔放之感,几何曲线有工整、节奏之感,垂直直线有严肃、肃穆之感。
3、如何理解“面”在版面中的概念?面在版面中表现的形式和作用?
答:面在版面中的概念可理解为的放大、点的密集或线的重复。只有面的版面显得单调,平淡,在加入了线的分割组织后,版面立即产生精细且精神之感,若在加入点的运用,则点常常能成为版面中活跃的视觉焦点,而面常以结实肯定、大方起着烘托及丰富版面空间层次的作用。
5、骨骼设计的基本概念是什么?骨骼法对当代设计有哪些影响?
答:骨骼设计是一种严谨的、规范的、理性的设计方法,骨骼的基本原理是将版面刻意按照骨骼的规则,有序的分割成大小相等的空间单位。它给人以严谨、秩序的理性美,在当代设计中,对于信息量大,板式多样,骨骼法的应用更适应于标准化的批量排版。
6、变形骨骼是否有规则所寻,其风格特点与自由构成版面有什么不同?
答:因为变形骨骼是在骨骼法的基础上发展、变化而来的,所以无论它怎么演变,我们都可以看到骨骼法对其影响的痕迹。风格特点与自由构成版面最大的不同在于变形骨骼是“万变不离其中”,它的理性,稳重与秩序的美始终能够得到体现。而自由构成则主要是渲泻自由、活泼、个性的设计风格,感性的成分大于理性。
第三章 版面设计的视觉流程
1、什么是视觉流程?
答:版面设计的视觉流程是一种“视觉空间的运动”,是版面空间的各元素引导视线阅读的运动进程。
2、视觉流程有哪些流程形式?设计视觉流程的导读应注意哪些问题?
答:视觉流程有7种形式。
1、单向视觉流程;
2、曲线视觉流程;
3、重心的视觉流程;
4、反复的视觉流程;
5、导向的视觉流程;
6、散构的视觉流程;
7、最佳视阈。
设计视觉流程的导读应注意:理性与感性、方向关系的流程与散构关系的流程。方向关系的流程强调逻辑,注重版面清晰的脉络,似乎有一条贯穿版面,使整个版面的运动趋势有“主题旋律”,细节与主题犹如树干树枝一样和谐,方向关系流程较散构关系的流程更具理想色彩。
3、请解读视觉流程在板式设计中的运动轨迹,以及设计师的编排构思?
答:每个版面都有各自不同的视觉导读流程,无论导读流程清晰单纯,还是散乱含糊,都是设计师的风格体现,是设计师编排技巧的能力标志。
4、视觉流程在版面中可理解为视觉导读与版面结构,你如何理解?
答:有什么样的视觉导读,就有什么样的版面结构,视觉流程决定了板式风格。视觉流程和版式风格的综合体,就是设计师的个人设计魅力。
第四章 版面设计的编排形式法则
1、编排设计的形式法则有哪些,在版面设计中发挥怎样的作用、意义?
答:有五种:1单纯与秩序-----体现力度,增强记忆度。2对比与和谐------在差异冲突中和谐的突出主题。3对称与均衡------在变化中寻求稳定,变化是绝对的,均衡是相对的。4节奏与韵律------使简单变为复杂、模糊的变为清晰,生动而有趣味。5虚实与留白
-------衬托主题,扩大想象的空间,增添艺术的魅力。
2、版面简洁与秩序的设计方法对版面产生怎样的影响及效果?
答:产生具有强烈视觉冲击力的形象与整体感。反之则杂乱不堪,造成视觉传达的障碍。
3、韵律与节奏的设计手法给版面带来怎样的情感效应?
答:节奏是均匀的重复,节奏是延续轻快的感觉。韵律是通过节奏的变化而产生的,变化太多失去秩序感,也就破坏了韵律的美,变化太少则单调而失去韵律感,节奏和韵律可以使我们产生轻松、优雅和激烈、奔放之感。
4、版面空间表现有哪些手法?你能说出那些?它们在版面中发挥着怎样的作用? 答:有虚与实空间、有大与小空间、有无量又有量空间、无形又有形空间等表现手法。它们发挥的作用是:①以虚衬实、烘托主题。②布局空间增强设计的审美性。③增强空间设计品品质。
5、美学法则是指我们设计过程中的审美原则和方法,在你的设计中是否常用美学的形式法
则?常运用哪些?
答:是的 常运用对比与和谐节奏与韵律法则。
6、你常对版面进行分析吗?无论好与差的版面能分析出它们好与差的原因吗?如何改进? 答:是的,尝试着分析它们的好与差所产生的原因,有时可能是印刷质量的问题,有时会是设计理念不够新颖的问题,有时可能是主题不够鲜明的问题。总之,对所产生的问题,我总是抱着学习的态度,不断向同行学习广泛征求他们的批评与指正,力求达到新的设计高度。
第五章 文字的编排构成
1、在现代版面设计中“设计感”常体现于文字的设计表现和文版的编排表现,你如何理解文字的表现力,以及在版面中的视觉层次?
答:文字的表现力首先表现在文字的整体编排上要体现出清晰条理、富于整体的原则。其次,注重文字的图形表达,力求形象生动。如象形字、形声字的应用或文字拼图方法的应用。最后要注重文字与文字,文字与图形的互动性、以达到丰富与醒目、对比、夸张的艺术效果,还有文字的跳跃性所产生的好奇、突出的特征。当然还应考量文字作为形式要素所具备的审美性。
总之,文字的表现力非常丰富。在文字的版面中大字比小字醒目,有色字比单色字突出,在文字与图形的版面中,图形比文字突出;在把握整体设计风格中视觉层次的安排应遵从主题的主次层次来编排。
第六章 图版编排的构成
1、什么是版面的视觉度?视觉度的强弱对版面产生怎样的影响? 答:版面的视觉度是指文字和图形在版面中产生的视觉强弱度。
版面的视觉度与版面的生动性、记忆性和阅性有相互作用的关系,仅是文字的板式而无图形的插入版面会显得毫无生气。相反,只有图片而无文字或视觉度低的文字信息则消弱了与读者间的沟通
力和亲和力,阅读的兴趣也会减弱。即视觉度高、版面冲击力强,则阅读能力强、记忆度高。图版率低则视觉度弱,版面呆板,阅读兴趣低。
2、什么是图版率?图版率的高低对版面产生什么样的影响?
答:图版率是指版面相对于文字、图(图片和照片)所占据的面积比。图版率底,减少阅读兴趣。图版率高,增强阅读活力。
3、在版面运用中,退底图形与方形图形各自的特点是什么?如何运用才能发挥最佳效果? 目动人,要靠编排的技巧来表现,文字的“轻重缓急”也是一种情感的表达方式,或凝重、或舒缓、或激昂,它们各自配合的组织关系,会产生不同的强弱节奏和韵律,这些技巧无疑是编排创意表达的“营养”。在《读者》杂志的扉页设计中,我们不难看出由于《读者》杂志的严肃性设计风格,在板式设计和文版编排中其力求工整端庄的艺术风格就可见一斑,但穿插其间的角版式图片编排,也为其带来了一定的新鲜和活力感。
答:退底图形的特点是简洁单纯、生动感人、效果鲜明而强烈有张扬到极致的艺术效果。方形图形的特点是庄重沉静有良好的品质感,应穿插灵活运用,避免单一的编排方式。在相对静态的方形图形中,用挖版的方式打破约束和静态,获得活泼、自由的最佳效果。
4、如何理解图片在版面中的张力或量感,以及其与冲击力之间的关系?版面中能产生冲击力的图形,一般占据版面的面积比率是多大?
答:“量感”是指放大图片后版面所产生的一种饱满的心理量感,量感强则张力大,量感弱则张力弱。大图形注目度高,感染力强;大图形引导版面中心成为视觉焦点,因而其视觉冲击力就强。大图形一般占据版面的二分之一以上或至少超过图形的一倍以上。
5、图片面积的大小在版面中汇产生什么不同的影响?
答:图片面积越大,视觉度、图版率越高,因而其感染力、张力、亲和力就强。图片面积小给人拘谨、静止、趣味弱的感觉,但与大图片相配合,则有精致、点缀、呼应、对比、变化的作用。
6、当你在进行版面设计时,面对文字和图片你首先如何进行思考?
答:如果文字的数量是不能改变的话,我会先将文字在版面中所占据的基本面积确定出来,再根据版式设计要求如风格、意趣等进行配图,在保证文字信息传达完整的前提下,对图片的大小、疏密等作相应的调整,力求版式活而不乱。
第七章 现代版面的设计观念
1、优秀的版面其创意常借助版面编排来表现,请对这些版面结合主题以及他们应用的手法或风格进行分析?
答:在编排创意中,文字的创意编排是不可忽视的。文字的编排具有极强的情感表现力。它与设计师的编排技巧相关,“以情动人”是艺术的创作手法,也是编排的手法。文字的悦
在《知音》杂志的封面设计中,图片常以挖版的形式出现,文版的编排也配合以倾斜排列、不对称排列,并佐以鲜艳的色彩,其市民化、通俗化风格一目了然。
2、西方后现代观念意识对本土平面设计风格的影响体现在哪些方面?
答:其影响体主要创意和个性风格的表现两个方面。没有创意设计是空洞平淡的也是没有艺术生命力的。
创意有两个方面:1 是对思想主题的象征明喻,暗喻等思想创意;2 是版面编排的设计风格创意。改革开放以来中国的平面设计经历了西方引进借鉴、学习开拓、融合阶段,由固步自封、拿来主义到具有中华民族气息的裂变,可以说首先是观念的解放才带来了平面设计的丰富多彩,如有中华民族特色的奥运、世博标志设计,其强烈的中国化特色跃然眼前。其次是版面编排越来越有个性特征;面对琳琅满目的图书杂志,我们清楚的看到了其个性独特、形式活泼的编排设计越来越丰富多彩。后现代主义设计的观念意识,即“越是民族的就越是世界的”在当下中国已得到广泛的认可而成为一种时髦的艺术设计追求。在短短的十几年间我们从惊讶、排斥、尝试到大胆地体验,力图表达丰富的多维空间,表现设计的自我个性,表达与前卫的平面设计的一种互动与交流,已成为当今设计追求的必然。
3、分析当下流行的版面设计风格有哪些特征?
答:当代的平面设计虽然在现实主义和国际主义艺术之后也出现过众多的风格流派,但每次都没有背弃现代主义和国际主义的思想精神,其表现在思想观念上仍然主张自由个性的表达,表现形式也以字体的散构叠合、编排的视觉混乱、空间的矛盾为主导的版面设计艺术特征,在多维空间中表达复杂的情绪心理过程,在字体的散构叠合中追求地方性、民族性特色在编排的视觉混乱中把握思想主流的递进主次关系。
第四篇:自考软件工程总结
何谓科学,何谓工程?(第一章)
科学是反映自然、社会、思维的发展与变化规律的知识体系。科学(研究)是以发现为核心的人类活动,探索事物的本质和运动规律,追求真理,认识世界,回答“为什么”,体现非物质形态财富。
工程是与生产、建设相关,运用自然科学理论和技术原理得以实现的活动(狭)。以构建、运行与集成为核心的人类活动,遵循社会需求,追求一定条件下的集成与综合优化。
2什么是可移植性(方法)?P347
把一个程序从一个硬件或软件系统环境移植到另一个环境所需的工作量。
3什么是软件生存周期?p7
软件生存周期是软件产品从形成概念,经过开发、使用和维护直至最后退役的全过程。大致分为如下6个阶段计算机系统工程、需求分析、设计、编码、测试、运行和维护
4.什么是可维护性p347
定位和修复程序中一个错误所需的工作量。
5文档功能是记录软件____开发___活动和阶段成果,能供人和机器阅读,是有永久保存属性。
6.计算机软件是指与计算机系统有关的程序、规则、规程有任何与之有关的文档和数据。包括机器可执行的程序及有关数据;机器不可执行的与软件开发、运行、维护、使用和培训有关的文档。P1 程序:用程序设计语言描述的,计算机能够处理的语言序列。
文档:一种数据媒体及其上所记录的数据。文档(功能/作用)记录软件开发活动和阶段成果,能供人和机器阅读,具有永久保存属性。
7软件开发包括哪些阶段,主要解决什么问题?P19
概念定义,具体包括计划和需求分析阶段,主要解决做什么的问题。
开发,具体包括设计,编码,测试阶段,主要解决怎么做的问题。
使用维护,即运行维护阶段,包括些交付、安装、运行、维护和退役等。
8.软件概念定义包括那三部分,主要解 决什么问题。P4P1
(英文:Software)是一系列按照特定顺序组织的计算机数据和指令的集合。一般来讲划分为系统软件、支撑软件和应用软件。
9软件需求是指用户对目标系统在功能、行为、性能、设计、约束等方面的 期望P48
10.什么是模块?
模块指具有一定功能的可以用名字调用的程序语句集合。
模块化是指把一个待开发的软件划分成若干小的简单部件,每个部件称为一个模块,每个模块完成一个相对独立的一个子功能,所有这些模块集成起来就可以完成软件系统的指定功能,满足问题的要求。P66 模块化的目的是使程序的结构清晰,易阅读、易测试和修改。采用模块化方法,可以控制复杂问题的求解规模,减低问题复杂度和减少求解成本。
11什么 模块耦合度,什么是模块内聚度?P68
耦合是一个软件结构内不同模块彼此之间互相连接(依赖)的紧密程度。
耦合强弱取决于模块间接口的复杂程度,进入或访问一个模块的点,以及通过接口的数据。耦合度衡量不同模块彼此间相互依赖的紧密程度。
内聚是一个模块内部各个元素彼此结合的紧密程度。好内聚的模块只做一件事情。内聚度衡量同一个模块内部的各个元素彼此结合的紧密程度。
模块的独立性可以由两项指标来衡量:内聚度与耦合度。.结构图最主要的质量指标是模块的 内聚度和 偶合度。(第五章)
13在设计用户界面(也称人机界面)的过程中,几乎总会遇到系统响应时间,用户求助机制,出错信息处理和命令交互方式四个方面的问题。P242
14.什么是系统响应时间?P242
系统响应时间指从用户执行某个控制动作(如按回车键或单击鼠标)到软件做出响应(期望的输出或动作)的时间。
15简答有哪三类人机界面设计指南(黄金原则)?p243
让用户拥有控制权;减少用户的记忆负担;保持界面一致
16.简述什么是编码?第十章P251
编码就是把软件设计结果翻译成用某种程序设计语言书写的程序。
17何谓程序设计风格或编码风格?P255
程序设计风格指一个人编制程序时所表现出来的特点,习惯逻辑思路等.在程序设计中要使程序结构合理、清晰,形成良好的编程习惯,对程序的要求不仅是可以在机器上执行,给出正确的结果,而且要便于程序的调试和维护,这就要求编写的程序不仅自己看得懂,而且也要让别人能看懂。
包括4个方面:源程序文档化、数据说明、语句结构、和输入输出。256
编写规则:文档化、结构化、模块化、节简化、简单化、格式化。
18.为一个开发项目选择程序设计语言时,通常会考虑 项目所属的领域 ;算法和计算复杂性;软件运行环境;用户需求中关于性能方面的要求;数据结构的复杂性,软件开发人员的知识水平因素。P255 19软件测试的目标是什么?P263PPT 第11章
软件测试就是在软件投入生产性运行之前,尽可能多地发现软件中的错误,进而改正错误的过程。发现和改正错误越多,交付的软件就质量越高,后期纠错性维护就越少。测试是一项很艰苦的工作,也是一项“建设性”活动
测试目标1.期望用最少的时间和人力找出软件中潜在的各种错误和缺陷 2.证明软件的功能和性能与规格说明的吻合程度3.为可靠性分析提供依据 4.通常测试每一种可能情况是不现实的5.没有发现程序中的错误,并不能证明软件没有错误
20.基本路径测试的基本思想是什么?P273程序环路复杂性有什么意义?PPT 第11章
基本思想:根据软件详细设计或代码中的控制结构流程确定复杂度,然后以该复杂度定义执行路径的基本集合,并由此导出一组测试用。
程序的环路复杂性确定程序基本路径集合中的独立路径条数。独立路径是指包括一组以前没有处理的语句或条件的一条路径。用流图术语描述,一条独立路径至少包含一条在其他独立路径中从没有过的边的路径。21简析等价类划分法?P277PPT 第11章
等价类划分法是把程序的输入数据集合按输入条件划分成若干个等价类,每一个等价类相对于输入条件表示为一组有效或无效的输入,然后据此为每一个等价类设计一个测试用例。
22.简述驱动模块和桩模块的作用? PPT 第11章
驱动模块调用被测模块,接收测试输入数据并把这些数据传送给被测试的模块,被测模块调用后,驱动模块接受被测模块的返回数据。
桩模块也叫存根模块,它代替被测试的模块所调用的模块。桩模块使用被它代替的模块的接口,但内部只做少量的数据操作,并且把控制和模拟结果归还给调用它的模块。
23为何要引入驱动模块和桩模块? PPT 第11章
驱动模块和桩模块是测试使用的软件,它们不是软件的组成部分,但需要一定的开发费用。简单的驱动模块和桩模块不能完成某些模块的测试任务,只能在集成测试过程中同时完成对这些模块的详尽测试。
引用驱动模块和桩模块原则有:单元测试通常与编码工作结合起来,通常,模块本身不是一个独立的程序,因此在测试模块中必须为每一个被测模块开发一个(引用)驱动模块和若干个桩模块。
24.何谓调试? PPT 第11章
调试,又名排错,它是根据测试出问题的外部现象(又名错误或外错),分析找出问题的内在原因(又名故障或内错)并加以改正的代码执行与人工活动。调试的任务就是确定错误的准确位置(定位错误)、分析引发错误的原因,最终排除错误。
黑盒测试(行为测试)检查程序功能是否符合按照规格说明书的规定,测试只在程序界面上进行。包括等价类划分、边界值分析、比较测试、错误猜测何因果图方法。
白盒测试(结构测试)检验程序中的每条逻辑通路能否都按预定要求正确工作,测试按照程序内部的逻辑进行。包括逻辑覆盖测试、基本路径测试、数据流测试和循环测试。
25旅行社把预定机票的旅客信息,如姓名、年龄、单位、身份证号、旅行时间、目的地等输入预定机票系统,系统为旅客安排航班,打印出取票通知单(附有应交的账款)旅客在飞机起飞前交付票款,系统检查无误后,输出机票给旅客。
试用结构化分析方法描述系统的逻辑模型(系统的功能需求)并建立相应的数据字典,要求数据字典中至少包括一个数据流、一个数据文件、一个加工的详细的定义。
26.为方便储户,某银行拟开发计算机储蓄管理系统,储户填写的存款单或取款单由银行柜台业务员键入系统,如果是存款,系统记录存款人姓名,住址,存款日期,利率等信息,并印出存款单给储户;如果是取款,系统进行取款处理并印出结算单给储户,请用结构化分析方法描述系统的逻辑模型(系统的功能需求),并建立相应的数据字典,要求数据字典中至少包括一个数据流,一个文件和一个加工的详细定义。
第五篇:软件工程课后答案
第七章价类, 重复这一步骤,直到所第十三章
1.软件测试的方法:黑盒测试,白盒测试
(1)黑盒测试:如果已经知道了产品应具有的功能,可以通过测试来检验是否每个功能
都能正常使用,这就是黑盒测试:
(2)白盒测试:如果知道产品的内部工作过
程,可以通过测试来检验产品内部动作是否
按照规格说明书的规定正常进行。
2.测试步骤;(1)模块测试(2)子系统测试(3)
系统测试(4)验收测试(5)平行运行
3.测试重点:(1)模块接口(2)局部数据结
构(3)重要的执行通路(4)出错处理通路
(5)边界条件
4.(1)主程序:驱动程序也就是一个主程序,他接受测试数据,把这些数据传送给
被测试的模块,并且印出有关的结
果,(2)虚拟子程序:存根程序也可以称为
虚拟子程序,他使用被他代替的模
块的接口,可能做最少量的数据操
作,印出对入口的检验或操作结
果,并且把控制归还给调用它的模
块。
5.模块组装成程序时有两种方法:(1)非渐
增式(2)渐增式{自顶向下集成,自底向上
集成}
6.混合法:对软件结构中较上层使用的自顶
向下方法与软件结构中较下层使用的自底向
上方法相结合。
7.回归测试:在集成测试的范畴中,所谓的回
归测试是指重新执行已经做过的测试的某个
子集,以保证上述的这些变化没有带来非预
期的副作用。
8.确认测试:也称为验收测试,他的目标是
验证软件的有效性。
验证:指的是保证软件正确的实现了
某个特定要求的一系列活动。
确认:指的是为了保证软件确实满足
了用户需求而进行的一系列活动。
9.确认测试的范围:确认测试必须由用户积
极参与,或者以用户为主进行。确认测试通
常使用黑盒测试法
10.Alpha和Beta测试
(1)Alpha:有用户在开发者的场所进行,并且在开发者对用户的指导下进行测试。开
发者负责记录发现的错误和使用中遇到的问
题。Alpha测试是在受控的环境中进行的。
(2)Beta:油软件的最终用户们在一个
或多个客户场所进行,开发者通常不在测试的现场用户记录在测试过程中遇到的问题,并定期把这些问题报告给开发者。
11.什么是白盒测试?
测试者了解被测程序的内部结构和
处理过程,对程序的所有逻辑路径进
行测试,在不同点检查程序状态,确
定实际状态与预期状态是否一致。白盒测试主要采用的技术有:路径测试技术
和事务处理流程技术,对包含有大量逻辑判
断或条件组合的程序采用基于逻辑的测试技
术。逻辑覆盖:所谓的逻辑覆盖是对一系列测试
过程的总称,这组测试过程逐渐进行越来越
完整的通路测试。
12.黑盒测试:也称为功能测试,它着眼于程
序的外部特征,而不考虑程序的内部逻辑结
构。测试者把被测程序看成一个黑盒,不用关
心程序的内部结构。黑盒测试是在程序接口
处进行测试,它只检查程序功能是否能按照
规格说明书的规定正常使用,程序是否能适
当地接收输入数据产生正确的输出信息,并
且保持外部信息(如数据库或文件)的完整
性。黑盒测试主要采用的技术有:等价分类
法、边沿值分析法、错误推测法和因果图等
技术。
13.等价划分:是一种黑盒测试技术,这种技
术把程序的输入域划分成若干个数据类,据
此导出数据用例。
等价分类法的测试技术采用的一般方法?
(1)为每个等价类编号;
(2)设计一个新的测试方案,以尽
可能多的覆盖尚未被覆盖的有
效等价类,重复这一步骤,直到
所有有效等价类被覆
(3)设计一个新的测试方案,使它
覆盖一个尚未被覆盖的无效等有无效等价类被覆盖为止。1.管理:就是通过计划、组织和控制等 14.边界值分析: 一系列活动,合理的配置和使用各种15.调试:也称为纠错,作为成功测试的后果资源,以达到既定目标的过程 出现,调试是在测试发现错误之后排除2.软件的质量:就是软件与明确地和隐错误的过程。调试就是把症状和原因联含地定义的需求相一致的程度,软件系起来的尚未被人认识的智力过程。的质量是软件与明确的叙述的开发标16.软件测试的一般步骤:单元测试、子系准以及任何专业开发的软件产品都应统测试、系统测试、验收测试、平行测试。该具有的隐含特征相一致的程度。调试途径:(1)蛮干法(2)回溯法(3)3.工作量估算:(1)静态单变量模型(2)原因排除法 动太多变量模型(3)COCOMO2模型回溯法:从发现症状的地方开始,人工4.软件配置管理主要有五项任务:标示,沿程序的控制流往回追踪分版本控制,变化控制,配置审计,报析源程序代码,直到找到错误告 原因为止。5.能力成熟度的五个等级:初始级,可原因排除法:(1)对分查找法(2)归重复级,已定义级,已管理级,优化纳法(3)演绎法 级 17.软件可靠性的定义:软件可靠性是程序在给定的时间间隔内,按照规格说明书的规定成功地运行的概率软件可用性的一个定义: 软件可用性是程序在给定的时间点,按照规格说明书的规定,成功地运行的概率。18.选择程序设计语言:(主要的实用标准)(1)系统用户要求(2)可以使用的编译程序(3)可以得到的软件工具(4)工程规模(5)程序员的知识(6)软件可移植性要求(7)软件的应用领域 19.编码风格(1)程序内部的文档(2)数据说明,应易于理解便于查阅(3)语句结构,尽可能简单直观(4)输入输出,遵守人机界面准则(5)效率,能妈祖用户要求即可 19.软件测试目标:为了发现程序中的错误代码审查:人工测试源程序可以由审查小组正式进行,即称为审查。审查小组组成:组长,程序的设计者,程序的编写者,程序的测试者 第八章 1.四种软件维护类型:(1)改正性维护:满足用户对已开发产品的性能与运行环境不断提高的要求,进而达到延长软件寿命的目的。(2)适应性维护:对程序使用期间发现的程序错误进行诊断和改正的过程,配合变化了的环境进行修改软件的活动;(3)完善性维护:满足用户在使用过程中提出增加新的功能或修改已有功能的建议而进行的工作;(4)预防性维护:为了改善未来的可维护性或可靠性而修改软件的工作。2.决定软件可维护性的因素:可理解性,可测试性,可修改性,可移植性,可重用性 3.软件系统的文档:可以分为用户文档和系统文档用户文档:主要描述系统功能和使用方法,并不关心这些功能怎样实现 用户文档包括:功能描述,安装文档,使用手册,参考手册,操作员指南 系统文档:描述系统设计、实现和测试等各方面的内容。4.软件维护:所谓的软件维护就是在软件已经交付使用之后,为了改正错误而满足心得需要而修改软件的过程。1.面向对象方法学的优点:(1)与人类的思维方法一致(2)稳定性好(3)可重用性好(4)较易开发大型软件产品(5)可维护性好 2.对象的特点:以数据为中心;对象时主动的;实现了数据封装;实质上具有并行性;模块独立性好 3.其他概念:(1)类:具有相同数据相同操作的一组相似对象的定义(2)实例(3)消息:就是要求某个对象执行在定义它的那个类中所定义的某个操作的规格说明(4)方法(5)属性(6)封装(7)继承:是指能够直接获得已有的性质和特征,而不必重复定义他们