导航菜单
首页 >  软件工程第6版期末考试  > 软件工程导论(第6版)期末重点总结

软件工程导论(第6版)期末重点总结

一、软件工程概述 一句话:用工程的思想指导软件项目开发

软件危机: 计算机软件的开发和维护过程中遇到的一系列严重问题。这些问题或难题并不限于那些“不能正常运行”的软件。包括两方面的内容:如何开发软件,满足对软件日益增长的需求。如何维护数量不断膨胀的已有软件。 软件危机的典型表现: (1)对软件开发成本和进度的估计常常不准确 (2)用户对“已完成的”软件系统不满意的现象经常发生 (3)软件产品的质量往往靠不住 (4)软件常常是不可维护的 (5)软件通常没有适当的文档资料 (6)软件成本在计算机系统总成本中所占的比例逐年上升 (7)软件开发生产的速率,跟不上计算机应用迅速普及深入的趋势 产生软件危机的原因: 软件本身的特点 2.软件人员本身的素质 3.硬件设计中的长期一贯制 软件本身的特点:逻辑产品;不会因为使用的时间过长而被“用坏”。 保证软件具有可理解性,可测试性,可修改性三种因素 软件生命周期的3个时期,8个阶段: 三个周期:软件定义,软件开发,和运行维护。 软件开发八个阶段:1问题定义2可行性研究3需求分析 4总体设计 5详细设计 6编码和单元测试7综合测试 8软件维护 软件生命周期6个阶段:可行性研究与计划、需求分析、设计、编程、测试、运行与维护 开发模型: 瀑布模型:计划期,开发期,运行期 原型模型:速原型模型Rapid Prototype Mod 增量模型:多模块,分阶段 螺旋模型:尽量降低风险,制定计划,风险分析,实施工程,客户评估 喷泉模型 Rational统一过程 迭代式开发 敏捷过程与极限编程 微软过程:零缺陷目标 问题定义 问题是什么? 关于规模和目标的报告书 可行性研究 有可行的解吗? 系统的高层逻辑模型:数据流图、成本/效益分析 需求分析 系统必须做什么? 系统的逻辑模型:数据流图、数据字典、算法描述 需求规格说明书,用户需求说明书 总体设计 概括地说,应该如何解决这个问题? 可能的解法: 系统流程图、成本/效益分析、推荐的系统结构:层次图或结构图 概要设计说明书,总体设计说明书 详细设计 怎样具体地实现这个系统? 编码规格说明:HIPO图或 PDL 编码/单元测试 正确的程序模块 源程序清单;单元测试方案和结果 综合测试 符合要求的软件 综合测试方案和结果;完整一致的软件配置 维护 持久地满足用户需要的软件 完整准确的维护记录

二、可行性研究 目的:用最小的代价在尽可能短的时间内确定问题是否能够解决。

可行性研究包括哪些可行性: 技术,经济,运行,操作,法律 概念模型,逻辑模型,物理模型 系统流程图(描绘物理系统):用图形符号以黑盒子形式描绘系统里面的每一个部件。包括程序、文件、数据库、表格、人工过程等。它表达了信息在系统各部件之间的流动情况。(整个系统处理事务的基本过程)

数据流图(描绘逻辑模型|DFD):没有任何具体的物理元素。表示信息在系统中流动和处理的情况(子块之间数据传递) 由数据源点或终点(实体),变换数据的处理(过程),数据存储,数据流组成。 数据字典:(数据库中的对照表) 数据字典是关于数据信息的集合。数据字典是数据流图中所有元素(包括数据流、数据流分量\数据元素、数据存储、处理)严格定义的场所。 数据流图+数据字典=需求说明书 组成数据的方式:顺序,选择,重复,可选 成本\效益分析: 代码行技术、任务分解技术 货币的时间价值:现在值,将来值互换。利率:(1+i)^n 投资回收期:是工程累计的经济效益等于最初投资所需要的时间。 纯收入 投资回收率:年利率平均值 用途 实现 数据流图与系统流程图的区别 三、需求分析 需求分析的目的和任务:明确系统做什么。提出系统必须完成的全部所有功能。写出软件需求规格说明书。 对系统的综合要求:功能需求、性能需求、可靠性和可用性需求、出错处理需求、接口需求、约束、逆向需求、将来可能提出的要求。 实体-联系图(ER图):实体(矩形),联系(菱形),属性(椭圆) 状态转换图:描述系统对内部或者外部事件响应 层次方框图:用树形结构的一系列多层次的矩形框描绘数据的层次结构。 IPO图:描述输入数据、处理数据和输出数据 结构化分析方法(SA)就是面向数据流自顶向下逐步求精进行需求分析的方法。简单实用,使用广泛的方法。它适用于分析大型的数据处理系统 控制复杂性:分解和抽象。分解:把大问题分割成若干个小问题,然后分别解决。抽象:抽出事物的本质特性,不考虑过多的细节。 “逐层分解”体现了分解和抽象的原则,它使我们不至于一下子陷入细节,而是有控制地逐步地了解

相关推荐: