新書推薦:
《
送你一匹马(“我不求深刻,只求简单。”看三毛如何拒绝内耗,为自己而活)
》
售價:NT$
295.0
《
秦汉史讲义
》
售價:NT$
690.0
《
万千心理·我的精神分析之道:复杂的俄狄浦斯及其他议题
》
售價:NT$
475.0
《
荷马:伊利亚特(英文)-西方人文经典影印21
》
售價:NT$
490.0
《
我的心理医生是只猫
》
售價:NT$
225.0
《
股权控制战略:如何实现公司控制和有效激励(第2版)
》
售價:NT$
449.0
《
汉译名著·哲学经典十种
》
售價:NT$
3460.0
《
成吉思汗传:看历代帝王将相谋略 修炼安身成事之根本
》
售價:NT$
280.0
|
內容簡介: |
本书全面讲述了软件工程的基本概念、原理、方法和工具,分析了每个环节对应的实例和项目案例。全书以理论够用、实用,实践环节相呼应为原则,使读者能够快速、轻松地掌握软件工程理论和实践过程。 全书共10章。第1章讲述软件工程概述,包括软件工程的概念、软件生存期模型等; 第2~4章讲述结构化的软件工程方法,其内容包括结构化分析、结构化设计、结构化编码和测试; 第5~7章讲述面向对象的软件工程方法,其内容包括面向对象的分析、面向对象的设计、面向对象的实现和测试; 第8章简单介绍软件的运行和维护; 第9章介绍当今比较流行的6种软件设计模式; 第10章介绍软件项目管理。 本书理论和实践相结合,内容翔实,图文并茂,体系完整,通俗易懂,有助于读者理解软件工程的基本概念、掌握要点和攻克难点。为便于学习,本书每章都有配套的教学课件和微课教学视频,还配有丰富的习题。 本书可作为高等院校“软件工程”相关课程的教学用书,也可作为软件工程师的培训教材,还可作为软件项目开发人员的参考用书。
|
目錄:
|
第1章软件工程概述
1.1软件危机和软件工程
1.1.1软件危机爆发的原因
1.1.2软件工程的概念
1.2软件生存期
1.3软件工程方法学
1.3.1结构化方法
1.3.2面向对象方法
1.4软件工程工具
1.4.1需求分析工具
1.4.2设计工具
1.4.3编码工具与调试工具
1.4.4测试工具
1.5软件生存期模型
1.5.1瀑布模型
1.5.2增量模型
1.5.3快速原型模型
1.5.4喷泉模型
1.5.5螺旋模型
1.5.6统一过程模型
1.5.7敏捷开发模型
1.6小结
习题1
第2章结构化分析
2.1问题定义
2.1.1问题定义的规范化要求
2.1.2问题定义实例
2.2可行性研究
2.2.1可行性研究的内容
2.2.2可行性研究实例
2.3需求分析
2.3.1需求分析阶段的任务
2.3.2需求获取
2.4结构化需求分析
2.4.1功能建模
2.4.2数据建模
2.4.3行为建模
2.4.4数据字典
2.5机票预订系统结构化分析项目实践
2.5.1机票预订系统问题定义
2.5.2机票预订系统可行性研究
2.5.3机票预订系统结构化需求分析
2.6小结
习题2
第3章结构化设计
3.1结构化设计概述
3.1.1结构化设计的任务
3.1.2结构化设计的原则
3.1.3模块独立性
3.1.4结构化设计的步骤
3.2体系结构设计
3.2.1体系结构的启发式设计原则
3.2.2面向数据流的设计方法
3.2.3事务型体系结构设计实例
3.3接口设计
3.3.1软件与人之间的交互界面设计
3.3.2软件与硬件及其他软件系统之间的接口设计
3.3.3模块之间的接口设计
3.3.4接口设计实例
3.4数据设计
3.4.1文件设计
3.4.2数据库设计
3.4.3数据设计实例
3.5过程设计
3.5.1过程设计的任务和原则
3.5.2过程设计的工具
3.5.3数据结构细节和数据操作的设计
3.6机票预订系统的结构化设计项目实践
3.6.1机票预订系统体系结构设计
3.6.2机票预订系统接口设计
3.6.3机票预订系统数据设计
3.6.4机票预订系统过程设计
3.7小结
习题3
第4章结构化编码和测试
4.1软件编码
4.1.1程序设计语言
4.1.2程序设计风格
4.1.3程序效率分析
4.2软件测试概述
4.2.1测试的目的和原则
4.2.2测试的方法和步骤
4.3黑盒测试
4.3.1等价类划分法
4.3.2边界值分析法
4.3.3错误推测法
4.3.4因果图法
4.3.5黑盒测试实例
4.4白盒测试
4.4.1静态白盒测试
4.4.2动态白盒测试
4.4.3白盒测试实例
4.5单元测试
4.5.1单元测试内容
4.5.2单元测试步骤
4.6集成测试
4.6.1集成测试目标和过程
4.6.2集成方式
4.6.3集成测试的实施
4.7系统测试
4.8验收测试
4.8.1正式验收测试
4.8.2Alpha测试
4.8.3Beta测试
4.9机票预订系统编码和测试项目实践
4.9.1机票预订系统编码
4.9.2机票预订系统测试
4.10小结
习题4
第5章面向对象分析
5.1面向对象方法介绍
5.1.1面向对象的基本概念
5.1.2统一建模语言
5.2面向对象分析概述
5.3建立用例模型
5.3.1建立用例模型的过程
5.3.2建立用例模型的实例
5.4建立对象模型
5.4.1建立对象模型的过程
5.4.2建立对象模型的实例
5.5建立交互模型
5.5.1顺序图
5.5.2状态图
5.5.3活动图
5.6机票预订系统面向对象分析项目实践
5.6.1建立机票预订系统的用例模型
5.6.2建立机票预订系统的对象模型
5.6.3建立机票预订系统的交互模型
5.7小结
习题5
第6章面向对象的设计
6.1面向对象的设计方法
6.1.1面向对象的设计准则
6.1.2面向对象的设计步骤
6.2设计系统的环境模型
6.2.1环境模型设计方法和内容
6.2.2环境模型设计实例
6.3设计系统的体系结构
6.3.1体系结构的概念
6.3.2几种典型的体系结构
6.3.3体系结构设计实例
6.4设计问题域子系统
6.5设计人机交互子系统
6.5.1面向对象的用户界面设计步骤
6.5.2WWW的界面设计
6.6设计任务管理子系统
6.7设计数据管理子系统
6.7.1选择数据存储管理模式
6.7.2设计数据管理子系统
6.7.3数据管理子系统设计实例
6.8机票预订系统面向对象设计项目实践
6.8.1机票预订系统环境模型设计
6.8.2机票预订系统体系结构设计
6.8.3机票预订系统任务管理子系统设计
6.8.4机票预订系统数据管理子系统设计
6.9小结
习题6
第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.2.4面向对象的单元测试
7.2.5面向对象的集成测试
7.2.6面向对象的系统测试
7.2.7面向对象的测试总结
7.3小结
习题7
第8章软件维护
8.1软件维护简介
8.1.1软件维护的定义
8.1.2软件维护的策略
8.1.3非结构化维护和结构化维护的区别
8.1.4软件维护存在的问题
8.2软件维护的过程
8.3软件的可维护性
8.3.1软件可维护性的主要决定因素
8.3.2软件可维护性的影响因素
8.3.3软件可维护性复审
8.4软件逆向工程和再工程
8.4.1软件逆向工程
8.4.2软件再工程
8.5小结
习题8
第9章软件设计模式
9.1设计模式概述
9.1.1设计模式的基本要素
9.1.2设计模式分类
9.2抽象工厂模式
9.2.1从简单工厂到工厂方法到抽象工厂
9.2.2抽象工厂模式的实现
9.3单例模式
9.3.1什么是单例模式
9.3.2单例模式的实现
9.4适配器模式
9.4.1什么是适配器模式
9.4.2适配器模式的实现
9.5外观模式
9.5.1什么是外观模式
9.5.2外观模式的实现
9.6责任链模式
9.6.1什么是责任链模式
9.6.2责任链模式的实现
9.7观察者模式
9.7.1什么是观察者模式
9.7.2观察者模式的实现
9.8小结
习题9
第10章软件项目管理
10.1软件项目管理概述
10.2人员的组织与管理
10.2.1设立项目管理委员会
10.2.2开发人员的配置
10.3软件度量
10.3.1软件度量目标
10.3.2软件度量方法体系
10.3.3过程度量
10.4软件项目计划
10.4.1甘特图
10.4.2网络图
10.5软件项目风险管理
10.5.1项目中的风险
10.5.2风险辨识
10.5.3风险分析
10.5.4风险驾驭
10.6软件质量保证
10.7软件过程能力评估
10.7.1CMM的诞生和发展
10.7.2CMM的软件过程成熟度等级
10.7.3CMM的作用
10.7.4CMM的评估过程
10.8软件配置管理
10.8.1软件配置管理的出现
10.8.2软件配置管理的功能
10.8.3软件配置管理规范
10.8.4软件配置管理的角色和职责
10.8.5软件配置管理过程
10.8.6软件配置管理的关键活动
10.9小结
习题10
参考文献
|
內容試閱:
|
在现代社会中,软件应用于多方面。典型的软件有电子邮件软件、嵌入式系统软件、人机界面软件、办公套件软件、操作系统软件、编译器软件、数据库软件、游戏软件等。同时,各个行业几乎都有计算机软件的应用,如工业、农业、银行、航空、政府部门等。这些应用促进了经济和社会的发展,也提高了工作效率和生活效率。
软件产业具有智力投入高、成长性高、成本投入低、服务性强、应用范围广、与国民经济关系密切等特点。一个高质量的软件会给企业和社会带来很大的便利,所以软件行业是一个发展前景很好的第三产业,软件行业将成为21世纪拥有最大产业规模和最广阔前景的新兴产业之一。
软件工程是研究和应用如何以系统性的、规范化的、可定量的过程化方法去开发和维护软件的一门工程学科,它把经过时间考验而证明正确的管理技术与当前能够得到的最好的技术方法结合起来,从而经济地开发出高质量的软件并有效地维护软件。
软件工程是应用计算机科学、数学、逻辑学、工程科学和管理科学等原理开发软件的工程。软件工程借鉴传统工程的原则、方法,以提高质量、降低成本和改进算法。其中,计算机科学、数学和逻辑学用于构建模型与算法,工程科学用于制定规范、设计范型、评估成本和确定权衡,管理科学用于计划、资源、质量、成本等管理。
本书系统地介绍软件工程的基本理论,全面介绍结构化和面向对象的软件工程方法中需求分析、设计、实现、测试及维护阶段的技术和方法,并给出完整的软件开发实例和项目实践案例。全书共10章。第1章全面介绍软件工程的基本概念,包括软件生存期、软件工程方法学、软件工程工具及软件生存期模型; 第2~4章系统讲述结构化的软件开发方法,其内容包括结构化分析的问题定义、可行性研究和需求分析,结构化软件设计的总体设计和详细设计,结构化的编码以及软件测试的方法和步骤,每个阶段都包含“高校图书借阅系统”和“航空公司机票预订系统”项目案例; 第5~7章系统讲述面向对象的软件开发方法,其内容包括面向对象需求分析的用例模型、对象模型和交互模型的创建方法,面向对象设计的环境模型设计、体系结构设计、问题域子系统设计、人机交互子系统设计、任务管理子系统设计、数据管理子系统设计的方法和内容,面向对象实现阶段的程序设计语言选择方法,程序设计风格确定准则及各种测试技术,第5、6章也包含了“高校图书借阅系统”和“航空公司机票预订系统”项目案例; 第8章分析软件维护的过程及软件可维护性的提高方法,介绍软件逆向工程和再工程技术; 第9章简单介绍软件设计模式的概念和常见的23种设计模式,重点介绍抽象工厂模式、单例模式、适配器模式、外观模式、责任链模式和观察者模式
; 第10章从人员的组织与管理、软件度量、软件项目计划、风险管理、软件质量保证、软件过程能力评估、软件配置管理7个方面介绍软件项目管理。
本书作者长期从事本科计算机类专业的教学工作,不仅具有丰富的教学经验,同时还具有多年的软件开发经验。依据长期的教学经验,作者深知软件工程的主要知识点、重点和难点,什么样的教材适合教学使用,学生及各类读者对软件工程的学习方式和兴趣所在,以及如何组织书本的内容更利于教学和自学,从而形成本书的结构体系。
本书内容翔实、体系完整、图文并茂、案例丰富,并包含完整的实践项目,具有较强的系统性、实用性和实践性。本书章节安排合理,理论与实践紧密结合,每章后面都配有丰富的习题,有助于读者理解概念、巩固知识、掌握重点、攻克难点。
本书可作为高等院校计算机应用专业、计算机信息管理专业及相关专业的教材和参考用书,也可供软件项目开发人员参考,还可作为计算机爱好者的自学参考书。
本书第1章和第5章由郭晴编写,第2~4章由尹志宇编写,第6、7章由解春燕编写,第8、9章由李青茹编写,第10章由刘静和姜兴华编写。全书由尹志宇统稿。
为便于教学,本书提供丰富的配套资源,包括教学大纲、教学课件、电子教案、习题答案、在线作业和微课视频。
资源下载提示
课件等资源: 扫描封底的“课件下载”二维码,在公众号“书圈”下载。
在线作业: 扫描封底的作业系统二维码,登录网站在线做题及查看答案。
视频等资源: 扫描封底的文泉云盘防盗码,再扫描书中相应章节中的二维码,可以在线学习。
由于编者水平有限,书中难免有疏漏与错误之处,衷心希望广大读者批评、指正。
编者
2022年8月
|
|