软件工程--课后答案
软件工程---课后习题答案.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、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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如何用白盒:法中的逻辑覆盖法、基本路径法和结构分析法设计测试用例?逻辑覆盖法主要考察使用测试数据运行被测程序时对程序逻辑的覆盖程度。
通常希望选择最少的测试用例来满足所需的覆盖标准,主要的覆盖标准有语句覆盖,判定覆盖,条件覆盖,判定/条件覆盖,条件组合覆盖,路径覆盖,点覆盖和边覆盖。