软件工程--课后答案

合集下载

软件工程---课后习题答案.doc

软件工程---课后习题答案.doc

软件工程---课后习题答案.doc第一章1.1什么是计算机软件?软件的特点是什么?计算机软件是指计算机系统中的程序及其文档软件的特点:●软件是一种逻辑实体,而不是有形的系统元件,其开发成本和进度难以准确地估算。

●软件是被开发的或被设计的,没有明显的制造过程,一旦开发成功,只需复制即可,但其维护的工作量大。

●软件的使用没有硬件那样的机械磨损和老化问题。

1.2简述软件的分类,并举例说明1.系统软件系统软件居于计算机系统中最接近硬件的一层,其他软件一般都通过系统软件发挥作用。

例如:编译软件、操作系统。

2.支撑软件支撑软件是支撑软件的开发和维护的软件。

例如:数据库管理系统、网络软件、软件工具、软件开发环境。

3.应用软件应用软件是特定应用领域专用的软件。

例如:工程/科学计算机软件、嵌入式软件、产品线软件、Web应用软件、人工智能软件。

1.3简述软件语言的分类,并举例说明。

1.需求定义语言是用于书写软件需求定义的语言。

例如:PSL/PSA。

2.功能性语言是用于书写软件功能规约的语言,通常又称为功能规约语言。

例如:广谱语言、Z语言。

3.设计性语言是用于书写软件设计规约的语言。

例如:PDL。

4.实现性语言也称为程序设计语言,是用于书写计算机程序的语言。

例如:C、java、PROLOG、FORTRAN、COBOL、Modula。

5.文档语言是用于书写软件文档的语言。

通常用自然语言或半形式化语言书写。

1.4什么是软件工程?软件工程是应用计算机科学、数学及管理科学等原理,开发软件的工程。

软件工程借鉴传统工程的原则、方法,以提高质量、降低成本为目的。

1.5简述软件工程的基本原则。

软件工程原则包括围绕工程设计、工程支持和工程管理所提出的以下4条基本原则。

1.选取适宜的开发模型必须认识需求定义的易变性,采用适宜的开发模型,保证软件产品满足用户的要求。

2.采用合适的设计方法合适的设计方法有助于这些特征的实现,以达到软件工程的目标。

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

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

1、可行性研究的目的是用最小的代价,在尽可能短的时间内,确定该项目是否能够开发。

2、程序设计时代的生产方式是个体手工,程序系统时代的生产方式是作坊式小团体,软件工程时代的生产方式是工程化。

3、喷泉模型是一种以需求分析为动力,以对象为驱动的模型。

4、需求分析阶段,分析人员要确定对问题的综合需求,其中最主要的是功能需求。

5、可行性研究需要从以下三个方面分析研究每种解决方法的可行性:技术可行性、经济可行性、社会可行性。

6、可行性研究的目的不是去开发一个软件项目,而是研究这个软件项目是否值得开发,其中的问题能否解决。

7、判定树较判定表直观易读,判定表进行逻辑验证较严格,能把所有的可能性全部都考虑到。

可将两种工具结合起来,先用判定表做底稿,在此基础上产生判定树。

8、软件工具的发展特点是软件工具有单一工具向多个工具集成化方向发展。

重视用户界面的设计,不断的采用新理论和新技术。

软件工具的商品化推动了软件产业的发展,而软件产业的发展,又增加了对软件工具的需求,促进了软件工具的商品化进程。

9、环境集成主要有数据集成、界面集成、控制集成、平台集成、过程集成。

10、可行性研究实质上是进行一项简化、压缩了的需求分析、设计过程。

11、结构化方法有结构化分析、结构化设计、结构化程序设计构成,它是一种面向数据流的开发方法。

12、投资回收期就是累计的经济效益等于最初的项目投资所需的时间。

13、详细描述处理过程常用三种描述工具:图形、表格和语言。

14、数据流图中,每个加工至少有一个输入流和一个输出流。

15、结构化设计以数据流为基础映射成软件结构。

16、当数据流图中某个加工的一组动作存在着多个条件复杂组合的判断时,使用判定表或判定树较好。

17、由于运用原型的目的和方式不同,在使用原型时也采取不同的策略,有抛弃策略和附加策略。

18、有两类维护技术:在开发阶段是用来减少错误、提高软件可维护性面向维护的技术,在维护阶段用来提高维护的效率和质量的维护支援技术。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

软件工程课后题答案

软件工程课后题答案

软件工程课后题答案第一章软件工程引论1. 在下列选项中,(D )不是软件的特征。

A .系统性与复制性 B. 可靠性与一致性 C. 抽象性与智能型 D.有形性与可控性2. 软件是一种(B )产品。

A .有形 B. 逻辑 C. 物质 D. 消耗3. 软件工程是一种(A )分阶段实现的软件程序开发方法。

A. 自顶向下B. 自底向上C. 逐步求精D. 面向数据流4. 与计算机科学的理论研究不同,软件工程是一门(B )学科。

A .理论性 B. 工程性 C. 原理性 D. 心理性5. 软件工程与计算机科学性质不同,软件工程着重于(C )。

A .原理探讨 B. 理论研究 C. 建造软件系统 D. 原理性的理论6. 下列说法正确的是(B )A. 软件工程的概念于20世纪50年代提出B. 软件工程的概念于20世纪60年代提出C. 20世纪70年代出现了客户机/服务器技术D. 20世纪80年代软件工程学科达到成熟7. 软件工程方法学中的软件工程管理是其中的一个重要内容,它包括软件管理学和软件工程经济学,它要达到的目标是(D )A .管理开发人员,以开发良好的软件B .采用先进的软件开发工具,开发优秀的软件C .消除软件危机,达到软件生产的规模效益D .以基本的社会效益为基础,工程化生产软件第二章软件生命周期及开发模型1. 软件生命周期包括可行性分析和项目开发计划、需求分析、总体设计、详细分析、编码、(B )、维护等活动。

A .应用 B. 测试 C. 检测 D. 以上答案都不正确2. 软件生命周期模型有多中,下列项目中,(C )不是软件生命周期模型。

A .螺旋模型 B. 增量模型 C. 功能模型 D. 瀑布模型3. 软件生命周期中时间最长的阶段时(D )A .需求分析阶段 B. 总体设计阶段 C. 测试阶段 D. 维护阶段4. 瀑布模型是一种(D )A. 软件开发方法B.软件生存周期C.程序设计方法学D.软件生存周期模型5. 软件开发中常采用的结构化生命周期方法,由于其特征而一般称其为(A )A. 瀑布模型B.对象模型C.螺旋模型D.层次模型6. 在结构化的瀑布模型中,(D )阶段定义的标准将成为软件测试中系统测试阶段的目标A. 详细设计阶段B.总体设计阶段C.可行性研究阶段D.需求分析7. 增量模型是一种(B )的模型A. 整体开发B.非整体开发C.灵活性差D.较晚产生工作软件8. (C )是指模拟某种产品的原始模型A. 模型B.最初模型C.原型D.进化模型9. 建立原型的目的不同,实现原型的途径也有所不同,下列不正确的类型是(B )A. 用于验证软件需求的原型B.垂直原型C.用于验证设计方案的原型D.用于演化出目标系统的原型10. 原型化方法是一种(A )型的设计过程。

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

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

软件工程课后习题参考答案1.简述软件开发的本质。

答:软件开发的本质就是实现问题空间的概念和处理逻辑到解空间的概念和处理逻辑之间的映射。

P192.简述实施软件开发的基本途径。

答:实施软件开发的基本途径是系统建模。

所谓系统建模,是指运用所掌握的知识,通过抽象,给出该系统的一个结构——系统模型。

P193.简述何谓模型以及软件开发中所涉及的模型。

答:模型是一个抽象。

该抽象是在意图所确定的角度和抽象层次对物理系统的一个描述,描述其中的成分和成分之间所具有的特定语义的关系,还包括对该系统边界的描述。

软件开发中所涉及的模型可分为两大类,一类称为概念模型,描述了系统是什么;另一类统称为软件模型,描述了实现概念模型的软件解决方案。

4.简述软件开发所涉及的两大类技术。

答:软件开发所涉及的两大类技术为:一是求解软件的开发逻辑,二是求解软件的开发手段。

5、简述需求与需求规约的基本性质。

答:需求的基本性质:1)必要的,该需求是用户所要求的。

2)无歧义的,该需求只能用一种方式解释。

3)可测的,该需求是可进行测试的。

4)可跟踪的,该需求可从一个开发阶段跟踪到另一个阶段。

5)可测量的,该需求是可测量的。

需求规约的基本性质:1)重要性和稳定性程度:按需求的重要性和稳定性,对需求进行分级。

2)可修改的:在不过多地影响其他需求的前提下,可以容易地修改一个单一需求。

3)完整的:没有被遗漏的需求。

4)一致的:不存在互斥的需求。

6、简述软件需求的分类。

答:软件需求可以分为两大类:一类是功能需求,一类是非公能需求,而非公能需求可分为性能需求,外部接口需求、设计约束和质量属性需求。

P237、举例说明功能需求和非功能需求之间的基本关系。

答:非功能需求可作用于一个或多个功能需求,例如非功能需求可作用于一个或多个功能需求其中,非功能需求1作用于功能需求1和功能需求38、有哪几种常用的初始需求发现技术?答:有5种常用的需求发现技术:自悟、交谈、观察、小组会和提炼。

完整版软件工程课后题答案资料

完整版软件工程课后题答案资料

第一章1 简述软件的开展过程。

共经历了四个阶段;第一阶段:〔20世纪50年代初期到60年代初期的十余年〕计算机系统开发的初期。

第二阶段:〔20世纪60年代中期到70年代中期的十余年〕软件产品和“软件作坊〞的概念开场出现。

软件开发人员不再像早期阶段那样只因个人工作需要而开发,而是为了用户更好地使用计算机。

第三阶段:〔20世纪70年代中期到80年代末期〕分布式系统嵌入“智能〞;硬件价格下降,软件价格急剧上升,导致了软件危机的加剧。

第四阶段:〔20世纪80年代末期开场〕强大的桌面系统和计算机网络迅速开展。

2 简述软件的定义和特点。

定义:软件是计算机程序、规程以及运行计算机系统可能需要的相关文档和数据。

特点:(1)是一种逻辑实体,具有抽象性;(2)软件的生产不存在明显的制造过程;(3)在软件的运行和使用的过程中,不会存在像硬件那样的机械磨损及老化问题;(4)由于对计算机系统的依赖性,对软件的通用性造成了一定的影响;(5)软件的开发方式还没有完全脱离手工开发方式,还不能完全采用组装的方式进展软件开发;(6)作为提高工作效率的逻辑产品,本身具有复杂性;(7)本钱相当昂贵;(8)相当多的软件工作设计社会因素。

3 软件有哪些种类1. 按功能特征进展划分(1)系统软件。

(2)支撑软件。

(3)应用软件2. 按规模大小进展划分微型、小型、中型、大型、甚大型、、极大型4 什么是软件危机?答:是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。

5 什么是软件工程?有哪些本质特性?怎样用软件工程消除软件危机?答:是指导计算机软件开发和维护的一门工程学科。

特性略。

技术措施和管理措施消除软件危机。

6 软件工程的三要素;方法、工具和过程。

7. 结合自己的亲身经历,谈谈软件工具在软件开发过程中的作用。

使软件开发更加模式化,工程化,从而提高软件开发的效率和封装性。

8. CASE 的研究和CASE 产品的开发是近年来软件工程领域的特点之一。

软件工程课后习题(含答案)

软件工程课后习题(含答案)

第一章练习题一、填空题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-1 什么是软件危机?它有哪些典型表现?为什么会出现软件危机?答:软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。

概括地说,软件危机包含下述两方面的问题:如何开发软件,以满足对软件日益增长的需求;如何维护数量不断膨胀的已有软件。

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

用户对“已完成的”软件系统不满意的现象经常发生。

软件产品的质量往往靠不住。

软件常常是不可维护的。

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

软件成本在计算机系统总成本中所占的比例逐年上升。

软件开发生产率提高的速度,远远跟不上计算机应用迅速普及深入的趋势。

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

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

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

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

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

1-2 假设你是一家软件公司的总工程师,当你把图1.1给手下的软件工程师们观看,告诉他们及早发现并改正错误的重要性时,有人不同意你的观点,认为要求在错误进入软件之前就清除它们是不现实的,并举例说:“如果一个故障是编码错误造成的,那么,一个人怎么能在设计阶段清除它呢?”你怎么反驳他?1-3 什么是软件工程?它有哪些本质特性?怎样用软件工程消除软件危机?答:软件工程是指导计算机软件开发和维护的一门工程学科。

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

软件工程本质特性:1、软件工程关注于大型程序的构造;2、软件工程的中心课题是控制复杂性;3、软件经常变化;4、开发软件的效率非常重要;5、和谐地合作是开发软件的关键;6、软件必须有效地支持它的用户;7、在软件工程领域中是由具有一种文化背景的人替具有另一种文化背景的人创造产品。

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

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

软件工程课后习题参考答案软件工程课后习题参考答案1.简答题1.1 什么是软件工程?软件工程是一门研究和应用如何以系统化、规范化、可量化的方式开发和维护软件的学科,涉及到软件的设计、构建、测试、部署和维护等全生命周期的过程。

1.2 软件工程的目标是什么?软件工程的目标是提高软件开发过程的效率和质量,确保软件项目按时、按需求交付,并且能够满足用户的期望。

1.3 软件生命周期有哪些阶段?常见的软件生命周期包括需求分析、系统设计、详细设计、编码、测试、部署和维护等阶段。

1.4 什么是软件需求?软件需求是指对于软件系统所需满足的问题或需求的描述,包括功能需求、性能需求、接口需求等。

1.5 软件开发过程有哪些模型?常见的软件开发过程模型包括瀑布模型、迭代模型、螺旋模型、敏捷开发等。

2.客观题2.1 软件测试的目的是什么?a) 发现软件中的错误和缺陷b) 验证软件是否符合需求和规格c) 提高软件的可靠性和质量d) 以上皆是答案:d) 以上皆是2.2 瀑布模型的特点是什么?a) 瀑布模型是一种线性顺序的软件开发过程模型b) 各个开发阶段是相互独立的c) 开发过程按照需求分析、设计、编码、测试等顺序进行d) 以上皆是答案:d) 以上皆是2.3 敏捷开发的原则是什么?a) 个体和交互胜过流程和工具b) 可工作的软件胜过详尽的文档c) 客户合作胜过合同谈判d) 响应变化胜过遵循计划e) 以上皆是答案:e) 以上皆是3.计算题3.1 请计算以下代码的覆盖率:(假设代码行数为100行,已执行代码行数为80行)覆盖率 = 已执行代码行数 / 代码行数 100% = 80 / 100 100% = 80%3.2 请计算以下缺陷密度的值:(假设代码行数为1000行,代码中的缺陷数为10个)缺陷密度 = 缺陷数 / 代码行数 1000 = 10 / 1000 1000 = 103.3 请计算以下代码的复杂度:(假设代码中包含的判断语句有20个,循环语句有5个)复杂度 = 判断语句数 2 + 循环语句数 3 = 20 2 + 5 3 = 40 + 15 = 554.附件本文档涉及附件:无5.法律名词及注释本文涉及的法律名词及注释:无。

软件工程课后参考答案完整版

软件工程课后参考答案完整版

软件工程课后参考答案 HEN system office room 【HEN16H-HENS2AHENS8Q8-HENH1688】第一章课后参考答案1.什么是软件危机它们有哪些典型表现为什么会出现软件危机“软件危机”是指计算机软件的“开发”和“维护”过程中所遇到的一系列“严重问题”。

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

它们有以下表现:(1)对软件开发成本和进度的估计常常很不准确;(2)用户对“已完成的”软件系统不满意的现象经常发生;(3)软件产品的质量往往靠不住;(4)软件常常是不可维护的;(5)软件通常没有适当的文档资料;(6)软件成本在计算机系统总成本中所占的比例逐年上升;(7)软件开发生产率提高的速度,远远跟不上计算机应用普及深入的趋势。

出现软件危机的主要原因(1)与软件本身的特点有关(2)与软件开发和维护过程中使用的方法不正确有关2.假设自己是一家软件公司的总工程师,当把图给手下的软件工程师们观看,告诉他们及时发现并改正错误的重要性时,有人不同意这个观点,认为要求在错误进入软件之前就清楚它们是不现实的,并举例说:“如果一个故障是编码错误造成的,那么,一个人怎么能在设计阶段清除它呢?”应该怎么反驳他?答:在软件开发的不同阶段进行修改付出的代价是很不相同的,在早期引入变动,涉及的面较少,因而代价也比较低;在开发的中期,软件配置的许多成分已经完成,引入一个变动要对所有已完成的配置成分都做相应的修改,不仅工作量大,而且逻辑上也更复杂,因此付出的代价剧增;在软件“已经完成”时在引入变动,当然付出的代价更高。

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

3.什么是软件工程它有哪些本质特征怎么用软件工程消除软件危机软件工程是指导知道计算机软件开发和维护的一门工程学科。

采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好技术方法结合起来,以经济地开发出高质量的软件并有效地维护它,这就是软件工程。

软件工程课后题答案大全(详细)

软件工程课后题答案大全(详细)

软件工程习题解答第一章概述1.软件产品的特性是什么?a.软件产品是一种逻辑产品。

b.软件产品的生产主是研制,软件产品的成本主要体现在软件的开发和研制上,软件开发完成后,复制就产生了大量软件产品。

c.软件产品不会用坏,不存在磨损、消耗问题。

d.软件产品的生产主要是脑力劳动,还未完全摆脱手工开发方式,而且碰分是"定做"的。

e.软件费用不断增加,成本相当昂贵。

2.软件产品有几个阶段?各有何特征?阶段 A.程序设计时代(1946-1956) B.程序系统时代(1956-1968) C.软件工程时代(1968-今)生产方式个体手工劳动作坊式小集团合作生产工程化的生产工具机器语言、汇编高级语言数据库、开发工具、开发环境、网络、分布式、面向对象技术开发方法追求编和技巧,追求程序运行效率个人技巧,开始提出结构化方法硬件特征价格贵、存储容量小、运行可靠性差速度、容量、工作可靠性有明显提高,价格降低,销售有爆炸性增长向超高速、大容量、微型化以及网络化方软件特征只有程序、程序设计概念,不重视程序设计方法程序员数量猛增,已意识到软件开发的重要性,开发技术没有新的突破,大量软件开发的需求已提出,开发人员的素质和工程兵的开发技术不适应规模大、结构复杂的软件开发,产生了尖锐矛盾,导致软件危机的产生开发技术有很大进步,但未能获得突破性进展,软件价格不断上升,没有完全摆脱软件危机3.什么是软件危机?其产生的原因是什么?软件危机:软件发展第二阶段的末期,由于计算机硬件技术的进步。

一些复杂的、大型的软件开发项目提出来了,但,软件开发技术的进步一直未能满足发展的要求。

在软件开发中遇到的问题找不到解决的办法,使问题积累起来,形成了尖锐的矛盾,因而导致了软件危机。

主要表现在以下几个方面:a.经费预算经常突破,完成时间一再拖延。

b.开发的软件不通满足用户要求。

c.开发的软件可维护性差。

d. 开发的软件可靠性差。

软件危机产生的原因是由于软件产品本身的特点以及开发软件的方式、方法、技术和人员引起的:a.软件的规模越来越大,结构越来越复杂。

软件工程课后题答案

软件工程课后题答案

软件工程课后题答案1. 简答题1.1 软件过程模型软件过程模型是一种描述软件开发过程中活动、任务和工作产品之间关系的抽象模型。

常见的软件过程模型包括瀑布模型、迭代模型、增量模型和敏捷开发模型等。

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

1.2 软件需求软件需求是指用户对软件系统的功能、性能等方面的要求和约束。

需求分析是软件开发过程中非常重要的一步,它包括需求获取、需求分析、需求规格说明等活动。

需求分析的目标是理解用户需求,为软件开发提供指导。

1.3 需求规格说明需求规格说明是对软件需求进行详细描述和说明的文档。

它包括功能需求、性能需求、界面需求以及其他约束条件等。

需求规格说明的编写要求准确、清晰、可验证,并且要与用户和开发人员达成一致。

1.4 软件设计原则软件设计原则是指在软件设计过程中应该遵循的一些基本原则,以提高软件系统的可维护性、可扩展性和可重用性。

常见的软件设计原则包括单一职责原则、开闭原则、里氏替换原则、依赖倒置原则、接口隔离原则和迪米特法则等。

2.1 敏捷开发方法敏捷开发是一种迭代、逐步开发软件的方法。

它强调快速响应用户需求的变化,通过频繁发布可用的软件版本来获得反馈,并根据反馈进行调整。

敏捷开发方法更加灵活,适用于需求变化频繁的项目。

2.2 结构化程序设计结构化程序设计是一种通过模块化和流程控制来组织程序的方法。

它强调程序应该具有清晰的结构,模块之间的耦合度应该尽量低。

结构化程序设计可以提高程序的可读性和可维护性,减少错误引入的可能性。

2.3 UML建模UML是一种用于面向对象系统开发的建模语言。

它提供了一套丰富的图形符号和建模工具,用于描述系统的结构、行为和交互。

UML建模可以帮助开发人员清晰地表达设计意图,提高沟通效率,并且可以生成可执行代码。

2.4 软件测试技术软件测试是评估软件质量的过程,旨在发现软件中的缺陷和错误。

常见的软件测试技术包括黑盒测试和白盒测试。

黑盒测试关注软件功能是否符合需求,白盒测试则关注程序内部的逻辑结构和代码覆盖率。

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

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

软件工程课后习题参考答案软件工程课后习题参考答案1·软件工程概述1·1 软件工程的定义和特点软件工程是一门研究和应用如何以系统化、规范化、可量化的方法开发和维护软件的学科。

其特点包括软件开发的目标性、可度量性、可管理性和可预测性。

1·2 软件生命周期模型常见的软件生命周期模型包括瀑布模型、迭代模型、螺旋模型和敏捷模型等。

每个生命周期模型都有其适用的场景和优缺点。

2·软件需求工程2·1 软件需求获取软件需求获取方法包括面谈、问卷调查、用户场景模拟等。

需求获取的目的是明确软件系统的功能、性能和约束条件。

2·2 软件需求分析与规格说明软件需求分析的目标是识别和定义系统的需求,包括功能需求、非功能需求和约束条件。

规格说明是将需求转化为精确、清晰和易于验证的文档。

3·软件设计3·1 结构化设计结构化设计将系统分解为模块,确定模块之间的接口和关系,实现模块化、高内聚、低耦合的设计原则。

3·2 面向对象设计面向对象设计将系统抽象为对象,定义对象的属性和方法,并确定对象之间的关系。

常用的面向对象设计方法有UML(统一建模语言)。

4·软件测试4·1 测试基本概念软件测试是通过运行软件来发现错误和缺陷的过程。

测试的基本概念包括测试用例、测试套件、测试目标和测试覆盖度等。

4·2 测试方法和技术常见的软件测试方法和技术有黑盒测试、白盒测试、灰盒测试、单元测试、集成测试和系统测试等。

每种方法和技术都有其适用的场景和优缺点。

5·软件维护与配置管理5·1 软件维护软件维护是指对已有的软件进行修改、优化、修复错误和适应环境变化的过程。

维护活动包括需求分析、设计、实现、测试和文档更新等。

5·2 软件配置管理软件配置管理是指在软件开发和维护过程中,对软件配置项进行识别、控制、追踪和审查,确保软件可以按需发布、升级和回溯。

软件工程答案(共五则范文)

软件工程答案(共五则范文)

软件工程答案(共五则范文)第一篇:软件工程答案软件工程课后习题答案殷锋主编·天津科学技术出版社注:有些可能错误,读者自己注意第一章一、填空题:1、软件是计算机系统中与硬件相互依存的另一部分,是包括、、及相关文档的的完整集合2、软件工程包括三要素:方法、工具和过程。

3、软件开发的基本方法包括和二、选择题:1、C2、B3、C第二章一、填空题:1、软件生存周期的各个过程可以分成三类,及主要生存周期过程、支持生存周期过程和组织的生存周期过程。

2、软件生存周期包括计划、需求分析、设计、程序编码、软件测试和运行维护6个阶段。

3、软件过程改进(SPI)帮助软件企业对其软件过程的改变进行计划,制定以及实施。

二、填空题1、A2、B三、判断题1、√2、X第三章三、填空题:1、可行性研究的目的是用最小的代价,在尽可能短的时间内,确定够解决2、可行性研究在进行简要需求分析和设计时,要在高层次上以进行3、需求分析阶段产生的最重要的文档是。

4、为解决一个复杂的问题,往往采取的策略是5、SA方法中使用半形式化的描述方式表达需求,采用的主要描述工具是流图和E-R图。

6、数据流图中有四种负号元素,它们是点7、数据字典中有四类条目,分别是8、在IDEF0图中,表示系统功能的图形成为图。

9、在画分层的DFD时,父图与子图的输入/输出的数据流要10、用于描述基本加工的小说明的三种描述工具是定表。

二、选择题1、A2、C3、B4、B5、D6、D7、D8、A9、D10、A11、C12、B第四章一、填空题1、变换型系统由3部分组成:。

2、模块的分解的基本原则是。

3、在软件开发的过程中必须遵循的软件工程原则有:和模块独立性。

二、选择题1、D2、A3、A4、A5、B三、判断题1、√2、X3、X4、√5、X第五章二、填空题1、软件测试是为了而执行程序的过程。

2、运行被测程序的方法称为测试。

3、动态测试中,主要测试软件功能的方法称为法4、选择测试用例,使得被测程序中每个判定的每个分支至少执行一次,这种逻辑覆盖标准为判定/覆盖法。

软件工程--理论、方法与实践课后习题答案

软件工程--理论、方法与实践课后习题答案

B. 适用于客户需求难以清楚定义的情况
C. 最适合于大规模团队开发的项目
D. 很难产生有意义产品的一种冒险模型
7. 演进式软件过程模型(
)。(D)
A. 本质上是迭代的
B. 可以很容易适应需求的变化
C. 通常不会抛弃所产生的系统
D. 以上所有选项
8. 螺旋模型(
)。(C)
A. 在软件产品发布时结束
B. 比增量模型更加混乱
(4) 形式化方法模型 项目举例:某公司开发一个汽车防抱死刹车控制系统。 选用分析:由于该系统对安全性和可靠性要求极高,需要在系统运行之前进行相关性能的检 验,因此适合采用形式化方法开发该系统。 阶段说明:略。
(5) 基于组件的开发模型 项目举例:某公司开发企业管理 ERP 系统,包括销售、库存、生产、财务、物流、人力资 源等部分,在系统实施过程中不同的企业具有一定的需求差异。 选用分析:企业 ERP 系统具有组件化的结构,在不同企业实施时应该尽量重用已有的组件, 因此适合采用基于组件的开发模型开发该系统,在直接应用或者修改使用的基础上,最终进 行组件开发和系统集成。 阶段说明:略。
)准则。(E)
A. 从来不为个人获利而窃取数据
B. 从来不散布或出售项目中自己工作的信息
C. 从来不故意毁坏或修改别人的程序、文件或数据
D. 从来不侵犯个人、小组或组织的隐私
E. 以上所有选项
[练习题]
1.
软件与其他工程学科所产生的制品有什么根本区别?
答案要点: (1) 软件是人类思维和智能所延伸的产物,其数据、状态和逻辑关系的组合以及人类思维的 复杂性和不确定性导致它本身具有极高的复杂性; (2) 软件具有不可见性,它是抽象的,形式化和逻辑化的。 (3) 软件具有可变性,有用的软件需要不断地修改和扩展,但是频繁的修改可能导致软件的 退化;

《软件工程》(第五版)习题参考答案

《软件工程》(第五版)习题参考答案
把整个软件生命周期划分为若干个较小的阶段每个阶段都有相对独立的任务和完成任务的步骤和方法然后逐步完成各个阶段的任务这有利于软件开发过程的组织和管理从而降低了整个软件开发过程的困难程度从而使规模庞大结构复杂和管理复杂的软件开发变得容易控制和管理
《软件工程》(第五版)习题参考答案
第1章 一、判断题 1、(×)软件的维护与硬件维护本质上是相同的。 2、(√)软件在运行和使用中也存在退化问题。 3、(×)软件危机的产生主要是因为程序设计人员使用了不适 当的程序设计语言。 4、(√)软件同其他事物一样,有孕育、诞生、成长、成熟和 衰亡的生存过程。 5、(×)文字处理软件 Word 属于系统软件。应用软件 6、(√)原型是软件的一个早期可运行的版本,它反映最终系 统的部分重要特性。 7、(√)软件开发过程中,一个错误发现得越晚,为改正它所 付出的代价就越大。 8、(×)快速原型模型对软件开发人员的水平要求不高。 9、(√)喷泉模型适合于面向对象的软件开发。 10、(×)面向对象开发方法的主要缺点是在适应需求变化方面 不够灵活。 二、选择题 1、软件是一种(C)。 A、程序 B、数据
D、合同文档 14、结构化分析方法是以数据流图、(D)和加工说明等描述工 具,即用直观的图和简洁的语言来描述软件系统模型。 A、DFD 图 B、PAD 图 C、IPO 图 D、DD 15、软件需求分析阶段的工作,可以分为四个方面:需求获取、 需求分析、编写需求规格说明书以及(B)。 A、阶段性报告 B、需求评估 C、总结 D、都不正确 16、数据流图用于抽象描述一个软件的逻辑模型,数据流图由一 些特定的图符构成。下面图符名称标识的图符不属于数据流图合 法图符的是(A)。 A、控制流 B、加工 C、数据存储 D、源点和终点 17、DFD 用于描述系统的(D)。 A、数据结构

完整版软件工程课后题答案

完整版软件工程课后题答案

1什么是软件危机?软件危机产生的原由是什么?软件危机就是指人们在开发软件和保护软件过程中遇到的一系列问题。

产生的原由: <1>忽视软件开发先期的需求剖析。

<2>开发过程缺少一致的、规范化的方法论的指导。

<3>文档资料不齐全或不正确。

<4>忽视与用户之间、开发构成员之间的交流 <5>忽视测试的重要性。

<6>不重视保护或因为上诉原由造成保护工作的困难。

<7>从事软件开发的专业人员对这个家产认识不充分,缺少经验。

<8>没有圆满的质量保证系统。

2请简述软件工程的三因素三因素是指过程、方法和工具软件工程的基础是过程层,它定义了一组要点过程地域的框架,使软件能过被合理和及时的开发;软件工程的方法供应了建筑在在技术上需要“做什么”,它覆盖了一系列的任务,包括需求剖析、设计编程、测试和支持等;软件工程的工具对过程和方法供应了自动的或半自动的支持。

3请比较瀑布模型、快速模型、增量模型和螺旋模型。

瀑布模型的长处是:过程模型简单,履行简单;弊端是没法适应更正。

快速模型的长处是:软件产品的开发基本上是按线性序次进行的(它所达成的功能常常是最后产品能达成的功能的一个子集)增量模型的最大特色是将待开发的软件系统模块化和组件化,长处是:将待开发的软件系统模块化,可以分批次地提交软件产品,使用户可以及时认识项目的进展;以组件为单位进行开发降低了软件开发的风险;开发序次灵巧。

它的弊端是要求待开发的软件系统可以被模块化螺旋模型的长处是对可选方案和拘束条件的重申有益于已有的软件的重用,也有助于把软件质量作为软件开发的一个重要目标;减少了过多测试(浪费资本)或测试不足(产品故障多)所带来的风险;更重的是,在螺旋模型中保护但是模型的另一个周期,在保护和开发之间并没有实质的差别,它的主要优势在于风险驱动但是这也可能是他的一个弊端。

4什么是软件过程?他与软件工程方法学有何不一样样?软件过程:是指一个为获取高质量软件所需达成的任务的框架,它规定了软件产品开发时达成各项任务的一系列工作步骤,包含中间产品、资源、角色及过程中采纳的方法、工具等范围。

软件工程第五版课后全答案准确对应书山

软件工程第五版课后全答案准确对应书山

软件工程第五版课后全答案准确对应书山答案一:软件工程概述软件工程是一门研究如何以系统化、规范化、可定量化的方法开发和维护软件的学科。

它包括软件开发的理论、方法和工具,以及软件工程实践中的管理过程。

答案二:软件工程的原则和概念1. 软件工程的原则:- 适应性原则:软件工程应适应不断变化的需求和环境。

- 开发可验证性:软件开发过程应可验证和检验。

- 风险管理:软件开发中应采取风险管理策略。

- 可扩展性:软件应具备可扩展性,以适应未来的发展和变化。

2. 软件工程的概念:- 软件生命周期:指软件从提出需求到废弃的整个过程。

- 开发过程模型:指将软件开发过程分为一系列可管理的阶段和活动。

- 软件需求:用户对软件的功能、质量和性能等方面的要求和期望。

- 软件设计:确定软件系统的体系结构和组件之间的关系,并编写详细的规格说明。

- 软件测试:验证软件是否符合需求,并发现和修复软件中的缺陷。

- 软件维护:对已经交付使用的软件进行错误修复、性能优化等活动。

答案三:软件过程和项目管理1. 软件过程:- 软件过程定义:软件过程是指为实现软件的开发和维护需要采取的一系列方法和活动。

- 软件过程模型:包括瀑布模型、迭代模型、增量模型等。

- 软件过程改进:通过评估现有过程并采取相应的改进措施,提高软件开发效率和质量。

2. 项目管理:- 项目管理概述:项目管理是指将规划、组织、指导、控制和评估项目活动的过程。

- 项目管理知识体系:包括项目范围管理、项目时间管理、项目成本管理等多个方面。

- 项目管理过程:包括项目启动、规划、执行、监控和收尾等阶段。

答案四:需求分析与规格说明1. 需求工程:需求分析是软件开发的重要阶段,它涉及对用户需求的收集、分析和规格说明等活动。

- 需求获取:通过面谈、问卷调查等方式,从用户和相关人员中获取需求。

- 需求分类和排序:将获取的需求进行分类和排序,以便进一步分析和规格说明。

2. 需求分析模型:在需求分析过程中,可以使用不同的模型来表示需求,常用的模型有数据流图、用例图等。

软件工程--课后答案

软件工程--课后答案

第一章:1.1 简述软件的定义、软件的特点和软件危机的表现。

ﻩ软件的定义:软件是由计算机程序、数据和文档组成的。

ﻩ软件的特点:1)抽象性,2)软件生产无明显的制造过程,3)无磨损性,4)对计算机系统的依赖性,5)软件的手工开发方式,6)软件本身复杂性,7)软件的高成本ﻩ软件危机的表现:1)软件开发周期大大超过规定日期,2)软件开发成本严重超标,3)软件质量难于保证。

1.2什么是软件工程和软件工程化?软件工程:ﻩ软件工程化:把软件工程理论应用到软件开发组织中,以改进软件产品开发的时间(T)、质量(Q)、成本(C)和服务(S)。

1.3简要说明软件工程三要素与质量关注点之间的关系。

ﻩ软件工程的三要素:方法、工具和过程。

关系看P41.4如何构造软件过程?软件过程构造时首先应建立一个公共过程框架,其中定义了少量可用于所有项目的框架活动;再给出各个框架活动的任务集合,使得框架活动能够适合于项目的特点和项目组的需求;最后是保护性活动。

1.5什么是软件生存周期?软件生存周期分为哪几个阶段?各阶段的任务是什么?ﻩ软件生存周期:是软件产品或软件系统从设计、投入使用到被淘汰的全过程。

软件生存周期:定义、开发、维护。

1)定义:包括问题定义、可行性研究和需求分析。

2)开发时期包括设计、编码和测试。

3)维护时期包括维护阶段。

1.6常用的软件工程方法和开发模型各有哪些?软件工程方法:生命周期法(又称传统方法或结构化方法)、面向对象方法和原型法。

ﻩ软件开发模型:瀑布模型、快速原型模型、演化模型、面向对象模型、形式化方法模型。

1.7什么是软件工具、软件开发环境和软件工程环境?软件工具:是用来辅助软件开发、运行、维护、管理和支持等过程中活动的软件。

1.8软件工程的基本原理:ﻩ1)按软件生存期分为阶段制定计划并认真实施。

2)坚持进行阶段评审。

3)坚持严格的产品控制。

ﻩ4)使用现代程序设计技术。

5)明确责任,使得工作结果能够得到清楚的审查。

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

第一章:1.1 简述软件的定义、软件的特点和软件危机的表现。

软件的定义:软件是由计算机程序、数据和文档组成的。

软件的特点:1)抽象性,2)软件生产无明显的制造过程,3)无磨损性,4)对计算机系统的依赖性,5)软件的手工开发方式,6)软件本身复杂性,7)软件的高成本软件危机的表现:1)软件开发周期大大超过规定日期,2)软件开发成本严重超标,3)软件质量难于保证。

1.2 什么是软件工程和软件工程化?软件工程:软件工程化:把软件工程理论应用到软件开发组织中,以改进软件产品开发的时间(T)、质量(Q)、成本(C)和服务(S)。

1.3简要说明软件工程三要素与质量关注点之间的关系。

软件工程的三要素:方法、工具和过程。

关系看P41.4如何构造软件过程?软件过程构造时首先应建立一个公共过程框架,其中定义了少量可用于所有项目的框架活动;再给出各个框架活动的任务集合,使得框架活动能够适合于项目的特点和项目组的需求;最后是保护性活动。

1.5什么是软件生存周期?软件生存周期分为哪几个阶段?各阶段的任务是什么?软件生存周期:是软件产品或软件系统从设计、投入使用到被淘汰的全过程。

软件生存周期:定义、开发、维护。

1)定义:包括问题定义、可行性研究和需求分析。

2)开发时期包括设计、编码和测试。

3)维护时期包括维护阶段。

1.6常用的软件工程方法和开发模型各有哪些?软件工程方法:生命周期法(又称传统方法或结构化方法)、面向对象方法和原型法。

软件开发模型:瀑布模型、快速原型模型、演化模型、面向对象模型、形式化方法模型。

1.7什么是软件工具、软件开发环境和软件工程环境?软件工具:是用来辅助软件开发、运行、维护、管理和支持等过程中活动的软件。

1.8软件工程的基本原理:1)按软件生存期分为阶段制定计划并认真实施。

2) 坚持进行阶段评审。

3)坚持严格的产品控制。

4)使用现代程序设计技术。

5)明确责任,使得工作结果能够得到清楚的审查。

6)人员应少而精。

7) 不断改进开发过程。

第二章:2.3软件文档可分为哪几类?各包括哪几类文档?软件文档可分3类。

为1)开发文档,2)管理文档,3)用户文档。

2.5软件质量的特性有哪些?各特性的含义是什么?软件质量的六大特性包括:功能性、可靠性、易使用性、效率、可维护性、可移植性。

功能性:是一组功能及其指定的性质有关的一组属性。

可靠性:是与在规定的一段时间和条件下,软件维持其性能水平的能力有关的一组属性。

易使用性:是一组规定或潜在的用户为使用软件所需做出的努力和对这样的使用所作的评价有关的一组属性。

效率:是与在规定的条件下,软件的性能水平与所使用资源量之间关系有关的一组属性。

可维护性:是与进行指定的修改所需的努力有关的一组属性。

可移植性:是与软件可从某一环境转移到另一环境的能力有关的一组属性。

2.6什么是软件质量保证?软件质量保证:是确保软件产品从诞生到消亡为止的所有阶段的质量活动,即为确定、达到和维护需要的软件质量而进行的所有有计划、有系统的管理活动。

2.8 软件过程标准:为了能协调好开发项目的各个阶段和各个部分之间的联系和衔接问题,需要一系列的统一的约束和规定。

2.9 软件文档在产品的开发过程中起重要的作用:1)提高软件开发过程的能见度。

2)实现对软件开发的工程管理。

3)提高开发效率。

4)便于协调以后的软件开发、使用和维护工作。

2.11 ISO系列标准的主导思想:1)强调质量并非在产品检验中得到,而是形成于生产的全过程。

2)必须使影响产品质量的全部因素在生产全过程中始终处于受控状态。

3)企业具有持续提供符合要求产品的能力。

4)质量管理必须坚持进行质量改进。

2.12 软件过程工程化的实施步骤:总体上可分为1)实施前的准备工作,2)实施工作,3)实施结束与持续改进工作。

第三章:3.1什么是项目和项目管理?项目:是指在一定的资源约束下完成既定目标的一次性任务。

项目管理:是指通过项目经理和项目开发组织机构运用系统理论和方法对项目及其资源进行计划,组织,协调,控制,旨在实现项目的特定目标的管理方法体系。

项目管理的三要素:目标、成本、进度。

3.2软件项目管理的职责是什么?软件项目经理应具备什么能力?软件项目管理的职责:1)制定计划:规定要完成的任务和要求,安排资源,人员和进度等。

2)建立组织:建立分工明确的实施计划的责任制机构,以保证任务的完成。

3)配备人员:根据任务要求在各岗位上任用各种层次的技术人员和管理人员。

4)协调或追踪与指导:时刻跟踪项目的进展情况,协调,指导和激励各种人员完成所分配的任务。

5)控制或检验:对照计划和标准,监督和检验项目实施的情况。

软件项目经理人员的能力要求:1)综合问题的能力。

2)总结和表达问题。

3)沟通能力。

3.6软件配置管理的目的是什么?1)标识变更;2)控制变更;3)确保变更正确的实现;4)向其他有关的人报告变更。

第四章:4.1什么是系统工程和需求工程?计算机系统工程:是一个问题求解活动,其目的是揭示,分析所有基于计算机的系统功能和性能等要求,并把它们分配到基于计算机系统的各个单独的系统元素中去,确定它们的约束条件和接口。

需求工程:提供适当的机制以了解用户想要什么。

分析需要,评价可行性,协调合理的解决方案,无歧义地规约解决方案,确认方案以及它们转换到可运行系统时对管理的需求。

4.4需求获取方法有几种?各有什么优缺点?需求获取的方法:1)访谈和倾听,2)问卷调查,3)收集和研究现有文档,4)观察工作流程。

1)访谈倾听方法的优点是可以通过当面沟通获得比较准确的需求;可以通过被访谈者的表情或形体获得一些难以表达得信息。

其缺点是需要被访谈者有专门的时间,成本较高;也可能被被访谈者有所顾忌而有所保留2)问卷调查方法的优点是因为通常是匿名,意见比较充分;容易收取,列表和分析,因而成本低。

时间短而调查氛围大。

其缺点是反馈率可能会比较低,会损失一些难以表达的信息,没法收集模糊或不完整的回答,需要较长的准备时间,数据信息比较万元归纳。

3)收集和研究文档的优点是成本很低和信息稳定;缺点是范围有限,可能找不到最有意义的文档,很大程度上存在分析员的个人偏见,难以获得新数据。

4)观察方法的优点是高度可靠,准确地看到所发生的情况,也可以对工作进行实时测量,成本也相对低。

其缺点是被观察时的工作状态可能与平时不同,难以观察到较大难度或需要长时间的工作,不易于做计划,经常会被中断。

第五章:5.1可行性研究的任务是什么?1)识别用户需求2)设计并推荐系统实现方案3)评价系统可行性4)建立成本和进度限制5)编写文档并提交审查5.3什么是技术、法律、用户操作和经济可行性?①技术可行性:主要包括风险、资源和技术分析。

②法律可行性:指的是侵权和责任问题,如是否违反专利法、著作权法和软件保护条例等法律,是否涉及信息安全和个人隐私等问题。

③用户操作可行性:首先要分析用户类型,如外行型、熟练型或专家型,然后从操作习惯、使用单位计算机使用情况和相关的规章制度等方面进行分析,判断当系统交付使用后使用单位是否有能力保证系统的正常运行和使用。

④经济可行性:目的是从经济角度评价开发一个新的系统是否可行。

第六章:6.1需求分析任务、步骤、内容是什么?需求分析的任务:是准确地定义未来系统的目标,确定为了满足用户的需求系统必须做什么,用需求规格说明书规范的形式准确地表达用户的需求。

需求分析的步骤:是问题分析,问题评估和方案综合、建模、规约和复审。

需求分析的内容:获取的用户需求可分为功能性需求和非功能性需求。

功能性需求定义系统做什么,描述系统必须支持的功能和过程;非功能性需求定义系统工作时的特性,描述操作环境和性能目标等。

两类需求包括如下内容:功能需求,性能需求,环境需求,界面需求,用户或人的因素,文档需求,数据需求,资源需求,安全保密需求,软件成本消耗与开发进度需求,质量保证。

qxJ0s。

6.2如何建立软件系统的逻辑模型?软件系统的逻辑模型:首先确定目标系统与当前系统的逻辑差别;然后将变化部分看作是新的处理步骤,对功能图及对象图进行调整;最后由外及里对变化的部分进行分析,推断其结构,获得目标系统的逻辑模型。

通常用数据流图、数据字典和主要的处理算法描述这个逻辑模型6.3如何画数据流图?1)画顶层图:确定源和宿,确定加工,确定数据流,顶尘土通常没有文件。

2)画出系统内部:分解、确定加工,确定数据流,确定文件,确定源和汇点。

3 )画出加工内部.4)重复第三步,直到每个加工都足够简单。

6.4总体设计和详细设计的任务分别是什么?总体设计的任务:是确定软件的结构以及各组成成分之间的相互关系。

详细设计的任务:是确定模块内部的算法和数据结构,产生描述各模块程序过程的详细文档6.6人机界面设计的过程是什么?为什么要遵循各种设计指南和原则?1)用户、任务和环境分析及建模;2)界面设计;3)界面构造和界面确认,包括在设计的早期要不定期进行评估,以便逐步完善。

6.7需求规格说明书:是需求分析阶段要完成的文档。

作为需求分析任务的成果,详细描述功能、性能、行为等目标系统的各种需求。

第九章:9.1软件测试的目标和原则是什么?目标:为了发现错误而执行程序的活动过程。

原则:必须伴有质量保证活动,软件测试是软件质量保证的关键活动,代表了规约、设计和编码的最终检查。

9.2测试方法包括哪几类?分别有什么特点?测试方法可分为静态测试方法和动态测试方法。

静态测试方法有计算机辅助静态分析和人工测试等方法;动态测试方法有白盒测试和黑盒测试等方法。

9.3测试可分为哪几个步骤?它们的测试内容分别是什么?1)单元测试:又称为模块测试,检验每个模块能否单独工作。

2)集成测试:可分为子系统和系统集成测试,以需求规格说明书为检验尺度。

3)确认测试:可分为内部确认和验收测试,以需求规格书为检验尺度。

4)系统测试:综合检验软件与整个计算机系统的测试。

9.4如何用黑盒法中的等价划分法法、边界值分析法和错误推测法设计测试用例?等价划分法:把所有可能的输入或者输出数据(有效的和无效的)划分成若干个等价的子集,称为等价类,使得每个子集中的一个典型值在测试中的作用与这一子集中所有其他值的作用相同,可从每个子集中选取一组数据来测试程序。

边界值分析法:软件错误分为两类:一类是计算错误;另一类是域错误。

上述等价划分法是针对计算错误的测试方法,而针对域错误的测试方法称为便捷值分析法,用于测试域边界划定的正确性。

错误推测法是根据经验来设计测试用例以找出可能存在但尚未发现错误的方法。

9.5如何用白盒:法中的逻辑覆盖法、基本路径法和结构分析法设计测试用例?逻辑覆盖法主要考察使用测试数据运行被测程序时对程序逻辑的覆盖程度。

通常希望选择最少的测试用例来满足所需的覆盖标准,主要的覆盖标准有语句覆盖,判定覆盖,条件覆盖,判定/条件覆盖,条件组合覆盖,路径覆盖,点覆盖和边覆盖。

相关文档
最新文档