软件工程基础_第1页
软件工程基础_第2页
软件工程基础_第3页
软件工程基础_第4页
软件工程基础_第5页
已阅读5页,还剩35页未读 继续免费阅读

下载本文档

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

文档简介

软件工程基础(一)基本概念

软件工程:软件工程是指应用计算机科学、数学及管理科学等原理,以工程化的原则和方法来解决软件问题的工程。其目的是提高软件生产率、提高软件质量、降低软件成本。

软件危机:早期的软件主要指程序,采用个体工作方式,缺少相关文档,质量低,维护困难,这些问题称为“软件危机”,软件工程概念的出现源自于软件危机。1软件生命周期将软件产品从提出、实现、使用维护到停止使用退役的过程称为软件生命周期。分为软件定义、软件开发及软件运行维护3个时期。维护是持续时间最长,花费代价最大的一个时期,软件工程学的一个目的就是提高软件的可维护性,降低维护代价。6个活动阶段:可行性研究与计划制定:确定系统的总体目标。参加人员有用户、项目负责人和系统分析员,产生文档有可行性分析报告、项目计划书等。需求分析:确定系统的逻辑模型。参加人员有用户、项目负责人和系统分析员。产生文档为需求规格说明书,其作用:(1)便于用户、开发人员进行理解交流;(2)反映用户问题的结构,可以作为软件开发工作的基础和依据;(3)作为确认测试和验收的依据。2软件设计:包括软件结构设计、数据设计、接口设计和过程设计。其中结构设计是定义软件系统各部件之间的关系;数据设计是将分析时创建的模型转化为数据结构的定义;接口设计是描述软件内部、软件和操作系统之间及软件与人之间如何通信;过程设计则是把系统结构部件转换成软件的过程性描述。软件设计分概要设计和详细设计。参加人员有系统分析员和高级程序员。产生的文档有设计规格说明书。编码:编程。高级程序员和程序员产生源程序清单。测试:由另一部门的高级程序员或系统分析员产生软件测试计划和软件测试报告。运行维护3

软件工程三要素方法:完成软件工程项目的技术手段。工具:支持软件的开发、管理、文档生成。过程:支持软件开发的各个环节的控制、管理。

软件工程的理论和技术研究的内容软件开发技术和软件工程管理。

软件工程的目标在给定的成本、进度的前提下,开发出具有有效性、可靠性、可理解性、可维护性、可适应性、可移植性、可追踪性和可互操作性且满足用户需求的产品。软件工程鼓励研制和采用各种先进的软件开发方法、工具和环境。4软件工具和软件开发环境软件工具(CASE):用来辅助软件开发、运行、维护、管理、支持等过程中的活动的软件。软件开发环境:支持软件产品开发的软件系统,它由软件工具集和环境集成机制构成软件工程基础5(二)结构化分析方法

软件工程基础基本思想将系统分析看成工程项目,有计划、有步骤地进行工作。开发策略自顶向下,逐层分解分析结果一套分层的数据流图(DFD):用来描述数据流从输入到输出的变换流程一个数据字典(DD):用来描述DFD中的每个数据流、文件以及组成数据流或文件的数据项一组小说明(加工逻辑说明):用来描述每个基本加工的加工逻辑6(三)结构化设计方法、总体设计和详细设计

软件工程基础结构化设计方法

结构图:

基本成分:模块、调用、输入输出数据模块用矩形表示,模块间用线段连接,表示调用关系,输入输出数据可写在调用线段的旁边

信息流的类型

变换流事务流7总体设计设计原则分解—协调原则自顶向下的原则信息屏蔽、抽象的原则一致性原则明确性原则模块间的耦合度尽可能小,模块内部组合尽可能紧凑(内聚性高)模块的扇入和扇出系数合理模块的规模适当8详细设计根本目标:

确定应用怎样具体的实现所要求的系统,不是具体的编写程序,而是要设计程序的“蓝图”自顶向下的原则。此阶段的结果基本上决定了最终的程序代码的质量。包括内容:代码设计输入设计输出设计处理过程设计用户界面设计安全控制设计9(四)软件测试

软件工程基础

意义目的为了发现错误;希望能以最少的人力和时间发现潜在的各种错误和缺陷;保证系统质量和可靠性的关键步骤。

测试方法人工测试;机器测试。提问:测试能否发现程序中的所有错误?答案:不能。10白盒盒测测试试结构构测测试试将软软件件看看成成透透明明的的白白盒盒,,根根据据程程序序的的内内部部结结构构和和逻逻辑辑结结构构来来设设计计测测试试例例子子,,对对程程序序的的路路径径和和过过程程进进行行测测试试,,检检查查是是否否满满足足设设计计的的要要求求黑盒盒测测试试功能能测测试试将软软件件看看成成黑黑盒盒子子,,在在完完全全不不考考虑虑软软件件内内部部结结构构和和特特性性的的情情况况下下,,测测试试软软件件的的外外部部特特性性软件件测测试试的的实实施施单元元测测试试((模模块块测测试试))::白白盒盒测测试试法法组装装测测试试((集集成成测测试试))确认认测测试试::检检查查软软件件产产品品是是否否符符合合需需求求定定义义,,黑黑盒盒测测试试法法系统统测测试试11适合合于于黑盒盒测测试试的测测试试方方案案::等价价类类划划分分、、边边界界值值分分析析法法和和错错误误推推测测法法三三种种。。适合合于于白盒盒测测试试的测测试试方方案案::主要要有有逻辑辑覆覆盖盖法。。逻辑辑覆覆盖盖法法包包括括::语句句覆覆盖盖、、判判定定覆覆盖盖((也也称称为为分分支支覆覆盖盖))、、条条件件覆覆盖盖、、判定定/条条件件覆覆盖盖、、条条件件组组合合覆覆盖盖。。软件工程基础12(五五)程序序调调试试软件工程基础任务务根据据测测试试时时发发现现的的错错误误,,找找出出原原因因和和具具体体的的位位置置,,进进行行改改正正由程序开开发人员员来进行行,谁开开发的程程序就由由谁来进进行调试试方法:强行排错错法回溯法原因排除除法(演绎、、归纳、、二分法法)13静态调试试通过人的的思维来来分析源源程序代代码和排排错,是是主要的调试试手段。。动态调试试辅助静态态调试。。软件工程基础14(六)例题讲解解为了提高高测试的的效率,,应该(())A)随机选取取测试数数据B)取一切可可能的输输入数据据作为测测试数据据C)在完成编编码以后后制定软软件的测测试计划划D)选择发现现错误可可能性大大的数据据作为测测试数据据软件生命命周期中中所花费费用最多多的阶段段是())A)详细设计计B)软件编码码C)软件测试试D)软件维护护软件工程基础15(六)例题讲解解为了提高高测试的的效率,,应该((D)A)随机选取取测试数数据B)取一切可可能的输输入数据据作为测测试数据据C)在完成编编码以后后制定软软件的测测试计划划D)选择发现错误误可能性大的的数据作为测测试数据软件生命周期期中所花费用用最多的阶段段是(D)A)详细设计B)软件编码C)软件测试D)软件维护软件工程基础√√16下列叙述中,,不属于软件件需求规格说说明书的作用用的是(D)A)便于用户、开开发人员进行行理解和交流流B)反映出用户问问题的结构,,可以作为软软件开发工作作的基础和依据C)作为确认测试试和验收的依依据D)便于开发人员员进行需求分分析下列不属于软软件工程的3个要素的是是(D)A)工具BB)过程CC)方法D)环境软件设计包括括软件的结构构、数据接口口和过程设计计,其中软件的过程设计计是指(B)A)模块间的关系系B)系统结构部件件转换成软件件的过程描述述C)软件层次结构构D)软件开发过程程√√√17下列叙述中,,不属于软件件需求规格说说明书的作用用的是(D)A)便于用户、开开发人员进行行理解和交流流B)反映出用户问问题的结构,,可以作为软软件开发工作作的基础和依据C)作为确认测试试和验收的依依据D)便于开发人员员进行需求分分析下列不属于软软件工程的3个要素的是是(D)A)工具BB)过程CC)方法D)环境软件设计包括括软件的结构构、数据接口口和过程设计计,其中软件的过程设计计是指(B)A)模块间的关系系B)系统结构部件件转换成软件件的过程描述述C)软件层次结构构D)软件开发过程程√√√18检查软件产品品是否符合需需求定义的过过程称为(A)A)确认测测试B)集成测测试C)验证测测试DD)验验收测试数据流图用于于抽象描述一一个软件的逻逻辑模型,数数据流图由一些特定的的图符构成。。下列图符名名标识的图符符不属于数据流图合法法图符的是(A)A)控制流流B)加工C)数据存存储DD)源源和流开发软件所需需高成本和产产品的低质量量之间有着尖尖锐的矛盾,这种现象象称作(B)A)软件投机B)软件危机C)软件工程D)软件产生√√√19下面不属于软软件设计原则则的是(C)A)抽象BB)模模块化C)自底向向上D)信息隐隐蔽开发大型软件件时,产生困困难的根本原原因是(A)A)大系统的复杂杂性B)人员知识不足足C)客观世界千变变万化D)时间紧、任务务重软件工程的出出现是由于((C)A)程序设计方法法学的影响B)软件产业化的的需要C)软件危机的出出现D)计算机的发展展√√√20软件开发离不不开系统环境境资源的支持持,其中必要要的测试数据属于((D)A)硬件资源B)通信资源C)支持软件D)辅助资源在数据流图(DFD)中,带有名字字的箭头表示示(D)A)模块之间的调调用关系B)程序的组成成成分C)控制程序的执执行顺序D)数据的流向下列不属于结结构化分析的的常用工具的的是(D)A)数据流图B)数据字典C)判定树D)PAD图在软件生产过过程中,需求求信息的给出出是(D)A)程序员B)项目管理者C)软件分析设计计人员D)软件用户√√√√21下列工具不是是需求分析常常用工具的是是(D)A)PADB)PFDC)N-SD)DFD模块独立性是是软件模块化化所提出的要要求,衡量模模块独立性的度量标准则则是模块的((C)A)抽象和信息隐隐蔽B)局部化和封装装化C)内聚性和耦合合性D)激活机制和控控制方法软件开发的结结构化生命周周期方法将软软件生命周期期划分成(A)A)定义、开发、、运行维护B)设计阶段、、编程阶段段、测试阶阶段C)总体设计、、详细设计计、编程调调试D)需求分析、、功能定义义、系统设设计√√√22在软件工程程中,白箱箱测试法可可用于测试试程序的内内部结构。。此方法将程程序看做是是()A)路径的集合合B)循环的集合合C)目标的集合合D)地址的集合合完全不考虑虑程序的内内部结构和和内部特征征,而只是是根据程序序功能导出测测试用例的的测试方法法是())A)黑箱测试法法B)白箱测试法法C)错误推测法法D)安装测试法法在结构化设设计方法中中,生成的的结构图(SC)中,带有箭箭头的连线表示(()A)模块之间的的调用关系系B)程序的组成成成分C)控制程序的的执行顺序序D)数据的流向向23下列选项中中,不属于于模块间耦耦合的是(()A)数据耦合B)同构耦合C)异构耦合D)公用耦合下列叙述中中,不属于于测试的特特征的是(()A)测试的挑剔剔性B)完全测试的的不可能性性C)测试的可靠靠性D)测试的经济济性需求分析中中开发人员员要从用户户那里了解解()A)软件做什么么B)用户使用界界面C)输入的信息息D)软件的规模模下列不属于于软件调试试技术的是是()A)强行排错法法B)集成测试法法C)回溯法D)原因排除法法24下列选项中中,不属于于模块间耦耦合的是((C)A)数据耦合B)同构耦合C)异构耦合D)公用耦合下列叙述中中,不属于于测试的特特征的是((C)A)测试试的的挑挑剔剔性性B)完全全测测试试的的不不可可能能性性C)测试试的的可可靠靠性性D)测试试的的经经济济性性需求求分分析析中中开开发发人人员员要要从从用用户户那那里里了了解解((A)A)软件件做做什什么么B)用户户使使用用界界面面C)输入入的的信信息息D)软件件的的规规模模下列列不不属属于于软软件件调调试试技技术术的的是是((B)A)强行行排排错错法法B)集成成测测试试法法C)回溯溯法法D)原因因排排除除法法√√√√25为了了避避免免流流程程图图在在描描述述程程序序逻逻辑辑时时的的灵灵活活性性,,提提出出了了用用方方框框图图来来代代替替传传统统的的程程序序流流程程图图,,通通常常也也把把这这种种图图称称为为(())A)PAD图B)N-S图C)结构构图图D)数据据流流图图软件件复复杂杂性性度度量量的的参参数数包包括括(())A)效率B)规模C)完整性D)容错性下列叙述中,,正确的是(()A)软件就是程序序清单B)软件就是存放放在计算机中中的文件C)软件应包括程程序清单及运运行结果D)软件包括程序序和文档软件设计中,,有利于提高高模块独立性性的一个准则则是()A)低内聚低耦合合B)低内聚高耦合合C)高内聚低耦合合D)高内聚高耦合合26为了避免流程程图在描述程程序逻辑时的的灵活性,提提出了用方框框图来代替传传统的程序流流程图,通常常也把这种图图称为(B)A)PAD图B)N-S图C)结构图D)数据流图软件复杂性度度量的参数包包括(B)A)效率B)规模C)完整性D)容错性下列叙述中,,正确的是((D)A)软件就是程序序清单B)软件就是存放放在计算机中中的文件C)软件应包括程程序清单及运运行结果D)软件包括程序序和文档软件设计中,,有利于提高高模块独立性性的一个准则则是(C)A)低内聚低耦合合B)低内聚高耦合合C)高内聚低耦合合D)高内聚高耦合合√√√√27下列叙述中,,不属于结构构化分析方法法的是())A)面向数据流的的结构化分析析方法B)面向数据结构构的Jackson方法C)面向数据结构构的结构化数数据系统开发发方法D)面向对象的分分析方法详细设计的结结果基本决定定了最终程序序的()A)代码的规模B)运行速度C)质量D)可维护性下列不属于静静态测试方法法的是())A)代码检查B)白盒法C)静态结构分析析D)代码质量度量量在软件生命周周期中,能准准确地确定软软件系统必须须做什么和必必须具备哪些些功能的阶段段是()A)概要设计B)详细设计C)可行性分析D)需求分析28下列叙述中,,不属于结构构化分析方法法的是(D)A)面向数数据流流的结结构化化分析析方法法B)面向数数据结结构的的Jackson方法C)面向数数据结结构的的结构构化数数据系系统开开发方方法D)面向对对象的的分析析方法法详细设设计的的结果果基本本决定定了最最终程程序的的(C)A)代码的的规模模B)运行速速度C)质量D)可维护护性下列不不属于于静态态测试试方法法的是是(B)A)代码检检查B)白盒法法C)静态结结构分分析D)代码质质量度度量在软件件生命命周期期中,,能准准确地地确定定软件件系统统必须须做什什么和和必须须具备备哪些些功能能的阶阶段是是(D)A)概要设设计B)详细设设计C)可行性性分析析D)需求分分析√√√√29程序流流程图图(PFD)中的箭箭头代代表的的是(())A)数据流流B)控制流流C)调用关关系D)组成关关系在结构构化方方法中中,软软件功功能分分解属属于下下列软软件开开发中中的阶阶段是是())A)详细设设计B)需求分分析C)总体设设计D)编程调调试软件调调试的的目的的是(())A)发现错错误B)改正错错误C)改善软软件的的性能能D)挖掘软软件的的潜能能30程序流流程图图(PFD)中的箭箭头代代表的的是((B)A)数据流流B)控制流流C)调用关关系D)组成关系在结构化方方法中,软软件功能分分解属于下下列软件开开发中的阶阶段是(C)A)详细设计B)需求分析C)总体设计D)编程调试软件调试的的目的是((B)A)发现错误B)改正错误C)改善软件的的性能D)挖掘软件的的潜能√√√31软件需求分分析阶段的的工作,可可以分为四四个方面::需求获取取,需求分析,,编写需求求规格说明明书,以及及()A)阶段性报告告B)需求评审C)总结D)都不正确通常,将软软件产品从从提出、实实现、使用用维护到停停止使用退退役的过程称称为。耦合和内聚聚是评价模模块独立性性的两个主主要标准,,其中反映了模块块内各成分分之间的联联系。软件工程研研究的内容容主要包括括:技术和软件件工程管理。32软件需求分分析阶段的的工作,可可以分为四四个方面::需求获取取,需求分析,,编写需求求规格说明明书,以及及(B)A)阶段性报告告B)需求评审C)总结D)都不正确通常,将软软件产品从从提出、实实现、使用用维护到停停止使用退退役的过程称称为【1】。【答案】:软件生命周周期耦合和内聚聚是评价模模块独立性性的两个主主要标准,,其中【2】反映了模块块内各成分分之间的联联系。【答案】:内聚软件工程研研究的内容容主要包括括:【3】技术和软件件工程管理。【答案】:软件开发√33Jackson结构化程序序设计方法法是英国的的M.Jackson提出的,它是一种面面向的设计方法法。软件设计模模块化的目目的是。数据流图的的类型有和事务型。。软件危机出出现于60年代末,,为了解决决软件危机机,人们提提出了的原理来设设计软件,,这就是软软件工程诞诞生的基础。软件开发环环境是全面面支持软件件开发全过过程的集合。软件工程基础34Jackson结构化程程序设计计方法是是英国的的M.Jackson提出的,,它是一种种面向【4】的设计方方法。【答案】】:数据结构构软件设计计模块化化的目的的是【5】。【答案】】:内聚降低复杂杂性数据流图图的类型型有【6】和事务型型。【答案】】:变换型软件危机机出现于于60年年代末,,为了解解决软件件危机,,人们提提出了【7】的原理来来设计软软件,这这就是软软件工程程诞生的的基础。【答案】】:软件工程程学软件开发发环境是是全面支支持软件件开发全全过程的的【8】集合。【答案】】:软件工具

温馨提示

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

评论

0/150

提交评论