软件工程期末考试简答题汇总
软件工程简答题总结复习题带包括答案
第一章1,与计算机硬件对比,计算机软件有哪些特色?软件的特色以下。
1)没法直接察看计算机软件的物理形态,只好经过察看它的实质运转状况来认识它的功能、特征和质量等。
2)人们在剖析、设计、开发、测试软件产品,以及在软件开发项目的管理过程中,浸透了大批的脑力劳动。
3)不存在像硬件同样的磨损和老化现象,但存在着缺点保护和技术更新的问题。
4)软件的开发和运转一定依靠于特定的计算机系统环境。
5)拥有可复用性。
3,什么是软件危机?什么原由致使了软件危机?软件危机的现象以下。
1)经费高出估量,项目再三迟延。
2)不重视需求,开发的软件不可以知足用户的要求,项目成功率低。
3)没有规范的软件工程方法,软件可保护性差、软件质量差、靠谱性差。
4)开发工具落伍,手工方式,开发效率低。
全部致使软件危机的原由,都与软件自己的产品特色有关。
1)软件是一个复杂的逻辑产品。
假如没有解决复杂问题的有效方法,以及软件产品的结构、质量、可保护性得不到保障,开发与保护花费就会连续高升。
2)软件产品不可以实现大规模复用,这致使了软硬件生产效率的不一样。
3)软件生产是脑力劳动,它看不见、摸不着,开发成本、开发周期等都没法做到正确估量,生产过程不易控制。
4)软件成本主假如由研发成本构成;而硬件的生产成本主假如资料和制造成本,分摊的研发成本极少,即软件研发过程与硬件制造过程对比要复杂得多。
5,请简述软件工程研究的内容。
软件工程研究的内容包含软件开发方法、软件开发模型、软件支持过程和软件管理过程。
软件开发方法的内容涵盖市场调研、正式立项、需求剖析、项目策划、纲要设计、详尽设计、编程、测试、试运转、产品公布、用户培训、产品复制、销售、实施、系统保护、版本升级等。
常用的软件开发模型有瀑布模型、迭代模型、增量模型和原型模型等。
软件支持过程由所支持的CASE工具构成,常用的 CASE工拥有 Power Designer 和Rational Rose 等。
7,请简述软件工程的目标、过程和原则。
《软件工程》期末复习简答题.docx
软件工程期末复习简答题1、试从软件的特点出发分析软件危机产生的原因。
2、一个程序片段如下,请设计符合条件组合覆盖的测试用例。
if (a>=4) && (b<0) (c=a+b;elsec=a-b;if (03) || (c<l)printf(u c不在计算区域\n”)elseprintf("%d\n", c);3、面向对象的分析通常要建立三个模型,请问三个模型的作用?4、软件工程为什么要强调规范化和文档化?5、读懂下面的程序,调整格式,使其更容易理解,并添加注释。
int main(){int a[10];for (int i =0;i〈10;i++)scanf( "%d" , a[i]);int max=a[O], min=a[l];for (int j = 0;j<10;j++)(max=(max>a[j]?max:a[j]);min=(min<a[j]?min:a[j]);}printf(〃max二%d〃,max);printf(〃min= %d〃, min);printf(〃\n〃);return 0;}6、软件需求可以分为业务需求、用户需求、功能需求和非功能需求,请分析业务需求与用户需求的区别?7、一个程序片段如下,请设计符合判定覆盖的测试用例。
if (a>=5) && (b<0) (c=a+b;elsec=a-b;if(c>5) || (c<l)printf(u c 不在计算区域\n”)elseprintf("%d\n", c);8、请说明对象模型的作用是什么?9、 请说明IPO 图的作用,并给出一个IPO 图的模板。
10、 什么是耦合?什么是内聚?请画图说明软件工程的层次化结构,并详细分析中间两层的内容。
int main() int a,b,c,x,y,z;scanf("d%,d%,d%),&a,&b,&c);if a>5 x=10 else x=l;if b>10 y=20 else y=2;if 015 z=30 else z=3;prin 顷"d%,d%,d%\n",x,y,z)13、请说明快速原型化模型的基本思想。
(完整word版)软件工程简答题必考
1、什么是软件工程?它目标和内容是什么?软件工程就是用科学的知识和技术原理来定义,开发,维护软件的一门学科.软件工程目标:付出较低开发成本;达到要求的功能;取得较好的性能;开发的软件易于移植;只需较低的维护费用;能按时完成开发任务,及时交付使用;开发的软件可靠性高.软件工程内容:包括开发技术和开发管理两个方面。
2、软件开发中有哪几种过程模型?哪些适用于面向对象的软件开发?软件开发中常见的软件过程模型有瀑布模型、原型模型、螺旋模型、喷泉模型、统一软件过程等。
其中喷泉模型、统一软件过程适用于面向对象的软件开发.3、什么是结构分析方法?该方法使用什么描述工具?结构化分析:简称SA,面向数据流进行数据分析的方法.采用自顶向下逐层分解的分析策略.顶层抽象地描述整个系统,底层具体地画出系统工程的每个细节。
中间层则是从抽象到具体的过渡。
使用数据流图,数据字典,作为描述工具,使用结构化语言,判定表,判定树描述加工逻辑.4、什么是软件概要设计?该阶段的基本任务是什么?把一个软件需求转换为软件表示时,首先设计出软件总的体系结构。
称为概要设计或结构设计。
基本任务:⑴设计软件系统结构⑵进行数据结构及数据库的设计⑶编写概要设计的文档⑷评审5、软件维护有哪些内容?(1)校正性维护。
在软件交付使用后,一些隐含的错误在某些特定的使用环境下会暴露出来。
为了识别和纠正错误,修改软件性能上的缺陷,应进行确定和修改错误的过程,这个过程就称为校正性维护.(2)适应性维护。
为了使应用软件适应计算机硬件、软件环境及数据环境的不断发生的变化而修改软件的过程称为适应性维护。
(3)完善性维护。
为增加软件功能、增强软件性能、提高软件运行效率而进行的维护活动称为完善性维护。
(4)预防性维护。
为了提高软件的可维护性和可靠性而对软件进行的修改称为预防性维护。
6、软件测试要经过哪些步骤?这些测试与软件开发各阶段之间有什么关系?软件测试要经过的步骤是:单元测试→集成测试→确认测试→系统测试.单元测试对源程序中每一个程序单元进行测试,检查各个模块是否正确实现规定的功能,从而发现模块在编码中或算法中的错误。
《软件工程》期末考试题及答案
《软件工程》期末考试题及答案一、选择题(每题2分,共20分)1. 以下哪个不属于软件工程的三个基本活动?A. 软件规格B. 软件设计C. 软件编码D. 软件测试答案:D2. 以下哪种编程范式主要用于降低软件复杂性?A. 面向对象编程B. 过程式编程C. 函数式编程D. 逻辑编程答案:A3. 以下哪个不属于软件工程的基本原则?A. 分而治之B. 信息隐藏C. 模块化D. 编码规范答案:D4. 以下哪个不是软件工程的四大支柱?A. 软件需求B. 软件设计C. 软件验证D. 软件项目管理答案:C5. 以下哪种软件过程模型是迭代和增量的?A. 瀑布模型B. 快速应用开发C. 敏捷开发D. 原型模型答案:C6. 以下哪个不是软件测试的级别?A. 单元测试B. 集成测试C. 系统测试D. 需求测试答案:D7. 以下哪种软件维护类型是最常见的?A. 更正性维护B. 适应性维护C. 完善性维护D. 预防性维护答案:A8. 以下哪个不属于软件项目的风险管理策略?A. 风险避免B. 风险转移C. 风险减轻D. 风险接受答案:B9. 以下哪个不属于软件需求分类?A. 功能需求B. 性能需求C. 可用性需求D. 测试需求答案:D10. 以下哪个不属于软件设计的准则?A. 模块化B. 信息隐藏C. 功能耦合D. 数据抽象答案:C二、填空题(每题2分,共20分)11. 软件工程的主要目标是提高软件的__________和降低软件的__________。
答案:可维护性、成本12. 软件开发的三个基本阶段是:__________、__________、__________。
答案:需求分析、设计、实现13. 软件过程模型分为__________模型和__________模型。
答案:预测性、适应性14. 软件测试的四个基本级别是:__________、__________、__________、__________。
答案:单元测试、集成测试、系统测试、验收测试15. 软件维护的四种类型是:__________、__________、__________、__________。
2023软件工程导论期末考试题库及参考答案
2023软件工程导论期末考试题库及参考答案一、选择题(每题2分,共20分)1. 以下哪个不是软件工程的三个基本目标?A. 可维护性B. 可用性C. 可靠性D. 高效性参考答案:D2. 软件生命周期中,以下哪个阶段是软件开发过程的核心阶段?A. 需求分析B. 设计C. 编码D. 测试参考答案:C3. 以下哪种编程范式主要用于降低软件复杂性?A. 面向对象编程B. 过程式编程C. 函数式编程D. 逻辑编程参考答案:A4. 在软件工程中,以下哪个方法用于估算软件项目的成本和进度?A. COCOMOB. WBSC. SDLCD. CASE参考答案:A5. 以下哪个是软件工程中的一个重要原则?A. 分而治之B. 一次性编写C. 重用D. 模块化参考答案:D6. 以下哪个不是软件工程的基本活动?A. 软件规格B. 软件开发C. 软件验证D. 软件测试参考答案:C7. 以下哪个是软件工程中用于提高软件质量的技术?A. 设计模式B. 重构C. 代码审查D. 单元测试参考答案:C8. 以下哪个不是软件工程的五大基本过程?A. 软件规格B. 软件开发C. 软件维护D. 软件项目管理参考答案:D9. 以下哪个是软件工程中的一个重要概念,用于描述软件系统中的各个组件之间的关系?A. 耦合B. 内聚C. 模块化D. 重用参考答案:A10. 以下哪个是软件工程中的一个重要原则,用于指导软件开发过程?A. 迭代B. 增量C.螺旋D. 模型驱动参考答案:A二、填空题(每题2分,共20分)11. 软件工程的三要素是:方法、工具和______。
参考答案:过程12. 软件生命周期包括:需求分析、设计、编码、______和软件维护。
参考答案:测试13. 软件工程中的面向对象方法包括:封装、继承和______。
参考答案:多态14. 软件工程中的 CASE 工具主要用于支持______。
参考答案:软件设计和开发15. 软件工程中的敏捷开发方法强调______、可维护性和可扩展性。
软件工程期末考试参考题及答案
一、填空题(每空1分, 共20分)1.软件生存周期一般可分为__问题定义__、可行性研究、_需求分析_____、设计编码、__测试________、运行与维护阶段。
2.按软件旳功能进行划分, 软件可以划分为系统软件、支撑软件和应用软件。
3.可行性研究重要集中在如下四个方面经济可行性、技术可行性、法律可行性和抉择。
4.顾客界面旳可使用性是顾客界面设计最重要旳也是最基本旳目旳。
5.常见旳软件概要设计措施有3大类: 以数据流图为基础构造模块构造旳___构造化设计措施_________, 以数据构造为基础构造模块旳__jackson措施__________, 以对象、类、继承和通信为基础旳__面向对象设计措施__________。
6.__数据流图________和__数据字典___共同构成系统旳逻辑模型。
7.软件测试旳措施有__分析措施________和___非分析措施_______(即黑盒法)。
8.单元测试一般以___白盒_____________测试为主, ___黑盒______测试为辅。
9.成本估计措施重要有__自底向上估计________、_自顶向下估计_________和算法模型估计三种类型。
二、单项选择题(每题2分, 共10分)1.下列哪个阶段不属于软件生存周期旳三大阶段( C )。
A.计划阶段B.开发阶段2. C.编码阶段 D.维护阶段3.需求分析是(A )。
A. 软件开发工作旳基础B. 软件生存周期旳开始C. 由系统分析员单独完毕旳D. 由顾客自己单独完毕旳原型化措施是软件开发中一类常用旳措施, 它与构造化措施相比较, 更需要( B )。
A. 明确旳需求定义B.完整旳生命周期C、较长旳开发时间D、纯熟旳开发人员软件维护时, 对测试阶段未发现旳错误进行测试、诊断、定位、纠错, 直至修改旳回归测试过程称为( A )。
A、改正性维护B、适应性维护C、完善性维护D、防止性维护一般说来, 投入运行旳软件系统中有错误(A )。
软件工程常考简答题
绪论1、什么是软件工程?软件工程和计算机科学有何区别?答:软件工程是以计算机科学理论及其他有关学科旳理论为指导,采用工程化旳概念、原理、技术和措施进行软件旳开发和维护,把通过时间证明是对旳旳管理措施和目前可以得到旳最佳旳技术、措施相结合,以期用较少旳代价获取高质量旳软件。
计算机科学侧重于理论研究,其成果可应用于软件工程,而软件工程则强调怎样有效旳建造一种软件系统。
2、什么是软件?答:计算机软件是与计算机系统操作有关旳程序、规程、规则及任何与之有关旳文档及数据;3、什么是软件危机?分析其产生旳原因与挣脱危机旳措施,你认为目前已经挣脱软件危机了吗?请阐明理由。
软件危机是指在计算机软件旳开发和维护过程中所碰到旳一系列严重问题。
重要是两个问题:(1)怎样开发软件,怎样满足对软件旳日益增长旳需求;(2怎样维护数量不停膨胀旳已经有软件;软件危机旳出现,究其原因,首先是由软件自身旳特点引起旳,如软件越来越复杂,软件故障难于检测,工作量难以估计;另首先则是由于软件开发和维护措施不妥所导致旳,如软件旳个体化特性太强等。
为了挣脱软件危机所导致旳困境,提出软件工程旳概念,其重要思绪是:要把人类长期以来从事多种工程项目所积累起来旳行之有效旳原理,概念,技术和措施,尤其是人类从事计算机硬件研究和开发旳经验教训,应用到软件旳开发和维护中来。
我认为我国目前尚未完全挣脱软件危机,由于伴随经济发展,各行各业对软件人才旳需求不停扩大,由于我国旳软件人才缺口仍旧很大,导致了某些行业内软件开发进度难以预测,软件开发成本难以控制,顾客对产品功能难以满足,软件产品质量无法保证,软件产品难以维护,软件缺乏合适旳文档资料。
4、软件产品旳特性是什么?软件是一种逻辑产品,具有无形性;软件产品旳生产重要是研制;软件不存在磨损和老化问题,但存在退化问题;软件产品旳生产重要是脑力劳动;软件产品生产成本昂贵,目前生产方式尚未挣脱手工生产方式;软件具有“复杂性”,其开发和运行常受到计算机系统旳限制。
软件工程简答题
软件工程简答题三、简答题(简要回答下列问题)1、什么就是软件工程?它目标与内容就是什么?软件工程就就是用科学的知识与技术原理来定义,开发,维护软件的一门学科。
软件工程目标:付出较低开发成本;达到要求的功能;取得较好的性能;开发的软件易于移植;只需较低的维护费用;能按时完成开发任务,及时交付使用;开发的软件可靠性高。
软件工程内容:包括开发技术与开发管理两个方面。
2、软件开发中有哪几种过程模型?哪些适用于面向对象的软件开发?软件开发中常见的软件过程模型有瀑布模型、原型模型、螺旋模型、喷泉模型、统一软件过程等。
其中喷泉模型、统一软件过程适用于面向对象的软件开发。
3、什么就是结构分析方法?该方法使用什么描述工具?结构化分析:简称SA,面向数据流进行数据分析的方法。
采用自顶向下逐层分解的分析策略。
顶层抽象地描述整个系统,底层具体地画出系统工程的每个细节。
中间层则就是从抽象到具体的过渡。
使用数据流图,数据字典,作为描述工具,使用结构化语言,判定表,判定树描述加工逻辑。
4、什么就是软件概要设计?该阶段的基本任务就是什么?把一个软件需求转换为软件表示时,首先设计出软件总的体系结构。
称为概要设计或结构设计。
基本任务:⑴设计软件系统结构⑵进行数据结构及数据库的设计⑶编写概要设计的文档⑷评审5、软件维护有哪些内容?(1)校正性维护。
在软件交付使用后,一些隐含的错误在某些特定的使用环境下会暴露出来。
为了识别与纠正错误,修改软件性能上的缺陷,应进行确定与修改错误的过程,这个过程就称为校正性维护。
(2)适应性维护。
为了使应用软件适应计算机硬件、软件环境及数据环境的不断发生的变化而修改软件的过程称为适应性维护。
(3)完善性维护。
为增加软件功能、增强软件性能、提高软件运行效率而进行的维护活动称为完善性维护。
(4)预防性维护。
为了提高软件的可维护性与可靠性而对软件进行的修改称为预防性维护。
6、软件测试要经过哪些步骤?这些测试与软件开发各阶段之间有什么关系?软件测试要经过的步骤就是:单元测试→集成测试→确认测试→系统测试。
《软件工程》期末简答和名词解释
简答:(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、典型的详细设计工具有流程图、盒图、、类程序设计语言。
问题反馈【教师释疑】正确答案:【PAD图】2、UML是一种语言。
问题反馈【教师释疑】正确答案:【可视化】3、类是一组具有属性、操作、关系和语义的对象的描述。
问题反馈【教师释疑】正确答案:【相同】4、对象是类的一个。
问题反馈【教师释疑】正确答案:【实例】5、用况图是一种表达系统模型的图形化工具。
问题反馈【教师释疑】正确答案:【功能】6、UML中的顺序图是一种交互图,即由一组对象以及按组织的对象之间的关系组成。
问题反馈【教师释疑】正确答案:【时序】7、模块的作用域是指受该模块内一个所影响的所有模块的集合。
问题反馈【教师释疑】正确答案:【判定】8、模块的控制域是指这个模块本身以及所有直接或间接它的模块的集合。
问题反馈【教师释疑】正确答案:【从属于】9、在数据流图中引入数据源和数据潭这两个术语的目的是为了表示系统的,可以使用它们和相关数据流来定义系统的。
问题反馈【教师释疑】正确答案:【环境|边界】10、模块结构图是系统的一个高层蓝图,允许设计人员在较高的层次上进行抽象思维。
模块结构图可用和两种形式来表示。
问题反馈【教师释疑】正确答案:【层次图|HIPO图】11、在设计模块结构图时要基于原则来设计模块。
问题反馈【教师释疑】正确答案:【高内聚低耦合】12、在进行总体结构设计时,人们通过长期的软件开发实践,总结出一些实现模块“高内聚低耦合”的启发式规则,对初始的模块结构图进行精化,其中一条规则是“尽力使模块的在其控制域之内”。
问题反馈【教师释疑】正确答案:【作用域】13、在进行总体结构设计时,人们通过长期的软件开发实践,总结出一些实现模块“高内聚低耦合”的启发式规则,对初始的模块结构图进行精化,其中一条规则是“力求深度、宽度、扇出和扇入”。
问题反馈【教师释疑】正确答案:【适中】14、在进行总体结构设计时,人们通过长期的软件开发实践,总结出一些实现模块“高内聚低耦合”的启发式规则,对初始的模块结构图进行精化,其中一条规则是“改进软件结构,提高模块的”。
软件工程期末试卷简答题(答案)
软件⼯程期末试卷简答题(答案)软件⼯程简答1、软件和软件⽣存周期。
(什么是软件⽣存期。
)软件是能够完成预定功能和性能的可执⾏的计算机程序,包括使程序正常执⾏所需要的数据,以及有关描述程序操作和使⽤的⽂档。
(软件=程序+⽂档)软件⽣存周期:由软件定义、软件开发、运⾏维护3个时期组成,每个时期⼜进⼀步划分成若⼲阶段。
软件⽣存周期就是从提出软件产品开始,直到该软件产品被淘汰的全过程。
2、什么是软件危机?他有哪些典型的表现?产⽣的原因?软件危机是指计算机软件开发和维护过程中所遇到的⼀系列严重问题。
典型表现有:(1)对软件开发成本和进度的估计常常很不准确(2)软件产品的质量往往靠不住(3)⽤户对已完成的软件系统不满意的现象经常发⽣(4)软件常常是不可维护的(5)软件中没有适当的⽂档资料(6)软件成本在计算机系统总成本所占的⽐例逐年上升(成本上升)(7)软件开发⽣产率提⾼的速度,往往跟不上计算机应⽤迅速普及深⼊的趋势原因:(1)软件本⾝独有的特点,给开发和维护带来了困难(2)与软件开发和维护的⽅法不正确有关(3)程序只是完整软件的⼀个组成部分(4)轻视是⼀个最⼤的错误3、软件项⽬的质量管理制定软件质量保证计划,按照质量评价体系控制软件质量要素,对阶段性的软件产品进⾏评审,对最终软件产品进⾏确认,确保软件质量。
5、螺旋模型的适应场合有哪些?0104适应场合:⽀持需求不明确、特别是⼤型软件系统的开发,并⽀持⾯向规格说明、⾯向过程、⾯向对象等多种软件开发⽅法,是⼀种具有⼴阔前景的模型。
6.什么是软件过程?它与软件⼯程⽅法学有何关系?(1)软件过程是为了获得⾼质量软件所需要完成的⼀系列任务的框架,它规定了完成各项任务的⼯作步骤。
(2) 软件过程是软件⼯程⽅法学的3个重要组成部分之⼀。
(3) 软件⼯程⽅法学包含三个要素:⽅法、⼯具和过程。
7.简述软件设计的过程。
答:软件设计是把许多事物和问题抽象起来,并且抽象它们不同层次和⾓度,是将需求转变为软件陈述的过程,是迭代的过程。
软件工程—简答题
软件工程—简答题四、简答题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)采用技术手段和工具。
质量保证活动要贯彻开发过程始终,必须从采用技术手段和工具,尤其是使用软件开发环境来进行软件开发。
(2)组织正式技术评审。
在软件开发的第一个阶段结束时,都要组织正式的技术评审。
国家标准要求单位必须采用审查、文档评审、设计评审、审计和测试等具体手段来保证质量。
(3)加强软件测试。
软件测试是质量保证的重要手段,因为测试可发现软件中大多数潜在错误。
(4)推选软件工程规范(标准)。
用户可以自己制定软件工程规范(标准),但标准一旦确认就应贯彻执行。
(5)对软件的变更进行控制。
软件的修改和变更常常会引起潜伏的错误,因此必须严格控制软件的修改和变更。
(6)对软件质量进行度量。
即对软件质量进行跟踪,及时记录和报告软件质量情况。
2. 如何控制因修改而引起的副作用?答案:为了控制因修改而引起的副作用,要做到:(1)按模块把修改分组;(2)自顶向下地安排被修改模块的顺序;(3)每次修改一个模块;(4)对每个修改了的模块,在安排修改下一个模块之前要确定这个修改的副作用,可使用交叉引用表、存储映像表、执行流程跟踪等。
3. 渐增模型有几种?各有何特点?答案:渐增模型是瀑布模型的变种,它有两类: (1)增量构造模型。
它在瀑布模型基础上,对一些阶段进行整体开发,对另一些阶段进行增量开发。
也就是说在前面的开发阶段按瀑布模型进行整体开发,后面的开发阶段按增量方式开发。
(2)演化提交模型。
它在瀑布模型基础上,所有阶段都进行增量开发,也就是说不仅是增量开发,也是增量提交。
4. 对软件开发环境的基本要求有那些?答案:(1)软件开发环境应是高度集成的一体化的系统。
(2)软件开发环境应具有高度的通用性。
(3)软件开发环境应易于定制、裁剪或扩充以符合用户要求,即软件开发环境应具有高度的适应性和灵活性。
(完整)软件工程简答题必考
(完整)软件工程简答题必考软件工程简答题必考软件工程是一门研究如何通过系统化的、规范化的、可度量的方法来构建和维护软件的学科。
它的目标是通过合理地应用工程的原理、方法和工具,控制软件开发的各个环节,保证软件的质量和进度,并提高开发效率和可维护性。
下面我们来探究一些软件工程的常见简答题,加深对该领域的理解。
1. 请解释什么是软件过程?软件过程是指在软件开发的整个生命周期中,按照一定的流程和方法进行的活动集合。
它包括需求分析、设计、编码、测试、发布和维护等阶段,并通过规范化的文档和工具来管理和支持这些活动。
通过软件过程,开发团队可以更加有效地组织和协调工作,确保软件开发按时、按质量地完成。
2. 请解释软件生命周期模型,并举例说明。
软件生命周期模型描述了软件开发和维护的不同阶段。
常见的软件生命周期模型包括瀑布模型、迭代模型、螺旋模型等。
例如,瀑布模型将软件开发划分为需求分析、设计、编码、测试和维护等阶段,每个阶段顺序进行,并且每个阶段结束后都有相应的文档。
这种模型适用于需求明确、变动较少的项目。
3. 请解释什么是软件需求工程?软件需求工程是指对软件需求进行系统化和规范化的管理过程。
它包括需求获取、需求分析与建模、需求验证与确认等活动。
软件需求工程旨在确保对用户需求的全面理解和准确描述,并将其转化为开发团队可以理解和实现的形式,以此为软件开发提供准确的目标和方向。
4. 请解释什么是软件设计原则,并举例说明。
软件设计原则是指为了提高软件系统的设计质量,而从实践中总结出来的一些指导原则。
常见的软件设计原则包括开闭原则、单一职责原则、里氏替换原则等。
例如,开闭原则要求软件系统对扩展开放,对修改关闭,通过模块化的设计,可以方便地添加新功能而不影响已有功能的正常运行。
5. 请解释什么是软件测试?软件测试是指对已经开发完成的软件系统进行验证和评估的过程。
它旨在发现软件系统中的错误和缺陷,以提高系统的质量和可靠性。
软件测试可以分为单元测试、集成测试、系统测试和验收测试等不同的级别和类型,针对不同的需求和目标进行。
软件工程期末考试简答题汇总
软件⼯程期末考试简答题汇总1什么是软件⼯程?基本原理有哪些? (6)2成本_效益分析可⽤哪些指标进⾏度量?(写出公式) (6)3什么是数据流图?其中的基本符号各表⽰什么含义?画出定货系统基本数据流图。
6 4⾮渐增式测试与渐增式测试有什么区别? (6)5试从基本符号和设计⽅法分析HC图与JACKSON图异同点 (6)6软件测试的⽬的是什么? (7)7结构化程序设计的思想是什么? (7)8请解释极限编程和⾃适应软件开发,并说明其异同? (7)9需求⼯程的起始阶段,需求⼯程师的主要⼯作是? (7)10请画出“在餐厅使⽤信⽤卡付费”这⼀活动的完整⽤例图? (8)11分析说明结构化分析和⾯向对象分析的区别? (8)12 请简要给出评价软件设计质量的标准? (8)13 ⼀个良好的设计类需要满⾜四个特点,请详细描述这四个特点? (8)14软件项⽬估算内容与步骤 (9)15⾯向对象设计的准则是什么?有哪5个层次和4个部分? (9)16简述软件⼯程⽬标和⾯临的主要问题。
(9)17简述软件⼯程过程。
(9)18简述模块独⽴性的原则。
(10)19简述结构化程序设计⽅法的基本要点 (10)20简述软件⽣命周期开发⽅法的基本过程及每个阶段的任务。
(10)21复印机的⼯作流程⼤致如下: (11)22简述⽂档在软件⼯程中的作⽤。
(12)23简述软件项⽬管理过程。
(12)24简述系统分析员应该具备的主要知识结构和基本素质。
(12)25简述何谓软件开发⽅法?请列举四种主要⽅法。
(12)26简述单元测试的基本内容。
(13)27什么是软件⽣存周期模型?请⾄少列举四种主要模型? (13)28衡量模块独⽴的两个标准是什么?它们各表⽰什么含义?(⽹上) (14)29简述⽩盒测试的思想,并列举两种典型的测试技术。
(14)30简述CMM(软件能⼒成熟度模型)5个等级的含义 (14)31简述软件维护的定义 (15)32简述软件测试的定义 (15)33 UML建模中主要包括哪九种图?并说明类图的定义及其中常见的关系有哪些?15 34什么是字据字典?其作⽤是什么?它有哪些条⽬? (15)35软件⼯程的两⼤范型分别是什么?它们有什么不同? (16)36如何画分层数据流图? (16)37⾯向对象程序设计有哪些优点? (16)38在软件测试中,应注意哪些原则? (17)39程序设计风格是指⼀个⼈编制程序时所表现出来的特点、习惯、逻辑思路等。
软件工程简答题复习
简答题1、简述什么是软件危机?软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。
这些问题绝不仅仅是“不能正常运行的”软件才具有的,实际上几乎所有软件都不同程度地存在这些问题。
主要表现,如: 对软件开发成本和进度估计不准确、软件产品的质量靠不住、用户对“已完成的”软件系统不满意、软件开发速度跟不上、软件不可维护以及没有适当的文档资料等。
2、简述软件质量保证的目标。
(1) 事前预防工作,例如,着重于缺陷预防而不是缺陷检查。
(2) 尽量在刚刚引入缺陷时即将其捕获,而不是让缺陷扩散到下一个阶段。
(3) 作用于过程而不是最终产品,因此它有可能会带来广泛的影响与巨大的收益(4) 贯穿于所有的活动之中,而不是只集中于一点。
3、简述螺旋模型的优缺点。
螺旋模型具有以下优点:(1) 设计上的灵活性,可以在项目的各个阶段进行变更。
(2) 以小的分段来构建大型系统,使成本计算变得简单容易。
(3) 客户始终参与每个阶段的开发,保证了项目不偏离正确方向以及项目的可控性。
(4) 随着项目推进,客户始终掌握项目的最新信息,从而使得客户能够和管理层有效地交互。
(5) 对可选方案和约束条件的强调有利于已有软件的重用,也有助于把软件质作为软件开发的一个重要目标。
螺旋模型也存在以下缺点:螺旋模型是风险驱动的,因此要求软件开发人员必须具有丰富的风险评估经验和这方面的专门知识,否则将出现真正的风险: 当项目实际上正在走向灾难时,开发人员可能还以为一切正常。
所以,很难让用户确信这种演化方法的结果是可以控制的。
4、哪些方法有助于提高软件的可理解性?以下方法都有助于提高软件的可理解性(1) 模块化(2) 详细的设计文档(3)结构化设计方法(4)程序内部的文档(5)良好的高级程序设计语言5、什么是单元测试?其内容包括哪些?单元测试又称为模块测试,是针对软件设计的最小单位一程序模块,进行正确性检验的测试工作,其目的在于发现各模块内部可能存在的各种差错。
软件工程期末考试简答题汇总
1什么是软件工程?基本原理有哪些?2成本_效益分析可用哪些指标进行度量?(写出公式) (5)3什么是数据流图?其中的基本符号各表示什么含义?画出定货系统基本数据流图。
(5)4非渐增式测试与渐增式测试有什么区别? (6)5试从基本符号和设计法分析HC图与JACKSON图异同点 (6)6软件测试的目的是什么? (6)7结构化程序设计的思想是什么? (6)8请解释极限编程和自适应软件开发,并说明其异同? (6)9需求工程的起始阶段,需求工程师的主要工作是? (7)10请画出“在餐厅使用信用卡付费”这一活动的完整用例图? (7)11分析说明结构化分析和面向对象分析的区别? (7)12请简要给出评价软件设计质量的标准? (8)13 一个良好的设计类需要满足四个特点,请详细描述这四个特点? (8)14软件项目估算容与步骤 (8)15面向对象设计的准则是什么?有哪5个层次和4个部分? (9)16简述软件工程目标和面临的主要问题。
(9)17简述软件工程过程。
(9)18简述模块独立性的原则。
(9)19简述结构化程序设计法的基本要点 (10)20简述软件生命期开发法的基本过程及每个阶段的任务。
(10)21复印机的工作流程大致如下: (10)22简述文档在软件工程中的作用1123简述软件项目管理过程。
(12)24简述系统分析员应该具备的主要知识结构和基本素质。
(12)25简述谓软件开发法?请列举四种主要法。
(12)26简述单元测试的基本容。
(12)27什么是软件生存期模型?请至少列举四种主要模型? (13)28衡量模块独立的两个标准是什么?它们各表示什么含义?(网上) (13)29简述白盒测试的思想,并列举两种典型的测试技术。
(13)30简述CMM (软件能力成熟度模型)5个等级的含义 (13)31简述软件维护的定义 (14)32简述软件测试的定义................................................ 14 33 UML建模中主要包括哪九种图?并说明类图的定义及其中常见的关系有哪些? (14)34什么是字据字典?其作用是什么?它有哪些条目? (15)35软件工程的两大型分别是什么?它们有什么不同? (15)36如画分层数据流图? (15)37面向对象程序设计有哪些优点? (16)38在软件测试中,应注意哪些原则? (16)39程序设计风格是指一个人编制程序时所表现出来的特点、习惯、逻辑思路等。
软件工程复习资料简答题
三、简答题1、软件开发与写程序有何不一样?答:软件包括程序,程序是软件旳一部分。
软件是程序、数据及其有关文档旳完整集合。
程序只是为了实现软件旳功能和性能规定而编写旳指令序列。
2、软件旳构造设计可以采用多种措施,目前重要使用旳措施有哪几种?内容分别是什么?3、软件质量保证旳重要功能是什么?4、什么是DFD?其意义怎样?解释DFD四要素旳内容。
答:(1)是数据流图英文缩写,是一种描述数据在系统中流动旳图形工具;(2)是以图形方式体现数据处理系统中信息旳传递和变换处理过程,它从数据加工旳角度来描述一种企事业组织中旳业务活动;(3)A圆框符号转换数据流旳处理过程,又称泡。
B方框符号代表位于软件系统边界之外旳信息生产着或消费者。
C箭头符号代表转换之间旳有向流动旳数据项或数据项集合。
D双杠符号代表为一种或多种转换提供数据源或数据存储服务旳缓冲区、文献或数据库。
5、需求分析旳难点重要表目前哪几种方面?答:(1) 问题旳复杂性。
因顾客需求所波及旳原因繁多引起,如运行环境和系统功能等等。
(2)交流障碍。
需求分析波及人员较多,如软件系统顾客、问题领域专家、需求工程师和项目管理员等,这些人具有不一样旳背景知识,处在不一样旳角度,饰演不一样角色。
导致了互相之间交流旳困难。
(3)不完备性和不一致性。
由于多种原因,顾客对问题旳陈说往往是不完备旳,其各方面旳需求还也许存在着矛盾,需求分析要消除矛盾,形成完备及一致性旳定义。
(4)需求易变性。
顾客需求旳变动是一种极为普遍旳问题,虽然是部分变动,也往往会影响到需求分析旳所有,导致不一致性和不完备性。
为了克服上述困难,人们重要围绕着需求分析旳措施及自动化工具(如CASE技术)等方面进行研究。
6、白盒测试中旳逻辑覆盖有哪几种常用旳覆盖技术?试对它们旳检错能力进行比较。
答:(1)语句覆盖(2) 鉴定覆盖(比语句覆盖严格些)(3) 条件覆盖(比单是鉴定覆盖要严格)(4) 鉴定/条件测试(条件覆盖也不一定满足鉴定覆盖,由于只符合条件覆盖旳用例也许会不满足每个鉴定语句均有真值或假值出现。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1什么是软件工程?基本原理有哪些? (6)2成本_效益分析可用哪些指标进行度量?(写出公式) (6)3什么是数据流图?其中的基本符号各表示什么含义?画出定货系统基本数据流图。
6 4非渐增式测试与渐增式测试有什么区别? (6)5试从基本符号和设计方法分析HC图与JACKSON图异同点 (6)6软件测试的目的是什么? (7)7结构化程序设计的思想是什么? (7)8请解释极限编程和自适应软件开发,并说明其异同? (7)9需求工程的起始阶段,需求工程师的主要工作是? (7)10请画出“在餐厅使用信用卡付费”这一活动的完整用例图? (8)11分析说明结构化分析和面向对象分析的区别? (8)12 请简要给出评价软件设计质量的标准? (8)13 一个良好的设计类需要满足四个特点,请详细描述这四个特点? (8)14软件项目估算内容与步骤 (9)15面向对象设计的准则是什么?有哪5个层次和4个部分? (9)16简述软件工程目标和面临的主要问题。
(9)17简述软件工程过程。
(9)18简述模块独立性的原则。
(10)19简述结构化程序设计方法的基本要点 (10)20简述软件生命周期开发方法的基本过程及每个阶段的任务。
(10)21复印机的工作流程大致如下: (11)22简述文档在软件工程中的作用。
(12)23简述软件项目管理过程。
(12)24简述系统分析员应该具备的主要知识结构和基本素质。
(12)25简述何谓软件开发方法?请列举四种主要方法。
(12)26简述单元测试的基本内容。
(13)27什么是软件生存周期模型?请至少列举四种主要模型? (13)28衡量模块独立的两个标准是什么?它们各表示什么含义?(网上) (14)29简述白盒测试的思想,并列举两种典型的测试技术。
(14)30简述CMM(软件能力成熟度模型)5个等级的含义 (14)31简述软件维护的定义 (15)32简述软件测试的定义 (15)33 UML建模中主要包括哪九种图?并说明类图的定义及其中常见的关系有哪些?15 34什么是字据字典?其作用是什么?它有哪些条目? (15)35软件工程的两大范型分别是什么?它们有什么不同? (16)36如何画分层数据流图? (16)37面向对象程序设计有哪些优点? (16)38在软件测试中,应注意哪些原则? (17)39程序设计风格是指一个人编制程序时所表现出来的特点、习惯、逻辑思路等。
17 40面向对象分析与面向对象设计的关系? (17)41成本-效益分析的目的是什么?可用哪些指标进行度量? (17)42软件设计分哪几个阶段,它们的主要任务是什么? (18)43用户需求和系统需求各有什么特点? (18)44面向对象设计的准则? (18)45需求分析过程主要有哪几个步骤? (19)46软件设计分哪几个阶段,它们的主要任务是什么? (19)47什么是软件结构图?它有哪些主要元素? (19)48面向对象方法的特点是什么?为什么要用面向对象方法开发软件? (19)49什么是编码风格?请根据自己的编程经验编写一个编程注意事项。
(20)50软件生命期各阶段的任务是什么? (21)51非渐增式测试与渐增式测试有什么区别? (21)52面向对象程序设计有哪些优点? (22)53模块间的耦合性有哪几种? (22)54软件开发步骤包括哪些过程? (22)55数据字典有哪几类元素构成? (23)56大型软件系统的设计思想是什么? (23)57、数据库设计一般分为哪几个阶段?形成哪三种模式?(P101) (23)58什么是软件危机?其产生的原因是什么?(P7) (23)59、概要设计的原则?(P72) (24)60阐述结构化设计的主要思想?(P79) (24)61软件工程主要研究哪些领域?(P16) (25)62.以G.J.Myers的观点,简述对软件测试的目的。
(25)63.就程序设计语言的工程特性而言,对程序编码有哪些要求? (25)64模块的内聚性包括哪些类型? (26)65可行性研究报告的主要内容有哪些? (26)66系统设计的内容是什么? (27)67什么是软件危机?软件危机的表现是什么?其产生的原因是什么? (28)68.软件质量保证应做好哪几方面的工作? (30)69软件复用 (31)70、Case技术 (31)71请说明软件文档的作用?软件开发项目生存期各阶段都包含哪些文档?.. 3172什么是数据字典?其作用是什么?它有哪些条目? (31)73采用黑盒技术设计测试用例有哪几种方法?这些方法各有什么特点? (32)74何谓软件生存周期?其可以划分为几个时期?每个时期又可分为几个阶段?每个阶段的主要任务是什么? (32)75如何做好软件质量保证工作? (33)76什么是软件工程?什么是软件危机? (34)77软件的可行性研究主要研究哪些问题?并对此进行说明。
(34)78什么是黑盒测试,适用的方法有哪些?什么是白盒测试,适用的方法有哪些?3479什么是软件维护?软件维护包括哪四类活动? (35)80有人说:软件开发时,一个错误发现得越晚,为改正它所付出的代价就越大。
请问这句话对否?请解释你的回答。
.......................................... 35 81请将下述有关模块独立性的各种模块内聚,按其内聚度(强度)从高到低排列起来。
.................................................................. 35 1什么是软件工程?基本原理有哪些?软件工程是指导计算机软件开发和维护的工程学科。
用分阶段的生命周期计划管理、坚持阶段评审、实行严格产品控制、采用现代设计技术、结果审查、开发小组人员少而精、并不断改进方法。
2成本_效益分析可用哪些指标进行度量?(写出公式)可用投资回收期、纯收入、投资回收率指标,通过P=F/(1+i)n 计算求得。
3什么是数据流图?其中的基本符号各表示什么含义?画出定货系统基本数据流图。
用符号描绘信息在系统中流动的情况,源点、终点、处理、数据存储、数据流。
4非渐增式测试与渐增式测试有什么区别?两种都用于集成测试。
渐增式是把下一个要测试的摸块同已经测试好的模块结合起来进行测试,每次增加一个模块。
非渐增式先分别测每个模块,再把所有模块按设计要求放在一起结合成所要的程序。
5试从基本符号和设计方法分析HC 图与JACKSON 图异同点答:HC图是面向DFD,而JACKSON图是面向数据结构的。
符号省略。
6软件测试的目的是什么?测试的目的是为了发现错误.7结构化程序设计的思想是什么?答:自上而下,逐步求精8请解释极限编程和自适应软件开发,并说明其异同?答:极限编程和自适应软件开发都属于敏捷过程模型。
极限编程是应用最广泛的敏捷过程(2分)。
按照计划、设计、编码和测试四个框架活动组织。
极限编程建议一系列新颖和有力的技术,保证敏捷团队创建能力体现客户指定优先级特征和功能的频繁软件开发(2分)。
自适应软件开发强调人的合作和团队的组织,按思考、协作和学习的三个框架活动组织,其使用迭代过程。
该过程由自适应循环计划、相对严格的需求收集方法和一个迭代开发循环构成(2分)。
9需求工程的起始阶段,需求工程师的主要工作是?答:需求工程的起始阶段,工程师的主要工作为:1)建立基本的问题需求(2分)2)定义最重要的项目约束以及陈述主要的特征和功能(2分)3)与共利益的各方建立基本的谅解(2分)10请画出“在餐厅使用信用卡付费”这一活动的完整用例图?11分析说明结构化分析和面向对象分析的区别?答:分析建模的目标是创建各种表现形式,以描述软件信息、功能和行为的需求(2分)。
为实现这一目标,可采用结构化分析和面向对象分析方法(1分)。
结构化分析把软件看作信息装换器,辅助软件工程师识别数据对象、对象间的联系以及这些数据对象流经软件处理功能时转换的方式(2分)。
面向对象分析就是检查定义为一组用例的问题域,尽量提取定义问题的类(1分)。
12请简要给出评价软件设计质量的标准?答:评价软件设计质量的标准如下:1)设计必须实现所有包含在分析模型中的明确需求,以及用户期望的所有隐含需求(2分)2)对于那些生成代码的人和那些进行代码测试以及随后维护软件的人而言,设计必须是可读、可理解的指南(2分)3)设计必须提供软件的全貌,从实现的角度水明数据域、功能域和行为域(2分)13一个良好的设计类需要满足四个特点,请详细描述这四个特点?答:一个良好的设计类需要满足:1)完整性和充分性(1分)2)原始性(2分)3)高内聚性(2分)4)低耦合性(1分)14软件项目估算内容与步骤15面向对象设计的准则是什么?有哪5个层次和4个部分?准则:模块化、抽象、信息隐蔽、高内聚、低耦合、可重用16简述软件工程目标和面临的主要问题。
目标:支付较低的开发成本、达到要求的软件功能、获取较好的软件性能、开发的软件易于移植、需要较低的维护费用、能按时完成开发任务,几时交付使用、开发的软件可靠性高面临的主要问题是:软件费用软件可靠性软件维护软件生产率软件重用。
17简述软件工程过程。
软件工程过程是为获得软件产品,在软件工具支持下由软件工程师完成的一系列软件工程活动。
软件工程过程通常包含四种基本的过程活动:P(Plan):软件规格说明。
规定软件的功能及其运行的限制;D(Do):软件开发。
产生满足规格说明的软件;C(Check):软件确认。
确认软件能够完成客户提出的要求;A(Action):软件演进。
为满足客户的变更要求,软件必须在使用的过程中演进。
事实上,软件工程过程是一个软件开发机构针对某一类软件产品为自己规定的工作步骤,它应当是科学的、合理的,否则必将影响到软件产品的质量。
18简述模块独立性的原则。
模块独立性是指软件系统中每个模块只涉及软件要求的具体子功能,而和软件系统中其他的模块接口是简单的模块独立性的概念是模块化、抽象、信息隐蔽和局部话概念的直接结果由耦合和内聚2个标准度量19简述结构化程序设计方法的基本要点1. 采用自顶向下,逐步求精的程序设计方法在需求分析,概要设计中,都采用了自顶向下,逐层细化的方法。
2. 使用三种基本控制结构构造程序任何程序都可由顺序、选择、重复三种基本控制结构构造。
1)用顺序方式对过程分解,确定各部分的执行顺序。
2)用选择方式对过程分解,确定某个部分的执行条件。
3)用循环方式对过程分解,确定某个部分进行重复的开始和结束的条件。
4)对处理过程仍然模糊的部分反复使用以上分解方法,最终可将所有细节确定下来。
3. 主程序员组的组织形式20简述软件生命周期开发方法的基本过程及每个阶段的任务。
(1)问题定义阶段,尽可能清楚地描述问题,搞清楚要解决的问题是什么;(2)可行性研究阶段,主要是确定待解的问题是否有可行的解决办法。