• 1.摘要
  • 2.基本信息
  • 3.内容简介
  • 4.图书目录
  • 5.编辑推荐
  • 6.目录
  • 7.作者简介

高等学校计算机专业规划教材:软件工程基础

马小军著书籍

《高等学校计算机专业规划教材:软件工程基础与应用》共10章,第1章和第2章是软件工程综述,第3章是需求调研与可行性研究,第4章至第6章是系统分析与设计,并重点介绍基于结构化技术的分析与设计方法以及编码实现的基本原则,第7章和第8章是基于面向对象技术的分析与设计方法以及统一建模语言UML,第9章是软件测试技术与维护方法,第10章是软件项目管理。配合知识点的介绍,每章不但有简单举例和丰富的习题,而且以一个规模和难度适中的项目为中心进行综合举例说明,并贯穿书中的主要章节,便于对所学内容的正确理解和实际应用的认识。

基本信息

  • 外文名

    Fundamentals of Software Engineering

  • 出版社

    清华大学出版社

  • 作者

    马小军

  • 开本

    16

  • 页数

    215页

内容简介

《高等学校计算机专业规划教材:软件工程基础与应用》以软件工程基本理论知识的普及和常用开发方法具体运用的介绍为出发点,对软件工程的主要原理、基本概念、主流技术方法的特点和使用规则、软件测试与维护的一般方法以及软件规模估算与项目的管理等进行了全面描述。

图书目录

第1章概述 1.1软件的基本概念及特点 1.1.1软件是什么 1.1.2软件的分类 1.1.3软件的发展 1.2软件工程的提出 1.2.1软件工程提出的导火索 1.2.2软件工程的原理 1.2.3软件工程的目标 1.3软件开发方法 1.3.1结构化方法 1.3.2原型化方法 1.3.3面向对象方法 1.3.4敏捷开发方法 本章小结 习题 第2章软件生存周期模型 2.1软件生存周期及其组成 2.1.1软件生存周期的概念和提出的意义 2.1.2软件生存周期的划分与组成 2.2软件开发模型 2.2.1瀑布模型 2.2.2快速原型模型 2.2.3增量模型 2.2.4螺旋模型 2.2.5喷泉模型 2.3常用软件建模工具 2.3.1Microsoft Visio 2.3.2Rational Rose 本章小结 习题 第3章用户需求与可行性研究 3.1用户需求调研 3.1.1关于需求 3.1.2用户需求调研的必要性 3.1.3需求调研方法 3.1.4调研内容和步骤 3.2业务描述 3.2.1业务流程定义 3.2.2业务流程图 3.3软件项目可行性分析 3.4成本/效益分析 3.4.1软件开发成本估算 3.4.2软件效益分析 本章小结 习题 第4章基于结构化方法的需求分析 4.1需求分析简述 4.1.1何为需求分析 4.1.2需求分析的主要任务 4.1.3需求分析的原则 4.1.4需求分析方法的分类 4.2结构化分析 4.2.1结构化分析的特点和原则 4.2.2结构化分析的主要工具 4.3数据流程图的构建 4.3.1构建数据流程图的作用 4.3.2数据流程图的基本符号 4.3.3构建数据流程图的步骤 4.3.4构建数据流程图需要注意的问题 4.4数据字典 4.4.1构建数据字典的意义和用途 4.4.2数据字典的主要内容 4.4.3构建数据字典使用的符号 4.4.4数据字典举例 4.5结构化分析综合举例 4.5.1项目简介 4.5.2系统数据流程图 4.5.3系统数据字典 本章小结 习题 第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软件结构图 5.3.2数据流程图的分类 5.3.3变换型设计 5.3.4事务型设计 5.4HIP()图 5.5软件结构的优化准则 5.6结构化设计综合举例 本章小结 习题 第6章详细设计与编码实现 6.1详细设计的基本任务 6.2详细设计的常用工具 6.2.1程序流程图设计 6.2.2盒图 6.2.3PAD图 6.2.4判定表与判定树 6.2.5过程设计语言 6.3人机界面的设计 6.3.1人机界面一般风格 6.3.2人机界面设计原则及相关问题 6.3.3人机界面设计过程 6.3.4人机界面设计各级定义与基本要求 6.4详细设计综合举例 6.4.1人机界面 6.4.2数据库设计 6.4.3模块详细设计 6.5编码实现 6.5.1编码工具介绍 6.5.2编码工具的选择 6.5.3编码原则 6.5.4编码举例 本章小结 习题 第7章面向对象技术 7.1面向对象概述 7.1.1面向对象提出的背景 7.1.2面向对象方法简介 7.1.3’面向对象基本概念 7.1.4面向对象的特征 7.2面向对象分析 7.2.1面向对象分析任务概述 7.2.2面向对象分析模型 7.2.3面向对象分析过程 7.3面向对象设计 7.3.1面向对象设计任务 7.3.2面向对象设计与面向对象分析的关系 7.3.3面向对象设计基本原则 7.3.4面向对象设计模型 7.3.5面向对象设计过程 本章小结 习题 第8章UML建模 8.1UML概述 8.1.1发展历史 8.1.2UML简介 8.1.3视图 8.1.4UML中的图 8.2用例模型的构建 8.2.1用例图的模型元素 8.2.2确定参与者 8.2.3确定用例 8.3静态模型的构建 8.3.1类图和对象图 8.3.2标识类的方法 8.3.3包图 8.4动态模型的构建 8.4.1顺序图 8.4.2协作图 8.4.3次态图和活动图 8.5物理体系结构的构建 8.5.1组件图 8.5.2部署图 8.6综合举例 8.6.1系统分析 8.6.2系统设计 8.6.3物理结构设计 本章小结 习题 第9章测试与维护 9.1软件测试简介 9.1.1软件测试定义 9.1.2软件测试的原则 9.1.3软件测试的对象 9.2软件测试模型 9.2.1V模型 9.2.2W模型 9.3软件测试的一般过程 9.3.1测试需求分析阶段 9.3.2测试计划阶段 9.3.3测试方案设计阶段 9.3.4测试用例实现阶段 9.3.5测试执行阶段 9.3.6评价与关闭阶段 9.4软件测试常用方法 9.4.1黑盒测试与白盒测试 9.4.2黑盒测试法 9.4.3白盒测试法 9.5面向对象测试 9.6软件调试 9.6.1软件调试基本概念 9.6.2软件测试和软件调试的区别 9.6.3软件调试的步骤 9.6.4软件调试方法 9。7软件维护 9.7.1软件维护的定义 9.7.2影响维护工作量的因素 9.7.3软件维护成本 9.7.4软件维护过程 9.7.5软件的可维护性与提高方法 本章小结 习题 第10章软件项目管理 10.1软件规模估算 10.1.1软件规模估算概述 10.1.2软件规模估算常用方法 10.2风险管理 10.2.1软件项目风险定义及管理重要性 10.2.2风险识别 10.2.3风险分析及量化 10.2.4风险应对计划 10.2.5风险监控 10.3人员组织 10.3.1团队管理概述 10.3.2软件项目组织计划 10.3.3项目组织形式 10.3.4团队的组建 10.3.5团队合作与沟通 10.4进度管理 10.4.1进度管理的定义 10.4.2进度管理过程 10.4.3软件项目任务分解 10.4.4软件项目进度计划 10.4.5进度控制 10.5质量管理 10.5.1软件质量的定义 10.5.2软件质量模型 10.5.3软件质量保证 10.5.4软件质量控制 本章小结 习题 附录软件工程文档横板 参考文献

编辑推荐

《高等学校计算机专业规划教材:软件工程基础》将软件工程教学和实践相结合,可作为高等院校计算机专业或信息类相关专业课程的教材或教学参考书,也能作为有一定实践经验的软件工程人员和需要开发应用软件的广大计算机用户的参考资料。

目录

第1章 软件工程概述/1 1.1 软件工程的发展历程/1 1.1.1 软件危机/1 1.1.2 软件危机出现的原因 /3 1.1.3 软件工程的发展/4 1.2 软件工程的概念/5 1.2.1 软件工程的定义/5 1.2.2 软件工程的目标/6 1.2.3 软件工程的实施原则/8 1.2.4 软件工程的基本原理/9 1.3 软件与软件过程/11 1.3.1 软件的概念/11 1.3.2 软件的分类/13 1.3.3 软件生命周期/14 1.3.4 软件过程/15 1.4 软件过程模型/17 1.4.1 瀑布模型/17 1.4.2 原型模型/18 1.4.3 增量模型/19 1.4.4 螺旋模型/zo 1.4.5 喷泉模型/21 1.4.6 敏捷过程模型/22 1.4.7 基于四代技术的过程模型/23 1.4.8 微软解决框架过程模型 /24 1.4.9 组合模型的开发/25 1.5 软件开发方法/25 1.5.1 结构化开发方法/26 1.5.2 面向对象开发方法/26 1.6 案例描述/27 1.6.1 简历信息自动获取和查询系统/27 1.6.2 试卷自动生成系统/28 1.7 小结/29 习题/31 第2章 软件需求工程/32 2.1 软件需求的基本概念/32 2.1.1 需求分析的任务/32 2.1.2 需求分析的原则/33 2.1.3 需求分析的内容/34 2.2 需求工程的过程/36 2.2.1 需求工程中的参与人员 /36 2.2.2 需求工程过程中的活动/36 2.2.3 需求工程的管理/38 2.3 需求获取技术/39 2.4 结构化需求分析和建模/41 2.4.1 结构化分析概述/42 2.4.2 面向数据的数据建模/42 2.4.3 面向数据流的功能建模/44 2.4.4 面向状态转换的行为建模/48 2.4.5 数据字典/49 2.4.6 加工逻辑/51 2.5 案例——简历自动获取和查询系统的需求建模/52 2.5.1 数据建模——ER图描述 /53 2.5.2 功能建模——数据流图/53 2.5.3 行为建模——状态转换图 /55 2.5.4 数据字典/55 2.5.5 加工逻辑——PDL语言的描述 /56 2.6 需求评审/56 2.6.1 软件需求规格说明文档/57 2.6.2 需求评审标准/60 2.7 小结 /61 习题/61 第3章 软件设计基础/63 3.1 软件设计概述/63 3.1.1 软件设计与软件需求/63 3.1.2 软件设计的任务/64 3.1.3 软件设计的原则/66 3.2 软件体系结构设计/67 3.2.1 体系结构设计概述/67 3.2.2 以数据为中心的数据仓库模型/68 3.2.3 客户端/服务器模式的分布式结构/69 3.2.4 层次模型/71 3.3 模块化设计/72 3.3.1 软件模块化与分解/72 3.3.2 抽象/73 3.3.3 信息隐藏/73 3.3.4 模块独立性/74 3.3.5 启发式规则/76 3.4 界面设计/79 3.4.1 界面设计的任务/79 3.4.2 界面设计的原则/80 3.4.3 界面设计的特性/81 3.4.4 MVC模型/81 3.5 软件设计评审/83 3.5.1 软件设计规格说明文档/83 3.5.2 软件设计评审标准/86 3.6 小结/88 习题/88 第4章 结构化设计方法/90 4.1 结构化设计方法概述/90 4.2 面向数据流的设计方法/91 4.2.1 层次图和结构图/91 4.2.2 变换分析法/93 4.2.3 事务分析法/97 4.2.4 混合分析法/98 4.3 面向数据的设计方法/99 4.3.1 Jackson图/99 4.3.2 Jackson系统开发方法/100 4.4 案例——简历自动获取和查询系统的数据流设计方法/102 4.4.1 用变换分析法进行设计/103 4.4.2 用事务分析法进行设计/104 4.4.3 两种方法的比较/105 4.5 结构化详细设计的工具/106 4.5.1 程序流程图/106 4.5.2 盒图(NS图) /107 4.5.3 问题分析图/108 4.5.4判定树/110 4.5.5 判定表/110 4.5.6 详细设计工具的比较/111 4.6 小结/112 习题/113 第5章 软件实现/114 5.1 程序设计语言/114 5.1.1 程序设计语言的分类/114 5.1.2 程序设计语言的特性/115 5.1.3 选择程序设计语言/116 5.2 程序设计风格/118 5.2.1 程序编排和组织的准则 /118 5.2.2 程序设计的效率/122 5.3 代码复用/124 …… 第6章 软件测试/131 第7章 UML统一建模语言/169 第8章 面向对象分析/203 第9章 面向对象设计/228 第10章 软件维护/254 第11章 软件项目管理/272 参考文献/314

作者简介

胡思康,北京理工大学计算机学院教师,博士,研究方向为自然语言理解、Web数据挖掘、软件需求、面向对象技术等领域,主讲本科生“面向对象技术”和“软件工程基础”等课程近10年。这两门课程前后衔接,在课程讲解过程中,秉承“理论指导实践、实践融入理论”的教学理念,为学生从“程序员”迈入“软件工程师”夯实基础。 作者高度关注中国计算机教育问题,积极参与教学改革和探索实践。此外,作者还致力于软件技术的应用与推广,为计算机专业的学生、程序员和企业提供软件技术学习、设计方案的指导。