当前位置:文档之家› 面向对象软件度量自动化参考模型MOOP

面向对象软件度量自动化参考模型MOOP

软件度量总结(精)

软件度量总结 这次总结的结构比较简单,就是按照五个章节分别阐述了自己的理解。 一.软件度量的应用范围。 经过这一阶段的学习,我认为想要明白软件度量,首先要分清度量和测量的区别。度量具有前置性,它提供了一种定量研究软件问题的方法;测量具有实时性或后置性,主要集中在给度量提供数据或者处理数据的方法上。由于软件工程强烈的不确定性,使得软件工程的精确测量困难重重,但软件度量主要研究的是可能性的规律,通过概率和统计学的研究,寻找事物内在的规律。其并不具备 1+1=2的特征, 而是研究在多大可能性上这个结论是合理的,因为软件的主体是人,具有概率属性,设备和材料容易度量,但人很难度量。软件度量的主要作用是评估状况、跟踪进展情况、评价产品有效性和改进设计和过程的质量。定性分析可以提供迅速地判断能力,但定性分析终究需要定量分析的验证与支持,否则其结果很可能成为无目之本,出现错误。 软件度量的方法体系主要包括 5个方面:1. 项目度量,目的在于度量项目规模、成本、进度、顾客满意度等,辅助项目管理进行项目控制; 2. 规模度量,主要依靠经验和经验的模型,是决定项目成败的重要原因之一,是估算工作量、成本预算及策划项目进度的基础; 3. 成本度量, 4。产品度量,实质上是软件质量的度量,软件的质量由一系列质量要素组成,每个质量要素又由一些衡量标准组成,主要肚量方法是McCabe 复杂性度量法; 5,过程度量,对软件开发过程的个各方面进行度量,目的在于预测过程的未来属性,减少结果的偏差,主要包括成熟度度量(例如 CMMI, GJB5000A、管理度量(主要包括里程碑管理、风险度量等项目管理度量,审查度量、质量保证度量等质量管理度量,变更控制、版本管理度量等配置管理度量、生命周期度量三个大的方面。 不同层次的人员对软件度量有不同的需求。高级管理人员,如 CEO 、 COO ,关注点在上市时间、客户满意度、费用的节省等商业策略的组成部分上;中级管理层,如部门经理、总监等,则主要关注生产力、成本控制、效率等,他们更多的是着眼于

什么是面向对象程序设计

1 什么是面向对象程序设计,它与传统的结构式程序有什么不同。 面向对象程序设计是一种适用于设计、开发各类软件的范型。它是将软件看成是一个由对象组成的社会:这些对象具有足够的智能,能理解从其他对象接受的信息,并以适当的行为作出响应;允许低层对象从高层对象继承属性和行为。通过这样的设计思想和方法,将所模拟的现实世界中的事物直接映射到软件系统的解空间。 与传统的结构式程序设计相比,面向对象程序设计吸取了结构式程序设计的一切优点(自顶向下、逐步求精的设计原则)。而二者之间的最大差别表现在: ·面向对象程序采用数据抽象和信息隐藏技术使组成类的数据和操作是不可分割的,避免了结构式程序由于数据和过程分离引起的弊病。 · 面向对象程序是由类定义、对象(类实例)和对象之间的动态联系组成的。而结构式程序是由结构化的数据、过程的定义以及调用过程处理相应的数据组成的 2 用面向对象方法建立模型的思维过程是怎样的。 用面向对象方法建立拟建系统的模型的过程就是从被模拟现实世界的感性具体中抽象要解决的问题概念的过程。这种抽象过程分为知性思维和具体思维两个阶段,其中:·知性思维是从感性材料中分解对象,抽象出一般规定,形成了对对象的普遍认识。·具体思维是从知性思维得到出的一般规定中揭示的事物的深刻本质和规律,其目的是把握具体对象的多样性的统一和不同规定的综合。 3 解释以下概念: ①对象:在现实世界中,对象就是可以感觉到的实体。每个对象具有一个特定的名字以 区别于其他对象;具有一组状态用来描述它的某些特性;具有一组操作,每一个操作决定对象的一种功能或行为(为自身服务的操作和为其他对象提供服务的操作)。而在面向对象系统中,对象是可以标识的存储区域。每个对象的状态被保存在此区域中,而实现一类对象行为的操作(代码)被保存在另外相关的存储器区域中。 ②消息:消息是要求某个对象执行其某种功能操作(方法)的规格说明。因此,消息是 由消息的接收者、消息要求提供的操作(消息名)和必要的参数组成的。 ③类:在现实世界中,类是对一组具有共同特性(属性和行为)的客观对象的抽象。而 在面向对象系统中,类是由程序员自定义的具有特定结构和功能的类型,是一种代码共享的手段。 ④实例:任何一个对象都是该对象所属类的一个具体实例。 ⑤公有消息:是由对象外向对象发送的消息,用于激活该对象的某种方法。 ⑥私有消息:是由对象向自身发送的消息,用于内部操作;该类消息不能从对象外向该 对象发送。 ⑦消息序列:在面向对象系统中一个事件的发生总会有多个对象的多次相互作用才能完 成,使得这些对象能够相互作用的消息组成的序列被称为消息序列。 4 类与实例的关系如何? 类是创建对象的模板,而对象是实现类的实例。属于同一类的不同实例必须具有: ·相同的操作集合; ·相同的静态属性集合; ·不同的对象名和属性动态值。

第3章软件质量与评价

第3章软件质量与评价(软件测试标准) 1、质量的定义 质量是多维的概念,包括:实体、实体的属性和对实体的观点。 GB/T6583-ISO8404(1994版)《质量管理与质量保证术语》对质量的定义是:反映实体满足明确的隐含的需要的能力的特性的总和。 GB/T18905-ISO14598(1999版)《软件工程产品评价》定义: 2、测度与度量 在软件质量中用于测量的一种量化的标度和方法即为“测度”,而名词的“度量”用来指测量的结果。 影响软件质量可分为:可直接测量、间接度量 3、软件质量模型 ○1、McCall(麦考尔)质量模型 三个重要方面:操作特性(产品运行)、承受可改变能力(产品修订)、新环境适应能力(产品变迁)。 McCall等认为,特性是软件质量的反映,软件属性可用做评价准则,定量化地度量软件属性可知软件质量的优劣。 ②Boehm(勃姆)质量模型 提出了分层结构的质量模型,除了用户的期望和需要的概念,与McCall(麦考尔)质量模型相同外,还包括McCall模型中没有的硬件特性。 Boehm(勃姆)质量模型反映了对软件质量的理解,即软件做了用户要它做的;有效地使用系统资源;易于用户学习和使用;易于软件测试与维护。 ③ISO9126质量模型 GB/T16260-1996:六个影响质量的特性:功能性、可靠性、易使用性、效率、可维护性、可移植性;各个子特性(及其定义)要求要背 GB/T16260-1996出发点是软件最大限度地满足用户的明确的和潜在的需求。 国标16260中,在描述外部(内部)效率度量时,给出了若干针对计算机系统时间消耗的定义如下: ①响应时间是指从按动传送键到得到结果为止所需要的时间或响应时间包括处 理时间和传输时间 ②处理时间是指从接受一个消息到送出它的结果之间计算机的历时时间 ③ 周转时间是指从提出要求到得到结果所需要的时间 4、标准的发展 GB/T 16260-1996(ISO9126-1991)《软件产品评价-质量特性及其使用指南》已被两个相关的由多部分组成的标准:GB/T 18905-2002《软件工程产品评价》和GB/T 16260-2003(ISO9126-2001)《软件工程产品质量》所取代。 5、GB/T 18905产品评价 (一、GB/T 18905基本组成(6个部分组成) GB/T 软件工程产品评价第1部分: 概述 GB/T 软件工程产品评价第2部分: 策划和管理 GB/T 软件工程产品评价第3部分: 开发者用的过程

软件度量复习要点、考点_daisy

软件度量考试复习 测量定义:用数字或符号来表示真实世界中实体属性从而根据定义的规则来表示实体的过程。度量定义:由用户和设计者一同设想的用来在可信和有意义的方式中显露出的的选择的特性。软件度量的定义:用来量化软件产品,软件开发资源和/或软件开发过程的度量。包括可直接测量的对象如代码行,也包括通过测量计算得到的对象如软件质量。 1.测量有哪些尺度类型?各有何区别? 答:测量有标定尺度、类型尺度、序列尺度、间隔尺度、比例尺度、绝对尺度。标定和类型尺度属于语言尺度(Linguistic)。标定尺度给出了唯一且不含糊的概念名称并且定义技术也属于标定尺度;类型尺度识别实体中已经定义且命名的类型或种类(categories),也叫绝对标定尺度。序列尺度估计已测量的实体的值并将他们按顺序重组排列,值和顺序均表达为字符或符号。间隔尺度、比例尺度和绝对尺度属于定量尺度。间隔尺度用于发现增长间隔而不是比例,没有不合理的0间隔(后半句话翻译不好);比例尺度允许比例的计算并且允许合理的0参考点;绝对尺度用于计数(count),只有一种可能的绝对属性测量。 测量作为一个过程,有哪些阶段? 答:测量作为过程,有3个阶段:感知(Cognitive)、语义(Semantic)、数字化(Quantitative)。2.软件度量的实体有哪些?如何采用GQM定义度量框架?GQM中如何描述目标? 答:软件度量的实体类型: ①过程(process):软件开发中活动的集合。不同的软件开发模式中,所采用的流程和活动也不一样; ②产品(product):软件过程活动的结果,可以是一个程序、一个软件文档或其他任何 交付物; ③资源(resource):实施这些活动所需要的对象,可能是人力、设备、时间等。 GQM定义度量框架: 1。确定目标;2。细化感兴趣的问题列表;3。定义需要回答这些问题的度量标准;4。 开发数据收集和分析的工具和机制;5。收集并验证数据;6。通过事后剖析的方式分析数据以评估是否与目标一致,并为其后的改善提供意见;7。为利益相关者提供反馈信息。 GQM中如何描述目标: GQM中目标有4个部分:一个感兴趣的对象(一个实体)、一个意图、一个观点、一个对环境和约束的描述。 3.在度量数据的频域分析中,如何描述测量数据的散步度? 答:散步度描述了被测量(观察)数据在数据集中是怎样分布的。主要通过以下3个参数来反映:极差是资料组(数据集)中最高和最低值之差;方差测量观察值的波动范围;标准差是方差的平方根。 4.什么是功能点分析?特征点、对象点、和功能点有何不同? 答:功能点分析是对产品中为调整的函数数量(UFC)及值调整因子(VAF)的分析计算。 FP=UFC*VAF。生产率=FP/人月。文档=文档页数/FP。 特征点分析扩展了功能点计数到实时和TLC环境(MIS&RT&SC)。当应用的算法数量及逻辑数据文件数相同时,功能点和特征点产生相同的结果;应用于MIS项目时,结果通常完全相同;当应用于更复杂的系统软件形态时,特征点的计数要高的显著的多。

常见的软件质量模型

常见的软件质量模型 关于软件质量模型,业界已经有很多成熟的模型定义,比较常见的质量模型有McCall 模型、Boehm 模型、FURPS 模型、Dromey 模型和 ISO9126 模型。 ?Jim McCall 软件质量模型(1977 年) ?Barry W. Boehm 软件质量模型(1978 年) ?FURPS/FURPS+ 软件质量模型 ?R. Geoff Dromey 软件质量模型 ?ISO/IEC 9126 软件质量模型(1993 年) ?ISO/IEC 25010 软件质量模型(2011 年) Jim McCall 软件质量模型(1977 年) Jim McCall 的软件质量模型,也被称为 GE 模型(General Electrics Model)。其最初起源于美国空军,主要面向的是系统开发人员和系统开发过程。McCall 试图通过一系列的软件质量属性指标来弥补开发人员与最终用户之间的沟壑。 McCall 质量模型使用 3 中视角来定义和识别软件产品的质量: 1.Product revision (ability to change). 2.Product transition (adaptability to new environments). 3.Product operations (basic operational characteristics).

McCall 模型通过层级的要素、标准和指标来详述这 3 个视角定义(产品修改、产品转移、产品运行)。 ?11 Factors (To specify):描述软件的外部视角,也就是客户或使用者的视角。 ?23 Criterias (To build):描述软件的内部视角,也就是开发人员的视角。 ?Metrics (To control):定义衡量指标和方法 下图中,左侧为 11 个质量要素,右侧为 23 个质量标准。

软件与软件工程-面向对象设计

第9章面向对象设计

9.1 面向对象设计与结构化设计 与结构化的设计相比,面向对象的设计更符合复杂的、随机性较强和考虑并发性的系统软件设计,而不适合逻辑性很强的系统软件设计。结构化软件设计一般从系统功能入手,按照需求将系统功能分为若干个子功能模块。但是,用户的需求是在不断变化的。需求的改变往往会对功能模块产生影响,从而对整个系统产生影响,而面向对象的设计基于类、对象、封装、继承等概念,相比之下,需求的变化对系统的局部影响并不容易扩展到全局。因此,面向对象设计方法比结构化设计方法更具有优势,使用范围更广。 由于在类中封装了属性和方法,因此在面向对象的类设计中已经包含了面向过程中的过程设计。此外,与面向过程中的数据设计所不同的是,面向对象设计中的数据设计并不是独立进行的,面向对象设计中的

9.2 面向对象设计与面向对象分析的关系 设计阶段的任务是及时把分析阶段得到的需求转变成符合各项要求的系统实现方案。与传统的软件工程方法不同的是,面向对象的方法不强调需求分析和软件设计的严格区分。实际上,面向对象的需求分析和面向对象的设计活动是一个反复迭代的过程,从分析到设计的过渡,是一个逐渐扩充、细化和完善分析阶段所得到的各种模型的过程。严格的意义上来讲,从面向对象分析到面向对象设计不存在转换问题,而是同一种表示方法在不同范围的运用。面向对象设计也不仅仅是对面向对象分析模型进行细化。 面向对象分析到面向对象设计是一个平滑的过渡,即没有间断没有明确的分界线。面向对象分析建立系统的问题域对象模型,而面向对象设计是建立求解域的对象模型。

?9.3.1 面向对象设计的过程 面向对象的设计过程一般进行以下几个步骤。 (1)建立软件体系结构环境图 在软件体系结构设计开始的时候,设计应该定义与软件进行交互的外部实体(其他系统、设备和人员等)以及交互的特性。一般在分析建模阶段可以获得这些信息,并使用软件体系结构环境图对环境进行建模,描述系统的出人信息流、用户界面和相关的支持处理。一旦建立了软件体系结构的环境图,描述出所有的外部软件接口,软件架构师就可以通过定义和求精实现软件体系结构的构件来描述系统的结构。这个过程可一直迭代,直到获得一个完善的软件体系结构。在设计的初始阶段,软件架构师用软件体系结构环境图对软件与外部实体交互的方式进行建模。

面向对象程序设计(答案)

学号:姓名: 第三章面向对象程序设计作业 一、判断题 1、一个Java源程序可有多个类,但只仅有一个public类,而且程序名与public类名相同。对 2、如果类A和类B在同一个包中,则除了私有成员外,类A可以访问类B中所有的成员。对 3、接口中的成员变量全部为常量,方法为抽象方法。对 4、抽象类可以有构造方法,可以直接实例化。错 5、对static方法的调用可以不需要类实例。对 6、包含抽象方法的类一定是抽象类。对 7、方法中的形参可以和方法所属类的属性同名。对 8、接口无构造器,不能有实例,也不能定义常量。错 9、类的实例对象的生命周括实例对象的创建、使用、废弃、垃圾的回收。对 10、Java应用程序的入口main方法只有一种定义法。对 二、选择题 1、下列答案正确的是(A ) A) 在同一个Java源文件中可以包含多个类,只能有一个被声明为public B) 在同一个Java源文件中只能包含一个类,并被声明为public C) 在同一个Java源文件中可以包含多个类,都可以被声明为public D) 在同一个Java源文件中可以包含多个类,只能有一个被声明为default 2、Java实现动态多态性是通过( B )实现的。 A) 重载B) 覆盖 C) 接口D) 抽象类 3、下列哪一个是正确的方法重载描述( A ) A) 重载方法的参数类型必须不同 B) 重载方法的参数名称必须不同 C) 返回值类型必须不同 D) 修饰词必须不同 4、final关键字不可以用来修饰( D ) A) 类B) 成员方法 C) 域D) 接口 5、接口的所有成员方法都具有( B )属性 A) private, final B) public, abstract C) static, protected D) static 6、Java的封装性是通过(A )实现的 A) 访问控制B) 设计内部类 C) 静态域和静态方法D) 包 7、下列接口或类不属于.*包的是( D ) A) Collection B)Vector C) Map D) Integer 8、下述哪一组方法,是一个类中方法重载的正确写法( A ) A) int addValue( int a, int b ){return a+b;}

面向对象程序设计完整版

Object- Orien ted Programmi ng C++ 主讲成长生 东华大学计算机科学与技术学院

第一章概述 § 1.1 面向对象程序设计的基本思想 C++是基于C语言发展的,又冲破C语言局限的面向对象的程序设计语言。它与Java 语言都作为当前计算机科学的主流语言, 越来越受到用户的欢迎。 要弄清楚什么是面向对象的程序设计, 首先了解和回顾传统的 ( Pascal(或C))结构化程序设计方法及其设计思想、程序结构及特点。SP(Structure Programming)是60 年代诞生的针对当时爆发的所谓”软件危机” , 为此发展形成了现代软件工程学的基础。 SP的总的设计思想是: . 自顶向下、层次化 . 逐步求精、精细化 程序结构是按功能划分基本模块的树型结构, 使模块间的关系尽可能简单独立。因此SP的程序的基本特点是: . 按层次组织模块(战略上划分战役) . 每一模块只有一个入口, 一个出口 ?代码和数据分离(程序=数据结构+算法) 归纳得到: SP 把数据和过程(代码、函数)分离为相互独立的实体, 用数据代表问题空间中的客体借以表示实际问题中的信 息; 程序代码则用来处理加工这些数据。程序员在编程时 必须时刻考虑所要处理的数据结构和类型。对不同的数据格式即使要作同样

的处理计算, 或者要对相同的数据格式作不同的处理都必须编写不同的程序(如两个整型数和两个浮点数相加)。这样的编程方法,即传统的SP方法设计出来的程序或系统其可重用的成分很少。其次把数据和代码作为不同的分离实体时, 总存在着用错误的数据调用正确的程序模块, 或用正确的数据调用错误的程序模块的危险, 从而使数据与程序始终保持兼容, 已成为程序员 的一个沉重的负担。在开发一个大型软件课题中, 当工程进入到 后期若用户改变了方案要求, 很容易使技术人员的前期工作受到摧毁性的打击,使其前功尽弃。为克服以上的弊端或者该SP方法难以控制处理的矛盾而产生了面向对象程序设计方法, 即Object —Oriented Programming ----------- OOP从二十世纪六十年代提出对象 的雏形, 到七十年代美国国防部的专用语言Ada 语言, 直到当前国际上流行的高品味的Java 和C++(Tc++,Balandc++ 及Vc++), , 应该讲OOP方法与技术吸取了SP的一切优点,同时又正视和顺应现实世界由物质和意识二部分组成。映射到面向对象的解空间就是: 具体事物—对象; 抽象概念—类。 OOP的基本原理是用问题领域的模型来模拟大千世界,从而设计出尽可能直接、自然地表示问题求解方法的软件, 这样的软件由对象组成, 而对象则是完整反映客观世界事物具有不可分割的静态属性(”数据结构” )与动态行为(”方法” )的。而且它们是既有联系又

三种常见质量模型的对比

常见软件质量模型的对比 J. A. McCall等人将质量模型分为三层:因素、衡量准则、度量,并对软件质量因素进行了研究,认为软件质量是正确性、可靠性、效率等构成的函数,而正确性、可靠性、效率等被称为软件质量因素,或软件质量特征,它表现了系统可见的行为化特征。每一因素又由一些准则来衡量,而准则是跟软件产品和设计相关的质量特征的属性。例如,正确性由可跟踪性、完全性、相容性来判断;每一准则又有一些定量化指标来计量,指标是捕获质量准则属性的度量。McCall认为软件质量可从两个层次去分析,其上层是外部观察的特性,下层是软件内在的特性。McCall定义了11个软件外部质量特性,称为软件的质量要素,它们是正确性、可靠性、效率、完整性、可使用性、可维护性、可测试性、灵活性、可移植性、重复使用性和连接性。同时,还定义了23个软件的内部质量特征,称之为软件的质量属性,它们是完备性、一致性、准确性、容错性、简单性、模块性、通用性、可扩充性、工具性、自描述性、执行效率、存储效率、存取控制、存取审查、可操作性、培训性、通信性、软件系统独立性、机独立性、通信通用性、数据通用性和简明性,软件的内部质量属性通过外部的质量要素反映出来。然而,实践证明以这种方式获得的结果会有一些问题。例如,本质上并不相同的一些问题有可能会被当成同样的问题来对待,导致通过模型获得的反馈也基本相同。这就使得指标的制定及其定量的结果变得难以评价。 Boehm模型是由Boehm等在1978年提出来的质量模型,在表达质量特征的层次性上它与McCall模型是非常类似的。不过,它是基于更为广泛的一系列质量特征,它将这些特征最终合并成19个标准。Boehm提出的概念的成功之处在于它包含了硬件性能的特征,这在McCall模型中是没有的。但是,其中与McCall模型类似的问题依然存在。 ISO9126质量模型主要从三个层次来分析即内部质量,外部质量和使用质量,这三者之间都是互相影响互相依赖。其中内在质量和外在质量的六个特征,它们还可以再继续分成更多的子特征。这些

面向对象程序设计教程-(马石安版)

第 1 章习题答案 名词解释 抽象:抽象(Abstract)就是忽略事物中与当前目标无关的非本质特征,而强调与当前目标有关的本质特征,从而找出事物的共性,并把具有共性的事物划为一类。面向对象方法中的抽象,是指对具体问题(对象)进行概括,抽出一类对象的公共性质并加以描述的过程。 封装:面向对象方法中的封装就是把将抽象出来的对象的属性和行为结合成一个独立的单位,并尽可能隐蔽对象的内部细节。 消息:消息是面向对象程序设计用来描述对象之间通信的机制。一个消息就是一个对象要求另一个对象实施某种操作的一个请求。 填空题 (1) 面向过程的结构化程序设计方法面向对象程序设计方法 (2) 顺序选择循环 (3) 程序=数据结构+算法程序=对象+消息 (4) 过程类 (5) 抽象性封装性继承性多态性选择题 (1) B (2) C (3) D (4) C (5) D (6) A (7) A (8) B C (9) A D 判断题(1) t (2) f (3) f (4)f (5) t (6) f (7) f (8) t 简答题 (1) 结构化程序设计方法着眼于系统要实现的功能,从系统的输入和输出出发,分析系统要做哪些事情,进而考虑如何做这些事情,自顶向下地对系统的功能进行分解,来建立系统的功能结构和相应的程序模块结构,有效地将一个较复杂的程序系统设计任务分解成许多易于控制和处理的子任务,便于开发和维护。随着程序规模与复杂性的增长,这种面向过程的结构化程序设计方法存在明显的不足之处。首先是数据安全性问题,由于数据被每个模块所共用,因此是不安全的,一旦出错,很难查明原因。其次是可维护性及可重用性差,它把数据结构和算法分离为相互独立的实体,一旦数据结构需要改变时,常常要涉及整个程序,修改工作量极大并容易产生新的错误。每一种相对于老问题的新方法都要带来额外的开销。另外,图形用户界面的应用程序,很难用过程来描述和实现,开发和维护也都很困难。 (2) 面向对象的程序设计方法中,将程序设计为一组相互协作的对象(Object)而不是一组相互协作的函数。在程序中,属性用数据表示,用来描述对象静态特征;行为用程序代码实现,用来描述对象动态特征。可见,在面向对象的程序设计方法中,对象是数据结构和算法的封装体。对象之间存在各种联系,它们之间通过消息进行通信。程序可表示为:程序=对象+消息在面向对象程序设计中,它着重于类的设计。类正是面向对象语言的基本程序模块,通过类的设计,来完成实体的建模任务。类通过一个简单的外部接口,与外界发生关系。一个类中的操作不会处理到另一个类中的数据,这样程序模块的独立性、数据的安全性就有了良好的保障。程序的执行取决于事件发生的顺序,由顺序产生的消息来驱动程序的执行。不必预先确定消息产生的顺序,更符合客观世界的实际。并且面向对象程序设计方法提供了软件重用、解决大问题和复杂问题的有效途径,具有抽象性、封装性、继承性和多态性等特点。 (3) 结构化程序设计方法中,把数据结构和算法分离为相互独立的实体。在面向对象程序设计中,数据结构和算法是封装在一起,结合成一个独立的单位,即对象,并尽可能隐蔽对象的内部细节。对象的私有属性只能由这个对象的行为来读取和修改,与外部的联系通过公有行为充当外部接口。 第 2 章习题答案

软件质量度量分析与研究

龙源期刊网 https://www.doczj.com/doc/3a13831392.html, 软件质量度量分析与研究 作者:余为峰,黄松 来源:《电脑知识与技术》2010年第18期 摘要:随着软件的复杂性日益增长, 软件开发的周期以及费用也日益增长,软件质量的保证与提高越来越成为了人们高度重视的问题。解释了软件质量的概念和质量模型的发展阶段,分析 了软件质量度量的过程以及度量的验证与预测,提出了几种针对软件质量的度量方法,最后对软件质量的度量做了相关的展望。 关键词:软件质量;度量;质量度量模型;度量验证 中图分类号:TP311文献标识码:A文章编号:1009-3044(2010)18-5106-03 Analysis and Research of Software Quality Metrics YU Wei-feng, HUANG Song (Software Test and Evaluation Center for Military Training, Institute of Command Automation, PLA University of Science & Technolog, Nanjing 210007, China) Abstract: As the complexity of software is increasing, the cycle of software development and cost are also increasing. And people have paid more and more attention to the question that how to assure and improve the software quality. This paper not only explains the definition of software quality and developing phases of quality model, but also analyses the process of software quality metrics and validation of quality metrics. At the same time, it introduces several methods of software quality metrics. Finally, related future trends of research in this field is listed. Key words: software quality; metrics; quality metrics model; metrics validation 在过去几十年里,因为软件的质量问题而导致整个系统发生失效的事例屡见不鲜,进而给人类生命安全和环境造成了巨大的损失。20世纪80年代,美国有两个系统,耗资5600万美元的Univac联合航空订票系统和耗资2.17亿美元的高级后勤系统都因在交付使用后发现不满足要求而被迫进行重新研制[1];而在1996年6月,在阿丽亚娜5号火箭首次发射后不到一分钟的时间内,就因为软件故障问题致使火箭发生了爆炸,导致了巨大的经济损失和相应计划的延迟[2]。因此软件的质量问题已引起了人们的极度重视,软件质量的度量问题自然也得到重视。

面向对象技术的软件设计

软件英才网软件行业驰名招聘网站 面向对象技术的软件设计 面向对象技术(Object-Oriented Technology)。面向对象技术强调在软件开发过程中面向客观世界或问题域中的事物,采用人类在认识客观世界的过程中普遍运用的思维方法,直观、自然地描述客观世界中的有关事物。面向对象技术的基本特征主要有抽象性、封装性、继承性和多态性。

软件英才网软件行业驰名招聘网站 对象模型化技术(OMT) 对象模型化技术把分析时收集的信息构造在三类模型中,即对象模型,功能模型和动态模型

软件英才网软件行业驰名招聘网站 对象模型:最关键的模型,描述系统的静态结构,包括构成系统的类和对象,以及他们之间的关系 在对象模型化技术中,类与类之间的关系叫做关联关联分为聚合,限定,角色 动态模型:着重于系统的控制逻辑,包括两个图,一个是状态图,一个是事件追踪图 状态图:是一个状态和事件的网络,侧重于描述每一类对象的动态行为 在状态图中,状态是对某一时刻中属性特征的概括。

软件英才网软件行业驰名招聘网站 而状态迁移表示这一类对象在何时对系统内发生的哪些事件做出何种响应。 事件追踪图:侧重于说明发生于系统执行过程中的一个特定“场景” 功能模型:通过计算,从输入数据能得到什么样的输出数据,不考虑参加计算的数据按什么时序执行。功能模型由多个数据流图组成,它们指明从外部输入,通过操作和内部存储,指导外部输出,这整个的数据流情况。

软件英才网软件行业驰名招聘网站 基于三个模型的分析过程 功能模型定义“做什么” 动态模型定义“何时做” 对象模型定义“对谁做” 面向对象的分析(OOA) 构造OOA概念模型的5个层次 类与对象,属性,服务,结构与主题 类与对象层:如何建立基本块 属性层:对象的属性和实例连接组成 服务层:对象的服务,加上对象实例之间消息通信组成 结构层:描述了一般——特殊结构或泛化——特化结构,泛化——特化结构表明了类的继承性 主题层:将对象归类到各个主题中,将有关对象用一个主题边框框起来

面向对象程序设计教程_(马石安版)

第1章习题答案 名词解释 抽象:抽象(Abstract)就是忽略事物中与当前目标无关的非本质特征,而强调与当前目标有关的本质特征,从而找出事物的共性,并把具有共性的事物划为一类。面向对象方法中的抽象,是指对具体问题(对象)进行概括,抽出一类对象的公共性质并加以描述的过程。 封装:面向对象方法中的封装就是把将抽象出来的对象的属性和行为结合成一个独立的单位,并尽可能隐蔽对象的内部细节。 消息:消息是面向对象程序设计用来描述对象之间通信的机制。一个消息就是一个对象要求另一个对象实施某种操作的一个请求。 填空题 (1) 面向过程的结构化程序设计方法面向对象程序设计方法 (2) 顺序选择循环 (3) 程序=数据结构+算法程序=对象+消息 (4) 过程类 (5) 抽象性封装性继承性多态性 选择题 (1) B (2) C (3) D (4) C (5) D (6) A (7) A (8) B C (9) A D 判断题 (1) t (2) f (3) f (4)f (5) t (6) f (7) f (8) t 简答题 (1) 结构化程序设计方法着眼于系统要实现的功能,从系统的输入和输出出发,分析系统要做哪些事情,进而考虑如何做这些事情,自顶向下地对系统的功能进行分解,来建立系统的功能结构和相应的程序模块结构,有效地将一个较复杂的程序系统设计任务分解成许多易于控制和处理的子任务,便于开发和维护。 随着程序规模与复杂性的增长,这种面向过程的结构化程序设计方法存在明显的不足之处。首先是数据安全性问题,由于数据被每个模块所共用,因此是不安全的,一旦出错,很难查明原因。其次是可维护性及可重用性差,它把数据结构和算法分离为相互独立的实体,一旦数据结构需要改变时,常常要涉及整个程序,修改工作量极大并容易产生新的错误。每一种相对于老问题的新方法都要带来额外的开销。另外,图形用户界面的应用程序,很难用过程来描述和实现,开发和维护也都很困难。 (2) 面向对象的程序设计方法中,将程序设计为一组相互协作的对象(Object)而不是一组相互协作的函数。在程序中,属性用数据表示,用来描述对象静态特征;行为用程序代码实现,用来描述对象动态特征。可见,在面向对象的程序设计方法中,对象是数据结构和算法的封装体。对象之间存在各种联系,它们之间通过消息进行通信。程序可表示为: 程序=对象+消息 在面向对象程序设计中,它着重于类的设计。类正是面向对象语言的基本程序模块,通过类的设计,来完成实体的建模任务。类通过一个简单的外部接口,与外界发生关系。一个类中的操作不会处理到另一个类中的数据,这样程序模块的独立性、数据的安全性就有了良好的保障。程序的执行取决于事件发生的顺序,由顺序产生的消息来驱动程序的执行。不必预先确定消息产生的顺序,更符合客观世界的实际。并且面向对象程序设计方法提供了软件重用、解决大问题和复杂问题的有效途径,具有抽象性、封装性、继承性和多态性等特点。

面向对象程序设计

《面向对象程序设计》期末考试试卷(A卷) (闭卷时间120分钟) 院/系年级专业姓名学号 一、选择题(本大题共10小题,每小题2分,共20分) 1、下列选项中可以做C++标识符的是( a ) A. _256 B. fat/pig C. delete D. 5char 2、在一个C++程序中,main函数的位置( c )。 A.必须在程序的开头B.必须在程序的后面 C.可以在程序的任何地方D.必须在其他函数中间 3、在语句cout<

常见的软件质量模型教学教材

常见的软件质量模型

常见的软件质量模型 关于软件质量模型,业界已经有很多成熟的模型定义,比较常见的质量模型有McCall 模型、Boehm 模型、FURPS 模型、Dromey 模型和 ISO9126 模型。 ?Jim McCall 软件质量模型(1977 年) ?Barry W. Boehm 软件质量模型(1978 年) ?FURPS/FURPS+ 软件质量模型 ?R. Geoff Dromey 软件质量模型 ?ISO/IEC 9126 软件质量模型(1993 年) ?ISO/IEC 25010 软件质量模型(2011 年) Jim McCall 软件质量模型(1977 年)Jim McCall 的软件质量模型,也被称为 GE 模型(General Electrics Model)。其最初起源于美国空军,主要面向的是系统开发人员和系统开发过程。McCall 试图通过一系列的软件质量属性指标来弥补开发人员与最终用户之间的沟壑。 McCall 质量模型使用 3 中视角来定义和识别软件产品的质量: 1.Product revision (ability to change). 2.Product transition (adaptability to new environments). 3.Product operations (basic operational characteristics).

McCall 模型通过层级的要素、标准和指标来详述这 3 个视角定义(产品修改、产品转移、产品运行)。 ?11 Factors (To specify):描述软件的外部视角,也就是客户或使用者的视角。 ?23 Criterias (To build):描述软件的内部视角,也就是开发人员的视角。 ?Metrics (To control):定义衡量指标和方法 下图中,左侧为 11 个质量要素,右侧为 23 个质量标准。

软件质量保证

一、实验目的 通过网络等参考资料了解软件工程领域中不同的软件质量模型的原理及特点,了解软件产品规模度量的相关方法及相应的特点,了解软件产品复杂度度量方法及其特点,了解软件产品缺陷密度度量相关方法及原理,了解顾客满意度度量方法,并进行对比分析。 二、实验时间 2学时 三、实验内容 1、依据网络资源,了解软件度量中的相关知识,了解不同的软件质量模型及其各自的特点。 2、重点了解软件产品规模度量方法、软件复杂度度量方法、软件产品缺陷度量方法及顾客 满意度度量方法。 3、分析对比各类方法的特点。 四、实验总结 1、软件度量是什么?为什么要进行软件度量? 软件度量是对软件开发项目、过程及其产品进行数据定义、收集以及分析的持续性定量化过程,目的在于对此加以理解、预测、评估、控制和改善。 软件度量满足了三方面的需要:首先是满足了项目管理的需要。项目经理根据软件度量的数据可以对有关资源进行合理部署和分配,有效地对项目的进度和执行情况进行监控,确定软件产品是否符合质量的要求等。其次,满足了组织的需要。依照度量的数据,组织可以清楚地了解开发的效率和质量的总体水平,从而可以更好地进行产品组合、判定资金的投向,策划、管理或验证软件开发的活动。第三是满足了用户的需要。用户可以根据度量的数据比较正确地判定投入的资金,项目交付的合理期限以及判定递交项目的质量等。因此,研究软件的度量有着十分重要的社会意义和应用意义。通过软件度量可以改进软件开发过程,促进项目成功,开发高质量的软件产品。度量取向是软件开发诸多事项的横断面,包括顾客满意度度量、质量度量、项目度量、以及品牌资产度量、知识产权价值度量,等。度量取向要依靠事实、数据、原理、法则;其方法是测试、审核、调查;其工具是统计、图表、数字、模型;其标准是量化的指标。 美国卡内基·梅隆大学(CMU)软件工程研究所在《软件度量指南》中认为,软件度量在软件工程中的作用有:通过软件度量增加理解;通过软件度量管理软件项目,主要是计划和估算、跟踪和确认;通过软件度量指导软件过程改善,主要是理解、评估和包装。

第3章软件质量与评价(软件测试标准)作业二

第3章软件质量与评价(软件测试标准)作业 (2005年) ●在GB/T17544中,软件包质量要求包括三部分,即产品描述要求、_____(53)____、程序和数据要求。 (53)A.用户文档要求B.系统功能要求C.设计要求说明D.软件配置要求 ●软件内部/外部质量模型中,可移植性不包括_____(54)____子特性。 (54)A.适应性B.共存性C.兼容性D.易替换性 ●《GB/T18905 软件工程产品评价》中确定的通用评价过程包括:___(55)____。 (55)A.确立评价需求、设计评价、执行评价和评估结果 B.确立评价目的、规定评价、设计评价和执行评价 C.确立评价需求、规定评价、设计评价和执行评价 D.确立评价目的、设计评价、执行评价和评估结果 ●GB/T16260-2003将软件质量特性分为内部质量特性、外部质量特性和_____(56)____。(56)A.安全质量特性B.适用质量特性C.性能特性D.使用质量特性 (2006年) ●GB/T16260—2003《软件工程产品质量》规定的软件产品使用质量特性包括___(50)___。 (50)A.适应性、生产率、可靠性、满意度 B.有效性、生产率、安全性、满意度 C.有效性、可靠性、适应性、满意度 D.适应性、适用性、效率、满意度 ●软件可靠性是指在指定的条件下使用时,软件产品维持规定的性能级别的能力,其子特性___(51)___是指在软件发生故障或者违反指定接口的情况下,软件产品维持规定的性能级别的能力。 (51)A.成熟性B.易恢复性C.容错性D.可靠性依从性 ●GB/T18905—2002《软件工程产品评价》中确定的通用评价过程包括四个方面,即:确立评价需求,规定评价,设计评价和执行评价,其中有关“规定评价”部分包含的内容有___(52)___。 (52)A.选择度量、建立度量评定等级、确立评估准则: B.指定质量模型、选择度量、建立度量评定等级 C.选择度量、建立度量评定等级、制定评价计划 D.确定产品类型、选择度量、建立度量评定等级 ●GB/T18905-2002《软件工程产品评价》提供了软件产品评价的过程,其中GB/T18905—2002《软件工程产品评价》第五部分评价者用的过程_(53)___。 (53)A.计划获取或复用某个已有的软件产品的组织予以使用 B.对软件产品执行独立评估的评价者使用 C.计划开发新产品或增强现有的产品,以及打算利用他们自己的技术人员进行产品评价的组织使用 D.编制评价模块的文档提供指南 ●关于软件质量的描述,正确的是___(56)___。 (56)A.软件质量是指软件满足规定用户需求的能力 B.软件质量特性是指软件的功能性、可靠性、易用性、效率、可维护性、可移植性C.软件质量保证过程就是软件测试过程 D.以上描述都不对 (2007年)

面向对象程序设计

二、主观题(共9道小题) 22.在C++中,当用class定义一个类时,数据成员和成员函数的默认访问权限是【30】,而struct中成员的默认访问权限是【31】 参考答案:30)私有(或者private) 31)公有(或者public) 23.编写程序声明类Student,有数据成员姓名、学号、成绩,定义函数成员用于返回各数据成员信息,定义对象数组,实现10个学生的分数录入及平均分计算。 参考答案: #include class Student {public: float getScore(); private: char name[10]; long num; float score; }; 类的成员函数的定义和主函数部分自己完成 24.类的继承是面向对象程序设计中的重要机制,继承方式有三种,分别是: 】【2和】 1)公有继承2)受保护继承 25.带有纯虚函数的类是【4】。 参考答案:4)抽象类 26.在C++程序中,动态建立和删除堆对象是采用【5】和【6】这两个运算符来实现的。 参考答案:5) new 6) delete 27.假定AB为一个类, 则执行"AB a[9];" 语句时, 系统自动调用该类构造函数的次数为【7】 . 参考答案:7) 9 28.当一个类对象被创建时,系统将自动调用该类的构造函数,而【8】函数是在对象的生存期即将结束的时刻由系统自动调用的。 参考答案:8析构 29.类中具有相似功能的不同函数使用同一个名称来实现,这称为【9】。面向对象的多态性可以分为四类,分别是:参数多态、强制多态、【10】 和【11】。 参考答案:9多态 10重载 11)main

相关主题
文本预览
相关文档 最新文档