软工复习材料_第1页
软工复习材料_第2页
软工复习材料_第3页
软工复习材料_第4页
软工复习材料_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、1、瀑布模型是一种整体的开发模型,开发的每一阶段必须按线性的顺序来进行,前一阶段的工作没有完成后一阶段的工作就不能开始。由于需求分析的易变性使的软件开发工作不顺利,同时瀑布模型的每个阶段有不可避免的错误出现,那么延伸到以下的各个阶段错误就会放大。增量模型是非整体开发的模型它采用渐增模型和原形模型,软件的开发是用增量开发和增量提交2、建立数据流模型的原则是什么?答案要点:要点1:每一加工至少应有一个输入数据流和一个输出数据流。(0.5分)要点2:数据流图中各构成元素的名称必须具有明确的含义且能够代表对应元素的内容和功能。(1分)要点3:应保证分层数据流图中任意对应的父图和子图的输入/输出数据保持

2、一致。(0.5分)要点4:在数据流图中应按照层次给每个加工编号,用于表明该加工所处的层次及上、下层的父图与子图的关系。(1分)要点5:在父图中不要出现子图中涉及的局部数据存储文件。(1分)要点6:数据流图只能由四种基本符号组成。(0.5分)要点7:数据流图的分解速度应保持适中。(0.5分)3、什么是软件结构图?简述软件结构设计优化准则。答:软件系统的模块层次结构,反映了整个系统的功能实现,即将来程序的控制体系。准则:高内聚底耦合、作用范围在控制范围内、软件的深度、宽度、扇入、扇出适当、模块大小适中、接口简单清晰易懂。4、(1)活动图:它表示一个过程或数据处理中所涉及的活动(2)用例图:它表示一

3、个系统和它所处环境之间的交互。(3)时序图:它表示参与者和系统之间以及系统各部分之间的交互。(4)类图:它表示系统中的对象类以及这些类之间的联系。(5)状态图:它表示系统是如何响应内部和外部事件的。5、敏捷开发遵循原则(1)、尽早的、持续的交付有价值的软件来使客户满意。 (2)、即使到了开发的后期,也欢迎改变需求,利用变化来为客户创造竞争优势。 (3)、经常性地交付可以工作的软件,交付的时间间隔越短越好。 (4)、在整个项目开发期间,业务人员和开发人员必须天天都在一起工作。 (5)、提供环境和支持,相互信任,相互沟通,有效率的传递信息。 (6)、可以工作的软件是首要的进度度量标准。 (7)、责

4、任人、开发者和用户应该能够保持一个长期的、恒定的开发速度。 (8)、不断地关注优秀的技能和好的设计会增强敏捷能力。 (9)、简单是最根本的,最好的构架、需求和设计出于自组织团队,允许任何人提出想法和建议。 (10)、每隔一定时间,团队会在如何才能更有效地工作方面进行反省,相应地对自己的行为进行调整。1、需求开发的迭代特性只是软件开发过程的迭代式开发的一个子过程,软件开发过程是一个相当庞大的工程,需要在软件开发过程的各个阶段都需要进行开发工作的迭代,当然也包括需求开发中的迭代。它们之间互相影响。如果需求开发中的迭代不能很好地完成需求分析任务,就必将影响到软件开发过程的其他迭代阶段的进行。2、解答

5、:业务需求如BR。 BR1:实现客户账单和收据的有效追踪; BR2:实现产品特价时的利润和相关销售情况检查; BR3:实现一个客户数据库。3、解答:(1)她没有仔细认真地分析问题; (2)她没有及时跟相关人员交流信息,没能把握住有价值信息; (3)她没能及时跟公司员工交流,引用过时的文件结构; (4)她没有仔细研究分析新引进的系统的性能需求是否满足; (5)她没有仔细研究新引进的系统的功能需求是否满足; (6)她没有仔细研究引进的系统的质量属性,对外接口是否满足。4、 用例图一:答题要点:时间,参与者,一种习惯用法,用于激活那些系统定期的、自动执行的用例。但在“计算总费用”的时候,时间仅仅是一

6、个条件,而不是参与者,因为此时它是作为系统的一部分。用例图二:答题要点:依赖关系:include, extend都是依赖关系(dependency)的构造型(stereotype),带箭头的虚线表示“extend”关系的方向,子用例对主用例的扩展。用例图三:答题要点:“其他”、“打印清单”用例和外围没有任何有意义交互,和其他用例也没有任何关系,这样的用例没有意义。“其他”用例又代表什么呢?想说明什么样的功能需求?不能这么模糊说明问题。软件工程方法学三要素是:方法 工具 过程 软件危机是怎么样产生的?说明产生软件危机的原因. 随着计算机应用的普及和深化,计算机软件以惊人速度积聚膨胀,人们对计算机

7、 软件的品种数量功能质量成本和开发时间等提出越来越高的要求。 软件功能越强使用越方便,开发出来的软件就越复杂越庞大,人们的软件开发能力越显得力不从心,以致软件开发计划一拖再拖,成本失去控制, 软件质量不能保证,造成了软件危机。 产生软件危机的主要原因是:开发人员和用户之间的矛盾;大型软件项目需 要组织一定的人力共同完成,多数管理人员的缺乏开发大型软件系统的经 验,而多数软件开发人员又缺乏管理方面的经验;软件项目发展人员不能有 效地独立自主的处理大型软件的全部关系和各个分支, 因此容易产生疏漏 和错误;缺乏有力的方法学和工具方面的支持,过分依靠程序设计人员的技 巧和创造性;软件产品的特殊性和人力

8、的局限性,导致人们无力处理复杂问 题。软件生产是一种智力劳动,是资金密集人力密集的行业。简述软件工程的定义、目标.软件工程是开发运行维护和修复软件的系统方法, 运用系统的规范的和可 定量的方法来发展运行和维护软件。其中,其中软件的定义为:计算机程序 方法规则相关的文档资料以及在计算机上运行是所必须的数据。 软件工程的目的是: 在给定成本进度的前提下开发出具有可修改性有效性 可靠性可理解性可维护性可重用性可适用性可移植性可追 踪性可互操作性和满足用户需求的软件产品。 追求这些目标有助于提高软 件产品的质量和开发效率,减少维护的困难。 什么是软件生存周期?软件生存周期划分为哪几个阶段?软件生存周期

9、是指一个软件从立项开始, 经过制造测试使用和维护直到软件 废弃为止的整个时期。 其方法是从时间角度对软件开发和维护的整个复杂的 过程依次划分为若干个阶段, 每个阶段都有明确并且相对独立的任务和完成 标志。 软件生存周期划分为 8 个阶段: 问题定义可行性分析需求分析总体设 计详细设计编码测试软件维护。简述可行性研究的具体步骤。 答: (1)复查系统规模和目标(2)研究目前正在使用的系统(3)导出新系统的高层 逻辑模型(4)重新定义问题(5)导出和评价供选择的解法(6)推荐行动方针(7) 草拟开发计划(8)书写文档提交审查。7.什么是模块的偶合性? 模块间的耦合性是根据模块的外部特征提出的, 是

10、对软件系统结构中各模块间相 互联系紧密程度的一种度量, 也称块间关系。 模块间联系越紧密, 其耦合性越强, 模块的独立性就越差。为提高模块独立性,应降低模块间的耦合度。9.详细设计有哪几种描述方法? (1) 图形; ()结构化程序流程图是程序逻辑结构的描述工具。 ()盒图(NS 图)描述常用的基本控制结构。 ()问题分析图(PAD 图)是一种算法描述工具。 (2) 表格。(3) 语言。过程设计语言(PDL)是一种用于描述模块算法设计和处理细 节的语言。 10.软件测试的目标是什么?为什么把软件测试的目标定义为只是发现错 误? 软件测试可以有两个目标,一个是预防错误,另一个是发现错误。由于软件

11、开发是人的创造性劳动,人的活动不可能完美无缺,错误可能发生在任何一 个阶段,因此预防错误这一目标几乎是不可实现的,所以软件测试的目标定 义为只是发现错误。 11.软件测试应当遵循什么原则? 什么是黑盒测试与白盒测试?它们都适用于哪些测试? 黑盒测试是指把测试对象看成一个黑匣子, 测试人员完全不考虑程序的内部结构 和处理过程,只在软件的接口出进行测试,依据需求规格说明书,检查程序 是否满足功能要求,又称为功能测试或数据驱动测试。 白盒测试是指把测试对象看成一个打开的盒子, 测试人员需了解程序的内部 结构和处理过程,以检查处理过程的细节为基础,对程序中尽可能多的逻辑 路径进行测试,检验内部控制结构

12、和数据结构是否有错,实际的运行状态与 预期的状态是否一致。 白盒测试适应于单元测试、覆盖测试。覆盖测试有语句覆盖、分支覆盖、条 件覆盖、判定条件覆盖、条件组合覆盖和路径覆盖。黑盒测试适应于确认测 试、等价类划分、边界值分析、因果图法和错误测法。软件需求分析的任务是什么?简述其实现步骤与原则.任务:是确定系统必须完成哪些工作 原则:需求分析的结果是软件需求规格是说明书,说明书的主要部分是详细的数据流 图、数据字典和主要功能的算法描述。 步骤:1、进行调查研究,获取用户需求 2、抽象出当前系统的逻辑模型 3、导出目标系统的逻辑模型 4、编写软件需求规格说明书 5、需求分析的复查 6、需求分析的评审

13、和验收16.结构化分析设计方法的实质是什么? 结构化方法是一种面向数据流的开发方法,其实质就是功能分解和抽象。从对象 系统的整体功能入手,自顶向下逐步求精,分解成若干个具有适合大小和功 能的模块并对各个模块进行定义和描述。 17.简述采用字顶向下逐层分解方法画数据流图的步骤. 画数据流图的步骤: 首先画系统的输入输出,即先画顶层数据流图。顶层图只包含一个加工,用 以表示被开发的系统。 画系统内部,即下层数据流图。将层号从 0 号开始编号,采用自顶向下、由 外向内的原则。画更下层数据流图时,则分解上层图中的加工,一般沿着输 入流的方向,凡数据流的组成或值发生变化的地方则设置一个加工,一直进 行到

14、输出数据流。如果加工的内部还有数据流,则继续分解,直到每个加工 足够简单,不能再分解为止。不能分解的加工称为基本加工。 18.什么是结构化设计方法?简述结构化设计方法的步骤. 结构化设计方法是在结构化分析方法产生的数据流图的基础上, 直接映射出结构 图。它从整个程序的结构出发,突出强调程序的模块结构。并利用结构图表 达程序模块之间的关系。 结构化设计方法的步骤:首先研究、分析以及审查数据流图,然后根据数据 流图决定问题的类型。 数据处理问题的典型程序结构有变换型和事物处理型 两类。22 软件维护的必要性,主要体现在以下几方面: (1)改正在运行中新发现的软件错误和设计上的缺陷。这些错误的缺陷是

15、 在开发后期测试阶段未能发现的。 (2)适应功能需要变化,增强软件的功能,并提高软件的性能。 (3)要求已运行的软件能适应特定的硬件、软件的工作环境或是要求适应 已变动的数据或文件。 (4)使投入运行的软件与其他相关的程序有良好的接口,利用协同工作。 (5)使运行软件的应用范围得到必要的扩充。 应该怎样来划分阶段? 答:根据软件生命周期来划分阶段。通常,软件生存周期包括可行性分析和项目开发 计划、需求分析、概要设计、详细设计、编码、测试、维护等活动。(1)每一个阶段的 任务尽可能独立; (2)同一阶段内的任务性质尽可能相同; (3)每一个阶段任务的开始和结束有严格的标准。软件工程面临的问题是什

16、么? 答;软件工程需要解决的问题:软件的费用,可靠性,可维护性,软件生产率和软件 的重用。 概要设计和详细设计。试阐述这两个阶段各自要 完成的主要任务 答: 在软件概要设计过程中需要完成的工作: 制定规范(2) 软件系统结构的总体设 (1) 计(3) 处理方式设计(4) 数据结构设计(5) 可靠性设计(6) 编写概要设计阶段的文档(7) 概要设计评审。 在详细设计过程中,需要完成的工作是:(1) 确定软件各个组成部分内的算法以及各 部分的内部数据组织。 选定某种过程的表达形式来描述各种算法。 针对数据库 (2) (3) 的逻辑设计进行物理设计,设计数据库模式的一些物理细节,如数据项存储要求、存

17、 取方式、建立索引等。(4) 进行详细设计的评审 评分:达到 5 个或以上要点得 4 分 评分: 5、 SA 方法的优缺点? 答:优点:SA 是公认的、有效的、成熟的、使用广泛的方法。它比较适用数据处理方 面的设计。采用图形形式化工具表达需求,简洁、易读、适用方便,对后续阶段的测试、 评价提供了有利的条件。(满分 4 分) ( 缺点:它是个静态模型,没有反映控制流不适于实时控制系统的描述、SA 对数据要求 方面的描述不够全面, 最好和 E-R 图一起使用。 不适合描述人机界面交互频繁的系统, 为了加强对系统的描述能力应与形式化方法结合一起使用。(满分 4 分) (6、 软件设计有哪些基本原理?

18、 答:抽象、模块化(接口、功能、逻辑、状态)、信息隐蔽、模块独立性。 评分: 评分:达到 3 个或以上要点得 4 分 7、 逐步求精、分层过程与抽象等概念之间的相互关系如何? 答:要点 1:“自顶向下,逐步求精”是 Niklaus Wirth 提出的设计策略:即将软件的体 要点 : 系结构按自顶向下方式,对各个层次的过程细节和数据细节逐层细化,直到用程序设 计语言的语句能够实现为止,从而最后确立整个的体系结构。 要点 2:这样的结构实际就是一个模块的分层结构,即分层的过程。在实施时,采 要点 : 用抽象化的方法,自顶向下,给出不同的抽象层次。在最高的抽象层次上,可以使用 问题所处环境的语言概括

19、地描述问题的解法。而在较低的抽象层次上,则采用过程化 的方法。 要点 3: :在描述问题的解法时,我们可以配合使用面向问题的术语和面向现实的术语。 但最后在最低的抽象层次上,我们应使用能够直接实现的方式 结构化程序设计方法的基本要 点是什么? 第一,采用自顶向下,逐步求 精的程序设计方法; 第二,使用顺序,选择及重复 三种基本控制结构构造程序; 第三,主程序员的组织方式. 开发程序的人员应采用以一 个主程序员, 一个后备程序员 和一个程序管理员三人为核 心, 再加上一些专家等组成小 组 10,数据流图的画法? ,数据流图的画法? 画系统的输入/输出: 系统的输入就是通过外界获 取的内容; 系统

20、的输出就是要向外 界提供服务的. 画系统内部: 数据流图主要用于描述系统 内部的处理过程. 描述系统内部即 是画下层数据流图. 一般的方法是 将层号从 0 号开始编号, 采用自顶 向下,由外向内的原则. 注意事项: 命名,在画数据流图时要注 意不是画控制流, 每个加工至少有 一个输入数据流和一个输出数据 流,加工的编号,系统分析中要区 别物流和数据流等. 1.、1、. Jackson 图的优点 (1)便于表示层次结构,是对结 构进行自顶向下分解的有力工具. (2)形象直观可读性好. (3)既能表示数据结构也能表示息隐蔽和局部化概念的自然扩展, :模块的接口准则程序结构 (因为程序结构也只有上

21、述三种基本类型) . 、27.人机界面设计的准则是什么? (1).一致性.(2).使用简便.(3).启 发性.(4).减少重复的输入.(5). 容错性.(6).及时反馈. 件可维护性的方法是什么? 答: 软件可维护性是指进行维护活 动时的容易程度. 提高软件可维护性的方法有: 提高软件的可理解性; 提高软件的 可靠性;优化软件的可测试性;增 加软件的可修改性和可移植性, 提 高软件的效率和可使用性. 可行性研究的任务是什么? 首先需要进行概要的分析研究,初步确定项目的规模和目标,确定项目的约束和限制, 把他们清楚地列举出来。然后,分析员进行简要的需求分析,抽象出该项目的逻辑结构,建 立逻辑模型

22、。从逻辑模型出发,经过压缩的设计,探索出若干种可供选择的主要解决方法, 对每种解决方法都要研究它的可行性,可从以下三个方面分析研究每种解决方法的可行性。 技术可行性: 对要开发项目的功能、 性能、 限制条件进行分析, 确定在现有的资源条件下, 技术风险有多大,项目是否能实现。经济可行性:进行开发成本的估算以及了解取得效益 的评估,确定要开发的项目是否值得投资开发。社会可行性:要开发的项目是否存在任何 侵犯、妨碍等责任问题,要开发项目的运行方式在用户组织内是否行得通,现有管理制度、 人员素质、操作方式是否可行。 4、软件质量与软件质量保证的含义是什么? 从实际应用来说,软件质量定义为:与所确定的

23、功能和性能需求的一致性。与所成 文的开发标准一致性。 与所有专业开发的软件所期望的隐含特性的一致性。 软件质量保证 就是向用户及社会提供满意的高质量的产品, 确保软件产品从诞生到消亡为止的所有阶段的 质量的活动, 即确定、 达到和维护需要的软件质量而进行的所有有计划、 有系统的管理活动。 5、需求分析阶段的基本任务是什么? 需求分析阶段的基本任务是要准确的定义新系统的目标, 为了满足用户需要, 回答系统 必须“做什么”的问题。本阶段要进行以下几方面的工作:问题识别。双方确定对问题的 综合需求,这些需求包括:功能需求、性能需求、环境需求、用户界面需求,另外还有可靠 性、安全性、保密性、可移植性、

24、可维护性等方面的需求。分析与综合,导出软件的逻辑 模型。 分析人员对获取的需求, 进行一致性的分析检查, 在分析、 综合中逐步细化软件功能, 划分成各个子功能。这里也包括对数据域进行分解,并分配到各个子功能上,以确定系统的 构成及主要成份,并用图文结合的形式,建立起新系统的逻辑模型。编写文档。编写“需 求规格说明书” 、编写初步用户使用手册、编写确认测试计划、修改完善软件开发计划。 7、说明动态建模的过程。 准备脚本。 动态分析从寻找事件开始, 然后确定各对象的可能事件的顺序。 在分析阶段不考虑算法 的执行,算法是实现模型的一部分。 确定事件。 确定所有外部事件。事件包括所有来自或发往用户的信

25、息、外部设备的信号、输入、转 换和动作。 准备事件跟踪表。 把脚本表示成一个事件跟踪表,对象为表中的列,给每一个对象分配一个独立的列。构造状态图。 对各对象类建立状态图, 反映对象接收和发送的事件, 每个事件跟踪都对应于状态图中 一条路径。 8、软件生产经历了几个阶段?各有何特征? 软件生产至今已经历了三个阶段:程序设计时代(1946-1956) :这个阶段的生产方式是个 体手工劳动,使用的工具实际其语言、汇编语言。开发方法是追求编程技巧,追求程序运行 效率。硬件特征是价格贵、存储容量小,运行可靠性差。软件特征是只有程序、程序设计概 念,不重视程序设计方法。程序系统时代(1956-1968)

26、:这个阶段的生产方式是作坊式的 小集团合作生产, 生产工具是高级语言, 开发方法仍就靠个人技巧, 但开始提出结构化方法。 硬件特征是速度、容量、工作可靠性有明显提高。软件特征是程序员数量猛增,但开发技术 没有新的突破,开发人员的素质和落后的开发技术不适应规模大、结构复杂的软件开发,导 致软件危机的产生。软件工程时代(1968 至今) :这个阶段的生产方式是工程化的生产, 使用数据库、开发工具、开发环境、网络、分布式、面向对象技术来开发软件。硬件特征是 向超高速、大容量、微型化以及网络化方向发展。软件特征是开发技术有很大进步,但是未 能获得突破性进展,软件价格不断上升,没有完全摆脱软件危机。 5

27、、6、什么是数据字典?其作用是什么?它有哪些条目? 数据字典(简称 DD)是用来定义数据流图中的各个成分的具体含义的,它以一种准确的、 无二义性的说明方式为系统的分析、设计及维护提供了有关元素的一致的定义和详细的描 述。他和数据流图共同构成了系统的逻辑模型,是需求规格说明书的主要组成部分。数据字 典是为分析人员查找数据流图中有关名字的详细定义而服务的, 因此也像普通字典一样, 要 把所有条目按一定的次序排列起来, 以便查阅。 数据字典有以下四类条目: 数据流、 数据项、 数据存储、基本加工。数据项是组成数据流和数据存储的最小元素。源点、终点不在系统之 内,故一般不在字典中说明。 7、调试的目的

28、是什么?调试有哪些技术手段? 调试的目的是确定错误的原因和位置, 并改正错误, 因此调试也成为纠错。 调试技术主要有: 简单的调试方法,主要有在程序中插入打印语句、运行部分程序等;归纳法调试,他从测试 结果发现的线索(错误迹象、征兆)入手、分析他们之间的联系,导处错误原因的假设,然后再证明或否定这个假设;演绎法调试,该方法列出所有可能的错误原因的假设,然后利用 测试数据排除不适当的假设, 最后再测试数据验证余下的假设确实是出错的原因; 回溯法调 试,该方法从程序产生错误的地方出发,人工沿程序的逻辑路径反向搜索,直到找到错误的 原因为止。 10、什么是数据流图?其作用是什么? 其中的基本符号各表

29、示什么含义?数据流图简称 DFD,是 SA 方法中用于表示系统逻辑 模型的一种工具。 它以图形的方式描述数据在系统中流动和处理的过程, 由于它只反映系统 必须完成的逻辑功能,所以它是一种功能模型。数据流图有四种基本图形符号: “”箭头 表示数据流; “”圆或椭圆表述加工; “=”双杠表示数据存储; “”方框表示数据的源点或 终点。 16、采用黑盒技术设计测试用例有哪几种方法?这些方法各有什么特点? 等价类划分。等价类划分是将输入数据域按有效的或无效的(也称合理的或不合理的)划 分成若干个等价类,测试每个等价类的代表值就等于对该类其它值的测试。边界值分析。 该方法是将测试边界情况作为重点目标,

30、选取正好等于, 刚刚大于或刚刚小于边界值的情况, 根据这些情况选择测试用例。错误推测。错误推测法没有确定的步骤,凭检验进行。它的 基本思想是列出程序 中可能发生错误的情况,根据这些情况选择测试用例。因果图。因果 图能有效的检测输入条件的各种组合可能会引起的错误。因果图的基本原理是通过画因果 图, 把用自然语言描述的功能说明转换为判定表, 最后为判定表的每一列设计一个测试用例。 5、快速原型模型有几种?各有何特点? 根据原型的不同作用,有三类原型模型:探索型原型。这种类型的原型模型是把原型用于 开发的需求分析阶段,目的是要弄清用户的需求,确定所期望的特性,并探索各种方案的可 行性。它主要针对开发

31、目标模糊,用户与开发着对项目都缺乏经验的情况,通过对原型的开 发来明确用户的需求。 实验型原型。 这种原型主要用于设计阶段, 考核实现方案是否合适, 能否实现,对于一个大型系统,若对设计方案心中没有把握时,可通过这种原型来证实设计 方案的正确性。演化型原型。这种原型主要用于及早向用户提交一个原型系统,该原型系 统或者包含系统的框或者包含系统的主要功能。 在得到用户的认可后, 将原型系统不断扩充 演变为最终的软件系统,它将原型的思路扩展到软件开发的全过程。 27、在划分软件生存周期阶段时,应遵循的基本原则是什么? 软件生存周期的各个阶段有不同的划分。软件规模、种类、开发方式、开发环境以及开 发使

32、用方法都影响软件生存周期的划分。 在划分软件生存周期阶段时, 应遵循的一条基本原 则是各阶段的任务应尽可能相对独立, 同一阶段各项目任务的性质尽可能相同, 从而降低每 个阶段任务的复杂程度,简化不同阶段之间的联系,有利于软件项目开发的组织管理。 28、请说明软件文档的作用? 软件开发项目生存期各阶段都包含哪些文档?软件文档的作用是: 提高软件开发过程的 能见度;提高开发效率;作为开发人员阶段工作成果和结束标志;记录开发过程的有关信息 便于使用与维护;提供软件运行、维护和培训有关资料;便于用户了解软件功能、性能。软 件开发项目生存期各阶段应包括得文档以及与各类人员的关系如下: 可行性研究报告、

33、项目 开发计划、软件需求说明书、数据要求说明书、测试计划、概要设计说明书、详细设计说明 书、 用户手册、 操作手册、 测试分析报告、 开发进度月报、 项目开发总结、 程序维护手册 (维 护修改建议) 。 30、简述 SA 方法的优缺点? 结构化分析方法是软件需求分析中公认的、有成效的、技术成熟、使用广泛的一种方法,它 较适合于开发数据处理类型软件的需求分析。 该方法利用图形等半形式化工具表达需求, 简 明、易读,也易于使用,为后一阶段的设计、测试、评价提供了有利的条件。但 SA 方法也存在有不足之处:传统的 SA 方法主要用于数据处理方面的问题,主要工具 DFD 体现了系 统“做什么”的功能,

34、但它仅是一个静态模型,没有反映处理的顺序,即控制流程。因此, 不适合描述实时控制系统。SA 方法使用 DFD 在分析与描述“数据要求”方面是有限的, DFD 应与数据库技术中的实体联系图(ER 图)结合起来。DFD 不是和描述人机界面系统的 需求。SA 方法则对这一部分用自然语言作补充,对这类系统可采取其它的分析方法。为 了更精确地描述软件需求,提高软件系统的可靠性、安全性,也便于实现自动化,SA 方法 可与形式化方法结合起来。 5、什么是软件工程?它的目标和内容是什么? 软件工程是一种用科学知识和技术原理来定义、开发、维护软件的一门学科。软件工程是一 门工程性学科,目的是成功的建造一个大型软

35、件系统,所谓成功是要达到以下几个目标:付 出较低的开发成本,达到要求的软件功能;取得较好的软件性能;开发的软件易于移植;需 要较低的维护费用;能按时完成开发任务,及时交付使用;开发的软件可靠性高。软件工程 研究的主要内容是软件开发技术和软件开发管理两方面, 在软件开发技术中, 主要研究软件 开发方法、 软件开发过程、 软件开发工具和环境。 在软件开发管理中, 主要研究软件管理学、 软件经济学、软件心理学等。34、增量模型的基本思想是什么? 为了克服瀑布模型的局限性, 使开发过程具有一定的灵活性和可修改性, 于是产生了增量模 型。它是在瀑布模型的基础上加以修改而形成的。增量模型和瀑布模型之间的本

36、质区别是: 瀑布模型属于整体开发模型, 它规定在开始下一个阶段的工作之前, 必须完成前一阶段的所 有细节。而增量模型属于非整体开发模型,它推迟某些阶段或所有阶段中的细节,从而较早 的产生工作软件。 增量模型是在项目的开发过程中以一系列的增量方式开发系统。 增量方式 包括增量开发和增量提交。 增量开发是指在项目开发周期内, 以一定的时间间隔开发部分工 作软件; 增量提交是指在项目开发周期内, 以一定的时间间隔增量方式向用户提交工作软件 及相应文档。增量开发和增量提交可以同时使用,也可以单独使用。 36、详细设计的基本任务是什么?有哪几种描述方法? 详细设计是软件设计的第二阶段,其基本任务有:为每

37、个模块进行详细的算法设计;为模块 内的数据结构进行设计;对数据库进行物理设计,即确定数据库的物理结构;其它设计,根 据软件系统类型,还可能要进行代码设计、输入/输出格式设计、人机对话设计;编写详细 设计说明书;评审。详细描述处理过程常用三种工具:图形、表格和语言。如结构化程序流 程图、盒图和问题分析图。IPO 图也是详细设计的主要工具之一。表格工具如判定表可作为 详细设计中描述逻辑条件复杂的算法。过程设计语言(PDL)是一种用于描述模块算法设计 和处理细节的语言工具。软件危机产生的原因是什么? 当软件开发技术的进步不能跟上硬件技术的进步, 未能满足发展的要求, 致软件开发中遇到 的问题找不到解

38、决的办法,使问题积累起来,形成了尖锐的矛盾,因而导致了软件危机。主 要表现为:经费预算经常突破,完成时间一再拖延;开发的软件不能满足用户要求; 开发的软件可维护性差; 开发的软件可靠性差。 造成软件危机的原因是由于软件产品 本身的特点以及开发软件的方式、 方法、 技术和人员引起的。 共产生原因主要有以下几方面: 软件的规模越来越大,结构越来越复杂;软件开发管理困难而复杂;软件开发费 用不断增加;软件开发技术落后;生产方式落后;开发工具落后,生产率提高缓 慢。 40、概要设计阶段的基本任务是什么? 设计软件系统结构(简称软件结构) ,具体为:采用某种设计方法,将一个复杂的系统 按功能划分成模块。

39、确定每个模块的功能。确定模块之间的调用关系。确定模块之间 的接口,即模块之间传递的信息。评价模块结构的质量。数据结构及数据库设计,汉数 据结构的设计及数据库的设计。编写概要设计文档。主要有:概要设计说明书;数据库设 计说明书;用户手册;修订测试计划。评审。 5. 软件工程为什么要强调规范化和文档化? 答案: 软件工程强调规范化和文档化。 规范化的目的是使众多的开发者遵守相同的规范, 使软 件生产摆脱个人生产方式,进入标准化、工程化的生产方式。文档化是将软件的设计思想、 设计过程和实现过程完整地记录下来, 以便于后人的使用和维护, 在开发过程中各类相关人 员借助于文档进行交流和沟通。 另外, 在开发过程中产生的各类文档使得软件的生产过程由 不可见变为可见, 便于管理者对软件生产进度和开发过程进行管理。 在用户最终验收时可以 通过对提交的文档进行技术审查和管理审查,保证软件的质量。6. 请简单说明结构化分析的主要步骤。 答案:根据用户的需求画出初始的数据流程图,写出数据字典和初始的加工处理说明(IPO 图),实体关系图。以初始数据流程图为基础,从数据流程图的输出端开始回溯。在对数据 流程图进行回溯的过程中可能会发现丢失的处理和数据, 应将数据流程图补充完善。 对软件 性能指标、接口定义、设计和实现的约束条件等逐一进

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论