第5章软件工程基础1

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

第3章算法与数据结构计算机基础实验中心1第四章软件工程基础第3章算法与数据结构计算机基础实验中心25.1软件5.2软件工程的基本概念5.3结构化分析方法5.4结构化设计方法5.5软件测试5.6软件调试第3章算法与数据结构计算机基础实验中心31软件的定义***计算机软件(software)是计算机系统中与硬件相互依存的另一部分,是包括程序、数据及相关文档的完整集合。2软件的特点(1)软件是逻辑实体,不是物理实体,具有抽象性(2)软件的生产与硬件不同,没有明显的制作过程(3)软件运行、使用期间不存在磨损、老化的问题(4)软件的开发、运行受计算机系统的限制。(5)软件复杂度高,成本昂贵。(6)软件开发设计诸多的社会因素。5.1软件软件是程序、数据和___相关文档___集合。第3章算法与数据结构计算机基础实验中心43软件的分类应用软件、系统软件和支撑软件(或工具软件)。4软件危机软件危机泛指在计算机软件的开发和维护过程中所遇到的一系列严重问题。1软件的需求的增长得不到满足2软件开发成本和进度无法控制3软件质量难以保证4软件不可维护或维护程度非常低5软件的成本不断提高6软件开发生产率的提高赶不上硬件的发展和应用需求的增长。“软件危机”是指()A.计算机病毒的出现B.利用计算机进行经济犯罪活动C.软件开发和维护中出现的一系列问题D.人们过分迷恋计算机系统第3章算法与数据结构计算机基础实验中心55.2.1软件工程软件工程是开发、维护和修复软件的系统方法。1968年在北大西洋公约组织会议上,软件工程作为一个概念首次被提出。软件工程包括3个要素***:方法、工具和过程5.2.2软件工程的目标和研究内容(1)付出较低的开发成本(2)达到预期的软件功能(3)取得较好的软件性能(4)使软件易于移植(5)需要较低的维护费用(6)能按时完成开发工作,及时交付使用下面不属于软件工程的3个要素的是______。A工具B过程C方法D环境5.2软件工程的基本概念第3章算法与数据结构计算机基础实验中心6软件工程研究的内容软件开发技术和软件工程管理5.2.3软件工程的原则1抽象分层次抽象,自顶向下,逐层细化2信息隐蔽采用封装技术,将程序模块的实现细节隐藏起来,使模块接口尽量简单。3模块化一个独立的编程单位,模块的大小要适中.4局部化第3章算法与数据结构计算机基础实验中心75确定性6一致性7完备性8可验证性第3章算法与数据结构计算机基础实验中心85.2.4软件工程工具和环境1软件开发环境或软件工程环境***全面支持软件开发全过程的软件工具集合。这些软件工具按照一定的方法或模式组合起来,支持软件生命周期内的各个阶段和各项任务的完成。2计算机辅助软件工程(CASE,ComputerAidedSoftwareEngineering)CASE将各种软件工具、开发机器和一个存放开发过程信息的中心数据库组合起来,形成软件工程环境。软件开发环境是全面支持软件开发全过程的__________集合。软件工具第3章算法与数据结构计算机基础实验中心9软件产品从提出、实现、使用维护到停止使用退役的过程称为软件生命周期。可行性研究初步项目计划需求分析概要设计详细设计实现测试使用维护退役定义阶段开发阶段维护阶段软件生命周期***5.2.5软件生命周期第3章算法与数据结构计算机基础实验中心10软件开发的结构化生命周期方法将软件生命周期划分成______。A.定义、开发、运行维护B.设计阶段、编程阶段、测试阶段C.总体设计、详细设计、编程调试D.需求分析、功能定义、系统设计在软件开发中,下面任务不属于设计阶段的是______。A.数据结构设计B.给出系统模块结构C.定义模块算法D.定义需求并建立系统模型第3章算法与数据结构计算机基础实验中心115.3结构化分析方法基本思想自顶向下、逐步求精、单入口、单出口,基本原则是抽象和功能分解。结构化分析是面向数据流进行需求分析的方法。是结构化程序设计理论在需求分析阶段的运用。结构化分析方法就是用抽象模型的概念,按照软件内部数据传递、变换的关系,自顶向下逐层分解,知道找到满足功能要求的所有可实现的软件为止。结构化分析方法使用了以下几个工具:数据流图、数据字典、判定表和判定树第3章算法与数据结构计算机基础实验中心12下列不属于结构化分析的常用工具的是______。()A.数据流图B.数据字典C.判定树D.PAD图在结构化方法中,用数据流程图(DFD)作为描述工具的软件开发阶段是______。()A.可行性分析B.需求分析C.详细设计D.程序编码第3章算法与数据结构计算机基础实验中心135.3.1需求分析它的基本任务是准确地回答“系统必须做什么?”任务:是发现需求、求精、建模和定义需求的过程。需求分析将创建所需的数据模型、功能模型和控制模型。需求分析阶段的工作***1需求获取:确定对目标系统的各方面需求2需求分析:对获取的需求进行分析和综合,最终给出系统的解决方案和目标系统的逻辑模型3编写需求规格说明书:它作为需求分析的阶段成果,可以为用户、分析人员和设计人员间的交流提供方便。无歧异性!4需求评审:在需求分析的最后一步,对需求分析阶段的工作进行复审.第3章算法与数据结构计算机基础实验中心14需求分析阶段的任务是确定______。A.软件开发方法B.软件开发工具C.软件开发费用D.软件系统功能软件的需求分析阶段的工作,可以概括为四个方面:______、需求分析、编写需求规格说明书和需求评审。在软件生命周期中,能准确地确定软件系统必须做什么和必须具备哪些功能的阶段是____A)概要设计B)详细设计C)可行性分析D)需求分析第3章算法与数据结构计算机基础实验中心152需求分析方法(1)结构化分析方法面向数据流的结构化分析方法(SA)面向数据结构的Jackson方法(JSD)面向数据结构的结构化数据系统开发方法(DSSD)(2)面向对象的分析方法5.3.5结构化分析的常用工具***数据流图、数据字典、判定树和判定表(1)数据流图(DFD-DataFlowDiagram)描述数据处理过程的工具,是需求理解的逻辑模型的图形表示,它直接支持系统的功能建模。第3章算法与数据结构计算机基础实验中心16数据流图从数据流和加工的角度,来刻画数据流从输入到输出的移动变换过程。加工(处理模块)。输入数据经加工变换产生输出数据流。沿箭头方向传送数据的通道,一般在旁边标注数据流名存储文件(数据源)。表示处理过程中存放各种数据的文件源,潭。表示系统和环境的接口,属系统之外的实体第3章算法与数据结构计算机基础实验中心17数据流图用于抽象描述一个软件的逻辑模型,数据流图由一些特定的图符构成。下列图符名标识的图符不属于数据流合法图符的是A)控制流B)加工C)数据存储D)源和潭在数据流图(DFD)中,带有名字的箭头表示______。A控制程序的执行顺序B模块之间的调用关系C数据的流向D程序的组成成分在数据流图(DFD)中,带有名字的箭头表示___。A控制程序的执行顺序B模块之间的调用关系C数据的流向D.程序的组成成分第3章算法与数据结构计算机基础实验中心18(2)数据字典(DD-DataDictionary)***结构化分析方法的核心。数据字典是对所有与系统相关数据元素的一个有组织的列表,以及精确的严格的定义。数据字典的作用是解释DFD中图形元素。其内容有图形元素的:名称、别名、何处使用/如何使用(位置),内容描述、补充信息等。第3章算法与数据结构计算机基础实验中心19符号含义=表示“等于”,“定义为”,“由什么构成”[…|…]表示“或”,即选择括号中用“|”号分隔的各项中的某一项+表示“与”,“和”n{}m表示”重复“,即括号中的项要重复若干次,n,m表示重复次数的上下限(…)表示”可选“,即括号中的现可以没有**表示”注释“..连接符第3章算法与数据结构计算机基础实验中心205.3.4软件需求规格说明书***软件需求规格说明是需求分析阶段最后成果,是软件开发中的重要文档之一。作用:便于用户、开发人员进行理解和交流.反映出用户问题的结构,可以作为软件开发工作的基础和依据作为确认测试和验收的依据不属于软件需求规格说明书的作用的是____。A便于用户、开发人员进行理解和交流B可作为软件开发工作的基础和依据C作为确认测试和验收的依据D便于开发人员进行需求分析第3章算法与数据结构计算机基础实验中心21软件需求规格说明书的特点:正确性无歧义性完整性可验证性一致性可理解性可修改性可追踪性第3章算法与数据结构计算机基础实验中心225.4结构化设计方法软件设计分两步完成:总体设计和详细设计。***1总体设计(又称结构设计)将软件需求转化为软件体系结构、确定系统级接口、全局数据结构或数据库模式;2详细设计确立每个模块的实现算法和局部数据结构,用适当的方法表示算法和数据结构的细节。5.4.1总体设计第3章算法与数据结构计算机基础实验中心23总体设计基本任务(1)设计软件系统结构在需求阶段,已经把系统分解成层次结构,而在概要设计阶段,需要进一步分解,划分为模块以及模块的层次结构。(2)数据结构及数据库设计(3)编写概要设计文档(4)概要设计文档评审在结构化方法中,软件功能分解属于下列软件开发中的阶段是______A.详细设计B.需求分析C.总体设计D.编程调试第3章算法与数据结构计算机基础实验中心24总体设计的原理(1)抽象(2)模块化(3)信息隐蔽:(4)模块独立性模块的独立程度是评价设计好坏的度量标准。衡量软件的模块独立性用耦合性和内聚性来度量。下面不属于软件设计原则的是A)抽象B)模块化C)自底向上D)信息隐蔽第3章算法与数据结构计算机基础实验中心25内聚度量一个给定的程序内的多行代码的单一功能性,以确定是否达到该程序所要实现的目的。耦合性度量程序之间联系的次数和强度1.模块独立性的度量之一:耦合性模块间相对独立性(相互依赖程度)的度量耦合性越高,模块独立性越弱***耦合强度依赖的因素:一模块对另一模块的引用一模块向另一模块传递的数据量一模块施加到另一模块的控制的数量-模块间接口的复杂程度第3章算法与数据结构计算机基础实验中心26无耦合-没有依赖关系松散耦合-有少量依赖关系紧密耦合-有很多依赖关系第3章算法与数据结构计算机基础实验中心27模块间耦合的类型无直接耦合数据耦合标记耦合控制耦合外部耦合公共耦合内容耦合模块独立性弱强耦合性高低第3章算法与数据结构计算机基础实验中心2.模块独立性的度量之二:内聚性一个模块内部元素在功能上相互关联的强度设计目标:高内聚模块的内聚性类型偶然内聚0分逻辑内聚1分时间内聚3分过程内聚5分通信内聚7分信息内聚9分功能内聚10分模块独立性弱(功能分散)强(功能单一)内聚性高低第3章算法与数据结构计算机基础实验中心29内聚与耦合密切相关,同其它模块强耦合的模块意味着弱内聚,强内聚模块意味着与其它模块间松散耦合.设计目标:强内聚、弱耦合***为了使模块尽可能独立,要求()A模块的内聚程度尽量高,模块间的耦合程度尽量强B模块的内聚程度尽量高,模块间的耦合程度尽量弱C模块的内聚程度尽量低,模块间的耦合程度尽量强D模块的内聚程度尽量低,模块间的耦合程度尽量弱第3章算法与数据结构计算机基础实验中心305.4.2详细设计考虑“怎样实现”这个软件系统,直到对系统中的每个模块给出足够详细的过程性描述详细设计的任务为软件结构土中的每一个模块确定实现算法和局部数据结构,用某种选定的表达工具表示算法和数据结构的细节。常见的过程设计工具图形工具:程序流程图,N-S,PAD,HIPO表格工具:判定表语言工具:PDL(伪码)下列()属于详细设计。A.分析项目的成本和效益B.为每个模块确定采用的算法C.编写代码D.确定模块结构,划分模块功能第3章算法与数据结构计算机基础实验中心311、程序流程图或:控制流***:加工步骤:逻辑条件是一种传统的、应用广泛的软件过程设计表示工具,也称为程序框图。程序流图(PFD)中箭头代表的是A)数据流B)控制流C)调用关系D)组成关系第3章算法与数据结构计算机基础实

1 / 44
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功