01软件工程名词解释题简答题汇总
- 格式:pdf
- 大小:22.59 KB
- 文档页数:9
三、名词解释题每小题3分,共15分。
1.软件生存周期模型——描述软件开发过程中各种活动如何执行的模型
2.数据字典(DD)
数据字典是用来定义数据流图中的各个成分的具体含义的。
它以一种准确的、无二义性的说明方式为系统的分析、设计及维护提供了有关元素的一致的定义和详细的描述。
3.内聚性
内聚性是模块独立性的衡量标准之一,它是指模块的功能强度的度量,即一个模块内部各个元素彼此结合的紧密程度的度量
4.JSP方法
JSP方法是面向数据结构的设计方法,其定义了一组以数据结构为指导的映射过程,它根据输入,输出的数据结构,按一定的规则映射成软件的过程描述,即程序结构。
5.多态性——指相同的操作或函数、过程可作用于多种类型的对象上并获得不同结果。
或(不同的对象,收到同一消息可以产生不同的结果。
)
6.经济可行性——进行开发成本的估算以及了解取得效益的评估,确定要开发的项目是否值得投资开发。
7.社会可行性
要开发的项目是否存在任何侵犯、妨碍等责任问题,要开发项目目的运行方式在用户组织内是否行得通,现有管理制度、人员素质、操作方式是否可行。
8.投资回收期解:投资回收期就是使累计的经济效益等于最初的投资费用所需的时间。
9.对应关系解:即有直接因果关系在程序中可以同时处理。
10.结构冲突解:输入数据与输出数据结构找不到对应关系的情况,称为结构冲突。
第一章一、名称解释1.软件工程是指导计算机软件开发和维护的工程科学.采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,以经济地开发出高质量的软件并有效地维护它.2.软件生命周期一个软件从定义、开发、使用和维护,直到最终被废弃,所经历的整个时期被称为是软件生命周期二、填空题1。
构成一个完整计算机系统的两部分是硬件与(软件)。
2。
程序设计时代的生产方式是(个体手工劳动).3。
软件工程涉及到若干个学科,它是一门(综合性交叉)学科。
4.软件开发划分的各阶段任务尽可能独立,同一阶段任务性质尽可能(相同).5.将软件生存周期各个活动规定为依线性顺序联接的若干阶段的模型是(瀑布)模型。
6。
喷泉模型是一种以用户需求为动力,以(对象)为驱动的模型.7。
结构化方法是一种面向数据流的开发方法。
由结构化分析、(结构化设计)、结构化程序设计构成。
8。
软件工程研究的主要内容是软件开发管理和(软件开发技术)两个方面。
9.软件工具是支持软件开发人员的开发和维护活动而使用的(软件).10.一个软件项目的开发中,要采用一种生存周期模型,要按照某种(开发方法),使用相应的工具来进行.11 .瀑布模型本质上是一种(线性顺序)模型。
12。
瀑布模型不适应需求可变的软件开发,只有到开发结束时才能见到(整个软件系统). 13。
增量模型在开发过程中以一系列增量方式开发系统,忽略某阶段的细节,从而尽早产生(工作软件)。
14。
增量构造模型在分析和设计阶段按整体方式开发,按增量方式开发的是(编码和测试)阶段.15.演化提交模型中,项目开发各阶段都是按(增量方式)开发的。
16。
软件原型是软件的早期可运行版本,反映最终系统的(重要特性)。
17.用原型过程来代替需求分析,使需求说明完整、一致、准确,该原型是(探索型)原型。
18.用原型过程来代替全部开发阶段,这种快速原型是(演化型)原型.19.若原型不满足需求说明,则根据明确的要求修改(原型)三、选择题1。
软件工程名词解释汇总软件工程名词解释汇总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)软件质量保证是一种通过制定和实施相关的标准和流程,以确保软件开发过程和软件产品符合预期质量要求的活动。
第一章一、名称解释1.软件工程是指导计算机软件开发和维护的工程科学。
采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,以经济地开发出高质量的软件并有效地维护它。
2.软件生命周期一个软件从定义、开发、使用和维护,直到最终被废弃,所经历的整个时期被称为是软件生命周期二、填空题1.构成一个完整计算机系统的两部分是硬件与(软件)。
2.程序设计时代的生产方式是(个体手工劳动)。
3.软件工程涉及到若干个学科,它是一门(综合性交叉)学科。
4.软件开发划分的各阶段任务尽可能独立,同一阶段任务性质尽可能(相同)。
5.将软件生存周期各个活动规定为依线性顺序联接的若干阶段的模型是(瀑布)模型。
6.喷泉模型是一种以用户需求为动力,以(对象)为驱动的模型。
7.结构化方法是一种面向数据流的开发方法。
由结构化分析、(结构化设计)、结构化程序设计构成。
8.软件工程研究的主要内容是软件开发管理和(软件开发技术)两个方面。
9.软件工具是支持软件开发人员的开发和维护活动而使用的(软件)。
10.一个软件项目的开发中,要采用一种生存周期模型,要按照某种(开发方法),使用相应的工具来进行。
11 .瀑布模型本质上是一种(线性顺序)模型。
12.瀑布模型不适应需求可变的软件开发,只有到开发结束时才能见到(整个软件系统)。
13.增量模型在开发过程中以一系列增量方式开发系统,忽略某阶段的细节,从而尽早产生(工作软件)。
14.增量构造模型在分析和设计阶段按整体方式开发,按增量方式开发的是(编码和测试)阶段。
15.演化提交模型中,项目开发各阶段都是按(增量方式)开发的。
16.软件原型是软件的早期可运行版本,反映最终系统的(重要特性)。
17.用原型过程来代替需求分析,使需求说明完整、一致、准确,该原型是(探索型)原型。
18.用原型过程来代替全部开发阶段,这种快速原型是(演化型)原型。
软件工程简答题复习题(带答案)软件工程简答题复习题(带答案)1. 什么是软件工程?软件工程是一种系统化、规范化、可量化的方法,用于开发、维护和测试软件系统的过程。
它涵盖了软件开发的各个方面,包括需求分析、设计、编码、测试和维护等。
2. 软件开发生命周期有哪些阶段?常见的软件开发生命周期包括需求分析、系统设计、详细设计、编码、测试、部署和维护等阶段。
3. 什么是需求分析?需求分析是软件开发过程中的第一步,它涉及与客户进行沟通和理解客户需求的过程。
通过需求分析,开发团队可以明确软件系统的功能和性能要求,并将这些要求转化为详细的规格说明。
4. 需求分析的主要目标是什么?需求分析的主要目标是确保开发团队和客户对软件系统的需求达成共识。
它需要明确软件系统的功能需求、性能需求和约束条件,以便后续的设计和开发工作能够按照这些需求进行。
5. 什么是软件设计?软件设计是在需求分析的基础上,根据系统需求和约束条件,将系统划分为模块,确定模块之间的接口和关系,设计出满足系统需求的软件结构和算法的过程。
6. 软件设计的原则有哪些?常见的软件设计原则包括单一职责原则(SRP)、开闭原则(OCP)、里氏替换原则(LSP)、依赖倒置原则(DIP)、接口隔离原则(ISP)和迪米特法则(LoD)等。
7. 什么是软件测试?软件测试是为了评估系统的质量和功能是否满足需求的过程。
它通过设计和执行测试用例,检查系统的输出是否符合预期,并发现潜在的错误和缺陷。
8. 软件测试的分类有哪些?软件测试可以分为单元测试、集成测试、系统测试和验收测试等不同的层次。
单元测试用于测试软件的最小功能单元,集成测试用于测试不同模块之间的交互,系统测试则测试整个系统的功能和性能,验收测试是由客户进行的测试,以确认系统是否达到了合同中规定的要求。
9. 什么是软件维护?软件维护是在软件交付给客户后,为了保证其正常运行和适应环境变化而进行的一系列活动。
维护包括错误修复、性能优化、功能扩展等。
软件工程名词解释和简答题总结软件工程是现代技术领域中的一个重要分支,它涉及软件开发的各个方面。
在软件工程的学习和实践过程中,我们会遇到大量的专业名词和简答题。
本文将对一些常见的软件工程名词进行解释,并对一些常见的简答题进行总结。
一、软件工程名词解释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. 软件过程软件过程是指软件开发、维护和管理过程中的一系列活动和任务的组合。
软件工程各章作业习题的名词解释和问答题参考答案第一章: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.什么是软件概要设计, 该阶段的基本任务是什么以需求分析文档为依据,解决实现软件体系结构。
三、简答题(每题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.简述软件工程的目标和面临的主要问题答:软件工程是一门工程性的学科,其目标主要是成功地建造一个大型软件系统。