南京大学软件工程:基础概念与方法解析

需积分: 16 3 下载量 55 浏览量 更新于2024-08-21 收藏 889KB PPT 举报
南京大学计算机学院软件工程课程概述: 本课程深入探讨了软件工程的基本概念,由李宣东教授主讲,旨在提升学生对软件开发的理解和实践能力。首先,课程介绍了软件的定义,将其界定为计算机系统中的程序及其相关的文件,其中程序是描述计算任务中的处理对象和规则的工具,而文件则是提供程序所需信息的支持文档。 课程的核心内容包括传统软件工程方法,如问题定义、需求分析、概要设计、详细设计、编码、测试和维护等阶段。这些阶段构成了一套有序的过程,确保软件开发的质量和效率。此外,还涵盖了面向对象软件工程,特别是统一建模语言(UML)的应用,它是现代软件开发中的重要工具。 在软件工程的高级课题部分,学生会学习软件过程、管理与质量控制的相关知识,如如何运用工程化原则、计算机科学原理、数学模型以及管理科学来优化软件开发流程,降低风险,提高软件的可靠性和可维护性。课程中也提到了软件的分类,包括系统软件、支撑软件和应用软件,以及软件危机的概念,即由于供求关系、成本控制、可靠性和维护难度等问题导致的开发困境。 软件危机产生的原因既有软件本身复杂性带来的挑战,如开发难度高、不易度量进展和评价质量,也有开发人员的错误观念,如过度依赖于后期补救、忽视软件的灵活性和维护工作的重要性。软件工程作为一种应对策略,强调了提前规划、精确建模、规范制定和有效管理的重要性。 参考文献丰富,包括经典的《软件工程:实践者的研究方法》和《可视化面向对象建模技术》,以及南京大学的教育资源网站moon.nju.edu.cn,为学生提供了深入学习和实践的资源支持。 通过这门课程,学生不仅能掌握软件开发的基本技能,还能理解软件工程在解决软件危机中的关键作用,从而为未来的软件开发职业生涯打下坚实的基础。