软件工程理论与应用

出版时间:2010-6  出版社:北京大学出版社  作者:杨丰 编  页数:183  

前言

软件工程是计算机科学的一个重要组成部分,一直以来都是软件工作者不断探究、研究的领域。软件工程是指导软件开发的学科,在大学本科阶段,计算机专业的学生需要不断形成一定的软件开发模式,掌握软件开发的要领。因此,软件工程课程给出软件开发的基本概念、开发方法、开发模式和开发实例,有助于学生通过理解和掌握软件工程的概念、方法,学会运用软件工程的基本原理,并应用到实际和实践中去。软件工程课程是计算机专业课程体系的一个重要部分,它需要有计算机专业的其他专业基础课程作为支撑,融合了多门课程的知识精华,结合了自身的原理、方法、技术和实践经验,培养学生形成良好的软件开发习惯和开发软件的模式。软件工程学采用了工程化的原理、方法,结合管理技术和先进的开发技术,更及时准确、经济地开发出高质量的软件系统。软件工程学研究广泛,包括软件开发方法、技术、工具和管理方法等多方面的内容。在实际应用中严格遵循软件工程的原理和方法,可以极大地提高软件开发的效率,提升软件开发的质量,降低软件开发的成本,及时准确地为用户提供相应的软件系统。目前,计算机专业的本科学生的专业课程学习,更多地侧重在实际的运用上,课程不能单纯从理论知识进行讲授,而且随着计算机技术的飞速发展,从计算机开发语言到软件系统的开发模式、方法等都发生了很大的变化,同时,软件应用规模和范围也不断扩大和越来越广泛,软件工程知识表示出了纷繁复杂的多样性,这给软件工程课程的讲授带来了复杂性。软件工程课程到底应该给计算机专业的本科学生带来哪些知识,是目前很多软件工程研究者不断探究的问题。本书从学生知识积累的实际角度出发,既要详尽地阐述软件工程的基本原理和基本方法,同时也要结合近几年来不断完善的新技术和新方法,注重理论、方法和应用特点,对软件开发全过程进行阐述,包括分析、设计、实现、测试和软件工程管理等方面的内容,同时给出相应的实例。本书本着理论不脱离实践的原则,文字通俗易懂,概念清晰,内容简洁明了,可作为高等学校计算机专业课程的教材和教学参考书。本书的编者都是长期从事软件工程课程讲授的高校计算机专业教师,有着丰富的教学经验,同时也是多年从事软件系统开发工作的人员,既有理论知识,又有实践工作经验,经历了早期软件开发,也面临着现代软件开发方法、技术的更新,有效地融合经典软件开发方法,能够将经典开发中所获得的经验与现代开发方法结合,有利于促进新技术、新方法的不断完善。本书的第1、2、4章由黑龙江大学杨丰、周广田编写;第3章由黑龙江大学陈立言编写;第5章由哈尔滨商业大学韩轲编写;第6章由黑龙江大学钟颖莉编写。由于软件工程知识的不断变化,书中难免存在很多不当之处,恳请读者批评指正,并提出宝贵意见,以便进一步完善。

内容概要

本书结合国内外经典软件工程的精华和软件项目开发的实践经验,采用案例讲解方式,详细阐述软件开发的过程、方法和使用的工具,同时,对传统开发方法和面向对象开发方法分别详述,有利于读者理解和比较两种方法的特点。本书主要内容包括:软件开发过程模型、需求分析、系统总体设计和详细设计、编码实现、软件测试方法以及软件工程管理等。    本书可以作为高等院校计算机专业、软件工程专业、信息管理专业的教材或教学参考书,也可以作为通信、电子工程、自动化等相关专业的软件工程课程的教材。

书籍目录

第1章  软件与软件工程  1.1 软件    1.1.1 软件的概念    1.1.2 软件的特征    1.1.3 软件的分类    1.1.4 软件的应用    1.1.5 软件的未来与工业化  1.2 软件工程    1.2.1 软件工程的概念    1.2.2 软件工程学的范畴    1.2.3 软件工程的开发原则    1.2.4 软件工程面l临的挑战    1.2.5 软件工程师的未来  1.3 软件过程模型    1.3.1 瀑布模型    1.3.2 进化式开发    1.3.3 过程反复    1.3.4 形式化开发    1.3.5 RUP    1.3.6 基于组件的集成模型    1.3.7 XP方法    1.3.8 基于Web的开发模型    1.3.9 自动化的过程支持    本章要点    练习第2章  软件需求分析  2.1 需求与需求分析    2.1.1 需求的定义    2.1.2 需求分析的任务    2.1.3 需求分析的步骤    2.1.4 需求的内容与特征  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 描述方式    2.4.3 结构化分析步骤  2.5 面向对象分析方法    2.5.1 面向对象分析的基本思想    2.5.2 面向对象的基本概念    2.5.3 面向对象分析步骤    2.5.4 面向对象分析实例  2.6 软件需求分析的文档    2.6.1 软件需求说明的特征    2.6.2 软件需求说明书的编写原则    2.6.3 软件需求规格说明书的模板  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 总体结构设计工具——SC    3.4.3 面向数据流的设计方法  3.5 面向对象的设计方法    3.5.1 面向对象的设计模型    3.5.2 面向对象的设计过程  3.6 数据设计    3.6.1 数据设计的目的    3.6.2 数据表示模型ERD      3.6.3 数据表的表示形式  3.7 过程设计    3.7.1 详细设计的任务    3.7.2 详细设计的原则    3.7.3 常用的表达工具  3.8 界面设计    3.8.1 界面设计的步骤    3.8.2 界面设计的分类    3.8.3 界面设计的信息表示  3.9 软件设计文档  本章要点  练习第4章  编码实现  4.1 程序设计语言    4.1.1 程序设计语言    4.1.2 程序设计语言的分类    4.1.3 程序设计语言的选择  4.2 编码标准  4.3 编码风格    4.3.1 源程序文档化    4.3.2 数据说明    4.3.3 语句结构    4.3.4 输入/输出  本章要点  练习第5章  软件测试  5.1 测试的基本概念    5.1.1 软件测试的定义    5.1.2 质量和可靠性  5.2 测试方法    5.2.1 测试方法    5.2.2 黑盒测试方法    5.2.3 白盒测试方法  5.3 测试策略    5.3.1 单元测试    5.3.2 综合测试    5.3.3 高级测试  5.4 软件测试工具    5.4.1 自动化软件测试的特点    5.4.2 测试工具的分类    5.4.3 常见的测试工具实例  5.5 纠错技术    5.5.1 纠错的方法    5.5.2 纠错的辅助手段    本章要点    练习第6章  软件工程管理  6.1 软件工程管理的目的    6.1.1 软件工程管理的目的与内容    6.1.2 软件工程管理的活动  6.2 进度管理    6.2.1 项目计划    6.2.2 项目进度分配过程    6.2.3 项目进度管理的工具  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 提高软件质量的途径  6.6 风险管理    6.6.1 风险管理的过程    6.6.2 风险识别    6.6.3 风险分析与评估    6.6.4 风险规划与监控    本章要点    练习参考文献

章节摘录

插图:软件工程师应当做出承诺,使软件的分析、设计、实现、测试和维护等工作对社会有益且受人尊敬。随着社会的进步、技术的发展,在各行各业都会出现软件工程师,成为企业信息化道路的支持者、推进者。1.3软件过程模型软件作为产品需要一个循序渐进的生存过程,把软件产品从计划开始,经过开发、使用和维护等活动,直到退役为止的全过程称为软件生存周期(Software Life Cycle)。根据软件所处的状态、特征以及软件开发活动的目的,软件开发任务可以划分为不同的阶段,这些阶段之间的关系用开发模型表示。软件开发模型是软件开发过程的概括,为软件工程管理提供里程碑和进度表,为软件开发过程提供原则和方法。软件开发模型给出了软件开发活动各阶段之间的关系。软件过程模型是软件开发人员经过多年的探索形成的软件开发步骤和方法,针对应用特点,对开发过程归纳为开发过程框架。1.3.1 瀑布模型B.w.Boehm提出了瀑布模型(Waterfall Model),将软件开发过程划分为阶段,像瀑布一样拾阶而下,模型中各个阶段的任务和软件开发活动如图1-7所示。根据软件生存周期各个阶段的任务,瀑布模型从项目计划开始,逐步进行阶段性变换,直至通过测试并得到用户确认的软件产品为止。通过瀑布模型框架结构可以看到一般软件系统的开发步骤分为3个阶段:计划阶段、开发阶段、维护阶段。在计划阶段主要完成对系统可行性的论证,描述系统的定义、范围与系统实现的意义;开发阶段分为4个步骤:系统需求分析、系统设计、系统实现、测试;维护阶段完成系统在运行过程中所做的修改。瀑布模型的特点是具有阶段的顺序性和依赖性,系统的实现过程遵循了阶段排列的次序,按次序完成每一个步骤,同时,步骤之间相互依赖,前一步获得的结果作为下一个步骤的输入,前一步骤完成后下一个步骤才能开始。瀑布模型从软件制作时间上按工序把项目分为有序的步骤,实现了流水线的生产方式,便于分工协作,推迟了物理实现。

编辑推荐

《软件工程理论与应用》是普通高等教育“十一五”国家级规划教材。

图书封面

评论、评分、阅读与下载


    软件工程理论与应用 PDF格式下载


用户评论 (总计0条)

 
 

 

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

京ICP备13047387号-7