软件工程作业1(第1~4章)

合集下载

《软件工程》各章课后习题答案

《软件工程》各章课后习题答案

《软件工程》各章课后习题答案软件工程是计算机科学与技术的一门重要学科,旨在研究和应用工程原则和方法来开发高质量的软件系统。

课程中的习题对于加深学生对软件工程理论和实践的理解至关重要。

下面是对《软件工程》各章课后习题的答案,希望能够帮助你更好地掌握软件工程的知识。

第一章:软件工程导论1. 软件工程的定义:答:软件工程是通过应用系统化、规范化和可量化的方法进行软件开发、运行和维护的学科。

2. 软件工程的目标:答:软件工程的目标是提高软件开发的质量、效率和可靠性,使得软件能够满足用户的需求和期望。

3. 软件生命周期模型:答:常见的软件生命周期模型包括瀑布模型、迭代模型、敏捷模型等。

每个模型都有其独特的特点和适用场景。

4. 软件过程模型:答:软件过程模型描述了软件开发过程中的一系列活动和阶段,常见的软件过程模型包括瀑布模型、迭代模型、敏捷模型等。

5. 软件工程的基本原则:答:常见的软件工程基本原则包括分阶段、逐步求精、持续集成、迭代开发、需求优先等。

第二章:软件项目管理1. 软件项目管理的定义:答:软件项目管理是指对软件开发过程中的资源、进度、质量等进行有效管理,以确保软件项目能够按时、按质地完成。

2. 软件项目管理的内容:答:软件项目管理包括项目计划、需求管理、项目进度管理、资源管理、风险管理等方面。

3. 软件项目管理的方法:答:常见的软件项目管理方法包括敏捷项目管理、水平项目管理、里程碑项目管理等。

4. 软件项目管理的工具:答:常用的软件项目管理工具包括甘特图、PERT/CPM网络图、项目管理软件等。

第三章:软件需求分析与规格说明1. 软件需求的定义:答:软件需求是指用户对软件系统的要求和期望,包括功能需求、性能需求、接口需求等方面。

2. 软件需求分析的方法:答:常用的软件需求分析方法包括面向对象分析法、数据流图法、用例分析法等。

3. 软件需求规格说明的格式:答:常见的软件需求规格说明的格式包括自然语言描述、结构化描述、图形描述等。

软件工程作业第一章

软件工程作业第一章

1-1什么是软件危机?它有哪些典型表现?为什么会出现软件危机?软件危机:在计算机软件的开发和维护过程中所遇到的一系列严重问题。

典型表现:软件总是超出预算、落后于进度表,而且产品质量不可靠、维护困难等。

危机原因:1、软件受其自身特点的影响,生产过程不象硬件那样规范,受人的因素和外界影响很大,在软件生产的各阶段都会引入不同程度的错误,造成不能预期完成任务,致使成本上升,甚至导致软件失败。

2、主客观不相适应。

●客观上:软件规模增大、功能要求越来越复杂,需求不断变化等;●主观上:传统的个体化开发观念和方法的影响,无开发过程指导,无开发过程管理;由于主客观矛盾,必然产生软件质量差、开发超期、超预算、维护困难等现象。

1-3 什么是软件工程?它有哪些本质特性?怎样用软件工程消除软件危机?►基本思想:是强调在软件开发过程中应用工程化原则,解决软件的整体质量较低、最后期限和费用没有保证等问题。

►软件工程定义:是指导计算机软件开发和维护的一门工程学科。

采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,以经济地开发出高质量的软件并有效地维护它.►软件工程的根本在于提高软件的质量与生产率,最终实现软件的工业化生产。

本质特性:P6消除软件危机:软件工程基本原理7条。

1-6 什么是软件过程?它与软件工程方法学有何关系?►软件过程:是为了获得高质量软件所需要完成的一系列任务的框架,它规定了完成各项任务的工作步骤。

►过程定义了运用方法的顺序、应该交付的文档资料、为保证软件质量和协调变化所需要采取的管理措施,以及标志软件开发各个阶段任务完成的里程碑。

关系:是软件工程方法学包含3个要素(方法、工具和过程)之一。

1-7 什么是软件生命周期模型?试比较瀑布模型、(快速)原型模型、增量模型和螺旋模型、喷泉模型的优缺点,说明每种模型的适用范围。

生命周期模型规定了把生命周期划分成哪些阶段及各个阶段的执行顺序,因此,也称为过程模型。

软件工程课后作业

软件工程课后作业

第一章1.1答:软件危机是指在计算机软件开发、使用与维护过程中遇到的一系列严重问题和难题。

它包括两方面:如何开发软件,已满足对软件日益增长的需求;如何维护数量不断增长的已有软件。

软件危机的典型表现:(1) 对软件开发成本和进度的估计常常很不准确。

常常出现实际成本比估算成本高出一个数量级、实际进度比计划进度拖延几个月甚至几年的现象。

而为了赶进度和节约成本所采取的一些权宜之计又往往损害了软件产品的质量。

这些都降低了开发商的信誉,引起用户不满。

(2) 用户对已完成的软件不满意的现象时有发生。

(3) 软件产品的质量往往是靠不住的。

(4) 软件常常是不可维护的。

(5) 软件通常没有适当的文档资料。

文档资料不全或不合格,必将给软件开发和维护工作带来许多难以想象的困难和难以解决的问题。

(6) 软件成本、软件维护费在计算机系统总成本中所占比例逐年上升。

(7) 开发生产率提高的速度远跟不上计算机应用普及的需求。

软件危机出现的原因:(1) 来自软件自身的特点:是逻辑部件,缺乏可见性;规模庞大、复杂,修改、维护困难。

(2) 软件开发与维护的方法不当:忽视需求分析;认为软件开发等于程序编写;轻视软件维护。

(3) 供求矛盾将是一个永恒的主题:面对日益增长的软件需求,人们显得力不从心。

1.2答:在软件开发的不同阶段进行修改付出的代价是很不相同的,在早期引入变动,涉及的面较少,因而代价也比较低;在开发的中期,软件配置的许多成分已经完成,引入一个变动要对所有已完成的配置成分都做相应的修改,不仅工作量大,而且逻辑上也更复杂,因此付出的代价剧增;在软件“已经完成”是在引入变动,当然付出的代价更高。

一个故障是代码错误造成的,有时这种错误是不可避免的,但要修改的成本是很小的,因为这不是整体构架的错误。

1.3答:1993年IEEE的定义:软件工程是:①把系统的、规范的、可度量的途径应用于软件开发、运行和维护过程,也就是把工程应用于软件;②研究①中提到的途径。

《软件工程》作业及参考答案1,4

《软件工程》作业及参考答案1,4

《软件工程》作业及参考答案——第一、二章中央电大理工部史红星(2004年09月15日)浏览人次4582一、填空题1. 软件工程学的内容可包括(理论)、结构、(方法)、(工具)、环境、管理、规范等。

2. 软件生存周期一般可分为问题定义、(可行性研究)、(需求分析)、设计、(编码)、测试、运行与维护阶段。

3. 可行性研究的目的是(用最小的代价在尽可能短的时间内确定问题是否能够解决)。

4. 系统流程图是(描绘物理系统)的传统工具。

5. 在可行性研究中,(技术可行性)是系统开发过程中难度最大,最重要的一个环节。

二、判断题1. 软件工程采用的生存周期方法就是从时间角度对软件的开发和维护这个复杂问题进行分解,将软件生存的时期分为若干阶段。

(√ )2. 螺旋模型是利用笛卡尔坐标的四个象限上分别代表四个方面的活动来表示。

(√ )3. 原型模型适用于嵌入式软件。

(╳ )4. 面向对象技术是构件组装模型的基础。

(√ )5. 在可行性研究中最难决断和最关键的问题是经济可行性。

(╳ )6. 系统流程图表达的是部件的信息流程,还表示对信息进行加工处理的控制过程。

(╳ )7. 自底向上成本估计不是从整体开始,而是从任务单元开始。

(√ )三、单项选择题1. 下列哪个阶段不是软件生存期三个阶段中的内容( C )。

A.计划阶段B.开发阶段C.编码阶段D.维护阶段2. 下列关于瀑布模型的描述正确的是( C )。

A. 瀑布模型的核心是按照软件开发的时间顺序将问题简化。

B. 瀑布模型具有良好的灵活性。

C. 瀑布模型采用结构化的分析与设计方法,将逻辑实现与物理实现分开。

D. 利用瀑布模型,如果发现问题修改的代价很低。

四、简答题1. 软件的定义与特点。

参考答案:软件是计算机系统中与硬件相互依存的另一部分,它是包括程序,数据结构及其相关文档的完整集合。

它包括三个方面的内容:⑴程序:在运行时,能提供所希望的功能和性能的指令集。

⑵数据结构:使程序能够正确运行的数据结构。

软件工程课后习题参考答案

软件工程课后习题参考答案

软件工程课后习题参考答案软件工程课后习题参考答案1. 第一章规约与软件工程概述1.1 规约的定义规约是软件开发过程中明确要求的描述,包含了对软件需求、设计、实现、测试、部署和维护等各个阶段的要求和约束。

1.2 软件工程的概述软件工程是一门涉及对软件的开发、运行和维护的学科。

它通过应用工程原则和方法,以系统化、规范化、可靠化、经济化和高质量的方式来开发和维护软件。

2. 第二章软件需求规约2.1 软件需求规约的作用软件需求规约是对软件系统所需功能和性能的具体描述和说明,是软件开发的基础和依据。

它指导着开发团队的工作,确保软件的功能和性能符合用户的需求。

2.2 软件需求规约的要素软件需求规约包括功能需求、非功能需求和约束条件。

功能需求描述了软件系统应该具备的功能,非功能需求描述了软件系统的性能要求和质量特性,约束条件描述了软件系统所受限制的条件。

3. 第三章软件设计规约3.1 软件设计规约的目标软件设计规约是对软件系统进行结构化和模块化设计的过程,其目标是确保软件系统具备可靠性、可维护性、可扩展性和可重用性。

3.2 软件设计规约的方法软件设计规约采用面向对象设计、结构化设计和模块化设计等方法。

面向对象设计强调将问题领域的概念和对象转化为软件系统的类和对象,结构化设计强调将系统分解为模块,模块化设计强调模块间的接口和通信。

4. 第四章软件实现规约4.1 软件实现规约的目的软件实现规约是指将软件设计阶段得到的设计规约转化为计算机可执行的程序代码,其目的是确保软件系统的正确性、可靠性、可维护性和可测试性。

4.2 软件实现规约的技术软件实现规约采用编程语言、软件开发工具和软件开发环境等技术。

编程语言提供了描述算法和数据结构的语法和语义,软件开发工具提供了代码编辑、编译、调试和测试等功能,软件开发环境提供了开发的整体支持。

5. 第五章软件测试规约5.1 软件测试规约的目的软件测试规约是对软件系统进行功能、性能和质量等方面的验证和检测,其目的是找出软件系统的错误和缺陷,并修复和改进。

软件工程作业含答案解析

软件工程作业含答案解析

软件工程第一章作业 (1)1.1什么是计算机软件?软件的特点是什么? (1)1.2简述软件的分类,并举例说明。

(1)1.4什么是软件工程? (1)1.5简述软件工程的基本原则。

(1)1.6软件生存周期分哪几个阶段?分别简述各个阶段的任务。

11.9简述各类软件过程模型的特点。

(2)1.10敏捷软件开发的特点是什么? (2)1.12简述敏捷软件开发的原则。

(2)第2、3章 (3)2.1简述系统工程的任务。

(3)2.2基于计算机的系统由哪些元素组成? (3)2.3简述可行性分析的任务。

(3)3.1需求工程的重要性是什么?举出身边由于需求分析失败而造成整个项目失败的例子。

(3)3.2需求工程具体包括哪些步骤?每个步骤的具体任务是什么?33.3 一个系统分析员应该具备哪些思想素质和基础知识?请说明理由。

43.4列出在制定需求获取策略时的3种主要考虑因素。

(5)3.6举例说明一个系统的3个不同类型的非功能需求 (5)3.8软件需求分析的操作性原则和需求工程的指导性原则是什么? (5)3.9软件需求规约主要包括哪些内容?自己寻找一个实例,亲自写一个需求规约。

.53.10需求验证应该有哪些人参加?画出一个过程模型,说明需求评审应该如何组织。

5第4章 (5)4.1简述软件设计阶段的基本任务 (5)4.2软件设计与质量的关系是怎么样的? (6)4.4简述模块、模块化及模块化设计的概念。

(6)4.6耦合和软件可移植性的概念有何关系?举例说明自己的结论。

(6)4.7用自己的话描述信息隐蔽概念,并讨论信息隐藏与模块独立两概念之间的关系。

64.8什么是模块独立性?设计中为什么模块要独立?如何度量独立性?模块功能独立有何优点? (6)4.9软件设计规约主要包括哪些内容? (7)第5章结构化分析与设计 (7)5.1简述数据流图的主要思想,概述使用数据流图进行需求分析的过程。

75.2分别采用数据流方法中得哪些技术来完成用户需求的精确化、一致化和完全化的任务。

软件工程(本)平时作业

《软件工程》平时作业第一次作业:第一章软件工程概述1.软件是一种____A、程序B、数据C、逻辑产品D、物理产品2.软件开发的结构化生命周期方法将软件生命周期划分成A) 计划阶段、开发阶段、运行阶段 B) 计划阶段、编程阶段、测试阶段C) 总体设计、详细设计、编程调试 D) 需求分析、功能定义、系统设计3.“软件危机”产生的主要原因是____。

A.软件日益庞大B.开发方法不当C.开发人员编写程序能力差D.没有维护好软件4.判断:(1)软件开发小组的组成人员的素质应该好,而人数则不宜过多。

()(2)文档只起备忘录的作用,可以在软件开发完成后再整理生成。

()(3)总体设计的基本目的就是回答:“概括地说,系统应该如何实现?”这个问题。

()(4)没有Do-case、Do-until形结构,就不能实现某些结构化程序,从而降低了程序的运行效率。

()(5) 文档是影响软件可维护性的决定因素。

()5.软件工程的结构化生命周期方法中,一般将软件设计阶段再划分为____、_____两个阶段。

6.概念:软件工程、、软件生存周期7.什么是软件危机?为什么会发生软件危机?怎样挽救软件危机?8.什么是软件工程?软件工程的要素是什么?第三章软件需求分析1.原型化方法是用户和设计者之间执行的一种交互过程,适用于__A__系统,它从用户界面设计开始,首先形成__B__,用户__C__并就__D__提出意见。

它是一种__E__型的设计过程。

供选择的答案:A:①需求不确定性高的②需求确定的③管理信息④决策支持B:①用户界面使用手册②界面需求分析说明书③系统界面原型④完善的用户界面C:①改进界面的设计②使用和不使用那种编程语言③程序的结构④运行界面原型D:①同意什么和不同意什么②使用和不使用那种编程语言③程序的结构④执行速度是否满足要求E:①自外向内②自顶向下③自内向外④自底向上2.需求分析最终结果是产生____A、项目开发计划B、需求规格说明书C、设计说明书D、可行性分析报告3.软件计划需经过___________、_____________两个阶段4.结构化分析方法以数据流图、____和加工说明等描述工具,既用直观的图和简洁的语言来描述软件系统模型。

软件工程第一二三章习题参考答案.doc

软件工程第一二三章习题参考答案第一章软件工程概述软件是计算机程序及其有关的数据和文档的结合。

软件危机是指在计算机软件开发和维护时所遇到的一系列问题。

软件危机主要包含两方面的问题:一是如何开发软件以满足对软件日益增长的需求;二是如何维护数量不断增长的已有软件。

软件工程是软件开发、运行、维护和引退的系统方法。

软件工程是指导计算机软件开发和维护的工程学科。

软件工程采用工程的概念、原理、技术和方法来开发与维护软件。

软件工程的目标是实现软件的优质高产。

软件工程学的主要内容是软件开发技术和软件工程管理。

软件开发方法学是编制软件的系统方法,它确定软件开发的各个阶段,规定每一阶段的活动、产品、验收的步骤和完成准则。

常用的软件开发方法有结构化方法、面向数据结构方法和面向对象方法等。

习题参考答案:1.什么是软件危机?为什么会出现软件危机?答:软件危机是指在计算机的开发和维护过程中所遇到的一系列严重问题。

这些问题决不仅仅是不能正常运行的软件才具有的,实际上,几乎所有软件都不同程度地存在这些问题。

出现软件危机的原因:一方面与软件本身的特点有关,另一方面也和软件开发与维护的方法不正确有关。

软件不同于硬件,它是计算机系统中逻辑件而不是物理部件。

管理和控制软件开发过程相当困难。

软件是规模庞大,而且程序复杂性将随着程序规模的增加而呈指数上升。

目前相当多的软件专业人员对软件开发和维护还有不少糊涂观念,在实践过程中或多或少地采用了错误的方法和技术,这是使软件问题发展成软件危机的主要原因。

总结如下:1)取得正确的用户需求和正确地描述需求很困难2)开发人员对需求的正确理解也有困难3)常常在没有正确理解之前就仓促开始编程4)软件项目缺乏有效的组织、管理和内部交流5)缺乏软件开发方法、模型和工具的支持6)软件维护的困难性2.假设你是一家软件公司的总工程师,当你把图1.1给手下的软件工程师们观看,告诉他们及早发现并改正错误的重要性时,有人不同意你的观点,认为要求在错误进入软件之前就清除它们是不现实的,并举例说:“如果一个故障是编码错误造成的,那么,一个人怎么能在设计阶段清除它呢?”你怎么反驳他?答:在软件开发的不同阶段进行修改付出的代价是很不相同的,在早期引入变动,涉及的面较少,因而代价也比较低;在开发的中期,软件配置的许多成分已经完成,引入一个变动要对所有已完成的配置成分都做相应的修改,不仅工作量大,而且逻辑上也更复杂,因此付出的代价剧增;在软件已经完成时再引入变动,当然付出的代价更高。

北大17秋 08281010-软件工程 作业

一、基础知识点考察(共30题,每题2分,共60分)该部分是最终考试的重要复习参考资料,请一定认真完成1. 1. 软件工程的定义(第一章)(鼓励独立完成作业,严惩抄袭。

)试题编号:试题类型:简答题标准答案:***试题难度:一般试题解析:***考生答案:考生得分:***是否评分:未评分评价描述:***2. 2.模型的定义(第一章)试题编号:试题类型:简答题标准答案:***试题难度:一般试题解析:***考生答案:考生得分:***是否评分:未评分评价描述:***3. 3. 简述对问题域和运行平台之间“距离”概念的理解(第一章)试题编号:试题类型:简答题标准答案:***试题难度:一般试题解析:***考生答案:考生得分:***是否评分:未评分评价描述:***4. 4. 软件工程包括的主要内容(本课程的主要内容)(第一章)试题编号:试题类型:简答题标准答案:***试题难度:一般试题解析:***考生答案:考生得分:***是否评分:未评分评价描述:***5. 5. 软件生存周期的定义(第二章)试题编号:试题类型:简答题标准答案:***试题难度:一般试题解析:***考生答案:考生得分:***是否评分:未评分评价描述:***6. 6. 软件生存周期的三类过程是什么,它们的含义是什么(第二章)试题编号:试题类型:简答题标准答案:***试题难度:一般试题解析:***考生答案:考生得分:***是否评分:未评分评价描述:***7. 7. 软件生存周期的基本过程包括那些子过程(第二章)试题编号:试题类型:简答题标准答案:***试题难度:一般试题解析:***考生答案:考生得分:***是否评分:未评分评价描述:***8. 8. 简述瀑布模型的主要步骤,以及瀑布模型的问题(第二章)试题编号:试题类型:简答题标准答案:***试题难度:一般试题解析:***考生答案:考生得分:***是否评分:未评分评价描述:***9. 9. 软件需求的定义(第三章)试题编号:试题类型:简答题标准答案:***试题难度:一般试题解析:***考生答案:考生得分:***是否评分:未评分评价描述:***10. 10. 软件需求的5个基本性质及含义(第三章)试题编号:试题类型:简答题标准答案:***试题难度:一般试题解析:***考生答案:考生得分:***是否评分:未评分评价描述:***11. 11. 软件需求的5种类型(第三章)试题编号:试题类型:简答题标准答案:***试题难度:一般试题解析:***考生答案:考生得分:***是否评分:未评分评价描述:***12. 12. 软件需求的5种发现技术(第三章)试题编号:试题类型:简答题标准答案:***试题难度:一般试题解析:***考生答案:考生得分:***是否评分:未评分评价描述:***13. 13. 数据和数据流的定义(第四章)试题编号:试题类型:简答题标准答案:***试题难度:一般试题解析:***考生答案:考生得分:***是否评分:未评分评价描述:***14. 14. 加工的定义(第四章)试题编号:试题类型:简答题标准答案:***试题难度:一般试题解析:***考生答案:考生得分:***是否评分:未评分评价描述:***15. 15. 数据存储的定义(第四章)试题编号:试题类型:简答题标准答案:***试题难度:一般试题解析:***考生答案:考生得分:***是否评分:未评分评价描述:***16. 16. 据源和数据潭的定义(第四章)试题编号:试题类型:简答题标准答案:***试题难度:一般试题解析:***考生答案:考生得分:***是否评分:未评分评价描述:***17. 17. 结构化分析的建模过程(第四章)试题编号:试题类型:简答题标准答案:***试题难度:一般试题解析:***考生答案:考生得分:***是否评分:未评分评价描述:***18. 18. 结构化设计中总体设计的任务(第五章)试题编号:试题类型:简答题标准答案:***试题难度:一般试题解析:***考生答案:考生得分:***是否评分:未评分评价描述:***19. 19. 结构化设计中详细设计的任务(第五章)试题编号:试题类型:简答题标准答案:***试题难度:一般试题解析:***考生答案:考生得分:***是否评分:未评分评价描述:***20. 20. UML是什么(第六章)试题编号:试题类型:简答题标准答案:***试题难度:一般试题解析:***考生答案:考生得分:***是否评分:未评分评价描述:***21. 21. UML名词解释:类与对象、接口、协作、用况、主动类、构件、制品、节点(第六章)试题编号:试题类型:简答题标准答案:***试题难度:一般试题解析:***考生答案:考生得分:***是否评分:未评分评价描述:***22. 22. UML名词解释:关联、泛化、细化、依赖(第六章)试题编号:试题类型:简答题标准答案:***试题难度:一般试题解析:***考生答案:是否评分:未评分评价描述:***23. 23. RUP的定义(第七章)试题编号:试题类型:简答题标准答案:***试题难度:一般试题解析:***考生答案:考生得分:***是否评分:未评分评价描述:***24. 24. 软件测试的目的(第八章)试题编号:试题类型:简答题标准答案:***试题难度:一般试题解析:***考生答案:考生得分:***是否评分:未评分评价描述:***25. 25. 软件测试的定义(第八章)试题编号:试题类型:简答题标准答案:***试题难度:一般试题解析:***考生答案:考生得分:***是否评分:未评分评价描述:***26. 26. 白盒测试技术的定义和主要方法(第八章)试题编号:试题类型:简答题试题难度:一般试题解析:***考生答案:考生得分:***是否评分:未评分评价描述:***27. 27. 黑盒测试技术的定义和主要方法(第八章)试题编号:试题类型:简答题标准答案:***试题难度:一般试题解析:***考生答案:考生得分:***是否评分:未评分评价描述:***28. 28. 软件测试的主要步骤(第八章)试题编号:试题类型:简答题标准答案:***试题难度:一般试题解析:***考生答案:考生得分:***是否评分:未评分评价描述:***29. 29. 列举一种软件规模的估算方法和一种软件成本估算模型(第九章)试题编号:试题类型:简答题标准答案:***试题难度:一般试题解析:***考生答案:考生得分:***是否评分:未评分评价描述:***30. 30. CASE的意义和定义(第十章)试题编号:试题类型:简答题标准答案:***试题难度:一般试题解析:***考生答案:考生得分:***是否评分:未评分评价描述:***二、学习感想题(共1题,每题40分,共40分)该部分完成质量将很大程度决定作业分数,严惩抄袭31. 31. 根据自己的工作经验,简述软件工程方法在实际工作中的应用,不少于200字。

软件工程前三章作业

软件⼯程前三章作业软件⼯程前三章作业第1章 绪论1. 什么是软件危机?为什么会产⽣软件危机?(1)软件危机是计算机软件开发和维护过程所遇到的⼀系列问题。

表现为:开发成本急剧上升。

质量很不可靠。

供不应求:软件开发率跟不上计算机应⽤迅速深⼊的趋势。

软件可维护性差——错误难以改正,新功能难以增加。

没有⽂档资料——给软件交流,系统的管理、维护造成困难。

(2)软件危机的原因:软件维护费⽤急剧上升,直接威胁计算机应⽤的扩⼤。

修改程序困难,抽调⼤量⼈员,影响其他软件开发等。

越晚发现错误,改正的成本就越⾼(因此强调重视需求)。

软件⽣产技术进步缓慢,是加剧软件危机的重要原因。

(软件开发理念和⼿段与客观实际存在的差异)1)对软件本⾝的认识存在差异。

2)对软件 的服务对象认识不⾜。

3)对软件开发缺乏科学管理。

4)软件开发⼿段落后。

2. 何谓⾯向对象软件⼯程?简述它与传统软件⼯程的差别和联系。

(1)⾯向对象软件⼯程以⾯向对象程序设计为基础,其开发过程可包括以下阶段: OO分析与对象抽取→对象详细设计→⾯向对象的编码和测试(2)它与传统软件⼯程的差别和联系。

传统软件⼯程⽅法适⽤于中⼩型软件产品开发;⾯向对象软件⼯程⽅法适⽤于⼤型软件产品开发。

传统⽅法中系统是过程的集合;⾯向对象⽅法中系统是交互对象的集合。

传统⽅法过程与数据实体交互;⾯向对象⽅法对象与⼈或其它对象交互。

传统⽅法中过程接受输⼊并产⽣输出;⾯向对象⽅法中对象发送与响应消息。

传统软件⼯程是以结构化程序设计为基础,⽽⾯向对象软件⼯程是以⾯向对象程序设计为基础。

与⾯向过程的软件⼯程的开发思想相⽐,⾯向对象开发⽅法不再是以功能划分为导向,⽽是以对象作为整个问题分析的中⼼,围绕对象展开系统的分析与设计⼯作。

传统软件⼯程开发过程包括需求分析、总体设计、详细设计、⾯向过程的编码和测试;⾯向对象软件⼯程开发过程包括需求分析与对象抽取、对象详细设计、⾯向对象的编码和测试。

第2章 软件⽣存周期与软件过程1. 什么是软件⽣存周期?把⽣存周期划分为阶段的⽬的是什么?(1)⼀个软件从开始⽴项起,到废弃不⽤⽌,统称为软件的⽣存周期。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

软件工程作业1(第1~4章)一、选择题:1.开发软件所需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称做(C)。

A.软件工程B.软件周期C.软件危机D.软件产生2.瀑布模型本质上是一种(A )模型。

A.线性顺序B.顺序迭代C.线性迭代D.早期产品3.瀑布模型存在的问题是(B )。

A.用户容易参与开发 B.缺乏灵活性C.用户与开发者易沟通 D.适用可变需求4.螺旋模型是一种将瀑布模型和(A)结合起来的软件开发模型。

A.增量模型B.专家系统C.喷泉模型D.变换模型5.原型化方法是用户和设计者之间执行的一种交互构成,适用于(A)系统。

A.需求不确定性高的 B.需求确定的C.管理信息 D.实时6.下列有关软件工程的标准,属于国际标准的是(D )A.GBB.DINC.ISOD.IEEE7.结构化方法是一种基于(D)的方法。

A.数据结构B.程序结构C.算法D.数据流8.软件可行性研究实质上是要进行一次( A)需求分析、设计过程。

A、简化、压缩的B、详细的C、彻底的D、深入的9.可行性研究的目的是(D)A、分析开发系统的必要性B、确定系统建设的方案C、分析系统风险D、确定是否值得开发系统10.设年利率为i,现存入p元,不计复利,n年后可得钱数为(C)。

A、P×(1+i*n)B、P× (i+1)*nC、p×(1+i)nD、p×(i+n)11.可行性研究是在(A)之前A、系统开发B、测试C、试运行D、集成测试12.可行性研究需要的时间长短取决于系统的规模,一般来说,可行性研究的成本只是预期总成本的(C)。

A、1%B、20%C、8%D、50%13.我国正式颁布实施的(B)对计算机病毒的定义具有法律性、权威性。

A.《计算机软件保护条例》B.《中华人民共和国计算机信息系统安全保护条例》C.《中华人民共和国著作权法》D.《计算机病毒防治管理办法》14.效率是一个性能要求,因此应当在以下哪个阶段规定?BA、可行性分析B、需求分析C、概要设计D、详细设计15.需求规格说明书的作用不包括(D)A、软件验收的依据B、用户与开发人员对软件要做什么的共同理解C、软件可行性研究的依据D、软件设计的依据16.数据字典是用来定义(D)中的各个成份的具体含义的。

A、程序流程图B、功能结构图C、系统结构图D、数据流程图17.数据流程图是(A)方法中用于表示系统逻辑模型的一种图形工具。

A、SAB、SDC、SPD、SC18.DFD中的每个加工至少有(A)。

A、一个输入流或一个输出流B、一个输入流和一个输出流C、一个输入流D、一个输出流19.需求分析阶段的关键任务是确定(D)A、软件开发方法B、软件开发工具C、软件开发费D、软件系统的功能20.在SD方法中全面指导模块划分的最重要的原则是(D)。

A、程序模块化B、模块高内聚C、模块低耦合D、模块独立性21.在模块的3种基本属性中,反映模块内部特性的是(C)。

A、接口B、功能C、逻辑D、状态22.模块的耦合性可以按照耦合程度的高低进行排序,以下哪一项符合从低到高的正确次序(D)。

A、数据结构耦合,公共耦合,控制耦合,内容耦合B、数据耦合,控制耦合,数据结构耦合,公共耦合C、无直接耦合,数据结构耦合,内容耦合,控制耦合D、无直接耦合,数据耦合,控制耦合,内容耦合23.PDL是描述处理过程( C )A、做什么B、为什么做C、怎么做D、对谁做24.(D)工具在软件详细设计过程中不采用。

A、判定表B、IPO图C、PDLD、DFD图25.为高质量地开发软件项目,在软件结构设计时,必须遵循(A)原则。

A.信息隐蔽B、质量控制C、程序优化D、数据共享26.当一个模块直接使用另一个模块的内部数据,这种模块之间的耦合为(D)A、数据耦合B、公共耦合C、标记耦合D、内容耦合27.详细设计与概要设计衔接的图形工具是(B)。

A、DFD图B、SC图C、PAD图D、程序流程图28.下列几种类型中,耦合性最弱的是(D)。

A、内容型B、控制型C、公共型D、数据型29.软件结构使用的图形工具,一般采用(C)图。

A、DFDB、PADC、SCD、ER30.在七种偶合中,最低偶合是(D)。

A、内容偶合B、公共偶合C、数据偶合D、非直接偶合二、简答题1.什么是软件工程?软件工程的目标是什么?答:软件工程是①将系统化的、规范的、可度量的方法应用于软件的开发、运行和维护过程,即将工程化应用于软件开发和管理之中,②对①中所选方法的研究。

目标:1合理预算开发成本,付出较低的开发费用。

2实现预期的软件功能,达到较好的软件性能,满足用户的需求。

3 提高软件的可维护性,降低维护费用。

4 提高软件开发生产率,及时交付使用2.指出瀑布模型中下列任务的顺序:验收测试,项目计划,单元测试,需求评审,成本估计,概要设计,详细设计,系统测试,设计评审,编码,需求规格说明书。

答:项目计划,成本估计,需求规格说明书,需求评审,概要设计,详细设计,设计评审,编码,单元测试,系统测试,验收测试3.可行性研究报告的主要内容是什么?答:可行性研究主要包括以下几个部分:(1)概述(2)技术可行性(3)项目成熟程度(4)市场需求情况和风险分析(5)投资估算及资金筹措(6)经济与社会效益(7)综合实力和产业基础(8)项目实施进度计划(9)其它尚需要说明的必要的方面(10)结论4.什么是需求分析?需求分析阶段的基本任务是什么?答:所谓"需求分析",是指对要解决的问题进行详细的分析,弄清楚问题的要求,包括需要输入什么数据,要得到什么结果,最后应输出什么。

可以说,“需求分析”就是确定要计算机“做什么”。

任务:确定软件项目的目标和范围。

调查使用者的要求,分析软件必须做什么,编写需求规格说明书等它相关文档,并进行必要的需求审查。

除此之外,还包括需求变更控制,需求风险控制,需求版本控制等对需求的管理工作5.什么是结构化分析方法?该方法使用什么描述工具?答:结构化的分析方法是面向数据流的方法,因此,此方法研究的核心是数据的组成和数据流向和对数据的加工处理。

结构化分析方法用抽象模型的概念,按照软件内部数据传递、变换的关系,自顶向下逐层分解,直至找到满足功能要求的所有可实现的软件元素为止描述工具:1系统流程图 2 数据流程图3数据字典4 IPO图 5层次方框图6实体—关系图7状态—变迁图6.结构化分析方法通过哪些步骤来实现?答:1)确定系统的功能要求2) 确定系统的数据要求3) 确定系统的操作要求和界面要求4) 确定系统的性能要求5) 确定系统的运行要求6) 获得当前系统的物理模型7) 抽象出当前系统的逻辑模型8) 建立目标系统的逻辑模型。

9) 修正开发计划10)如果需要则开发系统原型7.什么是数据流图?其作用是什么?其中的基本符号各表示什么含义?答:数据流图:简称DFD,就是采用图形方式来表达系统的逻辑功能、数据在系统内部的逻辑流向和逻辑变换过程,是结构化系统分析方法的主要表达工具及用于表示软件模型的一种图示方法。

数据流图的基本符号的意思:1.矩形表示数据的外部实体;2.圆角的矩形表示变换数据的处理逻辑;3.少右面的边矩形表示数据的存储;4.箭头表示数据流。

8.什么是数据字典?其作用是什么?它有哪些条目?答:数据字典,主要用来描述数据流程图中的数据流、数据存储、处理过程和和数据源点/终点。

作用:数据流程图描述了系统的逻辑结构,其中的四个基本图形元素的含义无法在数据流程图中详细说明,因此数据流程图需要与其他工具配合使用,数据字典就是这样的工具之一。

包括的条目:数据流词条数据元素词条数据存储词条数据加工处理词条数据源点及终点词条9.什么是概要设计?有哪些基本任务?答:概要设计:根据用户的需求先确定软件系统的总体结构和总的设计原则基本的任务:设想供选择的方案。

推荐最佳方案。

功能分解,确定软件结构。

设计软件结构。

制定测试计划。

数据设计。

书写文档。

包括总体设计规格说明书。

用户手册。

测试计划。

设计审查和复审。

10.详细设计的基本任务是什么?有那几种描述方法?答:详细设计阶段的任务是要为编写程序代码设计“图纸”,由程序员按“图纸”用某种高级程序设计语言编写程序代码。

主要方法有设计程序流程图,表格设计符号以及过程设计语言。

11.什么是变换流?什么是事物流?答:变换型数据流可以划分为明显的三部分:逻辑输入,中心变换,逻辑输出事务流的特点是数据沿某个输入路径流动,该路径将外部信息转换成事务,其中发射出多条事务处理路径的中心处理被称为中心事务12.模块的内聚有哪几种?模块间的耦合有哪几种?答:内聚分为七种类型:巧合内聚——一个模块执行多个完全互不相关的动作,那么这个模块就有巧合内聚逻辑内聚——当一个模块执行一系列相关的动作时,称其有逻辑内聚。

时间性内聚——当一个模块内的多个任务是与时间有关时,这个模块具有时间性内聚。

过程内聚——模块执行的若干动作之间有顺序关系。

通信内聚——模块执行的若干动作之间有顺序关系,并且所有动作是在相同的数据上执行。

信息内聚——一个模块中执行一系列动作,每个动作都有自己的入口点和处理代码,所有的动作都作用在相同的数据结构上,这样的模块叫做信息内聚。

功能性内聚——一个模块中各个部分都是完成某一具体功能必不可少的组成部分耦合分为七类:内容耦合——如果一个模块直接参考另一个模块的内容,则这两个模块是内容耦合。

公共耦合——如果多个模块都访问同一个公共数据环境,则称它们是公共耦合。

外部耦合——如果两个模块都访问同一个全局简单变量而不是同一全局数据结构,而且,不是通过参数表传递该全局变量的信息,则这两个模块属于外部耦合。

控制耦合——如果模块A向模块B传递一个控制信息,则称这两个模块是控制耦合的数据结构耦合——当一个模块调用另一个模块时传递了整个数据结构,这两个模块之间具有数据结构耦合。

数据耦合——如果两个模块传递的是数据项,则这两个模块是数据耦合。

非直接耦合——如果两个模块之间没有直接关系,它们之间的联系完全通过主模块的控制和调用来实现的,这就是非直接耦合。

三、应用题1.某旅馆的电话服务如下:可以拨分机号和外线号码。

分机号是从7201至7299。

外线号码先拨9,然后是市话号码或长话号码。

长话号码是以区号和市话号码组成。

区号是从100到300中任意的数字串。

市话号码是以局号和分局号组成。

局号可以是455,466,888,552中任意一个号码。

分局号是任意长度为4的数字串。

写出在数据字典中,电话号码的数据条目的定义(即组成)。

2.下面是旅客订飞机票的需求描述,试画出分层的数据流程图。

顾客将订票单交给预订系统:(1)如果是不合法订票单,则输出无效订票信息;(2)对合法订票单的预付款登录到一个记账文件中;(3)系统有航班目录文件,根据填写的旅行时间和目的地为顾客安排航班;(4)在获得正确航班信息和确认已交了部分预付款时发出取票单,并记录到取票单文件中。

相关文档
最新文档