软件工程复习笔记.doc

上传人:精*** 文档编号:1136031 上传时间:2024-10-03 格式:DOC 页数:22 大小:153.50KB
下载 相关 举报
软件工程复习笔记.doc_第1页
第1页 / 共22页
软件工程复习笔记.doc_第2页
第2页 / 共22页
软件工程复习笔记.doc_第3页
第3页 / 共22页
软件工程复习笔记.doc_第4页
第4页 / 共22页
软件工程复习笔记.doc_第5页
第5页 / 共22页
点击查看更多>>
资源描述

1、软件工程复习笔记第一章绪论一、软件的特点1、软件计算机程序及其说明程序的各种文档2、程序是计算机任务的处理对象和处理规则的描述3、文档是有关计算机程序功能、设计、编制、使用的文字或图形资料4、软件的特点1)软件是一种逻辑产品2)软件产品的生产主要是研制3软件产品不会用坏不存在磨损、消耗问题4软件产品的生产主要是脑力劳动5软件费用不断增加软件成本相当昂贵二、软件生产有几个阶段各有何特征1、程序设计时代19461956年生产方式个体手工劳动工具机器语言、汇编语言开发方法追求程序运行效率硬件特征价格贵、存储容量小、运行可靠性差软件特征只有程序、程序设计概念不重视程序设计方法2、程序系统时代19561

2、968年生产方式作坊式的小集团合作生产生产工具高级语言开发方法个人技巧开始提出结构法方法硬件特征速度、容量、工作可靠跃居第一明显提高软件特征程序员数量猛增加导致软件危机出现。3、软件工程时代1968年至今生产方式工程化的生产生产工具数据库、开发工具、开发环境、网络、分布式、面向对象技术来开发软件硬件特征向超高速、大容量、微型化以及网络化方向发展三、什么是软件危机其产生的原因是什么1、软件危机软件发展到第二阶段末期一些复杂的、大型的软件开发项目提出来了但是软件开发技术进步一直不能满足发展的要求。在软件开发中遇到的问题找不到解决办法使问题积累起来形成了尖锐的矛盾因而导致了软件危机。2、软件危机的表

3、现1经费预算经常突破2开发的软件不能满足用户的要求3开发的软件可维护性差4软件的软件可靠性差3、原因1软件的规模越来越大结构越来越复杂2软件开发管理困难而复杂3软件开发费用不断增加4软件开发技术落后5生产方式落后6开发工具落后四、什么是软件工程其目标和内容是什么1、软件工程用科学知识和技术原理来定义、开发、维护软件的一门学科软件工程性质它涉及计算机科学、工程科学、管理科学、数学等领域计算机科学着重于原理和理论而软件工程着重于如何建造一个软件系统。用工程科学的观点进行费用估算制定进度制定计划和方案。用管理科学的方法和原理进行生产的管理。用数学的方法建立软件开发中的各种模型和算法。2、目标建造一个

4、大型软件系统一般有以下几个目标1付出较低的开发成本2达到软件要求的功能3取得较好的软件性能4开发的软件易于移植5需要较低的维护费用6能按时完成开发任务及时交付使用7开发的软件可靠性高3、内容软件开发技术主要研究软件开发方法、软件开发过程、软件开发工具和环境软件开发管理软件管理学、软件经济学、软件必理学4、面临的问题1软件的费用2软件的可靠性3软件的维护4软件的生产率5软件的重用五、什么是软件的生存周期它有哪几个活动1、软件工程过程规定了获取供应开发操作和维护软件时要实施的过程活动和任务。目的是为各种人员提供一公共的框架以便用相同的语言进行交流。包括获取过程供应过程开发过程操作过程维护过程管理过

5、程支持过程。2、软件的生存周期一个软件从提出开发要求开始直到该软件报废为止的整个日期。可行性分析和项目开发计划需求分析概要设计详细设计编码测试维护。六、什么是软件生存周期模型有哪些主要的模型1、生存周期模型描述软件开发过程中各种活动如何执行的模型。对软件开发提供强有力的支持为开发过程中的活动提供统一的政策保证为参与开发的人员提供帮助和指导是软件生存周期模型化技术的基础也是建立软件开发环境的核心。生存周期模型作用确立了软件开发中各阶段的次序限制活动准则所要遵守的规定和限制便于各种活动的协调人员之间的有效通信有利于活动重用和活动管理。生存周期模型准则模型能表示各种活动的实际工作方式能随情况变化而演

6、化能表示各种活动间同步和制约关系能表示活动的动态特性。容易为开发人员理解能适应不同软件项目具有较强灵活性能支持软件开发环境的建立2、主要的模型1瀑布模型将软件生存周期中各活动规定为依线性顺序连接的若干阶段。包括可行性分析项目开发计划需求分析概要设计详细设计编码测试和维护。它是一种理想的线性开发模式缺乏灵活特别是无法解决软件需求不明确的问题。适合于需求不明确设计方案有一定风险的软件项目。2增量模型软件在模型中是“逐渐”开发出来的开发一部分展示一部分能及早发现问题。或者先开发一“原型”软件完成主要功能然后逐步完善最终获得满意的软件产品。具有较大的灵活性适合于软件需要不明确设计方案有一定风险的软件项

7、目3螺旋模型将瀑布模型与增量模型结合起来加入风险分析弥补了这两种模型的不足。开发分四步制定计划风险分析开发实施用户评估。是一种风险驱支模型。适合于大型软件的开发。4喷泉模型以用户需求为动力以对象为驱运动模型适合于面向对象开发方法使开发过程具有迭代性和无间隙性。迭代性系统有些部分常常重复工作多次相关功能在每次迭代中随之加入演化的系统。无间隙在分析设计实现等开发活动之间不存在明显边界。5基于知识的模型瀑布模型与专家模型的结合。开发各阶段都有利用相应专家系统来辅助设计使维护在系统需求一级进行。6变换模型适合于形式化开发方法的模型。七、什么是软件开发方法有哪些方法1、软件开发方法是一种使用早已定义好的

8、技术集及符号表示习惯来组织软件生产的过程软件开发开发的目标通过使用成功的软件开发方法在规定的投资和时间内开发出符合用户需求的高质量的软件。软件开发方法是克服软件危机的重要方面之一对软件工程及软件包产业的发展起了不可估量的作用。2、有如下主要的方法1结构化方法由结构化分析、结构化设计、结构化程序设计构成。它是一种面向数据流的开发方法适合数据处理领域。指导指导思想是自顶向下逐步求精。用数据流图建立系统功能模型完成需求分析工作。用软件结构图建立系统物理模型实现概要设计。最后用结构化程序设计来实施详细设计,对于特别复杂的项目不太适应2JACKSON方法一种面向数据结构的开发方法适合小规模项目。首先描述

9、问题的输入输出数据结构分析其对应性然后推出相应程序结构从而给出问题的软件过程描述。当输入与输出数据结构无对应关系时难于应用此方法JSD一完整的系统开发方法对JSP进行了扩充3维也纳开发方法VDMVDM是一种基于模型的方法。它的主要思想是将软件系统当作模型来描述把软件的输入、输出看作模型对象。软件的需求用严格的形式语言描述然后把模型逐步变换成目标系统。4面向对象的开发方法基本出发点是尽可能按人类认识世界的方法和思维方式来分析和解决问题。以对象作为最基本的元素客观世界中具体的事物事件概念和规则都有可看成对象它也是分析问题解决问题的核心。开发方法包括面向对象分析面向对象设计面向对象实现。主要有BOO

10、CH方法Coad方法和OMT方法。为统一这些方法的术语概念和模型1997年推出统一建模型语言UML。结构化方法可用瀑布模型增量模型螺旋模型进行开发。JACKSON方法可用瀑布模型增量模型进行开发。面向对象的开发方法可用喷泉模型瀑布模型增量模型进行开发。形式化的维也纳方法只能用变换模型进行开发。软件工具为支持软件人员开发和维护活动而使用的软件。使用软件工具后可提高软件生产率。目前软件工具发生了很大变化目的是生成软件周期各个环节的自动化。主要用于软件的分析和设计使用这些工具软件开发人员就能在微机或工作站上以对话方式建立各种软件系统。工具箱最初的软件工具是以工具箱形式出现的。但界面不统一工具内部无联

11、系工具切换由人工操作。它们对大型软件的开发和维护的支持能力有限。软件开发环境目的是使软件工具支持整个生存周期。而且做到不仅支持各阶段的技术工作还要支持管理和操作工作保持项目开发的高度可见性可控制性和可追踪性。计算机辅助软件工程可简单定义为软件开发的自动化简称为CASE。实质是为软件开发提供一组优化集成的大量节省人力的软件开发工具。是软件工具和软件开发方法的结合。目的是实现软件生存周期各环节的自动化并使之成为一个整体。CASE工具与以往软件工具不同体现在1支持专用的个人计算环境2使用图形功能对软件系统进行说明并建立文档3将生存周期各阶段的工作连接在一起4收集和连接软件系统从最初的软件需求到软件维

12、护各个环节的所有信息5用人工智能实现软件开发和维护工作的自动化。第二章可行研究与项目开发计划软件可行性研究的目的就是用最小的代价在尽可能短的时间内确定该软件项目是否能够开发是否值得去开发。注意可行性研究的目的不是去开发一个软件项目而是研究这个软件项目是否值得去开发其中的问提能否解决。可行性研究实质上是要进行一次简化、压缩了的需求分析、设计过程要在较高层次上以较抽象的方式进行需求分析和设计过程。一、可行性研究的任务是什么技术可行性对要开发项目的功能、性能、限制条件进行分析确定在现有的资源条件下技术风险有多大项目是否能实现。包括开发的风险资源的有效性技术开发人员在评估技术可行性时一旦估计错误将会出

13、现灾难性后果。经济可行性包括成本效果分析、公司经营长期策略、开发所需的成本和资源、潜在的市场前景。社会可行性包括合同、责任、侵权、用户组织的管理模式及规范其他一些技术人员常常不了解的陷阱等。二、可行性研究有哪此步骤1确定项目规模和目标2研究正在运行的系统3建立新系统的高层逻辑模型4导出和评价各种方案5推荐可行性方案6编写可行性报告三、可行性研究报告有哪些内容1、引言2、可行性研究前提3、对现有系统的分析4、所建议系统的技术可行性5、所建议系统的经济可行性分析6、社会因素可行性分析7、其它可供选择方案8、结论意见四、成本、效益分析有哪些指标成本效益分析首先是估算将要开发的系统的开发成本然后与可能

14、取得的效益进行比较和权衡。效益分有形效益和无形效益两种。有形效益可以用货币的时间价值、投资回收期、纯收入等指标进行度量无形效益主要从性质上、心理上进行衡量很难直接进行量的比较。1、货币时间价值2、投资回收期就是使累计的经济效益等于最初的投资费用所需的时间。3、纯收入就是在整个生存周期之内的累计经济效益折合成现在值与投资之差。五、项目开发计划有哪些内容1、项目概述2、实施计划3、人员组织及分工4、交付期限系统流程图名称说明处理能改变数据值或数据位置的加工或部件输入/输出表示输入或输出是一广义不指明具体设备的符号连接指出转到图的加一部分或从另一部分转来通常在同一布页上换页连接指出转到另一页上或从另

15、一页上转来数据流用来连接其他符号指明数据流动方向文档通常表示打印输出也可表示用打印终端输入数据联机存储表示任何种类的联机存储磁盘磁盘输入/输出也可表示存储在磁盘上的文件或数据库显示CRT终端或类似的显示部件可用于输入或输出也可既输入又输出人工输入人工输入数据的脱机处理如填写表格人工操作人工完成的处理如会计在工资支票上签名辅助操作使用设备进行脱机处理通信链路通过通信链路传送数据第三章软件需求分析一、什么是需求分析需求分析阶段的基本任务是什么1、需求分析开发人员要准确理解用户的要求进行细致的调查分析将用户非形式的需求陈述转化为完整的需求定义再由需求定义转换为相应的形式功能规约的过程。11需求分析的

16、难点问题的复杂性。由用用户需求涉及的因素繁多引起如运行环境和系统功能交流障碍。需求分析涉及人员较多这些人具备不同的背景知识处于不同角度扮演不同角色造成相互之间交流困难。不完备性和不一致性。用户对问题的陈述往往是不完备的各方面的需求可能还存在矛盾需求分析要消除矛盾形成完备及一致的定义。需求易变性。12适用的基本原则必须能够表达和理解问题的数据域和功能域。数据域包括数据流数据通过一个系统时的变化方式数据内容和数据结构功能域反映上述三方面的控制信息。可以把一个复杂问题按功能进行分解并可逐层细化。建模。可更好地理解软件系统的信息功能行为。也是软件设计的基础。2、基本任务1问题识别你这些需求包括功能需求

17、性能需求环境需求用户界面需求2)分析与综合导出软件的逻辑模型3)编写文档主要包括编写需求规则说明书初步用户使用手册确认测试计划修改完善软件开发计划二、什么是结构化分析方法该方法使用什么描述工具1、结构化分析方法(SA)简称SA是面向数据流进行需求分析的方法2、策略自顶向下逐层分解的分析策略顶层抽象地描述整个系统底层具体地画出系统工程的每个细节。中间层则是从抽象到具体的过渡。3、描述工具利用图形等半形式化的描述方式表达需求使用数据流图数据字典作为描述工具使用结构化语言判定表判定树描述加工逻辑。1)数据流图描述系统的分解即系统由哪几个部分组成各部分之间有什么联系2数据字典数据流图中每一个图形元素。

18、3描述逻辑加工的结构化语言判定表判定树三、结构化分析方法通过哪些步骤来实现1、了解当前系统的工作流程获得当前系统的物理模型2、抽象出当前系统的逻辑模型3、建立目标系统的逻辑模型4、作进一步的补充和优化四、什么是数据流图其作用是什么其中的基本符号各表示什么含义1、数据流图简称DFD是SA方法中用于表示系统逻辑模型的一种工具是一种功能模型。2、作用它以图形的方式描绘数据在系统中流动和处理的过程反映系统必须完成的逻辑功能。3、基本符号及含义箭头数据流圆或椭圆加工双杠数据存储方框数据的源点和起点五、画数据流图的步骤首先画系统的输入输出即先画顶层数据流图。顶层图只包含一个加工用以表示被开发的系统。画系统

19、内部即画下层数据流图。将层号从0号开始编号采用自顶向下由外向内的原则。画更下层数据流图时则分解上层图中的加工一般沿着输出入流的方向凡数据流的组成或值发生变化的地方则设置一个加工一直进行到输出数据流。如果加工的内部还有数据流则继续分解直到每个加工足够简单不能再分解为止。不能分解的加工称为基本加工。六、画数据流图就注意的事项命名。不能使用缺乏具体含义的名字加工名应能反映出处理的功能。画数据流而不是控制流。数据流名称只能是名词或名词短语整个图中不反映加工的执行顺序。一般不画物质流。每个加工至少有一个输入数据流和一个输出数据流反映出此加工数据的来源与加工的结果。编号。某个加工分解成加一张数据流图时上层

20、图为父图下层图为子图。子图应编号子图上的所有加工也应编号子图的编号应与父图的编号相对应。父图与子图的平衡。子图的输入输出数据流同父图相应加工的输入输出数据流必须一致局部数据存储。当某慨数据流图书馆中的数据存储不是父图中相小朋友加匠外部接口而只是本图中某些加工之间的数据接口则称这些数据存储为局部数据存储。提高数据流图的易理解性。七、什么是数据字典其作用是什么它有哪些条目1、数据字典简称DD用来定义数据流图中各个成分的具体含义的它以一种准确的、无二义的说明方式为系统的分析、设计及维护提供了有关元素的一致的定义和详细的描述2、作用1为系统的分析、设计及维护提供了有关元素的一致的定义和详细的描述2为分

21、析人员查找数据流图中有关名字的详细定义而服务的3它有数据流图共同构成了系统的逻辑模型是需求规格说明书的主要组成部分3、条目数据流、数据项、数据存储、基本加工数据项是组成数据流和数据存储的最小元素。数据字典的实现手工建立数据字典的内容用卡片形式存放利用计算机辅助建立并维护八、描述加工逻辑有哪些工具结构化语言、判定表、判定树。1、结构化语言是介于自然语言和形式语言之间的一种半形式语言。它的结构分为外层和内层1外层用来描述控制结构采用顺序、选择、重复三种基本结构2内层采用祈使语句的自然语言短语。2、判定表判定表由四个部分组成条件定义条件取值的组合动作定义在各种取值的组合下应执行的动作。判定表能在什么

22、条件下系统应做什么动作准确无误地表示出来但不能描述循环的处理特性循环处理还需结构化语言。3、判定树是判定表的变形比判定表更直观更易于理解和使用。九、什么是IDEF方法IDEF0方法有什么特点1、IDEF方法是在结构分析与设计技术的基础上提出来的用于进行复杂系统分析和设计的方法。它分为三个部分1IDEF0描述系统的功能活动及其联系建立系统的功能模型。2IDEF1描述系统的信息及其联系建立系统的信息模型3IDEF2进行系统模拟建立系统动态模型。2、特点1采用方框和箭头等简单图形符号描述系统的活动和数据流描述活动所受到的约束和实现机制2采用严格的自顶向下、逐层分析的方式建立系统功能模型。十、简述SA

23、方法的优缺点1、优点1公认的、有成效的、技术成熟、使用广泛的一种方法。它比较适合于开发数据处理类型软件的需求分析2该方法利用图形等半形式化工具表达需求简明、易读也易于使用为后一阶段的设计、测试提供了有利条件2、缺点1传统的SA方法主要用于数据处理方面的问题它仅是一个静态模型没反映处理顺序即控制流程。因此不适合描述实时控制系统。2SA方法在使用DFD在分析与描述“数据要求”方面有局限的3DFD不适合描述人机界面系统的要求4为了更精确地描述软件包需求提高软件系统的可靠性、安全性也便于实现自动化SA方法可与形式方法结合起来。要借助需求分析工具提高需求分析的质量及效率。第四章一、什么是软件概要设计该阶

24、段的基本任务是什么1、软件概要设计在需求分析的基础上通过抽象和分析将系统分解成模块确定系统功能的实现即把软件需求转换为软件包的过程。2、基本任务21设计软件体系结构1采用某种设计方案将一个复杂的系统按功能划分成模块2确定每个模块的功能3确定模块之间的调用关系4确定模块之间的接口5评价模块结构的质量22数据结构及数据库设计1数据结构设计2数据库设计概念设计、逻辑设计、物理设计23编写概要设计文档主要有1概要设计说明书2数据库设计说明书3用户手册4用户测试计划24评审二、软件设计的基本原理包括哪些内容1、模块化1模块是可组合、分解和更换的单元2基本属性接口指模块的输入和输出功能模块实现什么功能逻辑

25、如何实现要求的功能及所需要的数据内部特性状态该模块的运行环境即模块调用和被调用关系2、抽象是认识复杂现象过程中使用的思维工具即抽出事物的本质的共同特性而暂不考虑它的细节不考虑其它因素。3、信息隐蔽指在设计和确定模块时使得一个模块内包含的信息对于不需要这些信息的其它模块来说是不能访问的。4、模块的独立性指每个模块只完成系统要求的独立的子功能并且与其它模块的联系最少且接口简单。三、模块独立性的两个标准是什么它们各表示什么含义1、标准1耦合性2内聚性2、含义1耦合性也称块间联系指软件系统结构中各模块间相互联系紧密程度的一种度量。模块之间联系越紧密其耦合性越强模块的独立性越差。耦合性取决于模块接口之间

26、的复杂性、调用的方式及传递的信息。3内聚性也称块内联系模块功能强度的度量即一个模块内部各个元素彼此结合的紧密程度的度量。若一个模块内各元素联系的越紧密则它的内聚性就越高。四、模块间的耦合性有哪几种它们各表示什么含义1、无直接耦合两个模块之间没有直接关系。2、数据耦合两个模块之间有调用关系传递的是简单的数据值。3、标记耦合两个模块之间传递的是数据结构4、控制耦合一个模块是调另一个模块时传递的是控制变量被调模块通过该控制变量的值有选择地执行块内某一功能。5、公共耦合通过一个公共数据环境相互作用的那些模块的耦合。公共耦合随着耦合模块的个数增加而增加。6、内容耦合最高程度的耦合也是最差的耦合。一个模块

27、直接使用另一个模块内部数据或通过非正式入口而转入另一个模块内部。五、模块的内聚性由哪几种各表示什么含义1、偶然内聚指一个模块内的各个处理元素之间没有任何联系。2、逻辑内聚指模块内执行几个逻辑相似的功能通过参数确定该模块完成哪一个功能。3、时间内聚把需要同时执行的动作组合在一起形成的模块。4、通信内聚模块块内所有处理元素都在同一个数据结构上操作。或者指各处理使用相同的输入数据或者产生相同的输入数据。5、顺序内聚一个模块中各个处理元素都密切相关于同一功能且必须顺序执行前一功能元素的输出就是下一功能元素的输入。6、功能内聚这是最强的内聚。模块内所有元素共同完成一个功能缺一不可。六、什么是软件结构简述

28、软件结构优化准则1、软件结构图是软件系统的模块层次图反映了整个系统功能实现即将来程序的控制层次体系。软件结构往往用树状或网状结构的图形来表示。2、结构图的内容1模块2模块的控制关系3模块间的信息传递3、结构图的形态特征1深度模块的层数2宽度最大的模块个数3)扇出模块直接下属模块个数4)扇入一个模块直接上属模块个数4、画结构图注意事项1、同一名字的模块在结构图中仅出现一次2调用关系只能从上到下3)不严格表示模块的调用次序。5、软件结构优化设计准则1划分模块时尽量做到高内聚低耦合保持模块相对独立。2一个模块的作用范围应在其控制范围之内。3软件结构的深度、宽度、扇入、扇出应当适当。4模块大小适中5模

29、块的接口要简单、清晰、含义明确、便于理解、易于实现、测试和维护。七、什么是模块的影响范围什么是模块的控制范围它们之间应该建立什么关系1、模块的影响范围受该模块内一个判定影响的所有模块的集合。2、模块的控制范围模块本身以及其所有下属模块的集合。3、它们之间应建立的关系一个模块的影响范围应在其控制范围内且判定所在的模块应与受其影响的模块在层上尽量靠近。八、结构化设计以需求分析阶段产生的数据流图为基础按一定的步骤映射成软件结构即结构化设计SD九、什么是变换流什么是“事物流”1、变换流是由输入、变换、和输出三个部分组成的DFD。2、事物流若某个加工将它的输入流分离成许多发散的数据流形成许多加工路径并根

30、据输入的值选择一个路径来执行。这种牲的DFD称为事物数据流图。十、面向数据流设计法的过程1、精化DFD2、确定DFD类型3、分解上层模块4、根据优化准则对软件结构求精5、描述模块功能6、复杂十一、变换分析的设计步骤1、确定DFD中心逻辑输入和逻辑输出2、设置软件结构的顶层和第一层变换结构第一层一般至少要有三种功能模块输入、输出和变换模块。3、设置中、下层模块输入模块接收数据转换成调用模块所需信息输出模块将数据转换成下属模块所需的形式发送数据4、变换模块下属模块的设计5、设计的优化十二、事务分析设计步骤1、确定DFD中的事务中心和加工路径2、设计软件结构的顶层和第一层事务结构。事物型软件结构应该

31、包括两个部分一个接收分支和一个发送分析包含一个高度模块。3、事务结构中、下层模块的设计、优化第五章2006102114:52:00第五章一、软件详细设计的基本任务是什么有哪几种描述方法1、软件详细设计的基本任务1为每个模块进行详细的算法设计2为模块内的数据结构进行设计3对数据库进行物理设计4其它设计代码设计输入/输出格式设计人机对话设计5编写详细设计说明书6评审2、描述方法1程序流程图2PAD图3过程设计语言二、结构化程序设计的基本要点是什么1、采用自顶向下、逐步求精的程序设计方法2、使用三种基本控制结构构造程序3、主程序员组的组织形式。三、程序流程图1、程序流程图又称为程序框图它是历史最悠久

32、使用最广泛的一种程序逻辑结构的工具2、优点直观清晰易于使用3、缺点1可以随心所欲地画流程线的流向容易造成非结构化的程序结构。2流程图不易反映逐步求精的过程往往反映的是最后的结果3不易表示数据结构。四、什么是PAD图其优点是什么1、PAD图指问题分析图是日本日立公司1979年提出的一种算法描述工具它是一种由左往右展开的二维树型结构。控制流程为自上而下、从左到右地执行。2、优点1清晰地反映程序的层次结构2支持逐步求精的设计方法3易读易写使用方便4支持结构化的程序设计原理5可自动生成程序五、什么是过程设计语言其优点是什么1、过程设计语言PDL也称程序描述语言又称伪码。它是一种用于描述模块算法设计和处

33、理细节的语言。2、优点1提供的机制比图形全面为保证详细设计与编码的质量创造了有利条件2可作为注释嵌入在源程序中一起作为程序文档并可同高级语言一样进行编辑、修改有利于软件的维护3可自动生存程序代码提高软件生产率。六、什么是JACKSON方法Jackson方法是面向数据结构的设计方法。它定义了一组以数据结构为指导的映射过程它根据输入、输出的数据结构按一定的规则映射成软件的过程描述即程序结构而不是软件体系结构因此该方法适用于详细设计阶段。七、JACKSON结构图的优点1、能对结构进行自顶向下分解因此可以表示层次结构2、结构易读形象直观3、即能表示数据结构也能表示程序结构且表示的是组成关系。八、简述J

34、SP的设计步骤1、分析并确定输入数据和输出数据的逻辑结构并用Jackson结构图表示这些数据结构。2、找出输入数据结构和输出数据结构中有对应关系的数据单元。3、按一定的规则由输入、输出的数据结构导出程序结构。4、列出基本操作与条件并把它们分配到结构图的适当位置。5、用伪码写程序。第六章2006102114:52:00第六章一、程序语言有哪些共同的特征1、心理特性岐义性简洁性局部性和顺序性传统性2、工程特性可移植性开发工具可利用性软件的可重用性可维护性4、技术特性二、在项目开发时选择程序设计语言通常考虑哪些因素1、项目的应用领域1科学工程计算领域Fortran第一个被正式推广应用的计算机语言Pa

35、scal第一个体现结构化编程思想的语言有利于培养良好的编程风格。CPL.1等2)数据处理和数据库应用CobolSQL4GLVFUnifaceowerBuilderInformix4GL等3)实时处理汇编语言Ada等4)系统软件汇编语言Adaascal等5)人工智能Lisp函数型语言Prolog:逻辑型语言、软件开发方法快速模型开发 4GL语言面向对象C+Java、软件执行环境、算法和数据结构的复杂性5、软件开发人员的知识三、第4代语言4GL有哪些特征?1、友好的界面2、兼有过程性和非过程性双重特性3、高效的程序代码4、完备的数据库5、应用程序生成器四、什么是程序设计风格为了具有良好的设计风格应

36、注意哪些方面的问题1、程序设计风格一个人编程序时所表现出来的特点、习惯、逻辑思路等。2、应注意的问题1源程序文档化标识符应注意取名程序应注释2数据说明3)语句构造简单直接4)输入和输出。5)效率第七章2006102114:53:00第七章一、软件测试的目的是什么在软件测试中应注意哪些原则1、目的GJMyers对软件测试的目的提出了以下观点1、软件测试的目的是为了发现错误而执行程序的过程。2、一个好的测试用例能够发现至今尚未发现的错误3、一个成功的测试是发现了至今尚未发现的错误的测试因此测试阶段的基本任务应该是根据软件开发各阶段的文档资料和程序的内部结构精心设计一组“高产”的测试用例找出软件中潜

37、在的各种错误和缺陷。2、软件测试的原则1测试用例应由输入数据和预期的输出数据两部分组成。2测试用例不仅选用合理的输入数据还要选择不合理的输入数据。3除了检查程序是否做了它应该做的事还应该检查程序是否做了它不应该做的事4应制定测试计划并严格执行5长期保留测试用例6对发现错误较多的程序段应进行更深入的测试。7程序员避免测试自己的程序。二、测试方法1、静态测试1人工检测2计算机辅助静态分析2、动态测试1白盒法测试产品内部结构及处理过程2墨盒法测试产品功能。三、什么是白盒测试有哪些覆盖标准试对质它们的检错能力进行比较1、白盒测试把测试对象看作一个打开的盒子测试人员必须了解程序的内部结构和处理过程以检查

38、处理过程的细节为基础对程序中尽可能多的逻辑路径进行测试检验内部控制结构和数据是否错误实际运行状态与预期是否一致。2、覆盖标准21逻辑覆盖1语句覆盖设计足够的测试用例使被测试程序中每个语句至少执行一次。2判定覆盖设计足够测试用例使被测试程序中每个判定表达式至少获得一次“真”值或“假”值。3条件覆盖设计足够测试用例使得判定表达式中每个条件的各种可能的值至少出现一次。4判定/条件覆盖设计足够的测试用例使得判定表达式中的每个条件的所有可能取值至少出现一次并使每个判定表达式所有可能的结果至少出现一次。5条件组合覆盖设计足够的测试用例使得每个判定表达式条件的各种可能的值的组合都至少出现一次。6路径覆盖设计

39、足够的测试用例覆盖被测试程序中所有可能的路径22循环覆盖23基本路径覆盖是在程序控制流程图的基础上通过分析控制构造的环路覆杂性导出基本路径集合从而设计测试用例保证这些路径至少通过一次。四、什么是黑盒测试法采用黑盒技术设计测试用例有哪几种方法这些方法各有什么特点1、黑盒测试法该方法把测试对象看成一个墨盒子测试人员完全不考虑程序的内部结构和处理过程只在软件的接口处进行测试依据需求规格说明书检查程序是否满足功能要求。主要发现以下错误是滞有不正确或遗漏的功能在接口上能否正确接受输入数据能否产生正确的输出信息访问外部是否有错性能上是否满足需求等。2、设计测试用例的方法2.1等价类划分从程序的功能说明找出

40、一个个输入条件然后为每一个输入条件划分成两个或多个等价类。缺点没有注意选择某些有效的能够发现更多错误的测试用例。2.2边界值分析程序往往在处理边界时发生错误边界情况指输入等价类和输出等价类的边界上的情况。按此种方法设计的测试用例比较高效可以查出更多的错误。2.3错误推测人们可能根据经验或直觉推测程序中可能存在的各种错误从而有针对性给定检查这些错误的测试用例2.4因果图能有效地检测输入条件和各种组合可能会引起的错误。2.5综合策略联合使用各种方法形成综合策略。五、软件测试需要的信息1、软件配置2、测试配置3、测试工具六、软件测试的步骤这些测试与软件开发各阶段之间有什么关系1、软件测试的步骤单元测试、集成测试、确认测试、系统测试2、关系单元测试小涉及编码与详细设计时的文档集成测试检查与设计相关的软件体系结构有关问题确认测试主要检查已实现的软件是滞满足需要规则说明书确定了的各种需要七、单元测试有哪些内容测试中采用什么方法1、测试内容1模块接口2局部数据结构3重要执行路径4错误处理5边界条件2、方法需要为被测试模块设计驱动模块和桩模块。八、什么是集成测试非渐增测试与渐增测试有什么区别渐增测试如何组装模块1、集成测试在单元测试测试的基础上将所有模块按设计要求组装成一个完整的系统进行测

展开阅读全文
相关资源
相关搜索
资源标签

当前位置:首页 > 建筑施工 > 施工组织方案

版权声明:以上文章中所选用的图片及文字来源于网络以及用户投稿,由于未联系到知识产权人或未发现有关知识产权的登记,如有知识产权人并不愿意我们使用,如有侵权请立即联系:2622162128@qq.com ,我们立即下架或删除。

Copyright© 2022-2024 www.wodocx.com ,All Rights Reserved |陕ICP备19002583号-1 

陕公网安备 61072602000132号     违法和不良信息举报:0916-4228922