软件开发技术考试题

上传人:liy****000 文档编号:118782922 上传时间:2019-12-25 格式:DOC 页数:10 大小:93.50KB
返回 下载 相关 举报
软件开发技术考试题_第1页
第1页 / 共10页
软件开发技术考试题_第2页
第2页 / 共10页
软件开发技术考试题_第3页
第3页 / 共10页
软件开发技术考试题_第4页
第4页 / 共10页
软件开发技术考试题_第5页
第5页 / 共10页
点击查看更多>>
资源描述

《软件开发技术考试题》由会员分享,可在线阅读,更多相关《软件开发技术考试题(10页珍藏版)》请在金锄头文库上搜索。

1、软件开发技术考试题一、名词解释1、软件质量保证(SQA)答:软件质量保证(SQA)是一种应用于整个软件过程的保护性活动,它包括:一种质量管理方法,有效的软件工程技术(方法和工具),在整个软件过程中采用的正式技术复审,一种多层次的测试策略,对软件文档及其修改的控制,保证遵从软件开发标准的规程,度量和报告机制。2、CMMI与过程优化答:CMMI:是一种集成的优化的CMM标准,通过提供统一的过程改进框架,消除了不同模型之间的不一致和重复性,可望成为今后软件过程改进领域比较稳定的一个实用模型。软件过程优化:软件机构为了突出关键过程以改善软件的质量形成一套完整而成熟的软件过程,它需要一个从无序到有序,从

2、特殊到一般,从定性到定量,最后再从静态到动态的历程,或者说软件机构在形成成熟的软件过程之前必须经历一系列的成熟阶段。因此有必要建立一个软件过程成熟度模型来对过程作出一个客观、公正的评价,以促进软件开发组织改进软件过程。这个软件过程的改进即为软件过程优化。3、软件配置管理(SCM)答:软件生存期各阶段的交付项管理问题,主要用于标记变化、控制变化、保证变化被适当地实现、向其他可能有兴趣的人员报告变化等活动。4、黑盒测试与白盒测试答:白盒测试: 分析程序的内部逻辑结构,注意选择适当的覆盖标准,设计测试用例,对主要路径进行尽可能多的测试。黑盒测试: 不考虑程序的内部结构与特性,只根据程序功能或程序的外

3、部特性设计测试用例。 5、RUP与XP过程模型答:Rational 统一过程是由Rational 软件公司开发和营销的一种软件工程过程,是开发组织用以分配与管理任务和职责的一种规范化方法。这个过程的目的是在预定的进度和预算范围内,开发出满足最终用户需要的高质量软件。XP(Extreme Programming),是由Kent Beck大师提出的一种优秀的软件开发方法,提出了改进软件开发方法的四个要素:沟通(communication)、简单化(simplicity)、反馈(feedback)、勇气(courage),这形成了XP的核心价值观。6、UML统一建模答:UML是UML是一个通用的可视

4、化建模语言,是一种可以详细描述的语言,UML是用于构造系统或理解系统的语言,UML是文档化语言, 对软件进行描述、可视化处理,构造和建立软件系统制品的文档。它支持大部分现存的面向对象开发过程,给出系统模型,表达不同层次的细节,适用于软件生命周期的各个阶段,还能给出系统的多视角的构造模型图如:USE CASE视图、逻辑视图、进程视图、实现视图、部署视图等。二、简答题1、优秀的需求的特征,如何获取有效的软件需求。答:软件需求分析是软件生存期的一个重要阶段,是软件开发项目得以成功的基础,其最根本的任务是确定为了满足用户需求的软件系统必须做什么。软件需求分析是一个不断发现和决定的过程,在此过程中,软件

5、开发者和软件申请者(用户)同样起着重要作用。若要获取有效的软件需求,应给出软件系统的数据流程图与数据结构,构造一个完全的系统逻辑模型,同时,还应提出详细的功能说明确定设计限定条件、规定性要求;再者,还应密切与用户联系,使用户确定自己的任务,以便实现上述两项目标。为了实现上述目标,可用结构化分析方法SA、软件原型化方法、面向数据结构的JACKSON方法(JSD)、面向数据结构化数据系统开发方法(DSSD)、面向对象的分析方法(OOA)等来保护获取有效的软件需求。2、软件模块化特点与模块独立性分析。答:软件模块化是指:软件被划分成独立命名和可独立访问的被称作模块的构件,每个模块完成一个子功能,它们

6、集成到一起满足问题需求。模块独立是指开发具有独立功能而且和其它模块之间没有过多的相互作用的模块。模块独立的意义:功能分割,简化接口,易于多人合作开发同一软件;独立的模块易于测试和维护。模块独立性, 是指软件系统中每个模块只涉及软件要求的具体的子功能, 而和软件系统中其它的模块的接口是简单的。一般采用两个准则度量模块独立性,即模块间耦合和模块内聚。耦合性是指对一个软件结构内不同模块间互连程度的度量;内聚性是指标志一个模块内各个处理元素彼此结合的紧密程度,理想的内聚模块只做一件事情。软件模块化的设计原则一般为:A、力争尽可能弱的耦合性。尽量使用数据耦合,少用控制耦合,限制公共环境耦合的范围,完全不

7、用内容耦合;B、力争尽可能高的内聚性。力争尽可能高的内聚性,并能识别出低内聚性。3、说明软件建模语言UML进行软件系统分析设计过程。答:UML是一种建模语言而不是方法,这是因为UML中没有过程的概念,而过程正是方法的一个重要组成部分。UML本身独立于过程,这意味着用户在使用UML进行建模时,可以选用任何适合的过程。一般采用的建模过程有:瀑布开发模型、迭代递增开发模型。基于UML的系统开发采取增量迭代开发模型,步骤如下:A、需求:最初需求规格说明应当由代表系统最终用户的人员提供,内容包括系统基本功能需求和对计算机系统的要求。B、分析:分析的任务是找出系统的所有需求并加以描述,同时建立模型,以定义

8、系统中的关键领域类,应由系统用户和开发人员合作完成。分析的第一步是定义用例,以描述所开发系统的外部功能需求。用例分析包括阅读和分析需求说明,此时需要与系统的潜在用户进行讨论。C、设计:设计阶段的任务是通过综合考虑所有的技术限制,以扩展和细化分析阶段的模型。设计阶段可以分为两个部分:结构设计是高层设计,其任务是定义包(子系统),包括包间的依赖性和主要通信机制。我们希望得到尽可能简单和清晰的结构,各部分之间的依赖尽可能的少,并尽可能的减少双向的依赖关系。 第二部分是详细设计,细化包的内容,使编程人员得到所有类的一个足够清晰的描述。D、实现:构造或实现阶段是对类进行编程的过程。可以选择某种面向对象的

9、编程语言作为实现系统的软件环境。在实现阶段中,可以选取各种图的说明来辅助编程,比如:类图,状态图等。E、测试和配置:完成系统编码后,需要对系统进行测试,它通常包括:单元测试、集成测试、系统测试和验收测试。在单元测试中使用类图和类的规格说明,对单独的类或一组类进行测试;在集成测试中,使用组件图和合作图,对各组件的合作情况进行测试;在系统测试中,使用用例图,以检验所开发的系统是否满足例图所描述的需求。4、软件测试策略与用例设计方法。答:软件测试测试策略开始是单元测试:集中对用源代码实现的每一个程序单元进行测试,检查各个程序模块是否正确地实现了规定的功能。然后是组装测试:把已测试过的模块组装起来,主

10、要对与设计相关的软件体系结构的构造进行测试。第三是确认测试:要检查已实现的软件是否满足了需求规格说明中确定了的各种需求,以及软件配置是否完全、正确。最后是系统测试:把已经经过确认的软件纳入实际运行环境中,与其它系统成份组合在一起进行测试。测试用例设计策略一般先用黑盒法设计基本的测试数据,再用白盒法补充一些必要的测试数据。在任何情况下都应该使用边界值分析方法。通常情况下测试过程均按这4个步骤进行,即单元测试、组装测试、确认测试和系统测试。 5、SOA体系架构特点与作用?答:SOA(service-orientedarchitecture)是面向服务的体系结构,是一类分布式系统的体系结构,是构件如

11、何组成一个系统的模型,它将应用程序的不同功能单元(称为服务)通过这些服务之间定义良好的接口和规范按松耦合方式整合在一起,即将多个现有的应用软件通过网络将其整合成一个新系统。接口应该是独立于实现服务的硬件平台、操作系统和编程语言。这使得构建在各种这样的系统中的服务可以以一种统一和通用的方式进行交互。SOA的作用是A、利用现有的资产。方法是将这些现有的资产包装成提供企业功能的服务。组织可以继续从现有的资源中获取价值,而不必重新从头开始构建。B、更易于集成和管理复杂性。将基础设施和实现发生的改变所带来的影响降到最低限度。因为复杂性是隔离的。当更多的企业一起协作提供价值链时,这会变得更加重要。C、更快

12、地整合和现实。通过利用现有的组件和服务,可以减少完成软件开发生命周期所需的时间。这使得可以快速地开发新的业务服务,并允许组织迅速地对改变做出响应和缩短开发时间。D、减少成本和增加重用。通过以松散耦合的方式公开业务服务,企业可以根据业务要求更轻松地使用和组合服务。E、SOA 业务流程是由一系列业务服务组成的,可以更轻松地创建、修改和管理它来满足不同时期的需要。6、RUP对软件开发管理的商业实践的价值与意义。答:软件过程(Software Process)是人们建立、维护和进化软件产品整个过程中所有技术活动和管理活动的集合。Rational统一过程( RUP),是一个指导软件开发的方法。RUP可以

13、增强团队的开发效率,它使团队中每个开发人员的见解和思想得到统一,使开发小组成员的沟通更为容易,而这正是任何项目要取得成功的关键因素;它可以增强开发人员对软件的预见性,最终的好处就是提高了软件质量,并有效缩短了软件从开发到投放市场的时间。基于RUP的软件过程,被分解为四个顺序的阶段,分别是初始阶段(Inception)、细化阶段(Elaboration)、构建阶段( Construction)和交付阶段(Transition)。RUP的软件过程是一个迭代过程。 RUP核心思想:(1)用例驱动 (2)以架构为中心 (3) RUP是迭代和增量性的 以网上支付结算平台系统为例,这是一个服务于金融行业的

14、大型电子商务软件平台,提供企业或个人客户随时可以通过具有安全保密的网络付款机制。整个平台由生产系统、测试兼备援系统、数据库系统、系统管理员操作系统和分行柜员操作系统组成。整个开发过程按照RUP过程模式开发。 在项目的初始阶段,主要建立项目的软件规模和边界条件,明确子系统的接口规范。通过与用户的交流,明确用户的需求,形成了Use Case文档、同时,估计了整个项目的总体成本和进度,评估了潜在的风险。 在项目的细化阶段,根据初步的系统需求,开发了完整的网页形式的系统原型,并形成需求规格说明书,作为验收标准。形成系统分析书和系统架构文档,构筑了三层结构的体系结构,完成了系统数据库的设计,形成了数据库

15、规格说明书。并在此基础上,为构建阶段制订了详细的迭代计划。 在项目的构建阶段,经过从需求、分析设计到编码的工作流迭代。对系统的需求、架构进行了修改和完善,形成了系统功能不断聚集在系统体系框架下的有利局面,用户不断提出的需求变更得到了很好的满足,系统功能不断完善。 在项目的交付阶段,把经过集成测试的软件制作安装盘,安装在银行的服务器上,接受实际环境的测试。编写了详细的用户手册,然后对有关用户和维护人员进行培训和指导。 在以上各阶段结束时,都要进行了严格的阶段技术评审。由于采用了基于RUP的软件过程,规范了管理和开发流程,有效地控制了资源,可保证该项目在预定的预算和时间期限内顺利完成. RUP在迭

16、代的开发过程、需求管理、基于构件的体系结构、可视化软件建模,验证软件质量及控制软件变更等方面,针对所有关键的开发活动为每个开发成员提供了必要的准则、模板和工具指导。它建立了简洁和清晰的过程结构,为开发过程提供较大的通用性。 与传统的软件过程相比较,基于RUP的软件过程可以降低产品风险,规范管理和开发流程,有效地控制资源,提高开发效率。7、CMM有何用途?描述其5个成熟度等级。答:软件能力成熟度模型( Capability Maturity Model,CMM)是美国大学Carnegie Mellon University软件工程研究所出的一套系统、规范的对软件生产过程进行管理的模型,其有效性已为大量实践所证实,并已成为对一个软件企业的生产能力和产品质量进行衡量的事实标准。CMM的

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

当前位置:首页 > 资格认证/考试 > 其它考试类文档

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