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

合集下载

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

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

软件工程名词解释和简答题总结名词解释总结:-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.软件工程是指导计算机软件开发和维护的工程科学.采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,以经济地开发出高质量的软件并有效地维护它.2.软件生命周期一个软件从定义、开发、使用和维护,直到最终被废弃,所经历的整个时期被称为是软件生命周期二、填空题1。

构成一个完整计算机系统的两部分是硬件与(软件)。

2。

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

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

4.软件开发划分的各阶段任务尽可能独立,同一阶段任务性质尽可能(相同).5.将软件生存周期各个活动规定为依线性顺序联接的若干阶段的模型是(瀑布)模型。

6。

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

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

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

8。

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

9.软件工具是支持软件开发人员的开发和维护活动而使用的(软件).10.一个软件项目的开发中,要采用一种生存周期模型,要按照某种(开发方法),使用相应的工具来进行.11 .瀑布模型本质上是一种(线性顺序)模型。

12。

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

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

14。

增量构造模型在分析和设计阶段按整体方式开发,按增量方式开发的是(编码和测试)阶段.15.演化提交模型中,项目开发各阶段都是按(增量方式)开发的。

16。

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

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

18.用原型过程来代替全部开发阶段,这种快速原型是(演化型)原型.19.若原型不满足需求说明,则根据明确的要求修改(原型)三、选择题1。

软件工程题库

软件工程题库

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

软件工程名词解释汇总

软件工程名词解释汇总

软件工程名词解释汇总软件工程名词解释汇总1·软件工程(Software Engineering):软件工程是一门应用计算机科学和数学原理以及工程方法论来开发、维护和管理软件项目的学科。

2·软件生命周期(Software Development Life Cycle, SDLC):软件生命周期是指软件开发过程的不同阶段,包括需求分析、设计、编码、测试和部署等。

3·需求工程(Requirements Engineering):需求工程是软件工程中的一个重要阶段,旨在理解和定义用户需求,并将其转化为可执行的软件规格说明。

4·设计模式(Design Pattern):设计模式是在软件设计中反复出现的问题的解决方案,它是一种被广泛接受和验证的经验总结。

5·可行性研究(Feasibility Study):可行性研究是对软件项目进行评估,以确定项目的可行性和可行性报告。

6·原型开发(Prototyping):原型开发是一种快速开发技术,通过创建软件的原型来验证系统需求,以便更好地满足用户的期望。

7·面向对象(Object-Oriented):面向对象是一种软件开发方法,其基本思想是以对象为中心,将问题划分为一组相互作用的对象。

8·可移植性(Portability):可移植性是指软件在不同平台上的可运行性,包括硬件和操作系统。

9·故障排除(Troubleshooting):故障排除是一种通过逐步分析和排除故障来修复软件或硬件故障的方法。

10·用户界面(User Interface, UI):用户界面是用户与软件交互的界面,包括图形界面、命令行界面等。

11·数据库管理系统(Database Management System, DBMS):数据库管理系统是一种用于管理和组织数据的软件系统,它提供了对数据的存储、检索和操作等功能。

软件工程 简答题复习题(带答案)

软件工程 简答题复习题(带答案)

软件工程简答题复习题(带答案)软件工程简答题复习题(带答案)1. 什么是软件工程?软件工程是一种系统化、规范化、可量化的方法,用于开发、维护和测试软件系统的过程。

它涵盖了软件开发的各个方面,包括需求分析、设计、编码、测试和维护等。

2. 软件开发生命周期有哪些阶段?常见的软件开发生命周期包括需求分析、系统设计、详细设计、编码、测试、部署和维护等阶段。

3. 什么是需求分析?需求分析是软件开发过程中的第一步,它涉及与客户进行沟通和理解客户需求的过程。

通过需求分析,开发团队可以明确软件系统的功能和性能要求,并将这些要求转化为详细的规格说明。

4. 需求分析的主要目标是什么?需求分析的主要目标是确保开发团队和客户对软件系统的需求达成共识。

它需要明确软件系统的功能需求、性能需求和约束条件,以便后续的设计和开发工作能够按照这些需求进行。

5. 什么是软件设计?软件设计是在需求分析的基础上,根据系统需求和约束条件,将系统划分为模块,确定模块之间的接口和关系,设计出满足系统需求的软件结构和算法的过程。

6. 软件设计的原则有哪些?常见的软件设计原则包括单一职责原则(SRP)、开闭原则(OCP)、里氏替换原则(LSP)、依赖倒置原则(DIP)、接口隔离原则(ISP)和迪米特法则(LoD)等。

7. 什么是软件测试?软件测试是为了评估系统的质量和功能是否满足需求的过程。

它通过设计和执行测试用例,检查系统的输出是否符合预期,并发现潜在的错误和缺陷。

8. 软件测试的分类有哪些?软件测试可以分为单元测试、集成测试、系统测试和验收测试等不同的层次。

单元测试用于测试软件的最小功能单元,集成测试用于测试不同模块之间的交互,系统测试则测试整个系统的功能和性能,验收测试是由客户进行的测试,以确认系统是否达到了合同中规定的要求。

9. 什么是软件维护?软件维护是在软件交付给客户后,为了保证其正常运行和适应环境变化而进行的一系列活动。

维护包括错误修复、性能优化、功能扩展等。

软件工程复习重点

软件工程复习重点

软件工程复习重点温馨提示:紫魏嫒你的个人盘点,有任何遗漏记得通知一下哦,亲~题型:一、名词解释5个15分二、简答题6个50分三、综合设计与计算21分四、软件架构14分第一章1、软件危机定义:软件危机(Software Crisis)是指软件在开发和维护过程中所遇到的一系列严重问题。

2、产生软件危机的原因:既与软件本身的特点有关,也和软件开发和维护的方法不正确有关。

●软件是逻辑产品而不是物理产品,进度和质量难于评价,开发过程难于管理和控制;●软件规模庞大,程序的复杂性随程序规模的增长而呈指数增长;●开发过程中或多或少地采用了错误的技术和方法(如忽视需求分析、认为开发软件就是写程序、轻视软件维护等)。

3、软件的生命周期:软件从定义、开发、使用和维护,直到最终被废弃这个漫长的时期称为软件的生命周期。

4、消除软件危机的途径:●对软件的定义有一个正确的认识。

●必须认识到软件开发不是某种个体劳动的神秘技巧,而应该是一种组织良好、管理严密、协同配合、共同完成的工程项目。

必须吸收和借鉴人类长期从事工程项目所积累起来的原理、概念、技术和方法以及计算机硬件研究和开发的经验和教训;●推广使用在实践中总结出来的成功的技术和方法,消除错误的概念和做法,使用和开发更好的软件工具,形成更好的软件工程支撑环境.总之,需要通过一定的技术措施(技术和方法)和管理措施来消除软件危机。

5、软件工程:软件工程是:①把系统化的、规范的、可度量的途径应用于软件开发、运行和维护的过程,即把工程化应用于软件中;②研究①中提到的途径。

6、软件工程的本质特性:●软件工程关注于大型程序的构造;●软件工程的中心课题是控制复杂性;●软件经常变化;●开发软件的效率非常重要;●和谐地合作是开发软件的关键;●软件必须有效地支持它的用户;●软件工程领域是由具有一种文化背景的人替具有另一种文化背景的人创造产品(跨文化)。

7、软件工程的基本原理:●用分阶段的生命周期计划严格管理●坚持进行阶段评审●实行严格的产品控制●采用现代程序设计技术●结果应能清楚地审查●开发小组人员应该少而精●承认不断改进软件工程实践的必要性8、软件工程方法学:通常把软件生命周期过程中使用的一整套技术的集合称为软件工程方法学(Methodology),也称为范型(Paradigm),它包括方法(如何做)、工具(支撑平台)和过程(工作步骤)。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

软件工程名词解释汇总

软件工程名词解释汇总

软件工程名词解释汇总软件工程名词解释汇总软件工程是一门研究使用系统性和科学性的方法开发、维护和管理软件的学科。

在软件工程领域,有许多重要的名词需要我们了解和掌握。

本文档将详细解释这些名词的含义和作用。

1.软件需求软件需求是指在软件开发过程中对系统的功能、性能、接口等方面的描述和规定。

它是软件工程的基础,包括用户需求、系统需求和软件需求规格。

2.软件设计软件设计是指根据软件需求,将系统分解为更小的模块,并确定模块之间的关系和功能。

它包括结构设计、数据设计和接口设计等方面。

3.软件开发软件开发是指根据软件设计,使用编程语言和开发工具进行编码和测试,以实现软件系统的功能。

它包括需求分析、设计、编码、集成和测试等阶段。

4.软件测试软件测试是指通过一系列测试方法和技术,验证软件系统的正确性、完整性和稳定性。

它包括单元测试、集成测试、系统测试和验收测试等阶段。

5.软件维护软件维护是指对已经交付使用的软件进行修改、优化和修复缺陷,以满足用户的需求和改进软件的质量。

它包括纠错性维护、适应性维护和完善性维护等方面。

6.软件过程模型软件过程模型是指将软件开发过程划分为不同的阶段,并确定每个阶段的任务和产出物。

常见的软件过程模型有瀑布模型、迭代模型和敏捷开发模型等。

7.软件配置管理软件配置管理是指对软件和其相关文档进行版本控制、变更管理和发布管理的过程。

它包括配置项识别、变更控制和配置审计等方面。

8.软件工程质量软件工程质量是指软件系统满足用户需求、具备良好性能和稳定性的程度。

它包括功能性质量、性能质量和可维护性质量等方面。

9.Lean软件开发Lean软件开发是一种以减少浪费和提高价值创造为核心的敏捷软件开发方法。

它强调团队协作、持续改进和快速交付。

10.DevOpsDevOps是一种将软件开发和运维进行整合的方法。

它通过自动化工具和流程,实现软件系统的快速交付和稳定运行。

11.持续集成持续集成是一种通过频繁地将开发人员的代码合并到主干分支,并经过自动化测试和构建,保证软件系统的稳定性和可靠性。

软件工程(简答)

软件工程(简答)

需求获取层及相关概念 需求获取层目标:使用 UML 中 的用况、参与者以及依赖等 术语来抽象客观实际问题, 形成系统的需求获取模型;基本术语:用况、参与者、用于表达用况参与者之间关系的关 联、用于表达况之间的包含和扩展、用于表达参与者之间关系泛化。术语确定了系统用 况模型的各种形态
需求获取模型的基本组成 使用 UML 中 的用况、参与者以及依赖等 术语来抽象客观实际问题,形成系统的需求获 取模型
three 结构化方法
2.何谓模块耦合?简述模块耦合的类型。 答:耦合是不同模块之间相互依赖程序的度量 内容耦合:当一个模块直接修改或操作另一个模块的数据,或一个模块不通过正常入口 而转入到另一个模块时, 公共耦合:两个或两个以上的模块共同引用一个全局数据项 控制耦合一个模块通过气喘吁吁向另一个模块传递一个控制信息,接收信号的模块根据 信号值进行适当的动作 标记耦合:若一个模块 A 通过接口向两个模块 B 和 C 传递一个公共参数 数据耦合:模块之间通过参数来传递数据
4) .简述软件开发所涉及的两大类技术。 答:软件开发所涉及的两大类技术为:一是求解软件的件需求规约
1.简述需求与需求规约的基本性质。 答:需求的基本性质: 1) 必要的,该需求是用户所要求的。 2)无歧义的,该需求只能用一种方式解释。 3)可测的,该需求是可进行测试的。 4)可跟踪的,该需求可从一个开发阶段跟踪到另一个阶段。 5)可测量的,该需求是可测量的。
同时引入“操作”和“方法”的目的是什么? 答:表达模型化包之间的关系
为什么使用包?如何划分包?
使用 UML 可以从那些角度来刻画一个系统的行为,为什么?
何谓顺序图中的控制操作子?试举例说明。 为了控制交互行为描述的复杂性,以便更清晰地表达顺序图中的复杂控制,给出了个个 控制操作子,选择、条件、并发、迭代操作控制子

软件工程名词解释汇总

软件工程名词解释汇总

软件工程名词解释汇总软件工程名词解释汇总1. 软件工程(Software Engineering)软件工程是一门研究和应用如何以系统化的、可靠的、可重复的方法开发和维护软件的学科。

它涉及软件生命周期的各个阶段,包括需求分析、设计、编码、测试、部署和维护等。

2. 软件生命周期(Software Lifecycle)软件生命周期指的是软件从概念、需求定义到退役或废弃的全过程。

它包括需求分析、系统设计、编码、测试、部署和维护等阶段。

软件生命周期管理是软件工程的核心概念之一。

3. 需求工程(Requirements Engineering)需求工程是指在软件开发过程中,对用户需求进行系统和详细的分析、定义和管理的过程。

它包括需求获取、需求分析、需求规格和验证等活动,旨在确保软件开发满足用户的实际需求。

4. 设计模式(Design Pattern)设计模式是指在软件开发中经常遇到的一些设计问题的解决方案。

它描述了一种在特定环境下重复出现的问题和解决该问题的方法。

设计模式有助于提高软件的可维护性、可扩展性和重用性。

5. UML(Unified Modeling Language)UML是一种用于软件系统建模的标准化图形化语言。

它提供了一组符号和符号规则,用于描述系统的结构、行为和交互。

UML可以帮助软件工程师更好地理解和沟通软件设计和开发过程中的各个方面。

6. 敏捷开发(Agile Development)敏捷开发是一种迭代、增量和协作的软件开发方法。

它强调团队成员之间的密切合作和快速响应变化,以满足客户需求。

敏捷开发通过迭代开发、持续集成和快速反馈等方式,提高软件开发的灵活性和适应性。

7. 软件测试(Software Testing)软件测试是指通过运行系统或组件,以评估其是否满足特定需求、以检测其缺陷或以衡量其质量的过程。

软件测试可以分为功能测试、性能测试、安全测试等不同的类型。

8. 软件质量保证(Software Quality Assurance)软件质量保证是一种通过制定和实施相关的标准和流程,以确保软件开发过程和软件产品符合预期质量要求的活动。

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

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

三、简答题(每题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、投资回收期: 就是使累计的经济效果等于最初投资的需要的时间。

10、结构化分析方法:就是面向数据流自顶向下逐步求精进行需求分析的方法。

11、软件的生命周期:一个软件从定义、开发、使用和维护,直到最终被废弃所经历的一系列时期。

12、投资回收期:就是使累计的经济效果等于最初投资的需要的时间。

13、结构化分析方法:就是面向数据流自顶向下逐步求精进行需求分析的方法。

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

15、宽度:是软件结构内同一个层次上的模块总数的最大值。

16、事务流:数据沿输入通路到达一个处理,这个处理根据输入数据的类型在若干个动作序列中选出一个来执行。

这类数据流应该划分为一类特殊的数据流,称为事务流。

17、耦合:衡量不同模块彼此间互相依赖的紧密程度。

18、事件:是某个特定时刻所发生的事情,它是对引起对象从一种状态转换到另一种状态的现实世界中的事件的抽象。

19、函数重载:指在同一作用域内的若干个参数特征不同的函数可以使用相同的函数名字。

软件工程名词解释[整理]

软件工程名词解释[整理]

1、软件:是计算机程序及其说明程序的各种文档。

4、软件危机:是计算机软件的开发和维护过程所遇到的一系列严重的问题。

5、软件工程:用科学知识和技术原理来定义、开发、维护软件的一门学科。

(它是一门综合性的交叉学科,它涉及计算机科学、工程科学、管理科学、数学等。

)6、软件工程过程:规定了获取、供应、开发、操作和维护软件时,要实施的过程、活动和任务。

其目的:是为各种人员提供一个公共的框架,以便用相同的语言进行交流。

包括七个过程:获取过程、供应过程、开发过程、操作过程、维护过程、管理过程、支持过程。

7、软件生存周期:一个软件从提出开发要求开始直到该软件报废为止的整个时期。

包括:可行性分析和项目开发计划、需求分析、概要设计、详细设计、编码、测试、维护(是软件生存周期中最长的阶段)等。

8、软件生存周期模型:是描述软件开发过程中各种活动如何执行的模型。

(模型:是为了理解事物而对事物做出一种抽象,它忽略不必要的细节,它也是事物的一种抽象形式、一个规划、一个程式。

)主要有:瀑布模型(整体开发模型)、增量模型(非整体开发模型)、螺旋模型(是瀑布和增量相结合的模型;一种风险驱动的模型)、喷泉模型(是以用户需求为动力,以对象作为驱动的模型)、基于知识的模型(又称智能模型,是把瀑布模型和专家系统结合在一起的模型)和变换模型(合适于形式化开发的模型)等。

9、软件开发方法:用早就定义好的技术集合及符号表示习惯来组织软件生产的过程。

主要:结构化方法(面向数据流的开发方法,指导思想:自顶向下、逐步求精。

基本原则:功能的分解与抽象)、Jackson方法(面向数据结构的开发方法)、维也纳开发方法(VDM)(是一种形式化的开发方法)、面向对象的开发方法(它有:Booh 方法、Coad方法、和OMT等UML语言是面向对象的标准建模语言)。

10、软件开发的目标:是在规定的投资和时间内,开发出符合用户需求的高质量的软件。

11、软件工具:一般是指为了支持软件人员开发和维护活动而使用的软件。

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

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

软件工程各章作业习题的名词解释和问答题参考答案第一章: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.什么是软件概要设计, 该阶段的基本任务是什么?以需求分析文档为依据,解决实现软件体系结构。

软件工程名词解释汇总

软件工程名词解释汇总

软件工程名词解释汇总软件工程名词解释汇总软件工程(Software Engineering)软件工程是一种应用工程的学科,它涉及软件开发和维护的各个方面。

软件工程的目标是通过系统性的、可预测的方法来开发高质量的软件。

需求分析(Requirements Analysis)需求分析是软件工程的第一个阶段,它的目标是明确软件系统需要满足的功能和性能需求。

通过需求分析,软件工程师可以准确地了解用户要求,并进一步制定开发计划。

设计模式(Design Pattern)设计模式是一套被广泛应用于软件开发中的经验。

它提供了一种解决常见问题的方法,可以提高软件的可复用性、可维护性和可扩展性。

UML(Unified Modeling Language)UML是一种用于描述、构建和分析软件系统的标准建模语言。

它提供了一系列图形符号和规则,可以有效地传达软件系统的结构、行为和交互。

原型(Prototype)原型是软件开发过程中的一个阶段,它的目标是根据用户的需求和反馈,快速构建一个初步的可用模型。

原型可以帮助软件工程师更好地理解用户的需求,并及时进行调整和改进。

敏捷开发(Agile Development)敏捷开发是一种以迭代和循环为基础的软件开发方法。

它强调通过频繁交付可用的软件来提高用户满意度,注重团队协作、自组织和持续改进。

自动化测试(Automated Testing)自动化测试是一种通过编写和执行测试脚本来自动执行软件测试的方法。

它可以提高软件测试的效率和准确性,减少人工测试的工作量。

配置管理(Configuration Management)配置管理是一种管理软件系统配置和变化的过程。

它包括版本控制、问题跟踪、需求管理等功能,可以确保软件开发过程的可控性和可追溯性。

质量保证(Quality Assurance)质量保证是一套用于确保软件质量的活动和方法。

它包括制定质量标准、执行测试、评估和改进等过程,以确保软件满足用户需求和预期。

软件工程名词解释汇总

软件工程名词解释汇总

软件工程名词解释汇总软件工程名词解释汇总1.软件工程:软件工程是一门研究如何规范化、管理和衡量软件开发过程的学科。

它涉及从需求分析、设计、编码、测试到维护等软件生命周期的各个阶段。

1.1.需求分析:需求分析是软件工程中确定用户需求和系统功能的过程。

它包括需求获取、需求建模、需求验证和需求管理等步骤。

1.2.设计:软件设计是指将需求分析得到的用户需求转化为具体的软件系统结构和模块的过程。

它包括概要设计和详细设计两个阶段。

1.3.编码:编码是将软件设计的结果转化为可执行代码的过程。

程序员根据设计文档编写程序代码,并进行调试和优化。

1.4.测试:测试是为了验证软件功能是否满足需求而进行的活动。

它包括单元测试、集成测试、系统测试和验收测试等多个层次。

1.5.维护:维护是在软件交付使用后对其进行修改和改进的活动。

维护包括一系列的任务,如缺陷修复、性能优化、功能扩展等。

2.软件过程模型:软件过程模型是软件开发过程的一种抽象描述。

常见的软件过程模型包括瀑布模型、迭代模型、敏捷模型等。

2.1.瀑布模型:瀑布模型是软件开发过程中最早被提出的一种线性顺序模型。

它将软件开发过程划分为需求分析、设计、编码、测试和维护等连续的阶段。

2.2.迭代模型:迭代模型将软件开发过程分为多个迭代周期,每个周期包含需求分析、设计、编码、测试等阶段。

每个迭代都会经历完整的开发过程。

2.3.敏捷模型:敏捷模型强调迭代、快速响应变化和团队合作的软件开发方法。

常见的敏捷方法包括极限编程(XP)、Scrum等。

3.需求工程:需求工程是一门研究如何有效获取、分析和管理用户需求的学科。

它包括需求获取技术、需求建模方法和需求管理工具等方面。

3.1.需求获取:需求获取是指通过与用户交流、观察系统操作和分析相关文档等方式来获取用户需求的过程。

3.2.需求建模:需求建模是将获取到的用户需求进行抽象和形式化描述的过程。

常见的需求建模方法包括用例图、活动图、时序图等。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

♠深度 = 分层的层数。

过大表示分工过细。

软件工程名词解释汇总

软件工程名词解释汇总

软件工程名词解释汇总软件工程名词解释汇总1:软件工程(Software Engineering):软件工程是指应用科学和数学原理、经验法则和艺术方法,以系统化生产、运行和维护高质量软件的工程化过程。

2:软件工程师(Software Engineer):软件工程师是指具备软件开发和维护技能的专业人员,负责软件生命周期中的不同阶段。

2.1 软件开发人员(Software Developer):负责开发和编码软件系统的专业人员。

2.2 软件测试工程师(Software Test Engineer):负责进行软件测试和质量保证的专业人员。

2.3 软件项目经理(Software Project Manager):负责规划、组织和管理软件项目的专业人员。

3:软件生命周期(Software Life Cycle):软件生命周期指软件从定义需求到和维护的整个过程。

3.1 需求分析(Requirements Analysis):在软件开发过程中,通过研究用户的需求并将其转化为明确的规格说明。

3.2 设计(Design):根据需求分析的结果,制定软件系统的整体结构和模块划分,并确定软件的详细设计方案。

3.3 编码(Coding):根据设计方案,将软件系统的功能代码实现出来。

3.4 测试(Testing):对编码完成的软件进行测试,以验证软件的正确性和可靠性。

3.5 验收(Acceptance):经过测试合格后,由用户进行验收,确认软件符合需求并满足用户的期望。

3.6 维护(Mntenance):在软件生命周期的后期,对软件进行修复、改进和升级,以保持其持续可用和稳定。

4:面向对象(Object-Oriented):面向对象是一种软件设计方法,强调将问题分解为多个相互关联的对象,并通过对象之间的通信和相互协作来解决问题。

4.1 类(Class):面向对象中的基本概念,用于描述具有相同属性和行为的对象的集合。

4.2 对象(Object):类的一个实例,具有独立的状态和行为。

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

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

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

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

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

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

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

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

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

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

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

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

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

  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.部署图(deployme nt diagram描述软件系统运行环境的硬件及网络的物理体系结构。

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

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

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

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

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

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

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

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

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

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

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

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

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

35.异步消息(Asy nchro nous 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过程式程序设计语言的基本机制所包括内容:•对象说明数据类型的定义和检查子程序控制结构•四•可:•、简述软件工程目标。

•2简述CMM优点和缺点。

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

•4试述软件测试过程。

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

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

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

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

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

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

•4试述软件测试过程:■可概括为用单元测试保证模块正确工作,用综合测试保证模块集成到一起后正常工作,用确认测试保证软件需求的满足,用系统测试保证软件与其他系统元素合成后达到系统各项性能要求。

相关文档
最新文档