软件工程习题参考答案
软件工程习题(附答案)

一、选择题1、软件是一种( 2 )性工业产品。
(1)理论(2)知识(或逻辑)(3)消耗(4)体力2、需求分析是在( 2 )进行的。
(1)用户(2)用户和分析人员之间(3)开发人员内部(4)使用和维护人员之间3、在软件的可行性研究中经常从不同角度对系统进行可行性研究,其中从功能角度对系统进行研究属于( 2 )的研究。
(1)经济可行性(2)技术可行性(3)操作可行性(4)法律可行性4、在软件工程项目中,不随参与人员的增加而使软件的生产率增加的主要问题是( 4 )。
(1)工作阶段的等待时间(2)生产原型的复杂性(3)参与人员所需的工作站数(4)参与人员之间的沟通困难5、需求分析阶段的研究对象是( 1 )。
(1)用户需求(2)分析员要求(3)系统需求(4)软硬件需求6、对某公司进行调查分析,确定是否值得开发一个新系统的工作是进行( 4 )。
(1)系统设计(2)系统分析(3)系统详细调查(4)系统初步调查7、系统分析员应当( 4 )。
(1)善于使用户接受自已的观点(2)善于使自已获得成就(3)是用户与计算机技术人员的有效协调与组织者(4)满足上述所有条件8、数据流图的绘制过程,是对新系统的需求进行综合分析和形成新系统( 1 )的过程。
(1)逻辑模型(2)物理模型(3)总体方案(4)可行性报告9、系统测试的目的是( 4 )。
(1)找出编码错误(2)找出数据错误(3)要证明程序无错(4)发现软件错误10、一个模块内部各程序段都在同一张表上操作,这个操作的内聚性称为( 3 )。
(1)时间内聚(2)功能内聚(3)通信内聚(4)顺序内聚11、在结构化方法中全面指导模块划分的最重要的原则是( 4 )A.程序模块化B.模块高内聚C.模块低耦合D.模块独立性12、最高程度也是最差的耦合是( 2 )。
(1)公共耦合(2)内容耦合(3)控制耦合(4)数据耦合13、概要设计阶段产生的文档不包括( 4 )。
(1)概要设计说明书(2)数据库设计说明书(3)用户手册(4)开发进度报告14、汽车有一个发动机,汽车和发动机之间的关系是( 2 )。
软件工程练习题&答案

软件工程练习题一. 选择题(单选或多选)(1)需求分析阶段最重要的技术文档是( C )。
A)项目开发计划B) 设计说明书C)需求规格说明书D) 可行性分析报告(2)在软件工程中,白盒测试法可用于测试程序的内部结构。
此方法将程序看作是(A )A) 路径的集合B) 循环的集合C) 目标的集合 D) 地址的集合(3)在以下模块耦合性类型中,模块之间独立性最差的类型是( D )A) 非直接耦合B) 标记耦合C)控制耦合D)内容耦合(4)软件详细设计的主要任务是对(A)进行的详细设计。
A) 算法和数据结构B) 外部接口C)软件编码D)功能(5)Jackson方法是一种面向(C)的结构化方法。
A) 数据流B) 对象C)数据结构D)控制流(6)一个成功的测试可以( D )。
A) 表明程序没有错误B) 发现所有错误C)提高软件可靠性D)发现尚未发现的错误(7)下述陈述中,哪一个不是软件健壮性的度量指标?(C )。
A)失败后重新启动所需的时间B)引起失败的时间所占的百分比C)失败前的平均工作时间D)在一次失败中数据恶化的概率(8)黑盒技术设计测试用例的方法之一为( A )。
A)因果图B)逻辑覆盖C)循环覆盖D)基本路径测试(9)CMM模型将软件过程的成熟度分为5个等级,以下选项中,属于可管理级的特征是(D )。
A)工作无序,项目进行过程中经常放弃当初的计划B)建立了项目级的管理制度C)建立了企业级的管理制度D)软件过程中活动的生产率和质量是可度量的(10)在面向数据流的软件设计方法中,一般将信息流分为( A )。
A)变换流和事务流B)变换流和控制流C)事务流和控制流D)数据流和控制流(11)软件设计中一般将用到图形工具,下述哪种工具可用作设计的图形工具。
( ABCDEF )A)结构图B)实体关系图C)IPO图D)流程图E) N-S图F) 判定树(12)软件需求分析阶段建立原型的主要目地是( C )。
A)确定系统的性能要求B)确定系统的运行要求C)确定系统是否满足用户需要D)确定系统是否满足开发人员需要(13)要显示描绘软件开发项目各作业的依赖关系,应选择(B )。
软件工程课后习题参考答案

软件工程课后习题参考答案软件工程课后习题参考答案1. 第一章规约与软件工程概述1.1 规约的定义规约是软件开发过程中明确要求的描述,包含了对软件需求、设计、实现、测试、部署和维护等各个阶段的要求和约束。
1.2 软件工程的概述软件工程是一门涉及对软件的开发、运行和维护的学科。
它通过应用工程原则和方法,以系统化、规范化、可靠化、经济化和高质量的方式来开发和维护软件。
2. 第二章软件需求规约2.1 软件需求规约的作用软件需求规约是对软件系统所需功能和性能的具体描述和说明,是软件开发的基础和依据。
它指导着开发团队的工作,确保软件的功能和性能符合用户的需求。
2.2 软件需求规约的要素软件需求规约包括功能需求、非功能需求和约束条件。
功能需求描述了软件系统应该具备的功能,非功能需求描述了软件系统的性能要求和质量特性,约束条件描述了软件系统所受限制的条件。
3. 第三章软件设计规约3.1 软件设计规约的目标软件设计规约是对软件系统进行结构化和模块化设计的过程,其目标是确保软件系统具备可靠性、可维护性、可扩展性和可重用性。
3.2 软件设计规约的方法软件设计规约采用面向对象设计、结构化设计和模块化设计等方法。
面向对象设计强调将问题领域的概念和对象转化为软件系统的类和对象,结构化设计强调将系统分解为模块,模块化设计强调模块间的接口和通信。
4. 第四章软件实现规约4.1 软件实现规约的目的软件实现规约是指将软件设计阶段得到的设计规约转化为计算机可执行的程序代码,其目的是确保软件系统的正确性、可靠性、可维护性和可测试性。
4.2 软件实现规约的技术软件实现规约采用编程语言、软件开发工具和软件开发环境等技术。
编程语言提供了描述算法和数据结构的语法和语义,软件开发工具提供了代码编辑、编译、调试和测试等功能,软件开发环境提供了开发的整体支持。
5. 第五章软件测试规约5.1 软件测试规约的目的软件测试规约是对软件系统进行功能、性能和质量等方面的验证和检测,其目的是找出软件系统的错误和缺陷,并修复和改进。
软件工程学试题及答案

软件工程学试题及答案一、单项选择题(每题2分,共10分)1. 软件工程的目的是()。
A. 提高软件的生产率B. 提高软件的运行效率C. 降低软件的生产成本D. 提高软件的可维护性答案:A2. 下列哪项不是软件需求分析的任务?()。
A. 确定软件的功能需求B. 确定软件的性能需求C. 确定软件的界面需求D. 确定软件的测试需求答案:D3. 软件生命周期中,()阶段是确定软件需求的阶段。
A. 需求分析B. 系统设计C. 编码D. 测试答案:A4. 软件测试的目的是()。
A. 证明软件是正确的B. 证明软件存在错误C. 发现软件中的错误D. 证明软件不存在错误答案:C5. 软件危机主要表现在()。
A. 软件成本B. 软件质量C. 软件进度D. 所有选项答案:D二、多项选择题(每题3分,共15分)1. 软件工程的基本原理包括()。
A. 用分阶段的生命周期计划严格管理B. 强调开发过程的迭代性质C. 采用合适的编程规范D. 强调软件工具的使用答案:ABD2. 软件需求分析的常用方法包括()。
A. 数据流图B. 用例图C. 状态转换图D. 流程图答案:ABC3. 软件测试的类型包括()。
A. 单元测试B. 集成测试C. 系统测试D. 验收测试答案:ABCD4. 软件维护的类型包括()。
A. 校正性维护B. 适应性维护C. 完善性维护D. 预防性维护答案:ABCD5. 软件工程中常用的设计模式包括()。
A. 单例模式B. 工厂模式C. 观察者模式D. 策略模式答案:ABCD三、简答题(每题5分,共20分)1. 简述软件工程中的模块化设计原则。
答案:模块化设计原则要求将系统分解成若干个模块,每个模块具有高内聚、低耦合的特点,以便于系统的开发、测试、维护和理解。
2. 描述软件需求分析的重要性。
答案:软件需求分析是软件开发过程中的关键步骤,它确保了开发团队对用户需求有清晰的理解,有助于避免开发出不符合用户需求的软件,减少返工和成本。
软件工程课后习题答案

软件⼯程课后习题答案习题答案习题⼀答案⼀、选择题1. 软件的主要特性是(A B C)。
A) ⽆形 B) ⾼成本C) 包括程序和⽂档D) 可独⽴构成计算机系统2. 软件⼯程三要素是(C D)。
A) 技术、⽅法和⼯具B) ⽅法、⼯具和过程C) ⽅法、对象和类D) 过程、模型、⽅法3. 包含风险分析的软件⼯程模型是(A)。
A) 螺旋模型 B) 瀑布模型C) 增量模型 D) 喷泉模型4. 软件⼯程的主要⽬标是(C)。
A) 软件需求B) 软件设计C) 风险分析D) 软件实现5. 下列属于⾯向对象开发⽅法的是(A B C D)。
A) Booch B) UML C) Coad D) OMT6. 软件危机的主要表现是(B D)。
A) 软件成本太⾼B) 软件产品的质量低劣C) 软件开发⼈员明显不⾜D) 软件⽣产率低下7. 软件开发⽅法的主要⼯作模型有(A B C)A) 螺旋模型B) 循环模型C) 瀑布模型D) 专家模型8. 软件⼯程的⽬标有(A B C)。
A) 易于维护B) 低的开发成本C) ⾼性能D) 短的开发期9. 软件⼯程学的⽬的和意义是( )。
A) 应⽤科学的⽅法和⼯程化的规范管理来指导软件开发B) 克服软件危机C) 作好软件开发的培训⼯作D) 以较低的成本开发出⾼质量的软件⼆、判断题1. 软件就是程序,编写软件就是编写程序。
(×)2. 瀑布模型的最⼤优点是将软件开发的各个阶段划分得⼗分清晰。
(×)3. 结构化⽅法的⼯作模型是使⽤螺旋模型进⾏开发。
(×)4. 结构化⽅法和JSP⽅法都不适合于⼤型软件的开发。
(√)5. 原型化开发⽅法包括⽣成原型和实现原型两个步骤。
(×)6. ⾯向对象的开发⽅法包括⾯向对象的分析、⾯向对象的设计和⾯向对象的程序设计。
( √)7. 软件危机的主要表现是软件的需求量迅速增加,软件价格上升。
(×)8. 软件⼯具的作⽤是为了延长软件产品的寿命。
软件工程课后习题(含答案)

第一章练习题一、填空题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 什么是软件工程?软件工程是一门研究和应用如何以系统化、规范化、可量化的方式开发和维护软件的学科,涉及到软件的设计、构建、测试、部署和维护等全生命周期的过程。
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.法律名词及注释本文涉及的法律名词及注释:无。
软件工程习题及参考答案

软件工程习题及参考答案判断题软件也会磨损和老化。
(某)完善性维护是提高或完善软件的性能。
(√)数据字典是对数据流图中的数据流,加工、数据存储、数据的源和终点进行详细定义。
(某)软件是指用程序设计语言(如PASCAL,C,VISUALBASIC等)编写的程序,软件开发实际上就是编写程序代码。
(某)软件模块之间的耦合性越弱越好。
(√)如果通过软件测试没有发现错误,则说明软件是正确的。
(某)快速原型模型可以有效地适应用户需求的动态变化。
(√)模块化,信息隐藏,抽象和逐步求精的软件设计原则有助于得到高内聚,低耦合度的软件产品。
(√)集成测试主要由用户来完成。
(某)确认测试计划应该在可行性研究阶段制定(某)白盒测试无需考虑模块内部的执行过程和程序结构,只要了解模块的功能即可。
(某)软件概要设计包括软件系统结构设计以及数据结构和数据库设计。
(√)软件工程采用的生存周期方法就是从时间角度对软件的开发和维护这个复杂问题进行分解,将软件生存的时期分为若干阶段。
(√)系统流程图表达的是部件的信息流程,还表示对信息进行加工处理的控制过程。
(╳)模块越多,开发成本越小。
(╳)软件测试的目的就是证明软件没有错。
(╳)PAD图在设置了五种基本的控制结构后,还允许递归使用。
(√)在进行了可行性分析后,需求分析就只需要解决目标系统的设计方案。
(某)SA法是面向数据流,建立在数据封闭原则上的需求分析方法。
(√)HIPO法既是需求分析方法,又是软件设计方法。
(√)在面向对象的需求分析方法中,建立动态模型是最主要的任务。
(某)加工小说明是对系统流程图中的加工进行说明。
(某)判定表的优点是容易转换为计算机实现,缺点是不能够描述组合条件。
(某)需求分析的主要方法有SD法、OOA法及HIPO法等。
(某)分层的DFD图可以用于可行性分析阶段,描述系统的物理结构。
(某)信息建模方法是从数据的角度来建立信息模型的,最常用的描述信息模型的方法是E-R图。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《软件工程》习题参考答案概述1.什么是软件危机,它有哪些典型表现所谓“软件危机”就是,在计算机软件的开发和维护过程中所遇到的一系列严重的问题,概括起来归纳为:如何开发软件,以满足日益增长、日趋复杂的需要;如何维护数量不断膨胀的已有软件。
软件危机的典型表现主要有:a. 开发成本和进度不能准确估计b. 开发出来的软件不能满足用户的要求c. 软件的可维护性差d. 软件质量不可靠e. 软件成本在系统中的比重逐年上升f. 软件开发生产率的提高速度不够2.简述产生软件危机的原因和解决的思路。
软件危机产生的原因一方面与软件本身的特点有关,另一方面,是与已有软件开发、维护的方法不正确有密切关系。
解决软件危机,既要有技术措施(方法和工具),又要有必要的组织管理措施。
即采用工程化的原则和方法组织软件开发是摆脱软件危机的一个主要出路。
3.什么是软件工程它有哪些本质特性软件工程是一门研究如何用系统化、规范化、数量化等工程原则和方法进行软件开发和维护的学科。
其实质就是用工程的概念、原理、技术和方法,结合有效的管理方法和先进的开发技术,开发与维护软件,以解决软件危机。
4.软件工程是如何用来消除软件危机的软件工程是从技术和管理两个方面来研究如何更好地开发和维护计算机软件,从源头上消除软件危机。
6.简述软件的定义。
软件=程序+ 数据+ 文档7.软件工程的目的是什么为高质量的软件开发提供一个科学的体系框架。
8.什么是软件工程方法学软件工程是一种什么样的技术包括哪三大要素分为哪三个分支软件工程方法学就是指在软件生命周期全过程中使用的一整套管理和开发技术方法的集合。
目前,使用最广泛的软件工程方法学分别是传统方法学和面向对象方法学。
软件工程作为一种层次化的技术,有方法、工具和过程三大要素,并由于其涉及学科内容的极为广泛,而分为三个分支:软件开发技术、软件项目管理技术、软件质量管理技术。
9.简述软件工程的基本原理。
软件工程有7条基本原理:1.严格按照软件生命周期计划进行管理2.坚持进行阶段评审3.实行严格的产品控制4.采用先进的程序设计技术5.结果应能清楚的审查6.开发小组成员应少而精7.承认不断改进软件工程实践的必要性10.软件工程的基本开发原则有哪些软件工程的基本开发原则有:1.模块化2.抽象和信息隐蔽3.模块的高内聚和低耦合4.确定性5.一致性6.完备性11.构成软件工程的基本元素有哪些除了前面给出的软件工程三大要素,还应该包括控制和质量保证。
这里的控制,即规模控制、成本控制、复杂性控制等。
12.什么是软件过程它与软件工程方法学有何关系软件过程是指为了获得高质量软件产品,在软件工具支持下,由软件人员完成的一系列软件工程活动。
软件过程规定了开发软件所需完成的各项任务步骤。
过程步骤的设定与软件生命周期、生命周期模型、软件开发工具,以及参与开发的人员等诸方面因素有关。
13.什么是软件生命周期什么是软件生命周期模型软件如同自然界任何事物一样,都有其孕育、诞生、成长、成熟、衰亡的生存过程。
软件的这一过程,称为软件生命周期。
软件生命周期模型也称软件开发过程模型,是为了解决产业环境中的实际问题,而提出的开发策略。
是反映整个软件生命期中,系统开发、运行、维护等实施活动的一种结构框架。
14.简述软件生命周期方法学的途径,以及划分阶段步骤的目的和实质。
软件生命周期方法学是软件工程的传统途径,划分阶段步骤的目的和实质是:控制开发工作的复杂性,通过有限步骤,把抽象逻辑概念,转化为具体物力实现。
15.试比较瀑布模型、快速原型模型、增量模型和螺旋模型的优缺点,说明它们各自的适用范围。
1.瀑布模型。
瀑布模型广为人知和历史悠久,其优势是规范及文档驱动的方法。
但问题是,往往不能够真正满足用户的需求。
适用于传统软件工程领域的结构化开发。
2.原型模型。
是为了克服瀑布模型的缺点而提出来的。
通过快速构建一个在机器上可运行的原型系统,让用户试用原型,并收集反馈意见的办法,来获取用户真实的需求。
3.螺旋模型。
螺旋模型适用于大型软件项目,比起之前的其它模型而言,有其一定的优越性,但这些优越性并不是绝对的。
主要体现在对开发人员的风险评估经验和专门知识的要求较高。
如果项目风险较大,而开发人员的水平较低,不能准确的识别和分析风险,则势必造成重大损失。
4.增量模型。
具有在软件开发早期阶段使投资获得明显回报和交易维护的优点,但是要求软件具有开放的结构。
可行性研究1.在软件开发的早期阶段,为什么要进行可行性研究其目的和任务各是什么可行性研究的目的是用最小的代价,在尽可能短的时间内确定问题是否可解决,以及是否值得解决。
可行性研究的任务不是解决问题,而是确定是否可解/值得解。
2.应该从哪些方面研究目标系统的可行性主要从以下几个方面进行可行性研究:1. 技术可行性。
以现有技术,能否在预定时间内完成该系统开发。
2. 经济可行性。
通过成本-效益分析,估算系统的整体经济效益是否满足要求。
3. 操作可行性。
分析系统的运行方式、操作规程是否适应用户应用需要。
4. 社会可行性。
分析系统在法律、社会、市场等方面的认可度。
3.可行性研究有哪些工作步骤(1) 复查定义,确定系统规模和目标。
(2) 研究老系统(3) 导出高层逻辑模型(conceptual design)(4) 重新定义(5) 导出多种解法(6) 推荐行动方针(7) 开发计划(粗略)(8) 审查、存档4.简述系统流程图在可行性研究中的作用。
系统流程图是概括的描述物理系统的传统工具。
系统流程图反映的是信息在系统各部分间流动的情况。
系统流程图可以帮助了解和分析系统,以概括的方式表达对系统的认识,并可以描述未来物理系统的概貌。
5.简述数据流图在可行性研究中的作用和用途。
数据流图在可行性分析中可以帮助分析和描绘数据在软件中流动和被处理的逻辑过程,用图形的方式描述系统的逻辑功能,是系统分析员和用户之间理想的通信工具。
6.简单描述数据字典的内容和定义数据的方法。
数据字典主要由下列4种元素定义组成:1.数据流2.数据流分量3.数据存储4.处理除了数据定义外,数据字典还应包含一些关于数据的其它信息。
定义数据的方法通常采用自顶向下分解的方式。
并由顺序、选择、重复三种基本数据元素类型组成数据。
7.说明软件计划的内容和目标。
软件计划的内容=项目任务范围+ 环境资源+ 工作量+ 进度软件计划的目标是为了提供一个框架,以便于管理者对资源、成本和进度等进行合理的估算。
8.什么是软件范围定义软件范围需要哪些信息软件范围就是在技术和管理层面上都是无二义性和可理解的项目范围,是软件开发各阶段的工作依据。
定义软件范围需要以下信息:a. 与用户、总体目标及利益相关的问题。
b. 有利于系统分析员理解的问题。
c. 集中于交流效果的问题。
9.简述软件开发环境资源的三个层次。
软件开发环境资源由三个层次构成:开发环境、软件构件以及最重要的资源——人。
10.软件环境资源的特征有哪些它们对制定软件计划都有哪些意义每一类资源都有四个特征:资源描述、可用性说明和资源提供的时间、资源使用的延续时间。
可以为制定软件计划估算软件开发所需的资源。
11.软件计划中,安排软件开发进度主要可以用哪些工具都有哪些优缺点编制进度计划的常用工具主要有甘特图和网络计划法。
甘特图的优点是简单,能动态地反映开发进展;缺点是难以反映多个任务间的逻辑关系。
网络计划法则恰好弥补了甘特图的缺点,最适合反映多个工作之间的逻辑关系。
12.主要的成本估计技术有哪些其依据的主要是什么主要有,代码行技术。
是一种基于规模的分解估算:D=f(vi)以及基于问题的分解估算:EV=(Sopt+4Sm+Spess)/6还有功能点技术。
这种技术以功能点(FP)为单位,度量软件的规模。
由于项目本身的复杂性,因此,成本估计技术主要采用“分而治之”的分解技术对软件项目进行估算。
13.为什么说成本估计是不可能精准的那是由于太多的变化因素——人员、技术、环境、策略、复杂性等等,使得成本估算永远不可能精确。
14.进行成本/效益分析的方法主要有哪些常用成本/效益分析的方法主要有:(1) 货币的时间价值(2) 投资回收期(3) 纯收入(4) 投资回收率16.如何对制定完成的软件计划进行复审为什么要复审软件计划的复审通常涉及有关软件工作范围和软硬件资源问题等。
复审应该邀请用户参加,用户可提出建议,并与开发人员最终商定内容。
复审内容分为技术和管理两个方面:技术方面需要考虑的问题有:系统的任务是否合理;系统的给你复杂性是否与开发成本、进度以及风险一致;系统规格说明书是否足够充分;系统性能要求是否恰当管理方面需要考虑的问题有:计划中描述的工作范围是否符合用户需求计划中对资源的描述是否有效、合理计划中系统的开发成本与进度要求是否合理计划中人员的安排是否合理系统开发存在哪些风险复审可以尽早发现错误,复审是软件质量保证的重要措施。
需求分析1.为什么要进行需求分析通常对软件系统有哪些需求需求问题是软件工程项目失败的主要原因。
一个高质量的软件,很大程度上取决于对要解决的问题的认识,以及如何准确的表达用户的需求。
需求分析就是要解决这个问题。
通常,对一个软件系统的需求可以有功能需求、性能需求、可靠性和可用性需求、出错处理需求、接口需求等多个方面。
2.怎样与用户有效地沟通,以获得用户的真实需求访谈、情景分析,以及面向数据流的自顶向下求精等方法,编制简易的系统规格说明文档,创建原型等,是获取真实需求的有效方法。
3.需求分析的任务是什么确定对待开发系统的综合要求。
4.通常系统的需求可以分为哪几个层次一般可以分成5个层次:(1) 功能需求:系统必须做什么(2) 业务需求:反映客户组织机构对系统高层次的目标要求。
(3) 运行需求:运行环境、软硬件配置等。
(4) 属性需求:包括用户关心的属性,如效率、灵活性、完整性、可靠性等;开发者关心的属性,如可维护性、可复用性、可移植性等。
(5) 未来可能的扩充需求:如HDIS各组的合并,3维虚拟现实的效果等等。
5.进行需求分析的步骤有哪些1.确定系统的综合要求2.分析系统的数据要求3.导出逻辑模型4.修正系统开发计划6.简述建立原型模型对软件需求分析的作用。
可以快速构建旨在演示目标系统主要功能的可运行程序,帮助用户确定及提供更为精准的需求,以利用户和开发者能够在目标系统应该“做什么”这一问题上尽快达成一致。
7.解释实体-联系图及其用途。
实体-联系图是按照用户的观点对数据建立的模型。
描述从用户角度看到的数据,反映用户的现实环境,并且与在软件系统中的实现方法无关。
8.说明为什么需要进行需求验证及验证的步骤有哪些进行需求验证是为了确保软件开发的质量,降低开发成本。
通常对需求进行验证的步骤有:验证需求的一致性、验证需求的现实性、验证需求的完整性和有效性。