软件工程各章作业习题的名词解释和问答题参考答案
- 格式:doc
- 大小:39.00 KB
- 文档页数:11
《软件工程》各章课后习题答案软件工程是计算机科学与技术的一门重要学科,旨在研究和应用工程原则和方法来开发高质量的软件系统。
课程中的习题对于加深学生对软件工程理论和实践的理解至关重要。
下面是对《软件工程》各章课后习题的答案,希望能够帮助你更好地掌握软件工程的知识。
第一章:软件工程导论1. 软件工程的定义:答:软件工程是通过应用系统化、规范化和可量化的方法进行软件开发、运行和维护的学科。
2. 软件工程的目标:答:软件工程的目标是提高软件开发的质量、效率和可靠性,使得软件能够满足用户的需求和期望。
3. 软件生命周期模型:答:常见的软件生命周期模型包括瀑布模型、迭代模型、敏捷模型等。
每个模型都有其独特的特点和适用场景。
4. 软件过程模型:答:软件过程模型描述了软件开发过程中的一系列活动和阶段,常见的软件过程模型包括瀑布模型、迭代模型、敏捷模型等。
5. 软件工程的基本原则:答:常见的软件工程基本原则包括分阶段、逐步求精、持续集成、迭代开发、需求优先等。
第二章:软件项目管理1. 软件项目管理的定义:答:软件项目管理是指对软件开发过程中的资源、进度、质量等进行有效管理,以确保软件项目能够按时、按质地完成。
2. 软件项目管理的内容:答:软件项目管理包括项目计划、需求管理、项目进度管理、资源管理、风险管理等方面。
3. 软件项目管理的方法:答:常见的软件项目管理方法包括敏捷项目管理、水平项目管理、里程碑项目管理等。
4. 软件项目管理的工具:答:常用的软件项目管理工具包括甘特图、PERT/CPM网络图、项目管理软件等。
第三章:软件需求分析与规格说明1. 软件需求的定义:答:软件需求是指用户对软件系统的要求和期望,包括功能需求、性能需求、接口需求等方面。
2. 软件需求分析的方法:答:常用的软件需求分析方法包括面向对象分析法、数据流图法、用例分析法等。
3. 软件需求规格说明的格式:答:常见的软件需求规格说明的格式包括自然语言描述、结构化描述、图形描述等。
软件工程问答题答案(仅供参考)(精品)软件工程问答题答案(仅供参考)(精品)软件工程是指通过计算机科学与工程学的原理、方法和工具来开发和维护软件的一门学科。
在软件工程领域,存在着许多关键问题和常见的问答题。
本文将为你提供一些常见软件工程问答题的答案,希望能够帮助你更好地理解和应用软件工程的知识。
1. 什么是软件需求工程?软件需求工程是软件工程中的一个重要领域,它关注的是对用户需求进行分析、规范和管理,以便于软件系统的开发和交付。
软件需求工程包括可行性研究、需求获取、需求分析、需求规格说明和需求验证等过程。
2. 请解释软件配置管理是什么?软件配置管理是指通过管理软件系统中的各种配置项和配置变更,以确保软件系统的正确、完整和可追踪。
它包括配置项识别、变更控制、版本控制、配置库管理等活动,旨在提高软件开发和维护过程的可控性和可靠性。
3. 请介绍软件测试的目的和重要性。
软件测试的目的是发现软件系统中的错误、缺陷和潜在问题,以便在软件交付之前进行修复和改进。
软件测试的重要性在于可以提高软件系统的质量和可靠性,降低软件使用过程中的风险和损失。
4. 什么是软件架构?软件架构是指软件系统的基本结构和组织方式。
它描述了软件系统中各个组件之间的关系和交互,以及软件系统的总体设计原则和理念。
软件架构可以帮助团队成员理解和沟通软件系统的设计和实现。
5. 请解释敏捷开发方法。
敏捷开发方法是一种以迭代、循环和适应性为核心的软件开发方法。
它强调团队合作、快速反馈和不断改进,在不断变化的需求环境下能够更加灵活地开发和交付高质量的软件系统。
6. 请介绍软件项目管理的过程和技术。
软件项目管理包括项目计划、项目组织、项目监控和项目交付等过程。
它涉及到时间管理、成本管理、风险管理、质量管理等技术和工具,以确保软件项目能够按时、按量和按质完成。
7. 请解释软件工程中的代码重构。
代码重构是指在不改变软件系统外部行为的前提下,通过对代码的重新组织和调整来改进软件系统的内部质量和可理解性。
全国 2010年 10月三、名词解释题 (本大题共 5小题,每小题 3分,共 15分1. 软件生存周期模型答案:软件生存周期模型是描述软件开发过程中各种活动如何执行的模型。
(1分软件生存周期模型确立了软件开发和演绎中各阶段的次序限制以及各阶段活动的准则, (1分确立开发过程所遵守的规定和限制, 便于各种活动的协调以及各种人员的有效通信, 有利于活动重用和活动管理。
(1分2. 模块答案:模块在程序中是数据说明、可执行语句等程序对象的集合, 或者是单独命名和编址的元素,如高级语言中的过程、函数和子程序等。
(2分在软件的体系结构中,模块是可组合、分解和更换的单元。
(1分3. 可维护性答案:软件可维护性是指软件能够被理解、校正、适应及增强功能的容易程度。
(2分可维护性可用 7个质量特性来衡量,即可理解性、可测试性、可修改性、可靠性、可移植性、可使用性和效率。
(1分4. 继承性答案:继承性是子类自动共享父类数据结构和方法的机制, 这是类之间的一种关系。
(2分在定义和实现一个类的时候,可以在一个已经存在的类的基础之上来进行,把这个已经存在的类所定义的内容作为自己的内容,并加入若干新的内容。
(1分5. 投资回收期答案:投资回收期是衡量一个开发工程价值的经济指标。
(1分投资回收期就是积累的经济效益等于最初的投资所需要的时间。
(2分全国 2010年 1月31.软件工程过程 :即软件生命周期的方法、工具和概念32.模块化 :模块化是指解决一个复杂问题时自顶向下逐层把系统划分成若干模块的过程, 有多种属性, 分别反映其内部特性 . 每个模块完成一个特定的子功能, 所有的模块按某种方法组装起来,成为一个整体,完成整个系统所要求的功能33.集成测试 :集成测试,也叫组装测试或联合测试。
在单元测试的基础上,将所有模块按照设计要求 (如根据结构图组装成为子系统或系统, 进行集成测试。
34.软件可靠性 :(1在规定的条件下,在规定的时间内,软件不引起系统失效的概率; (2在规定的时间周期内,在所述条件下程序执行所要求的功能的能力;35.模块的控制范围2008年 10月1. 过程设计语言 (PDL答案:也称程序描述语言, 又称为伪码, 是一种用于描述模块算法设计和处理细节的语言。
软件工程课后习题参考答案软件工程课后习题参考答案1. 第一章规约与软件工程概述1.1 规约的定义规约是软件开发过程中明确要求的描述,包含了对软件需求、设计、实现、测试、部署和维护等各个阶段的要求和约束。
1.2 软件工程的概述软件工程是一门涉及对软件的开发、运行和维护的学科。
它通过应用工程原则和方法,以系统化、规范化、可靠化、经济化和高质量的方式来开发和维护软件。
2. 第二章软件需求规约2.1 软件需求规约的作用软件需求规约是对软件系统所需功能和性能的具体描述和说明,是软件开发的基础和依据。
它指导着开发团队的工作,确保软件的功能和性能符合用户的需求。
2.2 软件需求规约的要素软件需求规约包括功能需求、非功能需求和约束条件。
功能需求描述了软件系统应该具备的功能,非功能需求描述了软件系统的性能要求和质量特性,约束条件描述了软件系统所受限制的条件。
3. 第三章软件设计规约3.1 软件设计规约的目标软件设计规约是对软件系统进行结构化和模块化设计的过程,其目标是确保软件系统具备可靠性、可维护性、可扩展性和可重用性。
3.2 软件设计规约的方法软件设计规约采用面向对象设计、结构化设计和模块化设计等方法。
面向对象设计强调将问题领域的概念和对象转化为软件系统的类和对象,结构化设计强调将系统分解为模块,模块化设计强调模块间的接口和通信。
4. 第四章软件实现规约4.1 软件实现规约的目的软件实现规约是指将软件设计阶段得到的设计规约转化为计算机可执行的程序代码,其目的是确保软件系统的正确性、可靠性、可维护性和可测试性。
4.2 软件实现规约的技术软件实现规约采用编程语言、软件开发工具和软件开发环境等技术。
编程语言提供了描述算法和数据结构的语法和语义,软件开发工具提供了代码编辑、编译、调试和测试等功能,软件开发环境提供了开发的整体支持。
5. 第五章软件测试规约5.1 软件测试规约的目的软件测试规约是对软件系统进行功能、性能和质量等方面的验证和检测,其目的是找出软件系统的错误和缺陷,并修复和改进。
第一章《软件工程概述》作业一、名词解释1.软件2.软件危机3.软件工程4.软件生存周期5.软件过程模型二、填空题1、在信息处理和计算机领域内,一般认为软件是、和。
2、软件生产的发展经历了时代、时代和时代,各时代的生产方式分别是、和。
3、软件生存周期的8个阶段分别是、、、、、、、。
4、软件工程是利用工程化的原理和方法来进行、和软件的一门学科。
5、描述软件开发过程中各种活动如何执行的模型称为模型。
6、瀑布模型适应需求可变的软件开发,只有到才能见到整个软件系统。
7、软件产品的生产主要是研制,软件产品的成本主要体现在上。
8、软件工程面临的问题有、、、。
三、单项选择题1、软件文档是【】。
A.程序B.工具C.文书和资料D.数据2、软件是一种【】性工业产品A.理论B.知识(或逻辑)C.消耗D.物资3、与计算机科学的理论研究不同,软件工程是一门【】的学科。
A.理论性 B.工程性 C.原理性 D.心理性4、软件工程与计算机科学的性质不同,软件工程着重于【】。
A.理论研究 B.建造软件系统 C.原理探讨 D.原理的理论5、软件工程学科出现的直接原因是【】。
A.计算机的发展 B.其它工程学科的影响C.软件危机的出现D.程序设计方法学的影响6、软件工程方法学的研究内容包含软件开发技术和软件工程管理两个方面,以期达到的最终目标是【】。
A.软件开发工程化 B.消除软件危机C.实现软件可重用D.程序设计自动化7、由于软件生产的复杂性和高成本,使大型软件的生成出现危机,软件危机的主要表现包括了下述【】方面。
①生产成本过高②需求增长难以满足③进度难以控制④质量难以保证A.①② B.②③ C.④ D.全部8、软件的主要结构和功能是在【】阶段决定的。
A.分析设计B.编程C.测试D.维护9、有关计算机程序功能、设计、编制、使用的文字或图形资料称为【】。
A.软件B.文档C.程序D.数据10、软件生成周期模型有多种,下列选项中,【】不是软件生存周期模型。
软件工程各章作业习题的名词解说和问答题参照答案第一章: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.什么是软件纲要设计 , 该阶段的基本任务是什么 ?以需求剖析文档为依照,解决实现软件系统结构。
第一章练习题一、填空题1、软件工程三要素是:方法、工具、过程。
2、软件开发方法是指软件开发过程中所应遵循的方法和步骤。
二、名词(术语)解释:1、可靠性---是指在给定的时间间隔内,程序成功运行的概率。
可靠性是衡量软件质量的一个重要目标。
2、可理解性---指系统具有清晰的结构,能直接反映问题的需求。
可理解性有助于控制软件系统的复杂性,并支持软件的维护、移植和重用。
三、问答题1、面向对象方法的优点是什么?答:(1)将现实世界问题向面向对象解空间直接映射,实现对现实世界的直接模拟。
(2)以数据为中心,而不是基于对功能的分解,使得软件结构相对稳定,软件的重用性、可靠性、可维护等特性都较好。
2、可视化开发方法的优点有哪些?答:(1)简化了图形用户界面的设计和编码工作,将开发的注意力主要集中在程序的执行逻辑和工作流程上。
(2)软件开发简单,易学、易上手。
(3)专业或非专业人员都能参与软件开发活动。
第二章练习题一、填空题:1、软件工程过程是:为获得软件产品,在软件工具支持下由软件人员完成的一系列软件工程活动。
2、一个软件从定义、开发、使用和维护,直到最终被废弃,所经历的生存过程经历的生存过程称为软件生存期或叫生命期。
3、软件生命周期的阶段划分为3个时期是:定义时期、开发时期、维护时期。
4、软件工程标准的5个层次是:国际标准、国家标准、行业标准、企业规范、项目规范。
二、简答题:1、瀑布模型的优点有哪些?答:1、强迫开发人员采用规范的技术方法;2、严格地规定了每个阶段必须提交的文档;3、每个阶段结束前必须正式进行严格的技术审查和管理复审。
2、瀑布模型的缺点是什么?答:1、在软件开发的初期阶段就要求做出正确、全面、完整的需求分析对许多应用软件来说是极其困难的。
2、在需求分析阶段,当需求确定后,无法及时验证需求是否正确、完整。
3、作为整体开发的瀑布模型,由于不支持产品的演化,缺乏灵活性,对开发过程中很难发现的错误,只有在最终产品运行时才能暴露出来,从而使软件产品难以维护。
名词解释1.软件测试(第8章)2.静态测试(第8章)3.动态测试(第8章)4.黑盒测试(第8章)5.白盒测试(第8章)6.语句覆盖(第6章)7.判定覆盖(第6章)8.条件覆盖(第6章)9.判定/条件覆盖(第6章)10.条件组合覆盖(第6章)11.路径覆盖(第6章)12.测试用例(第8章)13.驱动模块(第6章)14.桩模块(第6章)15.单元测试(第8章)16.集成测试(第8章)17.确认测试(第8章)18.渐增式测试(第8章)19.非渐增式测试(第8章)20.调试(第9章)21.人的因素的含义(第11章)22.基线(第12章)23.软件配置管理(第12章24.软件配置项(第12章)25. 软件概要设计(第5章)26. 模块(第5章)27. 模块化(第5章)28. 抽象(第5章)29. 信息隐蔽(第5章)30. 模块独立性(第5章)31. 耦合性(第5章)32. 无直接耦合(第5章)33. 数据耦合(第5章)34. 标记耦合(第5章)35. 控制耦合(第5章)36. 公共耦合(第5章)37. 内容耦合(第5章)38. 内聚性(第5章)39. 偶然内聚(第5章)40. 逻辑内聚(第5章)41. 时间内聚(第5章)42. 通信内聚(第5章)43. 顺序内聚(第5章)44. 功能内聚(第5章)45. 软件结构图(第5章)46. 结构化设计(第5章)47. 变换流(第6章)48. 事务流(第6章)49. JSP(第6章)50. JSD(第6章)答案:1. 软件测试指为了发现软件中的错误而执行软件的过程。
它的目标是尽可能多地发现软件中存在的错误,将测试结果作为纠错的依据。
2. 静态测试指被测试的程序不在机器上运行,而是采用人工检测和计算机辅助静态分析的手段对程序进行检测。
3. 动态测试指通过运行程序发现错误。
4. 黑盒测试指把测试对象看成一个黑盒子,测试人员完全不考虑程序的内部结构和处理过程,只在软件的接口处进行测试,依据需求规格说明书,检查程序是否满足功能要求,又称为功能测试或数据驱动测试。
软件工程第一章作业1.1什么是计算机软件?软件的特点是什么?答:计算机软件指计算机系统中的程序及其文档。
软件的特点是:A 软件是一种逻辑实体,而不是有形的系统元件,其开发成本和进度难以精确得估算;B 软件是被开发的或被设计的,没有明显的制造过程,一旦开发成功,只需复制即可,但其维护的工作量大;C 软件的运用没有硬件那样的机械磨损和老化问题。
1.2 简述软件的分类,并举例说明。
答:在《计算机科学技术百科全书》中,将软件分为系统软件、支撑软件和应用软件3类。
A 系统软件:系统软件居于计算机系统中最靠近硬件的一层,其他软件一般都通过系统软件发挥作用。
系统软件和详细的应用领域无关。
例如:编译程序、操作系统等。
B 支撑软件:支撑软件是支撑软件的开发和维护的软件。
例如:数据库管理系统、网络软件、软件工具、软件开发环境等。
C 应用软件:应用软件是特定应用领域专用的软件。
例如:工程/科学计算软件、嵌入式软件、产品线软件、Web应用软件、人工智能软件。
1.4 什么是软件工程?答:在《计算机科学技术百科全书》中软件工程是应用计算机科学、数学及管理科学等原理,开发软件的工程。
1.5 简述软件工程的基本原则。
答:软件工程原则包括围绕工程设计、工程支持和工程管理提出的以下4条基本原则:第一条:围绕适宜的开发模型;其次条:接受合适的设计方法;第三条:供应高质量的工程支撑;第四条:重视软件工程的管理。
1.6 软件生存周期分哪几个阶段?分别简述各个阶段的任务。
答:软件生存周期有计算机系统工程、需求分析、设计、编码、测试、运行和维护6个阶段。
A计算机系统工程的任务是确定待开发软件的总体要求和范围,以及该软件和其他计算机系统元素之间的关系,进行成本估算,做出进度支配,并进行可行性分析,即从经济、技术、法律等方面分析待开发的软件是否有可行的解决方案,并在若干个可行的解决方案中做出选择。
B需求分析主要解决待开发软件要“做什么”的问题,确定软件的功能、性能、数据、界面等要求,生成软件需求规约。
1. “软件危机”是指( )A. 计算机病毒的浮现B. 利用计算机进行经济犯罪活动C. 软件开辟和维护中浮现的一系列问题D. 人们过分迷恋计算机系统2. DFD 中的每一个加工至少需要( )A. 一个输入流B. 一个输出流C. 一个输入或者输出流D. 一个输入流和一个输出流3. 为了提高模块的独立性,模块之间最好是( )A. 控制耦合B. 公共耦合C. 内容耦合D. 数据耦合4. 下面关于 PDL 语言不正确的说法是( )A. PDL 是描述处理过程怎么做B. PDL 是只描述加工做什么C. PDL 也称为伪码D. PDL 的外层语法应符合普通程序设计语言常用的语法规则5. 详细设计与概要设计衔接的图形工具是( )A. DFD 图B. 程序图C. PAD 图D. SC 图6. 不适合作为数据处理与数据库应用的语言是( )A. SQLB. CobolC. 4GLD. Lisp7. 下列关于功能性注释不正确的说法是( )A. 功能性注释嵌在源程序中,用于说明程序段或者语句的功能以及数据的状态B. 注释用来说明程序段,需要在每一行都要加注释C. 可使用空行或者缩进,以便很容易区分注释和程序D. 修改程序也应修改注释8. 下列关于效率的说法不正确的是( )A. 效率是一个性能要求,其目标应该在需求分析时给出B. 提高程序效率的根本途径在于选择良好的设计方法,数据结构与算法C. 效率主要指处理机时间和存储器容量两个方面D. 程序的效率与程序的简单性无关9. 测试的关键问题是( )A. 如何组织对软件的评审B. 如何验证程序的正确性C. 如何采用综合策略D. 如何选择测试用例10. 结构化维护与非结构化维护的主要区别在于( )A. 软件是否结构化B. 软件配置是否完整C. 程序的完整性D. 文档的完整性11. 软件维护艰难的主要原因是( )A. 费用低B. 人员少C. 开辟方法的缺陷D. 得不到用户支持12. 可维护性的特性中,相互矛盾的是( )A. 可理解性与可测试B. 效率与可修改性C. 可修改性和可理解性D. 可理解性与可读性13. 快速原型是利用原型辅助软件开辟的一种新思想,它是在研究( )的方法和技术中产生的。
软件工程各章作业习题的名词解释和问答题参考答案第一章: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.什么是软件概要设计, 该阶段的基本任务是什么?以需求分析文档为依据,解决实现软件体系结构。
基本任务:确定软件结构,分解各部分的模块,确定模块的功能,调用关系及接口信息,将用户的需求分配到适当的位置上,得出系统的模块层次结构。
2.软件设计的基本原理包括那些容?模块与模块化;抽象;信息隐蔽;模块独立性3.模块的耦合性, 聚性包括那些容? 其含义耦合性:无直接耦合(模块之间无直接联系);数据耦合(模块间传递数据);标记耦合(模块间传递数据结构和地址)控制耦合(模块间传递控制变量)公共耦合(模块间通过公共关系传递)容耦合(一个模块与另一个模块部数据有关)聚性:功能聚(仅完成一个功能的各成分组合在一起)顺序聚(与同一功能相关的且按顺序执行的各成分组合在一起)通信聚(在同一数据结构上操作的各成分组合在一起)时间聚(同一时间执行的各成分组合在一起)逻辑聚(逻辑上相似的各成分组合在一起)偶然聚(将语句和程序段随意地组合在一起,他们之间无任何联系)4.简述软件结构设计优化准则(1)划分模块时,尽量做到模块部高聚,模块之间低耦合,保持模块相对独立性。
(2)一个模块的作用围应该在自己的扩展围。
(3)软件结构的深度,宽度应适当。
(4)模块的大小要适中(5)模块的接口要简单、清晰,传递的参数数量不能太多,类型不要太复杂。
第五章:三.名词解释1 详细设计是解决如何实现具体的每个模块功能,涉及每个模块的处理过程,构造其实现算法。
2. 结构化程序设计设计容易理解,容易验证的程序。
四. 问答题1详细设计的基本任务是什么?设计算法,设计数据库,对某些固定的数据值进行代码设计,对界面及输入输出格式设计。
2结构化程序设计方法的基本要点是什么?使用顺序,选择,循环三种基本控制结构自顶向下,逐步求精的构造算法或程序。
3.详细设计主要使用那一个描述工具? 其特点?工具:结构化程序设计特点:首先考虑程序完成的主要功能的步骤;要考虑判断处理和重复处理的问题;考虑数据对程序的影响;三种基本控制结构只能按顺序出现或完整嵌套,不能出现相互交叉的情况。
第六章三. 名词解释1. 编码编程序2. 程序设计风格指人们编程的习惯特点四. 简答题1. 在项目开发时, 选择程序设计语言通常考虑那些因素?根据项目的应用领域;软件的开发方法;软件的执行环境;算法及数据的复杂性;软件开发人员的知识水平;合理选择编程语言。
2 什么是程序设计风格? 应该在那些方面注意培养良好的设计风格?(1)指人们编程的习惯特点(2)程序加注释;变量数据按意义取名;语句简单直接,容要缩进,使用空格,空行提高程序的清晰度;输入输出提示化,表格化,图形化第七章三. 名词解释1.软件测试为了发现软件中的错误而执行程序的过程2. 黑盒法着重于测试呗测程序的功能3. 白盒法从被测试程序部的逻辑结构入手来设计测试用例4.渐增式测试逐步组装模块,组装一部分测试一部分5 非渐增式测试将所有经过单元测试的模块一起连接起来进行测试四.问答题1软件测试的目的是什么?是为了发现软件中的错误而执行程序的过程,它的目标是尽可能多的控制软件中存在的错误,将测试结果作为纠错依据。
2白盒法有那些逻辑覆盖标准? 这些标准有什么关系?语句覆盖:是每个语句至少执行一次;判定覆盖:是每个判定的每个分支至少执行一次;条件覆盖:是每个判定的每个条件应该取到各种可能的值;判定/条件覆盖:同时满足判定和条件覆盖;条件组合覆盖:使每个判定中各条件的每一种组合至少出现一次;路径覆盖:使程序中每一条可能的路径至少执行一次3属于黑盒法的测试用例设计方法有那几种? 它们的特点等价类划分:将输入数据划分成若干合理的或不合理的等价类;边界值分析:检查边界情况的测试用例能搞笑的发现错误;错误推测:根据经验或直觉推测出程序种可能存在的各种错误;因果图:检查输入条件的各种组合可能引起的错误4. 软件测试要经过那几个阶段? 各个阶段与什么文档有关?先从每个模块的源程序出发,进行单元测试,然后按概要设计说明书的要求,将各模块组装起来进行集成测试,随后按需求规格说明书要求,对软件进行确认测试,最后将软件与系统中其他元素协调起来,进行系统测试。
第八章三.名词解释1.校正性维护识别和纠正隐含在软件中的错误过程2.适应性维护适应计算机运行环境的不断变化而修改软件的过程3.完善性维护适应用户业务和的发展变化而对软件的功能、性能进行修改、扩充的过程4. 预防性维护为了提高软件的可靠性和可维护性而对软件作出的修改5.软件可维护性指软件能够被理解、校正、适应及增加功能的容易程度6.软件维护的副作用因修改软件而造成的错误或其他不希望出现的情况问答题1维护有那些类型? 其容(1)校正性维护识别和纠正隐含在软件中的错误过程(2)适应性维护适应计算机运行环境的不断变化而修改软件的过程(3)完善性维护适应用户业务和的发展变化而对软件的功能、性能进行修改、扩充的过程(4)预防性维护为了提高软件的可靠性和可维护性而对软件作出的修改2.软件维护的特点是什么?(1)维护费用高,维护困难(2)维护的困难性,主要是由开发的软件的可维护性所引起的,软件结构差,文档不齐全,开发不规,开发技术旧,维护工作不吸引人。
3.软件维护的流程是什么?制定维护申请报告;进行维护工作;编制软件维护修改报告;复审。
4.软件维护的副作用有那些?编码、数据、文档副作用等5.提高可维护性有那些方法?建立明确的软件质量目标;利用先进的软件开发技术和工具;尽可能选择好的可维护语言;改进程序的文档。
下载可编辑.专业.整理.。