软件工程名词解释及简答题大全.doc

上传人:仙人指路1688 文档编号:3008609 上传时间:2023-03-08 格式:DOC 页数:18 大小:60KB
返回 下载 相关 举报
软件工程名词解释及简答题大全.doc_第1页
第1页 / 共18页
软件工程名词解释及简答题大全.doc_第2页
第2页 / 共18页
软件工程名词解释及简答题大全.doc_第3页
第3页 / 共18页
软件工程名词解释及简答题大全.doc_第4页
第4页 / 共18页
软件工程名词解释及简答题大全.doc_第5页
第5页 / 共18页
点击查看更多>>
资源描述

《软件工程名词解释及简答题大全.doc》由会员分享,可在线阅读,更多相关《软件工程名词解释及简答题大全.doc(18页珍藏版)》请在三一办公上搜索。

1、名词解释总结:-9软件开发环-8错误推测法-7黑盒测试法-6软件质量保证-5瀑布模型-4.软件危机-3.软件工程-2.软件生存周期-1.软件生存周期模型0.软件开发方法1、需求分析2、白盒法3、黑盒法4、渐增式测试5、非渐增式测试6、可执行的规格说明7、经济可行性8、系统设计说明书9、面向对象设计10、结构化设计11、结构化分析12、基于脚本的设计13、IDEF方法14、JSP方法15、软件概要设计16、信息隐蔽17、系统流程图18、集成测试19、附加策略20、抛弃策略21、抽象22、参数化抽象23、静态测试24、原型25、事件26、动态冗余27、模块化28、JSP方法29、模型30、瀑布模型

2、31、增量模型32、喷泉模型33、功能模型34、动态模型35、对象模型36、货币的时间价值37、类38、对象39、多态性40、风险分析41、模块42、JSD方法43、路径覆盖44、判定/条件覆盖45、条件组合覆盖46、条件覆盖47、原型模型48、软件工程环境49、程序图50.结构化分析方法51.数据流图52.字据字典53.IDEF方法54.概要设计55.耦合性56.内聚性57.无直接耦合58.数据耦合59.标记耦合60.控制耦合61.公共耦合62.内容耦合63.偶然内聚64.逻辑内聚65.时间内聚66.通信内聚67.顺序内聚68.功能内聚69.软件结构70.控制范围71.作用范围72.变换流7

3、3.事物流74.程序设计风格75.集成测试76.非渐增式77.渐增式78.确认测试79.软件的可维护性80.对象81.类82.类结构83.消息84.软件质量85.质量保证86.软件可靠性87.软件评审88.容错定义89.软件配置管理90.基线-9指在计算机的基本软件的基础上,为了支持软件的开发而提供的一组工具软件系统-8在测试程序时,人们可能根据经验或直觉推荐程序中可能存在的各种错误,从而有针对性地编写检查这些错误的测试用例的方法。-7把被测试对象看成一个黑盒子,测试人员完全不考虑程序的内部结构和处理过程。-6是向用户及社会提供满意的高质量的产品确保软件产品从诞生到消亡为止的所有阶段的质量的活

4、动,即确定、达到和维护需要的软件质量而进行的所有有计划、有系统的管理活动。-5将软件生存周期各个活动规定为依线性顺序连接的若干阶段的一种软件开发模型。它包括可行性分析、项目开发计划、需求分析、概要设计、详细设计、编码、测试和维护。-4.软件危机:软件发展第二阶段的末期,由于计算机硬件技术的进步。一些复杂的、大型的软件开发项目提出来了,但,软件开发技术的进步一直未能满足发展的要求。在软件开发中遇到的问题找不到解决的办法,使问题积累起来,形成了尖锐的矛盾,因而导致了软件危机。-3.软件工程:用科学的原理和理论定义,开发、维护软件的学科。-2.软件生存周期:一个软件从提出开发要求开始直到该软件报废为

5、止的整个时期。包括:可行性分析和项目开发计划、需求分析、概要设计、详细设计、编码、测试、维护等.-1.软件生存周期模型:是描述软件开发过程中各种活动如何执行的模型。(模型:是为了理解事物而对事物做出一种抽象,它忽略不必要的细节,它也是事物的一种抽象形式、一个规划、一个程式。)0.软件开发方法:用早就定义好的技术集合和符号表示习惯来组织软件生产的过程。主要有:结构方法、Jackson方法、维也纳开发方法()、面向对象的开发方法1、需求分析:需求分析是指开发人员要准确理解用户的需求,进行细致的调查分析,将用户非形式的需求陈述转化成完整的需求定义,再由需求定义转换到相应的形式功能规约(需求规格说明)

6、的过程。2、白盒法:该方法把测试对象看作一个打开的盒子,测试人员须了解程序的内部结构和处理过程,以检查处理过程的细节为基础,对程序中尽可能多的逻辑路径进行测试,检查内部控制结构和数据结构是否有错,实际的运行状态与预期的状态是否一致。白盒法也不可能进行穷举测试。3、黑盒法:该方法把被测试对象看成一个黑盒子,测试人员完全不考虑程序的内部结构和处理过程,只在软件接口处进行测试,依照需求规格说明书,检查程序是否满足功能要求。因此,黑盒测试又称为功能测试或数据驱动测试。4、渐增式测试:逐个把未经过测试的模块组装到已经过测试的模块上去,进行集成测试。每加入一个新模块进行一次集成测试,重复此过程直至程序组装

7、完毕。5、非渐增式测试:首先对每个模块分别进行单元测试,然后再把所有的模块按设计要求组装在一起进行测试。6、可执行的规格说明:这是一种使要求说明过程自动化的技术,通过可执行的规格说明语言来描述预期的行为“做什么”,人们可以从直接观察中用规格说明语言来规定任何系统行为。7、经济可行性:对组织的经济状况和投资能力进行分析,对系统建设,运行和维护费用进行估算,对系统建成后可能取得的社会及经济效益进行估计。8、系统设计说明书:是从系统总体的角度出发对系统建设中各主要技术方面的设计进行说明,是系统设计阶段的产物,其着重点在于阐述系统设计的指导思想以及所采用的技术路线和方法,编写系统设计说明书将为后续的系

8、统开发工作从技术和指导思想上提供必要的保证。9、面向对象设计:是把分析阶段得到的需求转变成符合成本和质量要求的、抽象的系统实现方案的过程。或者说,面向对象设计就是用面向对象观点建立求解域模型的过程。10、结构化设计:面向数据流的设计是以需求分析阶段产生的数据流图为基础,按一定的步骤映射成软件结构,因此又称结构化设计(SD)。11、结构化分析:是根据分解与抽象的原则,按照系统中数据处理的流程,用数据图来建立系统的功能模型,从而完成需求分析工作。12、基于脚本的设计:此方法主要用于解决要求的验证问题。一个脚本将模拟在系统运行期间用户经历的事件,它提供了输入、处理、输出的屏蔽,以及有关对话的一个模型

9、,开发者能够给用户显示一个系统的逼真视图。13、IDEF方法:是美国空军在1981年针对集成化计算机辅助制造(简称ICAM)工程项目中用于进行复杂系统分析和设计的方法,是在结构化分析与设计技术的基础上提出来的。14、JSP方法:定义了一组以数据结构为指导的映射过程,他根据输入、输出的数据结构,按一定的规则映射成软件的过程描述,即程序结构,而不是软件的体系结构,因此该方法适于详细设计阶段。15、软件概要设计:进入了设计阶段,要把软件“做什么”的逻辑模型变换为“怎么做”的物理模型,即着手实现软件的需求,并将设计的结果反应在“设计规格说明书”文档中,所以软件设计是一个把软件需求转换为软件表示的过程,

10、最初这种表示只是描述了软件的总的体系结构,称为软件的概要设计或结构设计。16、信息隐蔽:指在设计和确定模块时,使得一个模块内包含的信息(过程或数据),对于不需要这些信息的其它模块来说,是不能访问的。17、系统流程图:是描述物理系统的传统工具,它用图形符号来表示系统中的各个元素,例如人工处理、数据处理、数据库、文件、设备等。它表达了系统中各个元素之间的信息流动的情况。18、集成测试:是指在单元测试的基础上,将所有模块按照设计要求组装成一个完整的系统进行的测试,故也称组装测试或联合测试。19、附加策略:是将原型用于开发的全过程,原型由最基本的核心开始,逐步增加新的功能和新的需求,反复修改反复扩充,

11、最后发展为用户满意的最终系统。20、抛弃策略:是将原型用于开发过程的某一阶段,促使该阶段的开发结果更加完整、准确、一致、可靠,该阶段结束后,原型随之作废。21、抽象:是认识复杂现象过程中使用的思维工具,即抽出事物本质的共同的特征而暂不考虑它的细节,不考虑其它因素。22、参数化抽象:所谓参数化抽象,它是指当描述类的规格说明时并不具体指定所要操作的数据类型,而是把数据类型作为参数。23、静态测试:指被测试程序不在机器上运行,而是采用人工检测和计算机辅助静态分析的手段对程序进行检测。24、原型:是指模拟某种产品的原型模型。软件开发中的原型是软件的一个早期可运行的版本,它反映了最终系统的重要特征。25

12、、事件:是指定时刻发生的某件事情。它是某事情发生的信号,它没有持续时间,它是一种相对性的快速事件。26、动态冗余:动态冗余的主要方式是多种模块待机储备,当系统检测到某工作模块出现错误时,就用一个备用的模块来顶替它并重新运行。这里须有检测、切换和恢复过程,故称其为动态冗余。27、模块化:是指解决一个复杂问题是自顶向下逐层把软件系统划分成若干模块的过程,每个模块完成一个特定的子功能,所有的模块按某种方法组装起来,成为一个整体,完成整个系统所要求的功能。28、JSP方法:定义了一组以数据结构为指导的映射过程,它根据输入、输出的数据结构,按一定的规则映射成软件的过程描述,即程序结构,而不是软件的体系结

13、构,因此该方法适于详细设计阶段。29、模型:是为了理解事务而对事物做出一种抽象,它忽略不必要的细节,它也是事物的一种抽象形式,一个规划,一个程式。30、瀑布模型:是将软件生存各个活动规定为依线性顺序联接的若干阶段的模型。它包括可行性分析、项目开发计划、需求分析、概要设计、详细设计、编码、测试和维护。它规定了由前至后,相互衔接的固定次序,如同瀑布流水,逐级下落。31、增量模型:是在项目的开发工程中以一系列的增量方式开发系统。增量方式包括增量开发和增量提交。增量开发是指在项目开发过程中以一定的时间间隔开发部分工作软件;增量提交是指在开发周期内,以一定的时间间隔增量方式向用户提交工作软件及相应稳当。

14、增量开发和增量提交可以同时使用,也可单独使用。32、喷泉模型:是一种以用户需求为动力,以对对象作为驱动的模型,适合于面向对象的开发方法。他克服了瀑布模型不支持软件重用和多项开发活动集成的局限性。喷泉模型使开发过程具有迭代性和无间隙性。系统某些部分常常重复工作多次,相关功能在每次迭代中随之加入演化的系统。无间隙是指在分析、设计、实现等开发活动之间不存在明显的边界。33、功能模型:描述了系统的所有计算,它表明一个计算如何从输入值得到输出值,他不考虑所计算的次序。功能模型说明对象模型中操作的涵义、动态模型中动作的意义以及对象模型中约束的意义。34、动态模型:是与时间和变化有关的系统性质。该模型描述了

15、系统的控制结构,他表示了瞬时的、行为化的系统控制性质。它关心的是系统的控制,操作的执行顺序。它从对象的事件和状态的角度出发,表现了对象的相互行为。35、对象模型:表示了静态的、结构化的系统数据性质,描述了系统的静态结构,它是从客观世界实体的对象关系角度来描述,表现了对象的相互关系。36、货币的时间价值:通常利用银行的存款利息来表示货币的时间价值。设年利率为I,现存入p元,n年后得到本金和利息为F。若不计复利,则P元在n年后的价值为:F=P*(1+n*i)。反过来,若n年后能收入的本金和利息为F,则将来F元的现在价值(本金)P为:P=F/(1+n*i)。可用这个公式来计算将来收入的现在价值。这是

16、效益分析的最基本公式。37、类:具有相同或相似性质的对象的抽象就是类。38、对象:是人们要进行研究的任何事物,从最简单的整数到复杂的飞机等均可看作对象,它不仅能表示具体的事物,还能表示抽象的规则、计划或事件。类的具体化就是对象,也可以说类的实例是对象。39、多态性:指相同的操作或函数、过程可作用于多种类型的对象上并获得不同结果。不同的对象,收到同一消息可以产生不同的结果,这种现象称为多态性。40、风险分析:实际上就是贯穿在软件工程上的一系列风险管理步骤,其中包括风险识别、风险估计、风险管理策略、风险解决和风险监督,它能让人们主动“攻击”风险。41、模块:模块在程序重视数据说明、可执行语句等程序

17、对象的集合,或者是单独命名和编址的元素,如高级语言中的过程、函数、子程序等等。42、JSD方法:主要以活动事件为中心,通过有一串活动顺序组合构成的进程,建立系统模型,最后实现该模型。43、路径覆盖:指设计足够的测试用例,覆盖被测程序中所有可能的路径。44、判定/条件覆盖:指设计足够的测试用例,使得判定表达式中的每个条件的所有可能取值至少出现一次,并使每个判定表达式所有可能的结果也至少出现一次。45、条件组合覆盖:是指设计足够的测试用例,使的每个判定表达式中条件的各种可能的值的组合都至少出现一次,条件组合覆盖是比较强的覆盖标准。46、条件覆盖:是指设计足够的测试用例,使得判定表达式中每个条件的各

18、种可能的值至少出现一次。满足条件覆盖并不一定满足判定覆盖。47、原型模型:又称快速原型模型,它是在开发真实系统之前,构造一个原型,在该原型的基础上,逐渐完成整个系统的开发工作。48、软件工程环境:美国国防部在STARS计划中定义如下:“软件工程环境是一组方法、过程及计算机程序(计算机化的工具)的整体化构件,他支持从需求定义、程序生成知道维护的整个软件生存期”。49、程序图:是退化的程序流程图。也就是说,把程序流程图中每个处理符号都退化成一个结点,原来连接不同处理符号的流线变成连接不同结点的有向弧,这样得到的有向图就叫程序图。50.结构化分析方法:是采用自顶向下逐层分解的分析策略把一个复杂的系统

19、分解成若干小问题然后分别解决。51.数据流图:简称DFD,是SA(结构化分析)方法中用于表示系统逻辑模型的一种工具.是一种功能模型.作用:它以图形的方式描绘数据在系统中流动和处理的过程,反映系统必须完成的逻辑功能.52.字据字典:简称,就是用来定义数据流图中的各个成分具体含义的,它以一种准确的无二义性的说明方式为系统的分析设计及维护提供了有关元素的一致的定义和详细的描述.53.IDEF方法:是美国空军在1981年针对集成化计算机辅助制造(Integrated Computer Aided Manufacturing, 简称ICAM)工程项目中用于进行复杂系统分析和设计的方法,是在结构化分析与设

20、计技术的基础上提出来的。54.概要设计:是在需求分析的基础上通过抽象和分解将系统分解成模块,确定系统功能是实现。55.耦合性:也称块间联系。指软件系统结构中各模块间相互联系紧密程度的一种度量。模块之间联系越紧密,其耦合性就越强,模块的独立性则越差。56.内聚性:也称块内联系。指模块的功能强度的度量,即一个模块内部各个元素彼此结合的紧密程度的度量。模块内元素联系越紧密,内聚性越高。57.无直接耦合:两个模块之间没有直接的关系,它们分别从属于不同模块的控制与调用,它们之间不传递任何信息。58.数据耦合:指两个模块之间有调用关系,传递的是简单的数据值,相当于高级语言中的值传递。59.标记耦合:指两个

21、模块之间传递的是数据结构。60.控制耦合:指控制模块调用另一个模块时,传递的是控制变量,被调用块通过该控制变量的值有选择地执行块内某一功能(控制变量)61.公共耦合:通过一个公共数据环境相互作用的那些模块间的耦合。(一个公式数据环境)62.内容耦合:一个模块直接使用另一个模块的内部数据,或通过非正常入口而转入另一个模块内部63.偶然内聚:一个模块内的各处理元素之间没有任何联系。64.逻辑内聚:模块内执行几个逻辑上相似的功能,通过参数确定该模块完成哪一个功能。65.时间内聚:把需要同时执行的动作组合在一起。66.通信内聚:指模块内所有处理元素都在同一个数据结构上操作,或者指各处理使用相同的输入数

22、据或产生相同的输出数据。67.顺序内聚:一个模块中各处理元素都密切相关于同一功能且必须顺序执行,前一功能元素的输出是下一功能元素的输入。68.功能内聚:最强的内聚,指模块内所有元素共同完成一个功能,缺一不可。69.软件结构:软件系统的模块层次结构,反映了整个系统的功能实现,即将来程序的控制体系70.控制范围:是模块本身和它的下属模块的集合。71.作用范围:模块中的一个判定影响的所有模块的集合。作用范围应该在控制范围内。72.变换流由输入、变换(或处理)、输出三部分组成。73.事物流:某个加工将它的输入流分离成许多发散的数据流,形成许多加工路径,并根据输入选择其中一个路径来执行这种特征的DFD称

23、为事物流。74.程序设计风格:指一个人编制程序时所表现出来的特点、习惯、逻辑思路等。75.集成测试:将模块组合起来成为一个完整的系统对其进行测试。76.非渐增式:将模块先进行单元测试然后组装在一起进行测试。77.渐增式:逐个将未测试的模块组装到已经测试过的模块上去进行集成测试,每加入一个就测试一次。78.确认测试:按照需求规格说明书中的确定指标对系统进行功能与性能的测试。79.软件的可维护性:软件能够被理解、校正、适应及增强功能的容易程度。80.对象:是客观实体在问题域中的抽象。81.类:具有相似或相同性质的对象的抽象就是类。82.类结构:类的结构通常有一般-具体(分类结构)整体-抽象(组装结

24、构)83.消息:对象之间通信的构造。84.软件质量:与确定的功能和性能需求一致、与成文的开发标准相一致、与所有专业开发的软件所期望的隐含特性相一致。85.质量保证:向社会和用户提供满意高质量的产品确保软件从诞生到消亡为止的所有阶段的质量的活动。86.软件可靠性:在规定的环境下和时间里软件按要求的功能执行的概率。87.软件评审:是一个过滤器,它使用在软件开发的各个阶段,通过软件评审可以及时的发现软件中存在的问题然后加以改正。88.容错定义:规定功能的软件在出现错误是仍然可以在一定程度上完成要求的功能、规定功能的软件可以屏蔽错误、规定功能的软件可以在出错的时候自动恢复到正常的状态、规定功能的软件在

25、一定的程度上有容错的能力。89.软件配置管理:软件配置管理(SCM)用于整个软件工程过程,目标是表示变更,控制变更,确保变更的正确实施,报告变更。SCM是用在整个软件生存周期个阶段中的变更活动。90.基线:是软件生存周期中各开发阶段的一个特定点,它的作用是把开发各阶段的工作划分的更加明确化,使本来连续的工作在这些点上断开,便于检查于肯定阶段成果。91.数据字典:一个定义应用程序中使用的所有数据元素和结构的含义、类型、数据大小、格式、度量单位、精度以及允许取值范围的共享仓库。数据字典的维护独立于软件需求规格说明,并且在产品的开发和维护的任何阶段,各个风险承担者都可以访问数据字典。它定义了原数据元

26、素、组成结构体的复杂数据元素、重复的数据项、一个数据项的枚举值以及可选的数据项。92.数据流图:是结构化系统分析的基本工具。一个数据流图确定了系统的转化过程、系统所操纵的数据或物质的收集(存储),还有过程、存储、外部世界之间的数据流或物质流。数据流模型把层次分解方法运用到系统分析上,这种方法很适用于事务处理系统和其它功能密集型应用程序。93.数据流图:描绘了系统的数据关系。分析实体联系图有助于对业务或系统数据组成的理解和交互,并暗示产品将有必要包含一个数据库。相反,当你在系统设计阶段建立实体联系图时,通常要定义系统数据库的物理结构。94.状态转换图:实时系统和过程控制应用程序可以在任何给定的时

27、间内以有限的状态存在。当满足所定义的标准时,状态就会发生改变,例如在特定条件下,接收到一个特定的输入激励。这样的系统是有限状态机的例子。大多数软件系统需要一些状态建模或分析,就像大多数系统涉及到转换过程、数据实体和业务对象。95.对话图:在许多应用程序中,用户界面可以看作是一个有限状态机。在任何情况下仅有一个对话元素(例如一个菜单,工作区,行提示符或对话框)对用户输入是可用的。在激活的输入区中,用户根据他所采取的活动,可以导航到有限个其它对话元素。因此,许多用户界面可以用状态转换图中的一种称为对话图来建模。对话图描绘了系统中的对话元素和它们之间的导航连接,但它没有揭示具体的屏幕设计。96.类图

28、:面向对象的软件开发优于结构化分析和设计,并且它运用于许多项目的设计中,从而产生了面向对象分析、设计和编程的域。类图是用图形方式叙述面向对象分析所确定的类以及它们之间的关系。简答题总结:1、可行性研究的任务是什么?首先需要进行概要的分析研究,初步确定项目的规模和目标,确定项目的约束和限制,把他们清楚地列举出来。然后,分析员进行简要的需求分析,抽象出该项目的逻辑结构,建立逻辑模型。从逻辑模型出发,经过压缩的设计,探索出若干种可供选择的主要解决方法,对每种解决方法都要研究它的可行性,可从以下三个方面分析研究每种解决方法的可行性。技术可行性:对要开发项目的功能、性能、限制条件进行分析,确定在现有的资

29、源条件下,技术风险有多大,项目是否能实现。经济可行性:进行开发成本的估算以及了解取得效益的评估,确定要开发的项目是否值得投资开发。社会可行性:要开发的项目是否存在任何侵犯、妨碍等责任问题,要开发项目的运行方式在用户组织内是否行得通,现有管理制度、人员素质、操作方式是否可行。2、什么是模块的影响范围?什么是模块的控制范围?他们之间应该建立什么关系?一个模块的作用范围(或称影响范围)指受该模块内一个判定影响的所有模块的集合。一个模块的控制范围指模块本身以及其所有下属模块(直接或间接从属于它的模块)的集合。一个模块的作用范围应在其控制范围之内,且判定所在的模块应在其影响的模块在层次上尽量靠近。如果再

30、设计过程中,发现模块作用范围不在其控制范围之内,可以用“上移判点”或“下移受判断影响的模块,将它下移到判断所在模块的控制范围内”的方法加以改进。3、非渐增式测试与渐增式测试有什么区别?渐增式测试如何组装模块?非渐增式测试方法把单元测试和集成测试分成两个不同的阶段,前一阶段完成模块的单元测试,后一阶段完成集成测试。而渐增式测试往往把单元测试与集成测试和在一起,同时完成。非渐增式需要更多的工作量,因为每个模块都需要驱动模块和桩模块,而渐增式利用已测试过的模块作为驱动模块或桩模块,因此工作量较少。渐增式可以较早的发现接口之间的错误,非渐增式最后组装是才发现。渐增式有利于排错,发生错误往往和最近加进来

31、的模块有关,而非渐增式发现接口错误推迟到最后,很难判断是哪一部分接口出错。渐增式比较彻底,已测试的模块和新的模块再测试。渐增式占用的时间较多,但非渐增式须更多的驱动模块、桩模块也占用一些时间。非渐增式开始可并行测试所有模块,能充分利用人力,对测试大型软件很有意义。渐增式测试有以下两种不同的组装模块的方法:自顶向下组合。该方法只需编写桩模块,其步骤是从顶层模块开始,沿被测程序的软件结构图的控制路径逐步向下测试,从而把各个模块都结合起来,它又有两种组合策略:深度有先策略:先从软件结构中选择一条主控制路径,把该路径上的模块一个个结合进来进行测试,以便完成一个特定的子功能,接着再结合其它需要优先考虑的

32、路径。宽度有先策略:逐层结合直接下属的所有模块。自低向上结合。该方法仅需编写驱动模块。其步骤为:把底层模块组合成实现一个个特定子功能的族。为每一个族编写一个驱动模块,以协调测试用例的输入和测试结果的输出。对模块族进行测试。按软件结构图依次向上扩展,用实际模块替换驱动模块,形成一个个更大的族。重复至步,直至软件系统全部测试完毕。4、软件质量与软件质量保证的含义是什么?从实际应用来说,软件质量定义为:与所确定的功能和性能需求的一致性。与所成文的开发标准一致性。与所有专业开发的软件所期望的隐含特性的一致性。软件质量保证就是向用户及社会提供满意的高质量的产品,确保软件产品从诞生到消亡为止的所有阶段的质

33、量的活动,即确定、达到和维护需要的软件质量而进行的所有有计划、有系统的管理活动。5、软件工程标准化的意义是什么?都有哪些软件工程标准?积极推进软件工程标准化,其道理是显而易见的。仅就一个软件开发项目来说,有许多层次,不同分工的人员相互配合,在开发项目的各个部分以及各开发阶段之间也都存在许多联系和衔接问题。如何把这些错综复杂的关系协调好,需要有一系列统一的约束和规定。在软件开发项目取得阶段成果或最后完成是时,需要进行阶段评价和验收测试。投入运行的软件,其维护工作中遇到问题又与开发工作者有着密切的关系。软件的管理工作则渗透到软件生存期的每一个环节。所有这些都要要求提供统一的行动规范和衡量准则,使得

34、各种工作都有章可循。软件工程的标准主要有以下三个:FIPS135是美国国家标准局发布的软件文档管理指南NSAC 39是美国核子安全分析中心发布的安全参数显示系统的验证与确认。ISO5807是国际标准化组织公布(现已成为中国的国家标准)的信息处理数据流程图、程序流程图、程序网络图和系统资源图的文件编制符号及约定。1、需求分析阶段的基本任务是什么?需求分析阶段的基本任务是要准确的定义新系统的目标,为了满足用户需要,回答系统必须“做什么”的问题。本阶段要进行以下几方面的工作:问题识别。双方确定对问题的综合需求,这些需求包括:功能需求、性能需求、环境需求、用户界面需求,另外还有可靠性、安全性、保密性、

35、可移植性、可维护性等方面的需求。分析与综合,导出软件的逻辑模型。分析人员对获取的需求,进行一致性的分析检查,在分析、综合中逐步细化软件功能,划分成各个子功能。这里也包括对数据域进行分解,并分配到各个子功能上,以确定系统的构成及主要成份,并用图文结合的形式,建立起新系统的逻辑模型。编写文档。编写“需求规格说明书”、编写初步用户使用手册、编写确认测试计划、修改完善软件开发计划。2、采用黑盒技术设计测试用例有哪几种方法?这些方法各有什么特点?等价类划分。等价类划分是将输入数据域按有效的或无效的(也称合理的或不合理的)划分成若干个等价类,测试每个等价类的代表值就等于对该类其它值的测试。边界值分析。该方

36、法是将测试边界情况作为重点目标,选取正好等于,刚刚大于或刚刚小于边界值的情况,根据这些情况选择测试用例。错误推测。错误推测法没有确定的步骤,凭检验进行。它的基本思想是列出程序中可能发生错误的情况,根据这些情况选择测试用例。因果图。因果图能有效的检测输入条件的各种组合可能会引起的错误。因果图的基本原理是通过画因果图,把用自然语言描述的功能说明转换为判定表,最后为判定表的每一列设计一个测试用例。3、说明动态建模的过程。准备脚本。动态分析从寻找事件开始,然后确定各对象的可能事件的顺序。在分析阶段不考虑算法的执行,算法是实现模型的一部分。确定事件。确定所有外部事件。事件包括所有来自或发往用户的信息、外

37、部设备的信号、输入、转换和动作。准备事件跟踪表。把脚本表示成一个事件跟踪表,对象为表中的列,给每一个对象分配一个独立的列。构造状态图。对各对象类建立状态图,反映对象接收和发送的事件,每个事件跟踪都对应于状态图中一条路径。4、软件生产经历了几个阶段?各有何特征?软件生产至今已经历了三个阶段:程序设计时代(1946-1956):这个阶段的生产方式是个体手工劳动,使用的工具实际其语言、汇编语言。开发方法是追求编程技巧,追求程序运行效率。硬件特征是价格贵、存储容量小,运行可靠性差。软件特征是只有程序、程序设计概念,不重视程序设计方法。程序系统时代(1956-1968):这个阶段的生产方式是作坊式的小集

38、团合作生产,生产工具是高级语言,开发方法仍就靠个人技巧,但开始提出结构化方法。硬件特征是速度、容量、工作可靠性有明显提高。软件特征是程序员数量猛增,但开发技术没有新的突破,开发人员的素质和落后的开发技术不适应规模大、结构复杂的软件开发,导致软件危机的产生。软件工程时代(1968至今):这个阶段的生产方式是工程化的生产,使用数据库、开发工具、开发环境、网络、分布式、面向对象技术来开发软件。硬件特征是向超高速、大容量、微型化以及网络化方向发展。软件特征是开发技术有很大进步,但是未能获得突破性进展,软件价格不断上升,没有完全摆脱软件危机。5、简述Gantt图的功能及不足。Gantt图常用水平线段来描

39、述把任务分解成子任务,以及每个子任务的进度安排,动态反映软件开发进度情况,该图可以:表示任务分解成子任务情况;表示每个任务的开始时间和完成时间,线段的长度表示子任务完成所需要的时间;表示子任务之间的并行和串行关系。Gantt图只能表示任务之间的并行与串行的关系,难以反映多个任务之间存在的复杂关系,不能直观表示任务之间相互依赖制约关系,以及哪些任务是关键字任务等信息,因此仅仅用Gantt图作为进度的安排是不够的。6、什么是数据字典?其作用是什么?它有哪些条目?数据字典(简称DD)是用来定义数据流图中的各个成分的具体含义的,它以一种准确的、无二义性的说明方式为系统的分析、设计及维护提供了有关元素的

40、一致的定义和详细的描述。他和数据流图共同构成了系统的逻辑模型,是需求规格说明书的主要组成部分。数据字典是为分析人员查找数据流图中有关名字的详细定义而服务的,因此也像普通字典一样,要把所有条目按一定的次序排列起来,以便查阅。数据字典有以下四类条目:数据流、数据项、数据存储、基本加工。数据项是组成数据流和数据存储的最小元素。源点、终点不在系统之内,故一般不在字典中说明。7、调试的目的是什么?调试有哪些技术手段?调试的目的是确定错误的原因和位置,并改正错误,因此调试也成为纠错。调试技术主要有:简单的调试方法,主要有在程序中插入打印语句、运行部分程序等;归纳法调试,他从测试结果发现的线索(错误迹象、征

41、兆)入手、分析他们之间的联系,导处错误原因的假设,然后再证明或否定这个假设;演绎法调试,该方法列出所有可能的错误原因的假设,然后利用测试数据排除不适当的假设,最后再测试数据验证余下的假设确实是出错的原因;回溯法调试,该方法从程序产生错误的地方出发,人工沿程序的逻辑路径反向搜索,直到找到错误的原因为止。1、如何做好软件质量保证工作?软件质量保证工作是软件工程管理的重要内容,软件质量保证应做好以下几个方面的工作:采用技术手段和工具。质量保证活动要贯彻开发过程始终,必须从采用技术手段和工具,尤其是使用软件开发环境来进行软件开发。组织正式技术评审,在软件开发的第一个阶段结束时,都要组织正式的技术评审。

42、国家标准要求单位必须采用审查、文档评审、设计评审、审计和测试等具体手段来保证质量。加强软件测试。软件测试是质量保证的重要手段,因为测试可发现软件可发现软件中大多数潜在错误。推选软件工程规范(标准)。用户可以自己指定软件工程规范(标准),但标准一旦确认就应贯彻执行。对软件的变更进行控制。软件的修改和变更常常会引起潜伏的错误,因此必须严格控制软件的修改和变更。对软件质量进行度量。即对软件质量进行跟踪,及时记录和报告软件质量情况。2、什么是数据流图?其作用是什么?其中的基本符号各表示什么含义?数据流图简称DFD,是SA方法中用于表示系统逻辑模型的一种工具。它以图形的方式描述数据在系统中流动和处理的过

43、程,由于它只反映系统必须完成的逻辑功能,所以它是一种功能模型。数据流图有四种基本图形符号:“”箭头表示数据流;“”圆或椭圆表述加工;“=”双杠表示数据存储;“”方框表示数据的源点或终点。3、什么是确认测试?该阶段有哪些工作?确认测试又称有效性测试。它的任务是检查软件的功能与性能是否与需求规格说明书中确定的指标相符合。确认测试阶段有两项工作,进行确认测试与软件配置审查。确认测试一般是在模拟环境中运用黑盒测试方法,由专门测试人员和用户参加的测试。软件配置审查的任务是检查软件的所有文档资料的完整性、正确性。如果发现遗漏和错误,应补充和改正,同时要编排好目录,为以后的软件维护工作奠定基础。4、详细设计

44、的基本任务是什么?有哪几种描述方法?详细设计是软件设计的第二阶段,其基本任务有:为每个模块进行详细的算法设计;为模块内的数据结构进行设计;对数据库进行物理设计,即确定数据库的物理结构;其它设计,根据软件系统类型,还可能要进行代码设计、输入/输出格式设计、人机对话设计;编写详细设计说明书;评审。详细描述处理过程常用三种工具:图形、表格和语言。如结构化程序流程图、盒图和问题分析图。IPO图也是详细设计的主要工具之一。表格工具如判定表可作为详细设计中描述逻辑条件复杂的算法。过程设计语言(PDL)是一种用于描述模块算法设计和处理细节的语言工具。5、什么是软件危机?其产生的原因是什么?当软件开发技术的进

45、步不能跟上硬件技术的进步,未能满足发展的要求,致软件开发中遇到的问题找不到解决的办法,使问题积累起来,形成了尖锐的矛盾,因而导致了软件危机。主要表现为:经费预算经常突破,完成时间一再拖延;开发的软件不能满足用户要求;开发的软件可维护性差;开发的软件可靠性差。造成软件危机的原因是由于软件产品本身的特点以及开发软件的方式、方法、技术和人员引起的。共产生原因主要有以下几方面:软件的规模越来越大,结构越来越复杂;软件开发管理困难而复杂;软件开发费用不断增加;软件开发技术落后;生产方式落后;开发工具落后,生产率提高缓慢。6、CASE工作台有哪些分类?一个CASE工作台是一组工具集,支持像设计、实现或测试

46、等特定的软件开发阶段。工作台工具能通过共享文件、共享仓库或共享数据结构来集成。它能支持大多数的软件过程活动。工作台有:程序设计工作台;分析和设计工作台;测试工作台;交叉开发工作台;配置管理(CM)工作台;文档工作台项目管理工作台。7、IDEF0方法有什么特点?采用方框和箭头等简单的图形符号描述系统的活动和数据流,描述活动所受到的约束条件及实现机制。从侧面清楚的反映了系统的功能。故IDEF0图宜全为正式文档。采用严格的自顶向下、逐层分解的方式建立系统功能模型。顶层确定系统范围,采用抽象原则,然后有控制的逐步展开有关活动的细节,符合SA方法的分析策略。同时,IDEF0规定每张图至少有3个、最多有6

47、个方框,上界6保证采用层次性描述复杂问题的可理解性,下界3保证分解有意义。1、软件维护的特点是什么?主要体现在三个方面:非结构化维护和结构化维护。软件的开发过程对软件的维护有很大的影响。若不采用软件工程的方法开发软件,则软件只有程序而无文档,维护工作非常困难,这是一种非结构化的维护。若采用软件工程的方法开发软件,则各阶段都有相应的文档,容易进行维护工作,这是一种结构化的维护。维护的困难性。软件维护的困难性是由于软件需求分析和开发方法的缺陷。软件生存周期中的开发阶段没有严格而有科学的管理和规划,就会引起软件运行时的维护困难。软件维护的费用。软件维护的费用在总费用中的比重是在不断增加的,这是软件维

48、护有形的代价。另外还有无形的代价,即要占用更多的资源。软件维护费用增加的主要原因是软件维护的生产率非常低。2、什么是CASE?CASE工具有哪些分类?CASE是一组工具和方法的集合,可以辅助软件开发生命周期各阶段进行软件开发。从学术研究角度讲,CASE是多年来在软件开发管理、软件开发方法、软件开发环境和软件工具等方面研究和发展的产物。CASE把软件开发技术、软件工具和软件开发方法集成到一个统一而一致的框架中,并且吸引了CAD(计算机辅助设计)、软件工程、操作系统、数据库、网络和许多其它计算机领域的原理和技术。因而,CASE领域是一个应用集成和综合的领域。从产业角度讲,CASE是种类繁多的软件开发和系统集成的产品及软件工具的集合。CASE分类:CASE技术种类CASE系统所涉及到的技术有两类:一类是支持软件开发过程本身的技术;另一类是支持软件

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 教育教学 > 成人教育


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号