软件工程与项目管理

出版时间:2010-3  出版社:西安电子科技大学出版社  作者:王素芬 主编  页数:295  字数:449000  

前言

  进入21世纪以来,高等职业教育呈现出快速发展的形势。高等职业教育的发展,丰富了高等教育的体系结构,突出了高等职业教育的类型特色,顺应了人民群众接受高等教育的强烈需求,为现代化建设培养了大量高素质技能型专门人才,对高等教育大众化作出了重要贡献。目前,高等职业教育在我国社会主义现代化建设事业中发挥着越来越重要的作用。  教育部2006年下发了《关于全面提高高等职业教育教学质量的若干意见》,其中提出了深化教育教学改革,重视内涵建设,促进“工学结合”人才培养模式改革,推进整体办学水平提升,形成结构合理、功能完善、质量优良、特色鲜明的高等职业教育体系的任务要求。  根据新的发展要求,高等职业院校积极与行业企业合作开发课程,根据技术领域和职业岗位群任职要求,参照相关职业资格标准,改革课程体系和教学内容,建立突出职业能力培养的课程标准,规范课程教学的基本要求,提高课程教学质量,不断更新教学内容,而实施具有工学结合特色的教材建设是推进高等职业教育改革发展的重要任务。  为配合教育部实施质量工程,解决当前高职高专精品教材不足的问题,西安电子科技大学出版社与中国高等职业技术教育研究会在前三轮联合策划、组织编写“计算机、通信电子、机电及汽车类专业”系列高职高专教材共160余种的基础上,又联合策划、组织编写了新一轮“计算机、通信、电子类”专业系列高职高专教材共120余种。这些教材的选题是在全国范围内近30所高职高专院校中,对教学计划和课程设置进行充分调研的基础上策划产生的.教材的编写采取在教育部精品专业或示范性专业的高职高专院校中公开招标的形式,以吸收尽可能多的优秀作者参与投标和编写。在此基础上,召开系列教材专家编委会,评审教材编写大纲,并对中标大纲提出修改、完善意见,确定主编、主审人选。该系列教材以满足职业岗位需求为目标。

内容概要

  本书全面、系统地介绍了软件工程的概念、原理和典型的技术方法。全书共分12章。第1章概括介绍了软件工程的发展和基本原理,还对具有代表性的CAsE工具进行了简要介绍,讨论了软件工程职业道德规范,并对软件工程的发展趋势进行了展望;第2章讨论了软件过程的基本活动和常用的软件开发方法,并介绍了典型的软件过程模型和微软公司的软件开发过程实例;第3章主要介绍了常用软件项目立项的方法、可行性分析、软件项目团队的建立以及软件项目立项文档的编写;第4章主要介绍了需求分析的过程、方法和软件需求分析文档的编写:第5章、第6章分别介绍了软件的总体设计和详细设计;第7-9章分别介绍了软件编码、测试与调试、维护;第10章介绍了面向对象的方法学;第11章介绍了统一建模语言(UML);第12章介绍了软件项目管理。为加强对学生实践能力的培养,各章最后大都设置了“实战训练”和“讨论”环节。《软件工程与项目管理》可作为高职高专学校软件工程课程的教材,也可作为软件开发人员的参考书。

书籍目录

第1章 概述
1.1 软件
1.1.1 软件的特点及分类
1.1.2 软件的发展
1.1.3 软件危机及其表现
1.1.4 软件危机产生的主要原因
1.1.5 解决软件危机的途径
1.2 软件工程
1.2.1 软件工程的概念
1.2.2 软件工程的三要素
1.3 软件生命周期
1.4 软件工程的目标
1.5 软件工程的开发原则
1.6 软件工程方法学
1.7 计算机辅助软件工程
1.8 软件工程与其他相关学科的关系
1.9 软件工程职业道德规范
1.10 软件工程发展趋势
1.11 实战训练
本章小结
习题1
第2章 软件过程
2.1 软件过程的概念
2.1.1 软件过程的定义
2.1.2 软件过程的基本活动
2.1.3 软件过程的制品
2.2 典型的软件过程模型
2.2.1 瀑布模型
2.2.2 增量模型
2.2.3 快速原型模型
2.2.4 螺旋模型
2.2.5 喷泉模型
2.2.6 V型模型
2.2.7 形式化方法模型
2.2.8 组合模型
2.3 软件开发方法简述
2.3.1 结构化的开发方法
2.3.2 面向数据结构的开发方法
2.3.3 面向对象的开发方法
2.3.4 原型化开发方法
2.4 案例微软公司的软件开发过程
2.4.1 微软开发过程管理的基本原则
2.4.2 微软公司的软件开发过程模型
2.5 实战训练
本章小结
习题2
第3章 软件项目立项
3.1 软件项目立项方法
3.1.1 委托开发项目
3.1.2 自主开发项目
3.2 软件可行性分析
3.2.1 可行性分析的内容
3.2.2 可行性分析的步骤
3.3 软件项目规模成本估算
3.3.1 代码行估算技术
3.3.2 功能点估算法
3.3.3 类比估算法
3.3.4 自下而上估算法
3.3.5 专家估算法
3.4 成本一效益分析
3.5 制定软件项目开发计划
3.5.1 软件项目开发计划书的内容
3.5.2 项目计划编制过程
3.5.3 项目计划内容确定
3.6 软件项目立项文档
3.7 软件项目团队的建立
3.7.1 团队定义
3.7.2 项目组织形式
3.7.3 团队建设
3.8 实战训练
本章小结
习题3
第4章 需求分析
4.1 需求分析概述
4.1.1 需求的概念
4.1.2 需求的层次
4.2 需求分析的目标和任务
4.3 需求分析的原则与获取需求的方法
4.3.1 需求分析的原则
4.3.2 获取需求的方法
4.4 需求分析的过程
4.5 需求分析的方法
4.5.1 结构化分析方法
4.5.2 原型分析方法
4.6 软件需求分析文档
4.6.1 软件需求规格说明和需求评审
4.6.2 教务管理系统需求规格说明书
4.7 实战训练
本章小结
习题4
第5章 软件的总体设计
5.1 总体设计的目标和任务
5.1.1 总体设计的目标
5.1.2 总体设计的任务和步骤
5.2 设计的概念和原则
5.2.1 模块化
5.2.2 抽象
5.2.3 逐步求精
5.2.4 信息隐藏和局部化
5.2.5 模块独立性
5.3 描绘软件结构的图形工具
5.3.1 HIPO图
5.3.2 系统结构图
5.4 结构化设计
5.4.1 系统结构图中的模块
5.4.2 变换型数据流与变换型系统结构
5.4.3 事务流与事务型系统结构
5.4.4 变换映射
5.4.5 事务映射
5.4.6 “黑盒”技术的使用
5.5 数据库设计及设计原则
5.5.1 数据库设计
5.5.2 数据库设计的原则
5.6 接口设计
5.6.1 接口设计的描述
5.6.2 用户界面设计的主要问题
5.6.3 人机界面设计过程
5.6.4 人机界面设计实现原则及典型案例
5.7 总体设计说明书的编写
5.8 实战训练
本章小结
习题5
第6章 软件的详细设计
6.1 详细设计的任务
6.2 详细设计的原则
6.3 详细设计的方法
6.4 详细设计可采用的工具
6.5 详细设计说明书
6.6 实战训练
本章小结
习题6
第7章 软件编码
7.1 软件编码的目的
7.2 程序设计语言
7.2.1 程序设计语言的分类
7.2.2 程序设计语言特性的比较
7.2.3 程序设计语言的选择
7.3 结构化程序设计
7.3.1 结构化程序设计的原则
7.3.2 程序设计——自顶向下,逐步求精
7.3.3数据结构的合理化
7.4 编码风格
7.4.1 程序的内部文档
7.4.2 数据说明
7.4.3 语句结构
7.4.4 输入和输出
7.5 程序编码优化技术
7.5.1 程序优化
7.5.2 程序优化方法
7.5.3 网络优化
7.6 代码评审和版本控制
7.6.1 代码评审
7.6.2 版本控制
7.7 实战训练
本章小结
习题7
第8章 软件测试与调试
8.1 概述
8.1.1 软件测试的定义
8.1.2 软件测试的目的
8.1.3 软件缺陷带来影响的例子
8.2 软件测试的任务和目标
8.2.1 软件测试的任务
8.2.2 软件测试的目标
8.3 软件测试的基本原则
8.4 软件测试的方法
8.4.1 测试用例
8.4.2 黑盒测试法
8.4.3 白盒测试法
8.5 软件测试的步骤
8.5.1 单元测试
8.5.2 集成测试
8.5.3 确认测试
8.5.4 系统测试
8.6 程序调试
8.6.1 程序调试技术
8.6.2 程序调试策略
8.7 实战训练
本章小结
习题8
第9章 软件维护
9.1 软件维护的概念
9.2 软件维护的特点
9.3 软件维护的类型
9.4 软件维护的步骤
9.5 软件的可维护性
9.6 软件维护的副作用
9.7 软件重用
本章小结
习题9
第10章 面向对象的方法学
10.1 面向对象的概念
10.1.1 传统开发方法存在的问题
10.1.2 面向对象的基本概念
10.1.3 面向对象的特征
10.1.4 面向对象的要素
10.1.5 面向对象的开发方法
10.2 面向对象的模型
10.2.1 对象模型
10.2.2 动态模型
10.2.3 功能模型
10.3 面向对象的分析
10.3.1 面向对象的分析过程
10.3.2 建立对象模型
10.3.3 建立动态模型
10.3.4 建立功能模型
10.3.5 确定操作
10.4 面向对象的设计
10.5 面向对象的实现
10.6 面向对象和基于对象的区别
10.7 实战训练
本章小结
习题10
第11章 统一建模语言(UML)
11.1 概述
11.1.1 什么UML_
11.1.2 UML的发展史
11.1.3 UML的特点
11.1.4 UML的应用领域
11.1.5 基于UML的设计过程
11.2 UML概念模型
11.2.1 UML.的构成
11.2.2 UML的基本构造块
11.2.3 UML的规则
11.2.4 UML的公共机制
11.3 UML的静态建模机制
11.3.1 用例图
11.3.2 类图
11.3.3 对象图
11.3.4 包图
11.4 UML的动态建模机制
11.4.1 协作图
11.4.2 时序图
11.4.3 活动图
11.4.4 状态图
11.5 UML面向实现机制
11.5.1 组件图
11.5.2 配置图
11.6 UML建模工具
11.6.1 RationalRose
11.6.2 MicrosoftOfficeVisio
11.7 UML建模实例
11.8 实战训练
本章小结
习题11
第12章 软件项目管理
12.1 项目与项目管理
12.2 ISO9000国际标准简介
12.3 CMMI
12.3.1 CMMI的基本概念
12.3.2 CMMl的体系结构
12.4 ISO9000与CMMI的比较
12,5软件项目管理过程
12.5.1 项目组织结构
12.5.2 项目启动
12.5.3 项目过程定义
12.5.4 工作分解结构
12.5.5 制定风险计划
12.5.6 制定项目文档管理
12.5.7 制定项目培训计划
12.5.8 制定项目监控过程
12.5.9 制定项目进度表.:
12.5.10 合成项目计划和从属计划
12.5.11 获得对计划的承诺
12.5.12 评审
12.5.13 跟踪项目计划估计值
12.5.14 跟踪风险
12.5.15 里程碑总结
12.5.16 变更管理
12.5.17 问题管理
12.5.18 项目总结
12.6 模板和表格
12.7 实战训练
本章小结
习题12
附录 软件开发过程中的文档
附录A 可行性分析报告(OB8567-88)
A.1 引言
A.2 可行性分析的前提
A.3 对现有系统的分析
A.4 所建议系统
A.5 可选择的其他系统方案
A.6 投资及效益分析
A.7 社会因素方面的可行性
A.8 结论
附录B 软件项目开发计划书(GB8567-88)
B.1 引言
B.2 项目概述
B.3 实施计划
B.4 支持条件
B.5 专题计划要点
附录C 软件规格说明书(GB8567-88)
C.1 引言
C.2 任务概述
C.3 需求规定
C.4 运行环境规定
……

章节摘录

  (2)需求分析阶段。  ①需求调查:对软件的需求及其使用环境进行详细调查,掌握用户的要求和环境所能提供的条件。  ②功能、性能与环境约束分析:根据掌握的情况,对软件系统的功能(即回答系统必须做什么)、性能(包括软件的安全性、可靠性、可维护性、精度、错误处理、适应性及用户培训等)和环境约束(指待开发的软件系统必须满足运行环境方面的要求)进行分析研究,与用户取得一致的认识。  ③编制软件需求规格说明:把软件系统的功能需求、性能需求、接口需求、设计需求、基本结构、开发标准及验收原则等写成软件需求规格说明,并得到用户的确认。  ④制定软件系统的确认测试准则和用户手册概要。根据确认的软件开发标准及验收原则制定具体的软件确认测试准则和用户手册概要或提纲。  2.软件开发时期  (1)概要设计阶段。  ①建立软件系统的总体结构:根据软件需求规格说明,对软件系统的总体功能进行模块分解,形成系统的功能结构图。  ②定义功能模块的接口:定义模块的功能和模块之间的关系,给出各模块接口界面的定义。  ⑧设计全局数据库和数据结构:从应用问题的领域出发,定义基本数据项和数据结构的属性,设计全局数据库的逻辑结构。  ④规定设计约束:定义软件系统的边界,并给出系统设计的约束说明。  ⑤编制概要设计文档:包括概要设计说明书、数据库或数据结构说明书和组装测试计划等文件。  (2)详细设计阶段。  ①模块详细设计:包括模块的详细功能、算法、数据结构和模块间的接口信息等设计,拟定模块测试方案。  ②编制模块的详细规格说明:把模块详细设计的结果汇总,形成模块详细规格说明书。  (3)实现阶段。  ①编码:根据模块详细规格说明书,将详细设计转化为程序代码。

图书封面

评论、评分、阅读与下载


    软件工程与项目管理 PDF格式下载


用户评论 (总计0条)

 
 

 

250万本中文图书简介、评论、评分,PDF格式免费下载。 第一图书网 手机版

京ICP备13047387号-7