第1章软件工程学概述 . 。 1.1软件危机. 1.1.1软件危机的介绍 1,1.2产生软件危机的原因.3 1.1.3 消除软件危机的途径.4 1.2软件工程. 49*0tt0.t.44.444444444.5 1.2.1 软件工程的介绍 .5 1.2.2 软件工程的基本原理.7 1.2.3软件工程方法学 1.3软件生命周期 1.4软件过程 .14 1.4.1漫布模型. 15 1.4.2快速原型模型 16 1.4.3增量模型.17 1.4.4 螺旋模型 19 1.4.5喷泉模型. 21 1.4.6 Rational统一过程 22 1.4.7敏捷过程与极限编程 1.4.8微软过程. 29 1.5小结 习题1. 2 第2章可行性研究.35 2,1可行性研究的任务 2.2可行性研究过程. 6 2.3系统流程图 .38 www.TopSage.com
www.TopSage.com
软件工程导论 2.3.1符号.4.4.38 2.3.2例子 .38 2.3.3分层 2.4数据流图 2.4.1符号 2.4.2例子 42 2.4.3命名 2.4.4用途 .45 2.5数据字典. 2.5.1数据字典的内容 2.5.2定义数据的方法 2.5.3数据字典的用途 48 2.5.4数据字典的实现 .+49 2.6成本/效益分析. 49 2.6.】成本估计 .50 2.6.2成本/效益分析的方法 51 习题2. 53 第3章需求分析 55 3.1需求分析的任务.56 3.1.1确定对系统的综合要求 . 56 3.1.2分析系统的数据要求 3.1.3导出系统的逻辑模型 58 3.1.4修正系统开发计划, 58 3.2与用户沟通获取需求的方法 3.2.1访谈.*.*. 58 3.2.2面向数据流自顶向下求精 59 3.2.3·简易的应用规格说明技术 3.2.4快速建立软件原型 3.3分析建模与规格说明. 3.3.1分析建模 62 3.3.2软件需求规格说明 3.4实体-联系图. 62 3.4.1数据对象.63 3.4.2性 63 3.4.3联系.63 3.4.4实体联系图的符号.」 64 www.TopSage.com
www.TopSage.com
目录13 3.5数据规范化.64 3.6 状态转换图 .65 3.6.1状态 3.6.2事件 .65 363号.466 3.6.4例子 .66 3.7其他图形工具.67 37.1 层次方框图 3.7.2 Warnier图 3.7.3IP0图 .69 3.8验证软件需求. 3.8.】从哪些方面验证软件需求的正确性 .70 3.8.2验证软件需求的方法.70 3.8.3用于需求分析的软件工具 .71 3.9小结. 习题3 .73 第4章形式化说明技术 .75 4.1概述. 4.1.1 非形式化方法的缺点 .75 4.1.2形式化方法的优点. 4.1.3应用形式化方法的准则 76 4.2有穷状态机.77 4.2.1 概念 77 422子.4.79 4.2.3评价 .82 4.3 Petri网. .82 4.3.1 概念 .82 4.3.2例子 4.4Z语言 .85 44.1简介.44.4.85 4.4.2评价 4.5小结.88 习题4 .89 第5章总体设计 .91 5.1设计过程.91 5.2设计原理.94 www.TopSage.com
www.TopSage.com
14软件工程导论 弘网 5.2.1模块化. 5.2.2抽象 895 5.2.3逐步求精. 95 5.2.4信息隐藏和局部化. +96 5.2.5摸块独立4.*.+.*4*. 97 5.3启发规则 99 5.4描绘软件结构的图形工具.102 5.4.1层次图和HIP0图 102 5.4.2结构图. 5.5面向数据流的设计方法 .104 5.5.1概念. 104 5.5.2变换分析。 .105 5.5.3事务分析 111 5.5.4设计优化. 112 5.6小结. 113 习题5 114 第6章详细设计. 117 6.1结构程序设计 6.2人机界面设计. 119 6.2.1设计问题 119 6.2.2设计过程. 6.2.3人机界面设计指南 44122 6.3过程设计的工具. ,124 6.3.1程序流程图 124 125 6.3.3PAD图 126 6.3.4判定表 127 6.3.5判定树 128 63.6过程设计语言. 128 6.4面向数据结构的设计方法. 129 6.4.1 Jackson图 .130 6.4.2改进的Jackson图 131 6.4.3 Jackson方法. .132 6.5程序复杂程度的定量度量 136 6.5.1 McCabe方法. .137 6.5.2 Halstead方法 139 66小结 .140 www.TopSage.com
www.TopSage.com
目录15 习题6 .140 第7章 实现 。 .145 7.1编码. .146 7.1.1选择程序设计语言 146 7.1.2编码风格. 147 7.2软件测试基础 149 7.2.】软件测试的目标. 150 7.2.2软件测试准则. 150 7.2.3测试方法.*.**. 15) 7.2.4测试步骤. 151 7.2.5测试阶段的信息流. 152 7.3单元测试. 153 7.3.】测试重点.4***4. 153 7.3.2代码审查 154 7.3.3计算机测试. 155 7.4集成测试. .156 74.1自顶向下集成. 157 7.4.2自底向上集成 158 7.4.3不同集成测试策略的比较. 159 7.4.4回归测试 160 7.5确认测试. 160 7.5.1确认测试的范围 160 7.5.2软件配置复查. 161 7.5.3 Alpha和Beta测试 .161 7.6白盒测试技术. 162 7.6.1逻辑覆盖 162 7.6.2控制结构测试 .165 7.7黑盒测试技术 171 7.7.1第价别分.*. 172 7.7.2边界值分析 175 7.7.3错误推测. .175 7.8调试 .176 7.8。】调试时程.44”. .176 7.8.2调试途径 178 7.9软件可靠性. 7.9.1基本概念 179 7.9.2估算平均无故障时间的方法. www.TopSage.com
www.TopSage.com