软件工程简答题
软件工程简答题答案
简答题
1.什么是软件工程?请分析软件工程的目标是什么?
答案:软件工程是:①将系统化的、规范的、可度量的方法应用于软件的开发、运行和维护过程,也就是说将工程化应用于软件开发和管理之中;②对①中所选方法的研究”。
软件工程旨在开发满足用户需要、及时交付、不超过预算和无故障的软件,其主要目标如下:
a)实现预期的软件功能,达到较好的软件性能,满足用户的需求。
b)增强软件过程的可见性和可控性,保证软件的质量。
c)提高所开发软件的可维护性,降低维护费用。
d)提高软件开发生产率,及时交付使用。
e)合理预算开发成本,付出较低的开发费用。
2.什么是软件危机?软件危机表现在哪几个方面?
由于软件特点和长期以来一直没有发明一种高效的开发方法,导致软件生产效率非常低,交付期一拖再拖,最终交付的软件产品在质量上很难保障。这种现象早在20世纪60年代被定义为“软件危机”。它的具体表现如下:
a)“已完成”的软件不满足用户的需求。
b)开发进度不能保障,交付时间一再拖延。
c)软件开发成本难以准确估算,开发过程控制困难造成开发成本超出预算。
d)软件产品的质量没有保证,运算结果出错、操作死机等现象屡屡出现。
e)软件通常没有适当的文档资料,或文档与最终交付的软件产品不符,软件的可维护程度非常低。
3.根据相关的法律,对于侵犯软件著作权的行为,根据情节应当给予什么处罚?
答案:
对于侵犯软件著作权的行为,要根据情况承担停止侵害、消除影响、赔礼道歉、赔偿损失等民事责任;损害社会公共利益的,由著作权行政管理部门责令停止侵权行为,没收违法所得,没收、销毁侵权复制品,并处罚款;情节严重的,著作权行政管理部门可以没收用于制作侵权复制品的材料、工具、设备等;触犯刑律的,依法追究刑事责任。
软件工程导论简答题整理版
第一章
4.什么是软件工程?它与软件工程方法学有何关系?
软件过程是为了开发高质量的软件产品所需完成的一系列任务的框架,它规定了完成各项任务的工作步骤。
软件过程定义了运用技术方法的顺序,应该交付的文档资料,为保证软件质量和协调软件变化必须采取的管理措施,以及标志完成了相应开发活动的里程碑。软件过程是软件工程方法学的3个重要组成部分之一。
7.假设要求你开发一个软件,该软件的功能是把读入的浮点数开平方,所得到的结果应该精确到小数点后4位。一旦实现并测试完之后,该产品将被抛弃。你打算选用哪种软件生命周期模型?请说明你作出选择的理由。
答:对这个软件的需求很明确,实现开平方功能的算法也很成熟,因此,既无须通过原型来分析需求也无须用原型来验证设计方案。此外,一旦实现并测试完之后,该产品将被抛弃,因此也无须使用有助于提高软件可维护性的增量模型或螺旋模型来开发该软件。
第三章
一列火车最多有两个火车头。只有一个火车头时则位于列车最前面,若还有第二个火车头时,则第二个火车头位于列车最后面。火车头既可能是内燃机车也可能是电器机车。车厢分为硬座车厢、硬卧车厢和软卧车厢等3种。硬座车厢在所有车厢的前面部分,软卧车厢在所有车厢的后面部分。此外,在硬卧车厢和软卧车厢之间还有一节餐车。
答:jackson图善于描绘复杂事物的组成。用jackson图描绘一列火车的构成的方法至少有两种,一种方法是把火车分为一个车头和两个车头两类,另一种方法是把后车头作为可选的。图3.29给出了描绘一列火车的构成的jackson图。
用Jackson 图描绘一列火车的构成
软件工程简答题
软件工程简答题
简答题:
软件工程的内容和方法
1.开发文档都有哪些?用图来表示他们之间的关系。
开发文档包括目标程序、源程序、详细设计说明书、概要设计说明书、需求规格说明书、用户需求报告、软件合同,它们之间的关系如图所示。
2.说明软件工程研究的内容。
软件工程研究的内容包括软件开发方法、软件开发模型、软件支持过程和软件管理过程。
其中软件开发方法的内容又含盖市场调研、正式立项、需求分析、项目策划、概要设计、详细设计、编程、测试、试运行、产品发布、用户培训、产品复制、销售、实施、系统维护、版本升级。
常用的软件开发模型有瀑布模型、迭代模型、增量模型和原型模型。
软件支持过程由所支持的CASE工具组成,常用的CASE工具有
PowerDesigner和RationalRose。
软件管理过程主要有CMMI、ISO9000、微软企业文化和敏捷文化现象。
3.请详细解释软件的定义和程序的定义。
软件的定义:软件=程序+数据+文档。这里的程序是指程序系统。这里的数据不仅包括初始化数据、测试数据,而且包括研发数据、运行数据、维护数据,也包括软件企业积累的项目工程数据和项目管理数据中的大量决策原始记录数据。这里的文档指的是软件开发过程中的分析、设计、实现、测试、维护文档、管理文档。
现在有一种新提法正在引起关注,这种提法是:软件=知识+程序+数据+文档。
程序是计算机为完成特定任务而执行的指令的有序集合。从应用的角度可理解为:
面向过程的程序=算法+数据结构
面向对象的程序=对象+信息
面向构件的程序=构件+构架
4.是否存在这样一种现象:搞系统软件的公司不需要采用CMMI 和ISO9000模式?CMMI
《软件工程导论》试题及答案
《软件工程导论》试题及答案
软件工程导论试题及答案
一、选择题
1. 软件工程是一门多学科交叉的学科,其中包括以下哪些学科?
A. 计算机科学
B. 电子工程
C. 数学
D. 管理学
E. 心理学
答案:A、B、C、D
2. 软件工程的目标是什么?
A. 提高软件开发效率
B. 提高软件质量
C. 提高软件可靠性
D. 提高软件维护性
E. 提高软件安全性
答案:A、B、C、D、E
3. 软件过程模型是指软件开发过程中的一种抽象表示方法,常用的软件过程模型有哪些?
A. 瀑布模型
B. 增量模型
C. 螺旋模型
D. 敏捷模型
E. 喷泉模型
答案:A、B、C、D
4. 以下哪个开发方式可以在软件开发过程中提供更多的灵活性和快速反馈?
A. 瀑布模型
B. 增量模型
C. 螺旋模型
D. 敏捷模型
答案:D
5. 软件需求分析的主要任务是什么?
A. 确定软件的功能和性能需求
B. 定义软件系统的架构
C. 设计软件的用户界面
D. 实施软件测试
答案:A
二、填空题
1. 软件工程的核心目标是提高软件的 ______ 和 ______ 。
答案:质量、可靠性
2. 软件工程中的四个基本活动是需求分析、设计、 ______ 和
______ 。
答案:实现、维护
3. 瀑布模型的五个阶段依次是:需求分析、设计、编码、 ______ 和 ______ 。
答案:测试、维护
4. “快速原型”开发模型注重 ______ 。
答案:用户参与
5. 敏捷开发模型的核心原则是 ______ 。
答案:迭代开发
三、简答题
1. 请简要说明为什么软件工程是一门多学科交叉的学科?
答:软件工程在开发软件的过程中需要结合计算机科学的知识来实
软件工程—简答题
软件工程—简答题
四、简答题
1. 简述软件危机产生的缘故。
答案:软件危机产生的缘故有:(每点1分)
(1)软件的规模越来越大,结构越来越复杂。
(2)软件开发的治理困难。由于软件规模大,结构复杂,又具有无形性,导致治理困难,进度操纵困难,质量操纵困难,可靠性无法保证。
(3)软件开发费用不断增加。软件生产是一种智力劳动,它是资金密集、人力密集的产业,大型软件投入人力多,周期长,费用上升专门快。
(4)软件开发技术、开发工具落后,生产率提高缓慢。
(5)生产方式落后。软件仍旧采纳个体手工方式开发。
2. 简述需求分析的概念及需求分析的差不多任务。
答案:需求分析是指开发人员要准确明白得用户的要求,进行细致的调查分析,将用户非形式的需求陈述转化为完整的需求定义,再由需求定义转换到相应的形式功能规约(需求规格说明)的过程。(3分)需求分析的差不多任务是要准确地定义新系统的目标,为了满足用户需要,回答系统必须〝做什么〞的问题。(2分)
3. 简述数据流图的分类及每一类的特点。
答案:数据流图有两类:变换型数据流图和事务型数据流图。(1分)变换型数据流图是由输入、处理和输出三部分组成,(1分)因此变化型数据流图是一个顺序结构。(1分)事务型数据流图特点:事务处理中心将它的输入流分离成许多发散的数据流,形成许多加工路径,(1分)并依照输入的值选择其中一个路径来执行。(1分)
4. 简述建立对象模型的过程。
答案:建立对象模型的步骤如下:(每点1分)
(1)确定类:标出来自问题域的相关对象类。
(2)预备数据字典:为所有建模实体预备一个数据字典,准确描述各对象类的精确含义,描述当前问题中的类的范畴,包括对类的成员、用法方面的假设或限制;
软件工程简答题整理
什么是软件危机,有哪些具体表现形式?其原因?
答:软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。主要有以下表现形式:1、对软件开发成本和进度的估计常常很不准确 2、用户对“已完成的”软件系统不满意的现象经常发生 3、软件产品的质量往往靠不住 4、软件常常是不可维护的 5、软件通常没有合适的文档资料 6、软件成本在计算机系统总成本中所占的比例逐年上升 7、软件开发生产率提高的速度远远跟不上计算机应用迅速普及深入的趋势原因:1、与软件本身特点有关2、与软件开发与维护的方法不正确有关
什么是软件生存周期,有哪几个活动?比较模型
软件生存周期是指一个软件该软件报废为止的整个时期。软件生命周期由软件定义、软件开发和软件维护3个时期组成。1问题定义,解决的问题是是什么;2可行性研究,问题是否有可行的解决办法;3需求分析,确定目标系统必须具备的功能;4总体设计,总体上解决问题,设计软件出层次结构图、5详细设计,具体实现,设计算法;6编码和单元测试,编程和单元测试;7综合测试,系统地设计测试用例;软件维护,修改软件满足用户需要。
瀑布模型:自上而下,相互衔接的固定次序,像瀑布逐级下落,有顺序性和依赖性,推迟实施,质量保证,严格要求输出文档,缺乏灵活性。
快速原型模型:能快速建立。它所完成的功能往往是最终产品能完成的功能的一个子集,适合中小型,短周期的交互式系统。
增量模型:把软件产品作为一系列增量构件来设计、编码、集成和测试,能在较短的时间完成,有充裕的时间学习。适合开发需求不明确设计方案有一定风险的软件项目。
软件工程(简答题)
1、典型的详细设计工具有流程图、盒图、、类程序设计语言。问题反馈【教师释疑】
正确答案:【PAD图】
2、UML是一种语言。问题反馈
【教师释疑】
正确答案:【可视化】
3、类是一组具有属性、操作、关系和语义的对象的描述。问题反馈
【教师释疑】
正确答案:【相同】
4、对象是类的一个。问题反馈
【教师释疑】
正确答案:【实例】
5、用况图是一种表达系统模型的图形化工具。问题反馈
【教师释疑】
正确答案:【功能】
6、UML中的顺序图是一种交互图,即由一组对象以及按组织的对象之间的关系组成。问题反馈
【教师释疑】
正确答案:【时序】
7、模块的作用域是指受该模块内一个所影响的所有模块的集合。问题反馈【教师释疑】
正确答案:【判定】
8、模块的控制域是指这个模块本身以及所有直接或间接它的模块的集合。问题反馈
【教师释疑】
正确答案:【从属于】
9、在数据流图中引入数据源和数据潭这两个术语的目的是为了表示系统的,可以使用它们和相关数据流来定义系统的。问题反馈
【教师释疑】
正确答案:【环境|边界】
10、模块结构图是系统的一个高层蓝图,允许设计人员在较高的层次上进行抽象思维。模块结构图可用和两种形式来表示。问题反馈
【教师释疑】
正确答案:【层次图|HIPO图】
11、在设计模块结构图时要基于原则来设计模块。问题反馈
【教师释疑】
正确答案:【高内聚低耦合】
12、在进行总体结构设计时,人们通过长期的软件开发实践,总结出一些实现模块“高内聚低耦合”的启发式规则,对初始的模块结构图进行精化,其中一条规则是“尽力使模块的在其控制域之内”。问题反馈
【教师释疑】
软件工程简答题及答案
软件工程简答题及答案
软件工程试题整理_ 简答题
1、可行性研究的任务是什么?
首先需要进行概要的分析研究,初步确定项目的规模和目标,确定项目的约束和限制,把他们清楚地列举出来。然后,分析员进行简要的需求分析,抽象出该项目的逻辑结构,建
立逻辑模型。从逻辑模型出发,经过压缩的设计,探索出若干种可供选择的主要解决方法,对每种解决方法都要研究它的可行性,可从以下三个方面分析研究每种解决方法的可行性。㈠技术可行性:对要开发项目的功能、性能、限制条件进行分析,确定在现有的资源条件下,技术风险有多大,项目是否能实现。㈡经济可行性:进行开发成本的估算以及了解取得效益的评估,确定要开发的项目是否值得投资开发。㈢社会可行性:要开发的项目是否存在任何
侵犯、妨碍等责任问题,要开发项目的运行方式在用户组织内是否行得通,现有管理制度、人员素质、操作方式是否可行。
2、什么是模块的影响范围?什么是模块的控制范围?他们之间应该建立什么关系?
一个模块的作用范围(或称影响范围)指受该模块内一个判定影响的所有模块的集合。一个模块的控制范围指模块本身以及其所有下属模块(直接或间接从属于它的模块)的集合。
一个模块的作用范围应在其控制范围之内,且判定所在的模块应在其影响的模块在层次上尽
量靠近。如果再设计过程中,发现模块作用范围不在其控制范围之内,可以用“上移判点” 或“下移受判断影响的模块,将它下移到判断所在模块的控制范围内”的方法加以改进。
3、非渐增式测试与渐增式测试有什么区别?渐增式测试如何组装模块?
非渐增式测试与渐增式测试的测试方法有以下区别:㈠非渐增式测试方法把单元测试和
软件工程简答题
软件工程简答题:
1什么是软件危机?它有哪些典型表现?为什么会出现软件危机?
我的答案:
软件危机是指落后的软件生产方式无法满足迅速增长的计算机软件需求,从而导致软件开发与维护过程中出现一系列严重问题的现象。
它的典型表现有以下几点,1.对软件开发成本和进度的估计常常很不准确。2.用户对“已完成”软件系统不满意的现象经常发生。3.软件产品的质量往往靠不住。4.软件常常是不可维护的。5.软件通常没有适当的文档资料。6.软件成本在计算机系统总成本中所占的比例逐年上升。7.软件开发生产率提高的速度,远远跟不上计算机应用迅速普及深入的趋势。
软件危机出现的原因有软件本身的特点也和软件开发与维护的方法不正确有关。用户需求不明确,软件开发规模大、复杂度变高,不正确的理论指导是具体原因。
2什么是软件工程?它有哪些本质特性?怎样用软件工程消除软件危机?
我的答案:
软件工程是指导计算机软件开发和维护的一门工程学科。采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,以经济地开发出高质量的软件并有效地维护它,这就是软件工程。
本质特性:1.软件工程关注于大型程序的构造。2.软件工程的中心课题是控制复杂性。3.软件经常变化。4.开发软件的效率非常重要。5.和谐地合作是开发软件的关键。6.软件必须有效地支持它的用户。7.在软件工程领域中通常由具有一种文化背景的人替具有另一种文化背景的人创造产品。
消除软件危机的方法:
(1) 对计算机软件有一个正确的认识(软件≠程序)
软件工程简答题答案
软件工程简答题答案
简答题
1.什么是软件工程?请分析软件工程的目标是什么?
答案:软件工程是:①将系统化的、规范的、可度量的方法应用于软件的开发、运行和维护过程,也就是说将工程化应用于软件开发和管理之中;②对①中所选方法的研究”。
软件工程旨在开发满足用户需要、及时交付、不超过预算和无故障的软件,其主要目标如下:
a)实现预期的软件功能,达到较好的软件性能,满足用户的需求。
b)增强软件过程的可见性和可控性,保证软件的质量。
c)提高所开发软件的可维护性,降低维护费用。
d)提高软件开发生产率,及时交付使用。
e)合理预算开发成本,付出较低的开发费用。
2.什么是软件危机?软件危机表现在哪几个方面?
由于软件特点和长期以来一直没有发明一种高效的开发方法,导致软件生产效率非常低,交付期一拖再拖,最终交付的软件产品在质量上很难保障。这种现象早在20世纪60年代被定义为“软件危机”。它的具体表现如下:
a)“已完成”的软件不满足用户的需求。
b)开发进度不能保障,交付时间一再拖延。
c)软件开发成本难以准确估算,开发过程控制困难造成开发成本超出预算。
d)软件产品的质量没有保证,运算结果出错、操作死机等现象屡屡出现。
e)软件通常没有适当的文档资料,或文档与最终交付的软件产品不符,软件的可维护程度非常低。
3.根据相关的法律,对于侵犯软件著作权的行为,根据情节应当给予什么处罚?
答案:
对于侵犯软件著作权的行为,要根据情况承担停止侵害、消除影响、赔礼道歉、赔偿损失等民事责任;损害社会公共利益的,由著作权行政管理部门责令停止侵权行为,没收违法所得,没收、销毁侵权复制品,并处罚款;情节严重的,著作权行政管理部门可以没收用于制作侵权复制品的材料、工具、设备等;触犯刑律的,依法追究刑事责任。
软件工程 简答题复习题(带答案)
第一章
1,与计算机硬件相比,计算机软件有哪些特点?
软件的特点如下。
1)无法直接观察计算机软件的物理形态,只能通过观察它的实际运行情况来了
解它的功能、特性和质量等。
2)人们在分析、设计、开发、测试软件产品,以及在软件开发项目的管理过程
中,渗透了大量的脑力劳动。
3)不存在像硬件一样的磨损和老化现象,但存在着缺陷维护和技术更新的问
题。
4)软件的开发和运行必须依赖于特定的计算机系统环境。
5)具有可复用性。
3,什么是软件危机?什么原因导致了软件危机?
软件危机的现象如下。
1)经费超出预算,项目一再拖延。
2)不重视需求,开发的软件不能满足用户的要求,项目成功率低。
3)没有规范的软件工程方法,软件可维护性差、软件质量差、可靠性差。
4)开发工具落后,手工方式,开发效率低。
所有导致软件危机的原因,都与软件本身的产品特点相关。
1)软件是一个复杂的逻辑产品。如果没有解决复杂问题的有效方法,以及软件
产品的结构、质量、可维护性得不到保障,开发与维护费用就会持续升高。
2)软件产品不能实现大规模复用,这导致了软硬件生产效率的不同。
3)软件生产是脑力劳动,它看不见、摸不着,开发成本、开发周期等都无法做
到准确估算,生产过程不易控制。
4)软件成本主要是由研发成本构成;而硬件的生产成本主要是材料和制造成
本,分摊的研发成本很少,即软件研发过程与硬件制造过程相比要复杂得
多。
5,请简述软件工程研究的内容。
软件工程研究的内容包括软件开发方法、软件开发模型、软件支持过程和软件管理过程。
软件开发方法的内容涵盖市场调研、正式立项、需求分析、项目策划、概要设计、详细设计、编程、测试、试运行、产品发布、用户培训、产品复制、销售、实施、系统维护、版本升级等。
(完整)软件工程简答题必考
(完整)软件工程简答题必考软件工程简答题必考
软件工程是一门研究如何通过系统化的、规范化的、可度量的方法来构建和维护软件的学科。它的目标是通过合理地应用工程的原理、方法和工具,控制软件开发的各个环节,保证软件的质量和进度,并提高开发效率和可维护性。下面我们来探究一些软件工程的常见简答题,加深对该领域的理解。
1. 请解释什么是软件过程?
软件过程是指在软件开发的整个生命周期中,按照一定的流程和方法进行的活动集合。它包括需求分析、设计、编码、测试、发布和维护等阶段,并通过规范化的文档和工具来管理和支持这些活动。通过软件过程,开发团队可以更加有效地组织和协调工作,确保软件开发按时、按质量地完成。
2. 请解释软件生命周期模型,并举例说明。
软件生命周期模型描述了软件开发和维护的不同阶段。常见的软件生命周期模型包括瀑布模型、迭代模型、螺旋模型等。例如,瀑布模型将软件开发划分为需求分析、设计、编码、测试和维护等阶段,每个阶段顺序进行,并且每个阶段结束后都有相应的文档。这种模型适用于需求明确、变动较少的项目。
3. 请解释什么是软件需求工程?
软件需求工程是指对软件需求进行系统化和规范化的管理过程。它
包括需求获取、需求分析与建模、需求验证与确认等活动。软件需求
工程旨在确保对用户需求的全面理解和准确描述,并将其转化为开发
团队可以理解和实现的形式,以此为软件开发提供准确的目标和方向。
4. 请解释什么是软件设计原则,并举例说明。
软件设计原则是指为了提高软件系统的设计质量,而从实践中总结
出来的一些指导原则。常见的软件设计原则包括开闭原则、单一职责
软件工程简答题答案
简答题
1.什么是软件工程?请分析软件工程的目标是什么?
答案:软件工程是:①将系统化的、规范的、可度量的方法应用于软件的开发、运行和维护过程,也就是说将工程化应用于软件开发和管理之中;②对①中所选方法的研究”。
软件工程旨在开发满足用户需要、及时交付、不超过预算和无故障的软件,其主要目标如下:
a)实现预期的软件功能,达到较好的软件性能,满足用户的需求。
b)增强软件过程的可见性和可控性,保证软件的质量。
c)提高所开发软件的可维护性,降低维护费用。
d)提高软件开发生产率,及时交付使用。
e)合理预算开发成本,付出较低的开发费用。
2.什么是软件危机?软件危机表现在哪几个方面?
由于软件特点和长期以来一直没有发明一种高效的开发方法,导致软件生产效率非常低,交付期一拖再拖,最终交付的软件产品在质量上很难保障。这种现象早在20世纪60年代被定义为“软件危机”。它的具体表现如下:
a)“已完成”的软件不满足用户的需求。
b)开发进度不能保障,交付时间一再拖延。
c)软件开发成本难以准确估算,开发过程控制困难造成开发成本超出预算。
d)软件产品的质量没有保证,运算结果出错、操作死机等现象屡屡出现。
e)软件通常没有适当的文档资料,或文档与最终交付的软件产品不符,软件的可维护程度非常低。
3.根据相关的法律,对于侵犯软件著作权的行为,根据情节应当给予什么处罚?
答案:
对于侵犯软件著作权的行为,要根据情况承担停止侵害、消除影响、赔礼道歉、赔偿损失等民事责任;损害社会公共利益的,由著作权行政管理部门责令停止侵权行为,没收违法所得,没收、销毁侵权复制品,并处罚款;情节严重的,著作权行政管理部门可以没收用于制作侵权复制品的材料、工具、设备等;触犯刑律的,依法追究刑事责任。
软件工程课后习题简答题
第一章:
三、简答题
1. 软件产品的特性是什么?
答:●软件是一种逻辑产品,具有无形性;
●软件产品的生产主要是研制;主要是脑力劳动;
●软件不存在磨损和老化问题,但存在退化问题;
●软件产品的成本非常昂贵,其开发方式目前尚未完全摆脱手工生产方式;
● 软件具有“复杂性”,其开发和运行常受到计算机系统的限制。
2. 软件发展有几个阶段?各有何特征?
答:①程序设计阶段。
硬件特征:价格贵、存储容量小、运行可靠性差。
软件特征:只有程序、程序设计概念,不重视程序设计方法。
②程序系统阶段。
硬件特征:速度、容量及工作可靠性有明显提高,价格降低,销售有爆炸性增长。
软件特征:程序员数量猛增,开发人员素质低。
③软件工程阶段。
硬件特征:向超高速、大容量、微型化及网络化方向发展。
软件特征:开发技术有很大进步,但未获得突破性进展,软件价格不断上升,未完全摆脱软件危机。
3. 什么是软件危机?其产生的原因是什么?
答:“软件危机”(Software Crisis)的出现是由于软件的规模越来越大,复杂度不断增加,软件需求量增大。而软件开发过程是一种高密集度的脑力劳动,软件开发的模式及技术不能适应软件发展的需要。致使大量质量低劣的软件涌向市场,有的花费大量人力、财力,而在开发过程中就夭折。软件危机主要表现在两个方面:
(1) 软件产品质量低劣,甚至开发过程就夭折。
(2) 软件生产率低,不能满足需要。
4. 什么是软件过程?有哪些主要的软件过程模型?它们各有哪些特点?
答:软件过程是指在软件工具的支持下,所进行的一系列软件开发和进化的活动。软件过程模型是对软件开发实际过程的抽象和简化,是描述软件开发过程中各种活动如何执行的模型,因此又称为软件开发模型。
软件工程简答题
1、什么是软件危机?
软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。这些问题表现在以下几个方面:
(1)用户对开发出的软件很难满意。
(2)软件产品的质量往往靠不住。
(3)一般软件很难维护。
(4)软件生产效率很低。
(5)软件开发成本越来越大。
(6)软件成本与开发进度难以估计。
(7)软件技术的发展远远满足不了计算机应用的普及与深入的需要。
2、需求分析的描述工具有哪些?
有数据流图、数据字典、判定表、判定树、结构化自然语言、层次方框图、Warnier图、IPO 图和需求描述语言等。
3、什么是模块化?模块设计的准则?
模块化是按规定的原则将一个大型软件划分为一个个较小的、相对独立但又相关的模块。
模块设计的准则:
(1) 改进软件结构, 提高模块独立性:在对初步模块进行合并、分解和移动的分析、精化过程中力求提高模块的内聚,降低藕合。
(2) 模块大小要适中:大约50行语句的代码,过大的模块应分解以提高理解性和可维护性;过小的模块,合并到上级模块中。
(3) 软件结构图的深度、宽度、扇入和扇出要适当。一般模块的调用个数不要超过5个。
(4) 尽量降低模块接口的复杂程度;
(5) 设计单入口、单出口的模块。
(6) 模块的作用域应在控制域之内。
4、详细设计的主要任务?
编写软件的“详细设计说明书”.软件人员要完成的工作:
(1) 为每一个模块确定采用的算法, 选择某种适当的工具表达算法的过程,写出模块的详细过程描述.
(2) 确定每一模块使用的数据结构.
(3) 确定模块结构的细节,包括对系统外部的接口和用户界面,对系统内部其它模块的接口,以及关于模块输入数据、输出数据及局部数据的全部细节.
软件工程名词解释和简答题
1.软件工程。是指导计算机软件开发和维护的工程学科。采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当
前能够得到的最好的技术方法结合起来,这就是软件工程。…
2.数据流图:数据流图是一种图形化技术,它描绘信息流和数据从输入移动到输出的过程中所经受的变换。在数据流图中没有任何具体的物理部件,它只是
描绘数据在软件中流动和被处理的逻辑过程。
3.模块:是数据说明、可执行语句等程序对象的集合,模块可以单独被命名、而且可通过名字来访间。
4.白盒测试法:白盒测试是把测试对象看作一个打开的盒子,测试人员须了解程序的内部结构和处理过程,以检查过程的细节为基础,对程序中尽可能多的
逻辑路径进行测试,检验内部控制结构和数据结构是否有错,实际的运行状态与预
期的状态是否一致。
5.耦合性:也称为模块间联系。指软件系统结构中各模块间相互联系紧密程度的一种度量。模块之间联系越紧密,其耦合性就越强,模块的独立性则越差。模
块间耦合高低取决于模块间接口的复杂性]调用的方法及传递的信息。
软件危机:是指在计算机软件开发、使用与维护过程中遇到的一系列严重问题和难题。
计算机软件:与计算机系统操作有关的程序、规程、规则及任何与之有关的文档和数据。或软件=程序+数据+文档。
UML:统一建模语言,是面向对象软件的标准化建模语言。
1、什么是软件危机?为什么会产生软件危机
答:(1)软件危机是指软件在开发和维护过程中遇见的一系列严重问题,主
要包含二方面的问题,一是如何开发利用软件,二是如何维护数量不断膨胀的已有软
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1) A web service is a standard approach to making a reusable component available and accessible across the web
2)activity-location matrix:Rows are system activities from event table、Columns are physical locations
3)Alpha version – incomplete testing version
4)Ambiguous requirements interpreted in different ways by developers and users.
5)Ambiguous requirements interpreted in different ways by developers and users.
6)Beta version – end-user testing version
7)CASE’s fullname is Computer-Aided Software Engineering.
8)Client/Server Architecture Advantage – deployment flexibility
9)Client/Server Architecture Disadvantage – complexity
10)Client/server divides programs into two types:Server、Client.
11)Cohesion – qualitative measure of consistency of functions within a single class
12)Controls are needed for all other design activities:User interface、System interface、Application architecture、Database and Network design.
13)CORBA is an international standard for an Object Request Broker - middleware to manage communications between distributed objects.
14)Coupling – qualitative measure of how closely classes in a design class diagram are linked
15)CRUD – create, read, update, and delete
16)Data dictionary is repository for definitions of data flows, data stores, and data elements
17)Data flow diagrams (DFDs) are decomposed into additional diagrams to provide multiple levels of detail
18)Deployment environment definition bridges analysis and design:Hardware、System software、Networking
19)Design class diagram specifically defines software classes
20)Design is process of describing, organizing, and structuring system components at architectural design level and detailed design level
21)Design process activities include Architectural design、Abstract specification、Interface design、Component design、Data structure design、Algorithm design 22)Domain model class diagram shows conceptual classes in users’ work environment
23)Early increments act as a prototype to help elicit requirements for later increments.
24)Engineers should be aware of local laws governing the use of intellectual property such as patents, copyright, etc.
25)Examples of process perspectives are Workflow perspective、Data-flow perspective and Role/action perspective
26)First-cut design class diagram is based on domain model and system design principles
27)Functional user requirements may be high-level statements of what the system should do but functional system requirements should describe the system services in detail.