




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、.软件工程基础知识考点指导考点1 :软件工程和项目管理基础 考点点拨: 本考点考查软件工程和软件生成周期的概念,常用的软件开发模型,以及软件开发项目管理基础知识。【试题1】 软件工程三要素是_。 A)技术、方法和工具 B)方法、工具和过程 C)方法、对象和类 D)过程、模型、方法答案:B分析:软件工程三要素:方法、工具和过程。软件工程方法为软件开发提供了 “如何做” 的技术。软件工具为软件工程方法提供了自动的或半自动的软件支撑环境。软件工程过程定义了:方法使用的顺序、要求交付的文档资料、为保证质量和适应变化所需要的管理以及软件开发各个阶段完成的工作。理论链接: 软件工程概述1软件危机软件危机是
2、指计算机软件开发和维护过程中所遇到的一系列严重问题。概括的说即为:能否满足对软件日益增长的需求?能否维护数量日益增长的现有软件?2软件工程软件工程是一类求解软件的工程,它应用计算机科学、数学及管理科学等原理,借鉴传统工程的原则、方法,创建软件以达到提高质量、降低成本的目的。其中,计算机科学、数学用于构造模型与算法,工程科学用于制定规范、设计范型、评估成本及确定权衡,管理科学用于计划、资源、质量、成本等管理。软件工程是一门指导计算机软件开发和维护的工程学科。软件工程准则可以概括为六条基本原理:(1)用分阶段的生存周期计划严格管理;(2)坚持进行阶段评审;(3)实行严格的产品控制;(4)采用现代程
3、序设计技术;(5)应能清楚地审查结果;(6)合理安排软件开发小组的人员。【试题2】 软件开发的结构化生命周期方法将软件生命周期划分成_。 A)计划阶段、开发阶段、运行阶段 B)计划阶段、编程阶段、测试阶段 C)总体设计、详细设计、编程调试 D)需求分析、功能定义、系统设计答案:A【试题3】 软件生命周期的最后的一个阶段是_。 A)书写软件文档 B)软件维护 C)稳定性测试 D)书写详细用户说明答案:B理论链接: 软件生存(生命)周期软件生存周期:软件的产生直到报废的生命周期。从时间角度对软件开发和维护的复杂问题进行分解,把软件生命的漫长周期依次划分为若干阶段,每个阶段有相对独立的任务,然后逐步
4、完成每个阶段的任务。软件生存周期受软件规模、种类、开发方式、开发环境、方法论的影响有多种划分方法:一种划分方法为:软件定义(又称系统分析,包括问题定义,可行性研究,需求分析),软件开发(包括总体设计,详细设计,编码和单元测试,综合测试),软件使用与维护等三个时期。各阶段的关键问题和阶段性成果如表7-1所示:表7-1 软件生存周期各阶段描述阶段关键问题阶段性成果问题定义问题是什么关于规模和目标的报告书可行性研究有可行的解吗系统的高层逻辑模型:数据流图成本/效益分析需求分析系统必须做什么系统的逻辑模型:数据流图(MSC图)数据字典(类清单、对象间关系)算法描述总体设计概括地说,应如何解决这个问题可
5、能的解法:系统流程图成本/效益分析推荐的系统结构:层次图 ,结构图(SDL)详细设计怎样具体地实现这个系统编码规格说明(SDL)综合测试符合要求的软件综合测试方案和结果完整性一致的软件配置维护持久地满足用户需求的软件完整准确的维护记录另一种划分是把软件生命周期划分为6个阶段:即制定计划、需求分析、软件设计、程序编写、软件测试和运行维护。【试题4】 瀑布模型(Waterfall Model)突出的缺点是不适应_的变动。(2002年上午填空22)A)算法 B)平台 C)程序语言 D)用户需求答案:D分析:瀑布模型最为突出的缺点是缺乏灵活性,不能适应用户需求的动态变更。【试题5】 在编制程序时,应采
6、纳的原则之一是_ A _。开发软件时对提高开发人员工作效率至关重要的是_ B _。软件工程中描述生命周期的瀑布模型一般包括计划、_ C _、设计、编码、测试、维护等几个阶段,其中设计阶段通常又可依次分成_ D _和_ E _两步。(1994年上半年题6) A; 不限制 goto 语句的使用 减少或取消注解行 程序越短越好 程序结构应有助于读者理解 B; 操作系统的资源管理功能 程序开发环境 程序人员数量 计算机的并行处理能力 C: 需求分析 需求调查 可行性分析 问题定义 D,E: 数据结构设计 详细设计 概要设计 数据库设计 方案设计 代码设计 答案:A) B) C) D) E)【试题6】
7、包含风险分析的软件工程模型是_。A)螺旋模型B)瀑布模型C)增量模型D)喷泉模型答案:A理论链接: 软件开发模型软件开发模型是软件开发全部过程、活动和任务的结构框架。常用的软件开发模型有:瀑布模型、演化模型、螺旋模型、喷泉模型等。1瀑布模型瀑布模型将软件生存周期的各项活动规定为依固定顺序连接的若干阶段工作,是一种线性模型。各个阶段自顶向下,如瀑布流水,逐级下落。各阶段活动为:可行性研究与计划、需求分析、设计(概要设计和详细设计)、编码、测试、运行和维护。每个开发阶段具有以下特征,从上一阶段接受本阶段工作的对象作为输入,对上述输入实施本阶段的活动,给出本阶段的工作成果作为输出传入下一阶段,对本阶
8、段工作进行评审,若本阶段工作得到确认,则继续下阶段工作,否则返回前一阶段甚至更前阶段。瀑布模型最为突出的缺点是该模型缺乏灵活性。它的特点如下:1)阶段间具有顺序性和依赖性:前一阶段工作完成之后,才能开始后一阶段的工作;前一阶段的输出文档就是后一阶段的输入文档;2)推迟实现的观点:区分逻辑设计与物理设计,尽可能推迟物理实现;3)质量保证的观点:每个阶段必须完成规定的文档。每个阶段结束前都需对所完成的文档进行评审,以尽早发现问题;2演化模型演化模型主要针对事先不能完整定义需求的软件开发,其开发过程一般是首先开发核心系统,当核心系统投入运行后,软件开发人员根据用户的反馈,实施开发的迭代过程,每一迭代
9、过程均由需求、设计、编码、测试、集成等阶段组成,直到软件开发结束。演化模型在一定程度上减少了软件开发活动的盲目性。3螺旋模型它是在瀑布模型和演化模型的基础上,加入两者所忽略的风险分析所建立的一种软件开发模型。沿螺旋模型顺时针方向,依次表达了四个方面的活动,制定计划、风险分析、实施工程、客户评估。4喷泉模型它体现了软件创建所固有的迭代和无间隙特征,喷泉模型主要用于支持面向对象开发过程。5瀑布模型、演化模型、螺旋模型比较相同点是这三个模型都分为多个阶段。但瀑布模型一次完成软件;演化模型分为多次完成,每次迭代完成软件的一个部分;螺旋模型也分为多次完成,每次完成软件的一个新原型,并考虑风险分析。【试题
10、7】 软件项目管理所涉及的范围覆盖了整个软件的_ 。 A)开发过程 B)运行与维护过程 C)定义过程 D)生存期答案:D 【试题8】 为使软件开发获得成功,一个关键问题是必须对软件范围、风险、资源、任务、里程碑、成本,进度等做到心中有数,而_可以提供这些信息。A)计算机辅助工程 B)软件开发工具 C)软件项目管理 D)软件估算答案:C【试题9】 Putnam提出的模型,是一种_模型。它是假定在软件开发的整个生存期中工作量有特定的分布。A)模块化成本 B)结构化成本 C)动态单变量成本 D)动态多变量成本答案:D【试题10】 软件开发成本主要是指软件开发过程中所花费的_及相应的代价。A)劳动力
11、B)工作量 C)资源 D)持续时间答案:B【试题11】 对于一个大型的软件项目,由于项目的复杂性,需要进行一系列的估算处理。主要按_(1)_和_(2)_手段进行。估算的方法分为3类:从项目的整体出发,进行(2)的方法称为_(3)_估算法。把待开发的软件细分,直到每个子任务都已明确所需要的开发工作量,然后把它们加起来,得到软件开发总工作量的方法称为_(4)_估算法。而把待开发的软件项目与过去已完成的软件项目做类比,区分出类似部分和不同部分分别处理的方法称为_(5)_估算法。_(6)_是由多位专家进行成本估算的方法。 1、2:A)类推 B)类比 C)分解 D)综合 36:A)差别 B)自顶向下 C
12、)自底向上 D)专家判定技术 E.循序渐进 F.比较答案:1)C 2)A 3)B 4)C 5)A 6)D分析:成本估算通常按类推(根据以往开发类似软件的经验估算)和分解(按软件生存周期的各个阶段花费的代价估算)手段进行。注意,这里答题(1)和(2)的答案不能互换,因为题目后面用到了(2)的答案。根据题意:“从项目的整体出发,进行(2)的方法称为_(3)_估算法。” 显然,答题(3)的答案应为B,因此(2)的答案为A,(1)的答案为C。 把待开发的软件细分,直到每个子任务都已明确所需要的开发工作量,然后把它们加起来,得到软件开发总工作量的方法称为自底向上估算法。而把待开发的软件项目与过去已完成的
13、软件项目做类比,区分出类似部分和不同部分分别处理的方法称为差别估算法。由多位专家进行成本估算的方法称为专家判定技术。理论链接: 软件开发项目管理基础知识软件开发项目管理,就是对软件生存期的一切活动进行管理。具体内容包括对开发人员、组织机构、用户、文档资料等方面的管理。1成本估算成本估算主要指软件开发过程中所花费的工作量及相应的代价。通常可以根据以往开发类似软件的经验估算,也可以按软件生存周期的各个阶段所花费的代价分别估算。有二种估算方法: 开发费用=人月数每个人月的代价 开发费用=源代码行数每行平均费用现常用的几种估算模型如下:1)IBM模型 1977年,IBM的Walston和Felix提出
14、了如下的估算公式: E 5.2L0.91,L是源代码行数(以KLOC计,LOC:代码行),E是工作量(以PM计,PM:人月)D 4.1L0.36,D是项目持续时间(以月计) S 0.54E0.6,S是人员需要量(以人计) DOC 49L1.01。DOC是文档数量(以页计) 在此模型中,一般指一条机器指令为一行源代码。一个软件的源代码行数不包括程序注释、作业命令、调试程序在内。对于非机器指令编写的源程序,如汇编语言或高级语言程序,应转换成机器指令源代码行数来考虑。 2)Putnam模型 这是1978年Putnam提出的模型,是一种动态多变量模型。它是假定在软件开发的整个生存期中工作量有特定的分布
15、。这种模型是依据在一些大型项目(总工作量达到或超过30个人年)中收集到的工作量分布情况而推导出来的,但也可以应用在一些较小的软件项目中。Putnam模型可以导出一个“软件方程”,把已交付的源代码(源语句)行数与工作量和开发时间联系起来。其中,td是开发持续时间(以年计),K是软件开发与维护在内的整个生存期所花费的工作量(以人年计),L是源代码行数(以LOC计),Ck是技术状态常数,它反映出“妨碍程序员进展的限制”,并因开发环境而异。其典型值的选取如下所示:L = Ck * K1/3 * td4/3其中:L-源代码行数(以LOC计) K-整个开发过程所花费的工作量(以人年计) td-开发持续时间
16、(以年计) Ck-技术状态常数,它反映“妨碍开发进展的限制”,取值因开发环境而异,见表7-2。表7-2Ck的典型值开发环境开发环境举例2000差没有系统的开发方法,缺乏文档和复审8000好有合适的系统的开发方法,有充分的文档和复审11000优有自动的开发工具和技术从上述方程加以变换,可以得到估算工作量的公式: K = L3/(Ck3*td4)还可以估算开发时间: td = L3/(Ck3*K)1/43)COCOMO模型(COnstructive COst MOdel) 这是由TRW公司开发。Boehm提出的结构型成本估算模型,是一种精确、易于使用的成本估算方法。该模型还分为:基本COCOMO模
17、型,是一个静态单变量模型,它是对整个软件系统进行估算;中级COCOMO模型,是一个静态多变量模型,中级COCOMO模型将软件系统型分为系统和部件两个层次,它用于部件级的估算更精确些;详细COCOMO模型,将软件系统模型分为系统、子系统和模块三个层次。2风险分析与任何其他工程项目一样,软件工程项目的开发也存在各种各样的风险,有些风险甚至是灾难性的。R.Charette认为,风险与下面三个方面有关:1)关心未来,风险是否会导致失败;2)关系变化,用户需求、开发技术、及所有与项目有关的实体会发生什么变化;3)解决选择,采用什么方法和工具,配备多少人力,质量如何。软件工程的风险分析包括:风险标识、风险
18、估算、风险评价和风险管理四部分。 1)风险标识 从宏观上看,风险可以分为项目风险、技术风险和商业风险三类。由于项目在预算、进度、人力、资源、顾客和需求等方面的原因对软件项目产生的不良影响称为项目风险。软件在设计、实现、接口、验证和维护过程中可能发生的潜在问题,如规格说明的二义性、采用陈旧或尚不成熟的技术等等,对软件项目带来的危害称技术风险。开发了一个没人需要的优质软件,或推销部门不知如何销售这一软件产品,或开发的产品不符合公司的产品销售战略,等等,称为商业风险。这些风险有些是可以预料的,有些是很难预料的。 2)风险估算 估算造成或影响风险的因素,以及风险所造成的损失。3)风险评价和管理 尽可能
19、地估计各种风险,然后逐一列出并评价风险的程度,对这些风险进行密切关注和严格管理。3进度管理对软件的开发进度进行管理,制定开发进度表。制定进度表有2 种方法: 1)系统最终交付日期已确定,软件开发部门必须在规定期限内完成;2)系统最终交付日期只确定了大致的时限,最后交付日期由软件开发部门确定。进度安排的常用图形描述方法有:Gantt图(甘特图)和PERT图(计划评审技术图)4人员管理可按项目进度对软件人员分组,如需求分析组、设计组、编码组、测试组、维护组、质量保证等。程序设计小组的组织形式可有多种形式分类。如主程序员组、无主程序员组、层次式程序员组等。【试题12】 软件开发环境是支持软件产品开发
20、的软件系统,它由_和环境集成机制构成,环境集成机制包括数据集成、控制集成和界面集成。(2004年下半年上午题49)A)软件工具集 B)软件测试工具集C)软件管理工具集 D)软件设计工具集答案:A分析:软件开发环境是由软件开发工具集和环境集成机制构成的。前者用于支持软件开发的相关过程、活动和任务;后者为工具集成、软件开发、维护和管理提供统一的支持。理论链接: 软件工具与软件开发环境1软件工具可用来帮助和支持软件需求分析、软件开发、测试、维护、模拟、移植或管理而编制的计算机程序或软件。软件工具是一个程序系统。软件工具通常由工具、工具接口和工具用户接口三部分构成。工具通过工具接口与其他工具、操作系统
21、或网络操作系统, 以及通信接口、环境信息库接口等进行交互作用。当工具需要与用户进行交互作用时则通过工具的用户接口。软件工具可以分为:1)软件开发工具:对应软件开发过程中的各种活动,通常有需求分析工具、设计工具、编码与排错工具等2)软件维护工具:对应软件维护过程中的各种活动,主要有版本控制工具、文档分析工具、开发信息库工具、逆向工程工具、再工程工具等。3)软件管理和软件支持工具:用来辅助管理人员和软件支持人员的管理和软件支持活动,以确保软件高质量完成。通常有项目管理工具、配置管理工具、软件评价工具等2软件开发环境软件开发环境是指在计算机的基本软件的基础上,为支持软件的开发而提供的一组工具软件系统
22、。软件开发环境的定义可从三方面理解:(1)软件开发环境是一组相关工具的集合。 (2)这些相关工具按一定的开发方法或一定开发处理模型组织起来的。 (3)这些相关工具支持整个软件生存期的各阶段或部分阶段。 软件开发环境按解决的问题可分为:程序设计环境、系统合成环境、项目管理环境三类;按软件开发环境的演变趋向可分为:以语言为中心的环境、工具箱环境和基于方法的环境三类;按集成化程度有第一代、第二代、第三代的开发环境。【试题13】 CASE是一组_的集合。 A)工具 B)工具和方法 C)方法 D)程序答案:B【试题14】 CASE系统所涉及到的技术有两类:一类是支持软件开发过程本身的技术;另一类是支持软
23、件_的技术。 A)开发过程本身 B)开发方法管理 C)开发方法本身D)开发过程管理答案:D【试题15】 平台集成是指工具运行在相同的_平台上。 A)硬件 B)软件 C)硬件/操作系统 D)硬件/软件答案:C理论链接: CASE工具CASE是一组工具和方法的集合,可以辅助软件开发生命周期各阶段进行软件开发。CASE把软件开发技术、软件工具和软件开发方法集成到一个统一而一致的框架中,并且吸收了CAD(计算机辅助设计)、软件工程、操作系统、数据库、网络和许多其他计算机领域的原理和技术。因而,CASE领域是一个应用、集成和综合的领域。根据CASE系统对软件过程的支持范围,CASE可分为三类:(1)支持
24、单个过程任务的工具。 (2)支持某一过程所有活动或某些活动的工作台。(3)环境支持软件过程大部分乃至所有活动,一般包括几个不同工作台的集合。集成化CASE包括五级模型:(1)平台集成:工具运行在相同的硬件/操作系统平台上 (2)数据集成:工具使用共享数据模型来操作 (3)表示集成:工具使用相同的用户界面 (4)控制集成:工具激活后能控制其他操作 (5)过程集成:工具在一个过程模型和过程机的指导下使用 CASE工具台是一组工具集,支持像设计、实现或测试等特定的软件开发阶段。CASE工具组装成一个工具台后工具能协同工作,可提供比单一工具更好的支持。CASE工作台包括:(1)程序设计工作台。由支持程
25、序设计的一组工具组成。 (2)分析和设计工作台。支持软件过程的分析和设计阶段。(3)测试工作台。(4)交叉开发工作台。这些工作台支持在一种机器上开发软件,而在其他的系统上运行所开发的软件。 (5)配置管理(CM)工作台。这些工作台支持配置管理。 (6)文档工作台。这些工具支持高质量文档的制作。(7)项目管理工作台。支持项目管理活动。【试题16】 _是指在开发和维护软件及其相关产品时,遵循某个软件过程所能达到的期望效果。 A)软件过程能力 B)软件过程性能 C)编程能力 D)CMM答案:A理论链接: 软件过程能力评估1. 软件过程:人们在开发和维护软件及其相关产品时所涉及的各种活动、方法、实践和
26、改革等。其中软件相关产品包括软件项目计划、设计文档、程序代码、测试用例和用户手册等。2. 软件过程能力:当遵循某个软件过程时所能达到的期望效果,它可以有效预测企业接收新的软件项目时可能得到的结果。 3. 软件过程性能:当遵循某个软件过程时所达到的实际效果。它可以用于验证软件过程能力。 4软件过程评估的意义:1)软件过程改进的需要(1)软件过程不断改进是软件工程的基本原理之一。 软件过程的基本原理有以下七条:l 按软件生成周期分阶段指定计划并认真实施l 逐阶段进行确认l 坚持严格的产品控制l 使用现代程序设计技术l 明确责任l 用人少而精l 不断改进开发过程)(2)软件过程改进是软件生存周期的基
27、本过程之一。2)减低软件风险的需要减低软件风险包括减低软件采购者的风险和软件研制者的风险。【试题17】 CMM描述了_个级别的软件过程成熟度,成熟度反映了软件过程能力(Software Process Capability)的大小,任何一个软件机构的软件过程必定属于其中某个级别。 A)3 B)5 C)7 D)9答案:B理论链接: 软件过程能力成熟度(CMM)模型简介软件过程成熟度:指一个特定的软件过程被显式定义、管理、度量、控制和能行的程度。成熟度可以用于指示企业加强其软件过程能力的潜力。 当一个企业达到了一定的软件过程成熟级别后,它将通过制定策略、建立标准和确立机构结构使它的软件过程制度化。
28、而制度化又促使企业通过建立基础设施和公司文化来支持相关的方法、实践和过程。从而使之可以持续并维持一个良性循环。 CMM描述了五个级别的软件过程成熟度(初始级 可重复级 已定义级 已管理级 优化级),成熟度反映了软件过程能力(Software Process Capability)的大小,任何一个软件机构的软件过程必定属于其中某个级别。除了第一级以外,每级成熟度又由若干关键过程域(Key Process Area)构成。五个成熟度及其关键过程领域如图所示:需要提出的是,任何一个成熟度级别的关键过程域集都是本级描述的关键过程域集和所有下级的关键过程域集的并集。如3级的关键过程域就应有13个不同的域
29、,其中7个是3级自己包含的,6个属于2级成熟度,而4级应有15个域。五个成熟度级别:初始级、可重复级(有规章的过程)、定义级(标准化、一致的过程)、管理级(可预测过程)、优化级(可持续改进的过程)分别描述如下:第一级:初始级 成功来源于个人英雄主义而非机构行为,因此它不可重复,更换人员后成功便难以维持。 第二级:可重复级 主要特点是项目计划和跟踪是确定且有效的,项目的软件过程是可控的,以及已有的成功经验是可重复的。第三级:定义级主要特征在于软件过程已被提升成标准化过程,从而更加具有稳定性、重复性和可控性。第四级:管理级 主要特征是定量化、可预测、异常控制和高质量。对于软件的过程和产品有定量的质
30、量指标。重要的软件过程活动均配有生产率和质量方面的度量指标; 第五级:优化级 主要特征是新技术的采用和软件过程的改进被作为日常的业务活动来加以计划和管理。考点2:面向对象技术基础 考点点拨: 本考点考查面向对象的基本概念和面向对象分析与设计的基本知识。基本概念包括:对象、类、消息、继承、多态等。【试题18】 在面向对象程序设计语言中,_(1)_ 是利用可重用成分构造软件系统的最有效的特性,它不仅支持系统的可重用性,而且还有利于提高系统的可扩充性;_(2)_可以实现发送一个通用的消息而调用不同的方法;_(3)_是实现信息隐蔽的一种技术,其目的是使类的_(4)_相互分离。(2004年下半年上午填空
31、31-34) (1) A)封装 B)消息传递 C)引用 D)继承 (2) A)封装 B)多态 C)引用 D)继承 (3) A)引用 B)继承 C)封装 D)多态 (4) A)定义与实现 B)分析与测试 C分析与设计 D)实现与测试答案:(1)D (2)B (3)C (4)A分析:面向对象的主要特性有继承性、多态性和封装性。继承是在已有类的基础上增量构造新的类,它是利用可重用成分构造软件系统的最有效的特性;多态可以实现发送一个通用的消息而调用不同的方法;封装指将一个数据和与这个数据有关的操作集合放在一起,形成一个独立的实体,它是实现信息隐蔽的一种技术,其目的是使类的定义与实现相互分离。【试题19
32、】 采用面向对象技术开发的应用系统的特点是_。(2003年上午填空2)A)重用性更强B)运行速度更快C)占用存储量小D)维护更复杂答案:A分析:采用面向对象技术开发的应用系统的特点有:重用性更强、维护更简单等。【试题20】 在面向对象方法中,对象可看成是属性(数据)以及这些属性上的专用操作的封装体。封装是一种_A_技术,封装的目的是使对象的_B_分离。类是一组具有相同属性和相同操作的对象的集合,类中的每个对象都是这个类的一个_C_。类之间共享属性和操作的机制称为_D_。一个对象通过发送_E_来请求另一对象为其服务。 (1999年上午题5)A: (1)组装 (2)产品化 (3)固化 (4)信息屏
33、蔽B: (1)定义和实现 (2)设计和测试 (3)设计和实现 (4)分析和定义C: (1)例证(illustration) (2)用例(use-case) (3)实例(instance) (4)例外(exception)D: (1)多态型 (2)动态绑定 (3)静态绑定 (4)继承E: (1)调用语句 (2)消息 (3)命令 (4)口令答案:A)4 B)1 C)3 D)4 E)2理论链接: 面向对象的基本概念1基本术语(1)对象:是对客观世界事务的一种抽象,是由数据(属性)及其上操作(行为)组成的封装体。(2)类:是一组具有相同属性和相同操作的对象的集合。(3)属性:每一对象的属性是一些有着确
34、定值的、用于描述对象状态信息的数据。(4)方法:为了完成某一任务,一个对象所提供的、并体现其责任的操作。(5)消息:一个对象为实现其责任而与其他对象的通信,在面向对象方法中,对象之间只能通过消息进行通信。(6)继承:表达类之间相似性的一种机制,即在已有的类的基础之上增量构造新的类,前者称为父类(或超类),后者称为子类,如果子类只从一个父类继承,则称为单继承,如果子类从一个以上父类继承,则称为多继承。(7)封装:指将一个数据和与这个数据有关的操作集合放在一起,形成一个独立的实体对象,用户不必知道对象行为的实现细节,只需根据对象提供的外部特性接口访问对象即可。因此,从用户的观点来看,这些对象的行为
35、就像包含在一个“黑匣子”里,是隐蔽的、看不见的。(8)多态:描述的是同一个消息可以根据发送消息对象的不同采用多种不同的行为方式。(9)依赖:一个依赖规约了两个模型元素(或两个模型元素集合)之间的一种语义关系。(10)状态:一个状态是在对象的生命期内的一个条件,或在对象满足某个条件,进行某个动作或等待某个事件的期间内的一个交互。(11)事件:指可以引发状态转换的所发生的事情。2对象的特点:自治性,对象具有一定的独立计算能力;封闭性,对象具有信息隐蔽的能力;通信性,对象具有与其他对象通信的能力。3面向对象的主要特性:封装性、继承性和多态性。4面向对象的模型(简单应用):包括三个,它们分别是:描述系
36、统数据结构的对象模型、描述系统控制结构的动态模型和和描述系统功能的功能模型。【试题21】 _是用面向对象的方法对目标系统的问题空间进行理解,分析和反映。通过对象层次结构的组织确定解空间中应存在的对象和对象层次结构。 A) 面向对象分析 B) 面向对象设计 C) 抽象性 D) 对象图答案:A理论链接: 面向对象分析与设计概述1面向对象分析面向对象分析(Object-Oriented Analysis,OOA)强调直接对问题论域中的各种事物建立OOA模型中的对象,用对象的属性和服务分别描述对象的静态特征和动态行为。同时,在OOA模型中保存了问题论域中各个事物之间的关系,把具有相同属性和相同服务的对
37、象归于一类,用一般化特殊化关系(分类结构)和整体部分关系(组装结构)描述事物间的结构关系,用实例连接和消息连接描述事物之间的静态联系和动态联系,从而忠实地反映了问题论域的原貌。2面向对象设计面向对象设计OOD(Object-Oriented Design)通过对象的认定和对象层次结构的组织,确定解空间中应存在的对象和对象层次结构,并确定外部接口和主要的数据结构。 面向对象的设计准则有:模块化、抽象、信息隐藏、弱耦合、强内聚、可重用。OOD分为四部分:1)问题域部分,保持系统总体结构的稳定性;2)人机交互部分;3)任务管理部分,简化总体设计和编码;4)数据管理部分,包括数据存放方法的设计和相应服
38、务的设计。3面向对象方法同结构化方法的比较:结构化方法强调过程抽象和模块化,将现实世界映射为数据流和加工,加工之间通过数据流进行通信,数据作为被动的实体被主动地操作所加工,是以过程(或操作)为中心来构造系统和设计程序的;面向对象方法把世界看成是独立对象的集合,对象将数据和操作封装在一起,提供有限的接口,其内部的实现细节、数据结构及对它们的操作是外部不可见的,对象之间通过消息相互通信,面向对象方法具有的继承性和封装性支持软件复用,并易于扩充,能较好的适应复杂大系统不断发展和变化的要求。4Coad-Yourdon方法:该方法认为,人类在认识和理解现实世界的过程中,普遍运用着下面三个构造法则,区分对
39、象及其属性,区分整体对象及其组成部分,不同对象类的形成及区分。【试题22】 _是用来对软件密集系统进行描述、构造、视化和文档编制的一种语言 A)UML B)CMM C)Coad-Yourdon D)Booch答案:A理论链接: 统一建模语言(UML)概述统一建模语言(UML)是用来对软件密集系统进行描述、构造、视化和文档编制的一种语言。UML不仅统一了Booch、Rumbaugh和Jacobson的表示方法,而且对其作了进一步的发展,并最终统一为大众所接受的标准建模语言。其内容如下:作为一种建模语言,UML的定义包括UML语义和UML表示法两个部分。(1)UML语义:描述基于UML的精确元模型
40、定义。元模型为UML的所有元素在语法和语义上提供了简单、一致、通用的定义性说明,使开发者能在语义上取得一致,消除了因人而异的最佳表达方法所造成的影响。此外UML还支持对元模型的扩展定义。(2)UML表示法:定义UML符号的表示法,为开发者或开发工具使用这些图形符号和文本语法为系统建模提供了标准。这些图形符号和文字所表达的是应用级的模型,在语义上它是UML元模型的实例。标准建模语言UML的重要内容可以由下列五类图(共9种图形)来定义:l 第一类是用例图,从用户角度描述系统功能,并指出各功能的操作者。l 第二类是静态图(Staticdiagram),包括类图、对象图和包图。其中类图描述系统中类的静
41、态结构。不仅定义系统中的类,表示类之间的联系如关联、依赖、聚合等,也包括类的内部结构(类的属性和操作)。类图描述的是一种静态关系,在系统的整个生命周期都是有效的。对象图是类图的实例,几乎使用与类图完全相同的标识。他们的不同点在于对象图显示类的多个对象实例,而不是实际的类。一个对象图是类图的一个实例。由于对象存在生命周期,因此对象图只能在系统某一时间段存在。包由包或类组成,表示包与包之间的关系。包图用于描述系统的分层结构。l 第三类是行为图(Behaviordiagram),描述系统的动态模型和组成对象间的交互关系。其中状态图描述类的对象所有可能的状态以及事件发生时状态的转移条件。通常,状态图是
42、对类图的补充。在实用上并不需要为所有的类画状态图,仅为那些有多个状态其行为受外界环境的影响并且发生改变的类画状态图。而活动图描述满足用例要求所要进行的活动以及活动间的约束关系,有利于识别并行活动。l 第四类是交互图(Interactivediagram),描述对象间的交互关系。其中顺序图显示对象之间的动态合作关系,它强调对象之间消息发送的顺序,同时显示对象之间的交互;合作图描述对象间的协作关系,合作图跟顺序图相似,显示对象间的动态合作关系。除显示信息交换外,合作图还显示对象以及它们之间的关系。如果强调时间和顺序,则使用顺序图;如果强调上下级关系,则选择合作图。这两种图合称为交互图。l 第五类是
43、实现图(Implementationdiagram)。其中构件图描述代码部件的物理结构及各部件之间的依赖关系。一个部件可能是一个资源代码部件、一个二进制部件或一个可执行部件。它包含逻辑类或实现类的有关信息。部件图有助于分析和理解部件之间的相互影响程度。配置图定义系统中软硬件的物理体系结构。它可以显示实际的计算机和设备(用节点表示)以及它们之间的连接关系,也可显示连接的类型及部件之间的依赖性。在节点内部,放置可执行部件和对象以显示节点跟可执行软件单元的对应关系。从应用的角度看,当采用面向对象技术设计系统时,首先是描述需求;其次根据需求建立系统的静态模型,以构造系统的结构;第三步是描述系统的行为。
44、其中在第一步与第二步中所建立的模型都是静态的,包括用例图、类图(包含包)、对象图、组件图和配置图等五个图形,是标准建模语言UML的静态建模机制。其中第三步中所建立的模型或者可以执行,或者表示执行时的时序状态或交互关系。它包括状态图、活动图、顺序图和合作图等四个图形,是标准建模语言UML的动态建模机制。因此,标准建模语言UML的主要内容也可以归纳为静态建模机制和动态建模机制两大类。考点3:系统分析基础知识 考点点拨: 本考点考查系统分析的主要任务、过程,结构化分析方法以及系统分析报告的基本组成。【试题23】 需求分析中,开发人员要从用户那里解决的最重要的问题是_。 A)要让软件做什么 B)要给该
45、软件提供哪些信息 C)要求软件工作效率怎样 D)要让该软件具有何种结构答案:A理论链接: 系统分析概述系统分析是以系统的整体最优为目标,对系统的各个主要方面进行定性和定量的分析,是一个有目的、有步骤的探索和分析过程。在此过程中,尽量收集相关资料、整理、分析、形成能体现整个系统灵魂的文档。实际上它就是将客户的需求从具体到抽象的一个过程,并制定编码人员可实施的规范和标准。系统分析是信息系统开发工作中最重要的一环。系统分析的内容主要包括对组织内部整体管理状况和信息处理过程(侧重于具体业务全过程角度)进行分析。在系统分析中扎扎实实地了解实际工作部门的业务情况是基础,只有在对业务了解得非常透彻的前提之下
46、才有可能提出新的改进方案。系统分析阶段的工作步骤有:1.详细调查、收集和分析用户需求在总体规划时所做的初步调查只是为了总体规划和进行可行性分析的需要,相对来说是比较粗糙的。现在,则应在初步调查的基础上,进一步收集和了解、分析用户需求,调查用户的有关详细情况。2.确定初步的逻辑模型逻辑模型是指仅在逻辑上确定的目标系统模型,而不涉及具体的物理实现,也就是要解决系统“干什么”,而不是“如何干”。逻辑模型由一组图表工具进行描述。用户可通过逻辑模型了解未来目标系统,并进行讨论和改进。3.编制系统说明书对上述采用图表描述的逻辑模型进行适当的文字说明,就组成了系统说明书。它是系统分析阶段的主要成果。系统说明
47、书既是用户与开发人员达成的书面协议或合同,也是管理信息系统生命周期中的重要文档。目前常用的系统开发方法有:结构化系统分析与设计方法、原型方法、目标导向(或称为面向对象)方法、计算机辅助软件工程方法等等。【试题24】 结构化分析方法(SA)的一个重要指导思想是_。(2002年上午填空25)A)自顶向下,逐步抽象 B)自底向上,逐步抽象C)自顶向下,逐步分解 D)自底向上,逐步分解答案:C分析:结构化分析方法基于模块化的思想,采用自顶向下,逐步分解的指导思想对系统进行分析。【试题25】 在数据流图中, 圆圈表示_。 两条平行线表示_。 (2002年上午填空23、24) (1)A)加工 B)外部实体
48、 C)数据流 D)存储 (2)A)加工 B)外部实体 C)数据流 D)存储 答案:1.A 2.D分析:数据流图是一种描述数据变换的图形工具,有四个基本成分组成:加工(用圆圈表示)、数据流(用箭头表示)、数据存储(用两条平行线表示)、数据源和数据潭(用矩形表示)。理论链接: 结构化分析方法结构化分析方法(SA)是一种以数据、数据的封闭性为基础,从问题空间到某种表示的映射方法,由数据流图(DFD图)表示。结构化分析方法是结构化开发方法的一部分。结构化开发方法是一种系统化开发软件的方法,该方法基于模块化的思想,采用“自顶向下,逐步求精”的技术对系统进行划分,分解和抽象是它的两个基本手段,结构化开发方
49、法是结构化分析(SA)、结构化设计(SD)和结构化编程(SP)的总称。1结构化分析模型的组成及详细内容:(1)结构化分析模型及内容:数据流图(DFD)是一种描述数据变换的图形工具,是结构化分析方法最普遍采用的表示手段,数据字典和小说明为数据流图提供了补充,并用以验证图形表示的正确性、一致性和完整性,以上三者构成了结构化分析的模型。(2)结构化分析方法的基本内容:数据流图是一种描述数据变换的图形工具,系统接受输入的数据,经过一系列的变换(或称加工),最后输出结果数据,数据流图由以下四个基本成分组成:加工、数据流、数据存储、数据源和数据潭,这四个基本成分是结构化设计方法为表达系统模型的基本概念,这
50、些符号可以覆盖客观世界的一切事物。加工是对数据进行处理的单元,用圆圈表示;数据流表示数据和数据流向,用箭头表示;数据存储用于表示信息的静态存储,用两条平行线表示;数据源和数据潭表示系统和环境的接口,是系统之外的实体,数据潭是数据流的最终目的地,数据源和数据潭用矩形表示。(3)数据字典和小说明:数据字典以一种准确的和无二义的方式定义所有被加工引用的数据流和数据存储,通常包括三类内容,数据流条目、数据存储条目、数据项条目。小说明是用来描述底层加工的,小说明集中描述一个加工的输入数据和输出数据的逻辑关系,即加工逻辑,小说明并不描述具体的加工过程,小说明一般用自然语言、结构化自然语言、判定表和判定树等
51、来描述。(4)建立系统模型的步骤:结构化分析从本质上说是一种运用抽象和分解技术,“自顶向下,逐步求精”的过程,首先确定系统边界,画出系统环境图,自顶向下,再画出各层数据流图,定义数据字典和小说明,最后汇总前面各步骤的结果。(5)建立系统模型的模型平衡规则:数据流图中所有的图形元素必须根据它们的用法规则正确使用,每个数据流和数据存储都要在数据字典中有定义,数据字典将包括各层数据流图中数据元素的定义,数据字典中的定义使用合法的逻辑构造符号,数据流图中最底层的加工必须在小说明中有定义,父图和子图必须平衡,小说明和数据流图的图形表示必须一致。(6)建立系统模型控制复杂性的一些规则:上层数据流可以打包,
52、上、下层数据流的对应关系用数据字典描述,同层的数据流也可以编号对应,包内流的性质(输入/输出)必须一致,为了便于人的理解,把一幅图中的图元个数控制在72以内,检查同每个加工相关的数据流,并寻找是否有其他可降低界面复杂性的划分方法,分析数据内容,确定是否所有的输入信息都用于产生输出信息,相应的,有一个加工产生的所有信息是否都能由进入该加工的信息导出。(7)结构化分析的基本步骤:通过对现实系统的了解和分析,或基于需求陈述,建立该系统的数据流图,基于得到的数据流图,建立该系统的数据字典,基于得到的数据流图,对最底层的加工给出其控制结构描述,依据需求陈述,建立人机接口和其他性能描述,通过分析和验证,建
53、立系统完整的需求规约。【试题26】 原型化方法是一种动态定义需求的方法,_不具有原型化方法的特征。(2003年上午填空32)A)简化项目管理 B)尽快建立初步需求C)加强用户参与和决策 D)提供严格定义的文档答案: D分析:原型化方法强调的是软件开发人员与用户的不断交互,通过原型的演进不断适应用户任务改变的需求。不具备提供严格定义的文档。理论链接: 原型化方法原型是软件开发过程中,软件的一个早期可运行的版本,它反映了最终系统的部分重要特性。 原型化方法的基本思想是花费少量代价建立一个可运行的系统,使用户及早获得学习的机会,原型化方法又称速成原型法(Rapid Prototyping)。强调的是
54、软件开发人员与用户的不断交互,通过原型的演进不断适应用户任务改变的需求。将维护和修改阶段的工作尽早进行,使用户验收提前,从而使软件产品更加适用。【试题27】 系统分析报告的主要作用是_。A)系统规划的依据 B)系统实施的依据 C)系统设计的依据 D)系统评价的依据答案:C理论链接: 系统分析报告系统分析报告是系统分析阶段的成果。系统分析报告一经确认,就成为具有约束力的指导性文件,成为下一阶段系统设计工作的依据和今后验收目标系统的检验标准。系统分析报告必须简明扼要,抓住本质。至少要包括数据流图、数据字典和加工说明这3个主体。考点4:系统设计知识 考点点拨: 本考点考查系统设计(总体结构设计和详细设计
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2-4CMOS反相器电子课件教学版
- 汽轮机燃烧过程与优化考核试卷
- 稻谷种植农业土地资源可持续利用考核试卷
- 碳酸饮料质量检验与控制考核试卷
- 燃气具企业市场趋势预测与决策支持系统考核试卷
- 畜牧养殖疫病防控技术的集成与应用考核试卷
- 紧固件项目管理与成本控制考核试卷
- 童车制造企业品牌定位与市场推广考核试卷
- 沈阳二中高二语文月考作文
- 紧固件销售与市场拓展考核试卷
- 水利系统职称考试水利专业技术人员职称考试题(附答案)
- 《桥梁健康监测》课件
- 耳鼻喉科学第二十三章耳部疾病讲解
- 一般担保合同范例
- 异常子宫出血患者的护理
- ERP项目可行性研究报告(可编辑)
- 10《夺取抗日战争和人民解放战争的胜利》说课稿-2023-2024学年道德与法治五年级下册
- 上海市工业技术学校工作人员招考聘用高频重点提升(共500题)附带答案详解
- (完整版)信号与系统(吴大正)-完整版答案-纠错修改后版本
- 2024年第四季度 国家电网工程设备材料信息参考价
- 【八年级下册地理中图北京版】期中真题必刷卷A-【期中真题必刷卷】(北京专用)(解析版)
评论
0/150
提交评论