成都理工大学软件工程导论复习提纲2016分析.ppt
文本预览下载声明
软件工程导论复习 第1章 软件工程学概述 第2章 可行性研究 2.4 数据流图(DFD) 第3章 需求分析 第4章 形式化说明技术 第5章 总体设计 5.2.1 模块化 模块化降低软件复杂度的简单证明 第6章 详细设计 6.1 结构程序设计 其他常用的控制结构 6.4 面向数据结构的设计方法 环形复杂度定量度量程序的逻辑复杂度。有了描绘程序控制流的流图之后,可以用下述3种方法中的任何一种来计算环形复杂度。 (1) 流图中的区域数等于环形复杂度。 (2) 流图G的环形复杂度V(G)=E-N+2,其中,E是流图中边的条数,N是结点数。 (3) 流图G的环形复杂度V(G)=P+1,其中,P是流图中判定结点的数目。 第7章 实现 7.2 软件测试基础 测试内容 白盒法又称为逻辑覆盖法,其测试用例选择,是按照不同覆盖标准确定的。 1、等价分类法 基本思想:根据程序的I/O特性,将程序的定义域划分为有限个等价区段 —“等价类”,从等价类中选择出的用例,具有“代表性”。 2、边值分析法 基本思想: 选择等价类的边缘值作为测试用例,让每个等价类的边界都得到测试,选择测试用例既考虑输入亦考虑输出。 分析步骤: A、先划分等价类。 B、选择测试用例,测试等价类边界。 边界选择原则: A、按照输入值范围的边界。 B、按照输入/输出值个数的边界。 C、输出值域的边界。 D、输入/输出有序集的边界。 3、错误推测法 错误推测法的概念:凭经验或直觉推测可能的错误,列出程序中可能有的错误和容易发生错误的特殊情况,选择测试用例。 错误推测方法的基本思想:列举出程序中所有可能有的错误和容易发生错误的特殊情况,根据它们选择测试用例。例如: 在单元测试时曾列出的许多在模块中常见的错误、以前产品测试中曾经发现的错误等,这些就是经验的总结。 还有,输入数据和输出数据为0的情况、输入表格为空格或输入表格只有一行等。这些都是容易发生错误的情况,可选择这些情况下的例子作为测试用例。 无论采用什么方法,调试的目标都是寻找软件错误的原因并改正错误。通常需要把系统地分析、直觉和运气组合起来,才能实现上述目标。一般说来,有下列3种调试途径可以采用: 蛮干法 回溯法 原因排除法 第8章 维护 8.1 软件维护的定义 第9章 面向对象相关内容 9.1.1 要点 面向对象的方法学可以用下列方程来概括: OO=objects+classes+inheritance+communication with messages 也就是说,面向对象就是既使用对象又使用类和继承等机制,而且对象之间仅能通过传递消息实现彼此通信。 如果仅使用对象和消息,则这种方法可以称为基于对象的(object-based)方法,而不能称为面向对象的方法; 如果进一步要求把所有对象都划分为类,则这种方法可称为基于类的(class-based)方法,但仍然不是面向对象的方法。 只有同时使用对象、类、继承和消息的方法,才是真正面向对象的方法。 消息(Message) 多态性: (Polymorphism)是指相同的操作或函数,过程作用于不同的对象上并获得不同的结果。多态即一个名字可具有多种语义。 即相同的操作的消息发送给不同的对象时,每个对象将根据自己所属类中所定义的操作去执行,故产生不同的结果。例如: “绘图”操作,作用在“椭圆” 和“矩形” 上,画出不同的图形。 有两种重载:函数重载是指在同一作用域内的若干个参数特征不同的函数可以使用相同的函数名字;运算符重载是指同一个运算符可以施加于不同类型的操作数上面。当然,当参数特征不同或被操作数的类型不同时,实现函数的算法或运算符的语义是不相同的。重载进一步提高了面向对象系统的灵活性和可读性。 3种模型之间的关系 面向对象建模技术所建立的3种模型,分别从3个不同侧面描述了所要开发的系统。这3种模型相互补充、相互配合,使得我们对系统的认识更加全面:功能模型指明了系统应该“做什么”;动态模型明确规定了什么时候(即在何种状态下接受了什么事件的触发)做;对象模型则定义了做事情的实体。 在面向对象方法学中,对象模型是最基本最重要的,它为其他两种模型奠定了基础,我们依靠对象模型完成3种模型的集成。 重用也叫再用或复用,是指同一事物不作修改或稍加改动就多次重复使用。广义地说,软件重用可分为以下3个层次: (1) 知识重用(例如,软件工程知识的重用)。 (2) 方法和标准的重用(例如,面向对象方法或国家制定的软件开发规范的重用)。 (3) 软件成分的重用。 前两个重用层次属于知识工程研究的范畴,本节仅讨论软件
显示全部