![]()
内容推荐 本书是软件工程领域的优质作品,国际上众多名校采用本书作为教材。本书注重从实践出发选择和安排素材,同时在理论上进行全面深入的探讨。 本书分为3个部分。第一部分解释为什么软件工程知识对实践者和研究者同样重要,并讨论理解过程模型的必要性,利用敏捷方法的必要性,以及精细地进行项目计划的必要性;第二部分论述软件开发和维护的主要步骤;第三部分讲述如何对软件进行评估和改进。 本书适合作为计算机相关专业软件工程课程的本科教材,也适用于介绍软件工程的概念与实践的研究生课程。本书还适合期望进一步学习该领域相关知识的专业人员阅读。 作者简介 莎丽·劳伦斯·弗里格(Shari Lawrence Pfleeger),世界范围内享有盛誉的软件工程学者,在软件开发领域有着数十年的丰富经验,主要从事软件工程和信息技术的教学、咨询和研究。现任美国智库兰德公司的研究员。她曾经执教于马里兰大学和伦敦城市大学,并担任IEEE Software和IEEE Transactions on Software Engineering等业界期刊副主编多年。除本书外,她与人合作撰写的Security in Computing也是广泛采用的主流教材。 目录 1 Why Software Engineering 软件工程概述 1.1 What Is Software Engineering 什么是软件工程? Solving Problems 问题求解 Where Does the Software Engineer Fit In 软件工程师的角色是什么? 1.2 How Successful Have We Been 软件工程取得了哪些进展? 1.3 What Is Good Software 什么是好的软件? The Quality of the Product 产品的质量 The Quality of the Process 过程的质量 Quality in the Context of the Business Environment 商业环境背景下的质量 1.4 Who Does Software Engineering 软件工程涉及哪些人员? 1.5 A Systems Approach 系统的方法 The Elements of a System 系统的要素 Interrelated Systems 相互联系的系统 1.6 An Engineering Approach 工程的方法 Building a House 盖房子 Building a System 构建系统 1.7 Members of the Development Team 开发团队的成员 1.8 How Has Software Engineering Changed 软件工程发生了多大的变化? The Nature of the Change 变化的本质 Wasserman’s Discipline of Software Engineering 软件工程的Wasserman规范 1.9 Information Systems Example 信息系统的例子 1.10 Real-Time Example 实时系统的例子 1.11 What This Chapter Means for You 本章对单个开发人员的意义 1.12 What This Chapter Means for Your Development Team 本章对开发团队的意义 1.13 What This Chapter Means for Researchers 本章对研究人员的意义 1.14 Term Project 学期项目 1.15 Key References 主要参考文献 1.16 Exercises 练习 2 Modeling the Process and Life Cycle 过程和生命周期的建模 2.1 The Meaning of Process 过程的含义 2.2 Software Process Models 软件过程模型 Waterfall Model 瀑布模型 V Model V模型 Prototyping Model 原型化模型 Operational Specification 可操作规格说明 Transformational Model 可转换模型 Phased Development: Increments and Iterations 阶段化开发:增量和迭代 Spiral Model 螺旋模型 Agile Methods 敏捷方法 2.3 Tools and Techniques for Process Modeling 过程建模工具和技术 Static Modeling: Lai Notation 静态建模:Lai表示法 Dynamic Modeling: System Dynamics 动态建模:系统动力学 2.4 Practical Process Modeling 实际的过程建模 Marvel Case Studies Marvel的案例研究 Desirable Properties of Process Modeling Tools and Techniques 过程建模工具和技术应该具有的特性 2.5 Information Systems Example 信息系统的例子 2.6 Real-Time Example 实时系统的例子 2.7 What This Chapter Means for You 本章对单个开发人员的意义 2.8 What This Chapter Means for Your Development Team 本章对开发团队的意义 2.9 What This Chapter Means for Researchers 本章对研究人员的意义 2.10 Term Project 学期项目 2.11 Key References 主要参考文献 2.12 Exercises 练习 3 Planning and Managing the Project 计划和管理项目 3.1 Tracking Progress 跟踪项目进展 Work Breakdown and Activity Graphs 工作分解和活动图 Estimating Completion 估算完成时间 Tools to Track Progress 跟踪进展的工具 …… 4 Capturing the Requirements 获取需求 5 Designing the Architecture 设计体系结构 6 Designing the Modules 设计模块 7 Writing the Programs 编写程序 8 Testing the Programs 测试程序 9 Testing the System 测试系统 10 Delivering the System 交付系统 11 Maintaining the System 维护系统 12 Evaluating Products, Processes, and Resources 评估产品、过程和资源 13 Improving Predictions, Products, Processes, and Resources 改进预测、产品、过程和资源 14 The Future of Software Engineering 软件工程的未来 Annotated Bibliography 参考文献及注解 |