




已阅读5页,还剩39页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
.,1,第四章软件工程基础,.,2,5.1软件5.2软件工程的基本概念5.3结构化分析方法5.4结构化设计方法5.5软件测试5.6软件调试,.,3,1软件的定义,*计算机软件(software)是计算机系统中与硬件相互依存的另一部分,是包括程序、数据及相关文档的完整集合。,2软件的特点(1)软件是逻辑实体,不是物理实体,具有抽象性(2)软件的生产与硬件不同,没有明显的制作过程(3)软件运行、使用期间不存在磨损、老化的问题(4)软件的开发、运行受计算机系统的限制。(5)软件复杂度高,成本昂贵。(6)软件开发设计诸多的社会因素。,5.1软件,软件是程序、数据和_相关文档_集合。,.,4,3软件的分类应用软件、系统软件和支撑软件(或工具软件)。4软件危机软件危机泛指在计算机软件的开发和维护过程中所遇到的一系列严重问题。1软件的需求的增长得不到满足2软件开发成本和进度无法控制3软件质量难以保证4软件不可维护或维护程度非常低5软件的成本不断提高6软件开发生产率的提高赶不上硬件的发展和应用需求的增长。,“软件危机”是指()A.计算机病毒的出现B.利用计算机进行经济犯罪活动C.软件开发和维护中出现的一系列问题D.人们过分迷恋计算机系统,.,5,5.2.1软件工程软件工程是开发、维护和修复软件的系统方法。1968年在北大西洋公约组织会议上,软件工程作为一个概念首次被提出。软件工程包括3个要素*:方法、工具和过程,5.2.2软件工程的目标和研究内容(1)付出较低的开发成本(2)达到预期的软件功能(3)取得较好的软件性能(4)使软件易于移植(5)需要较低的维护费用(6)能按时完成开发工作,及时交付使用,下面不属于软件工程的3个要素的是_。A工具B过程C方法D环境,5.2软件工程的基本概念,.,6,软件工程研究的内容软件开发技术和软件工程管理5.2.3软件工程的原则1抽象分层次抽象,自顶向下,逐层细化2信息隐蔽采用封装技术,将程序模块的实现细节隐藏起来,使模块接口尽量简单。3模块化一个独立的编程单位,模块的大小要适中.4局部化,.,7,5确定性6一致性7完备性8可验证性,.,8,5.2.4软件工程工具和环境1软件开发环境或软件工程环境*全面支持软件开发全过程的软件工具集合。这些软件工具按照一定的方法或模式组合起来,支持软件生命周期内的各个阶段和各项任务的完成。2计算机辅助软件工程(CASE,ComputerAidedSoftwareEngineering)CASE将各种软件工具、开发机器和一个存放开发过程信息的中心数据库组合起来,形成软件工程环境。,软件开发环境是全面支持软件开发全过程的_集合。软件工具,.,9,软件产品从提出、实现、使用维护到停止使用退役的过程称为软件生命周期。,可行性研究初步项目计划,需求分析,概要设计,详细设计,实现,测试,使用,维护,退役,定义阶段,开发阶段,维护阶段,软件生命周期*,5.2.5软件生命周期,.,10,软件开发的结构化生命周期方法将软件生命周期划分成_。A.定义、开发、运行维护B.设计阶段、编程阶段、测试阶段C.总体设计、详细设计、编程调试D.需求分析、功能定义、系统设计,在软件开发中,下面任务不属于设计阶段的是_。A.数据结构设计B.给出系统模块结构C.定义模块算法D.定义需求并建立系统模型,.,11,5.3结构化分析方法,基本思想自顶向下、逐步求精、单入口、单出口,基本原则是抽象和功能分解。结构化分析是面向数据流进行需求分析的方法。是结构化程序设计理论在需求分析阶段的运用。结构化分析方法就是用抽象模型的概念,按照软件内部数据传递、变换的关系,自顶向下逐层分解,知道找到满足功能要求的所有可实现的软件为止。结构化分析方法使用了以下几个工具:数据流图、数据字典、判定表和判定树,.,12,下列不属于结构化分析的常用工具的是_。()A.数据流图B.数据字典C.判定树D.PAD图,在结构化方法中,用数据流程图(DFD)作为描述工具的软件开发阶段是_。()A.可行性分析B.需求分析C.详细设计D.程序编码,.,13,5.3.1需求分析,它的基本任务是准确地回答“系统必须做什么?”任务:是发现需求、求精、建模和定义需求的过程。需求分析将创建所需的数据模型、功能模型和控制模型。,需求分析阶段的工作*1需求获取:确定对目标系统的各方面需求2需求分析:对获取的需求进行分析和综合,最终给出系统的解决方案和目标系统的逻辑模型3编写需求规格说明书:它作为需求分析的阶段成果,可以为用户、分析人员和设计人员间的交流提供方便。无歧异性!4需求评审:在需求分析的最后一步,对需求分析阶段的工作进行复审.,.,14,需求分析阶段的任务是确定_。A.软件开发方法B.软件开发工具C.软件开发费用D.软件系统功能,软件的需求分析阶段的工作,可以概括为四个方面:_、需求分析、编写需求规格说明书和需求评审。,在软件生命周期中,能准确地确定软件系统必须做什么和必须具备哪些功能的阶段是_A)概要设计B)详细设计C)可行性分析D)需求分析,.,15,2需求分析方法(1)结构化分析方法面向数据流的结构化分析方法(SA)面向数据结构的Jackson方法(JSD)面向数据结构的结构化数据系统开发方法(DSSD)(2)面向对象的分析方法,5.3.5结构化分析的常用工具*数据流图、数据字典、判定树和判定表(1)数据流图(DFD-DataFlowDiagram)描述数据处理过程的工具,是需求理解的逻辑模型的图形表示,它直接支持系统的功能建模。,.,16,数据流图从数据流和加工的角度,来刻画数据流从输入到输出的移动变换过程。,加工(处理模块)。输入数据经加工变换产生输出,数据流。沿箭头方向传送数据的通道,一般在旁边标注数据流名,存储文件(数据源)。表示处理过程中存放各种数据的文件,源,潭。表示系统和环境的接口,属系统之外的实体,.,17,数据流图用于抽象描述一个软件的逻辑模型,数据流图由一些特定的图符构成。下列图符名标识的图符不属于数据流合法图符的是A)控制流B)加工C)数据存储D)源和潭,在数据流图(DFD)中,带有名字的箭头表示_。A控制程序的执行顺序B模块之间的调用关系C数据的流向D程序的组成成分,在数据流图(DFD)中,带有名字的箭头表示_。A控制程序的执行顺序B模块之间的调用关系C数据的流向D.程序的组成成分,.,18,(2)数据字典(DD-DataDictionary)*,结构化分析方法的核心。数据字典是对所有与系统相关数据元素的一个有组织的列表,以及精确的严格的定义。数据字典的作用是解释DFD中图形元素。其内容有图形元素的:名称、别名、何处使用/如何使用(位置),内容描述、补充信息等。,.,19,.,20,5.3.4软件需求规格说明书*,软件需求规格说明是需求分析阶段最后成果,是软件开发中的重要文档之一。,作用:便于用户、开发人员进行理解和交流.反映出用户问题的结构,可以作为软件开发工作的基础和依据作为确认测试和验收的依据,不属于软件需求规格说明书的作用的是_。A便于用户、开发人员进行理解和交流B可作为软件开发工作的基础和依据C作为确认测试和验收的依据D便于开发人员进行需求分析,.,21,软件需求规格说明书的特点:正确性无歧义性完整性可验证性一致性可理解性可修改性可追踪性,.,22,5.4结构化设计方法,软件设计分两步完成:总体设计和详细设计。*1总体设计(又称结构设计)将软件需求转化为软件体系结构、确定系统级接口、全局数据结构或数据库模式;2详细设计确立每个模块的实现算法和局部数据结构,用适当的方法表示算法和数据结构的细节。,5.4.1总体设计,.,23,总体设计基本任务()设计软件系统结构在需求阶段,已经把系统分解成层次结构,而在概要设计阶段,需要进一步分解,划分为模块以及模块的层次结构。()数据结构及数据库设计()编写概要设计文档()概要设计文档评审,在结构化方法中,软件功能分解属于下列软件开发中的阶段是_A.详细设计B.需求分析C.总体设计D.编程调试,.,24,总体设计的原理()抽象()模块化()信息隐蔽:()模块独立性模块的独立程度是评价设计好坏的度量标准。衡量软件的模块独立性用耦合性和内聚性来度量。,下面不属于软件设计原则的是A)抽象B)模块化C)自底向上D)信息隐蔽,.,25,内聚度量一个给定的程序内的多行代码的单一功能性,以确定是否达到该程序所要实现的目的。耦合性度量程序之间联系的次数和强度,1.模块独立性的度量之一:耦合性模块间相对独立性(相互依赖程度)的度量耦合性越高,模块独立性越弱*耦合强度依赖的因素:一模块对另一模块的引用一模块向另一模块传递的数据量一模块施加到另一模块的控制的数量模块间接口的复杂程度,.,26,无耦合没有依赖关系,松散耦合有少量依赖关系,紧密耦合有很多依赖关系,.,27,模块间耦合的类型,无直接耦合数据耦合标记耦合控制耦合外部耦合公共耦合内容耦合,模块独立性,弱,强,耦合性,高,低,.,2.模块独立性的度量之二:内聚性,一个模块内部元素在功能上相互关联的强度设计目标:高内聚,模块的内聚性类型,偶然内聚0分逻辑内聚1分时间内聚3分过程内聚5分通信内聚7分信息内聚9分功能内聚10分,模块独立性,弱(功能分散),强(功能单一),内聚性,高,低,.,29,内聚与耦合密切相关,同其它模块强耦合的模块意味着弱内聚,强内聚模块意味着与其它模块间松散耦合.设计目标:强内聚、弱耦合*,为了使模块尽可能独立,要求()A模块的内聚程度尽量高,模块间的耦合程度尽量强B模块的内聚程度尽量高,模块间的耦合程度尽量弱C模块的内聚程度尽量低,模块间的耦合程度尽量强D模块的内聚程度尽量低,模块间的耦合程度尽量弱,.,30,5.4.2详细设计考虑“怎样实现”这个软件系统,直到对系统中的每个模块给出足够详细的过程性描述,详细设计的任务为软件结构土中的每一个模块确定实现算法和局部数据结构,用某种选定的表达工具表示算法和数据结构的细节。,常见的过程设计工具图形工具:程序流程图,N-S,PAD,HIPO表格工具:判定表语言工具:PDL(伪码),下列()属于详细设计。A.分析项目的成本和效益B.为每个模块确定采用的算法C.编写代码D.确定模块结构,划分模块功能,.,31,、程序流程图,或,:,控制流*,:,加工步骤,:,逻辑条件,是一种传统的、应用广泛的软件过程设计表示工具,也称为程序框图。,程序流图(PFD)中箭头代表的是A)数据流B)控制流C)调用关系D)组成关系,.,32,程序流程图的5种基本控制结构,.,33,、N-S图为了避免流程图在描述程序逻辑时的随意性与灵活性,1973年Nossi和Shneiderman提出了用方框图来代替传统的程序流程图,通常也把这种图称为N-S图,为了避免流程图在描述程序逻辑时的灵活性,提出了用方框图来代替传统的程序流程图,通常也把这种图称为_。A.PAD图B.N-S图C.结构图D.数据流图,.,34,、PAD图PAD图是问题分析图(ProblemAnalysisDiagram)的英文缩写。,.,35,、PDL(ProcedureDesignLanguage)过程设计语言(PDL)也称为结构化的英语和伪码,它是一种混合语言。,.,36,5.5.1软件测试的目标和原则,软件测试定义使用人工或自动手段来运行或测定某个系统的过程,其目的在于检验它是否满足规定的需求或是弄清预期结果与实际结果之间的差别。*软件测试是为了发现错误而执行程序的过程.,基本准则,(1)所有测试都应追溯到需求,(2)严格执行测试计划,排除测试的随意性,(3)充分注意测试中的群集现象,(4)程序员应避免检查自己的程序,(5)穷举测试不可能,(6)妥善保存测试计划、测试用例、出错统计和最终分析报告,为维护提供方便。,.,37,5.5.2软件测试的方法,从是否需要执行被测软件的角度分为:静态测试和动态测试方法从功能划分可以分为:白盒测试和黑盒测试,、静态测试包括代码检查、静态结构分析、代码质量度量。主要由人工进行,能有效发现30%70%的逻辑设计和编码错误,、动态测试静态测试不实际运行软件,动态测试是基于计算机的测试,为了发现错误而执行程序的过程,若按功能划分,软件测试的方法通常分为白盒测试方法和_测试方法。答:黑盒,.,38,、白盒测试也称结构测试或逻辑驱动测试,在程序内部进行,主要用于完成软件内部操作的验证。原则保证所测试模块中每一独立路径至少执行一次;保证所测模块所有判断的分支至少执行一次;保证所测模块每一循环都在边界条件和一般条件下至少执行一次;验证所有内部数据结构的有效性,在软件工程中,白箱测试法可用于测试程序的内部结构。此方法将程序看做是_。A.循环的集合B.地址的集合C.路径的集合D.目标的集合,.,39,白盒测试的主要方法*逻辑覆盖、基本路径测试等其中逻辑覆盖测试有:语句覆盖,路径覆盖、判定覆盖、条件覆盖、判断条件覆盖,.,40,、黑盒测试对软件已经实现的功能是否满足需求进行测试和验证。它完全不考虑程序内部的逻辑结构和内部特性,只依据程序的需求和功能规格说明,检查程序是否符合它的功能说明。黑盒测试实在软件借口处进行,完成功能验证,黑盒测试方法等价类划分法、边界值分析法、错误推测法、因果图等。主要用于软件确认测试。*,.,41,实际上,无论是使用白盒测试还是黑盒测试,或是其他方法,仅仅易于发现某种类型的错误。所以没有一种用例设计方法能适应全部的测试方案,而是各有所长。要综合使用各种方法来确定合适的测试方案。,.,42,3软件测试的实施软件测试过
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 计算机二级VB考试的实战演练与试题及答案概览
- 企业风险防范试题及答案解析
- 行政法学考试真题及答案汇编
- 多元化2025年VB考试试题及答案
- 班级事务分工与协作计划
- 【金华】2025年浙江金华市永康市部分事业单位招聘工作人员99人笔试历年典型考题及考点剖析附带答案详解
- 数据安全中的加密技术试题及答案
- 人才继任计划的制定与落实
- 提升仓库服务质量的思考计划
- 秋季实践教学与实习安排计划
- 医疗器械配送方案
- 2023年定西地区水利系统事业单位招聘笔试题库及答案
- GB/T 14352.2-2010钨矿石、钼矿石化学分析方法第2部分:钼量测定
- GB/T 10069.3-2008旋转电机噪声测定方法及限值第3部分:噪声限值
- GB 252-2015普通柴油
- 《活着》作品简介名著导读PPT
- 硅酸钙板、含锆型硅酸铝纤维棉、高铝型硅酸铝纤维棉技术规格
- 2018年可行性研究报告投资估算及财务分析全套计算表格共14个附表excle带公式只更改标红部分即可带说明
- 企业落实安全生产主体责任重点事项清单(20项要点)
- 《人机工程学》第5章人的作业能力与疲劳课件
- 彩钢产品合格证
评论
0/150
提交评论