管理信息化信息化知识大学课程软件工程测试_第1页
管理信息化信息化知识大学课程软件工程测试_第2页
管理信息化信息化知识大学课程软件工程测试_第3页
管理信息化信息化知识大学课程软件工程测试_第4页
管理信息化信息化知识大学课程软件工程测试_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

管理信息化信息化知识大学课程软件工程测试三、简答题:1、什么是软件危机?产生软件危机的原因?怎样消除?答:软件危机:是计算机软件在它的开发和维护过程中所遇到的一系列严重问题,研制软件系统需要投入大量的人力和物力,但系统的质量却难以保证,也就是说,开发软件所需的高成本同产品的低质量之间有着尖锐的矛盾,这种现象就是所谓的“软件危机”。软件危机产生的原因是由于软件产品本身的特点以及开发软件的方式、方法、技术和人员引起的:①软件的规模越来越大,结构越来越复杂。②软件开发管理困难而复杂。③软件开发费用不断增加。④软件开发技术落后。⑤生产方式落后。⑥开发工具落后,生产率提高缓慢。如何维护数量不断膨胀的已有软件。软件危机典型表现:(1)对软件开发成本和进度的估计常常很不准确。(2)用户对“已完成的”软件系统不满意的现象经常发生。(3)软件产品的质量往往靠不住。(4)软件常常是不可维护的。(5)软件通常没有适当的文档资料。(6)软件成本在计算机系统总成本中所占的比例逐年上升。(7)软件开发生产率提高的速度,远远跟不上计算机应用迅速普及深入的趋势。2、什么是软件工程?包括哪些内容?答:软件工程:用科学知识和技术原理来定义、开发、维护软件的一门学科。软件工程的内容:1)软件开发技术:软件开发方法、软件开发过程、软件开发工具和环境。2)软件开发管理:软件管理学、软件经济学、软件心理学。软件工程的目标:是成功的建造一个大型软件系统,所谓成功是要达到以下几个目标:①付ft较低的开发成本;②面到要求的软件功能;③取得较好的软件性能;④开发的软件易于移植;⑤需要较低的维护费用;⑥能按时完成开发任务,及时交付使用;⑦开发的软件可靠性高;软件工程过程:生产一个最终能满足需求且达到工程目标的软件产品所需要的步骤。软件工程过程主要包括开发过程、运作过程、维护过程。它们覆盖了需求、设计、实现、确认以及维护等活动。软件工程的框架可概括为:①目标、②过程和③原则。软件工程的原则:是指围绕工程设计、工程支持以及工程管理在软件开发过程中必须遵循的原则。⑷采用现代程序设计技术;⑸结果应能清楚地审查;⑹开发小组的人员应该少而精;⑺承认不断改进软件工程实践的必要性;(工程化的方法开发软件基本原理)软件工程方法学:软件工程包括技术和管理两方面的内容,是技术与管理紧密结合所形成的工程学科。软件工程方法学包括:①传统方法学(结构化范型)和②面向对象方法学。面向对象的要点:①把对象作为融合了数据及在数据上的操作行为的统一的软件构件。②把所有对象都划分成类。③按子类与父类的关系,把类组成一个层次结构。④对象彼此之间仅能通过传递消息互相联系。软件工程方法学三要素是:①方法;②工具;③过程。3、软件生命周期由哪三个时期组成,又划分为哪8个阶段?一个软件从提ft开发要求开始直到该软件报废为止的整个时期。段。1、问题的定义及规划此阶段是软件开发方与需求方共同讨论,主要确定软件的开发目标及其可行性。2、需求分析在确定软件开发可行的情况下,对软件需要实现的各个功能进行详细分析。需34、程序编码此阶段是将软件设计的结果转换成计算机可运行的程序代码。在程序编码中必5、软件测试在软件设计完成后要经过严密的测试,以发现软件在整个设计过程中存在的问6、运行维护软件维护是软件生命周期中持续时间最长的阶段。在软件开发完成并投入使用4、什么是白盒测试法?什么是黑盒测试法?答:白盒测试:所谓白盒测试就是在知道产品内部工作过程或程序内部结构和处理过程的前提下,检验产品内部动作是否按照规格说明书的规定正常进行或按照程序内部的逻辑测试程序,检验程序中的每条通路是否都能按照预定要求正确工作的测试方法.因此白盒测试又称为结构测试或逻辑测试。条件覆盖;⑷判定/条件覆盖;⑸条件组合覆盖;⑹点覆盖;⑺边覆盖;⑻路径覆盖。黑盒测试:所谓黑盒测试是指在完全不考虑程序的内部结构和处理过程的前提下,在程序接口进行的测试,它只检查程序功能是否能按照规格说明书的规定正常使用,程序是否能适当地接受输入数据产生正确的输ft信息,并且保持外部信息的完整性.因此,又称为功能测试。特点:等价类划分、边界值分析、因果图、错误推测。优点1.基本上不用人管着,如果程序停止运行了一般就是被测试程序crash了2.设计完测试例之后,下来的工作就是爽了,当然更苦闷的是确定crash原因1.OUSPG2.PDU3.crashtestcaseft。5、什么是集成测试?非渐增式和渐增式有什么区别?渐增式如何组装模块?答:将模块组合起来成为一个完整的系统对其进行测试。非渐增式是将模块先进行单元测试然后组装在一渐增式组装模块有自顶向下和自底向上两种组装方式。6、什么是确认测试?该阶段有那些工作?答:调试的目的是发现错误的位置并改正错误。简单调试、演绎调试、递归调试、回溯调试。7、面向对象方法学与传统方法学有何区别?答:面向对象方法学注重的是软件的重用性,而传统的方法学则在这一问题解决上不理想。面向对象方法学和传统的方法学在问题分析上的切入点不同。面向对象里面,系统是长ft来的,传统的方法学里面,系统是放进去的。传统方法:⑴结构化开发方法,注重的是系统功能,自顶向下,从大到小的DFD发生了很大的变化,这样基于功能和过程的方法显然难以维护的,代码重用率可想而知,而商业过程(->数据流,数据的输入和转化输ft,数据流程图,状态转化图,事件顺序图,过程依赖图,两者都是由事件驱动.面向的是问题,是为了要解决某一个具体问题,其观察事物的方法不是本体客体本身,而是对本体客体相互作用过程抽象,转化成逻辑模型。面向对象方法学:其切入点是客观世界的主体和客8、软件开发模型有几种?各有什么特点?软件生存周期模型:是描述软件开发过程中各种活动如何执行的模型。(模型:是为了理解事物而对事物做ft一种抽象,它忽略不必要的细节,它也是事物的一种抽象形式、一个规划、一个程式。)主要模型:①瀑布模型;②增量模型;③螺旋模型;④喷泉模型;⑤变换模型;⑥基于知识的模型等快速原型模型:①开发速度快,质量有保证。②对信息系统特别有效。增量模型:①人员分配灵活,刚开始不用投入大量人力资源,当核心产品很受欢迎时,可增加人力实现下一ft螺旋模型:①对于大型系统及软件的开发,这种模型是一个很好的方法。开发者和客户能够较好地对待和理解每一个演化级别上的风险。②对可选方案和约束条件的强调有利于已有软件的重用,也有助于把软件质量作为软件开发的一个重要目标;减少了过多测试或测试不足所带来的风险。9、可行性研究:⑴系统流程图;⑵数据流程图;系统流程图:系统流程图是概括地描绘物理系统的传统工具。基本思想是用图形符号以黑盒子形式描绘组成系统的每个部件。其表达的是数据在系统各部件之间流动的情况,而不是对数据进行加工处理的控制过程。数据流程图:简称DFD,是描述数据处理过程的工具。数据流图从数据传递和加工的角度,以图形的方式刻画数据流从输入到输ft的移动变换过程,是一种功能模型。作用:它以图形的方式描绘数据在系统中流动和处理的过程,反映系统必须完成的逻辑功能。基本符号有四种:→,箭头,表示数据流;○,圆或椭圆,表示加工;=,双杠,表示数据存储;□,方框,表示数据的源点或终点。经济可行性。确定待开发系统是否值得投资开发。(2)技术可行性。对待开发的系统(3)法律可行性。确认待开发系统可能会涉及的任何侵犯、妨碍、责任等问题。(4)抉择。对系统开发的不同方案进行比较评估。10、什么是字据字典?其作用是什么?它有哪些条目?字据字典:简称DD,就是用来定义数据流图中的各个成分具体含义的,它以一种准确的、无二义性的说明方式为系统的分析、设计及维护提供了有关元素的一致的定义和详细的描述。为系统的分析\设计及维护提供了有关元素的一致的定义和详细的描述.⑵为分析人员查找数据流图中有关名字的详细定义而服务的.⑶它和数据流图共同构成了系统的逻辑模型,是需求规格说明书的主要组成部分.条目:数据流、数据项、数据存储、基本加工。11、需求分析的任务是什么?答:需求分析是指:开发人员要准确理解用户的要求,进行细致的调查分析,将用户非形式的需求陈述转化为完整的需求定义,再由需求定义转换到相应的形式主义功能规约(需求规格说明)的过程。需求分析的主要任务:⑴正确地确定对系统综合要求,充分理解和表达用户的需求。⑵通过结构分析的方法⑶是对以上已进行的两项工作进行⑷编写⑸编写⑹修正可行性研究阶段所制订的软件项目开发计划。12、结构化分析方法:结构化分析方法就是用抽象模型的概念,按照软件内部数据传递、变换的关系,自顶向下逐层分解,直到找到满足功能要求的所有可实现的软件为止。主要工具:数据流图、数据词典、结构化英语、判定表和判定树。3种模型:①数据模型、②功能模型和③行为模型。验证软件需求:⑴一致性;⑵完整性;⑶现实性;⑷有效性;结构化分析方法步骤:①了解当前系统的工作流程,获得当前系统的物理模型。②抽象ft当前系统的逻辑模型。③建立上标系统的逻辑模型。④作进一步补充和优化。。⑶主程序员组的组织形式。13、结构设计阶段,确定软件结构。模块:软件系统的层次结构正是模块化的具体体现。将整个软件划分成若干单独命名和可编址的部分,称之为模块。就是把程序划分成独立命名且可独立访问的模块,每个模块完成一个子功能,把这些模块集成起来构成一个整体,可以完成指定的功能满足用户的需求。模块是构成程序的基本构件。14、衡量模块独立性的两个标准是什么?它们各表示什么含义?两个定性的度量标准:耦合与内聚性。是模块之间的相对独立性(互相连接的紧密程度)的度量。模块之间的连接越紧密,联系越多,耦7(独立运行;②数据耦合(用参数表传递简单数据;③标记耦合(传递数据结构或者一部分;④控制耦合(传递的信息包括控制模块的信息⑤外部耦合(模块与软件之外的环境有关⑥公共耦合(多个模块引用同一全局的数据区;⑦内容耦合(访问内部数据,代码重叠或者多个入口。是模块功能强度(一个模块内部各个元素彼此结合的紧密程度)的度量。一个模块内部各个元素之7(模块完成的多个任务,任务之间的关系松散②逻辑内聚(模块完成逻辑相关的一组任务③瞬时内聚(模块的所有任务必须在同一时间间隔内执行;④过程内聚(模块的处理元素相关而且按照特定的次序执行;⑤通信内聚(模块的所有元素集中在一个数据结构区域上;⑥顺序内聚(模块的处理元素相关,必须顺序执行;⑦功能内聚(模块完成单一的功能,各个部分协调工作,而且不可缺少)耦合和内聚的关系:一般说来,在系统中各模块的内聚越大,则模块间的耦合越小。但这种关系并不是15、Jackson方法的步骤:(1)实体动作分析:从问题的描述中,提取软件系统要产生和运用的实体,以及现实世界作用于实体上的动作。(2)实体结构分析:把作用于实体的动作或由实体执行的动作,Jackson(3)定义初始模(4)的原型。16、测试阶段的信息流:这个阶段的输入信息有两类:(1)软件配置,包括需求说明书、设计说明书和源程序清单等;(2)测试配置,包括测试计划和测试方案。从主控制模块开始,沿着程序的控制层次向下移动,逐渐把各个模块结合起来。在把附属于集成测试的策略:当使用渐增方式把模块结合到程序中去时,有自顶向下和自底向上两种集成策略。17、决定软件可维护性的因素:⑴可理解性;⑵可测试性;⑶可修改性;⑷可移植性;⑸可重用性;软件维护:是指在软件已经交付使用之后,为了改正错误或满足新的需要而修改软件的过程.软件维护是软件生命周期的最后一个阶段,也是持续时间最长代价最大的一个阶段。软件的可维护性可以定义为:维护人员理解,改正和改动软件的难易程度。18、对象:是对现实世界实体的正确抽象,它是由描述内部状态表示静态属性的数据,以及可以对这些数据施加的操作,封装在一起所构成的统一体。对象之间通过传递消息互相联系,以模拟现实世界中不同事物彼此之间的联系。类:类是对具有相同属性和行为的一个或多个对象的描述。通常在这种描述中也包括对怎样创建该类的新对象的说明。类是支持继承的抽象数据类型,而对象就是类的实例:类结构:类的结构通常有一般----具体(分类结构)整体---抽象(组装结构)消息:对象之间通信的构造。实例:实例就是由某个特定的类所描述的一个具体的对象。类是对具有相同属性和行为的一组相似的对封装:从字面上理解,所谓封装就是把某个事物包起来,使外界不知道该事物的具体内容。继承:广义地说,继承是指能够直接获得已有的性质和特征,而不必重复定义它们。在面向对象的软件技术中,继承是子类自动地共享基类中定义的数据和方法的机制。多态性是指子类对象可以像父类对象那样使用,同样的消息既可以发送给父类对象也可以发送给子类对象。对象模型,②描述系统控制结构的动态模型和③描述系统功能的功能模型。对象模型:对象模型表示了静态的、结构化的、系统数据性质,描述了系统的静态结构,表现了对象间的相互关系,模型主要关心系统中对象的结构、属性和操作使用对象图来描述。动态模型:动态模型描述了与时间和变化有关的系统性质,描述的是系统的控制结构,表示了瞬间的系统控制性质,它关心系统的控制,操作顺序,从对象的状态角度ft发表现对象的相互行为。三种模型的关系:功能模型描述发生了什么,动态模型确定什么时候发生,对象模型确定发生的客体。19、对比瀑布模型和增量模型,指ft增量模型的新思路。答:瀑布模型是一种整体的开发模型,开发的每一阶段必须按线性的顺序来进行,前一阶段的工作没有完成后一阶段的工作就不能开始。由于需求分析的易变性使的软件开发工作不顺利,同时瀑布模型的每个阶段有不可避免的错误ft20、渐增模型有那几种?特点?答:增量构造和演化提交。增量构造是瀑布模型的基础上在一些的阶段中采用增量开发一些阶段整体开发。演化提交是在瀑布模型的基础上所有阶段都使用增量开发也就是不紧使用增量开发也使用增量提交。21、在结构化设计过程中,要将数据流图(DFD)映射成系统结构图(SC),画ft变换型数据流和事物型数据流的映射方式。答:变换型事务型22、COCOMO2模型:COCOMO2给ft了333个层次的估算模型分别是:(1)应用系统组成模型:主要用于估算构建原型的工作量,模型名字暗示在构建原型时大量使用已有的构件。(2)早期设计模型。这个模型适用于体系结构设计阶段。(3)后体系结构模型。这个模型适用于完成体系结构设计之后的软件开发阶段。Gantt图和工程网络图:23、 产生最佳解的一般结构:F5F5安全范围 D2患者安全范围P2分析信号P3危及病人信息 产生警告信息F2生理信号F4警告信息F2生理信号P1接收信号E2病人E1护士一个以计算机为中心的患者监护系统,请写ft问题定义,并且分析开发这个系统的可行性。答:⑴从问题陈述可知,本系统他们分别提供生理信号和要求病数据源点。⑵从问题陈述容易看

F3日前、时间

P4定时取样生理信号P4定时取样生理信号定时的生理信号F6日志P5更新日志D1患者日志F6日志F1要求报告P6产生病情报告E3时钟E1护士ftE1护士⑶系统对病人⑷此外为了分析病人生理信号是否超ftP3.1P3.1P3.2E1储户留有密码,则系统首先核对储户密码ft利息清单给储户。请用数据流图描绘本系统的功能,并用实体-联系图描绘系统中的数据对象。ER⑴ ⑵ ftft解:从问题陈述可知,复印机的状态主要有“闲置”、“复印”、“缺纸”和“卡纸”。引起状态转换的事件12、画ft下列伪码程序的程序流程图和盒图。STARTIFpTHENWHILEqDOfENDDOELSEBLOCKgnENDBLOCKENDIFSTOP13、对一个包含10000条机器指令的程序进行一个月集成测试后,总共改正了15个错误,此时MTTF=10H;经过两个月测试后,总共改正了25个错误(第二个月改正了10个错误)MTTF=15H.要求:(1MTTFftMTTF(2)为做到MTTF=100H,必须要多长时间的集成测试?结束时总共改正了多少个错误?还有多少个错误潜伏?解:⑴假设在程序的平均无故障时间MTTF和测试时间t之间存在线性关系,即:MTTF=a+bt;根据题意可知,当t=1时,MTTF=10h;当t=2时,MTTF=15h;把这些已知数据代入上列方程得:a+b=10;解此方程得:a=5;b=5;a+2b=15;因此MTTF与t之间有下列关系:MTTF=5+5t;集成测试.

根据上列方程式画ft平均无故障时间MTTF与没试时间t的关系曲线,如图:自已画⑵为使MTTF=100h,需要的测试时间由方程式得ft:100=5+5t;解得:t=19;即:需进行19个月的已知平均无故障时间与单位长度程序中剩余的错误数成反比,则:MTTF=10000∕k(Et-Ec(t))根据题意可知,改正了15个错误后MTTF=10,改正了25个错误后MTTF=15;把此数据代入上式得:10=10000∕k(Et-15)15=10000∕k(Et-25)解方程式得:Et=45;k=33.33;已知当集成测试结束时MTTF=100h,即:100=10000∕33.33(45-Ec(19))所以Ec(19)=42则,当集成测试结束时总共改正了42个错误,还有45-42=3个错误潜伏在程序中。14、对下列子程序进行调试:procedureexample(y,z:real;varx:real)beginend.

if(y>1)and(z=0)thenx:=x/y;if(y=2)or(x=l)thenx:=x+l;x,y,zx(1) 画ft流程图。(2)用白盒法设计测试用例,并写ft它所满足的是何种覆盖标准、预期结果以及路径。答:(1)流程图;(2)用白盒法中条件组合覆盖设计测试用例:① y=2,z=0,x=4;②y=2,z=1,x=1;③y=1,z=0,x=2;④y=1,z=1,x=1.15、 问题性质:教学事务管理系统是一个应用于校内所有学生各种信息的管理系统。要在两个礼拜的时间内分别从问题定义,可行性研究,需求分析,概要设计,详细设计,调入信息和输ft5名名单,学生和单科课程成绩单,以及每个班单科总平均分等等。工程规模:此系统中应包含接受模块和信息处理与输ft模块。可能的解决方案及其评价从三方面研究每种解决方法的可行性:(1).技术可行性使用现在的技术完全可以实现该系统(2).经济可行性这个系统的开发成本不高,节省的经济资源以及经济消息能够超过该系统的开发成本(3).推荐行动方针通过从技术,经济,可操作三方面的研究,分析的ft结论,此系统是可行的。16.构成E-R图的基本要素是实体型、属性和联系,其表示方法为:实体型(Entity):用矩形表示,矩形框内写明实体名;比如学生张三丰、学生李寻欢都是实体。如果是弱实体的话,在矩形外面再套实线矩形。(Attribute)联系(Relationship):用菱形表示,菱形框内写明联系名,并用无向边分别与有关实体连接起来,同时在无向边旁标上联系的类型(1:1,1:nm:n。比如老师给学生授课存在授25第一章软件工程介绍软件的特性1. 软件是设计开发的,而不是传统意义上的生产制造的。2. 软件不会“磨损。3. 虽然整个工业向着基于构件的构造模式发展,然而大多数软件扔是根据实际的顾客需求定制的。计算机软件的七大分类:系统软件、应用软件、工程/科学软件、嵌入式软件、产品线软件、Web软件需要修改其适应性,从而满足新的计算环境或者3.软件必须扩展以具有与更多现代系统和数据库的协作能力;4.软件架构必须进行改建以适应多样化的网络环境。软件神话:管理者,用户,从业者软件的定义:程序、数据和文档。软件工程的目的就是为开发高质量的软件产品提供一个工程框架。第二章过程综述软件工程的三个要素:工具,过程,方法。通用软件过程框架:沟通,策划,建模,构建,部署。01245第三章过程模型简述惯例框架包含的主要活动:沟通、策划、建模、构建、部署。简述瀑布模型所包含的主要框架活动:策划、建模、构建、部署。简述瀑布模型在实际运用中所面临的问题(缺点):“演化过程模型产生的背景:业务和产品需求经常变化、严格的交付时间、了解了核心产品和系统需求后没有定义产品或系统扩展的细节问题ft完整、准确的需求说明,或者(可运行的软件沟通-》快速策划-》建模快速设计-》构建模型-》部署交付品及反馈为了使原型尽快的工作,没有考虑软件的总体质量和长期的可2.统一过程的三个特点:用例驱动,以架构为核心,迭代并增量简述统一过程(UP)5螺旋模型强调了其他模型均忽略了的(风险分析)横切关注点的定义:一个信用卡处理系统的核心关注点是借贷/存入处理,而系统级的第四章敏捷视角下的过程4具有控制力的自我组织团队对所开展工作的重要性;2.团队成员之间、开发参与者与客户之间的交流与合作;3.简述极限编程(XP)4第五章系统工程6Hatley-Pirbhaift,维护和自检系统环境图(SystemContextDiagram)的表示方法(实例)第六章需求工程需求工程的过程:起始,导ft,精化,协商,规格说明,确认和管理在项目(起始阶段,软件工程师会询问一些似乎与项目无直接关系的问题,目的是对为什么导ft需求这么困难:范围问题,理解问题,易变问题。在需求工程的导ft阶段,三个主要的需求收集活动是:主持人会议、QFD第七章构建分析模型分析模型在系统描述和设计模型之间建立桥梁。分析模型必须实现的目标:1。描述客户需要什么;2。为软件设计奠定基础;3。定义在软件完成后可以被确认的一组需求。分析模型的所有元素都可以直接跟踪到设计模型。4UMLUMLUMLCRC:CRCUMLUML系统分析的经验原则(1)系统开发是面向客户的,应从客户的角度考虑。(2)诸如系统开发生命周期之类的产品更新换代机构应该在所有的信息系统开发项目中建立起来。(3)信息系统开发的过程并不是一个顺序的过程,它允许步骤的重叠和倒转等。(4)如果系统的成功可能性受到很大限制时,应取消整个项目。(5)文档材料是系统开发生命周期中重要的可递交成果,应加以重视第八章设计工程简述良好设计的三个特征:1。设计必须实现所有包含在分析模型中的明确需求,而且必须满足客户期望的所有隐含需求;2。对于那些生成代码的人和那些进行测试以及随后维护软件的人而言,设计必须是可读的、可理解的指南;3。设计必须提供软件的全貌,从实现的角度说明数据域、功能域和行为域。设计模型包含的四种元素是什么:数据/类设计、体系

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论