Java资源分享网 - 专业的Java学习网站 学Java,上Java资源分享网
软件工程 SoftwareEngineering-Theory-and-Practice-中文版 PDF 下载
匿名网友发布于:2024-03-01 10:01:35
(侵权举报)
(假如点击没反应,多刷新两次就OK!)

软件工程 SoftwareEngineering-Theory-and-Practice-中文版  PDF 下载 图1

 

 

资料内容:

 

 

内容与组织
本书分为三部分:第一部分(第一章至第三章)启发读者阐述软件工程知识对于实践者
和研究人员的重要性,讨论了问题理解,项目计划意义;第二部分(第四章至第十一章)详
细阐述开发维护主要步骤,可以不考虑创建软件的处理模型:需求检查、需求获得、设计问
题解决方案,代码编写和测试、提交用户;第三部分(第十二章到第十四章)集中讨论评价
与改进。这里将阐述我们如何看待软件产品的质量和怎样提高质量。
 
第一章:为何需要软件工程
在本章中,我们首先说明每种关键问题均出现在后面的那些章节中。然后参考
Wassermans 的核心因素给出软件工程的定义:抽象、分析、方法设计、专用符号、模块和
体系结构,软件生命周期、出版,重用、测量,工具,环境集成,用户界面。接着讨论计算
机科学和软件工程之间的差别,解释一些可能遇到的问题,给本书其它部分打下地基。最后
阐明了实用系统方法建立软件的必要性,给出的两个实例是各章中都将用到的,同时给出这
些实例的工程背景。
 
第二章:过程模块与生命周期
给出各种不同类型的处理和生命周期模块概要,包括:瀑布模式,V 模式,螺旋模式以
及其他原型。我们还将讨论几种建模技术,工具,包括系统动力,SADT 和常用方法。对于
两个实例我们都给出模块分析。
 
第三章:项目计划与管理
本章主要讲解项目计划和进度安排。引入几个概念,比如:工作量,里程碑,进度安排
表,任务图,风险管理,成本估算。同样我们将用估算模型评价两个实例的成本代价。集中
F-16 飞行器软件开发系统和 Digitals alpha AXP 项目的软件开发与管理的成本估算。
 
第四章:需求分析
本章讲解需求分析和需求说明书,阐明功能需求与非功能需求的差别,分别用几种不同
的方式说明他们之间的差别,讨论如何建立需求原型。并且使用各种正式的方法说明和评价
需求。此外还包括需求文档书写,需求文档回顾,需求质量及评价,需求可测性。
 
第五章:系统设计
本章主要考虑系统结构问题。首先讨论 Shaw Garlan 的软件体系结构框架。接着描述
概念设计和技术设计的区别。讨论负责设计的人员的角色,两种基本设计方法:组合法与分
解法。然后给出良好设计特征,介绍几个设计策略,给出若干系统设计技术的实例,工具。
在本章中读者还将学到客户-服务器体系结构,可重用设计组件,人机接口设计,安全与可
靠性设计(包括出错处理和容错技术),设计模式,正式的设计方法,设计协议评价。在解
释了如何评价设计质量和正确性证明,怎样书写结果文档,我们转向代码设计阶段。
代码设计分别用模块化设计和独立设计用两种方法:自顶向下,自底向上解释,并给出
逻辑设计和物理设计的区别。针对并发与安全性要求较高的系统,我们检查其设计上的因差
错而导致的 Therac-25 的功能故障。举出若干设计工具,彻底讨论设计质量以及怎样衡量。
最后结合信息系统和时实系统两个实例给出软件设计的实例。
 
第六章:关于对象
第六章从间接的角度考虑面向对象开发的特殊性质。我们先给出使用案例的背景,讨论
如何从需求中获得对象、对象特征。其次要检查系统设计。接着扩充系统设计,加入非功能
性需求,编程设计的代码细节。使用 UML 和构造图,我们可以产生面向对象的系统说明和
系统设计,这里所用的实例是空军服务站系统。
对于面向对象开发的评价,我们使用普通的面向对象规则评价服务站系统。可以从中学
到如何在规则中加入适当的改变有助于我们决定如何分配资源,寻找错误。
 
第七章:编写代码
在本章中将讲解如何编写高质量的代码实现系统设计。将着重讨论代码编写标准、编写
过程、提倡使用简单实用的编程指导。在这里给出两种类型语言的编程实例:面向对象和面
向过程。并讨论代码文档的必要性,错误处理措施。
 
第八章:程序测试
本章将从不同侧面考虑程序测试,比较两种方法,确认软件系统。给出软件问题定义,
分类。分类方法怎样使数据采集,数据分析更加有效。解释单元测试和整体测试的区别。引
入若干软件自动测试工具和技术,测试生命周期的必要,以及如何将这些工具、技术集成到
系统中。
 
第九章:系统测试
首先给出系统测试的原则,包括测试和数据的重用性,配置管理。所引入的概念还包括 :
功能测试、性能测试、确认测试、安装测试。同时分析了面向对象系统的特殊测试需求。这
里给出几个测试工具,测试小组的成员讨论内容。接下来介绍软件可靠性模型,可靠性问题 ,
软件可维护性,适用性。读者可从中学会如何使用测试结果评价提交产品可能具有的特征。