
根据软件工程的7条基本原理判断下面正确的选项是__________。
A.
软件错误发现的时机不重要,重要的是错误的严重程度
美国著名软件工程专家B.W.Boehm于1983年提出了软件工程的__________条基本原理。
软件对硬件和环境有着不同程度的依赖性,这导致了软件__________问题。
软件工程的研究内容具有层次化结构,最底层是质量保证层,中间层是__________,最上层是工具层。
软件工程的研究者将软件开发和维护过程概括为__________大活动。
软件工程强调将__________的方法应用于软件的开发和维护过程之中。
软件工程四个层次由下至上是__________,它们的顺序不能互换。
C.
程序是用高级语言编写的,而软件是由机器语言编写的
D.
软件包括程序、相关数据及其文档,程序是软件的一部分
上世纪70年代,美国国防部的研究结果发现70%的项目是因为__________原因,造成项目失败。
下列软件开发模型中,适合于那些不能预先确切定义需求的软件系统的开发的模型是__________。
下列有关标准的符号,属于国内标准的是__________。
下面的哪个选项不是软件工程的宗旨__________。
下列软件开发模型中,支持需求不明确,特别是大型软件系统的开发,并支持多种软件开发方法的模型是__________。
下面哪个选项不是软件工程研究的内容__________。
以下哪一项不是软件危机的表现形式__________
在软件生产的程序系统时代由于软件规模扩大和软件复杂性提高等原因导致了__________
软件工程学科出现的主要原因是__________。
概要设计是软件系统结构的总体设计,以下选项中不属于概要设计的是__________
假定银行的存款年利率是2%,请问现在存5000元,两年后价值应为__________元。
下列有关标准的符号,属于国内标准的是__________。
可行性分析研究的费用大约是项目总经费的__________。
A.
在最短的时间内,生产出可靠性、可维护性俱佳的软件方案。
一般来说,可行性研究的成本是预期总成本的__________。
一个软件项目大约__________的工作量在开发阶段,__________的工作量在维护阶段。
__________定义了软件开发人员必须实现的软件功能。
__________定义了用户使用该软件要完成的任务。
__________通常是用户高层领导机构决定的,它确定软件的目标、规模和范围。
当一个模块内部的实现算法中包含着多重嵌套的条件选择时,如果完全用文字表达可能令人费解,这时可以采用__________。
关于软件需求特性不正确的描述是“软件需求具有__________”。
结构化分析方法(SA 法)使用的主要描述工具有__________。
进行需求分析有的多种描述工具,但不包括__________。
螺旋模型是一种将__________结合起来的软件开发模型。
螺旋模型是一种将瀑布模型和哪种模型结合起来的软件开发模型。__________
螺旋模型是一种考虑了__________的软件开发模型。
描述软件需求通常不用哪个工具__________。
哪种模型分批地逐步向用户提交产品,每次提交一个满足用户需求子集的可运行的产品。__________
哪种模型分批地逐步向用户提交产品,每次提交一个满足用户需求子集的可运行的产品。__________
软件特性中,一个软件能再次用于其他相关应用的程度称为( )。
数据流程图上的数据流必须封闭在__________之间。
详细设计与概要设计衔接的图形工具是__________。
一个数据流程图中的图形符号有且仅有__________种。
与传统行业的生产相比较,软件的需求具有__________。
原型化方法是用户和设计者之间的一种交互手段,适用于__________系统。
在E-R 模型中,包含以下基本成分__________。
在需求分析过程中,分析员要从用户那里解决的最重要的问题是__________。
针对需求不确定的软件开发,比较好的模型是__________。
按照模块独立性,内聚程度由弱至强正确的顺序是__________。
按照模块独立性,耦合程度由强至弱正确的顺序是__________。
不适合作为数据处理与数据库应用的语言是__________
当一个模块直接使用另一个模块的内部数据,这种模块之间的耦合为__________
非直接耦合的模块独立性最强,__________的模块独立性最弱。
结构化程序设计思想的核心是要求程序只由顺序、循环和__________ 三种结构组成。
结构化设计方法划分模块的原则是__________。
两个模块都访问一个全局简单变量而不是同一全局数据结构,则这两个模块属于__________。
每个子系统的接口上定义了若干__________,其他子系统只能通过接口享受这个子系统提供的服务。
每个子系统的接口上定义了若干__________,体现了子系统的功能。
内容耦合是模块间最紧密的耦合,__________是模块间最松散的耦合。
如果对象之间的耦合是通过__________来实现的,则这种耦合就是交互耦合。
【难度:中】【考核能力:理解】【漏选得分:是】【自动判分:是】【应用类别:终考】【特殊标签:】
随着模块规模的__________,模块的开发成本__________,但是模块之间的接口变得复杂起来,使得模块的集成成本增加。
随着模块规模减小,模块开发成本__________,模块集成成本__________。
所有程序设计语言的基本成分都可归纳为:数据成分、__________、控制成分和传输成分。
为了提高模块的独立性,模块之间最好是__________。
用__________对需要长久保存的信息进行建模。
__________是从用户的观点描述系统功能,它由一组用例、参与者以及它们之间关系所组成。
UML 语言支持的建模方式不包括有__________。
软件特性中,在给定的时间间隔内,程序成功运行的概率指的是( )。
从本质上说,面向对象是“先”确定动作的__________“后”执行__________。
动态模型描述系统的动态结构和对象之间的交互,表示瞬时的、行为化的系统“控制”特性。面向对象方法中,常用__________实现。
对象模型描述现实世界中实体的对象以及它们之间的关系,表示目标系统的静态数据结构。在面向对象方法中,由__________实现。
对象实现了数据和操作的结合,使数据和操作__________于对象的统一体中。
对用例进行设计,发现实现用例功能的__________,确定类之间的关系。
功能模型用于表达系统的需求,为软件的进一步分析和设计打下基础。在面向对象方法中,由__________实现。
继承耦合是__________之间的一种关联形式,设计时应该适当使用这种耦合。
角色可以有四种类型:系统的使用者,硬件设备,外部系统和__________。
类的属性结构要坚持简单的原则,尽可能不使用复杂的__________。
类图描述系统的__________,表示系统中的类以及类之间的关系。
面向对象的这种__________模式与人们对客观世界的认识规律相符,从而使得面向对象技术在软件工程领域中获得了广泛的应用。
面向对象的中层设计主要是对每个用例进行设计,规划实现用例功能的__________。
面向对象分析和设计的界限是__________,从分析到设计是一个逐渐扩充模型的过程。
面向对象分析和设计涉及到三个方面的内容:__________、一系列有效的分析步骤和一个方便易用的建模工具。
面向对象分析是抽取和整理用户需求并建立问题域__________的过程。
面向对象是“先”确定__________“后”__________。
面向过程的方法最关心的是__________,而过程实施的__________是作为过程参数传递的。
面向过程的方法最关心的是__________,而过程实施的对象是作为过程参数传递的。
面向过程的方法最关心的是过程,而过程实施的对象是作为过程__________传递的。
目前面向对象分析有许多方法,大多数方法可以归结为建立__________、对象模型、动态模型。
配置视图体现了系统的实现环境,反映系统的__________。
首先用__________描述系统的物理构架,然后将需求分析阶段捕获的系统元素分配到这些物理节点上。
属于某个类的一个具体对象称为该类的__________。
以下哪一项不是面向对象的特征。__________
以下哪一项不属于面向对象的软件开发方法__________
用__________模型分析和定义用户的功能需求。
由于面向对象中的继承和消息机制,使得软件测试__________。
在分析模型内表示协调、顺序、事务处理以及控制其他对象的类是__________。
在现实世界中的任何有__________的单个实体或概念,都可看做__________。
__________是一般化类与特殊化类之间的一种关联形式,设计时应该适当使用这种耦合。
表示对象相互行为的模型是__________模型。
定义类的属性类型时尽量使用已有类型,太多自定义类型会降低系统的__________指标。
反映收发消息的对象的组织结构,用于描述系统的行为是如何有系统的成分协作实现的是__________。
如果说用例F被用例T扩展,意思是__________。
软件需求分析产生两个重要文档,一个是软件需求规格说明书,另一个是__________。
下面建立功能模型的步骤哪个顺序是正确的__________。
在图书馆信息管理系统中,已经构造了一个读者类,后来发现图书馆的学生和教师在借书中有不同要求。请问在面向对象设计中用__________方法可以有效地设计这3个类?
对类进行详细设计,主要是设计类的__________,优化类之间的关系。
面向对象设计的步骤中,正确的顺序是__________。
面向对象设计强调定义__________,并且使它们相互协作来满足用户需求。
面向对象设计首先要进行高层设计:确定系统的总体结构和风格,构造系统的__________,将系统划分成不同的子系统。
面向对象设计首先要确定系统的总体结构和风格,构造系统的__________。
在面向对象方法中,描述系统控制结构的模型是__________模型。
在软件设计中应该保持模块的独立性原则,__________反映模块独立性。
程序的三种基本控制结构,包括顺序结构、__________和循环结构。
程序结构清晰且简单易懂,一个函数的规模一般__________行。
程序设计语言的技术特性不应包括__________。
对于嵌套的循环和分支程序,层次不要超过__________层。
构架设计的主要目的是__________,这项工作由经验丰富的构架设计师主持完成。
两个浮点数X0和X1比较相等时,应该用__________比较。
如果程序代码的__________好,则调试的成本就可以大幅度降低。
下列关于功能性注释不正确的说法是__________。
A.
功能性注释嵌在源程序中,用于说明程序段或语句的功能以及数据的状态
源程序的效率与__________阶段确定的算法的效率直接有关。
A.
对每个测试结果进行检查,不漏掉已经出现的错误迹象
__________时,测试人员必须接触到程序源代码。
不管多么完善的软件都可能有潜在的问题,所以设计人员应该为软件进行__________设计,当软件遇到异常数据、事件或操作时,软件不至于彻底崩溃。
从测试对象的粒度上划分测试为__________。
从狭义上讲,软件测试是__________的过程。
根据是否要运行被测程序,可以分为__________和动态测试。
黑盒测试在设计测试用例时,主要研究__________。
A.
作为需求分析阶段用户与开发者之间交流信息的工具
可行性研究实质上是在较高层次上、以较抽象的方式进行__________的过程。
可维护性的特性中,相互矛盾的是__________。
面向对象分析过程中建立的模型有__________。
软件测试的目标是设计优秀的测试用例,__________。
B.
以最小的代价、在最短的时间内尽可能多地发现软件中的错误
软件测试方法中,白盒测试法是常用的方法,主要用于__________。
软件工程中,只根据程序的功能说明而不关心程序内部逻辑的测试方法,称为__________测试。
A.
问题定义、可行性研究、需求分析、设计、编码和测试。
软件中遗留的错误数量与已经发现的错误数量成__________。
若有一个计算类型的程序,它的输入量只有一个X,其范围是[-0,0],现从输入的角度考虑一组测试用例:-001,-0,0,001。设计这组测试用例的方法是__________。
下述哪一种测试方法,测试人员必须接触到源程序__________。
一般性的软件其测试工作量大约占整个开发工作量的__________。
以下哪种测试方法不属于白盒测试技术__________。
在设计测试用例时,应该包括__________测试用例。
在设计黑盒测试用例时,主要研究__________。
即使软件能顺利运行,但用户往往会提出增加新功能或改进已有功能的建议,为满足这一类要求而进行的活动称为__________。
软件维护过程中产生的副作用,一般是由__________引起的。
通常软件的可维护性常常随着时间的推移而__________。
为了获得维护的统计信息,应该记录每次维护的__________。维护管理者根据统计信息积累维护管理的经验,作为今后制定维护计划的依据。
为了适应软硬件环境变化而修改软件的过程是__________。
维护的工作量与软件规模成__________,软件的规模可以由源程序的语句数量、模块数、输入输出文件数、数据库的规模,以及输出的报表数等指标来衡量。
在软件生存期的维护阶段,继续诊断和修正错误的过程称为__________。
__________针对开发过程中的程序、数据、文档提出使用和管理策略。
Gantt图直观简明、易学易用,但它不能__________。
框架是一组可用于不同应用的__________的集合。
美国卡内基﹒梅隆大学制定的SW-CMM是__________。
通俗的说,软件项目管理中常说的基线是__________。
项目计划活动的主要任务是估算项目的进度、工作量、资源和__________。
模块独立性, 是指软件系统中每个模块只涉及软件要求的具体的子功能, 而和软件系统中其它的模块的接口是简单的。一般采用两个准则度量模块独立性。即模块间耦合和模块内聚。耦合是模块之间的互相连接的紧密程度的度量。 内聚是模块功能强度(一个模块内部各个元素彼此结合的紧密程度)的度量。模块独立性比较强的模块应是高内聚低耦合的模块。
根据程序的输入特性,将程序的定义域划分为有限个等价区段——“等价类”,从等价类中选择出的用例具有“代表性”,即测试某个等价类的代表值就等价于对这一类其他值的测试。如果某个等价类的一个输入数据(代表值)测试中查出了错误,说明该类中其他测试用例也会有错误。
衡量模块独立性的两个标准是什么?它们各表示什么含义?
(2)耦合性:也称块间联系。指软件系统结构中各模块间相互联系紧密程度的一种度量。模块之间联系越紧密,其耦合性就越强,模块的独立性则越差。
(3)内聚性:也称块内联系。指模块的功能强度的度量,即一个模块内部各个元素彼此结合的紧密程度的度量。模块内元素联系越紧密,内聚性越高。
(1)描述的重点不同:活动图描述的是从活动到活动的控制流;状态图描述的是对象的状态及状态之间的转移。
(2)使用的场合不同:在分析用例、理解涉及多个用例的工作流、处理多线程应用等情况下,一般使用活动图;在显示一个对象在其生命周期内的行为时,一般使用状态图。
(1)根据用户的需求画出初始的数据流程图,写出数据字典和初始的加工处理说明(IPO图),实体关系图。
(2)以初始数据流程图为基础,从数据流程图的输出端开始回溯。在对数据流程图进行回溯的过程中可能会发现丢失的处理和数据,应将数据流程图补充完善。
(3)对软件性能指标、接口定义、设计和实现的约束条件等逐一进行分析。
(4)系统分析人员与用户一起对需求分析的结果进行复查。
(6)编写需求规格说明书和初始的用户手册,测试人员开始编写功能测试用的测试数据。
(1)功能模型:表达系统的详细需求,为软件的进一步分析和设计打下基础。在面向对象方法中,由用例图和场景描述组成。
(2)对象模型:表示静态的、结构化的系统“数据”性质。描述现实世界中实体的对象以及它们之间的关系,表示目标系统的静态数据结构。
(3)动态模型:描述系统的动态结构和对象之间的交互,表示瞬时的、行为化的系统的“控制”特性。
模块独立性, 是指软件系统中每个模块只涉及软件要求的具体的子功能, 而和软件系统中其它的模块的接口是简单的。一般采用两个准则度量模块独立性。即模块间耦合和模块内聚。耦合是模块之间的互相连接的紧密程度的度量。 内聚是模块功能强度(一个模块内部各个元素彼此结合的紧密程度)的度量。模块独立性比较强的模块应是高内聚低耦合的模块。
(1)软件过程是人们开发和维护软件及相关产品的活动、方法、实践和改进的集合。它明确定义软件过程中所执行的活动及其顺序,确定没一个活动内容和步骤,定义每个角色和职责。
(2)软件工程将软件开发和维护的过程概况为8个大的活动:问题定义、可行性研究、需求分析、总体设计、详细设计、编码、系统测试和运行维护。
简述在项目开发时选择程序设计语言的主要考虑的因素。
结构化程序设计的特征如下:程序模块只有一个入口和一个出口、程序中只包含顺序、条件和循环三种控制结构。
面向对象的分析通常要建立三个模型,请问三个模型的作用?
1)功能模型:表达系统的详细需求,为软件的进一步分析和设计打下基础。在面向对象方法中,由用例图和场景描述组成。2)对象模型:表示静态的、结构化的系统“数据”性质。描述现实世界中实体的对象以及它们之间的关系,表示目标系统的静态数据结构。3)动态模型:描述系统的动态结构和对象之间的交互,表示瞬时的、行为化的系统的“控制”特性。
包含关系用于构造多个用例共同的活动。例如,在ATM系统中,取钱、查询、更改密码等功能都需要验证用户密码。这种情况下应该将密码验证功能独立出来,便于复用、减少冗余。一个用例扩展另一个用例的功能,例如,在图书馆信息管理系统中,读者还书时,系统检查所还图书是否有预订记录,如果有则执行“通知”用例。
对象模型:表示静态的、结构化的系统“数据”性质。描述现实世界中实体的对象以及它们之间的关系,表示目标系统的静态数据结构。在面向对象方法中,类图是构建对象模型的核心工具。
在需求分析的同时,以比较小的代价快速建立一个能够反映用户主要需求的原型系统。用户在原型系统上可以进行基本操作,并且提出改进意见,分析人员根据用户的意见完善原型,然后再由用户评价,提出建议,如此往复,直到开发的原型系统满足了用户的需求为止。基于快速原型化模型的开发过程基本上是线性的,从创建系统原型到系统运行,期间没有反馈环。这是由于开发人员是在原型的基础上进行系统分析和设计,而原型已经通过了用户和开发组的审查,在设计阶段由于有原型作设计参考,所以设计的结果正确率比较高。
判定表是结构化设计的工具,用于多条件的描述。其结构分为4部分:条件列表、条件组合、操作列表、特定条件下的操作组合。
软件工程旨在开发满足用户需要、及时交付、不超过预算和无故障的软件,其主要目标如下:
l实现预期的软件功能,达到较好的软件性能,满足用户的需求。
(1)软件工程强调规范化和文档化。规范化的目的是使众多的开发者遵守相同的规范,使软件生产摆脱个人生产方式,进入标准化、工程化的生产方式。
(2)文档化是将软件的设计思想、设计过程和实现过程完整地记录下来,以便于后人的使用和维护,在开发过程中各类相关人员借助于文档进行交流和沟通。另外,在开发过程中产生的各类文档使得软件的生产过程由不可见变为可见,便于管理者对软件生产进度和开发过程进行管理。在用户最终验收时可以通过对提交的文档进行技术审查和管理审查,保证软件的质量。
所谓抽象就是将事务的相似方面集中和概括起来,暂时忽略它们之间的差异。或者说,抽象就是抽出事务的本质特性而暂时不考虑它们的细节
在软件设计中应该保持模块的独立性原则。反映模块独立性的有两个标准:内聚和耦合。内聚衡量一个模块内部各个元素彼此结合的紧密程度;耦合衡量模块之间彼此依赖的程度。软件设计时追求高内聚、低耦合。
(1)软件是程序以及开发、使用和维护程序所需的所有文档。
(2)软件质量从可维护性、可靠性、可理解性和效率等方面对软件作较全面的评价。
软件生命周期是一个软件从提出开发要求到废弃为止的整个时期。
软件生命周期可分为8个阶段:问题定义、可行性分析、需求分析、概要设计、详细设计、编码、系统测试和运行维护
什么是软件危机?试简述至少3种软件危机的典型表现。
(1)软件危机是指在计算机软件的开发和维护过程中,所遇到的一系列严重问题。
l开发费用和进度难以估算和控制,大大超过预期的资金和规定日期;
l软件需求分析不够充分,用户不满意“已经完成”的软件系统。
l软件开发生产率提高的速度,远远跟不上计算机应用迅速普及深入的趋势
为了提高软件的可维护性,在软件开发过程的各个阶段要充分考虑软件的可维护性因素。
(1)在需求分析阶段应该明确维护的范围和责任,检查每条需求,分析维护时这条需求可能需要的支持,对于那些可能发生变化的需求要考虑系统的应变能力。
(2)在设计阶段应该做一些表更实验,检查系统的可维护性、灵活性和可移植性,设计时应该将今后可能变更的内容与其他部分分离出来,并且遵循高内聚、低耦合的原则。
(3)编码阶段要保持源程序与文档的一致性、源程序的可理解性和规范性。
(4)在测试阶段测试人员应该按照需求文档和设计文档测试软件的有效性和可用性,收集出错信息并进行分类统计,为今后的维护打下基础。
为了提高软件的可维护性,在软件开发过程的各个阶段怎样充分考虑软件的可维护性因素。
【答案】
(1)在需求分析阶段应该明确维护的范围和责任,检查每条需求,分析维护时这条需求可能需要的支持,对于那些可能发生变化的需求要考虑系统的应变能力。
(2)在设计阶段应该做一些表更实验,检查系统的可维护性、灵活性和可移植性,设计时应该将今后可能变更的内容与其他部分分离出来,并且遵循高内聚、低耦合的原则。
(3)编码阶段要保持源程序与文档的一致性、源程序的可理解性和规范性。
(4)在测试阶段测试人员应该按照需求文档和设计文档测试软件的有效性和可用性,收集出错信息并进行分类统计,为今后的维护打下基础。
软件需求可以分为业务需求、用户需求、功能需求和非功能需求,请分析业务需求与用户需求的区别?
业务需求是用户高层领导机构决定的,它确定软件的目标、规模和范围。业务需求一般在进行需求分析之前就应该确定,需求分析阶段要以此为参照制定需求调研计划、确定用户核心需求和软件功能需求。业务需求通常比较简洁,大约三~五页纸就可以描述清楚,也可以将它直接作为需求规格说明书中的一部分。
用户需求是用户使用该软件要完成的任务。这部分需求应该充分调研具体的业务部门,详细了解最终用户的工作过程、所涉及的信息、当前系统的工作情况、与其他系统的接口等等。用户需求是最重要的需求,也是出现问题最多的。
软件工程是:① 将系统化的、规范的、可度量的方法应用于软件的开发、运行和维护过程,也就是说将工程化应用于软件开发和管理之中;② 对①中所选方法的研究”。
软件工程旨在开发满足用户需要、及时交付、不超过预算和无故障的软件,其主要目标如下:
a)实现预期的软件功能,达到较好的软件性能,满足用户的需求。
b)增强软件过程的可见性和可控性,保证软件的质量。
(1)
根据用户的需求画出初始的数据流程图;(2)写出数据字典和初始的加工处理说明(IPO图);(3)实体关系图。(4)以初始数据流程图为基础,从数据流程图的输出端开始回溯。在对数据流程图进行回溯的过程中可能会发现丢失的处理和数据,应将数据流程图补充完善。(5)对软件性能指标、接口定义、设计和实现的约束条件等逐一进行分析。(6)系统分析人员与用户一起对需求分析的结果进行复查。(7)根据细化的需求修订开发计划。(8)编写需求规格说明书和初始的用户手册,测试人员开始编写功能测试用的测试数据。
(1)活动图反映系统中从一个活动到另一个活动的流程,强调对象间的控制流程。活动图特别适合描述工作流和并行处理过程。具体地说活动图可以描述一个操作过程中需要完成的活动;描述一个对象内部的工作;描述如何执行一组相关的动作,以及这些动作如何影响它们周围的对象;说明一个业务活动中角色、工作流、组织和对象是如何工作的。
(2)顺序图用于描述一组交互对象间的交互方式,它表示完成某项行为的对象和这些对象之间传递消息的时间顺序。
提高程序可读性有哪些招数?对你来讲比较灵验的是哪些?
a)源程序文件头说明,函数应有函数头说明,内容包括:程序标题;有关该模块功能和目的说明;主要算法说明;接口说明,包括调用形式、参数描述、子程序清单、有关数据的说明。
b)主要变量(结构、联合、类或对象)的定义能够反映其内在含义。
d)处理过程的每个阶段和典型算法前都有相关注释说明。
1)属性的类型:设计属性时必须要根据开发语言确定每个属性的数据类型,如果数据类型不够,设计人员可以利用已有的数据类型定义新的数据类型。
2)属性的可见性。在设计属性时要确定公有属性、私有属性、受保护属性。
面向对象的设计活动中,有构架师、用例工程师和构件师参加,他们每个角色的职责是什么?
(1)构架设计的目的是要勾画出系统的总体结构,这项工作由经验丰富的构架设计师主持完成。该活动以用例模型、分析模型为输入,生成物理构架、子系统及其接口、概要的设计类(即设计阶段定义的类)。
(2)根据分析阶段产生的高层类图和交互图,由用例设计师研究已有的类,将它们分配到相应的用例中。检查每个用例的功能,这些功能依靠当前的类能否实现,同时检查每个用例的特殊需求是否有合适的类来实现。细化每个用例的类图,描述实现用例的类及其类之间的相互关系,其中的通用类和关键类可用粗线框区分,这些类将作为项目经理检查项目时的重点。
经过前面两个活动,构架设计师已经将系统的构架建立起来,用例设计师按照用例的功能将每个类分配给相应的用例。现在要由构件工程师详细设计每个类的属性、方法和关系。
软件的可维护性是软件设计师最关注的性能,谈谈为了获得软件良好的可维护性,在设计时应该注意哪些问题?
(1)
在设计阶段应该做一些变更实验,检查系统的可维护性、灵活性和可移植性;(2)设计时应该将今后可能变更的内容与其他部分分离开来,并且遵循高内聚、低偶合的原则。
根据相关的法律,对于侵犯软件著作权的行为,根据情节应当给予什么处罚?
对于侵犯软件著作权的行为,(1)要根据情况承担停止侵害、消除影响、赔礼道歉、赔偿损失等民事责任;(2)损害社会公共利益的,由著作权行政管理部门责令停止侵权行为,没收违法所得,没收、销毁侵权复制品,并处罚款;(3)情节严重的,著作权行政管理部门可以没收用于制作侵权复制品的材料、工具、设备等;(4)触犯刑律的,依法追究刑事责任。
读懂下面的程序,调整格式,使其更容易理解,并添加注释。
对功率大于50马力的机器或已运行 10 年以上的机器,应送到专业的维修公司处理;否则如果功率小于20马力,并且有维修记录,则在车间维修;否则送到本厂的维修中心维修,请建立判定表。
孩子阅读疲倦时,一定要休息。如果不疲倦,但是对所阅读的内容不感兴趣,就跳到下一章;如果不疲倦,对内容有兴趣,理解无困难,则继续阅读;如果不疲倦,对内容有兴趣,但理解有困难,则应该重读。请对上面的描述设计判定表。
某学校开发了学生网上选课的系统,学生首先输入学生编号和密码,登录成功后在网上查找到希望选修的课程,并查看是否还有名额,若有名额就可以选课,系统自动记录该学生的选课信息,并返回选课成功。请用顺序图描述学生选课的过程。(只描述成功选课的情形即可)
数据流程图中的处理本应该放在数据字典中进行定义,但是由于处理与数据是有一定区别的两类事物,它们各自有独立的描述格式,因此在实际项目中通常将处理说明用IPO图标描述。下面是项目中常用的处理说明模板:
scanf(“d%,d%,d%),&a,&b,&c,&t);
if a>5 && t<1 x=10 else x=1;
printf(“d%,d%,d%\n”,x,y,z)
测试用例(不唯一):a=6 t=0 b=11 c=16; a=5 t=0 b=10 c=15
软件需求可以分为业务需求、用户需求、功能需求和非功能需求,请分析业务需求与功能需求的区别?
业务需求是用户高层领导机构决定的,它确定软件的目标、规模和范围。业务需求一般在进行需求分析之前就应该确定,需求分析阶段要以此为参照制定需求调研计划、确定用户核心需求和软件功能需求。业务需求通常比较简洁,大约三~五页纸就可以描述清楚,也可以将它直接作为需求规格说明书中的一部分。
功能需求定义了软件开发人员必须实现的软件功能。用户从他们完成任务的角度对软件提出了用户需求,这些需求通常是凌乱的、非系统化的、有冗余的,开发人员不能据此编写程序。软件分析人员要充分理解用户需求,将用户需求整理成软件功能需求。开发人员根据功能需求进行软件设计和编码。
判断覆盖标准为,不仅使条语句都至少执行一次,还要是程序中每个分支都至少执行一次。也就是说,设计的测试用例使每个判定都有一次取“真”和“假”的机会。
测试用例(不唯一):a=16 t=0 b=11 c=16; a=5 t=0 b=10 c=15
判断覆盖标准为,不仅使条语句都至少执行一次,还要是程序中每个分支都至少执行一次。也就是说,设计的测试用例使每个判定都有一次取“真”和“假”的机会。
测试用例(不唯一):a=16 t=0 b=11 c=16; a=5 t=0 b=10 c=15
条件组合覆盖标准为,使得每个判定表达式中条件的各种可能组合都至少出现一次。
本程序中共有两个判定表达式,每个判定表达式中有两个简单条件,因此,总共有8种可能的条件组合,它们是:
下面的4个测试用例,可以使上面列出的8种条件组合每种至少出现一次:
条件组合覆盖标准为,使得每个判定表达式中条件的各种可能组合都至少出现一次。
本程序中共有两个判定表达式,每个判定表达式中有两个简单条件,因此,总共有8种可能的条件组合,它们是:
因为每个判定表达式为真或假时均有赋值语句,为了使每个语句都至少执行一次,总共需要两组测试数据,以便使得每个判定表达式取值为真或假各一次。下面是实现语句覆盖的典型测试用例:
1)软件是一种逻辑实体,具有抽象性,无法看到软件本身的形态,必须通过观察、分析、思考和判断才能了解它的功能和性能。
2)软件对硬件和环境有着不同程度的依赖性,这导致了软件升级和移植的问题。计算机硬件和支撑环境不断升级,为了适应运行环境的变化,软件也需要不断维护,并且维护的成本通常比开发成本高许多。
3)软件生产至今尚未摆脱手工方式,软件开发的手工行为造就了一个致命的问题,就是为应用“量身订做”软件。长期以来,软件给人的感觉是修改几条指令很简单,客户总是强调软件要适应自己的业务需求。因此,软件产品大多是为客户“订做”的,通用性差。
4)软件涉及人类社会的各行各业,常常涉及一些行业知识,这对软件工程师提出了很高的要求。
5)软件是与文学艺术作品相似的精神作品,与体力劳动相比,精神活动过程的特点是“不可见性”,这大大增加了组织管理上的困难。
1)结构化方法分析和设计阶段所应用的模型之间存在鸿沟。分析阶段的主要模型是数据流程图,设计阶段的主要模型是软件模块结构图,数据流程图和软件模块结构图之间需要进行转换。不同的人转换出的模块图可能不同,有很大的随意性。
2)需求分析的细化程度没有标准,只能凭借分析人员的经验自己把握;需求分析的过程是在一种瀑布形式,当需求变更时,功能变化就会导致软件模块结构发生变化,造成了软件结构不稳定。
3)结构化程序设计将数据定义与处理数据的过程相分离,不利于软件复用。
结构化方法设计的软件结构不稳定,缺乏灵活性,可维护性差。
下面的程序段A被程序员误写成程序段B,请设计合适的测试用例发现其中的错误。(有图)
|
|
|
|
if (A>=1)&& (B>=2) T=T+1;
if (X>=90) &&(Y>=75) T=T+3;
|
if (A>=1)&& (B>=2) T=T+1;
if (X>=90)&&(Y<75) T=T+3;
|
由此获得测试用例:A=1 B=2; A=1 B=1;A=0 B=2;A=0 B=1;X=90 Y=75;X=90 Y=1;X=1 Y=75;X=1 Y=1;其中 X=90 Y=75和 X=90 Y=1能够发现错误。
符合判定覆盖的测试用例(不唯一):a=5,b=-1,c=4; a=5,b=5,c=0;
判断覆盖标准为,不仅使条语句都至少执行一次,还要使程序中每个分支都至少执行一次。也就是说,设计的测试用例使每个判定都有一次取“真”和“假”的机会。
测试用例(不唯一):a=16 t=0 b=11 c=16; a=5 t=0 b=10 c=15
一个程序片段如下,请设计符合条件组合覆盖的测试用例。
综合以上条件组合,设计测试用例如下(注意结果不唯一,只要满足上面的组合条件即可):
请画图说明软件工程的层次化结构,并详细分析中间两层的内容。
软件工程的内容具有层次化结构,最底层是质量保证层,中间是过程层和方法层,最上层是工具层。见图:
其中过程层定义了一组关键过程域,目的是保证软件开发过程的规范性和可控性。方法层提供了软件开发的各种方法,包括如何进行软件需求分析和设计,如何实现设计,如何测试和维护等方法。
QQ软件的用户分为游客和登陆会员,登陆会员分为群成员和非群成员,群成员分为 群主和群普通成员、群管理员,请用类的继承关系描述QQ用户群。
公司为本科以上学历的员工重新安排工作,原则如下:①如果年龄不满23岁,学历是本科,一律考研生;②如果年龄在23岁至50岁之间,学历本科,任项目经理;③如果年龄在50岁以下,学历硕士,任命为中层领导;④如果年龄超过50岁,不做调整,要求画出判定表。
下面程序代码,编程人员误把IF ((A==2) OR (X>1)) 条件写成了IF ((A==2) OR (X<1)),用A=2,B=0,X=3和A=2,B=1,X=1这两组测试用例不能发现错误,请你添加足够多的测试用例,以发现程序中的错误。
If ((A>1) AND (B==0)) THEN DO
IF ((A==2) OR (X>1)) THEN DO
用A=1,B=0,X=3测试用例可以发现错误,因为按照测试用例的预计的输出X=4,而错误的输出是X=3。
请用判定表描述产品出库量的计算方法:当库存量大于等于提货量时,以提货量作为出库量;当库存量小于提货量,但是库存量大于等于提货量的50%时,以实际库存量作为出库量;否则,出库量为0,不能提货。
假设一家工厂的采购部门每天需要一张定货报表。报表按零件编号排序,表中列出所有需要再次定货的零件。对于每个需要再次定货的零件应该列出下述数据:零件编号、零件名称、定货数量、目前价格、主要供应商、次要供应商。零件入库或出席称为事务,通过放在仓库中的CRT终端把事务报告给定货系统。当某种零件的库存数量少于库存临界值时就应该再次定货。试绘制数据流图。
【答案】
(1)基本信息管理:教务管理人员输入或修改学期教学计划、学生名单和教师名单;
(3)分配任课教师:教务管理人员为符合开课条件的课程分配教师和时间;
(5)成绩管理:每门课程的教师在考试评分结束后将考试成绩录入,学生可查询。
学校每学期为品学兼优的学生发放奖学金,奖学金根据学生本人申请,班主任和同学评议的结果,分为三个等级,一等奖5名,二等奖10名,三等奖50名,向全校公布。
开发一个软件实现奖学金的评比和发布。每学期由学生本人填写申请信息:学号、姓名、班级、申请等级、申请理由;系统根据申请自动检查学生成绩文件,如果成绩有不及格则不能申请奖学金;如果平均成绩在85分以上有资格申请一等奖学金;75分以上可以申请二等奖学金;否则可以申请三等奖学金。系统保存申请信息和成绩检查结果。经过成绩筛选后,同学和班主任进行评议,同学可以给申请者加0—10分,教师可以给申请者0—10分。学习成绩占80%,同学评分占10%,班主任评分占10%,最后由学生管理科编制一张报表。请设计这张报表的内容和格式,并画出此系统的数据流程图。
简化的图书馆图书信息管理系统有以下要求:(1)借书:输入读者借书证和书号,系统检查借书证是否有效;查阅借还书文件,检查该读者所借图书是否超过8本,若已达8本,显示信息“已经超出借书数量”,拒借;然后查询是否有超过1个月期限的图书,若有则显示信息“有超期未还图书”;两项检查通过后,办理借书(检查库存、修改库存文件并将读者借书信息登入借还书文件)(2)还书:输入书号和读者号,从借书文件中读出有关的借书记录,查阅所借日期,如果超过1个月,作罚款处理。否则,修改库存文件与借还书文件。
请就以上需求画出DFD图,并给出借还书文件的数据字典。
数据字典4分:可以用表格的方式说明也可以按照传统的数据字典格式,例如:
数据存储的组成:编号+读者号+图书号+借书日期+还书日期+操作员编号
某企业的设备维修委托给专业的技术公司完成,现在要开发软件对设备维修信息进行管理,具体描述如下:
车间主任填写维修申请单,内容有设备名称、型号、故障描述、维护时间要求、预计费用;填好后交给审计人员,审计人员根据企业的审计规定对维修申请单进行审计,填写审计意见和审计结果,审计意见可以修改费用,审计结果是同意或不同意;车间主任可以随时查询审计意见和结果;审计通过的维修申请单送给总经理进行审核,并填写审核意见和结果,审核也是以修改费用,审核结果是同意或不同意。审核通过后,车间把设备送去维修。维修后由车间主任组织对设备维修结果进行验收,企业对每台有设备验收标准。验收通过后,由财务人员进行结算,填写支付单并支付维修费。最后收取发票后,财务人员填写发票记录。
学校教师工资管理系统的需求描述如下:教师每月末将本月的工作量输入到系统中,学院负责人对教师输入的工作量进行审核,财务部门对审核后的工作量计算本月工资,本月工资=基本工资+各种补贴+工作量奖金-税收-保险一公积金金。基本工资、各种补贴、保险、公积金信息由人事处负责输入和维护,教师可以查询月工资明细。银行系统每月从本系统读入每位教师的实发工资,并向每位教师的银行卡帐户打入月工资。教师可以查询自己银行卡的金额。
学校开发的网上作业管理信息系统需求如下:教师使用本系统将作业题输入到数据库中,并且针对不同的学生布置不同的作业。学生在网上查看教师给自己布置的作业,并完成作业,完成的作业放在学生作业表中。教师在网上批阅作业,并可以统计作业完成情况。学生可以查看教师批阅的作业,修改作业中的错误,教师仍然可以查看学生修改作业的情况,并给予批阅。
一个简单的飞机机票预订系统:机票预订系统按功能可分成两部分,一部分为旅行社预订机票,另一部分为旅客取票,两部分通过机票文件的数据存储联系起来。旅行社把预订机票的旅客信息 (姓名、年龄、单位、身份证号码、旅行时间、目的地等)输入机票预订系统。系统为旅客安排航班,打印出取票通知单(附有应交的账款)。旅客在飞机起飞的前一天凭取票通知单交款取票,系统检验无误,输出机票给旅客。请你根据以上的描述,画出数据流程图。
一个简化的养老院软件需求描述如下:老人来到养老院,接待人员将老人的基本信息录入到系统中,管理员读取老人信息,进行护理级别的评估,根据评估结果分配床位、确定护理方案,床位的分配信息存入床位分配数据表,每位老人的护理方案也要保存到数据库表中。财务人员根据收费标准、床位分配信息、护理方案和老人的日常护理记录计算应收费用,老人的家属可以查询应收费信息和老人的日常护理信息。护士根据老人基本信息、护理方案对老人进行日常护理,并向系统录入每日的护理信息。请你根据以上的描述,画出数据流程图。
现在有一个医院病房监护系统,请根据用户需求建立系统的Use Case模型。用户提出的系统功能要求如下:在医院病房监护系统中,病症监视器安置在每个病房,将病人的病症信号实时传送到中央监视系统进行分析处理。在中心值班室里,值班护士使用中央监视系统对病员的情况进行监控,根据医生的要求随时打印病人的病情报告,系统会定期自动更新病历。当病症出现异常时,系统会立即自动报警,通知值班医生及时处理,同时立即打印病人的病情报告,立即更新病历。
用用例图描述图书管理。该系统主要包括三类用户:读者、图书管理员、系统管理员。其中,读者是多个,图书管理员是几个,系统管理员是一个。对于系统,读者可以查询自己的借阅情况、分门别类的查询图书和在规定期限内续借不能超过一次操作的情况下进行自行登录续借书等。图书管理员主要是日常操作以下几个工作环节:图书订购、新书验证、书目录入、图书登记、读者信息管理、借阅书登记、图书信息注销和读者信息注销等,而系统管理员统筹管理图书的系统相关事宜,比如权限维护、日志维护、增删用户和管理系统后台数据等。
根据下面程序代码,画出程序流程图,然后设计满足条件组合覆盖的测试用例。
IF ( X>=80 AND Y>=80 )THEN
ELSE IF ( X>=90 AND Y>=75 ) THEN
经化简后的测试用例:x=95 y=95;x=95,y=70;x=70,y=95;x=70,y=70;
一个学生考试成绩统计程序,小于60分为“不及格”;60-79为“中”;80-89为“良”;90分以上为“优秀”,录入其他成绩均为“无效”。要求:按等价类划分方法设计测试用例。
一个学生考试成绩统计程序,小于60分为“不及格”;60-79为“中”;80-89为“良”;90分以上为“优秀”,录入其他成绩均为“无效”。要求:设计语句覆盖的测试用例。
说明:此题的答案不唯一,只要符合等价类划分要求即可
根据你的理解,为下面的数据流程图加上箭头,并把下列内容添加到合适的位置:用户名/密码、用户输入预订信息、保存预订信息、预订信息记录、登录确认、图书信息记录、图书信息、查询条件、查询结果、读者账号信息记录、预订信息。有图
某学校开发了学生网上选课的系统,学生首先输入学生编号和密码,登录成功后在网上查找到希望选修的课程,并查看是否还有名额,若有名额就可以选课,系统自动记录该学生的选课信息,并返回选课成功。请用顺序图描述学生选课的过程。(只描述成功选课的情形即可)
本站声明:网站内容来源于网络,如有侵权,请联系我们,我们将及时处理。
学知识·找资料-就来aiguokai.com