田文洪主编的《软件工程基础教程(英文版)》用理论与实践紧密结合的共同演进方法进行介绍,既介绍了传统软件生命周期过程中的主要内容,又介绍了现代软件工程中比较新颖的技术方法,包括新的过程模型、软件作为一种服务等近年来新兴的方法和技术。
本教材涵盖IEEE和ACM联合研究项目——SWEBOK(工程知识体系)包含的10个知识领域的主要内容,主要介绍软件工程的背景知识、软件过程模型、需求分析、需求建模、设计工程、体系结构设计、编码和新的技术趋势需求、测试技术与策略、项目管理概要、风险分析与管理、软件质量管理等内容。通过理论与实践(实际项目)的紧密结合介绍,使得学生在学习的过程中了解和掌握软件工程的基本概念、原理和方法,并能应用到实际项目中去。
为了得到好的软件产品,软件开发必须遵循一定的规范和流程。
田文洪主编的《软件工程基础教程(英文版)》由浅入深、循序渐进地介绍了规范化的软件开发方法所涉及的概念和方法。内容包括过程模型、软件需求、设计工程、生产率和工作量度量、软件测试、软件维护、质量管理、项目管理和风险管理等内容,最后介绍了一些常用的软件开发工具,并给出编码风格上的建议。
《软件工程基础教程(英文版)》内容注重理论与实践结合,参考了IEEE和ACM关于软件工程的10个知识体系内容。针对中国学生英文水平,做了针对性的编写,并对重点难点内容进行了中文解释。本书配有在线习题、电子课件、案例分析、实验指导等教学资源,可登录电子工业出版社华信教育资源网(www.hxedu.com.on),免费注册、下载。
通过本书的学习,可使学生了解软件工程的基本知识和方法,熟悉软件工程的主要环节,掌握软件工程传统经典和现代高级的理论、方法,并能应用到实际的软件项目开发中。
本书贯彻理论与实践相结合的原则,深入浅出,配以大量实例分析,既可作为本科生及低年级研究生“软件工程”课程的教材,也可供软件工程从业人员学习、参考。
Unit 1 Introduction to Software Engineering
软件工程介绍
Learning Objectives
学习目标
1.1 A Brief Introduction to Software Engineering
软件工程简介
1.1.1 The Pioneering Era
开创时期
1.1.2 1945 to 1965: The Origins
1945到1965: 发起
1.1.3 1965 to 1985: The Software Crisis
1965到1985:软件危机
1.1.4 1985 to 1989: No Silver Bullet
1985到1989:没有银弹
1.1.5 1990 to 1999: Prominence of the Internet
1990到1999:Internet盛行
1.1.6 2000 to Present: Lightweight Methodologies
2000年至今:轻量级方法
1.1.7 Current Trends in Software Engineering
软件工程的发展趋势
1.1.8 Software Engineering Today
今天的软件工程
1.2 Software
软件
1.2.1 A Formal Definition of Software 5
软件的正式定义
1.2.2 Characteristics of Software 5
软件的特征
1.2.3 The Dual Roles of Software
软件的双重角色
1.2.4 Classification of Software
软件分类
1.2.5 Why does Software Change Very Fast?
为什么软件变化快?
1.3 Why Do We Need Software Engineering?
为什么需要软件工程?
1.3.1 Software Crisis
软件危机
1.3.2 An Economist's View of Software and Software Engineering
一个经济学家对软件和软件工程的看法
1.3.3 The Formal Definition of Software Engineering
软件工程的正式定义
1.4 Major Concerns and Objectives of Software Engineering
软件工程的目标和担忧
1.5 Seven Principles for Software Engineering
软件工程的七个原则
1.5.1 Manage Using a Phased Lifecycle Plan
使用阶段性的生命周期管理计划
1.5.2 Perform Continuous Validation
进行持续验证
1.5.3 Maintain Disciplined Product Control
维持有效的产品控制
1.5.4 Use Modern Programming/Engineering Practices
运用现代编程/工程实践
1.5.5 Maintain Clear Accountability for Results
维护清晰的问责机制
1.5.6 Use Better and Fewer People
用更好更少的人
1.5.7 Maintain a Commitment to Improve the Process
保持过程改进
1.6 Major Topics in Software Engineering
软件工程中的主要课题
1.7 Relationship to Other Disciplines
其他相关学科
1.8 Some Misunderstandings about Software Engineering
一些对软件工程的错误认识
1.9 Software Engineering Code of Professional and Ethical Responsibility
软件工程的专业和道德责任
Summary
总结
Notes
重点注释
Glossary of this unit
术语
Quiz
习题
References
参考文献
Further Reading
扩展阅读
Unit 2 Process Models
过程模型
Unit 3 Software Requirements
软件需求
Unit 4 Software Design Engineering
软件设计工程
Unit 5 Software Productivity and Effort Metrics
软件生产率和工作量度量
Unit 6 Software Quality Management
软件质量管理
Unit 7 Testing Techniques
测试方法
Unit 8 Testing Strategies
测试策略
Unit 9 Software Maintenance
软件维护
Unit 10 Software Project Management
软件项目管理
Unit 11 Software Risk Analysis and Management
软件风险分析和管理
Unit 12 Software Engineering Development Tools
软件工程开发工具
Appendix A General Style and Coding Standards for Software Projects
软件项目的一般风格和编码标准