高级软件工程:现状、技术与挑战

需积分: 9 3 下载量 39 浏览量 更新于2024-07-11 收藏 143KB PPT 举报
"该资源是北京大学计算机科学与技术系的一份高级软件工程教程PPT,由王千祥主讲。课程涵盖了软件发展的现状,如软件的广泛应用、规模和复杂性的增长,以及软件危机等问题。同时,课程深入讲解了软件构件模型(如CORBA和COM)、软件体系结构、软件建模技术,并探讨了软件复用、工程管理和CMM等相关话题。学生将通过小组项目实习,使用CORBA或DCOM开发小系统,以实践所学知识。成绩评估包括自学反馈、项目开发和期末笔试。课程推荐了多本参考书籍,涉及COM、UML、软件架构等多个领域。" 在高级软件工程这个领域,我们关注的是软件开发的高级概念和技术。课程首先讨论了当前软件行业的几个关键特征:大量的运行软件存在于关键行业,如金融、电信和航空航天;软件应用的广泛性已渗透到日常生活的各个方面,形成“无处不在的软件”现象;随着需求的增长,软件的规模和复杂性也在不断攀升,这要求更高级的管理和设计方法;同时,为了规范开发流程,出现了大量软件相关标准。然而,尽管有这些进展,软件危机——即软件开发与维护能力与需求之间的不匹配——仍然是一个持续存在的问题。 课程内容详细列出了四个主要部分:(1) 概述,介绍了课程的背景和依据;(2) 软件构件模型,重点讲述了分布式对象模型,包括CORBA和COM;(3) 软件体系结构,探讨了体系结构的概念、OMA和DNA;(4) 软件建模,通过usecase、class和sequence等工具进行深入学习。此外,还涵盖了软件复用的不同方面,如领域工程、应用工程和再工程,以及软件工程管理,如CMM。 为了提升学生的实践能力,课程安排了小组实习项目,每个学生需在特定领域利用CORBA或DCOM开发小系统,鼓励团队协作。成绩评估不仅基于自学和反馈,还包括实际项目开发和期末笔试,确保理论与实践相结合。 为了支持学习,推荐了一系列参考资料,包括OMG的CORBA规范、COM原理与应用的书籍,以及关于软件架构、UML、CORBA的专著,这些都为深入理解和掌握高级软件工程提供了坚实的基础。