软件工程基础教程

出版时间:2004-1  出版社:科学出版社  作者:郭庚麒 编  页数:234  字数:348000  

前言

软件工程是一门实践性很强的课程,它是各种开发经验的总结与提炼。软件工程不仅是计算机专业学生十分重要的一门专业课程,也是各类软件开发人员必需掌握的技术。目前,软件工程已从第一代传统的软件工程发展为第二代面向对象的软件工程,如今正向基于软件复用的第三代软件工程发展。为适应信息技术迅速发展和教学的需要,我们特意编写了本书。本教材的任务是使学生掌握软件工程的基本概念、基本原理、实用的开发方法和技术;了解软件工程各领域的发展动向。在本书的编写过程中,我们根据软件工程的最新发展,着重介绍面向对象的开发方法,并将UML建模技术应用到实际系统的分析和设计中。全书共分13章,内容包括软件工程概述、软件开发模型、系统分析、系统设计、“软件编码与测试、软件维护、配置管理、质量管理、文档技术、软件复用和软件工程环境等。本书语言简练,通俗易懂,采用案例教学方法;注重培养学生的实际开发能力和文档的写作能力,具有很强的实用性,可作为高职高专院校计算机专业或信息类专业的教材,也可作为软件开发人员的参考书。本书第1、2、3、4、9章由余明艳编写,第5、6章由杨丽编写,第7、8、10、11、12、13章由郭庚麒编写。全书由郭庚麒负责统稿,周江协助书稿的整理并准备了附录。在本书的编写过程中,我们参阅了大量的资料,在此对所有的编著者表示衷心的感谢。由于编者时间仓促,水平有限,书中不足之处敬请批评指正。

内容概要

本书主要介绍现代软件工程的基本原理、方法和应用。内容包括:软件工程概述、软件开发模型、系统分析、系统设计、软件编码与测试、软件维护、配置管理、质量管理、文档技术、软件复用和软件工程环境等。根据软件工程的最新发展,着重介绍了面向对象的开发方法,并将UML建模技术应用到实际系统的分析和设计中。    本书语言简练,通俗易懂,采用案例教学方法;注重培养实际开发能力和文档的写作能力。本书具有很强的实用性,可作为高职高专院校计算机专业或信息类专业的教材,也可作为软件开发人员的参考书。

书籍目录

第1章  软件工程概述  1.1 软件    1.1.1 软件的定义    1.1.2 软件的特点及最新发展    1.1.3 软件的分类  1.2 软件工程概念    1.2.1 软件危机    1.2.2 软件危机的原因及解决方法    1.2.3 软件工程的概念    1.2.4 软件工程的原则  1.3 软件生存周期与开发模型    1.3.1 软件生存周期    1.3.2 软件开发模型   习题第2章  结构化分析  2.1 软件定义过程概述    2.1.1 问题的定义    2.1.2 可行性研究    2.1.3 需求分析  2.2 结构化分析    2.2.1 结构化分析方法概述    2.2.2 数据流图    2.2.3 数据词典    2.2.4 加工逻辑的描述方法  2.3 需求规格说明与评审    2.3.1 需求规格说明的主要内容    2.3.2 需求分析的评审  2.4 需求规格说明书写作范例  习题第3章  概要设计  3.1 概要设计的任务与步骤    3.1.1 概要设计的任务    3.1.2 概要设计的过程  3.2 软件设计的概念与原则    3.2.1 模块化    3.2.2 抽象与逐步求精    3.2.3 信息隐蔽和局部化    3.2.4 模块独立性    3.2.5 设计准则  3.3 面向数据流的设计方法    3.3.1 基本概念    3.3.2 系统结构图    3.3.3 变换分析    3.3.4 事务分析    3.3.5 设计优化  3.4 概要设计文档评审  3.5 概要设计文档写作范例  习题第4章  详细设计  4.1 详细设计的任务与原则    4.1.1 详细设计的任务    4.1.2 详细设计的原则  4.2 详细设计的方法    4.2.1 程序流程图    4.2.2 N-S图    4.2.3 PAD图    4.2.4 PDL  4.3 详细设计规格说明书与评审    4.3.1 详细设计说明书    4.3.2 详细设计复审  4.4 详细设计文档写作范例  习题第5章  面向对象的分析和设计  5.1 面向对象方法概述    5.1.1 面向对象方法概述    5.1.2 面向对象的软件工程    5.1.3 面向对象的基本概念和特征    5.1.4 面向对象的开发方法  5.2 面向对象分析    5.2.1 OOA方法概述    5.2.2 确定对象    5.2.3 确立结构    5.2.4 确立主题    5.2.5 确定属性    5.2.6 确定服务和消息  5.3 面向对象设计    5.3.1 OOD方法概述    5.3.2 人机交互子系统的设计      5.3.3 问题域子系统的设计    5.3.4 任务管理部分的设计    5.3.5 数据管理部分的设计    5.3.6 OOD的基本准则    习题第6章  统一建模语言UML第7章  面向对象分析与设计范例第8章  程序编码第9章  软件测试第10章  软件维护第11章  配置管理与文档技术第12章  软件质量管理第13章  软件复用和CASE技术附录  计算机软件开发文档编写指南附录1 可行性研究报告附录2 项目开发计划附录3 需求规格说明书附录4 概要设计说明书附录5 详细设计说明书附录6 测试计划附录7 测试分析报告附录8 开发进度月报附录9 项目开发总结报告主要参考文献

章节摘录

插图:决软件危机的一个重要方法。由此,软件工程成为了计算机科学技术中的一个新领域,它从管理和技术两方面研究如何更好地开发和维护计算机软件,有效地缓解了软件危机所引发的种种问题。1.2.3 软件工程的概念软件工程是指应用计算机科学、数学及管理科学等原理,以工程化的原则和方法来解决软件问题,指导计算机软件开发和维护的一门工程学科。软件工程过程是为了获得好的软件产品,在软件开发工具的支持下,由软件开发者即软件工程师完成的一系列软件工程活动。软件工程过程通常包含以下四种基本活动:1)软件需求规格说明。确定被开发软件的功能及性能指标,给出软件运行的约束。2)软件开发。开发出满足软件需求规格说明的软件。3)软件确认。确认软件能够满足客户提出的要求。4)软件维护。为满足用户对软件提出的新的要求,软件必须在使用中不断维护,以适应用户。事实上,软件工程过程是一个软件开发机构针对某类软件产品为自己规定的工作步骤,它应当是科学的、合理的,否则必将影响软件产品的质量。1.2.4 软件工程的原则软件工程的目的是提高软件生产率,提高软件质量,降低软件成本。为了达到这个目的,在软件的开发过程中必须遵循以下软件工程原则。(1)抽象抽取事物最基本的特性和行为,忽略非基本细节。采用分层次抽象,自顶向下、逐层细化的办法控制软件开发过程的复杂性。(2)信息隐蔽将模块设计成“黑箱”,实现细节隐藏在模块内部,不让模块的使用者直接访问,这就是所谓信息封装(使用与实现分离)的原则。使用者只能通过模块接口访问模块中封装的数据。(3)模块化模块是程序中在逻辑上相对自主的成分,是独立的编程单位,应有良好的接口定义。如C语言程序中的函数过程,c++语言程序中的类。模块化有助于信息隐蔽和抽象,有助于表示复杂的系统。(4)局部化在一个物理模块内集中逻辑上相互关联的计算机资源,。保证模块之间有松散的耦合,模块内部有较强的内聚,这有助于控制软件的复杂性。(5)确定性软件开发过程中所有概念的表达应是确定的、无歧义的、规范的。这样有助于人们在交流时不会产生误解、遗漏,保证整个开发工作的协调一致。(6)一致性

图书封面

评论、评分、阅读与下载


    软件工程基础教程 PDF格式下载


用户评论 (总计0条)

 
 

 

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

京ICP备13047387号-7