【软件工程概述】
软件工程是计算机科学与技术领域的一个重要分支,主要研究如何高效、可靠地开发、管理和维护软件。本课程由计算机科学与技术学院软件工程研究室的王宇颖教授讲授,针对软件学院的本科生,共40个学时,并包括2周的课程设计,要求学生具备高级语言程序设计、数据结构和数据库技术等基础知识。
在计算机科学中,软件工程与硬件工程、计算机工程都属于工程学科的范畴。硬件工程侧重于硬件设备的生产、管理、设计和维护,而软件工程则关注软件的开发、生产以及生命周期内的各项管理活动。软件工程不仅运用科学方法指导软件的开发和维护,还包括一系列的过程、方法和技术,如需求分析、设计、编程、测试、实施和维护等。
现代软件工程的研究内容广泛,涵盖了软件开发模型、开发过程、方法与技术、开发环境和工具、管理过程(如度量和成本估算)以及软件企业文化等。它强调将软件开发视为科学、工程和艺术的结合体。
课程大纲分为多个章节,逐步引导学生理解软件工程的核心概念。第1章为绪论,提出问题;第2章介绍模型,提供全局视角;第3章涉及项目计划,从管理角度出发;第4、5章深入分析方法和需求分析,这是软件开发的第一步;第6章讲解软件设计,为实现阶段做准备;第7章是实现阶段,产生初步结果;第8章关注测试和质量保证,确保交付的软件质量;第9章讨论维护,延长软件的生命周期。
学习软件工程,推荐的中文参考书籍有史济民等编著的《软件工程 - 原理、方法与应用》,张海藩的《软件工程》,周之英的《现代软件工程》三部曲,以及陈明的《软件工程学教程》和郑人杰的《软件工程》。此外,英文参考书籍如Shari Lawrence Pfleeger的《Software Engineering Theory and Practice》和Rogers Pressman的《Software Engineering A Practitioner’s Approach》也是重要的学习资源。
学习软件工程的目标包括理解软件工程的基本思想和方法,掌握各种软件开发技术和工具,学会按照工程化流程进行软件开发和维护,培养阅读软件工程文献的能力,并为未来实际的软件开发工作奠定基础。同时,学生需要积极参与听课、复习和实践,通过理论学习与实践操作相结合,全面提升软件工程的理论素养和实践技能。