本书主要介绍软件工程的概念、原理和典型的方法学以及软件项目管理技术,旨在培养读者的软件工程思想及软件开发能力。本书理论与实践相结合,内容翔实,可操作性强,并融入课程思政内容。全书分为11章。第1章是软件工程学概述;第2~6章阐述软件生命周期各个阶段的任务、过程、结构化方法和相关工具;第7~10章讲述面向对象方法学引论,面向对象分析、设计和实现,第11章介绍软件项目管理的相关知识。本书适合作为高等院校计算机科学与技术、软件工程及相关专业软件工程课程的教材,也可供有一定实际经验的软件工作人员和从事应用软件开发工作的广大计算机用户阅读和参考。
本书适当融入了课程思政元素,充分发挥教材立德树人的作用。本书在内容编排上,既考虑到了内容的系统性和完整性,又重点突出。对于软件开发过程中起重要作用的各种图形工具都作为独立的小节集中介绍,便于读者掌握。
20世纪 60年代,为了解决当时出现的软件危机,人们提出了软件工程的概念,并将其定义为为了经济地获得可靠的和能在实际机器上高效运行的软件,而建立和使用的健全的工程规则。经过 60多年的发展,人们对软件工程逐渐有了更全面、更科学的认识,软件工程已经成为一门包括理论、方法、过程等内容的独立学科,并出现了相应的软件工程支撑工具。
然而,即使在 21世纪的今天,软件危机的种种表现依然没有彻底地得到解决,实践中很多项目依然挣扎在无法完成或无法按照规定的时间、成本完成预期质量的泥潭中,面临着失败的风险。究其原因,依然是软件工程的思想和方法并未深入到计算机科学技术,特别是软件开发领域中,并用于指导人们的开发行为。
为了振兴中国的计算机和软件产业,培养具备软件工程思想和技术,并具有相应开发经验的人才,国家近年来一直十分重视软件工程相关课程的建设和人才培养。除了开设专门的软件工程专业,也倡导在计算机科学技术相关专业开设软件工程课程,使得软件工程思想和技术在中国的 IT人才中得到普及。
习近平总书记在全国高校思想政治工作会议上明确指出,要坚持把立德树人作为中心环节,把思想政治工作贯穿教育教学全过程,实现全程育人、全方位育人,努力开创我国高等教育事业发展新局面。这就要求高校在专业课教学中融入思政教育,使高校的课程在传授专业知识的同时,发挥思想政治教育的作用。因此,本书适当融入了课程思政元素,充分发挥教材立德树人的作用。
本书在内容编排上,既考虑到了内容的系统性和完整性,又重点突出。对于软件开发过程中起重要作用的各种图形工具都作为独立的小节集中介绍,便于读者掌握。
本书共 11章,内容涵盖结构化软件工程方法学与面向对象软件工程方法学。具体涉及软件与软件工程、软件过程、可行性研究与项目开发计划、结构化分析、结构化设计、面向对象方法与 UML、面向对象分析、软件体系结构与设计模式、面向对象设计、软件实现、软件测试、软件维护与软件工程管理。
本书由江西农业大学熊焕亮、吴沧海、赵应丁主编,江西农业大学李佳航、易文龙、 钱文彬任副主编,衡阳师范学院焦铬、哈尔滨学院潘莹参与编写,具体分工如下:第1、2章由吴沧海编写,第 3~5章由熊焕亮编写,第 6章由赵应丁编写,第 7章由钱文彬编写,第 8章由李佳航编写,第 9章由焦铬编写,第 10章由潘莹编写,第 11章由易文龙编写。江西农业大学贾晶老师参与了文稿的校对,研究生王健强和陈灵丹协助完成教材图形的绘制。本书在编写的过程中,得到了江西农业大学软件学院领导的大力支持,软件学院教工第一支部各位党员同志以及软件开发教研室的老师对本书提出了有益的建议,谨在此表示感谢。
由于软件工程是一门新兴学科,软件工程的教学方法本身还在探索之中,加之编者的水平和能力有限,本书难免有疏漏及不足之处。恳请各位同仁和广大读者给予批评指正,也希望各位能将实践过程中的经验和心得与我们交流。
编 者
2022年 1月
熊焕亮,男,1977年6月出生,副教授,硕士生导师,同济大学计算机软件与理论专业博士毕业。现任教于江西农业大学软件学院,作为课题负责人近5年来共主持和参与多项国家基金、省自然基金等项目研究;发表论文20余篇,其中SCI、EI检索10余篇;参编《离散数学》、《计算机专业英语》教材等。贾晶,男,1982年1月出生,讲师,英国邓迪大学硕士研究生毕业。现任教于江西农业大学软件学院,一直给软件工程专业本科生教授《软件工程》课程,有着丰富的教学经验,作为课题负责人近5年来共主持和参与多项省自然基金等项目研究;发表论文10余篇,其中SCI检索2篇。