吉林大学软件工程专业外教课简答复习资料

需积分: 9 5 下载量 123 浏览量 更新于2024-07-16 1 收藏 1.28MB DOCX 举报
"SA简答题.docx 是吉林大学软件工程专业Software Architect课程的考试复习资料,包含多个关于软件架构的简答题,适合打印出来作为考试参考。文档涵盖多个主题,涉及软件系统的现状、软件架构的概念及重要人物的观点、软件架构与建筑环境的联系、软件架构分析方法、模式与模式语言等核心概念,以及架构描述语言(ADL)的作用和定义。" 详细内容: 1. 软件系统的现状:这部分可能要求考生总结当前软件系统的发展水平,包括技术趋势、主要挑战、软件复杂性的管理、敏捷开发和DevOps的影响、云技术、大数据、人工智能等现代软件系统的特征。 2. 软件架构:软件架构是系统的基本结构,包括主要组件、接口和它们之间的关系,它定义了系统的组织和行为,并指导整个软件开发过程。 3. Brooks的“外科手术团队”观点:这来自于弗雷德·布鲁克斯在其著作《人月神话》中的观点,他提出在软件开发中,增加人员可能会增加沟通成本,而非效率,强调了架构师的关键角色。 4. David Parnas对软件开发的贡献:Parnas提出了模块化设计思想,强调信息隐藏和模块间接口的重要性,对于软件的可维护性和可理解性有深远影响。 5. 成为优秀软件架构师的途径:可能涉及持续学习、实践经验、了解业务需求、遵循架构生命周期,以及掌握架构决策的技巧。 6. SAAM(软件架构分析方法)步骤:通常包括识别问题、收集需求、定义架构、评估架构、选择解决方案和实施反馈。 7. 软件与建筑环境的关联:可以从可扩展性、适应性、分层结构等方面探讨软件架构如何借鉴建筑学原理。 8. Shearing Layers的六个S:具体指分离、共享、顺序、规模、稳定性和速度,这些原则帮助构建灵活且可维护的软件架构。 9. 软件架构的教训:可能包括模块化、演化性、灵活性、可维护性等原则。 10. Masterplan与Piecemeal Growth对比:前者强调预先规划,后者支持逐步发展,讨论这两种观点在软件架构设计中的优缺点。 11. 设计模式的解释:设计模式是解决特定问题的可重用解决方案,描述了在特定上下文中如何设计组件间的交互。 12. 模式与模式语言的关系:模式是模式语言的构成元素,模式语言则是一组相互关联的模式,提供了一种统一的描述和交流设计的方法。 13. ADL(架构描述语言)的角色:ADL用于形式化地表示和描述软件架构,帮助清晰地表达架构决策,提高理解和复用。 14. ADL的定义:ADL是一种专门用于描述和规约软件系统架构的语言,它具有丰富的词汇和语法,能够精确地描绘出系统的组件、接口和结构关系。 这份复习资料全面覆盖了软件架构的多个关键方面,对于理解软件架构的基础概念、设计理念以及相关实践有着重要作用。