软件工程_简答题
软件工程考试题及答案
软件工程考试题及答案一、单项选择题(每题2分,共20分)1. 软件工程的三要素不包括以下哪一项?A. 工具B. 方法C. 过程D. 环境答案:D2. 软件需求分析阶段的主要任务是确定软件的()。
A. 功能需求B. 性能需求C. 界面需求D. 所有选项答案:D3. 软件测试的目的是()。
A. 发现软件中的错误B. 证明软件是正确的C. 验证软件是否满足需求D. 所有选项答案:D4. 以下哪一项不是软件维护的类型?A. 纠错性维护B. 适应性维护C. 完善性维护D. 开发性维护答案:D5. 软件项目管理的主要目标是()。
A. 提高软件质量B. 控制成本C. 缩短开发周期D. 所有选项答案:D6. 瀑布模型的主要缺点是()。
A. 缺乏灵活性B. 难以适应需求变化C. 无法并行开发D. 所有选项答案:D7. 敏捷开发方法的核心理念是()。
A. 以文档为中心B. 以人为中心C. 以过程为中心D. 以工具为中心答案:B8. 软件配置管理的主要目的是()。
A. 确保软件的一致性B. 跟踪软件的变更C. 控制软件的版本D. 所有选项答案:D9. 以下哪一项不是软件工程的原则?A. 抽象B. 模块化C. 复用D. 随机性答案:D10. 软件工程的目标是()。
A. 开发高质量的软件B. 提高软件生产率C. 降低软件成本D. 所有选项答案:D二、多项选择题(每题3分,共15分)1. 软件需求分析阶段可能包括以下哪些活动?A. 需求收集B. 需求分析C. 需求规格说明D. 需求验证答案:ABCD2. 软件测试的类型包括以下哪些?A. 单元测试B. 集成测试C. 系统测试D. 验收测试答案:ABCD3. 软件维护的常见原因包括以下哪些?A. 适应环境变化B. 修正软件缺陷C. 提高软件性能D. 增加新功能答案:ABCD4. 软件项目管理的关键活动包括以下哪些?A. 项目规划B. 项目监控C. 项目沟通D. 风险管理答案:ABCD5. 软件工程中的常见开发模型包括以下哪些?A. 瀑布模型B. 螺旋模型C. 敏捷模型D. 增量模型答案:ABCD三、判断题(每题2分,共10分)1. 软件工程的目标是开发出零缺陷的软件。
软件工程—简答题
软件工程—简答题1. 什么是软件工程?软件工程是一门将工程学原理与方法应用于软件开发的学科。
它涉及对软件的设计、开发、测试、维护和管理等方面的技术和方法。
软件工程的目标是创建高质量和可靠的软件系统,以满足用户的需求。
通过使用软件工程的原则和技术,开发团队能够有效地管理和控制软件开发过程,并提供可维护和可扩展的软件解决方案。
2. 软件工程的基本原则有哪些?软件工程的基本原则包括:2.1 分阶段开发软件开发过程通常分为需求分析、设计、编码、测试和维护等阶段。
每个阶段都应该有明确的目标和任务,确保软件系统的稳定性和质量。
2.2 面向对象设计面向对象设计是一种将问题领域的概念与程序设计语言中的对象模型相匹配的方法。
通过将问题划分为一组相互关联的对象,可以更好地组织和管理软件系统的结构和功能。
2.3 模块化和组件化模块化和组件化是将软件系统划分为相互独立且可重用的模块或组件的过程。
这样可以提高软件系统的可维护性和可扩展性,并降低代码的重复性。
2.4 品质保证软件工程要求对软件系统进行全面的测试和验证,以确保其满足用户的需求和质量标准。
包括单元测试、集成测试、系统测试等各个层次的测试。
2.5 项目管理项目管理是软件工程中非常重要的一环,它涉及资源的分配、进度的控制、团队协作等方面。
通过合理的项目管理,能够提高软件开发的效率和质量。
3. 软件工程的开发模型有哪些?软件工程的开发模型有许多种,常见的包括:3.1 瀑布模型瀑布模型是最早提出的软件开发模型,它将软件开发过程划分为需求分析、系统设计、编码、测试和维护等连续的阶段。
每个阶段的输出作为下一个阶段的输入,依次进行。
3.2 增量模型增量模型将软件开发过程划分为多个独立的增量,每个增量都包含完整的开发过程。
每个增量都可以交付给客户使用或测试,这样可以更快地获取用户反馈并逐步完善系统。
3.3 原型模型原型模型通过快速开发一个原型来获取用户需求,并以此为基础进行详细设计和开发。
软件工程简答题
1.请简要阐明软件过程旳概念和基本元素。
答案要点:软件过程是软件工程人员为了获得软件产品在软件工具支持下实行旳一系列软件工程活动,它应当明确定义如下元素:过程中所执行旳活动和其次序关系;每一种活动旳内容和环节;团体人员旳工作和职责.2. 软件工程包括哪些基本要素?请简要阐明这些要素和其作用。
答案要点:软件工程包括过程、措施和工具三个要素。
软件工程过程定义了技术措施旳采用、工程产品(包括模型、文档、数据、汇报、表格等)旳产生、里程碑旳建立、质量旳保证和变更旳管理,从而将人员、技术、组织与管理有机地结合在一起,实目前规定旳时间和预算内开发高质量软件旳目旳;.软件工程措施为软件开发提供了“怎样做”旳技术,一般包括某种语言或图形旳模型表达措施、良好旳设计实践以和质量保证原则等;工具:为软件工程旳措施提供自动或半自动旳软件支持环境辅助软件开发任务完毕。
3,请简要描述SWEBOK所包括旳10个知识域。
(1)软件需求(Software Requirements)(2 )软件设计(Software Design)。
(3)软件构造( Software Construction)。
(4) 软件测试(Software Testing)。
(5)软件维护(Software Maintenance)。
(6)软件配置管理(Software Configuration Management)。
(7)软件工程管理(Software Engineering Management)。
(8)软件工程过程(Software Engineering Process)。
(9)软件工程工具和措施(Software Engineering Tool and Method)。
(10)软件质量(Software Quality)。
4.需求工程包括哪些基本活动?每一项活动旳重要任务是什么?答案要点:需求工程分为需求开发和需求管理两个部分,而需求开发又可深入分为需求获取、需求分析、规格阐明和需求验证四个阶段。
软件工程常考简答题
绪论1、什么是软件工程?软件工程和计算机科学有何区别?答:软件工程是以计算机科学理论及其他有关学科旳理论为指导,采用工程化旳概念、原理、技术和措施进行软件旳开发和维护,把通过时间证明是对旳旳管理措施和目前可以得到旳最佳旳技术、措施相结合,以期用较少旳代价获取高质量旳软件。
计算机科学侧重于理论研究,其成果可应用于软件工程,而软件工程则强调怎样有效旳建造一种软件系统。
2、什么是软件?答:计算机软件是与计算机系统操作有关旳程序、规程、规则及任何与之有关旳文档及数据;3、什么是软件危机?分析其产生旳原因与挣脱危机旳措施,你认为目前已经挣脱软件危机了吗?请阐明理由。
软件危机是指在计算机软件旳开发和维护过程中所碰到旳一系列严重问题。
重要是两个问题:(1)怎样开发软件,怎样满足对软件旳日益增长旳需求;(2怎样维护数量不停膨胀旳已经有软件;软件危机旳出现,究其原因,首先是由软件自身旳特点引起旳,如软件越来越复杂,软件故障难于检测,工作量难以估计;另首先则是由于软件开发和维护措施不妥所导致旳,如软件旳个体化特性太强等。
为了挣脱软件危机所导致旳困境,提出软件工程旳概念,其重要思绪是:要把人类长期以来从事多种工程项目所积累起来旳行之有效旳原理,概念,技术和措施,尤其是人类从事计算机硬件研究和开发旳经验教训,应用到软件旳开发和维护中来。
我认为我国目前尚未完全挣脱软件危机,由于伴随经济发展,各行各业对软件人才旳需求不停扩大,由于我国旳软件人才缺口仍旧很大,导致了某些行业内软件开发进度难以预测,软件开发成本难以控制,顾客对产品功能难以满足,软件产品质量无法保证,软件产品难以维护,软件缺乏合适旳文档资料。
4、软件产品旳特性是什么?软件是一种逻辑产品,具有无形性;软件产品旳生产重要是研制;软件不存在磨损和老化问题,但存在退化问题;软件产品旳生产重要是脑力劳动;软件产品生产成本昂贵,目前生产方式尚未挣脱手工生产方式;软件具有“复杂性”,其开发和运行常受到计算机系统旳限制。
软件工程简答题
软件工程简答题三、简答题(简要回答下列问题)1、什么就是软件工程?它目标与内容就是什么?软件工程就就是用科学的知识与技术原理来定义,开发,维护软件的一门学科。
软件工程目标:付出较低开发成本;达到要求的功能;取得较好的性能;开发的软件易于移植;只需较低的维护费用;能按时完成开发任务,及时交付使用;开发的软件可靠性高。
软件工程内容:包括开发技术与开发管理两个方面。
2、软件开发中有哪几种过程模型?哪些适用于面向对象的软件开发?软件开发中常见的软件过程模型有瀑布模型、原型模型、螺旋模型、喷泉模型、统一软件过程等。
其中喷泉模型、统一软件过程适用于面向对象的软件开发。
3、什么就是结构分析方法?该方法使用什么描述工具?结构化分析:简称SA,面向数据流进行数据分析的方法。
采用自顶向下逐层分解的分析策略。
顶层抽象地描述整个系统,底层具体地画出系统工程的每个细节。
中间层则就是从抽象到具体的过渡。
使用数据流图,数据字典,作为描述工具,使用结构化语言,判定表,判定树描述加工逻辑。
4、什么就是软件概要设计?该阶段的基本任务就是什么?把一个软件需求转换为软件表示时,首先设计出软件总的体系结构。
称为概要设计或结构设计。
基本任务:⑴设计软件系统结构⑵进行数据结构及数据库的设计⑶编写概要设计的文档⑷评审5、软件维护有哪些内容?(1)校正性维护。
在软件交付使用后,一些隐含的错误在某些特定的使用环境下会暴露出来。
为了识别与纠正错误,修改软件性能上的缺陷,应进行确定与修改错误的过程,这个过程就称为校正性维护。
(2)适应性维护。
为了使应用软件适应计算机硬件、软件环境及数据环境的不断发生的变化而修改软件的过程称为适应性维护。
(3)完善性维护。
为增加软件功能、增强软件性能、提高软件运行效率而进行的维护活动称为完善性维护。
(4)预防性维护。
为了提高软件的可维护性与可靠性而对软件进行的修改称为预防性维护。
6、软件测试要经过哪些步骤?这些测试与软件开发各阶段之间有什么关系?软件测试要经过的步骤就是:单元测试→集成测试→确认测试→系统测试。
软件工程_简答题复习题(带答案)
软件⼯程_简答题复习题(带答案).. ..第⼀章1,与计算机硬件相⽐,计算机软件有哪些特点?软件的特点如下。
1)⽆法直接观察计算机软件的物理形态,只能通过观察它的实际运⾏情况来了解它的功能、特性和质量等。
2)⼈们在分析、设计、开发、测试软件产品,以及在软件开发项⽬的管理过程中,渗透了⼤量的脑⼒劳动。
3)不存在像硬件⼀样的磨损和⽼化现象,但存在着缺陷维护和技术更新的问题。
4)软件的开发和运⾏必须依赖于特定的计算机系统环境。
5)具有可复⽤性。
3,什么是软件危机?什么原因导致了软件危机?软件危机的现象如下。
1)经费超出预算,项⽬⼀再拖延。
2)不重视需求,开发的软件不能满⾜⽤户的要求,项⽬成功率低。
3)没有规的软件⼯程⽅法,软件可维护性差、软件质量差、可靠性差。
4)开发⼯具落后,⼿⼯⽅式,开发效率低。
所有导致软件危机的原因,都与软件本⾝的产品特点相关。
1)软件是⼀个复杂的逻辑产品。
如果没有解决复杂问题的有效⽅法,以及软件产品的结构、质量、可维护性得不到保障,开发与维护费⽤就会持续升⾼。
2)软件产品不能实现⼤规模复⽤,这导致了软硬件⽣产效率的不同。
3)软件⽣产是脑⼒劳动,它看不见、摸不着,开发成本、开发周期等都⽆法做到准确估算,⽣产过程不易控制。
4)软件成本主要是由研发成本构成;⽽硬件的⽣产成本主要是材料和制造成本,分摊的研发成本很少,即软件研发过程与硬件制造过程相⽐要复杂得多。
5,请简述软件⼯程研究的容。
软件⼯程研究的容包括软件开发⽅法、软件开发模型、软件⽀持过程和软件管理过程。
软件开发⽅法的容涵盖市场调研、正式⽴项、需求分析、项⽬策划、概要设计、详细设计、编程、测试、试运⾏、产品发布、⽤户培训、产品复制、销售、实施、系统维护、版本升级等。
常⽤的软件开发模型有瀑布模型、迭代模型、增量模型和原型模型等。
软件⽀持过程由所⽀持的CASE⼯具组成,常⽤的CASE⼯具有Power Designer和Rational Rose等。
软件工程(简答题)
1、典型的详细设计工具有流程图、盒图、、类程序设计语言。
问题反馈【教师释疑】正确答案:【PAD图】2、UML是一种语言。
问题反馈【教师释疑】正确答案:【可视化】3、类是一组具有属性、操作、关系和语义的对象的描述。
问题反馈【教师释疑】正确答案:【相同】4、对象是类的一个。
问题反馈【教师释疑】正确答案:【实例】5、用况图是一种表达系统模型的图形化工具。
问题反馈【教师释疑】正确答案:【功能】6、UML中的顺序图是一种交互图,即由一组对象以及按组织的对象之间的关系组成。
问题反馈【教师释疑】正确答案:【时序】7、模块的作用域是指受该模块内一个所影响的所有模块的集合。
问题反馈【教师释疑】正确答案:【判定】8、模块的控制域是指这个模块本身以及所有直接或间接它的模块的集合。
问题反馈【教师释疑】正确答案:【从属于】9、在数据流图中引入数据源和数据潭这两个术语的目的是为了表示系统的,可以使用它们和相关数据流来定义系统的。
问题反馈【教师释疑】正确答案:【环境|边界】10、模块结构图是系统的一个高层蓝图,允许设计人员在较高的层次上进行抽象思维。
模块结构图可用和两种形式来表示。
问题反馈【教师释疑】正确答案:【层次图|HIPO图】11、在设计模块结构图时要基于原则来设计模块。
问题反馈【教师释疑】正确答案:【高内聚低耦合】12、在进行总体结构设计时,人们通过长期的软件开发实践,总结出一些实现模块“高内聚低耦合”的启发式规则,对初始的模块结构图进行精化,其中一条规则是“尽力使模块的在其控制域之内”。
问题反馈【教师释疑】正确答案:【作用域】13、在进行总体结构设计时,人们通过长期的软件开发实践,总结出一些实现模块“高内聚低耦合”的启发式规则,对初始的模块结构图进行精化,其中一条规则是“力求深度、宽度、扇出和扇入”。
问题反馈【教师释疑】正确答案:【适中】14、在进行总体结构设计时,人们通过长期的软件开发实践,总结出一些实现模块“高内聚低耦合”的启发式规则,对初始的模块结构图进行精化,其中一条规则是“改进软件结构,提高模块的”。
软件工程简答题及答案
软件工程简答题及答案软件工程试题整理_ 简答题1、可行性研究的任务是什么?首先需要进行概要的分析研究,初步确定项目的规模和目标,确定项目的约束和限制,把他们清楚地列举出来。
然后,分析员进行简要的需求分析,抽象出该项目的逻辑结构,建立逻辑模型。
从逻辑模型出发,经过压缩的设计,探索出若干种可供选择的主要解决方法,对每种解决方法都要研究它的可行性,可从以下三个方面分析研究每种解决方法的可行性。
㈠技术可行性:对要开发项目的功能、性能、限制条件进行分析,确定在现有的资源条件下,技术风险有多大,项目是否能实现。
㈡经济可行性:进行开发成本的估算以及了解取得效益的评估,确定要开发的项目是否值得投资开发。
㈢社会可行性:要开发的项目是否存在任何侵犯、妨碍等责任问题,要开发项目的运行方式在用户组织内是否行得通,现有管理制度、人员素质、操作方式是否可行。
2、什么是模块的影响范围?什么是模块的控制范围?他们之间应该建立什么关系?一个模块的作用范围(或称影响范围)指受该模块内一个判定影响的所有模块的集合。
一个模块的控制范围指模块本身以及其所有下属模块(直接或间接从属于它的模块)的集合。
一个模块的作用范围应在其控制范围之内,且判定所在的模块应在其影响的模块在层次上尽量靠近。
如果再设计过程中,发现模块作用范围不在其控制范围之内,可以用“上移判点” 或“下移受判断影响的模块,将它下移到判断所在模块的控制范围内”的方法加以改进。
3、非渐增式测试与渐增式测试有什么区别?渐增式测试如何组装模块?非渐增式测试与渐增式测试的测试方法有以下区别:㈠非渐增式测试方法把单元测试和集成测试分成两个不同的阶段,前一阶段完成模块的单元测试,后一阶段完成集成测试。
而渐增式测试往往把单元测试与集成测试和在一起,同时完成。
㈡非渐增式需要更多的工作量,因为每个模块都需要驱动模块和桩模块,而渐增式利用已测试过的模块作为驱动模块或桩模块,因此工作量较少。
㈢渐增式可以较早的发现接口之间的错误,非渐增式最后组装是才发现。
软件工程—简答题
软件工程—简答题四、简答题1. 简述软件危机产生的原因。
答案:软件危机产生的原因有:(每点1分)(1)软件的规模越来越大,结构越来越复杂。
(2)软件开发的管理困难。
由于软件规模大,结构复杂,又具有无形性,导致管理困难,进度操纵困难,质量操纵困难,可靠性无法保证。
(3)软件开发费用不断增加。
软件生产是一种智力劳动,它是资金密集、人力密集的产业,大型软件投入人力多,周期长,费用上升很快。
(4)软件开发技术、开发工具落后,生产率提高缓慢。
(5)生产方式落后。
软件仍然使用个体手工方式开发。
2. 简述需求分析的概念及需求分析的基本任务。
答案:需求分析是指开发人员要准确懂得用户的要求,进行细致的调查分析,将用户非形式的需求陈述转化为完整的需求定义,再由需求定义转换到相应的形式功能规约(需求规格说明)的过程。
(3分)需求分析的基本任务是要准确地定义新系统的目标,为了满足用户需要,回答系统务必“做什么”的问题。
(2分)3. 简述数据流图的分类及每一类的特点。
答案:数据流图有两类:变换型数据流图与事务型数据流图。
(1分)变换型数据流图是由输入、处理与输出三部分构成,(1分)因此变化型数据流图是一个顺序结构。
(1分)事务型数据流图特征:事务处理中心将它的输入流分离成许多发散的数据流,形成许多加工路径,(1分)并根据输入的值选择其中一个路径来执行。
(1分)4. 简述建立对象模型的过程。
答案:建立对象模型的步骤如下:(每点1分)(1)确定类:标出来自问题域的有关对象类。
(2)准备数据字典:为所有建模实体准备一个数据字典,准确描述各对象类的精确含义,描述当前问题中的类的范围,包含对类的成员、用法方面的假设或者限制;(3)确定关联:确定二个或者多个类之间的相互依靠;(4)确定属性:只考虑与具体应用直接有关的属性(5)使用继承来细化类:使用继承来共享公共结构,以此来重新组织类__全国2010年1月1.简述软件工程面临的问题。
软件工程 简答题复习题(带答案)
软件工程简答题复习题(带答案)软件工程简答题复习题(带答案)1. 什么是软件工程?软件工程是一种系统化、规范化、可量化的方法,用于开发、维护和测试软件系统的过程。
它涵盖了软件开发的各个方面,包括需求分析、设计、编码、测试和维护等。
2. 软件开发生命周期有哪些阶段?常见的软件开发生命周期包括需求分析、系统设计、详细设计、编码、测试、部署和维护等阶段。
3. 什么是需求分析?需求分析是软件开发过程中的第一步,它涉及与客户进行沟通和理解客户需求的过程。
通过需求分析,开发团队可以明确软件系统的功能和性能要求,并将这些要求转化为详细的规格说明。
4. 需求分析的主要目标是什么?需求分析的主要目标是确保开发团队和客户对软件系统的需求达成共识。
它需要明确软件系统的功能需求、性能需求和约束条件,以便后续的设计和开发工作能够按照这些需求进行。
5. 什么是软件设计?软件设计是在需求分析的基础上,根据系统需求和约束条件,将系统划分为模块,确定模块之间的接口和关系,设计出满足系统需求的软件结构和算法的过程。
6. 软件设计的原则有哪些?常见的软件设计原则包括单一职责原则(SRP)、开闭原则(OCP)、里氏替换原则(LSP)、依赖倒置原则(DIP)、接口隔离原则(ISP)和迪米特法则(LoD)等。
7. 什么是软件测试?软件测试是为了评估系统的质量和功能是否满足需求的过程。
它通过设计和执行测试用例,检查系统的输出是否符合预期,并发现潜在的错误和缺陷。
8. 软件测试的分类有哪些?软件测试可以分为单元测试、集成测试、系统测试和验收测试等不同的层次。
单元测试用于测试软件的最小功能单元,集成测试用于测试不同模块之间的交互,系统测试则测试整个系统的功能和性能,验收测试是由客户进行的测试,以确认系统是否达到了合同中规定的要求。
9. 什么是软件维护?软件维护是在软件交付给客户后,为了保证其正常运行和适应环境变化而进行的一系列活动。
维护包括错误修复、性能优化、功能扩展等。
软件工程简答题
软件⼯程简答题三.名词解释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.什么是软件工程?简述软件工程的七条基本原理。
软件工程是一门研究如何用系统化、规范化、数量化等工程原则和方法来进行软件开发和维护的学科。
七条基本原理:用分阶段的生命周期计划严格管理;坚持进行阶段评审;实行严格的产品控制;采用现代程序设计技术;结果应能清楚地审查;开发小组的人员应该少而精;承认不断改进软件工程实践的必要性。
2.什么是软件生存周期模型?请至少列举四种主要的模型。
软件生存周期模型是软件开发全部过程、活动和任务的结构框架。
它能直观表达软件开发全过程,明确规定要完成的主要活动、任务和开发策略。
四种主要的模型:瀑布模型,演化模型,喷泉模型,螺旋模型、基于构件的开发模型3.为什么软件需要维护?简述软件维护的过程。
1)改正在特定使用条件下暴露出来的一些潜在程序错误或设计缺陷;2)因在软件使用过程中数据环境发生变化(如所要处理的数据发生变化)或处理环境发生变化(如硬件或软件操作系统等发生变化),需要修改软件,以适应这种变化;3)用户和数据处理人员在使用时常提出改进现有功能、增加新功能、以及改善总体性能的要求,为满足这些要求,需要修改软件。
软件维护的过程:首先建立维护的机构,申明提出维护申请报告的过程及评价的过程,为每一个维护申请规定标准的处理步骤,建立维护活动的记录保管,并规定复审的标准。
4.影响软件维护工作量的因素有哪些?1)系统大小。
系统越大,功能越复杂,理解掌握起来就越困难,需要的维护工作量越大。
2)程序设计语言。
使用功能强的程序设计语言可以控制程序的规模。
语言的功能越强,生成程序所需的指令数就越少;语言的功能越弱,实现同样功能所需的语句就越多,程序就越大,维护起来就越困难。
3)系统年龄。
老系统比新系统需要更多的维护工作量。
许多老系统在当初并未按照软件工程的要求进行开发,没有文档,或文档太少,或者在长期的维护中许多地方与程序不一致,维护起来困难较大。
4)数据库技术的应用。
使用数据库工具,可有效地管理和存储用户程序中的数据,可方便地修改、扩充报表。
(完整)软件工程简答题必考
(完整)软件工程简答题必考软件工程简答题必考软件工程是一门研究如何通过系统化的、规范化的、可度量的方法来构建和维护软件的学科。
它的目标是通过合理地应用工程的原理、方法和工具,控制软件开发的各个环节,保证软件的质量和进度,并提高开发效率和可维护性。
下面我们来探究一些软件工程的常见简答题,加深对该领域的理解。
1. 请解释什么是软件过程?软件过程是指在软件开发的整个生命周期中,按照一定的流程和方法进行的活动集合。
它包括需求分析、设计、编码、测试、发布和维护等阶段,并通过规范化的文档和工具来管理和支持这些活动。
通过软件过程,开发团队可以更加有效地组织和协调工作,确保软件开发按时、按质量地完成。
2. 请解释软件生命周期模型,并举例说明。
软件生命周期模型描述了软件开发和维护的不同阶段。
常见的软件生命周期模型包括瀑布模型、迭代模型、螺旋模型等。
例如,瀑布模型将软件开发划分为需求分析、设计、编码、测试和维护等阶段,每个阶段顺序进行,并且每个阶段结束后都有相应的文档。
这种模型适用于需求明确、变动较少的项目。
3. 请解释什么是软件需求工程?软件需求工程是指对软件需求进行系统化和规范化的管理过程。
它包括需求获取、需求分析与建模、需求验证与确认等活动。
软件需求工程旨在确保对用户需求的全面理解和准确描述,并将其转化为开发团队可以理解和实现的形式,以此为软件开发提供准确的目标和方向。
4. 请解释什么是软件设计原则,并举例说明。
软件设计原则是指为了提高软件系统的设计质量,而从实践中总结出来的一些指导原则。
常见的软件设计原则包括开闭原则、单一职责原则、里氏替换原则等。
例如,开闭原则要求软件系统对扩展开放,对修改关闭,通过模块化的设计,可以方便地添加新功能而不影响已有功能的正常运行。
5. 请解释什么是软件测试?软件测试是指对已经开发完成的软件系统进行验证和评估的过程。
它旨在发现软件系统中的错误和缺陷,以提高系统的质量和可靠性。
软件测试可以分为单元测试、集成测试、系统测试和验收测试等不同的级别和类型,针对不同的需求和目标进行。
软件工程简答题
2
软件的特性(续1)
软件不会“磨损”。 -硬件的失效率称为“浴缸曲线”。 早期具有相对较高的失效率(来自设计或生产缺 陷), 缺陷被逐个纠正后,失效率随之降低并在一段 时间内保持平稳, 因灰尘、震动、不当使用、温度超限等问题所 造成的硬件组件损耗累积的效果而再次升高。
These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e (McGraw-Hill 2009). Slides copyright 2009 by Roger Pressman.
17
过程模式类型
步骤模式—定义了与过程的框架活动相关的问题。 例如“建立沟通”,它可能包括需求获取等任务模式 任务模式—定义了与软件工程动作或是工作任务相关、 关系软件工程实践成败的问题。 例如“需求获取” 阶段模式—定义在过程中发生的框架活动序列,即使 这些活动流本质上是迭代的。 例如“螺旋模型”和“原型开发”
沟通 策划
increment # 2
Co m m u n i c a t i o n
建模 分析 设计
第2个增量
Pla nning M odeling anal y s is Co n s t ru c t i o n c ode t es t De p l o y m e n t d e l i v e ry fe edbac k
22
增量模型
increment # n
Co m m u n i c a t i o n
第n个增量
Pla nning M odeling anal y s i s des i gn Co n s t ru c t i o n c ode t es t
(完整)软件工程简答题必考
1、什么是软件工程?它目标和内容是什么?软件工程就是用科学的知识和技术原理来定义,开发,维护软件的一门学科。
软件工程目标:付出较低开发成本;达到要求的功能;取得较好的性能;开发的软件易于移植;只需较低的维护费用;能按时完成开发任务,及时交付使用;开发的软件可靠性高。
软件工程内容:包括开发技术和开发管理两个方面.2、软件开发中有哪几种过程模型?哪些适用于面向对象的软件开发?软件开发中常见的软件过程模型有瀑布模型、原型模型、螺旋模型、喷泉模型、统一软件过程等。
其中喷泉模型、统一软件过程适用于面向对象的软件开发。
3、什么是结构分析方法?该方法使用什么描述工具?结构化分析:简称SA,面向数据流进行数据分析的方法。
采用自顶向下逐层分解的分析策略。
顶层抽象地描述整个系统,底层具体地画出系统工程的每个细节.中间层则是从抽象到具体的过渡。
使用数据流图,数据字典,作为描述工具,使用结构化语言,判定表,判定树描述加工逻辑.4、什么是软件概要设计?该阶段的基本任务是什么?把一个软件需求转换为软件表示时,首先设计出软件总的体系结构。
称为概要设计或结构设计.基本任务:⑴设计软件系统结构⑵进行数据结构及数据库的设计⑶编写概要设计的文档⑷评审5、软件维护有哪些内容?(1)校正性维护。
在软件交付使用后,一些隐含的错误在某些特定的使用环境下会暴露出来。
为了识别和纠正错误,修改软件性能上的缺陷,应进行确定和修改错误的过程,这个过程就称为校正性维护。
(2)适应性维护。
为了使应用软件适应计算机硬件、软件环境及数据环境的不断发生的变化而修改软件的过程称为适应性维护。
(3)完善性维护。
为增加软件功能、增强软件性能、提高软件运行效率而进行的维护活动称为完善性维护。
(4)预防性维护。
为了提高软件的可维护性和可靠性而对软件进行的修改称为预防性维护.6、软件测试要经过哪些步骤?这些测试与软件开发各阶段之间有什么关系?软件测试要经过的步骤是:单元测试→集成测试→确认测试→系统测试。
软件工程简答题
软件工程简答题1. 什么是软件工程?软件工程是一门通过系统化、规范化和量化的方法,来开发和维护软件系统的学科。
它关注软件开发全过程中的需求分析、设计、编码、测试和维护等环节,以提高软件质量、降低开发成本和缩短开发周期。
2. 软件工程有哪些基本原则?软件工程遵循以下基本原则:- 按照客户需求导向:软件工程过程应始终以满足客户需求为目标,并持续与客户进行合作和沟通。
- 适应性和灵活性:软件工程方法应当具备适应不同项目需求和灵活变化的能力。
- 风险管理:对项目风险进行有效的识别、评估和管理,以减少项目失败的可能性。
- 团队合作:软件开发需要各个角色之间的密切合作和协同努力。
- 不断改进和学习:软件工程过程应不断反思和改进,学习新的技术和方法,以提高开发效率和质量。
3. 解释软件生命周期模型。
软件生命周期模型是指软件从开始开发到退役的全过程,包括需求分析、设计、编码、测试、发布和维护等阶段。
常见的软件生命周期模型有瀑布模型、迭代模型、螺旋模型等。
- 瀑布模型:按照线性顺序依次进行需求分析、设计、编码、测试和维护等阶段,每个阶段产生的文档和成果是下一个阶段的输入。
- 迭代模型:迭代模型强调快速迭代开发,将软件开发过程划分为多个迭代周期,每个迭代周期内包含需求分析、设计、编码、测试等阶段。
每个迭代周期都会产生可工作的部分软件。
- 螺旋模型:螺旋模型采用风险驱动的迭代方式,每个迭代周期都会评估和处理风险,根据评估结果确定下一步的开发方向。
4. 请解释软件需求工程的概念和目标。
软件需求工程是软件工程中的一个重要领域,旨在确保软件开发过程中对需求进行全面、一致和可验证的规格说明。
其目标包括:- 理解和明确用户和利益相关者的需求。
- 确定需求的优先级和约束条件。
- 分析和定义需求的功能和非功能特性。
- 确保需求的一致性和完整性。
- 验证和验证需求的正确性和满足性。
- 管理和追踪需求变更。
5. 什么是软件验证和确认?软件验证是指通过评审、检查、演练和测试等手段,确认软件是否符合规定的需求和规格要求。
软件工程—简答题
软件工程—简答题软件工程是一门应用科学,致力于在软件开发的过程中有效地管理和控制软件项目。
它涵盖了软件开发生命周期的各个阶段,包括需求分析、设计、编码、测试和维护。
在本文中,我们将解答一些与软件工程相关的简答题。
1. 什么是软件工程?软件工程是一门将工程学原理和方法应用于软件开发过程的学科。
它关注软件开发项目的全面管理,包括需求分析、设计、编码、测试和维护等各个阶段,以确保软件开发过程的高效性和质量。
2. 软件工程的目标是什么?软件工程的目标是通过应用工程原理和方法来开发高质量的软件产品。
它关注于提高软件开发过程的效率和质量,以满足用户需求,并在预算和时间限制下交付可靠的软件。
3. 软件生命周期是什么?软件生命周期是指软件从开始开发到最终退役的整个过程。
它包括需求定义、设计、编码、测试、部署和维护等阶段。
软件生命周期的每个阶段都有特定的任务和产物,确保软件开发过程的有序进行。
4. 什么是需求分析?需求分析是软件开发生命周期的第一步,它旨在收集、分析和定义用户对软件系统的需求。
通过与用户沟通和调研,确定软件系统的功能和性能要求,为后续的设计和开发工作奠定基础。
5. 什么是软件设计?软件设计是根据需求分析的结果,确定软件系统的整体结构、模块划分和算法设计的过程。
它涉及到软件架构设计、数据库设计、界面设计等方面,旨在确保软件系统的可扩展性、可维护性和性能等特性。
6. 什么是软件测试?软件测试是为了发现和修复软件系统中的缺陷和错误。
它通过设计和执行测试用例,验证软件系统的功能、性能和稳定性是否符合预期要求。
软件测试可以帮助开发团队提前发现和解决问题,提高软件质量。
7. 软件维护的目的是什么?软件维护是在软件发布后,对软件系统进行修改和改进的过程。
它旨在解决软件系统中出现的缺陷、改进功能以及应对环境变化等问题。
软件维护的目的是确保软件系统持续满足用户需求,并提供长期的支持和维护。
8. 软件配置管理的作用是什么?软件配置管理是对软件开发过程中的工件进行管理的一种方法。
软件工程简答题
1、什么是软件危机?软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。
这些问题表现在以下几个方面:(1)用户对开发出的软件很难满意。
(2)软件产品的质量往往靠不住。
(3)一般软件很难维护。
(4)软件生产效率很低。
(5)软件开发成本越来越大。
(6)软件成本与开发进度难以估计。
(7)软件技术的发展远远满足不了计算机应用的普及与深入的需要。
2、需求分析的描述工具有哪些?有数据流图、数据字典、判定表、判定树、结构化自然语言、层次方框图、Warnier图、IPO 图和需求描述语言等。
3、什么是模块化?模块设计的准则?模块化是按规定的原则将一个大型软件划分为一个个较小的、相对独立但又相关的模块。
模块设计的准则:(1) 改进软件结构, 提高模块独立性:在对初步模块进行合并、分解和移动的分析、精化过程中力求提高模块的内聚,降低藕合。
(2) 模块大小要适中:大约50行语句的代码,过大的模块应分解以提高理解性和可维护性;过小的模块,合并到上级模块中。
(3) 软件结构图的深度、宽度、扇入和扇出要适当。
一般模块的调用个数不要超过5个。
(4) 尽量降低模块接口的复杂程度;(5) 设计单入口、单出口的模块。
(6) 模块的作用域应在控制域之内。
4、详细设计的主要任务?编写软件的“详细设计说明书”.软件人员要完成的工作:(1) 为每一个模块确定采用的算法, 选择某种适当的工具表达算法的过程,写出模块的详细过程描述.(2) 确定每一模块使用的数据结构.(3) 确定模块结构的细节,包括对系统外部的接口和用户界面,对系统内部其它模块的接口,以及关于模块输入数据、输出数据及局部数据的全部细节.(4) 为每一个模块设计出一组测试用例,以便在编码阶段对模块代码(即程序)进行预定的测试.5、什么是黑盒测试?黑盒测试主要采用的技术有哪些?黑盒测试也称为功能测试,它着眼于程序的外部特征,而不考虑程序的内部逻辑结构。
测试者把被测程序看成一个黑盒,不用关心程序的内部结构。
软件工程—简答题
软件工程—简答题1. 什么是软件工程?软件工程是一门研究和应用如何以系统化、规范化、可靠地开发和维护软件的学科。
它涉及到从需求分析开始,通过设计、编码、测试等阶段来创建高质量的软件产品。
2. 软件生命周期有哪些阶段?请详细描述每个阶段。
(1) 需求分析:在这个阶段中,收集并明确用户对于所需功能和性能方面的要求,并将其转换为具体而清晰的文档形式。
(2) 设计:根据需求分析产生一个或多个解决方案,在此基础上进行架构设计与模块划分,并制定相应的技术实现方案。
(3) 编码:根据设计结果使用合适语言进行代码编写,包括程序结构搭建以及算法实现等内容。
(4) 测试:对已经完成编码部署前后端联调运行环境检查是否符合预期效果, 广泛采取黑盒测试白盒测试灰度发布漏洞扫描压力测验等手法验证项目完整性.(5)交付/部署: 将最新版本的软件交付给用户,并进行部署和安装,确保其在目标环境中正常运行。
(6) 维护:对已经发布的软件进行故障修复、功能升级等维护工作。
3. 什么是需求分析?为什么它很重要?需求分析是指通过与客户沟通并收集信息来明确系统或产品所需要满足的功能、性能以及其他约束条件。
它非常重要,因为: - 定义了项目范围和目标;- 确定了开发方向和优先级;- 提供了一个基准用于评估最终结果是否符合预期;这些都有助于避免后期修改成本高昂且时间紧迫。
4. 软件测试包括哪些类型?请简述每种类型。
- 单元测试: 对代码中独立单元(如函数)进行验证,检查其逻辑正确性。
- 集成测试: 将多个模块组合起来,在整体上验证各个模块之间相互调用关系是否正确- 系统测试: 在完整而真实的操作环境下执行一系列针对整个系统功能、可靠性等特点设计出来全面有效地方法, 检验该软硬设备具备所有必须的功能.- 验收测试: 由用户或客户进行,以验证软件是否满足合同和需求规范中所定义的要求。
- 性能测试:通过模拟实际使用情况来评估系统在不同负载下的性能表现。
软件工程简答题
软件工程简答题1.什么是软件工程?软件工程的目标是什么?答:软件工程是①将系统化的、规范的、可度量的方法应用于软件的开发、运行和维护过程,即将工程化应用于软件开发和管理之中,②对①中所选方法的研究。
目标:1合理预算开发成本,付出较低的开发费用。
2实现预期的软件功能,达到较好的软件性能,满足用户的需求。
3 提高软件的可维护性,降低维护费用。
4 提高软件开发生产率,及时交付使用5 增强软件过程的可见性和可控性,保证软件的质量。
2.可行性研究报告的主要内容是什么?答:可行性研究主要包括以下几个部分:(1)概述(2)技术可行性(3)项目成熟程度(4)市场需求情况和风险分析(5)投资估算及资金筹措(6)经济与社会效益(7)综合实力和产业基础(8)项目实施进度计划(9)其它尚需要说明的必要的方面(10)结论3.什么是需求分析?需求分析阶段的基本任务是什么?答:所谓"需求分析",是指对要解决的问题进行详细的分析,弄清楚问题的要求,包括需要输入什么数据,要得到什么结果,最后应输出什么。
可以说,“需求分析”就是确定要计算机“做什么”。
任务:确定软件项目的目标和范围。
调查使用者的要求,分析软件必须做什么,编写需求规格说明书等它相关文档,并进行必要的需求审查。
除此之外,还包括需求变更控制,需求风险控制,需求版本控制等对需求的管理工作4.什么是结构化分析方法?该方法使用什么描述工具?答:结构化的分析方法是面向数据流的方法,因此,此方法研究的核心是数据的组成和数据流向和对数据的加工处理。
结构化分析方法用抽象模型的概念,按照软件内部数据传递、变换的关系,自顶向下逐层分解,直至找到满足功能要求的所有可实现的软件元素为止描述工具:1系统流程图 2 数据流程图 3数据字典 4 IPO图 5层次方框图 6实体—关系图 7状态—变迁图5.什么是数据流图?其作用是什么?其中的基本符号各表示什么含义?答:数据流图:简称DFD,就是采用图形方式来表达系统的逻辑功能、数据在系统内部的逻辑流向和逻辑变换过程,是结构化系统分析方法的主要表达工具及用于表示软件模型的一种图示方法。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
执行S1
条件组合 A>1,B0
A=2,B=1
执行S2
覆盖 A1,B=0
A=1,B=0
执行S2
A1,B0
A=1,B=1
执行S2
28. 某城市电话号码由三部分组成。它们的名称和内容分别是:
地区码:空白或三位数字
前 缀:非‘0’或‘1’的三位数字
后 缀:4位数字
假定被测程序能接受一切符合上述规定的电话号码,拒绝所有不
今尚未发现错误的测试;
23. 什么是黑盒测试?黑盒测试主要采用的技术有哪些?
黑盒测试也称为 功能测试,它着眼于程序的外部特征,而不考虑程
序的内部逻辑结构。测试者把被测程序看成一个黑盒,不用关心程
序的内部结构。黑盒测试是在程序接口处进行测试,它只检查程序 功能是否能按照规格说明书的规定正常使用,程序是否能适当地接 收输入数据产生正确的输出信息,并且保持外部信息(如数据库或 文件)的完整性。 黑盒测试主要采用技术有:等价分类法、边界值分析法、错误推测 法 和 因果图等技术 24. 什么是白盒测试?白盒测试主要采用的技术有哪些? 测试者了解被测程序的内部结构和处理过程,对程序的所有逻辑路径进行 测试,在不同点检查程序状态,确定实际状态与预期状态是否一致 要采用的技术有:路径测试技术 和 事务处理流程技术,对包含有大量逻辑判断或 条件组合的程序采用基于逻辑的测试技术 25. 路径测试技术中几种主要覆盖的含义 ? 举例说明 ? 语句覆盖: 至少执行程序中所有语句一次 判定覆盖: 使被测程序中的每一个分支至少执行一次。故也称为分 支覆盖 条件覆盖: 执行所有可能的穿过程序的控制路流程 条件组合测试: 设计足够的测试用例,使每个判定中的所有可能条件取值组合至少 执行一次(例略) 26. 等价分类法的测试技术采用的一般方法 ? 举例说明 ? (1) 为每个等价类编号 (2) 设计一个新的测试方案,以尽可能多的覆盖尚未被覆盖的有效等
(20A)723- 无效
字符
4567
4 少于三位
(33 )234- 无效
数字
5678
5 多于三位
(5555)345- 无效
数字
6789
6
有非数字字
(345)5A2- 无效
符
3456
7
起始位
(345)012- 无效
为‘0’
3456
8
起始位
(345)132- 无效
为‘1’
3456
9
少于三位数
(345) 92- 无效
答:(1)提高软件开发过程的能见度
(2) 提高开发效率 (3) 作为开发人员阶段工作成果和结束标志 (4) 记录开发过程的有关信息便于使用与维护 (5) 提供软件运行、维护和培训有关资料 (6) 便于用户了解软件功能、性能 4. 可行性研究包括哪几方面的内容? 答(1)经济可行性:是否有经济效益,多长时间可以收回成本 (2)技术可行性:现有技术能否实现本系统,现有技术人员能否胜任,开发
覆盖种类 需满足的条件
测试数据 期望结果
A>1,B=0
A=2,B=0
执行S1
判定覆盖 A>1,B0或
A=2,B=1或
A1,B=0或
A=1,B=0或 执行S2
A1,B0
A=1,B=1
以下四种情况各出
条件覆盖
现一次
A>1
B=0
A=2,B=0 执行S1
A1
B0
A=1,B=1 执行S2
A>1,B=0
A=2,B=0
(3)确定模块接口的细节
(4)编写过程设计说明书 (5)设计
每一模块的测试用例
21. 编码的任务?
使用选定的程序设计语言,把模块的过程性描述翻译为用语言书写
的源程序(源代码)
22. 软件测试的基本任务?
软件测试是按照特定的规则,发现软件错误的过程;好的测试方案
是尽可能发现迄今尚未发现错误的测试;成功的测试方案是发现迄
简答题 1. 软件工程的七条基本原理是什么? 答: 软件工程的七条基本原理是:
(1) 用分阶段的是的生存周期计划严格管理 (2) 坚持进行阶段评审; (3) 严格实施的产品控制 (4) 采用现代程序技术 (5) 结果应能清楚地审 查; (6) 开发小组的成员应该少而精 (7) 承认不断改进软件工程的必要 性。 2. 良好的编码风格应具备哪些条件? 答:应具备以下条件: (1)使用标准的控制结构 (2)有限制地使用GOTO语句 (3)源程序的文档化 (应具备以下内容)
(3)取款处理:系统将取款单上的取款金额分别记录在存折和帐目文件 中,并从现金库提取现金;最后将现金和存折还给储户
绘制该系统的数据流图和软件结构图
18. 什么是软件生存周期?把生存周期划分为阶段的目的是什么?
答:一个软件从开始计划起,到废弃不用止,成为软件的生存周期。把
整个生存周期划分为较小的阶段,给每个阶段赋予确定而有限的任
和移动的分析、精化过程中力求提高模块的内聚,降低藕合 (2) 模块大小要适中:大约50行语句的代码,过大的模块应分解以提
高理解性和可维护性;过小的模块,合并到上级模块中 (3) 软件结构图的深度、宽度、扇入和扇出要适当一般模块的调用 个数不要超过5个 (4) 尽量降低模块接口的复杂程度 (5) 设计单入口、单出口的模块 (6) 模块的作用域应在控制域之内 10. 什么是模块独立性?用什么度量? 答:模块独立性概括了把软件划分为模块时要遵守的准则,也是判断模
符合规定的电话号码。根据该程序的规格说明,作等价类的划分,并设
计测试方案。
划分等价类
输入条 有效等价类
无效等价类
件
地区码 1.空白;
1. 有非数字字符;2.少于三位
2.三位数;
数字;
3.多于三位数字。
前 缀 3.从200到999之间 4.有非数字字符;5.起始位
的三位
为‘0’;
6.起始位为‘1’; 7.少于三
应用过程中需要随用户新的要求或运行环境的变化而进行软件的修改或
完成功能的增删等,为了提高软件的应用水平和使用寿命,软件的维护
是不可避免的。
22.试由程序流程图导出程序图
1 入口
F
2 A>1
T
T
3
8 B=0
X=X/A
F
4 A=2
T
5
F
X>1
T
9 6
X=X+1
F
7 出口
(a)程序流程图 程序图
(b)导出
①有意义的变量名称 —— “ 匈牙利命名规则 ” ②适当的注释 ——“ 注释规范 ” ③标准的书写格式: ——用分层缩进的写法显示嵌套结构的层次(锯齿形风格) ——在注释段的周围加上边框 ——在注释段与程序段、以及不同程序段之间插入空行 ——每行只写一条语句 ——书写表达式时,适当使用空格或圆括号等作隔离符 (4)满足运行工程学的输入输出风格 3. 简述文档在软件工程中的作用
字
3456
10
多于三位数
(345)4562- 无效
字
3456
11
有非数字 (345)342- 无效
字符
3A56
12
少于四位 (345)342- 无效
数字
356
13
多于四位 (345)562- 无效
数字
34567
29.为什么说软件的维护是不可避免的?
因为软件的开发过程中,一般很难检测到所有的错误,其次软件在
答:用例图、类/对象图、对象关系图、实体—关系图(E—R)、事件轨 迹图(时序图)和状态转换图(STD)等
7. UML统一建模语言有哪几种图形? 用例图、类图、对象图、构件(组件)图、部署(配置)图、状态
图、活动图、顺序(时序)图、合作(协作)图等九种图 8. 在面向对象分析时类和对象的静态关系主要有哪几种? 答:类和对象的静态关系主要有关联、聚集、泛化、依赖等四种关系 9. 什么是模块化?模块设计的准则? 模块化是按规定的原则将一个大型软件划分为一个个较小的、相对 独立但又相关的模块 模块设计的准则: (1) 改进软件结构, 提高模块独立性:在对初步模块进行合并、分解
块构造是不是合理的标准。独立性可以从两个方面来度量:即模块 本身的内聚和模块之间的耦合。 11. 变换型数据流由哪几部分组成?
变换型结构由三部分组成: 传入路径、变换(加工)中心 和 传出路 径 12. 变换分析设计的步骤? (1) 区分传入、传出和变换中心三部分,划分DFD图的分界线 (2) 完成第一级分解:建立初始SC图的框架 (3) 完成第二级分解:分解SC图的各个分支 (4) 对初始结构图按照设计准则进行精化与改进 13. 事务型数据流由哪几部分组成?
17.欲开发一个银行的活期存取款业务的处理系统:储户将填好的存/取 款单和存折交给银行工作人员,然后由系统作以下处理
(1)业务分类处理:系统首先根据储户所填的存/取款单,确定本次业务的 性质,并将存/取款单和存折交下一步处理
(2)存款处理:系统将存款单上的存款金额分别记录在存折和帐目文件 中,并将现金存入现金库;最后将存折还给储户
事务型结构由至少一条接受路径、一个事务中心与若干条动作路径 组成 14. 事务分析设计的步骤? (1) 在DFD图中确定事务中心、接收部分(包含全部接收路径) 和 发
送部分(包含全部动作路径) (2) 画出SC图框架,把DFD图的三部分,分别映射"为事务控制模块,接
收模块和动作发送模块.一般得到SC图的顶层和第一层(如果第一 层简单可以并入顶层) (3) 分解和细化接收分支和动作分支,完成初始的SC图 (4) 对初始结构图按照设计准则进行精化与改进 15.数据字典包括哪些内容? 数据字典是描述数据流图中数据的信息的集合。它对数据流图上每 一个成分:数据项、文件(数据结构)、数据流、数据存储、加工和外部 项等给以定义和说明;它主要由数据流描述、加工描述和文件描述三部 分组成 16.给出一组数从小到大的排序算法,分别用下列工具描述其详细过 程: (1)流程图;(2)N-S图;(3) PDL语言