软件工程名词解释题简答题汇总

合集下载

软件工程―名词解释

软件工程―名词解释

全国 2010年 10月三、名词解释题 (本大题共 5小题,每小题 3分,共 15分1. 软件生存周期模型答案:软件生存周期模型是描述软件开发过程中各种活动如何执行的模型。

(1分软件生存周期模型确立了软件开发和演绎中各阶段的次序限制以及各阶段活动的准则, (1分确立开发过程所遵守的规定和限制, 便于各种活动的协调以及各种人员的有效通信, 有利于活动重用和活动管理。

(1分2. 模块答案:模块在程序中是数据说明、可执行语句等程序对象的集合, 或者是单独命名和编址的元素,如高级语言中的过程、函数和子程序等。

(2分在软件的体系结构中,模块是可组合、分解和更换的单元。

(1分3. 可维护性答案:软件可维护性是指软件能够被理解、校正、适应及增强功能的容易程度。

(2分可维护性可用 7个质量特性来衡量,即可理解性、可测试性、可修改性、可靠性、可移植性、可使用性和效率。

(1分4. 继承性答案:继承性是子类自动共享父类数据结构和方法的机制, 这是类之间的一种关系。

(2分在定义和实现一个类的时候,可以在一个已经存在的类的基础之上来进行,把这个已经存在的类所定义的内容作为自己的内容,并加入若干新的内容。

(1分5. 投资回收期答案:投资回收期是衡量一个开发工程价值的经济指标。

(1分投资回收期就是积累的经济效益等于最初的投资所需要的时间。

(2分全国 2010年 1月31.软件工程过程 :即软件生命周期的方法、工具和概念32.模块化 :模块化是指解决一个复杂问题时自顶向下逐层把系统划分成若干模块的过程, 有多种属性, 分别反映其内部特性 . 每个模块完成一个特定的子功能, 所有的模块按某种方法组装起来,成为一个整体,完成整个系统所要求的功能33.集成测试 :集成测试,也叫组装测试或联合测试。

在单元测试的基础上,将所有模块按照设计要求 (如根据结构图组装成为子系统或系统, 进行集成测试。

34.软件可靠性 :(1在规定的条件下,在规定的时间内,软件不引起系统失效的概率; (2在规定的时间周期内,在所述条件下程序执行所要求的功能的能力;35.模块的控制范围2008年 10月1. 过程设计语言 (PDL答案:也称程序描述语言, 又称为伪码, 是一种用于描述模块算法设计和处理细节的语言。

软件工程名词解释

软件工程名词解释

软件工程名词解释集团标准化工作小组 #Q8QGGQT-GX8G08Q8-GNQGJ8-MHHGN#软件工程试题整理_词语解释题1、需求分析:需求分析是指开发人员要准确理解用户的需求,进行细致的调查分析,将用户非形式的需求陈述转化成完整的需求定义,再由需求定义转换到相应的形式功能规约(需求规格说明)的过程。

2、白盒法:该方法把测试对象看作一个打开的盒子,测试人员须了解程序的内部结构和处理过程,以检查处理过程的细节为基础,对程序中尽可能多的逻辑路径进行测试,检查内部控制结构和数据结构是否有错,实际的运行状态与预期的状态是否一致。

白盒法也不可能进行穷举测试。

3、黑盒法:该方法把被测试对象看成一个黑盒子,测试人员完全不考虑程序的内部结构和处理过程,只在软件接口处进行测试,依照需求规格说明书,检查程序是否满足功能要求。

因此,黑盒测试又称为功能测试或数据驱动测试。

4、渐增式测试:逐个把未经过测试的模块组装到已经过测试的模块上去,进行集成测试。

每加入一个新模块进行一次集成测试,重复此过程直至程序组装完毕。

5、非渐增式测试:首先对每个模块分别进行单元测试,然后再把所有的模块按设计要求组装在一起进行测试。

6、可执行的规格说明:这是一种使要求说明过程自动化的技术,通过可执行的规格说明语言来描述预期的行为“做什么”,人们可以从直接观察中用规格说明语言来规定任何系统行为。

7、经济可行性:对组织的经济状况和投资能力进行分析,对系统建设,运行和维护费用进行估算,对系统建成后可能取得的社会及经济效益进行估计。

8、系统设计说明书:是从系统总体的角度出发对系统建设中各主要技术方面的设计进行说明,是系统设计阶段的产物,其着重点在于阐述系统设计的指导思想以及所采用的技术路线和方法,编写系统设计说明书将为后续的系统开发工作从技术和指导思想上提供必要的保证。

9、面向对象设计:是把分析阶段得到的需求转变成符合成本和质量要求的、抽象的系统实现方案的过程。

软件工程题库

软件工程题库

第一章一、名称解释1.软件工程是指导计算机软件开发和维护的工程科学。

采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,以经济地开发出高质量的软件并有效地维护它。

2.软件生命周期一个软件从定义、开发、使用和维护,直到最终被废弃,所经历的整个时期被称为是软件生命周期二、填空题1.构成一个完整计算机系统的两部分是硬件与(软件)。

2.程序设计时代的生产方式是(个体手工劳动)。

3.软件工程涉及到若干个学科,它是一门(综合性交叉)学科。

4.软件开发划分的各阶段任务尽可能独立,同一阶段任务性质尽可能(相同)。

5.将软件生存周期各个活动规定为依线性顺序联接的若干阶段的模型是(瀑布)模型。

6.喷泉模型是一种以用户需求为动力,以(对象)为驱动的模型。

7.结构化方法是一种面向数据流的开发方法。

由结构化分析、(结构化设计)、结构化程序设计构成。

8.软件工程研究的主要内容是软件开发管理和(软件开发技术)两个方面。

9.软件工具是支持软件开发人员的开发和维护活动而使用的(软件)。

10.一个软件项目的开发中,要采用一种生存周期模型,要按照某种(开发方法),使用相应的工具来进行。

11 .瀑布模型本质上是一种(线性顺序)模型。

12.瀑布模型不适应需求可变的软件开发,只有到开发结束时才能见到(整个软件系统)。

13.增量模型在开发过程中以一系列增量方式开发系统,忽略某阶段的细节,从而尽早产生(工作软件)。

14.增量构造模型在分析和设计阶段按整体方式开发,按增量方式开发的是(编码和测试)阶段。

15.演化提交模型中,项目开发各阶段都是按(增量方式)开发的。

16.软件原型是软件的早期可运行版本,反映最终系统的(重要特性)。

17.用原型过程来代替需求分析,使需求说明完整、一致、准确,该原型是(探索型)原型。

18.用原型过程来代替全部开发阶段,这种快速原型是(演化型)原型。

《软件工程》期末简答和名词解释

《软件工程》期末简答和名词解释

简答:(1)软件定义software 软件工程定义Software Engineering 软件危机software crisis 软件危机The software:计算机系统中的软硬件是相互依存的,它是程序、数据和相关文件的全部集合Software Engineering:软件工程是指研究软件生产的一门学科,也就是将完善的工程原理应用于经济地生产既可靠又能在实际机器上有效运行的软件。

software crisis:称软件开发和维护过程中所中遇到的这一系列严重问题为软件危机.导致软件危机的情况:1.对软件开发的成本和进度估计不准2.用户不满意3.程序质量差4.程序无法维护5.软件没有合适的文档6.开发软件的成本逐年上升7.软件开发的速度跟不上计算机更新的速度(2)软件生存期定义software survivalr software survival. 如同任何其他事物一样,软件也有一个孕育、诞生、成长、成熟、衰亡的生存过程,一般称之为计算机软件的生存期。

包含软件定义(software definition),软件开发(software development)和软件维护(software maintenance)3个时期。

(1)软件测试定义software testingSoftware testing is a procedure to find errors in program.为了发现程序中的错误而执行程序的过程。

软件测试是根据软件开发各阶段的规格说明和程序的内部结构而精心设计出一批测试用例,并利用测试用例来运行程序,以发现程序错误的过程。

(2)黑盒测试Black-box testing 白盒测试white-box黑: Program is tested according to the requirement specification without considering the internal structure of program. 黑盒测试时完全不考虑程序内部的结构和处理过程,只按照规格说明书的规定来检查程序是否符合它的功能要求。

软件工程简答题

软件工程简答题

软件⼯程简答题三.名词解释1.软件⼯程是将系统的、规范的、可度量的⽅法(1分)应⽤于软件的开发、运⾏和维护的全过程及上述⽅法的研究。

(3分)4.软件维护是软件⽣存周期的最后⼀个阶段,所有活动都发⽣在软件交付并投⼊运⾏之后。

分)1计算机软件是与计算机系统操作有关的程序(1分)、规程、规则(1分)及任何与之有关的⽂档(1分)和数据(1分)。

2数据流图是以图形的⽅式描述数据在系统中流动和处理的过程。

只反映系统必须完成的逻辑功能,是⼀种功能模型。

3软件可维护性是指软件被理解、改正、调整和改进的难易程度(3分),是指导软件⼯程各个阶段⼯作的⼀条基本原则,也是软件⼯程追求的⽬标之⼀。

(1分)4软件测试:是对软件规格说明、软件设计和编码的最后复审(1分),⽬的是在软件产品交付之前尽可能发现软件中潜伏的错误。

(3分)1软件⽣命周期:软件产品从形成概念开始,经过开发(1分)、运⾏(使⽤)(1分)和维护(1分)直到退役(1分)的全过程称为软件⽣存周期,包括软件定义、开发、使⽤和维护三部分。

3. 协作图⽤于描述相互合作的对象间的交互关系(2分)和链接关系(2分)。

4. 软件重⽤是指在两次或多次不同的软件开发过程中(2分)重复使⽤相同或相似软件元素的过程。

(2分)2. 变换流:由输⼊﹑输出﹑变换(或称处理)三部分组成,是⼀顺序结构。

3.模块的耦合和内聚内聚:⼜称为块内联系,指模块内部各成分之间相互关联的程度,以⾼内聚为设计⽬标。

耦合:也称块间联系,模块之间相互联系程度的度量,联系越紧密,耦合性越强,独⽴性越差,以低耦合为设计⽬标。

4.等价类划分:等价类的划分,是将输⼊数据按有效的或⽆效的划分成若⼲个等价类,测试每个等价类的代表值。

⽤少量有代表性的例⼦代替⼤量测试⽬的相同的例⼦,能有效地提⾼测试效率。

5. 预防性维护:为了提⾼软件的可维护性和可靠性⽽对软件进⾏的修改称为预防性维护。

2.事务流:它的某个加⼯,分离成许多发散的数据流,形成许多加⼯路径,并且根据输⼊值选择其中⼀个路径来执⾏。

软件工程名词解释和简答题总结

软件工程名词解释和简答题总结

软件工程名词解释和简答题总结软件工程是现代技术领域中的一个重要分支,它涉及软件开发的各个方面。

在软件工程的学习和实践过程中,我们会遇到大量的专业名词和简答题。

本文将对一些常见的软件工程名词进行解释,并对一些常见的简答题进行总结。

一、软件工程名词解释1. 软件开发生命周期(Software Development Life Cycle,SDLC):指软件产品从定义需求到交付使用的全过程,包括需求分析、软件设计、编码测试、部署和维护等阶段。

2. 需求工程(Requirement Engineering):指在软件开发的早期阶段通过系统分析和用户需求收集,明确用户需求、软件功能和性能等要求的过程。

3. 原型化开发(Prototyping):指在软件开发的早期阶段建立可操作的原型,以便用户和开发者共同验证需求、功能和界面设计。

4. 面向对象(Object-Oriented):是一种软件开发方法,将程序设计看作是对象之间的消息传递,以对象为中心进行分析和设计。

5. UML(Unified Modeling Language):是一种用于软件工程的标准建模语言,用于描述软件系统的结构和行为,包括类图、时序图、活动图等。

二、简答题总结1. 简述软件工程的目标和原则。

软件工程的目标是通过科学化、系统化和规范化的方法,提高软件开发过程的质量和效率,满足用户需求。

其原则包括可行性、适应性、可理解性、可移植性、可维护性等。

2. 解释并比较瀑布模型和敏捷开发模型。

瀑布模型是软件开发中的经典模型,将软件开发过程划分为需求分析、设计、编码、测试和维护等阶段,各阶段按顺序进行,流程线性。

而敏捷开发模型强调快速迭代和用户反馈,将开发过程划分为多个迭代周期,每个周期完整包含需求分析、设计、编码、测试和交付等阶段。

3. 什么是软件需求规格说明书?软件需求规格说明书是在需求工程阶段编写的文档,用于明确软件系统的需求、功能和性能等要求。

软件工程简答题名词解释

软件工程简答题名词解释

一、名词解释题软件生命周期:软件生命周期是软件的产生直到报废的生命周期,周期内有问题定义、可行性分析、总体描述、系统设计、编码、调试和测试、验收与运行、维护升级到废弃等阶段灰盒测试:可以理解为静态的白盒测试或动态的黑盒测试,灰盒就是界于黑白之间, 对软件内部有所了解, 但不见得到了如指掌的程度, 却可以结合这些了解做些比黑盒多点的测试驱动模块(Drive):驱动模块是用来模拟被测试模块的上一级模块,相当于被测模块的主程序。

它接收数据,将相关数据传送给被测模块,启用被测模块,并打印出相应的结果QA:中文意思是品质保证软件测试:在规定的条件下对程序进行操作,以发现程序错误,衡量软件质量,并对其是否能满足设计要求进行评估的过程CMM:能力成熟度模型,是对于软件组织在定义、实施、度量、控制和改善其软件过程的实践中各个发展阶段的描述软件质量:反映软件系统或软件产品满足明确或隐含需求的能力有关的特性总和等价类划分:等价类划分是一种典型的黑盒测试方法。

使用这一方法时,完全不考虑程序的内部结构,只依据程序的规格说明来设计测试用例集成测试:将一些“构件”集成一起时,测试它们能否正常运行。

这里“构件”可以是程序模块、客户机-服务器程序等等黑盒测试:指测试人员通过各种输入和观察软件的各种输出结果来发现软件的缺陷,而不关心程序具体如何实现的一种测试方法回归测试:指错误被修正后或软件功能、环境发生变化后进行的重新测试。

回归测试的困难在于不好确定哪些内容应当被重新测试四、简答题1、软件测试员的目标是什么?软件测试员的目标是找出软件缺陷,尽可能早一些,并确保得以修复。

2、软件测试的目的是什么?软件测试的目的,第一是确认软件的质量,其一方面是确认软件做了你所期望做的事情,另一方面是确认软件以正确的方式来做了这个事情。

第二是提供信息,比如提供给开发人员或程序经理的回馈信息,为风险评估所准备的信息。

第三软件测试的目的是保证整个软件开发过程是高质量的。

软件工程-名词解释应用题汇总带答案

软件工程-名词解释应用题汇总带答案

三、简答题(每题5分,共25分)1.分析软件危机产生的主要原因有哪些?答:导致软件危机的主要原因有:(1)软件日益复杂和庞大(2)软件开发管理困难和复杂(3)软件开发技术落后(4)生产方式落后(5)开发工具落后(6)软件开发费用不断增加1 个要点1分,只要答上5个要点得5分!2.说明结构化程序设计的主要思想是什么?答:(1)自顶向下、逐步求精的程序设计方法(2分)(2)使用3种基本控制结构、单入口、单出口来构造程序。

(3分)3.软件测试包括哪些步骤?说明这些步骤的测试对象是什么?答:(1)单元测试,测试对象对单元模块(2分)(2)集成测试,测试对象为组装后的程序模块(2分)(3)确认测试,测试对象为可运行的目标软件系统(1分)4.需求分析与软件设计二个阶段任务的主要区别是什么?答:需求分析定义软件的用户需求,即定义待开发软件能做什么(2.5分)软件设计定义软件的实现细节以满足用户需求,即研究如何实现软件。

(2.5分)5、简述文档在软件工程中的作用。

(5分)(1)提高软件开发过程的能见度(1分)(2)提高开发效率、便于用户了解软件功能、性能(1分)(3)作为开发人员阶段工作成果和结束标志(1分)(4)记录开发过程的有关信息便于使用与维护(1分);(5)提供软件运行、维护和培训有关资料;(1分)四、某培训中心要研制一个计算机管理系统。

它的业务是:将学员发来的信件收集分类后,按几种不同的情况处理。

1)如果是报名的,则将报名数据送给负责报名事务的职员,他们将查阅课程文件,检查该课程是否额满,然后在学生文件、课程文件上登记,并开出报告单交财务部门,财务人员开出发票给学生。

2)如果是想注销原来已选修的课程,则由注销人员在课程文件、学生文件和帐目文件上做相应的修改,并给学生注销单。

3)如果是付款的,则由财务人员在帐目文件上登记,也给学生一张收费收据。

1.对以上问题画出数据流程图。

2.画出该培训管理的软件结构图的主图。

软件工程名词解释和简答题

软件工程名词解释和简答题

1.软件工程。

是指导计算机软件开发和维护的工程学科。

采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,这就是软件工程。

…2.数据流图:数据流图是一种图形化技术,它描绘信息流和数据从输入移动到输出的过程中所经受的变换。

在数据流图中没有任何具体的物理部件,它只是描绘数据在软件中流动和被处理的逻辑过程。

3.模块:是数据说明、可执行语句等程序对象的集合,模块可以单独被命名、而且可通过名字来访间。

4.白盒测试法:白盒测试是把测试对象看作一个打开的盒子,测试人员须了解程序的内部结构和处理过程,以检查过程的细节为基础,对程序中尽可能多的逻辑路径进行测试,检验内部控制结构和数据结构是否有错,实际的运行状态与预期的状态是否一致。

5.耦合性:也称为模块间联系。

指软件系统结构中各模块间相互联系紧密程度的一种度量。

模块之间联系越紧密,其耦合性就越强,模块的独立性则越差。

模块间耦合高低取决于模块间接口的复杂性]调用的方法及传递的信息。

软件危机:是指在计算机软件开发、使用与维护过程中遇到的一系列严重问题和难题。

计算机软件:与计算机系统操作有关的程序、规程、规则及任何与之有关的文档和数据。

或软件=程序+数据+文档。

UML:统一建模语言,是面向对象软件的标准化建模语言。

1、什么是软件危机?为什么会产生软件危机答:(1)软件危机是指软件在开发和维护过程中遇见的一系列严重问题,主要包含二方面的问题,一是如何开发利用软件,二是如何维护数量不断膨胀的已有软件。

(2)产生软件危机的原因:一方面与软件本身的特点有关,另一方面和软件开发与维护的方法不正确有关。

2、简述结构化程序设计方法的基本要点。

答:(1)采用自顶向下,逐步求精的程序设计方法。

(2)使用三种基本控制结构构造程序,分别是顺序,选择和循环(2分)()采用主程序员的组织形式。

1分)3.简述软件工程的目标和面临的主要问题答:软件工程是一门工程性的学科,其目标主要是成功地建造一个大型软件系统。

软件工程各章作业习题的名词解释和问答题参考答案

软件工程各章作业习题的名词解释和问答题参考答案

软件工程各章作业习题的名词解释和问答题参考答案第一章:1:什么是软件危机开发软件由于管理混乱,加入软件规模越来越大,越来越复杂,造成软件开发失败。

2:软件工程过程指获取、供应、开发、操作和维护软件时要实施的过程、活动和任务。

3:软件生成周期可行性研究与计划、需求分析、总体设计、详细设计、实现、测试、使用与维护4:有哪些软件周期模型瀑布模型、原型模型、增量模型、螺旋模型。

5:软件计算机程序及说明程序的各种文档6:个体手工劳动个人编写程序7:小生产合作方式多人编写程序8:软件的特点是一种逻辑产品,软件的生产主要是研制,软件产品不会用坏,软件生产主要是脑力劳动,软件的成本高。

9:软件文档有关程序的功能、设计、图形资料等等。

第二章:三. 名词解释1.可行性研究以最小代价, 在尽可能短的时间内, 确定该软件项目是否能够开发, 是否值得开发.2.技术可行性主要研究开发的软件技术风险有多大3.经济可行性主要研究开发成功后能否得到应有的效益4.社会可行性主要研究开发的软件是否存在责任和侵权, 以及与当前管理制度, 人员素质, 操作方式的矛盾能否解决.四.问答题1. 可行性研究的任务是什么?首先初步确定项目的规模, 目标, 约束和限制条件, 决定系统的主要功能, 进行简要压缩, 提出几种解决方案.对每种方案提出意见.2.可行性研究有那些步骤?确定任务;分析技术可行性;分析经济可行性;分析社会可行性;作出系统流程图;作出开发计划。

3.可行性研究的目的.减少开发大型软件的风险,缩短开发周期, 减小投资, 减少使用资源, 在尽可能短的时间内, 确定该软件项目是否能够开发, 是否值得开发.第三章三. 名词解释1. 需求分析指开发人员为了准确地理解, 表达用户的要求, 通过调查, 分析, 把系统的功能, 性能等方面准确地表达出来2. DFD数据流图四.简答题1.什么是需求分析? 该阶段的基本任务是什么?指开发人员为了准确地理解, 表达用户的要求, 通过调查, 分析, 把系统的功能, 性能等方面准确地表达出来基本任务:(1) 能够表达和理解问题的功能和性能;(2) 可以把一个复杂问题按某种方式进行划分, 并能逐步细化, 从而使复杂问题简化,软件的功能域,数据域都可以划分;(3) 建立模型.2. 简述结构化分析的步骤这一方法的基本思想是采用自顶向下,逐层分解的方法分析整个系统,有效的控制系统的复杂性.对于复杂, 规模大的应用系统,采用先抽象后具体, 先全局后局部的思想,有利于把握系统的总体目标, 结构和功能.第四章:三. 名词解释1. 软件设计确定软件结构,选择好的数据库,进行数据结构设计2.模块化把复杂问题划分为模块的过程3.信息隐蔽指模块内部处理细节和内部数据用某种手段隐蔽起来,外部模块不能随便访问4.模块独立性希望一个模块越独立越好,每个模块完成独立的功能,与其他模块联系越少越好5.耦合性指软件结构中模块之间相互依赖的程度6.内聚性模块内部各部分执行功能组合在一起的相关程度7.模块的控制范围一个模块对下属模块的控制8.模块的作用范围指模块之间的作用,但两个模块间是平级的9. 软件结构以需求分析文档为依据,解决实现软件体系结构四.简答题1.什么是软件概要设计, 该阶段的基本任务是什么?以需求分析文档为依据,解决实现软件体系结构。

《软件工程》关于简答题和名词解释部分

《软件工程》关于简答题和名词解释部分

《软件工程》关于简答题和名词解释部分第一章
1(软件工程的目标 2(软件工程面临的问题 3(软件工程原则是什么,每个原则的含义是什么, 第二章
1(软件工程过程有哪些, 2(软件生命周期的概念是什么,
3(软件开发的各个模型的特点是什么, 第三章
1(可行性分析的任务和步骤是什么, 第四章
1(软件需求分析的任务、特点、原则是什么, 2(结构化程序设计方法的基本要点是什么, 3(数据流图的画法, 4(数据字典的定义, 第五章
1(总体设计的任务是什么,总体设计的基本原理是什么,
2(抽象 3(细化
4(模块化,划分模块的原则,内聚,耦合, 5(软件的结构图的特点及画法,
6(变换分析设计 7(事务分析设计 8(软件结构设计优化准则
9(HIPO图 10(SA,SD,
第六章
1(软件详细设计的任务是什么,
2(程序流程图的画法,三种基本控制结构, 3(Jackson图
第七------十五章
1(简述三种面向对象模型的主要功能, 2(描述面向对象设计的原则,
3(人机界面设计的准则是什么,
4(良好编程风格带来的好处是什么, 第十六章
1( 软件质量的定义, 2.软件质量保证的定义, 第十八章
1( 软件可维护性的定义,提高软件可维护性的方法是什么,
2( 维护的困难有哪些,
第十九章
1( 叙述文档在软件工程中的作用, 2( 项目管理过程有哪些,
3( 软件项目管理的特点是什么,。

软件工程的简答和名词解释

软件工程的简答和名词解释

简答和名词解释:1、可行性研究的内容(四个方面):1. 技术可行性使用现有的技术能实现这个系统吗?分析技术冒险的各种因素,例如有关的技术是否已进步到足以支持该系统?能否有胜任开发该系统的熟练技术人员?为开发项目的所有硬、软件资源是否能按期得到?2.经济可行性这个系统的经济效益能超过它的开发成本吗?主要进行成本/效益分析.估算项目的开发成本会否高于预期的利润,以确定是否值得投资开发,同时还要分析对其他产品所带来的经济影响。

3.操作可行性系统的操作方式在这个用户组织内行得通吗?4.法律可行性确定由于开发软件项目是否会侵犯他人、集体或国家的利益,是否会违反国家的法律,并由此承担法律责任。

2、模块化和信息隐藏模块化“模块”,又称“构件”,一般指用一个名字可调用的一段程序。

类似于高级语言中的procedure(过程)、function(函数)、subroutine(子程序)、section(节)、block(块)等。

设计中可以选择其它程序已编写好的模块,其本身也可供其它程序使用。

它一般具有如下四个基本属性:①接口:指模块的输入与输出。

②功能:指模块实现的功能。

注意这里所说的模块功能,应该是模块本身的功能加上它所调用的所有子模块的功能。

③逻辑:描述内部如何实现要求的功能及所需的数据。

④状态:该模块的运行环境,即模块的调用与被调用关系。

模块化:就是对一个复杂的问题,自顶向下、逐层把软件系统划分成若干模块的过程。

每个模块完成一个子功能,再按某种方法把这些模块组装起来,成为一个整体,即可完成指定的系统功能,满足问题要求的过程。

3、扇入扇出扇出是对由某一模块直接控制的模块数目的度量。

扇入指出有多少个模块直接控制一个给定的模块。

♠扇出 = 一个模块直接调用、控制的模块数。

3 ≤ fan-out ≤ 9♠扇入 = 直接调用该模块的模块数在不破坏独立性的前提下,fan-in 大的比较好。

♠深度 = 分层的层数。

过大表示分工过细。

软件工程 名词解释

软件工程 名词解释

三、名词解释题每小题3分,共15分。

1.软件生存周期模型——描述软件开发过程中各种活动如何执行的模型
2.数据字典(DD)
数据字典是用来定义数据流图中的各个成分的具体含义的。

它以一种准确的、无二义性的说明方式为系统的分析、设计及维护提供了有关元素的一致的定义和详细的描述。

3.内聚性
内聚性是模块独立性的衡量标准之一,它是指模块的功能强度的度量,即一个模块内部各个元素彼此结合的紧密程度的度量
4.JSP方法
JSP方法是面向数据结构的设计方法,其定义了一组以数据结构为指导的映射过程,它根据输入,输出的数据结构,按一定的规则映射成软件的过程描述,即程序结构。

5.多态性——指相同的操作或函数、过程可作用于多种类型的对象上并获得不同结果。

或(不同的对象,收到同一消息可以产生不同的结果。


6.经济可行性——进行开发成本的估算以及了解取得效益的评估,确定要开发的项目是否值得投资开发。

7.社会可行性
要开发的项目是否存在任何侵犯、妨碍等责任问题,要开发项目目的运行方式在用户组织内是否行得通,现有管理制度、人员素质、操作方式是否可行。

8.投资回收期解:投资回收期就是使累计的经济效益等于最初的投资费用所需的时间。

9.对应关系解:即有直接因果关系在程序中可以同时处理。

10.结构冲突解:输入数据与输出数据结构找不到对应关系的情况,称为结构冲突。

软件工程名词解释和简答题总结

软件工程名词解释和简答题总结

软件工程名词解释和简答题总结名词解释总结:-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、瀑布模型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.变换流73.事物流74.程序设计风格75.集成测试76.非渐增式77.渐增式78.确认测试79.软件的可维护性80.对象81.类82.类结构83.消息84.软件质量85.质量保证86.软件可靠性87.软件评审88.容错定义89.软件配置管理90.基线-9.指在计算机的基本软件的基础上,为了支持软件的开发而提供的一组工具软件系统-8.在测试程序时,人们可能根据经验或直觉推荐程序中可能存在的各种错误,从而有针对性地编写检查这些错误的测试用例的方法。

软件工程的简答和名词解释

软件工程的简答和名词解释

简答和名词解释:1、可行性研究的内容(四个方面):1. 技术可行性使用现有的技术能实现这个系统吗?分析技术冒险的各种因素,例如有关的技术是否已进步到足以支持该系统?能否有胜任开发该系统的熟练技术人员?为开发项目的所有硬、软件资源是否能按期得到?2.经济可行性这个系统的经济效益能超过它的开发成本吗?主要进行成本/效益分析.估算项目的开发成本会否高于预期的利润,以确定是否值得投资开发,同时还要分析对其他产品所带来的经济影响。

3.操作可行性系统的操作方式在这个用户组织内行得通吗?4.法律可行性确定由于开发软件项目是否会侵犯他人、集体或国家的利益,是否会违反国家的法律,并由此承担法律责任。

2、模块化和信息隐藏模块化“模块”,又称“构件”,一般指用一个名字可调用的一段程序。

类似于高级语言中的procedure(过程)、function(函数)、subroutine(子程序)、section(节)、block(块)等。

设计中可以选择其它程序已编写好的模块,其本身也可供其它程序使用。

它一般具有如下四个基本属性:①接口:指模块的输入与输出。

②功能:指模块实现的功能。

注意这里所说的模块功能,应该是模块本身的功能加上它所调用的所有子模块的功能。

③逻辑:描述内部如何实现要求的功能及所需的数据。

④状态:该模块的运行环境,即模块的调用与被调用关系。

模块化:就是对一个复杂的问题,自顶向下、逐层把软件系统划分成若干模块的过程。

每个模块完成一个子功能,再按某种方法把这些模块组装起来,成为一个整体,即可完成指定的系统功能,满足问题要求的过程。

3、扇入扇出扇出是对由某一模块直接控制的模块数目的度量。

扇入指出有多少个模块直接控制一个给定的模块。

♠扇出 = 一个模块直接调用、控制的模块数。

3 ≤ fan-out ≤ 9♠扇入 = 直接调用该模块的模块数在不破坏独立性的前提下,fan-in 大的比较好。

♠深度 = 分层的层数。

过大表示分工过细。

软件工程题库

软件工程题库

第一章一、名称解释1.软件工程是指导计算机软件开发和维护的工程科学。

采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,以经济地开发出高质量的软件并有效地维护它。

一个软件从定义、开发、使用和维护,直到最终被废弃,所经历的整个时期被称为是软件生命周期二、填空题1.构成一个完整计算机系统的两部分是硬件与(软件)。

2.程序设计时代的生产方式是(个体手工劳动)。

3.软件工程涉及到若干个学科,它是一门(综合性交叉)学科。

4.软件开发划分的各阶段任务尽可能独立,同一阶段任务性质尽可能(相同)。

5.将软件生存周期各个活动规定为依线性顺序联接的若干阶段的模型是(瀑布)模型。

6.喷泉模型是一种以用户需求为动力,以(对象)为驱动的模型。

7.结构化方法是一种面向数据流的开发方法。

由结构化分析、(结构化设计)、结构化程序设计构成。

8.软件工程研究的主要内容是软件开发管理和(软件开发技术)两个方面。

9.软件工具是支持软件开发人员的开发和维护活动而使用的(软件)。

10.一个软件项目的开发中,要采用一种生存周期模型,要按照某种(开发方法),使用相应的工具来进行。

11 .瀑布模型本质上是一种(线性顺序)模型。

12.瀑布模型不适应需求可变的软件开发,只有到开发结束时才能见到(整个软件系统)。

13.增量模型在开发过程中以一系列增量方式开发系统,忽略某阶段的细节,从而尽早产生(工作软件)。

14.增量构造模型在分析和设计阶段按整体方式开发,按增量方式开发的是(编码和测试)阶段。

15.演化提交模型中,项目开发各阶段都是按(增量方式)开发的。

16.软件原型是软件的早期可运行版本,反映最终系统的(重要特性)。

17.用原型过程来代替需求分析,使需求说明完整、一致、准确,该原型是(探索型)原型。

18.用原型过程来代替全部开发阶段,这种快速原型是(演化型)原型。

19.若原型不满足需求说明,则根据明确的要求修改(原型)三、选择题1.软件是一种( )产品。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

名词解释题汇总:1.软件是能够完成预定功能和性能,并对相应数据进行加工的程序和描述程序及其操作的文档。

2.信息隐藏模块中的软件设计决策信息封装起来的技术,只知道它的功能以及对外的接口,而不知它的内部细节3.对象对象是现实世界中个体或事物的抽象表示,是其属性和相关操作的封4.软件可维护性指软件被理解、改正、调整和改进的难易程度。

5.原型是目标软件系统的一个可操作模型,它实现了目标软件系统的某些重6.软件生存周期软件产品从形成概念开始,经过开发、运行(使用)和维护直到退役的全过程称为软件生存周期,包括软件定义、开发、使用和维护三部分。

7.白盒测试是已知产品内部工作过程,通过测试检验产品内部动作是否按照产品规格说明的规定正常进行8.预防性维护是为了进一步改善软件系统的可维护性和可靠性,并为以后的改进奠定基础。

9.构件图描述软件实现系统中各组成部件以及它们之间的依赖关系。

10.场景从单个执行者的角度观察目标软件系统的功能和外部行为。

11.计算机辅助软件工程(CASE) 将若干工具集成起来,与软件工程数据库和计算机系统构成一个支持软件开发的系统12.编程风格是在不影响性能的前提下,有效地编排和组织程序以提高可读性和可维性。

13.黑盒测试方法是已知产品应该具有的功能,通过测试检验每个功能是否都能正常使用;14.实体—关系图描述系统所有数据对象的组成和属性,描述数据对象之间关系的图形语言。

15.软件维护的副作用指由于维护或在维护过程中其他一些不期望的行为引入的错误,16.软件生存周期软件产品从形成概念开始,经过开发、运行(使用)和维护直到退役的全过程称为软件生存周期,包括软件定义、开发、使用和维护三部分。

17.结构化程序设计是一种程序设计技术,采用自顶向下逐步求精的设计方法和单入口单出口的控制构件。

18.软件过程(software process) 软件开发人员为开发和维护软件及相关产品所实施的一系列步骤,这些步骤涉及方法、工具及人的组织和行为。

19.综合测试是组装软件的系统测试技术,按设计要求把通过单元测试的各个模块组装在一起之后,进行综合测试以便发现与接口有关的各种错误。

20.过程抽象把完成一个特定功能的动作序列抽象为一个过程名和参数表,通过指定过程名和实际参数调用此过程;21.水平原型是指仅仅模拟目标软件系统某一层面(通常是用户界面层)的原型。

22.CASE工具是一些软件系统,支持软件过程的常规活动,如编辑设计图表、检查图表的连贯性、跟踪已经运行的程序测试等。

23.部署图(deployment diagram) 描述软件系统运行环境的硬件及网络的物理体系结构。

24.垂直原型是指模拟目标软件系统某一部分的多个层面的原型。

当目标系统的内部功能和用户界面都需要借助原型来确定时,这类原型特别有用。

一般的进化性原型都属于垂直原型。

25.数据抽象把一个数据对象的定义(或描述)抽象为一个数据类型名,用此类型名可定义多个具有相同性质的数据对象。

26.项目风险指项目在预算、进度、人力、资源、顾客和需求等方面的原因对软件项目产生的不良影响。

27.α测试是指软件开发公司组织内部人员模拟各类用户行为对即将面市的软件产品(称为α版本)进行测试,试图发现错误并修正。

28.完善性维护成任务是根据用户在使用过程中提出的一些建设性意见而进行的维护活动。

29.技术风险指软件在设计、实现、接口、验证和维护过程中可能发生的潜在问题,对软件项目带来的危害。

30.活动图描述系统为完成某项功能而执行的操作序列,这些操作序列可以并发和同步。

31.内聚性内聚性是模块独立性的衡量标准之一,它是指模块的功能强度的度量,即一个模块内部各个元素彼此结合的紧密程度的度量。

32.软件工程方法是软件生产的组织方式,包括对软件过程的建议、使用的标记法、进行系统描述的规律和设计指南。

33.适应性维护是为适应环境的变化而修改软件的活动。

34.数据设计是为在需求规格说明中定义的那些数据对象选择合适的逻辑表示,并确定可能作用在这些逻辑结构上的所有操作(包括选用已存在的程序包)。

35.异步消息(Asynchronous Message) 表示消息源发出消息后不必等待消息处理过程的返回,即可继续执行自己的后续操作。

36.软部件合成是指将库中的软部件(经适当修改后)相互连接,或者将它们与当前开发项目中的软件元素相连接,最终构成新的目标软件37..进化性原型如果原型不仅用来理解问题、试验求解方案,而且用作目标软件系统的基础,在后续开发过程中逐步进化为最终的软件产品.38..软件质量软件产品满足规定的和隐含的与需求能力有关的全部特征和特性,39.恢复测试主要检查系统的容错能力。

当系统出错时,能否在指定的时间间隔内修正错误并重新启动系统。

40.状态图描述类的对象的动态行为。

它包含对象所有可能的状态、在每个状态下能够响应的事件以及事件发生时的状态迁移与响应动作。

简答题汇总:●一●问●:1.简述设计模型精化时需要考虑的任务● 2.简述人机界面的风格大致经历了那四代的演变。

3.简述螺旋模型的基本开发过程。

● 4.简述启发式设计策略最常用的几条。

● 5.简述采用信息隐藏原理指导模块设计优点。

●答:● 1.设计模型精化时需要考虑的任务:●以顶层架构图为基础,精化目标软件系统的体系结构;精化类之间的关系;●精化类的属性和操作;针对具有明显状态转换特征的类,设计状态图;●针对比较复杂的类方法,设计活动图。

●2、人机界面的风格大致经历了那四代的演变:●最早,即在图形显示、鼠标、高速工作站等技术出现之前,现实可行的界面方式只能是命令和询问方式,通信完全以正文形式并通过用户命令和用户对系统询问的响应来完成。

●第二代界面是简单的菜单式。

●第三代界面是面向窗口的点选界面,亦称为WIMP界面。

●最新一代HCI把第三代HCI技术与超文本、多任务概念结合起来,使用户可同时执行多个任务(以用户的观点)。

● 3.螺旋模型的基本开发过程可描述如下:●需求定义2)风险分析3)工程实现4)评审。

●上述过程将不断迭代,直至给出用户满意的目标软件产品。

● 4.启发式设计策略最常用的几条有:●改造程序结构,减小耦合度,提高内聚度。

●改造程序结构,减少高扇出,在增加程序深度的前提下追求高扇入。

●改造程序结构,使任一模块的作用域在其控制域之内。

●改造程序结构,减少界面的复杂性和冗余程度,提高协调性。

●模块功能应该可预言,避免对模块施加过多限制。

●改造程序结构,追求单入口单出口的模块。

●为满足设计或可移植性的要求,把某些软件用包(Package)封装起来。

● 5. 采用信息隐藏原理指导模块设计优点:●支持模块的并行开发;减少软件测试和软件维护的工作量。

●二●问●1.在软件开发过程中,为了达到软件开发目标,必须遵循哪些原则?● 2. CMM的能力成熟度共分哪五级?●3.用例实现方案的设计方法分为哪三个步骤?●4.单元测试任务主要有哪些?●5.面向功能的度量有哪些优点和缺点●答:●1.在软件开发过程中,为了达到软件开发目标,必须遵循的原则:●抽象模块化信息隐藏局部化●一致性完全性可验证性●2. CMM的能力成熟度共分为五级为:●L1初始级、L2可重复级、L3己定义级、L4己管理级、L5优化级●3.用例实现方案的设计方法分为三个步骤:●提取边界类、实体类和控制类;●构造交互图;●根据交互图精化类图。

●4.单元测试任务主要有:●模块接口测试;●模块局部数据结构测试;●模块边界条件测试;●模块中所有独立执行通路测试;●模块的各条错误处理通路测试。

●5.面向功能的度量的优点和缺点●答:优点●①与程序设计语言无关,它不仅适用于过程式语言,也适用于非过程式的语言;●②软件项目开发初期就能基本上确定系统的输入、输出等参数,功能点度量能用于软件项目的开发初期。

●缺点●①它涉及到的主观因素比较多,如各种权函数的取值;●②信息领域中的某些数据有时不容易采集;●③FP的值没有直观的物理意义。

●三●问:●1. 简述概要设计,详细设计,实现任务,组装测试,确认测试它们的任务?● 2.制定软件项目进度表有哪两种途径?● 3.简述软件需求分析阶段的主要内容, 技术和方法?● 4.简述过程设计语言(PDL)的特点。

● 5.简述过程式程序设计语言的基本机制所包括哪些内容。

●答:● 1.概要设计任务:●根据SRS建立目标软件系统的总体结构和模块间的关系、定义各功能模块的接口,设计全局数据库和数据结构,规定设计约束,制定组装测试计划等等。

●详细设计任务:●细化概要设计所生成的各个模块, 并详细描述程序模块的内部细节(算法,数据结构等),形成可编程的程序模块,制订单元测试计划●实现任务:●根据详细设计规格说明书编写源程序,并对程序进行调试、单元测试、系统集成,验证程序与详细设计文档的一致性●组装测试任务:●组装测试应满足概要设计的要求。

●确认测试任务:●根据软件需求规格说明书,测试软件系统是否满足用户的需求● 2.制定软件项目进度表的两种途径:●软件开发小组根据提供软件产品的最后期限从后往前安排时间。

●软件项目开发组织根据项目和资源情况制定软件项目开发的初步计划和交付软件产品的日期。

● 3.软件需求分析阶段的主要内容, 技术和方法分别为:●需求分析主要内容:问题分析、需求描述、需求评审●技术和方法:初步需求获取技术需求建模技术快速原型技术●问题抽象、问题分解与多视点分析● 4.过程设计语言(PDL)的特点:●①关键字采用固定语法并支持结构化构件、数据说明机制和模块化;●②处理部分采用自然语言描述;●③允许说明简单(标量、数组等)和复杂(链表、树等)的数据结构;●④子程序的定义与调用规则不受具体接口方式的影响。

● 5.过程式程序设计语言的基本机制所包括内容:●对象说明数据类型的定义和检查子程序控制结构●四●问:●1、简述软件工程目标。

●2、简述CMM优点和缺点。

●3、用SD方法将数据流图转换为软件结构,简述其过程。

●4、试述软件测试过程。

●5、面向对象程序设计语言最基本的机制包括哪些?●答:●1、软件工程目标:在给定成本、进度的前提下,开发出具有可修改性、有效性、可靠性、可适应性、可追踪性、可移植性、可互操作性并满足用户需求的软件产品。

●2、 CMM优点和缺点:●优点●CMM模型概念清晰、层次分明、易于操作。

●为组织负责人和管理者提供指导组织逐步成熟的、明确的、有效的、单一路途。

●缺点●在阶段式模型中,属于较高级别成熟度的过程域不支持较低级别的过程域,如在L2级就无法安排属于L3级的“同行评审”过程域的实践活动。

●CMM过程域的度量只有通过或不通过,度量比较粗糙没有反映优势和一般。

●3 用SD方法将数据流图转换为软件结构,其过程分为:●确定信息流的类型;划定流界;●将数据流图映射为程序结构;提取层次控制结构;●通过设计复审和启发式策略精化结构。

相关文档
最新文档