软件工程基础

出版时间:2010-8  出版社:中国铁道出版社  作者:周苏,王文 著  页数:304  

前言

软件工程是一门理论性和实践性都很强的学科,它采用工程化的概念、理论、技术和方法来指导计算机软件的开发与维护,它主要研究软件结构、软件设计方法、软件工具、软件工程标准和规范以及软件工程的有关理论。采用工程化的概念、原理、技术和方法来开发与维护软件,把经过时间考验,证明正确的管理技术和当前能够得到的最好的开发方法结合起来,这就是软件工程。另一方面,高等教育的新形势需要我们积极进行教学改革,研究和探索新的教学方法。在长期的教学实践中,我们体会到,坚持“因材施教”的重要原则,把实验实践环节与理论教学相融合,以实验实践教学促进学科理论知识的学习,是有效地改善教学效果和提高教学水平的重要方法之一。本书是具有较强实践性的高职高专院校“软件工程”课程的教材。针对计算机和其他IT专业学生的发展需求,本书系统、全面地介绍了软件工程的概念、原理、方法及应用,详细介绍了软件生存周期、面向对象软件过程和软件过程工程的思想和实现方法,力图反映软件工程领域的最新发展,具有较强的系统性和可读性。本书的主要特色是:理论联系实际,结合一系列知识的学习和实验,把软件工程的概念、理论和技术知识融入实践当中,使学生保持浓厚的学习热情,加深对软件工程知识的认识、理解和掌握;按照一系列软件工程国家标准来表达和描述软件工程的知识,使软件工程技术具有很强的可操作性。

内容概要

  《软件工程基础》是一门理论性和实践性都很强的学科,它采用工程化的概念、理论、技术和方法来指导计算机软件的开发与维护。《软件工程基础》针对计算机和其他rr专业学生的发展需求,系统、全面地介绍了软件工程的概念、原理、方法及应用,详细介绍了软件生存周期、面向对象软件过程和软件过程工程的思想和实现方法,力图反映软件工程领域的最新发展,具有较强的系统性和可读性。《软件工程基础》的主要特色是:理论联系实际,结合一系列实训项目,把软件工程概念、理论和技术的相关知识融入实践当中,使学生保持浓厚的学习热情,加深对软件工程知识的认识、理解和掌握;按照一系列软件工程国家标准来表达和描述软件工程的知识,使软件工程技术具有很强的可操作性。《软件工程基础》还以实训和引导学生自主学习的方式,安排了丰富和生动的阅读内容,安排了对Visio、Power Designer和Visual Source Safe等常用软件工具的学习。《软件工程基础》可作为具有较强实践性的高职高专院校“软件工程”课程的教材,也可供有一定实践经验的软件开发人员、管理人员参考或作为继续教育的教材,还可作为各个级别的计算机软件专业技术资格和水平考试中相关内容的学习辅导用书。

书籍目录

第1章 软件工程概述1.1 计算机系统与软件1.2 软件生存周期和软件生存周期过程1.3 软件生存周期模型1.3.1 瀑布模型1.3.2 渐增模型1.3.3 演化模型1.4 软件工程定义1.4.1 软件工程的内容1.4.2 软件工程的基本目标和原则1.4.3 软件工程与一般工程的差异1.5 软件工具与开发环境1.5.1 软件工具1.5.2 软件开发环境1.6 软件工程的发展1.7 阅读:软件工程学科的相关学科1.8 习题与思考1.9 实训:软件工程的计算环境第2章 可行性研究与计划2.1 可行性研究2.2 软件计划2.2.1 软件范围2.2.2 资源2.2.3 软件成本估算2.3 进度安排2.4 4 .计划文件与复审2.5 阅读:《人月神话》作者布鲁克斯2.6 题与思考2.7 实训:软件工具与软件开发环境第3章 软件需求分析3.1 需求分析阶段的任务3.2 结构化分析方法3.2.1 结构化分析方法的内容3.2.2 结构化分析方法的步骤3.3 数据流程图3.3.1 数据流程图的属性和成分3.3.2 数据流程图示例3.3.3 数据流程图绘制准则3.4.数据字典3.4.1 数据流条目3.4.2 文件条目3.4.3 数据项条目3.4.4 加工条目3.5 加工的分析与表达3.5.1 加工的表达原则3.5.2 结构化语言3.5.3 判定表3.5.4 判定树3.6 需求分析文件与复审3.6.1 GB/T8567-2006规定的文件3.6.2 需求分析的复审3.7 阅读:软件思想家杰拉尔德·温伯格3.8 题与思考3.9 实训:软件开发绘图工具Visio第4章 软件概要设计4.1 模块的划分4.1.1 软件结构4.1.2 模块划分的基本原则4.1.3 内聚度4.1.4 耦合度4.1.5 高I内聚和低耦合4.1.6 模块划分的方法4.2 结构化设计方法4.2.1 变换与事务型数据流分析4.2.2 模块化设计4.2.3 模块结构图4.2.4 从数据流程图导出模块结构图4.3 Parnas方法4.3.1 信息隐蔽原则4.3.2 加强系统各成分间的检查4.4 Jackson方法4.5 程序的逻辑构造方法4.6 概要设计文件与复审4.6.1 概要设计说明书4.6.2 概要设计的复审4.7 阅读:Parnas:把软件工程作为一门真正的工程学科(1)4.8 习题与思考4.9 实训:使用Visio绘制工程图形第5章 软件详细设计5.1 概述5.2 结构化构造5.3 图形设计工具5.3.1 程序流程图5.3.2 方块图5.3.3 HIPO图5.3.4 PAD图5.4 伪码与程序设计语言5.5 各种详细设计工具的比较5.6 详细设计文件与复审5.6.1 详细设计说明书5.6.2 详细设计的复审5.7 阅读:Parnas:把软件工程作一门真正的工程学科(2)5.8 习题与思考5.9 实训:软件工程国家标准第6章 软件编码6.1 结构化程序设计方法6.2 程序设计风格6.2.1 源程序6.2.2 数据说明6.2.3 语句结构6.3 源代码文件6.3.1 综合文件6.3.2 程序组织文件6.3.3 指令级注释6.4.程序设计技术6.4.1 冗余程序设计6.4.2 防错性程序设计6.4 -3程序设计的质量6.4.4 编译程序和解释程序6.5 编程语言的特点6.5.1 过程性语言6.5.2 说明性语言6.5.3 脚本语言6.5.4 低级语言6.5.5 高级语言6.5.6 面向对象语言6.5.7 事件驱动语言6.5.8 构件(组件)6.6 选择编程语言6.7 编码文件与复审6.8 阅读:19世纪的传奇合作巴贝奇与阿达6.9 习题与思考6.10 实训:软件测试环境第7章 软件测试7.1 测试的基本概念7.2 测试方法7.2.1 静态分析技术7.2.2 动态测试技术7.3 单元测试7.4 组装测试7.4.1 组装测试的任务7.4.2 组装测试的方式7.5 确认测试7.6 测试用例设计7.6.1 白盒法7.6.2 黑盒法7.7 测试工具与测试自动化7.7.1 基于GUI的自动化测试7.7.2 自动化测试工具的特征7.7.3 自动化测试工具的分类7.7.4 B测试7.8 测试文件与复审7.8.1 GB/T8567-2006规定的文件7.8.2 GB/T9386-1988规定的文件7.8.3 测试的复审7.9 排错技术与系统转换7.10 阅读:从程序员到软件测试工程师7.11 习题与思考7.12 实训:黑盒法与白盒法设计测试用例第8章 软件维护8.1 概述8.1.1 软件维护工作的必要性8.1.2 软件维护的内容8.’1.3 维护工作的过程8.2 软件的可维护性8.3 软件维护的管理8.4 系统分析与建模工具Power Designer8.5 阅读:软件工程学科的内涵8.6 习题与思考8.7 实训:Power Designer入门第9章 软件质量管理9.1 软件项目特点与软件管理职能9.1.1 软件项目的特点9.1.2 软件管理的主要职能9.2 对软件质量的需求9.2.1 用户的质量观9.2.2 发人员的质量观9.2.3 维护人员的质量观9.2.4 管理人员的质量观9.3 软件质量度量9.3.1 软件质量框架模型9.3.2 软件质量特性9.3.3 评估指标的选取原则9.4 软件质量评估指标体系9.4.1 功能度指标9.4.2 可靠性指标9.4.3 易用性指标9.4.4 效率特性指标9.5 CMM:软件能力成熟度模型9.6 Power Designer的CDM9.7 阅读:《未来之路》和《数字化生存》9.8 习题与思考9.9 实训:Power Designer业务处理模型第10章 软件配置管理10.1 软件配置管理的概念10.2 配置管理软件VSS10.2.1 VSS的主要功能10.2.2 软件配置管理员的任务10.2.3 项目组其他人员的任务10.2.4 与Visual Studio:IDE集成10.3 阅读:软件产业的设计大师和VB之父Alan Cooper10.4 习题与思考10.5 实训:软件配置管理工具VSS第11章 面向对象分析与设计11.1 面向对象方法11.1.1 面向对象方法的特点11.1.2 面向对象软件工程11.2 面向对象的概念11.2.1 对象11.2.2 类11.2.3 消息传递11.2.4 多态性11.3 面向对象软件的开发过程11.3.1 类生存期11.3.2 面向对象的开发11.4 面向对象分析——OOA11.4.1 OOA的基本内容11.4.2 常用的OOA方法11.4.3 论域分析11.5 面向对象设计——OOD11.5.1 高层设计11.5.2 类设计的目标和方针11.5.3 通过复用设计类11.5.4 类设计方法11.6 Power Designer的CDM11.7 阅读:极限编程XP的先驱Kent Beck.11.8 习题与思考11.9 实训:Power Designer概念数据模型第12章 面向对象的实现12.1 面向对象编程12.2 面向对象测试12.2.1 面向对象测试的特点12.2.2 面向对象的测试步骤12.2.3 面向对象的测试策略12.3 面向对象软件的测试用例设计12.3.1 传统测试用例设计方法的可用性12.3.2 基于故障的测试设计12.3.3 基于场景的测试设计12.3.4 测试表层结构和深层结构12.4 Power Designer的PDM12.4.1 表、列、视图、主键、候选键、外键12.4.2 存储过程和触发器12.4.3 默认值与规则12.4.4 完整性检查约束12.4.5 索引12.4.6 检查PDM对象12.5 阅读:CASE与信息工程的创始人James Martin12.6 题与思考l2.7 实训:Power Designer·物理数据模型第13章 统一建模语言——UML13.1 UMI.概述13.2 Power Designer OOM13.2.1 用例图13.2.2 时序图13.2.3 类图13.3 阅读:软件开发的教父Martin Fowler13.4 习题与思考13.5 实训:Power Designer面向对象模型第14章 软件文件14.1 目的和作用14.2 软件生存周期与各种文件的编制14.3 文件编制中考虑的因素14.3.1 文件的读者14.3.2 文件内容的重复性14.3.3 文件内容的灵活性14.4 文件编制的质量要求14.5 文件的管理和维护14.5.1 文件的形成14.5.2 文件的分类与标识14.5 -3文件控制14.5.4 文件的修改管理14.5.5 《软件文档管理指南》(GB/T16680-1996)14.6 阅读:软件工程的七条基本原理14.7 习题与思考14.8 实训:软件产品开发文件编制指南第15章 软件工程实训总结15.1 实训的基本内容15.2 实训的基本评价15.3 课程学习能力测评15.4 软件工程实训总结15.5 实训总结评价(教师)附录A课程设计附录B软件文档编写提示(部分)参考文献

章节摘录

插图:在传统工业领域中,实行标准生产的必要性及其为生产、流通、运行等方面带来的好处人们早已习以为常。然而,在我国,对于计算机软件领域的标准化问题,人们的认识还很不一致。事实上,对软件人员来说,掌握软件工程的知识是必要的,树立对软件工程标准化的正确认识也同样是非常必要的。因为作为一个产业部门,软件已经成长壮大起来,它的支柱学科——软件工程已经逐渐成熟,软件产品已经进入商业化阶段。随着人们对计算机软件认识的逐渐深入,软件工作的范围从只是使用程序设计语言编写程序扩展到了软件的整个生存周期。诸如软件计划制定、需求分析、软件设计、程序编写、软件测试、软件维护以及相应的组织管理工作等都需要按一定的规范进行。自然,制定适用于某个范围的软件开发规范是软件工程标准化的一个重要内容。(1)软件工程标准化的内容软件工程标准化涉及的方面包括:①软件设计的标准化。包括设计方法、设计表达方法、程序结构、程序设计语言、程序设计风格、用户接口设计、数据结构设计、算法设计等。②文件编写的标准化。包括管理文件、项目实施计划、质量保证计划、开发进度月报、分析文件(如可行性分析报告、软件需求说明书等)、设计文件说明书(如概要设计说明书、详细设计说明书等)、用户文件(如用户手册、维护手册、操作手册)、系统实现文件(如源代码、生成信息、测试信息、验收报告、开发总结报告)等。③项目管理标准。包括开发流程、开发作业、计划与进度管理、人员组织、质量管理(如软件验收、开发阶段评审等)、成本管理、维护管理、配置管理等。可见,软件工程标准应对软件生存周期中所有阶段的工作(包括技术性和管理性工作)做出合理、统一的规定,包括对软件工程的对象、特性、配置、状态、动作、过程、方法、责任、义务、权限等都做出具体的规定。

编辑推荐

《软件工程基础》:高职高专院校实践类课程系列规划教材

图书封面

评论、评分、阅读与下载


    软件工程基础 PDF格式下载


用户评论 (总计0条)

 
 

 

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

京ICP备13047387号-7