书名:软件工程
编号:508041
ISBN:9787810544924[十位:7810544926]
作者:王家华
出版社:东北大学出版社
出版日期:2001年01月
页数:305
定价:30.00 元
参考重量:0.460Kg
-------------------------
图书情况:正版二手旧书,绝不影响正常阅读!
绝无缺页少页,发货前再次检查,请放心购买!
* 内容提要 *
《软件工程》是根据编者多年来从事软件工程研究与教学经验,在参阅了大量国内外最新资料的基础上编写而成的,包括了传统的结构分析方法和正在发展的面向对象的开发方法学,涵盖了从可行性论证直到软件维护各阶段的内容,主要有:可行性论证技术;半形式化和形式化规范技术;软件项目质量、配置管理及软件项目的特征量;模块化原理;系统结构优化设计;输入/出接口优化设计;结构程序设计;测试案例设计;面向对象原理;面向对象的建模;系统设计与测试;以及某些开发阶段特征量的概念、计算和应用。《软件工程》可作为本科生、研究生软件工程课的教材。
* 图书目录 *
1 软件工程引论
1.1 软件困境
1.2 软件工程
1.3 某些广泛使用的过程模型
1.4 小结
练习题
2 软件工程管理技术
2.1 软件特征量
2.2 软件规模估计
2.3 软件工作量的估计
2.4 软件项目的调度
2.5 人员组织
2.6 软件质量管理
2.7 软件配置管理
2.8 小结
练习题二
3 可行性研究
3.1 可行性研究的基础
3.2 可行性研究的任务
3.3 成本/效益分析
3.4 可行性研究的步骤
3.5 小结
练习题三
4 需求分析和规范
4.1 用户需求分析的任务
4.2 需求规范
4.3 数据流程图
4.4 数据字典
4.5 判定表与判定树
4.6 有限状态机
4.7 Petri网
4.8 形式化规范技术
4.9 用户需求规范的评审
4.1 0小结
练习题四
5 总体设计
5.1 总体设计的概念与原则
5.2 模块化原理
5.3 总体设计中的特征量
5.4 图形工具
5.5 软件结构的设计方法
5.6 程序结构的优化设计
5.7 大型软件系统设计中的可集成性问题
5.8 小结
练习题五
6 详细设计
6.1 数据设计
6.2 人.机接口的设计
6.3 模块逻辑的设计
6.4 表示程序逻辑的工具
6.5 结构程序设计
6.6 详细设计的特征量
6.7 小结
练习题六
7 程序设计
7.1 程序设计语言
7.2 程序设计风格
7.3 反缺陷程序设计
7.4 小结
练习题七
8 测试
8.1 白盒测试
8.2 黑盒测试
8.3 单元测试
8.4 集成测试
8.5 调试
8.6 集成测试的特征量
8.7 小结
练习题八
9 面向对象方法学引论
9.1 传统方法的缺点
9.2 面向对象的概念
9.3 面向对象的程序设计
9.4 面向对象的系统分析和设计
9.5 小结
练习题九
10 面向对象的系统分析
10.1 领域分析
10.2 00分析模型的一般过程和部件
10.3 OOA过程
10.4 对象行为模型
10.5 00分析模型的进一步讨论
10.6 小结
练习题十
11 面向对象的系统设计
11.1 子系统设计
11.2 系统设计部件及其相互作用结构
11.3 对象设计
11.4 设计模板
11.5 小结
练习题十
12 面向对象系统的测试
12.1 拓宽测试的观点
12.2 测试OOA和OOD模型
12.3 面向对象的测试策略
12.4 软件的测试案例设计
12.5 适用于类级的测试方法
12.6 类间测试案例设计
12.7 小结
练习题十二
参考文献
……
* 文章节选 *
1.1.1软件的特征
研究软件的特征,有助于理解软件生产的困难,进而去克服它们。
(1)复杂性。
一个软件产品是和计算机系统联系在一起的。人们赋予计算机系统的期望与功能不同于任何其他产品。除了计算机系统以外的任何产品,不过是人们手和脚功能的延伸。例如。一个普通机床,人们利用它将金属材料加工成机器零件。某种意义上说,机床是人们手的功能的延伸,相当于使人的手变得更有力,更锋利,能够将坚硬的金属材料加工成需要形状和尺寸的产品。一个汽车的功能即使再复杂,性能再优越,它不过是人腿功能的延伸和人类负重能力的加强。但是计算机不同,人类希望它能够加强和解放人类的最高级器官——大脑的功能。人们使用计算机监视生产过程,根据生产情况发出调度指令,生产出高质量的产品。实践证明:在这方面计算机做得甚至比人类自身更好。计算机用于事务管理,例如财务管理,可以快速存取大量的数据,更快更准确地计算,将财会人员从繁重的脑力劳动中解放出来。计算机能用于科学计算,求解复杂的超越方程。这类方程靠人类的大脑和手是无法精确求解的。在这方面计算机是人类大脑的延伸。计算机代替人脑的应用例子不胜枚举。一个普通计算机只是一个通用的计算装置,它只能快速执行其指令集合的指令。而这些应用功能的实现是由这些指令构造的计算机程序去操纵有关的数据实现的,即由计算机软件实现。软件要实现的功能是人类大脑的部分功能或某部分功能的加强。因此从本质上决定了和其他产品相比,软件是一种更为复杂的产品。(2)难以描述性。这个特性指的是某些软件算法的难以描述的特性。科学家和工程师在解决问题时。总是采用抽象的模型描述现实世界,使用数学公式准确地表达客观规律。例如航天专家们使用运动学定律描述飞行体的运动;化学家应用化学方程描述化学反应。当计算机应用于这些领域时,软件能够采用这些抽象模型来表达其算法,软件算法具有同样的可描述性。但是当计算机应用于其他领域时,例如建立一个企业的应用系统,计算机软件的算法将是复杂的,很难用一个或一组公式准确地表示它。它往往需要自然语言结合数学公式以及其他表示方法,如逻辑公式等来表示。由于自然语言中存在着二义性,因此用自然语言所表达的算法是很难准确的。另一方面是因为解决这些领域中问题的算法是由领域专家直接或间接提供的。由于人们对客观世界的认识具有不完全性,甚至存在着某些错误认识,因此依赖于领域专家知识的计算机软件很难准确地反
…… 软件工程是在20世纪60年代创立的一门工程学,目的在于解决“软件危机”或者称为“软件困境”的问题。经过数十年的努力,人们总结了大量的经验和发现了许多规律,提出了软件开发及其管理的方法和技术。这些成为软件工程的主要内容。
鉴于软件工程是一种特殊的工程,它不像机械工程、建筑工程那样具有明显的可测性和可计算性,因此长期以来在软件工程的可测性和可计算性及抽象理论方面的研究所取得的进展很少,从而导致了软件工程的有关资料中可计算性和形式化的内容较少,一般主要是技术性的。
有很多长期从事软件工程教学工作的人都有一种同感:目前的软件工程教材中包含的可计算和形式化的内容太少,叙述性的内容太多,因此有关的习题要么是难以完成的,如作一个项目的可行性论证,和写一个用户需求报告等;要么是死记硬背书本内容的。在这种情况下,学生不知如何学,老师不知怎么考,最终的结果是学生对于软件工程的整体知识素质难以有所提高,更遑论熟练地掌握和应用这门知识技术。
为改变这种现状,本书尽量结合计算机教学实践编写,并有相当部分的计算和半形式化的内容以及适量的形式化内容,从而更加符合软件开发实际工作的需要。
本教材强调了下列内容:
在项目管理技术内容中介绍了使用代码行和功能点(FP)技术估算程序规模,使COCO.MO模型计算项目工作量、开发时间和进度以及确定开发队伍结构更加合理。
在可行性论证内容中增加了最成本有效解和最大可行解的概念和应用。
在用户需求和规范中介绍了有限状态机,Petri网等半形式化工具、数据流程图的形式化定义、代数公理和z规范技术。
在总体设计中讨论了软件系统设计及其优化设计方法,大型软件系统的设计与集成以及总体设计的特征量的概念与应用。
在详细设计中讨论了结构化设计的概念与技术,人一机接口的优化设计以详细设计软件特征量。
在集成测试章节中详细介绍了测试案例设计和集成测试的特征量计算。
在面向对象方法学中介绍了面向对象原理,在建模方法中讨论了一般的00建模方法。并增加了高级对象、高级状态和高级跃迁建模设备等内容。
此外每一章中都附有和这些内容相关的可操作的习题。
希望通过本书,广大读者能够掌握这些理论与方法并能正确应用到软件工程实践中去。与此同时,通过加强理论学习与训练,能提高创新能力。
尽管本书努力吸取有关著作中的优秀内容,但是限于编者水平、能力及时间的限制,书中定会存在某些错误和不当之处,希望广大读者不吝赐教。
* 编辑推荐与评论 *
暂无相关介绍
* 作者介绍 *
暂无相关介绍