软件工程期末考试简答题汇总
软件工程简答题总结复习题带包括答案

第一章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、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 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)可行性研究阶段,主要是确定待解的问题是否有可行的解决办法。