《软件项目开发与管理案例教程》牛德雄【文字版_PDF电子书_推荐】
内容简介:
本书以一个贯穿项目为载体,以任务驱动的方式介绍软件开发中各阶段所需的知识、技术、方法、工具、开发过程,直至项目完成。本书围绕软件开发能力的培养组织内容,全书共8章,内容如下:第1章,介绍软件、软件开发、软件项目管理等相关概念,重点介绍软件开发中容易混淆的一些概念并为后续学习做知识准备;第2和第3章,介绍传统的软件开发方法,适合软件开发初学者学习;第4和第5章,介绍面向对象的开发方法,利于读者掌握目前流行的面向对象软件开发方法与工具;第6章,介绍软件的实现,包括编码与测试,只有通过测试的软件,其编码才能告一段落;第7章,介绍软件的维护;第8章,介绍本书软件项目完整的开发过程,可作为软件设计文档范本。
作者简介:
牛德雄(1965- ),男,汉族,硕士研究生毕业。主要研究方向:软件开发技术、软件工程、需求工程、项目管理、Java软件开发技术、移动开发技术。
目 录:
第1章 软件开发与管理概述 (1)
1.1 软件与软件开发概述 (1)
1.1.1 程序、软件与系统 (1)
1.1.2 软件开发的特征 (3)
1.2 软件开发 (5)
1.2.1 软件开发过程 (5)
1.2.2 软件开发方法学和软件工程 (9)
1.3 软件项目管理内容 (10)
1.3.1 软件项目管理 (11)
1.3.2 软件质量管理 (13)
1.3.3 软件过程质量保证体系 (15)
小结 (18)
习题 (18)
实训:制定某项目进度计划 (19)
第2章 进行需求分析了解用户需求 (20)
2.1 软件需求概述 (20)
2.1.1 需求分析任务 (21)
2.1.2 需求分析过程 (21)
2.1.3 需求管理 (23)
2.1.4 软件需求分析从问题定义开始 (24)
2.2 需求分析方法与分析模型 (25)
2.2.1 需求分析与建模方法 (25)
2.2.2 需求分析模型 (25)
2.3 用传统方法建立系统数据模型 (26)
2.3.1 数据模型(E-R图)的建立 (26)
2.3.2 E-R图简述 (28)
2.3.3 数据字典 (30)
2.4 用传统方法建立系统功能模型 (30)
2.4.1 系统功能模型(数据流图)的建立 (31)
2.4.2 数据流图简述 (31)
2.4.3 功能模型简述 (32)
2.4.4 功能模型的文字描述 (33)
2.5 建立系统动态模型 (33)
2.6 需求说明书及书写重点 (35)
小结 (36)
习题 (36)
实训:对“学生管理系统”进行需求分析与建模 (37)
第3章 基于需求分析进行软件设计 (40)
3.1 软件设计 (40)
3.1.1 软件设计概述 (40)
3.1.2 软件设计与编码 (42)
3.1.3 软件设计的内容 (43)
3.2 项目设计案例 (44)
3.2.1 从E-R模型进行数据库设计 (45)
3.2.2 概要设计(软件结构设计) (46)
3.3 软件模块的详细设计 (49)
3.3.1 详细设计的任务 (49)
3.3.2 详细设计的工具 (50)
3.4 软件设计原则 (54)
3.4.1 模块与模块独立性 (54)
3.4.2 模块的耦合性 (55)
3.4.3 模块的内聚性 (56)
3.4.4 模块的规模、大小适中原则 (56)
3.4.5 信息隐藏和局部化的原则 (57)
3.4.6 抽象性的原则 (58)
3.5 软件设计说明书 (58)
3.5.1 软件概要设计说明书大纲 (58)
3.5.2 软件详细设计说明书大纲 (58)
小结 (59)
习题 (59)
实训一:对“学生管理系统”进行软件概要设计 (60)
实训二:对“学生管理系统”进行详细设计 (61)
第4章 用对象的观点与方法进行分析建模 (64)
4.1 概述 (64)
4.2 从业务描述出发建立系统的用例模型 (66)
4.2.1 建立系统用例模型 (66)
4.2.2 确定系统的用例 (67)
4.2.3 用例之间的关系 (68)
4.2.4 描述用例 (70)
4.3 从用例的交互中识别实体建立对象模型 (71)
4.3.1 识别类与对象 (71)
4.3.2 确定类的属性 (73)
4.3.3 确定类之间的联系 (73)
4.4 类与类之间的“关系” (74)
4.4.1 关联关系 (74)
4.4.2 泛化关系 (75)
4.4.3 依赖和细化关系 (76)
4.4.4 确定关联 (77)
4.5 从用例的交互中识别交互细节建立动态模型 (77)
4.5.1 建立顺序图 (78)
4.5.2 通过顺序图描述实体间的动态行为 (79)
4.5.3 通过顺序图等动态模型分析与确定类的行为 (79)
小结 (81)
习题 (81)
实训:用面向对象的方法进行需求分析与建模 (82)
第5章 用面向对象的观点和方法设计软件 (84)
5.1 面向对象软件设计概述 (84)
5.1.1 包图 (85)
5.1.2 数据库设计 (85)
5.1.3 软件架构和类两个层面的设计 (85)
5.2 高层软件体系结构设计 (86)
5.2.1 软件体系结构设计概况 (86)
5.2.2 软件体系结构设计内容 (86)
5.3 底层类的设计 (87)
5.3.1 系统各部件类的设计及其层次 (87)
5.3.2 业务领域类的设计 (88)
5.3.3 类设计 (90)
5.3.4 使用MVC设计模式 (91)
5.4 面向对象软件开发过程及最佳做法 (91)
小结 (93)
习题 (93)
实训:用面向对象的方法进行软件设计 (94)
第6章 按照软件设计进行编程实现并测试 (96)
6.1 软件编码概述 (96)
6.1.1 从软件设计过渡到软件编码 (96)
6.1.2 程序设计方法 (97)
6.1.3 常见计算机程序设计语言 (98)
6.1.4 常用软件开发工具 (103)
6.1.5 选择计算机程序设计语言并建立软件开发环境 (104)
6.1.6 制定程序编码规范 (105)
6.1.7 制定编程的过程标准 (106)
6.2 程序编码过程 (106)
6.2.1 迭代、增量的开发过程 (107)
6.2.2 选择某种MVC开发模式的工具编码 (107)
6.2.3 通过迭代开发直至满足用户需求 (108)
6.3 按照用户需求和软件设计测试软件 (108)
6.3.1 软件测试概述 (108)
6.3.2 软件测试阶段 (111)
6.3.3 软件测试用例设计案例 (113)
小结 (119)
习题 (119)
实训:对“学生管理系统”进行实现并测试 (120)
第7章 通过软件维护不断满足用户的需求 (121)
7.1 软件维护概述 (121)
7.1.1 软件维护原因 (121)
7.1.2 软件维护类型 (122)
7.1.3 软件维护中的常见问题 (123)
7.1.4 软件维护策略 (123)
7.2 软件维护的过程 (124)
7.2.1 维护组织 (125)
7.2.2 维护报告 (125)
7.2.3 维护过程 (125)
7.2.4 维护记录 (126)
7.2.5 维护评价 (127)
7.3 提高软件的可维护性 (127)
7.3.1 软件的可维护性 (127)
7.3.2 软件可维护性的量化 (127)
7.3.3 提高可维护性的方法 (128)
7.3.4 软件维护的副作用 (129)
7.4 软件维护相关文档 (129)
7.4.1 软件问题报告 (130)
7.4.2 软件维护申请报告 (130)
7.4.3 软件维护报告 (130)
7.4.4 软件用户意见反馈及满意度调查 (132)
7.5 实施软件维护 (134)
7.5.1 维护机构 (134)
7.5.2 维护流程 (134)
7.5.3 维护评价 (135)
7.5.4 维护成本 (135)
小结 (135)
习题 (135)
实训:设计一套结构化维护过程及文档格式 (136)
第8章 物流管理系统开发分析与设计案例 (137)
8.1 引言 (137)
8.2 项目概述 (138)
8.3 需求分析 (138)
8.3.1 业务描述 (138)
8.3.2 用例建模 (138)
8.3.3 用例交互实体建模—对象模型(实体类图) (139)
8.3.4 功能分析 (140)
8.3.5 交互细节的建模—动态模型 (141)
8.4 软件设计 (141)
8.4.1 功能模块设计 (141)
8.4.2 软件架构设计(基于JavaEE) (142)
8.4.3 实体类的设计 (144)
8.4.4 数据库设计 (144)
8.5 软件模块设计与实现 (147)
8.5.1 送货员信息管理模块 (147)
8.5.2 接单管理模块 (149)
8.5.3 接送货管理模块 (150)
8.5.4 仓储与分拣管理模块 (151)
8.5.5 结算管理模块 (155)
小结 (156)
附录A 计算机软件开发文件编制指南(GB/T 8567—1988) (157)
附录B UML简介 (174)
术语表 (176)
参考文献 (177)