软件工程原理

出版社:沈备军、陈昊鹏、 陈雨婷 高等教育出版社 (2013-02出版)
出版日期:2013-2
ISBN:9787040369069
页数:540页

章节摘录

版权页:   插图:   软件过程包括: (1)软件实现过程 软件实现过程(Software Implementation Process)用于在软件中产生一个特定的系统元素(即软件项),以满足需求。它是实现过程在软件中的特化,包括7个过程:软件实现过程、软件需求分析过程、软件架构设计过程、软件详细设计过程、软件构建过程、软件集成过程和软件合格测试过程。 (2)软件支持过程 软件支持过程(Software Support Process)提供一组特定的活动来执行特定的软件过程,支持软件实现过程,以帮助软件项目取得成功。它包括8个过程:软件文档管理过程、软件配置管理过程、软件质量保证过程、软件验证过程、软件确认过程、软件评审过程、软件审计过程和软件问题解决过程。 (3)软件复用过程 软件复用过程(Software Reuse Process)支持一个组织跨项目复用软件项,它包括3个过程:领域工程过程、复用资产管理过程和复用程序管理过程。 2.1.3软件过程的核心元素 根据软件过程的定义,软件过程的核心元素包括活动、任务、工件和角色。其中活动可细分成子活动,它是任务的集合,任务将输入工件加工成输出工件。活动和任务是由人来执行的,软件也是为人而开发的,一个人可以担任多个角色,一个角色可以由多人承担。简单来说,软件过程的核心元素回答了谁(角色)用什么(输入工件、资源)如何(活动、任务)完成工作(输出工件)的问题。此外,还可以把目标和度量指标作为软件过程的有机组成部分。 (1)活动:是过程的核心,指过程中包含的所有开发、维护和管理等活动,它们通常是并发的和合作的。一个活动可以细分为多个子活动,从而形成一个树状的层次结构,不同的活动处于不同的抽象层次。 (2)任务:是活动的细分。例如创建项目计划可以细分为多个任务,识别和确定任务项,确定任务项优先级,评估任务项工作量,安排任务项完成次序,确定任务项完成人员等。 (3)工件:是软件过程的工作产品,可以分为输人工件和输出工件。工件涉及软件工程产生的各种工作内容,甚至是软件过程本身。例如,代码、测试案例、需求等都是工件,是某个活动或任务的输入或输出。 (4)角色:定义了在软件工程组织的环境中,个人或协同工作的多人小组的行为和职责。角色代表项目中个人承担的任务,并定义其如何完成工作。 (5)资源:是指执行过程所需的最佳实践、工具、机器、技术和场地等支持。其中最佳实践是一种经过实际检验的方法、准则或者过程,遵循最佳实践通常可以减少项目风险、提高开发效率。之所以将工具也归为软件过程的元素,是因为开发活动越来越复杂,没有工具的支持,开发活动很难有效进行。 (6)目标:每一个过程都有其明确的目标,例如开发一个新的软件产品,或者对一个已有软件进行版本升级。过程的活动则可以拥有一个细分的目标,活动间相互协同达到过程的目标。 (7)度量指标:指过程目标的具体测量和分析,如进度、成本、质量、返工率等,从而实现过程的定量管理。

书籍目录

第一部分 软件工程基础 第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 软件工程经济学 1.4 案例概述 本章小结 参考文献 习题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.3 统一软件过程 2.3.1 阶段 2.3.2 迭代 2.3.3 过程规范 2.4 敏捷过程 2.4.1 敏捷过程的价值观和原则 2.4.2 XP 2.4.3 Scrum 2.4.4 MSF 2.5 软件过程的选择、裁剪、评估和改进 2.5.1 软件过程的选择和裁剪 2.5.2 软件过程的评估 2.5.3 软件过程的改进 本章小结 参考文献 习题2 第3章 软件建模 3.1 模型和建模 3.1.1 模型 3.1.2 软件模型的3个层次:CIM、PIM禾口PSM 3.1.3 软件建模方法 3.2 结构化方法 3.2.1 结构化分析 3.2.2 结构化设计 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.4.4 构件管理 3.4.5 应用开发和构件组装 3.4.6 与面向对象方法的关系 3.5 面向服务方法 3.5.1 面向服务架构的基本概念 3.5.2 面向服务建模的内涵 3.5.3 面向服务建模的方法 3.6 模型驱动开发方法 3.6.1 从代码驱动到模型驱动 3.6.2 元模型和MOF 3.6.3 基于MDA的软件开发方法 3.7 形式化方法 3.7.1 形式化方法的概念 3.7.2 形式化规约 3.7.3 形式化开发 3.7.4 形式化验证 3.8 敏捷建模方法 3.8.1 敏捷建模的原则 3.8.2 敏捷建模的实践 本章小结 参考文献 习题3 第4章 需求工程 4.1 软件需求面临的挑战 4.2 需求工程的概念 4.2.1 软件需求 4.2.2 需求的层次 4.2.3 优秀需求应具有的特性 4.2.4 软件需求工程 4.3 需求获取 4.3.1 需求来源 4.3.2 需求获取技术 4.4 需求分析建模 4.4.1 分析模型 4.4.2 分析建模的准则 4.5 需求定义和验证 4.5.1 软件前景文档 4.5.2 软件需求规约 4.5.3 用户界面原型 4.5.4 软件需求验证 4.6 需求管理 4.6.1 定义需求基线 4.6.2 需求变更控制和版本控制 4.6.3 需求跟踪 本章小结 参考文献 习题4 第5章 面向对象的分析建模 5.1 面向对象的分析模型 5.1.1 用例图 5.1.2 活动图 5.1.3 类图 5.1.4 时序图 5.1.5 通信图 5.1.6包图 5.2分析建模的步骤 5.3用例建模 5.3.1执行者的识别 5.3.2用例的识别 5.3.3用例图的构建 5.3.4用例规约的撰写 5.3.5用例模型的优化 5.4建立概念模型 5.5用例实现的识别 5.6分析类的识别 5.6.13种分析类 5.6.2识别边界类 5.6.3识别控制类 5.6.4识别实体类 5.7用例分析 5.7.1职责分配的通用原则 5.7.2时序图和通信图的构建 5.7.3类图的构建 本章小结 参考文献 习题5 第6章设计工程 6.1设计工程概述 6.1.1软件设计过程 6.1.2软件设计模型 6.2软件设计原则 6.2.1抽象 6.2.2分解和模块化 6.2.3封装和信息隐藏 6.2.4高内聚和低耦合 6.3软件质量属性的设计策略 6.3.1可用性设计策略 6.3.2可修改性设计策略 6.3.3性能设计策略 6.3.4安全性设计策略 6.3.5可测试性设计策略 6.3.6易用性设计策略 6.4架构风格 6.4.1通用结构的架构风格 6.4.2分布式系统的架构风格 6.4.3交互式系统的架构风格 6.4.4自适应系统的架构风格 6.4.5其他架构风格 6.5设计模式 6.5.1创建型设计模式 6.5.2结构型设计模式 6.5.3行为型设计模式 6.6人机界面设计 6.6.1界面设计原则 6.6.2人机交互方式 6.6.3界面设计过程 6.6.4界面设计问题 本章小结 参考文献 习题6 第7章面向对象的设计建模 7.1面向对象的设计模型 7.1.1设计建模过程 7.1.2构件图 7.1.3部署图 7.1.4状态机图 7.2架构设计 7.2.14+1架构视图 7.2.2逻辑视图设计 7.2.3进程视图设计 7.2.4开发视图设计 7.2.5物理视图设计 7.2.6场景视图设计 7.2.7视图选择 7.3包和子系统设计 7.3.1包设计原则 7.3.2子系统设计 7.4类设计 7.4.1类设计原则 7.4.2类设计过程 7.5持久化设计 7.5.1实体对象模型与数据库设计 7.5.2数据库设计 7.5.3持久化框架 本章小结 参考文献 习题7 第8章软件测试 8.1软件测试概念 8.1.1软件测试定义 8.1.2软件测试原则 8.1.3软件可测试性 8.2软件测试策略 8.2.1软件测试层次 8.2.2软件质量属性测试 8.2.3其他软件测试策略 8.3软件测试技术 8.3.1测试技术分类 8.3.2基于直觉和经验的测试 8.3.3基于代码的测试 8.3.4基于规约的测试 8.3.5基于错误的测试 8.3.6基于模型的测试 8.3.7基于应用类型的测试 8.4软件测试过程 8.4.1测试计划 8.4.2测试设计 8.4.3测试开发 8.4.4测试执行 8.4.5测试评估 8.5自动化测试 8.5.1自动化测试的定义和优势 8.5.2自动化测试适用的场合 8.5.3自动化测试的误区 8.5.4测试工具 本章小结 参考文献 习题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.3.3维护成本估算 9.4软件维护过程与维护活动 9.4.1维护过程 9.4.2维护活动 9.5软件维护技术 9.5.1程序理解 9.5.2逆向工程 9.5.3再工程 本章小结 参考文献 习题9 …… 第二部分 软件工程管理 第三部分 高级主题 附录 IEEE软件工程知识体系(SWEBOK)

编辑推荐

《普通高等教育"十一五"国家级规划教材•高等学校软件工程系列教材:软件工程原理》从软件工程的本质出发、结合实际案例,系统全面地介绍软件过程、软件建模技术与方法及软件工程管理同时介绍一些热点新技术和新方法。内容覆盖SWEBOK第3版的全部核心知识域,力求体现国际软件工程本科教学课程大纲(CCSE)、国际软件工程硕士教学课程大纲(GSWE)、CSDA和CSDP认证考试大纲要求并加强软件安全工程的内容。

作者简介

《普通高等教育"十一五"国家级规划教材•高等学校软件工程系列教材:软件工程原理》覆盖软件工程知识体系(SWEBOK)(第3版)的全部核心知识域,从软件工程的本质出发,系统、全面地介绍软件过程、软件建模技术和方法以及软件工程管理,同时介绍一些热点新技术和新方法。全书分为三大部分,共20章。第一部分为软件工程基础,讲述软件工程的基本原则、软件过程以及从需求、设计、测试到维护的活动,共9章。第二部分为软件工程管理,讲述工程管理的重要知识域,包括软件项目管理、软件项目估算和计划、软件质量管理、软件风险管理、软件度量和人员管理,共6章。第三部分为高级主题,讲述当前热门的一些新技术和新方法,共5章。此外,还以一个汽车4S店业务管理系统为案例,阐述软件工程从需求、设计、测试到管理等各核心环节,使学生扎实地掌握理论知识,培养其解决实际问题的能力。


 软件工程原理下载



发布书评

 
 


精彩短评 (总计3条)

  •     这位老师的水平不错,建议购买。
  •     如题,上海交通大学的同学们要考软件工程相关课程的时候买这本书还是比较靠谱的,就是价格有点贵了。尽量想办法搞二手书。
  •     我是第一个读过的!自己的老师的书当然要顶!
 

外国儿童文学,篆刻,百科,生物科学,科普,初中通用,育儿亲子,美容护肤PDF图书下载,。 零度图书网 

零度图书网 @ 2024