大连理工大学软件工程导论复习_第1页
大连理工大学软件工程导论复习_第2页
大连理工大学软件工程导论复习_第3页
大连理工大学软件工程导论复习_第4页
大连理工大学软件工程导论复习_第5页
已阅读5页,还剩130页未读 继续免费阅读

下载本文档

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

文档简介

1、大连理工大学软件学院,软件工程评审,2020/7/6,大连理工大学软件学院,第2,1章基本知识,2020/7/6,大连理工大学软件学院,第3,软件的定义软件由三部分组成:程序:简单的程序编写软件不是围绕逻辑执行软件,而是信息交换机的创建、管理、获取、修改、显示或传输,软件程序,2020/7/6,大连理工大学软件学院,4,软件危机软件危机是指计算机软件开发和维护过程中出现的一系列严重问题。软件工程(IEEE) 1993,建议软件工程1)将系统、标准化、可量化的工程原则和方法应用于软件的开发、操作和维护。2) 1)方法的理论研究。2020/7/6,大连理工大学软件学院,5,软件工程基本原则(开发和

2、维护指南)分阶段的生命周期计划严格的管理遵守阶段评价严格的产品控制实施现代编程技术结果,审查开发组的人少,需要继续改进软件工程实践,2020/7/6,大连理工大学软件学院软件工程方法的三个要素是方法、工具和过程。方法是用完成软件开发各种任务的技术回答“如何”。工具提供使用方法的自动或半自动软件支持环境,并提示您:“您使用什么?”回答说。过程是高级软件要执行的一系列任务的框架,规定了每个任务步骤的完成,回答:“如何控制、调整和确保质量。”,管理方法,2020/7/6,大连理工大学软件学院,7,目前使用最广泛的软件工程方法学。传统方法也称为生命周期方法或结构化范式。当软件规模大或对软件的要求模糊或

3、随时间变化时,使用结构化模型开发软件往往不成功。此外,使用现有方法开发的软件通常很难维护。结构化静态分析,面向对象的动态分析,世界万物变化,传统方法和面向对象的方法,2020/7/6,大连理工大学软件学院,8,传统方法的特点,生命周期模型软件过程每一阶段都有其独特的工作阶段之间的特定顺序,2020/7/6,大连理工大学软件将所有物件分成类别(Class)。每个类定义数据集和工作集。根据父类(或基类)和子类(或派生类)之间的关系将多个相关类组织到一个层次结构中的系统(也称为类类)。从类等级派生的类自动拥有在更高级别的基类中定义的数据和操作,这称为继承。对象只能通过相互发送消息来与包相关联。数据:

4、静态操作:动态,Everything is Object。2020/7/6,大连理工大学软件研究所,10,1.3软件生命周期,软件生命周期由软件定义、软件开发和运行维护三个期间组成,每个期间可以进一步分为多个阶段,每个阶段都有自己的任务。2020/7/6,大连理工大学软件学院,11,问题定义可行性研究要求分析摘要设计详细设计编码和单元测试综合测试软件维护,2020/7/6,大连理工大学软件学院,12,实际瀑布模型,软件流程模型(生命周期模型)增量模型:逐步添加系统功能。需要开放式体系结构设计。,2020/7/6,大连理工大学软件学院,15,全螺旋模型,2020/7/6,大连理工大学软件学院,1

5、6,分数模型,迭代是OO开发过程的主要特征。分数模型是典型的面向对象的生命周期模型。分数实现了面向对象软件开发过程的迭代和无缝特性。为了避免分数模型的过度无序,使用线性过程作为整体目标。、重复、2020/7/6、大连理工大学软件大学,17、分数模型,重复:逐步细化阶段之间明确的边界对象导向思想,确保了各个阶段开发的一致性。迭代是OO开发过程的主要特征。分数模型是典型的面向对象的生命周期模型。分数实现了面向对象软件开发过程的迭代和无缝特性。可行性和需求分析,2020/7/6,大连理工大学软件学院,19,可行性研究不是解决问题,而是将问题反复细化到更高层次的系统分析和设计过程要求分析发现、精炼、建

6、模、规格说明和审查过程,以确定是否值得得出目标系统的完整、准确和具体要求。设置三种模型:数据模型、功能模型和行为模型。还将创建准确的软件要求规格说明。2020/7/6,大连理工大学软件学院,20,系统流程图,系统流程图组成系统的各个部件程序,文档,数据库,人工课程,2020/7/6,大连理工大学软件学院,21,系统流程图示例,系统流程图没有部件内部的特定工作流程箭头表示系统的逻辑路径(信息流路径)、2020/7/6、大连理工大学软件学院、22、数据流图、数据流程图(DFD)在信息流和数据从输入到输出的过程中经历的转换。或,或,2020/7/6,大连理工大学软件学院,23,加工中一般关系的符号表

7、示法2020/7/6,大连理工大学软件学院数据字典的用途是使人们可以审查对不理解的项目的解释。提供分析设计过程中数据的说明。数据字典和DFD相互补充。必须将DFD及其元素的确切定义放在一起,才能配置系统的规范说明。2020/7/6,大连理工大学软件学院,27,定义相同(或定义为)的数据的方法;和(即连接两个元件)。或者(即选择方括号中列出的元件之一),使用“ ”符号分隔要选择的元件。表示重复(即重复大括号内的组件)。()表示选择(也就是说,括号中的组件可以或不能)。使用附加上下限注释表示重复的花括号。左上角和右下角分别表示上限和下限的重复。左边显示重复的下限,右边括号右边显示上限。例如:a和1

8、A5具有相同的含义。1,5,2020/7/6,大连理工大学软件学院,28,数据字典实施,CASE工具人工卡,2020/7/6,大连理工大学软件学院,29,对象图,数据模型包含数据对象,描述数据对象属性和数据对象,2020/7/6,大连理工大学软件学院,30,学校教育管理ER指导,2020/7/6,大连理工大学软件学院,31,学生与课程之间的多联系E-R模型学生与课程之间的多联系E-R模型;(b)多对多连接E-R模型,选修课,m,n,学号,专业,年级,班级名称,班级编号, 输出图表的简称左边框中列出的相关输入中间框中默认处理右框中列出结果输出处理的顺序暗示了执行顺序箭头指示数据通信情况、总体设计

9、、2020/7/6、大连理工大学软件学院、36、总体设计、摘要设计和详细设计。 摘要设计的主要任务是仔细分析软件规格说明,适当地分解软件功能,将软件分解为模块,设计完成预定功能的模块结构。详细设计阶段将详细设计每个模块,以确定完成每个模块功能所需的算法和数据结构。2020/7/6,大连理工大学软件学院,37,模块化:将程序划分为独立命名且可独立访问的模块,每个模块完成一个子功能,将这些模块合并为一个,以满足用户的需要。许多程序员可以单独编写模块,使软件结构清晰、易于扩展,便于软件测试和调试,从而提高软件可靠性。模块大小合适,但很细。2020/7/6,大连理工大学软件学院,38,模块独立,模块独

10、立程度分别可以用衔接和结合这两个定性标准来衡量。耦合:测量不同模块相互依赖的程度。凝聚力:测量模块中的各个元素彼此之间的紧密结合程度。2020/7/6,大连理工大学软件学院,39,耦合是对软件结构内不同模块之间互连程度的测量。尽可能松散地连接,2020/7/6,大连理工大学软件学院,40,数据连接:要素连接:控制连接:外部连接:公共连接:内容连接:弱强,尽可能地使用数据连接,使用较少的控制连接,限制公共环境连接的范围,2020/7/6,大连理工大学软件学院,41,内涵:在一个模块中显示个别元素彼此之间的紧密联系是信息隐藏和本地化概念的自然延伸。简单来说,理想的衔接模块只有一个。2020/7/6

11、,大连理工大学软件学院,42,功能内聚:信息内聚:过程内聚:时间内聚:逻辑内聚:巧合:强烈的弱点,设计时要追求内聚。2020/7/6,大连理工大学软件学院,43,软件结构改进模块独立模块大小必须适中,深度、宽度、扇出和扇出均应努力减少控制域内模块接口的复杂性,单入口单出口模块功能设计可预测,2020/7/6,大连理工大学软件学院大连理工大学软件学院,46,正文处理系统的h图,2020/7/6,大连理工大学软件学院,47,原理图示例生成最佳解决方案的一般结构,2020/7/6,大连理工大学软件学院,48,软件结构设计方法,软件结构设计方法使用数据流图的“映射”将数据流图转换为软件结构。2020/

12、7/6,大连理工大学软件学院,49,过渡流和事务流,2020/7/6,大连理工大学软件学院,50,设计阶段基本系统模型评审。查看和优化数据流图。确定数据流图是否具有转换特性或事务特性。确定输入流和输出流的边界以隔离变换中心。完成第一次分解。完成第二次分解。使用设计测量和灵感规则进一步细化第一次分割获得的软件结构。2020/7/6,大连理工大学软件学院,51,数字仪表板系统的数据流程图,优化的数据流程图数据流程图,转换特性或事务特性,2020/7/6,大连理工大学软件大学,52,确定有边界的数据流程图,输入流和输出流的界限,转换中心2020/7/6,大连理工大学软件学院,56,没有精密输入结构的

13、“二次分解”,2020/7/6,大连理工大学软件学院,57,精细数字仪表板系统的软件结构,软件结构进一步精细化,2020/6 ,2020/7/6,大连理工大学软件学院,61,结构编程的经典定义如下。如果一个程序的代码块简单地通过三种控制结构(顺序、选择和循环)连接,并且每个代码块只有一个入口和一个出口,则此程序称为结构性程序。2020/7/6,大连理工大学软件学院,62,流程设计工具,程序流程图,2020/7/6,大连理工大学软件学院,63,方框图(N-S地图),2020测试软件所有功能的代表性测试用例。可能受修改影响的软件功能的附加测试。修改的软件组件的测试。2020/7/6,大连理工大学软件学院,71,白盒测试技术,逻辑复盖是设计白盒测试程序的技术。设计测试程序是测试阶段的关键技术问题。2020/7/6,大连理工大学软件学院,72,门被至少需要运行一次的曝光程序的错误所复盖。意思是选择足够的测试数据,以便被测试程序中的每个语句至少运行一次。2020/7/6,大连理工大学软件学院,73,判断适用范围不仅要在每个语句中至少运行一次,而且每个判断的可能结果必须至少运行一次,即每个判断的每个季度至少运行一次。条件复盖不仅会执行每个语句一次或多次,而

温馨提示

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

评论

0/150

提交评论