"该资源是北京大学计算机科学与技术系硕士研究生课程‘高级软件工程’的教程PPT,由王千祥主讲。课程涵盖了软件构件、软件体系结构、软件建模等多个主题,并涉及软件复用、工程管理和相关技术如CORBA、COM。课程包括理论学习和实践实习,成绩评定包括自学反馈、开发实习和期末笔试。参考文献包含多种经典著作和技术规格文档。"
在高级软件工程中,学生们将深入学习以下关键知识点:
1. **概述**:这部分会介绍课程设立的背景和依据,为学生提供课程的整体框架和学习目标。
2. **软件构件(分布式对象)模型**:
- **CORBA**(Common Object Request Broker Architecture):这是一种标准的中间件技术,用于构建分布式应用程序,使不同平台上的对象能够相互通信。
- **COM**(Component Object Model):是微软提出的一种组件对象模型,用于创建可重用的软件组件,它在Windows环境下广泛应用。
3. **软件体系结构**:
- **体系结构**:讨论软件系统的宏观结构和组织方式,包括模式、风格和架构决策。
- **OMA(Open Mobile Alliance)**:可能是指其软件架构,这是一个推动移动通信技术发展的联盟,其标准可能在课程中被提及。
- **DNA(Distributed Network Architecture)**:可能是指分布式网络架构,探讨如何在分布式环境中设计和实现软件系统。
4. **软件建模**:
- **Use Case**:用于描述系统功能需求的一种模型,通过描述用户与系统交互的行为来理解系统行为。
- **Class Diagram**:类图是UML(统一建模语言)的一部分,用于表示系统的静态结构,包括类、接口和它们之间的关系。
- **Sequence Diagram**:序列图展示了对象之间随时间的交互,用于描述消息传递的时间顺序。
5. **其他话题**:
- **软件复用**:探讨如何在软件开发中重复使用已有组件,以提高效率和质量。
- **工程管理**:可能涉及CMM(Capability Maturity Model),一种评估和改进软件开发过程成熟度的方法。
实习部分,学生将分组并使用CORBA或DCOM(分布式组件对象模型,微软对分布式对象的实现)开发小系统,强调团队协作。
成绩计算方法结合了自学材料的理解反馈、实际开发的成果以及理论知识的笔试测试,全面评价学生的学习成效。
参考资料列表提供了深入学习的相关书籍和在线资源,包括OMG的CORBA和UML规范,以及各类专家的著作,为深入理解课程内容提供了丰富的资料支持。