二级公共基础-软件工程.ppt

上传人:龙*** 文档编号:492718 上传时间:2018-10-14 格式:PPT 页数:54 大小:403KB
下载 相关 举报
二级公共基础-软件工程.ppt_第1页
第1页 / 共54页
二级公共基础-软件工程.ppt_第2页
第2页 / 共54页
二级公共基础-软件工程.ppt_第3页
第3页 / 共54页
二级公共基础-软件工程.ppt_第4页
第4页 / 共54页
二级公共基础-软件工程.ppt_第5页
第5页 / 共54页
点击查看更多>>
资源描述

1、第三章 软件工程,软件工程基本概念软件工程的生命周期,考点1 软件(P13),什么是软件?软件是包括程序、数据及相关文档的完整集合,软件是一种逻辑产品。软件=程序+文档按功能分可分成哪3类?应用软件系统软件支撑软件(工具软件),【2009.3】软件按功能可分为:应用软件、系统软件和支撑软件(或工具软件),下面属于应用软件的是( )(A)编译程序 (B)操作系统 (C)教务管理系统 (D)汇编程序,C,考点2 软件特点,软件是一种逻辑实体,而不是物理实体,具有抽象性;软件的生产与硬件不同,对软件的质量控制必须着重在软件开发方面;软件在运行、使用期间不存在磨损、老化问题;软件的开发、运行对计算机系

2、统具有依赖性;计算机复杂性高,成本昂贵;软件开发涉及诸多的社会因素。,考点3 软件工程(P13),软件工程的定义?试图用工程、科学和数学的原理与方法研制、维护计算机软件的有关技术及管理方法。软件工程的3要素(P13)方法:完成软件工程项目的技术手段工具:支持软件的开发、管理、文档生成过程:支持软件开发的各个环节的控制、管理软件工程的核心思想(P13)把软件产品当作是一个工程产品来处理,强调在软件开发过程中应用工程化原则。,考点4 软件工程的目标,软件工程的目标是什么?(P13)在给定的成本、进度的前提下,开发出具有有效性、可靠性、可维护性、可重用性、可适应性、可移植性、可追踪性和可互操作性且满

3、足用户需求的产品。,考点5 软件工程的研究内容,软件工程研究的内容分哪两部分?(P13)软件开发技术软件开发管理,2005.9下列描述中正确的是_。A)软件工程只是解决软件项目的管理问题B)软件工程主要解决软件产品的生产率问题C)软件工程的主要思想是强调在软件开发过程中需要应用工程化原则D)软件工程只是解决软件开发中的技术问题,C,2008.9软件工程三要素包括方法、工具和过程,其中, 支持软件开发的各个环节的控制和管理。,过程,考点6 软件开发工具与软件开发环境,什么是软件开发工具?软件工具(CASE):用来辅助软件开发、运行、维护、管理、支持等过程中的活动的软件什么是软件开发环境?软件开发

4、环境:支持软件产品开发的软件系统,它由软件工具集和环境集成机制构成,考点7 软件的生命周期(P13),什么是软件生命周期?(P13)指将软件产品从提出、实现、使用维护到停止使用退役的过程。软件的生命周期组成?软件定义期软件开发期软件维护期 维护是持续时间最长,花费代价最大的一个阶段,软件工程学的一个目的就是提高软件的可维护性,降低维护代价,软件生命周期,软件定义期可行性研究与计划制定:确定系统的总体目标。参加人员有用户、项目负责人和系统分析员,产生文档有可行性分析报告、项目计划书等需求分析:确定系统的逻辑模型。参加人员有用户、项目负责人和系统分析员。产生文档为需求规格说明书,其作用:(1)便于

5、用户、开发人员进行理解交流;(2)反映用户问题的结构,可以作为软件开发工作的基础和依据;(3)作为确认测试和验收的依据。,考点7 软件的生命周期,需求分析,什么是软件需求分析指用户对目标软件系统在功能、行为、性能、设计约束等方面的期望。需求分析阶段的主要工作有哪些?需求获取、需求分析、编写需求规格说明书和需求评审常用的需求分析方法有哪2种?结构化分析方法和面向对象分析方法,需求分析,结构化分析方法结构化分析方法的核心和理论是结构化程序设计理论;结构化分析方法是具体实例有:面向数据流的结构化分析方法SA、面向数据结构的JSD方法,面向数据结构的结构化数据系统开发方法DSSD;结构化需求分析可分为

6、静态分析和动态分析。,2008.4-4在软件开发中,需求分析阶段产生的主要文档是( ) A)可行性分析报告 B)软件需求规格说明书 C)概要设计说明书 D)集成设计计划,B,考点7 软件的生命周期,软件开发期软件设计:包括软件结构设计、数据设计、接口设计和过程设计。其中结构设计是定义软件系统各部件之间的关系;数据设计是将分析时创建的模型转化为数据结构的定义;接口设计是描述软件内部、软件和操作系统之间及软件与人之间如何通信;过程设计则是把系统结构部件转换成软件的过程性描述。软件设计分概要设计和详细设计。参加人员有系统分析员和高级程序员。产生的文档有设计规格说明书。编码:编程。高级程序员和程序员产

7、生源程序清单测试:由另一部门的高级程序员或系统分析员产生软件测试计划和软件测试报告,2006.9从工程管理角度,软件设计一般分为两步完成,它们是_。 A)概要设计与详细设计 B)数据设计与接口设计 C)软件结构设计与数据设计 D)过程设计与数据设计2006.9下列选项中不属于软件生命周期开发阶段任务的是_。 A)软件测试 B)概要设计 C)软件维护 D)详细设计,A,C,考点8 结构化方法,结构化方法包括的3个方面分析法、设计法和程序设计方法,考点9 结构化分析方法(P14),结构化分析方法是什么?指结构化程序设计理论在软件需求分析阶段的应用。结构化分析方法的实质是什么?着眼于数据流、自顶向下

8、,逐层分解,建立系统的处理流程,以数据流图和数据字典为主要工具,建立系统的逻辑模型。结构化分析方法的4种工具数据流图DFD、数据字典DD、判定表和判定树,考点10 数据流图 DFD (P14),数据流图的定义从数据传递和加工的角度来刻画数据流从输入到输出的移动变换过程。数据流图的功能描述数据处理过程,也是需求理解的逻辑模型的图形表示,直接支持系统的功能建模。,考点10 数据流图 DFD (P14),数据流图的主要图形元素有那些?,数据流图实例学生购书,2008.9数据流图中带有箭头的线段表示的是_。A)控制流 B)事件驱动C)模块调用D)数据流,D,考点11 数据字典(P14),数据字典是关于

9、对数据流图中包含的所有元素的定义的集合,是结构化分析方法的核心数据字典的作用数据字典对数据流图中出现的被命名的图形元素的确切解释数据字典的内容数据字典通常包括的信息有名称、别名、使用、内容描述与补充信息等。,数据流名:购书单别名: 无简述: 学生购书时填写的项目来源: 学生去向: 加工1“审查并开发票”组成: (学号)姓名书号数量数据流量:1000次/周 高峰值:开学期间1000次/天,考点12 判定表与判定树(P14),条件1 条件2 结果计 79, 订票量20: 15%算 12月 订票量20: 5%折扣 16, 订票量20: 30%量 10,11月 订票量20: 20%,机票打折的判定树,

10、考点12 判定表与判定树,机票打折的判定表,考点13 结构化设计(P15),结构化设计的基本目的(P15)用比较抽象概括的方式确定目标系统如何完成预定的任务。软件设计的组成?从工程管理的角度分析:概要设计和详细设计从技术观点分析:软件结构设计、数据设计、接口设计、过程设计软件设计的基本原理抽象、模块化、信息隐蔽、模块独立性,考点15 模块独立性(P15),什么是模块?模块指把一个待开发的软件分解成若干个小的简单的部分。每个模块可以完成一个特定的子功能,各个模块可以按一定的方法组织起来成一个整体,从而实现整个系统的功能。模块独立性的评价标准耦合性和内聚性,考点15 模块独立性(P15),什么是耦

11、合性?模块之间的相互联系的紧密程度什么是内聚性?模块内部的联系好的模块独立性指高内聚低耦合,真题,2006.4 两个或两个以上模块之间关联的紧密程度称为_。 A )耦合度 B)复杂度 C )内聚度 D)数据传输特性2005.4为了使模块尽可能独立,要求_。A) 模块的内聚程度要尽量高,且各模块间的耦合程度要尽量强B) 模块的内聚程度要尽量高,且各模块间的耦合程度要尽量弱C) 模块的内聚程度要尽量低,且各模块间的耦合程度要尽量弱D) 模块的内聚程度要尽量低,且各模块间的耦合程度要尽量强,A,B,【2009.3】耦合性和內聚性是对模块独立性度量的两个标准。下列叙述中正确的是( )(A)提高耦合性降

12、低內聚性有利于提高模块的独立性(B)降低耦合性提高内聚性有利于提高模块的独立性(C)耦合性是指一个模块内部各个元素之间彼此结合的紧密程度(D)内聚性是模块间相互连接的紧密程度,B,考点16 概要设计(P15),概要设计包括哪几个方面?设计软件系统结构;设计数据结构及数据库;编写概要设计文档;概要设计文档的审评。,考点16 概要设计,常用的概要设计工具程序结构图(SC),用于描述软件系统的层次和分块结构关系,反映整个系统的功能实现以及模块之间的联系和通讯。典型的数据流类型有哪2种?变换型和事务型,结构图SC举例,考点17 详细设计(P15),详细设计的任务是?为软件结构图中的每个模块确定实现算法

13、和局部数据结构,用某种选定的表达工具表示算法和数据结构的细节。常见的详细设计工具有哪3种?图形工具:程序流程图、N-S、PAD、HIPO表格工具:判定表语言工具:PDL(伪码),考点18 程序流程图(P15),程序流程图用于详细设计阶段。程序流程图的基本图符,2008.9在软件开发中,需求分析阶段可以使用的工具是_。A)N-S图B)DFD图C)PAD图D)程序流程图2008.4-1程序流程图中带有箭头的线段表示( ) A)图元关系 B)数据流 C)控制流 D)调用关系,B,C,考点19 软件测试(P16),做好软件设计和实现后,接着可以进行软件测试,软件测试是软件生命周期中的重要组成部分。软件

14、测试的目的?检验是否满足规定的需求或弄清预期结果与实际结果的差别,即查找错误。软件测试的分类?静态测试和动态测试白盒测试和黑盒测试,考点20 静态测试与动态测试(P16),什么是静态测试?不实际运行软件,主要通过人工进行,具体包括代码检查、静态结构分析与代码质量度量什么是动态测试?基于计算机的测试,为了发现错误而执行程序的过程通常以白盒动态测试为主,辅以黑盒测试关键在于设计高效、合理的测试用例,程序测试分为静态测试和动态测试。其中 _ 是指不执行程序,而只是对程序文本进行检查,通过阅读和讨论,分析和发现程序中的错误。,静态测试,黑盒测试 闭着眼睛测试软件,软件,输入,只根据程序的需求和功能规格

15、说明书进行测试的方法称为黑盒测试。,输出,白盒测试 带上X光眼镜测试软件,?,3581322.293419985680302829734315,250*(1+0.015)*(1+0.015)360-1)/0.015,250*(1+0.015)*(1+0.015)360-1)/0.015,假如知道一个盒子包含一台计算机,而另一个盒子是人用纸笔计算,就会选择不同的测试用例,考点21 白盒测试与黑盒测试(P17),什么是白盒测试,白盒测试的常用方法?语句、判定、条件覆盖什么是黑盒测试,黑盒测试的常用方法?等价分类边值分析因果图法错误推测法,白盒测试又称结构测试或逻辑驱动测试黑盒测试又称功能测试或数据

16、驱动测试,考点22 软件测试的步骤(P17),软件测试的具体实施步骤分哪4步,各步骤之间的测试内容以及目的?,考点22 软件测试的步骤(P17),集成测试:把模块按照设计要求组装起来测试(主要是发现与设计有关的错误),非增量测试:又称一次性组装方式或整体拼装增量测试:将一个个模块逐步组装成较大的系统,2005.4下列对于软件测试的描述中正确的是_。A) 软件测试的目的是证明程序是否正确B) 软件测试的目的是使程序运行结果正确C) 软件测试的目的是尽可能多地发现程序中的错误D) 软件测试的目的是使程序符合结构化原则2008.4-填1测试用例包括输入值集和 值集,C,输出,2008.9按照软件测试

17、的一般步骤,集成测试应在 测试之后进行。2009.3软件测试可分为白盒测试和黑盒测试。基本路径测试属于 测试。,单元,白盒,知识点23 程序调试(P17),程序调试是在测试成功后开始的,它的任务是诊断和改正程序中的错误,通常也称为Debug。程序调试的两部分组成确定出错位置修改错误代码程序调试的基本步骤:错误定位;修改设计和代码,排除错误程序调试的关键:推断程序内部的错误位置及原因,知识点23 程序调试(P17),常见的程序调试方法?强行排错回溯法原因排除法,2007.9软件调试的目的是A)发现错误B)改正错误C)改善软件的性能D)验证软件的正确性 【2009.3】下面叙述中错误的是( )(A

18、)软件测试的目的是发现并改正错误(B)对被调试的程序进行“错误定位”是程序调试的必要步骤(C)程序调试通常也称为Debug(D)软件测试应严格执行测试计划,排除测试的随意性,B,A,考点24 软件的维护(p18),软件维护是指在软件已经交付使用之后,为了改正错误或满足新的需要而修改软件的过程。软件维护可分为4类改正性维护适应性维护完善性维护预防性维护,2006.4 下列叙述中正确的是_。A )软件测试应该由程序开发者来完成B )程序经调试后一般不需要再测试C )软件维护只包括对程序代码的维护D )以上三种说法都不对2005.9下列叙述中正确的是_。A)软件交付使用后还需要进行维护 B)软件一旦交付使用就不需要再进行维护C)软件交付使用后其生命周期就结束 D)软件维护是指修复程序中被破坏的指令,D,A,

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

当前位置:首页 > 教育教学资料库 > 课程笔记

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。