万本电子书0元读

万本电子书0元读

顶部广告

现代软件工程及项目管理电子书

售       价:¥

纸质售价:¥94.10购买纸书

0人正在读 | 0人评论 6.7

作       者:宋广元

出  版  社:化学工业出版社

出版时间:2025-09-01

字       数:16.4万

所属分类: 科技 > 计算机/网络 > 计算机理论与教程

温馨提示:数字商品不支持退换货,不提供源文件,不支持导出打印

为你推荐

  • 读书简介
  • 目录
  • 累计评论(条)
  • 读书简介
  • 目录
  • 累计评论(条)
在信息技术日新月异的当代社会,计算机软件已经成为各行各业不可或缺的基础工具。随着软件规模和复杂度的不断提升,软件发过程中面临的问题和挑战也日益增多,如何高效、规范地行软件发和项目管理成为了亟待解决的难题。本书从软件工程的基础知识手,全面探讨了软件可行性与需求工程、软件设计基础、面向对象的软件发、软件实现与测试以及软件维护与项目管理等内容,为读者提供了从软件发到项目管理的一站式知识体系,旨在提升软件工程实践能力和项目管理水平。 本书既可作为高校软件工程、计算机科学与技术等相关专业的教学用书,又能为企事业单位的软件发人员、项目经理提供理论指导与实践借鉴。<br/>【作者】<br/>无<br/>
目录展开

书名页

内容提要

版权页

前言

第一章软件工程导论

第一节 软件与软件危机

一、软件

(一)软件的特点

1.软件是抽象的逻辑实体

2.软件的耐久性与退化性

3.软件生产的依赖性与高成本

4.软件的可变性

5.软件与硬件的依赖关系

6.软件的可移植性与操作系统平台的影响

7.软件的可复制性与版权问题

(二)软件的分类

1.按软件的功能分类

2.按软件的规模分类

3.按处理方式分类

4.按销售市场分类

5.按使用频率分类

(三)软件的发展

1.程序设计阶段

2.程序系统阶段

3.软件工程阶段

4.面向对象阶段

二、软件危机

(一)第一次软件危机

(二)第二次软件危机

第二节 软件工程与生命周期

一、软件工程

(一)软件工程的目标与要素

1.软件工程的目标

2.软件工程的要素

(二)软件工程的作用

(三)软件工程的基本原则

1.用分阶段的生命周期计划严格管理

2.坚持进行阶段评审

3.实行严格的产品控制

4.采用现代程序设计技术

5.结果应能清楚地审查

6.开发小组的人员应该少而精

7.承认不断改进软件工程实践的必要性

二、软件生命周期

第三节 软件开发与常用工具

一、软件开发方法

1.结构化开发方法

2.面向数据结构的开发方法

3.面向对象的开发方法

二、软件开发模型

1.瀑布模型

2.快速原型模型

3.渐增模型

4.螺旋模型

5.喷泉模型

6.构件化开发模型

三、软件工具与支撑环境

(一)软件工具的分类

1.需求分析工具

2.设计工具

3.编码工具

4.确认工具

5.维护工具

(二)软件开发的支撑环境

第二章软件可行性分析与需求工程

第一节 软件可行性分析与项目计划

一、可行性分析概述

(一)可行性分析的目标与范围

(二)可行性分析的任务

1.技术可行性

2.经济可行性

3.实施与操作可行性

4.其他可行性

(三)可行性分析的步骤

二、软件的技术可行性与经济可行性

(一)软件的技术可行性

(二)软件的经济可行性

1.成本估计

2.成本/效益分析

三、软件项目计划

1.项目概述

2.任务集合与分解

3.人力资源配置

4.阶段交付物

第二节 软件需求与需求获取

一、软件需求

(一)软件需求概述

(二)软件错误与软件需求

(三)需求的类型

1.功能需求

2.非功能需求

3.设计约束

二、需求获取

(一)需求获取的难点

(二)需求获取的方法

1.面谈

2.需求专题会

3.问卷调查

4.现场观察

(三)需求调研的问题

(四)需求调研的步骤和计划

(五)创新性需求

第三节 需求分析与需求建模

一、需求分析

(一)需求分析的方法

1.进行调查研究

2.确定系统需求

(二)需求分析的步骤

1.建立系统模型

2.撰写需求规格说明

3.修正开发计划

4.制订初步测试计划

5.编写初步用户手册

6.编写数据要求说明书

7.复审

二、需求建模

(一)分析建模

(二)功能模型

1.数据流图的基本图形符号

2.环境图

3.数据流图的分层

(三)数据词典

(四)数据模型

(五)行为模型

(六)辅助图形

1.IPO图

2.层次方框图

第四节 需求评审与需求管理

一、需求评审

(一)正式的需求评审

(二)需求评审中的风险

1.评审参与者构成失衡

2.评审规模失控

3.评审组规模过大

4.评审时长失控

二、需求管理

1.需求跟踪

2.需求变更管理

第三章软件设计基础与具体实践

第一节 软件设计的阶段过程

一、总体设计

1.确定设计方案

2.设计软件结构

3.设计数据文件

4.规划测试方案

5.书写概要设计文档

二、详细设计

第二节 软件总体设计分析

一、软件模块化设计

(一)软件模块

(二)抽象

1.过程抽象

2.数据抽象

(三)逐步求精

(四)信息隐蔽

(五)模块独立性

1.耦合性

2.内聚性

二、软件结构化设计

(一)基于数据流图的结构化设计

1.变换型数据流

2.事务型数据流

(二)结构化设计的基本步骤

三、总体设计的工具

(一)HIPO图

1.H图

2.IPO图

(二)系统结构图

1.系统结构图中的模块

2.系统结构图中的模块调用关系

第三节 软件详细设计分析

一、结构化程序设计

二、详细设计工具

1.程序流程图

2.N-S图

3.PAD图

4.判定表

5.判定树

第四章面向对象的软件开发与设计

第一节 面向对象软件开发方法与UML

一、面向对象方法

(一)面向对象方法的要素

1.对象

2.类

3.继承

4.消息传递

(二)面向对象方法的概念

1.实例

2.封装

3.多态性

4.重载

二、UML

(一)UML内容

1.UML语义

2.视图

3.模型元素

4.通用机制

(二)UML图

1.对象图

2.用例图

第二节 软件体系结构与设计模式

一、软件体系结构及其作用

(一)软件体系结构

(二)软件体系结构框架、模式和风格的概念

1.软件体系结构框架

2.软件体系结构模式

3.软件体系结构风格

(三)软件体系结构的作用

二、软件体系结构的设计模式

1.外观

2.适配器

3.职责链

4.抽象工厂

5.中介者

6.观察者

第三节 面向对象分析与设计步骤

一、面向对象分析的模型

二、面向对象的设计步骤

(一)面向对象的设计过程与准则

1.面向对象的设计过程

2.面向对象的设计准则

(二)体系结构模块及依赖性

1.接口及其依赖性

2.构件及其依赖性

3.类及其依赖性

4.包及其依赖性

(三)面向对象的系统分解

1.子系统和类

2.子系统接口和服务

3.子系统分层和划分

4.子系统之间的两种交互方式

(四)问题域部分的设计

1.问题域设计的基本目标与原则

2.基于分析模型的设计深化

3.问题域设计中的类复用与组织

4.泛化机制与协议的一致性构建

5.继承结构的适应性调整

6.性能导向下的问题域结构优化

7.对象存储策略与持久化机制

(五)人机交互部分的设计

1.人机交互界面设计步骤

2.Web应用系统的界面设计

(六)任务管理部分的设计

1.事件驱动任务

2.时钟驱动任务

3.优先任务

4.关键任务

5.协调任务

6.任务审查与优化

7.明确定义任务

(七)数据管理部分的设计

(八)对象设计

1.使用模式设计对象

2.重构对象设计模型

第五章软件实现与软件测试分析

第一节 程序设计语言与设计风格

一、程序设计语言

(一)程序设计语言的分类

1.从属于机器的语言——第一代语言

2.汇编语言——第二代语言

3.高级程序设计语言——第三代语言

4.第四代语言

(二)程序设计语言的选择

二、程序设计风格

(一)源程序文档化

1.标识符的命名

2.程序的注释

3.视觉组织——空格、空行和移行

(二)数据说明标准化

(三)输入/输出规范化

第二节 编码规范与程序效率性能

一、编码规范

1.编排格式

2.命名规则

3.注释

4.输入/输出

5.程序结构

二、程序效率与性能分析

1.算法对效率的影响

2.影响存储器效率的因素

3.影响输入/输出的因素

第三节 软件测试及其测试用例设计

一、软件测试的对象

二、测试信息流

三、黑盒测试与白盒测试

1.黑盒测试

2.白盒测试

四、黑盒测试的测试用例设计

(一)黑盒测试测试用例设计的常用方法

1.等价类划分法

2.边界值分析法

3.因果图法

4.判定表驱动法

5.正交排列法

(二)黑盒测试测试用例设计的应用实践

五、白盒测试的测试用例设计

(一)白盒测试测试用例设计的常用方法

1.控制流测试

2.数据流测试

3.边界值分析

4.等价类划分

(二)白盒测试测试用例设计的实施步骤

第四节 软件测试策略与测试方法

一、软件测试的策略

(一)单元测试

1.单元测试的内容

2.单元测试的步骤

(二)集成测试

1.一次性组装方式

2.增殖式组装方式

3.集成测试的组织和实施

(三)确认测试

1.进行有效性测试(黑盒测试)

2.软件配置复查

3.α测试和β测试

4.验收测试

5.确认测试的结果

(四)系统级测试

(五)测试的类型

二、人工测试

(一)静态分析

1.生成各种引用表

2.静态错误分析

(二)人工测试方法

1.桌面检查

2.代码审查

3.走查

三、自动化测试

(一)自动化测试与手工测试

(二)脚本技术

(三)自动化测试框架及测试流程

第六章软件维护与项目管理探析

第一节 软件维护及其可维护性

一、软件维护的副作用

二、软件维护的类型

1.适应性维护

2.改正性维护

3.完善性维护

4.预防性维护

三、软件维护的流程

1.软件维护的基本流程

2.软件维护的管理流程

四、软件的可维护性

(一)软件可维护性的衡量维度

1.可靠性

2.可理解性

3.可使用性

4.可测试性

5.可修改性

6.可移植性

(二)软件可维护性的提升措施

1.明确软件质量目标

2.使用先进的软件开发技术工具

3.进行质量保证审查

4.选择可维护的程序设计语言

5.优化程序文档

第二节 软件成本与开发进度管理

一、软件成本管理

(一)软件成本估算

1.软件成本估算的方法

2.软件成本估算的工具:COCOMO模型

(二)软件成本控制

(三)效益预测与评估

1.函数求解法

2.模糊数学法

3.相关关系法

4.专家意见法

二、开发进度管理

1.项目进度计划

2.绘制Gantt图

3.绘制工程网络图

4.估算项目进度

5.项目追踪与控制

第三节 软件配置管理与质量保证

一、软件配置管理

1.软件配置管理的任务

2.软件配置管理中的基线

3.软件配置项

4.配置管理工具

二、软件质量保证

(一)软件质量的衡量

1.功能性

2.易使用性

3.效率性

4.可维护性

(二)软件质量保证措施

1.应用好的技术方法

2.测试软件

3.进行正式的技术评审

4.标准的实施

5.控制变更

6.程序正确性证明

7.记录、保存和报告软件过程信息

第四节 软件项目文档与风险管理

一、软件项目文档管理

(一)软件项目文档的特性

(二)项目文档的分类

1.过程文档

2.产品文档

二、软件项目风险管理

(一)软件项目风险的分类

1.需求风险

2.计划编制风险

3.组织与管理风险

4.人员风险

5.开发环境风险

6.客户风险

7.产品风险

(二)软件项目风险的控制

参考文献

累计评论(条) 个书友正在讨论这本书 发表评论

发表评论

发表评论,分享你的想法吧!

买过这本书的人还买过

读了这本书的人还在读

回顶部