软件工程总结 -简化.doc

上传人:F****n 文档编号:105248488 上传时间:2019-10-11 格式:DOC 页数:7 大小:104KB
返回 下载 相关 举报
软件工程总结 -简化.doc_第1页
第1页 / 共7页
软件工程总结 -简化.doc_第2页
第2页 / 共7页
软件工程总结 -简化.doc_第3页
第3页 / 共7页
软件工程总结 -简化.doc_第4页
第4页 / 共7页
软件工程总结 -简化.doc_第5页
第5页 / 共7页
点击查看更多>>
资源描述

《软件工程总结 -简化.doc》由会员分享,可在线阅读,更多相关《软件工程总结 -简化.doc(7页珍藏版)》请在金锄头文库上搜索。

1、一1什么是软件危机?它有哪些典型表现?为什么会产生软件危机?软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。这些问题表现在以下几个方面:(1)用户对开发出的软件很难满意。(2)软件产品的质量往往靠不住。(3)一般软件很难维护。(4)软件生产效率很低。(5)软件开发成本越来越大。(6)软件成本与开发进度难以估计。(7)软件技术的发展远远满足不了计算机应用的普及与深入的需要。产生软件危机的原因1.软件本身的特点: 它是逻辑部件,不具有直观可见性;规模日趋庞大,开发与管理十分复杂性2.错误的软件开发与维护方法:忽视软件需求分析;轻视文档的重要性;忽略软件维护等软件工程的定义: 采用

2、工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的技术方法结合起来,来指导软件的开发与维护大题7.软件工程的基本原理:(1) 用分阶段的生命周期计划严格管理 项目概要计划,里程碑计划,项目控制计划,产品控制计划,验证计划,运行维护计划。(2)坚持进行阶段评审(评审过程) 每个阶段都进行严格的评审,以便尽早发现错误。(3)实行严格的产品控制 实行基准配置(经过阶段评审后的软件配置成份,包括文档和程序代码)对软件的修改进行严格管理。(4)采用现代程序设计技术 结构化分析(SA)与设计(SD) ;面向对象的分析(OOA)与设计 (OOD)。(5) 结果能

3、清楚的审查 规定开发组织的责任和产品标准。(6) 开发小组的人员应该少而精 成员素质要好,人数不宜过多。(7)承认不断改进软件工程实践必要性9软件工程方法学的三要素:方法、工具、过程 软件工程方法学分为:传统方法学;面向对象的方法学10.简述结构化范型和面向对象范型的要点,并分析它们的优缺点 传统方法学(生命周期方法学/结构化范型)(1)仍然是使用十分广泛的软件工程方法学。(2)采用结构化技术来完成软件开发的各项任务,并使用适当的软件工具或软件工程环境来支持结构化技术的运用。(3)从上而下,顺序地完成软件开发的各阶段任务面向对象的方法学(1)出发点和基本原则是尽量模拟人类习惯的思维方式,使开发

4、软件的方法与过程尽可能接近人类认识实践解决问题的方法与过程,从而使描述问题的问题空间与实现解法的解空间在结构上尽可能一致(2)把对象作为融合了数据及在数据上的操作行为的统一软件构件;(3)把所有对象都划分成类;(4)按照父类与子类的关系,把若干个相关类组成一个层次结构的系统;(5)对象彼此间仅能通过发送消息互相联系11.软件生命周期的定义:一个软件从定义、开发、使用和维护,直到最终被废弃为止的整个过程12.软件生命周期的阶段的基本任务 定义时期:问题定义 可行性研究 需求分析开发时期:总体设计 详细设计 编码和单元测试 综合测试维护时期:软件维护(1) 问题定义:通过对系统实际用户和使用部门负

5、责人的访问调查,明确要解决问题性质、工程目标和规模。(2) 可行性研究:导出系统的高层逻辑模型,并在此基础上更准确、更具体的确定工程的规模和目标;更准确的估计系统的成本和效益。(3) 需求分析:和用户密切配合,充分交流信息,以得到用户确认的系统逻辑模型((4) 总体设计: 1)提出几种可能的解决方案,权衡各种方案的利弊,并推荐出最佳方案; 2)设计软件的结构,确定软件的模块构成及模块之间的关系。(5) 详细设计:把解决问题的方案具体化,设计出程序的详细规格说明,并包含必要的细节 信息。 (6) 编码和单元测试:将详细设计的结果翻译成高级程序设计语言的源程序,并仔细测试编 写的每一个模块。(7)

6、综合测试:通过各类型的严格测试与调试,使软件达到预定的要求。 1)集成测试:各模块装配后测试; 2)验收测试:按规格说明书。(8) 软件维护:通过必要的维护工作使得系统持久的满足用户的需要: 1)改正性维护;2)适应性维护; 3)完善性维护;4)预防性维护12试比较瀑布模型、快速原型模型、增量模型和螺旋模型的优缺点,说明每种模型的适用范围?瀑布模型:【适用领域】:用户需求清楚的表达优点:1.可强迫开发员采用规范的方法 2.严格地规定了每个阶段必须提交的文件 3.要求每个阶段交出的所有产品都必须经过质量保证小组的仔细验证。缺点:此模型过于理想化,是由文档驱动的。快速原型模型:(1) 一般用于最终

7、系统的早期用户评价,开发工期短,质量有保证(2)软件产品的开发基本是线性顺序进行的,加速软件开发,节省软件开发成本【适用领域】:事先不能完整定义需求的领域增量模型:【适用领域】:用户逐步需求提交产品 (1)先完成一个系统子集的开发,再按同样的开发步骤增加功能 (系统子集),如此递增下去直至满足全部系统需求。(2)系统的总体设计在初始子集设计阶段就应作出设想螺旋模型,喷泉模型2章13.每种实现方案的可行性包括:经济可行性,技术可行性,操作可行性,法律可行性 14. 系统流程图是概括的描绘物理系统的传统工具,它是物理数据流图而不是程序数据流图基本符号15. 数据流图(DFD):是一种图形化技术,它

8、描绘信息流和数据从输入移动到输出的过程中所经受的变换 是系统逻辑功能的图形表示 有四种成分:源点或终点,处理,数据存储,数据流 基本构成:数据流,加工,文件,源点与终点。(课件) 数据流图的用途: (1)作为交流信息的工具(2)作为分析和设计的工具 (3)辅助物理系统的设计16.数据字典的定义:是关于数据流程图中出现的所有名字(数据流、处理、数据存储)的定义的集合。数据流图和数据字典共同构成系统的逻辑模型数据字典有下列四类元素的定义组成:数据流,数据流分量(数据元素),数据存储,处理3章1. 需求分析的8大任务: (1)功能需求 (2)性能需求 (3)可靠性和可用性需求 (4)出错处理需求(5

9、)接口需求 (6)约束 (7)逆向需求 (8)将来可能提出的要求2.与用户沟通获取需求的方法:(1)访谈:正式和非正式的访谈、分发调查表、情景分析技术(2)面向数据流自顶向下求精(3)简易的应用规格说明技术(4)快速建立软件原型3.利用图形工具辅助描绘数据结构:层次方框图,Warnier图,IPO图5章1. 总体设计:由 系统设计阶段确定系统的具体实现方案 结构设计阶段确定软件结构2. 总体设计过程9个步骤:(1)设想供选择的方案(2)选取合理的方案(3)推荐最佳方案(4)功能分解(5)设计软件结构(6)设计数据库(7)制定测试计划(8)书写文档(9)审查和复审3. 总体设计原理:模块化、抽象

10、、逐步求精、信息隐藏和局部化、模块独立 模块化:是按规定的原则将一个大型软件划分为一个个较小的、相对独立但又相关的模块。 抽象:抽出事物的本质特性而不考虑细节 逐步求精:为了能集中精力解决主要问题而尽量推迟对问题细节的考虑 信息隐藏和局部化:有效的模块化可以通过定义一组独立模块而实现,这些独立的模块彼此间仅仅交换那些为了完成系统功能而必须交换的信息把关系密切的软件元素物理地放得彼此靠近 模块独立:的概念是模块化、抽象、信息隐藏、局部化概念的直接结果4.模块的独立性可以由两个定性标准度量:耦合(从低到高排序:数据耦合,特征耦合(标记耦合),控制耦合,内容耦合),内聚(高到低:功能内聚,顺序内聚,

11、通信内聚,过程内聚,时间内聚,逻辑内聚,偶然内聚)5.改进软件设计提高软件质量的途径通过 启发式规则:(1)改进软件结构提高模块独立性(2)模块规模应该适中(3)宽度、深度、扇出、扇入都应适当(4)模块的作用域应该在控制域之内(5)力争降低模块接口的复杂程度(6)设计单入口单出口的模块(7)模块功能应该可以预测6. 描绘软件结构的图形工具层次图,HIPO图(带编号),结构图(SC)7. 面向数据流的设计方法:是把信息流映射成软体结构,信息流的类型决定了映射的方法。 信息流的两种类型:变换流 事务流8. 概要设计与详细设计的区别 概要设计:设计软件的结构,包括组成模块,模块的层次结构,模块的调用

12、关系,每个模块的功能等等。同时,还要设计该项目的应用系统的总体数据结构和数据库结构详细设计阶段:为每个模块完成的功能进行具体的描述,要把功能描述转变为精确的、结构化的过程描述。6章1. 3种基本的控制结构:顺序,选择,循环2. 程序(过程)设计工具1. 程序流程图 2. 盒图(N-S图) 3. 问题分析图(PAD)4. 过程设计语言(PDL)(伪码) 5. 判定表 6.判定树3. 详细设计工具:(1) 图形工具 (2) 表格工具 (3) 语言工具4.逻辑数据结构:顺序,选择,重复结构7章. 设计语言的选择标准:项目的应用领域;系统用户的要求;可以得到的软件工具;工程规模; 软件可移植性要求;

13、软件开发人员的知识水平编码风格:基本原则1、源程序文档化:2、数据说明:对数据添加说明。3、语句结构:结构化、库函数、可读性。4、输入/输出(I/O):友好、方便使用。 软件测试的目的:是发现程序中的错误,是为了证明程序有错,而不是证明程序无错.测试方法:1 黑盒测试 又称功能测试 数据驱动测试 基于规格说明书的测试2 白盒测试 又称结构测试 玻璃盒测试 基于覆盖的测试黑盒测试:是从用户观点,按规格说明书要求的输入数据与输出数据的对应关系设计测试用例,是根据程序外部特征进行测试。白盒测试:是根据程序内部逻辑结构进行测试。单元测试(属于白盒测试):测试重点:1模块接口2局部数据结构3重要的执行路

14、径4出错处理通路5边界条件代码审查:由审查小组正式进行审查集成测试:是将模块按照设计要求组装起来进行测试,主要目标是发现与接口有关的问题;通常采用黑盒测试技术实施策略:非渐增式测试;渐增式测试渐增式的几种策略:自顶向下结合;自底向上结合 自顶向下 自底向上优点 可在测试早期 设计测试用例容易 实现并验证系 统主要功能 不需驱动模块 不需桩模块 缺点 需桩模块,且 只有到最后程序才 底层关键模块 能作为一个整体。 测试较晚。回归测试:就是用于保证由于测试或其他原因引起的变化,不会导致非预期的软件行为或额外错误的测试活动回归测试可以通过重新执行全部测试用例的一个子集人工地进行,也可以使用自动化的捕获回访工具自动进行。回归测试集:1检查软件全部功能的代表性测试用例2专门针对可能受修改影响的软件功能的附加测试3针对被修改过的软件成分的测试确认测试(验收测试):验收软件的有效性 手段:黑盒测试 分为测试 和测试黑

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

当前位置:首页 > 办公文档 > 事务文书

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号