软件需求分析1-12章作业及部分答案

合集下载

电子科大软件工程作业汇总(附答案)

电子科大软件工程作业汇总(附答案)

一、第1章软件工程概述1. Software deteriorates rather than wears out because(软件通常是变坏而不是磨损的原因是)A:Software suffers from exposure to hostile environments(软件暴露在不利的环境中)B:Defects are more likely to arise after software has been used often(软件错误更容易在使用后被发现)C:Multiple change requests introduce errors in component interactions(在组件交互中需求发生变化导致错误)D:Software spare parts become harder to order(软件的备用部分不易组织)2. Today the increased power of the personal computer has brought about an abandonment of the practice of team development of software.(如今个人电脑性能的提升导致遗弃了采用小组开发软件的方式。

)A:True(真)B:False (假)3. Which question no longer concerns the modern software engineer?(现如今的软件工程师不再考虑以下哪个问题?)A:Why does computer hardware cost so much?(计算机硬件为什么如此昂贵?)B:Why does software take a long time to finish?(软件为什么开发时间很长?)C:Why does it cost so much to develop a piece of software?(开发一项软件的开销为什么这么大?)D:Why cann't software errors be removed from products prior to delivery? (软件错误为什么不能在产品发布之前被找出?)4. In general software only succeeds if its behavior is consistent with the objectives of its designers.(通常意义上,只有表现得和设计目标一致的软件才是成功的软件。

《软件工程作业》考试复习题库(含答案)

《软件工程作业》考试复习题库(含答案)

《软件工程作业》考试复习题库(含答案)一、选择题1. 软件工程的三要素不包括以下哪项?A. 软件开发B. 软件维护C. 软件管理D. 软件设计答案:B2. 下列哪种编程范式主要用于软件工程中的面向对象编程?A. 命令式编程B. 函数式编程C. 面向对象编程D. 逻辑编程答案:C3. 在软件开发过程中,以下哪个阶段产生的文档最多?A. 需求分析B. 设计C. 编码D. 测试答案:A4. 以下哪个软件工程方法学强调在软件开发过程中使用迭代和增量开发?A. 敏捷开发B. 水晶方法C. 瀑布模型D. 敏捷开发与水晶方法的结合答案:A5. 以下哪个工具常用于软件需求分析阶段的模型建立?A. UML图B. 数据流程图C. 状态转换图D. 时序图答案:B二、填空题1. 软件工程的目的是提高软件的______、______和______。

答案:可用性、可靠性、可维护性2. 软件开发生命周期包括______、______、______、______和______。

答案:需求分析、设计、编码、测试、维护3. 在软件需求分析阶段,常用的方法有______、______和______。

答案:数据流程图、实体关系图、状态转换图4. 软件设计分为______设计和______设计。

答案:架构设计、详细设计5. 软件测试的目的不包括以下哪项______。

答案:找出软件的错误三、判断题1. 软件工程是计算机科学的一个分支。

()答案:正确2. 软件工程适用于所有类型的软件开发项目。

()答案:错误3. 敏捷开发方法适用于所有类型的软件开发项目。

()答案:错误4. 软件测试是软件开发过程中的最后一个阶段。

()答案:错误5. 软件维护是软件开发过程中的重要环节。

()答案:正确四、简答题1. 简述软件工程的定义及目标。

答案:软件工程是应用计算机科学、数学原理和方法来设计、开发、测试和维护软件的一门学科。

其目标包括提高软件的可用性、可靠性和可维护性,降低软件开发成本,提高软件开发效率。

《软件需求分析》[教材]

《软件需求分析》[教材]

GDOU-B-11-213《软件需求/系统分析》课程教学大纲课程简介本课程讲解软件需求分析的主要过程、基本方法和主要概念,为学生学习软件开发的后继课程打下坚实基础。

课程通过提供丰富的软件需求工程案例和素材,系统地讲解软件需求、系统分析成熟的工程方法及技术。

课程主要以面向对象的方法学讲解软件需求、系统分析的软件过程,重点阐述了NIIT体系的需求工程方法。

课程要求学生在足够案例榜样的指导下,掌握软件工程中的重要概念、术语和基本方法。

课程大纲一、课程的性质与任务:《软件需求分析》是软件工程本科专业的一门专业基础课,旨在使学生掌握软件需求分析的主要过程、基本方法和主要概念,其覆盖的知识范围包括,需求获取、需求分析、需求规范、需求确认、需求变更管理、需求管理等基础知识,以UML进行需求建模的方法及过程,NIIT的需求定义标准。

要求学生通过本门课的学习,基本掌握NIIT的面向对象软件需求分析方法及相关技术,掌握软件需求分析常用的软件工具,同时对软件工程专业的知识体系有进一步的提高。

二、课程的目的与基本要求:学生学完该课程后应该掌握软件需求分析的主要过程、基本方法和主要概念,结构化软件需求分析和面向对象软件需求分析,了解软件需求分析过程主要的制品,具备对一般复杂程度的的软件项目情景案例进行软件需求分析,产生软件需求模型及相关文档的能力。

教学基本要求:1.课堂讲授在多媒体教室中采用电子教案授课,上课时边讲边演示。

2.作业每章适当布置课后作业。

选择有一定规模的实际项目作为实践内容,由学生分组进行软件需求分析,实验进度和课堂教学同步,由教师给出文档标准模板,学生分别担任软件需求分析的相关角色,参与实际项目的软件需求分析的过程,最终形成需求模型及相关文档。

三、面向专业:软件工程四、先修课程:先修课程:数据库原理、可视化建模与UML、软件工程。

五、本课程与其它课程的联系:先修课程:面向对象程序设计、数据结构、数据库原理。

软件工程各章作业习题的名词解释和问答题参考答案

软件工程各章作业习题的名词解释和问答题参考答案

软件工程各章作业习题的名词解释和问答题参考答案第一章: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.软件危机软件生产的进度、数量、质量、成本满足不了社会对软件的需求量和希望的现象,称为“软件危机”。

软件工程IEEE[IEE93]:软件工程是将系统的、规范的、可度量的工程化方法应用于软件开发、运行和维护的全过程及上述方法的研究。

4.软件生存周期软件生存周期是指一个软件从提出开发要求开始直到不再使用(报废)为止的整个时期。

5.软件过程模型软件过程指为获得高质量软件所需要完成的一系列任务以及完成这些任务的工作步骤。

过程还规定了运用的方法的顺序、应该交付的文档资料、为保证软件质量和协调变化所需要采取的管理措施、任务完成的标志等。

软件过程模型也叫软件生存期模型、软件工程范型,是软件过程的一种抽象表示。

二、填空题1、在信息处理和计算机领域内,一般认为软件是程序、数据和文档的集合。

2、软件生产的发展经历了程序设计时代、程序系统时代和软件工程时代,各时代的生产方式分别是个体、作方式和工程化。

3、软件生存周期的8个阶段分别是问题定义、可行性研究、需求分析、概要设计、详细设计、编码与模块测试、综合测试、维护。

4、软件工程是利用工程化的原理和方法来进行开发、维护和管理软件的一门学科。

5、描述软件开发过程中各种活动如何执行的模型称为软件过程模型。

6、瀑布模型不适应需求可变的软件开发,只有到最后才能见到整个软件系统。

7、软件产品的生产主要是研制,软件产品的成本主要体现在人力成本上。

8、软件工程面临的问题有软件费用、可靠性、可维护性、生产率。

三、单项选择题1、软件文档是( C )。

A.程序B.工具C.文书和资料D.数据2、软件是一种( B )性工业产品A.理论B.知识(或逻辑)C.消耗D.体力3、与计算机科学的理论研究不同,软件工程是一门( B )的学科。

A.理论性 B.工程性 C.原理性 D.心理性4、软件工程与计算机科学的性质不同,软件工程着重于( B )A.理论研究 B.建造软件系统 C.原理探讨 D.原理的理论5、软件工程学科出现的直接原因是( C )。

软件测试第3次作业答案(第8-11章)

软件测试第3次作业答案(第8-11章)

软件测试作业3(第8~11章)答案一、选择题1.结构化语言是介于自然语言和形式语言之间的一种(D)。

A.半形式语言B.计算机语言 C.低级语言D.高级语言2.程序设计语言的技术特性不应包括(C)。

A、数据结构的描述性B、抽象类型的描述性C、数据库的易操作性D、软件的可移植性3.程序的三种基本控制结构是(B)。

A.过程、子程序和分程序B.顺序、选择和重复C.递归、堆栈和队列D.调用、返回和转移4.结构化程序设计主要强调的是(D)。

A.程序的规模B.程序的效率C.程序设计语言的先进性 D.程序易读性5.下列关于功能性注释不正确的说法是(B)。

A.功能性注释嵌在源程序中,用于说明程序段或语句的功能以及数据的状态B.注释用来说明程序段,需要在每一行都要加注释C.可使用空行或缩进,以便很容易区分注释和程序D.修改程序也应修改注释6.下列关于效率的说法不正确的是(D)。

A.效率是一个性能要求,其目标应该在需求分析时给出B.提高程序效率的根本途径在于选择良好的设计方法,数据结构与算法C.效率主要指处理机时间和存储器容量两个方面D.程序的效率与程序的简单性无关7.结构化维护与非结构化维护的主要区别在于(B )。

A.软件是否结构化B.软件配置是否完整C.程序的完整性D.文档的完整性8.关于JAVA语言下列说法不正确的是(B)。

A.跨平台的B.动态指针C.解释型的D.面向对象的9.使用白盒测试方法时,确定测试数据应根据(A)和指定的覆盖标准。

A程序内部逻辑 B.程序复杂结构C.使用说明书D.程序的功能10.确认测试主要涉及的文档是(A)。

A、需求规格说明书B、概要设计说明书C、详细设计说明书D、源程序11.测试的关键问题是(D)。

A.如何组织对软件的评审B.如何验证程序的正确性C.如何采用综合策略D.如何选择测试用例12.黑盒测试在设计测试用例时,主要研究(A)。

A.需求规格说明B.详细设计说明C.项目开发计划D.概要设计说明与详细设计说明13.下面哪些测试属于黑盒测试(B)。

软件工程-国家开放大学电大学习网形考作业题目答案

软件工程-国家开放大学电大学习网形考作业题目答案

软件工程一、单选题1.()是职业软件工程师的必要条件。

A.自律、善于沟通、具有一定的软件技能B.编程速度快C.熟悉众多的软件环境D.语言天赋正确答案: A2.根据软件工程的7条基本原理判断下面正确的选项是()。

A.软件错误发现的时机不重要,重要的是错误的严重程度B.软件错误只能通过运行代码才能发现C.软件错误发现的越早改正的成本越低D.需求阶段一般不会引入错误正确答案: C3.美国著名软件工程专家B.W.Boehm于1983年提出了软件工程的()条基本原理。

A.7B.5C.3D.12正确答案: A4.软件、程序和代码是()。

A.相同的软件概念B.程序语言写的代码C.计算机代码和数据D.三个不同的概念正确答案: D5.软件对硬件和环境有着不同程度的依赖性,这导致了软件()问题。

A.复杂性B.升级和移植C.通用性D.脆弱性正确答案: B6.软件工程的出现是由于()。

A.软件危机B.计算机硬件技术的发展C.软件社会化的需要D.计算机软件技术的发展正确答案: A7.软件工程四个层次由下至上是(),它们的顺序不能互换。

A.质量层、过程层、方法层、工具层B.过程层、方法层、质量层、工具层C.方法层、过程层、质量层、工具层D.方法层、质量层、过程层、工具层正确答案: A8.软件可行性研究一般不考虑()A.是否有足够的人员和相关的技术来支持系统开发B.是否有足够的工具和相关的技术来支持系统开发C.待开发软件是否有市场、经济上是否合算D.待开发的软件是否会有质量问题正确答案: D9.软件与程序的区别是()。

A.程序价格便宜,软件价格昂贵B.程序是用户自己编写的,而软件是由厂家提供的C.程序是用高级语言编写的,而软件是由机器语言编写的D.软件包括程序、相关数据及其文档,程序是软件的一部分正确答案: D10.在软件生产的程序系统时代由于软件规模扩大和软件复杂性提高等原因导致了()。

A.软件危机B.软件工程C.程序设计革命D.结构化程序设计正确答案: A11.软件工程学科出现的主要原因是()。

软件工程形考作业1

软件工程形考作业1

软件工程形考作业1软件工程作业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、集成测试。

软件工程作业含答案

软件工程作业含答案

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

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

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

(1)1.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需求⼯程具体包括哪些步骤?每个步骤的具体任务是什么? (3)3.3⼀个系统分析员应该具备哪些思想素质和基础知识?请说明理由。

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

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

(5)3.10需求验证应该有哪些⼈参加?画出⼀个过程模型,说明需求评审应该如何组织。

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

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

(6)4.7⽤⾃⼰的话描述信息隐蔽概念,并讨论信息隐藏与模块独⽴两概念之间的关系。

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

(完整版)《软件工程》作业及答案.

(完整版)《软件工程》作业及答案.

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

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

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

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

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

软件常常是不可维护的。

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

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

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

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

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

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

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

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

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

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

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

软件测试和软件质量保证练习答案

软件测试和软件质量保证练习答案

第一章软件质量保证练习答案1、软件质量的定义?软件质量是软件产品满足使用要求的程度。

对于软件质量的衡量,就是高质量的软件系统能够准时地交付给用户,所耗费的成本不超出预算,并且最重要的是,能够正常地运行.“正常地运行”意味着该软件必须尽可能没有缺陷(bug)。

2、软件质量保证的定义?软件质量保证是一系列系统性的活动,它提供开发出满足使用要求产品的软件过程的能力证据.3、质量控制中的测试技术有哪些?想一想各自的适用情况。

审查(Inspection):软件的一种基本测试方法,它以一系列典型问题为依据进行检测.走查(Walkthrough):一对一的审查,比审查更加仔细.回顾(Review):以发现软件中存在的错误和缺陷为目的的一种软件测试方法,它是在软件证实执行之前完成。

4、SDLC各阶段的文档有哪些,各自的质量目标是什么?请参照学生用书3-5页,对于各阶段的目标,抓住主要的要点。

5、质量计划的手段和技巧分别有哪些?A、效益成本分析B、基本水平标准C、流程图,包括因果图、系统程序流程图等D、试验设计6、质量控制的手段和技巧分别有哪些?有以下控制的手段和技巧:检验、控制表、排列图、抽样调查统计、流程图和趋势分析等。

作业答案1、判断是非:好的测试员不懈追求完美。

错。

好的测试员知道何时完美无法企及,何时达到“够好”。

2、有没有质量很高但是可靠性很差的产品?请举例说明.有可能,但是它取决于客户对质量的期望.不少人购买高性能跑车,认为提速、时速、式样、舒适度和装饰好就是高质量.此类汽车一般可靠性差,经常抛锚,修理费用昂贵,而车主不把可靠性差当作质量问题.3、请思考,可能完全测试程序吗?除了极短小的简单程序,完全测试需要太多的输入、输出和分支组合。

此外,软件说明书也许不客观,可以用多种方式解释.4、在学习完本章后,判断下列哪种方法会减少成本:a、让客户去找缺陷b、发现缺陷而不是预防它们c、预防缺陷而不是发现它们d、忽视小的缺陷答案:c第二章测试技术练习答案1.对2.错3.代码4.功能5.归纳法、演绎法和回溯法。

第2章 作业2

第2章 作业2
四、简答题
1.什么是需求分析?该阶段的基本任务是什么?
2.简述结构化分析方法的步骤。
3.数据流图与数据字典的作用是什么?画数据流图应注意什么?
4.简步骤。
五、应用题
1.某电器集团公司下属一个成套厂(产品组装)和若干零件厂等单位,成套厂下设技术科、生产科、供应科等基层单位。现要建立一个计算机辅助企业管理系统,其中:
9.IDEF0是建立系统_________模型的有效方法。
10.在IDEF0方法中,被标志为A—0的图称为系统的_________图。
三、选择题
1.分层DFD是一种比较严格又易于理解的描述方式,它的顶层图描述了系统的( )。
A.细节B.输入与输出C.软件的作者D.绘制的时间
2.需求规格说明书的内容还应包括对( )的描述。
5.一个局部数据存储只有当它作为( )时,就把它画出来。
A.某些加工的数据接口B.某个加工的特定输入
C.某个加工的特定输出D.某些加工的数据接口或某个加工的特定输入/输出
6.对于分层的DFD,父图与子图的平衡指子图的输入、输出数据流同父图相应加工的输入、输出数据
流( )。
A.必须一致B.数目必须相等C.名字必须相同D.数目必须不等
⑵分析与综合,导出软件的逻辑模型
⑶编写文档:包括编写"需求规格说明书","初步用户使用手册","确认测试计划","修改完善软件开发计划"
⒉什么是结构分析方法?该方法使用什么描述工具?
结构化分析:简称SA,面向数据流进行数据分析的方法。采用自顶向下逐层分解的分析策略。顶层抽象地描述整个系统,底层具体地画出系统工程的每个细节。中间层则是从抽象到具体的过渡。使用数据流图,数据字典,作为描述工具,使用结构化语言,判定表,判定树描述加工逻辑。

软件设计与体系结构课后练习部分答案

软件设计与体系结构课后练习部分答案
1、简述UML的特点和用途。
答:
UML的发起者在最初制定UML时,充分考虑了各种需求、方法和语言的特点使UML在表达能力、对新技术的包容能力和扩张性等方面具有显著的优势:
(1)为使用者提供了统一的、表达能力强大的可视化建模语言,以描述应用问题的需求
模型、设计模型和实现模型。
(2)提供对核心概念的扩展机制,用户可加入核心概念中没有的概念和符号,可为特定
3、内聚度、耦合度分别指什么?为什么软件设计要追求高内聚、低耦合?
答:
内聚度是一个模块内部各成分之间关联程度的度量;耦合度是对模块间关联程度的度量。
软件设计中通常用耦合度和内聚度作为衡量模块独立程度的标准。划分摸块的一个准则就是高内聚低耦合。模块间的耦合度是指模块之间的依赖关系,包括控制关系、调用关系、数据传递关系。模块间联系越多,其耦合性越强,同时表明其独立性越差。降低模块间的耦合度能减少模块间的影响,防止对某一模块修改所引起的“牵一发动全身”的水波效应,同时每一个类完成特定的独立的功能,实现高内聚,保证系统设计顺利进行。内聚和耦合密切相关,同其它模块存在强耦合关系的模块常意味这弱内聚,强内聚常意味着弱耦合。
第一章作业
6、简要叙述软件设计在软件工程中所处的位置和重要性。
答:
所处的位置:软件需求分析需求规格说明软件设计设计文档软件编码。
重要性:
(1)是对软件需求的直接体现;
(2)为软件实现提供直接依据;
(3)将综合考虑软件系统的各种约束条件并给出相应方案;
(4)软件设计的质量将决定最终软件系统的质量;
(5)及早发现软件设计中存在的错误将极大减少软件修复和维护所需的成本。
13、什么是软件设计规格说明?它在软件开发中有何重要用途?
答:

北交大远程教育-软件工程作业

北交大远程教育-软件工程作业

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

〈教材第1章,1・3〜1・4)答:软件生命周期模型是描述软件开发过程中各种活动如何执行的模型4.瀑布模型优点:1)可强迫开发人员采用规范的方法(例如:结构化技术);2)严格地规定了每个阶段必须提交的文档;3)要求每个阶段交出的所有产品都必须经过质量保证小组的仔细验证。

缺点:“瀑布模型是由文档驱动的”在可运行的软件产品交付给用户之前,用户只能通过文档来了解产品是什么样子的。

但是通过写在纸上静态的规格说明,很难全而正确的认识动态的软件产品。

适用范围:需求明确,小规模软件开发。

5.快速原型模型优点:软件产品的开发基本上是线性的缺点:必须迅速地构建原型然后根据用户意见循序的修改原型适用范围:用户需求不明确,需要通过构建原型来清楚的了解用户的真实需求。

6.增量模型优点:1),能够在较短的时间内向用户提交可完成部分工作的产品;2),逐步增加产品功能可以使用户有较充裕的时间学习适应新产品,从而减少一个全新的软件可能给客户组织带来的冲击。

缺点:1),较难把每个新的增量构件集成到现有的软件体系结构中,而又不破坏原来已经开发出的产品。

2),增量模型本身是自相矛盾的,它一方而要求开发人员把软件当做一个整体,另一个方而又要求开发人员把软件构件序列,每个构件本质上都独立于另一个构件,除非开发人员有足够的技术能力协调好这一明显的矛盾,否则增量模型开发出来的产品可能并不能令人满意。

适用范围:软件开发周期较长的软件,有持续的合作。

7.螺旋模型优点:1),对可选方案和约束条件的强调有利于已有软件的重用,也有利于把软件质量作为软件开发的一个重要目标;2),减少了过多测试(浪费资金)或者不足(产品故障多)所带来的风险;a),在螺旋中维护的只是模型的另一个周期,在维护和开发之间没有本质的区别;缺点:除非软件开发人员具有丰富的风险评估经验和这方而的专门知识,否则将出现真正的风险,当项目实际上正在走向灾难时,开发人员可能还认为一切正常。

1、软件需求分析文档

1、软件需求分析文档

1、软件需求分析文档软件需求分析文档——拟开发系统:网络教学系统专业:软件工程班级:软件工程0601班小组成员:陈东陛(06430119)陈海泉(06430120)2009年6月目录第一部分:前景和范围文档 ..................................................................... ........................ 1 1 业务需求...................................................................... (1)1.1 背景、业务机会和客户需要 ..................................................................... . (1)1.2 业务目标(BO)和成功标准(SC) (1).3 业务风险(RIsk) ................................................................. .............................. 1 12 解决方案前景...................................................................... .. (2)2.1 前景陈述 ..................................................................... .. (2)2.2 主要特性(Feature)............................................................... (2)2.3 假定(AS)和依赖(DE) ................................................................... ............... 2 3 范围和局限性...................................................................... .. (2)3.1 初始版本和后续版本的范围 ..................................................................... . (2)3.2 局限性(LImitation)和排斥性 ..................................................................... ....... 3 4 业务和上下文...................................................................... .. (3)4.1 涉众和概览...................................................................... . (3)4.2 项目优先级...................................................................... . (3)第二部分:用例 ..................................................................... (5)4.3 用例和主要参与者 ..................................................................... (5)4.4 系统主要用例图如下...................................................................... ................. 8 第三部分:软件需求规格说明 ..................................................................... ................... 10 5 介绍...................................................................... .. (10)5.1 目标 ..................................................................... . (10)5.2 项目范围和产品特性...................................................................... (10)5.3 参考文献 ..................................................................... ................................. 10 6 总体描述...................................................................... . (10)6.1 产品远景和规划...................................................................... . (10)6.2 用户类和用户特性 ..................................................................... . (10)6.3 运行环境 ..................................................................... (13)6.4 设计和实现的约束条件 ..................................................................... (13)6.5 用户文档 ..................................................................... ................................. 13 7 系统特性...................................................................... . (14)7.1 学生下载文件 ..................................................................... .. (14)7.1.1 描述和优先级...................................................................... (14)7.1.2 刺激/响应序列...................................................................... .. (14)7.1.3 功能性需求 ..................................................................... ................... 14 8 外部接口需求...................................................................... (15)8.1 用户界面 ..................................................................... (15)8.2 硬件接口 ..................................................................... (15)8.3 软件接口 ..................................................................... (15)8.4 通信接口 ..................................................................... ................................. 15 9 其他非功能性需求...................................................................... .. (15)9.1 性能需求 ..................................................................... (15)9.1.1精度...................................................................... .. (15)第 1 页共16页9.1.2吞吐量 ..................................................................... .. (15)9.2 健壮性...................................................................... (16)9.3 灵活性...................................................................... (16)9.4 完整性...................................................................... .................................... 16 10 附录, .................................................................... ......................................... 16 11 附录, .................................................................... ............. 错误~未定义书签。

软件工程作业及参考答案(最新版)

软件工程作业及参考答案(最新版)

软件工程一、软件危机与软件工程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。

质量保证②A。

需求分析B。

可行性研究C总体设计D模块化设计③ A.文档编制B。

运行维护C。

测试 D.验收8。

软件开发中常采用得生命周期方法,由于其特征而一般称其为()。

A。

层次模型B。

瀑布模型 C.螺旋模型D.对象模型9。

描述软件生存周期得瀑布模型包括计划、(A)、设计、编码、测试、维护等阶段.其中,设计阶段又可以分成(B)与(C)两个步骤。

A:①需求分析②可行性研究③需求调查④问题定义B,C:①方案设计②代码设计③概要(总体)设计④数据设计⑤详细设计10。

什么就是软件危机?软件危机产生得原因?11。

生命周期阶段得划分?每个阶段得任务?二、可行性研究1.可行性研究得任务?步骤?对于各种可能得方案,从哪几个方面进行可行性研究?参考答案:任务:在尽可能短得时间内确定该软件项目就是否能够开发,就是否值得开发。

软件工程基础作业及答案

软件工程基础作业及答案

《软件工程基础》作业第一章概述1.什么是软件危机,它有哪些典型表现?答: 软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。

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

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

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

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

软件常常是不可维护的。

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

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

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

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

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

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

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

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

2.简述产生软件危机的原因和解决的思路。

答:软件危机产生的原因一方面与软件本身的特点有关,另一方面,是与已有软件开发、维护的方法不正确有密切关系。

解决软件危机,既要有技术措施(方法和工具),又要有必要的组织管理措施。

即采用工程化的原则和方法组织软件开发是摆脱软件危机的一个主要出路。

3.什么是软件工程?它有哪些本质特性?答: 软件工程是指导计算机软件开发和维护的一门工程学科。

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

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

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

《软件需求分析》作业第一章需求工程概述1.将下列描述与其相符的术语匹配。

1)问题所存在的现实世界中的那个部分。

2)关注问题域与解系统之间交互的需求工程任务。

3)客户希望在问题域内产生的效果。

4)条理化技术在开发复杂的有用人工制品中的应用。

5)关注解系统内部运作实现的任务。

6)对问题域及需求作调查研究和描述,设计将满足那些需求的解系统的特性并用文档说明。

7)关于解系统所要求的应用范围的知识。

8)在问题域内用以产生想要的效果的系统。

9)关注问题域和存在于其中的问题的需求工程任务。

10)用来处理有关问题域的信息查询的解系统。

●()分析--------------------------------9)●()设计--------------------------------5)●()工程--------------------------------4)●()需求--------------------------------3)●()信息系统--------------------------10)●()需求工程---------------------------2)●()规格说明---------------------------6)●()问题域知识------------------------7)●()问题域(或应用领域)---------1)●()解系统(或应用,机器)------8)以下有许多描述,每一条陈述或者是对问题域的描述,或者指定了一条需求,请按照表1-1确定其类别。

1)当用户选择“修改赛艇详细资料”选项时,系统将提示它们输入赛艇的名字。

(一般需求)2)系统必须用三个主要模块来实现,即检测、记录和统计模块,每个模块各自实现一个主要功能。

(设计约束)3)当电梯在传感器额定位置的垂直方向(之上或之下)20cm范围内,传感器发出一个hi 信号,否则发出一个lo信号。

(问题域描述)4)对于每一艘赛艇,其实际用时定义为比赛开始时间与完成时间之差(以s为单位)。

(问题域描述)5)电梯不应在快速模式下停下来,而总是至少应当在停下来之前1s切换到慢速模式。

(一般需求)6)只有当停在某一楼层时,电梯才能改变方向。

(一般需求)7)系统必须用“XYZ”系统方法进行开发。

(设计约束)8)所控制的最大电梯数是4,最小是1。

(性能需求中的容量需求)9)当前,没有两个用户会同名,但将来可能会有这种情况。

(性能需求中的可靠性需求)10)最大输入文件的尺寸是200万个字符,而且这样尺寸的文件应当在60s内得以转换。

(性能需求中的可用性需求)11)版本号由4个数字组成,每个数字最多3位并用点号与下一个数字分隔。

(问题域描述)12)可维护性应是考试数据库开发的一个主要目标。

(性能需求中的可用性需求)13)软件规模必须小于现有的NCR7116现金自动售货机系统。

(设计约束)14)每一个动作得到确认后,输入将被接受,或者出错状态将在每个输入后显示。

(一般需求)15)AUTOTELLER系统用于维护的停机时间将不超过年运行时间的0.001%。

(性能需求中的可用性需求)16)大多数的预订直接来自订户;然而,出版业务也涉及一些代销点或预订服务办公室。

(问题域描述)17)为了优化现金流程,重要的是发票应在收费机读数输入两天内被打印并发送。

(一般需求)18)连接到锅炉的接口应当通过一个独立子系统实现,以便能够易于为不同的端口配置而重新编程。

(设计约束)19)用户一输入他们的姓名,系统就将从口令文件中检索他们的加密口令,以便到他们输入口令时能及时进行核对。

(一般需求)20)新系统应占用的内存不超过10MB。

(设计约束)21)卡片系统将由只有很少或预先没有计算机操作经验的现有安全人员操作,经过一小时的培训,一个典型的操作员应当能够完成一组测试,并且其平均用户响应时间少于5s,差错率低于1/10。

(性能需求中的速度需求)其中对一些功能或性能的理解。

商业约束:指交付时间和费用。

设计约束:1.解系统在其上运行的的目标机器;2.底层的体系结构----分布式的或本地的;3.系统运行的内存大小;4.应当采用的任何前端图形用户界面(GUI)程序包;5.系统运行的操作系统;6.应当使用的编程语言;7.其他应当集成的软件程序包,如DBMS;8.必须应用的开发标准;9.应采用的设计方法;10.应当合并的算法。

速度:依据吞吐率或是相应时间来考察,前者与脱机处理(批处理)系统相关,后者则与交互或实时系统相关。

容量:与系统内能存储的数据量有关,同时处理的用户个数也是。

与系统本身大小方面的任何需求无关。

可靠性:依据有效性来确定可靠性。

有效性指在规定周期内系统正确运行的时间比例。

可用性:可用性也是难以准确说明的。

可用性在系统中可以被测试,然后用那些条款来表达需求。

“对用户友好”也考虑在内。

如:一名具有计算机文化基础的比赛官员通过不到30分钟的培训,应当能够学会输入比赛用时和输出比赛成绩,其差错率低于1/20。

3. 软件需求的分类和每一类需求的作用及层次划分。

4. 好的需求应具有的特性有哪些?能对一些需求描述的不当之处进行改写,使之符合好的需求特性。

《软件需求分析》作业第二章软件工程与需求工程1.完整地画出需求工程过程模型图。

在需求工程过程模型中出现的4个文档分别是什么?2.解释CRS、PD、HMI分别代表什么?3.需求工程过程包含哪2个过程?每个过程分别包含什么内容?4.需求工程包含的几个阶段是什么?5.什么是软件危机?产生原因是什么?6.可行性研究的任务是什么?7.项目开发计划有哪些内容?《软件需求分析》作业第三章需求获取1.列出在制定需求获取策略时的3种主要考虑。

2.对下列每个场景,思考在需求获取期间什么是最有用的信息来源:1)开发一个新系统取代现有的销售订单处理系统。

2)开发软件控制充当外科医生的机器人。

3)开发软件操作出租车仪表。

4)为国防部开发一个安全的战场通信系统。

3.需求获取中信息来源有哪些?需求获取技术有哪些?4.简短描述影响需求获取过程的主要因素。

5. 优秀的需求分析员应具备的技能有哪些?第三章部分答案1.列出在制定需求获取策略时的3种主要考虑。

1)应获取什么信息?2)应使用何种信息来源?3)应采用什么机制或技术?2.在需求获取期间信息来源包括哪些?对于下列每个场景,思考在需求获取期间什么是最有用的信息来源:1)开发一个新系统取代现有的销售订单处理系统。

(任何原有解系统及其文档)2)开发软件控制充当外科医生的机器人。

(原有产品)3)开发软件操作出租车仪表。

(定义了任何接口系统的特征和行为的文档)4)为国防部开发一个安全战场通信系统。

(应用(问题)领域专家)信息来源包括:●客户(实际的和潜在的);●客户的“规格说明书”;●任何原有解系统(即运行在问题域中,执行与预期中的新的解系统相似功能的系统)及其文档;●原有系统的用户;●新的解系统的潜在用户;●原有产品(即开发者的其他产品,执行与可能要开发的产品相似的功能);●竞争对手的产品;●应用(问题)领域专家;●定义了任何接口系统(端子)的特征和行为的文档;●相关的技术标准和法规。

3.需求获取技术包括:阅读背景资料、面谈、调查表、文挡检查、任务观察、讨论分析、用例和场景、头脑风暴、需求剥离、观摩等。

《软件需求分析》作业第四章需求分析1.为一个小规模的图书管理系统设计一个调查问卷。

2.需求获取、分析、定义等活动中的主要困难是什么?给出你的解决方法。

3.简述结构化分析和面向对象分析的主要差别。

4.建立某仓库管理系统的用例模型,它要实现的功能如下:(1)购买的商品入库。

(2)将积压的商品退给供应商。

(3)将商品移送到销售部门。

(4)销售部门将商品移送到仓库。

(5)管理员盘点仓库。

(6)供应商提供各种货物。

(7)用户查询销售部门的营销记录。

(8)用户查询仓库中的所有变动记录。

(9)系统用户管理。

(10)仓库信息维护。

5.为某仓库的管理设计一个ER模型。

该仓库主要管理零件的订购和供应等。

仓库向工程项目供应零件,并且根据需要向供应商订购零件。

《软件需求分析》作业第五章需求建模方法与技术1.什么是需求分析?需求分析阶段的基本任务是什么?2.什么是结构分析方法?该方法使用什么描述工具?3.什么是数据流图?其作用是什么?其中的基本符号各表示什么含义?4.简述SA方法的优缺点。

5.案例分析即写出数据字典。

6.SA与OOA、PDOA区别及分别采用的建模技术是什么?《软件需求分析》作业第六章需求定义1.需求规格说明的作用及特性。

2. 需求规格说明的内容主要包括哪些?在需求规格说明中不应该描述的设计项和其他内容有哪些?3. 需求规格说明的描述语言有哪些?第六章部分答案2.在规格说明文档中应确定下列中的哪些内容,提出哪些是应该确定的,哪些不是:1)外部设计决策的理由;(不是)2)项目期限;(不是)3)性能需求;(是)4)解系统的数据模型;(不是)5)解系统的输入和输出的定义;(是)6)解系统子系统(模块)的描述;(不是)7)项目参加人员的任务分配;(不是)8)测试计划;(不是)9)解系统输入和输出之间关系的定义;(是)10)解系统模块间数据流的描述;(不是)11)质量保证计划;(不是)12)问题域概述;(是)SRS (规格说明书)通常不应该描述的设计项和其他内容包括:1)把软件划分为模块;2)把功能分配给模块;3)描述模块间的信息流或控制流;4)选择数据结构;5)项目计划a)日程表b)人员c)成本d)过程等6)产品保证计划a)质量保证计划b)配置管理过程c)测试计划等7)商业约束(即交付时间和成本约束等);8)所描述行为的原因或合理性。

《软件需求分析》作业第七章需求的形式化描述1.LOTOS语言与B方法的区别?2.熟悉LOTOS语言的基本动作。

3.熟悉B方法中抽象机的基本结构。

《软件需求分析》作业第八章需求验证1.需求验证的目的和任务?需求验证包含的活动有哪些?2.简述需求验证的内容及方法。

3.需求评审的定义及分类?4.需求评审中评审人员的分工是怎样的?5.审查的内容是什么?审查清单可列举哪些问题?《软件需求分析》作业第九章需求管理1.需求管理的主要任务是什么?2.需求管理主要包含哪些管理内容?3.需求跟踪技术用于维护可跟踪信息,包含两种技术,分别是什么?4.进行需求规格说明文档的版本控制的必要性。

扩展名为.scc的文件是什么文件?5.为了便于管理和控制需求变更,采用什么办法来管理?6.为什么在软件开发过程中需求变更是不可避免的?7.需求跟踪的重要性。

《软件需求分析》作业第十章面向问题域的需求分析方法1.需求分析文档、需求规格说明文档和程序之间的关系是怎样的?2.问题框架的类型有哪些以及怎样识别实例图?3.PDOA方法的基本过程是什么?《软件需求分析》作业第十一章面向多视点的需求工程1.什么是视点?2.什么是多视点?什么是面向多视点的需求工程?3.面向多视点的需求工程之所以特别适合于大型、复杂的软件系统的根本原因是什么?4.画出多视点需求工程的需求分析过程模型图并了解各阶段的主要工作。

相关文档
最新文档