
软件架构复习资料(包含考点)。
5星
- 浏览量: 0
- 大小:None
- 文件类型:None
简介:
软件架构复习资料(包含考点)外教课,通常包含中文翻译。
1. 请总结一下当前软件系统的发展现状? 现代软件系统极度复杂,对个人的理解能力提出了巨大挑战,并且难以用所有利益相关者都能理解的术语进行表达。业务驱动因素增加了压力,商业周期的缩短、竞争的加剧以及不断增长的用户期望都对软件开发构成了挑战。“软”需求经常会对计划、预算和项目成功构成威胁。过多的变更可能导致失败,因此灵活性和应对变化的能力至关重要。设计必须足够稳固,以避免改变对核心设计产生不稳定影响。根据需要愿意重新设计是必要的;大多数项目都具有不可预测性,缺乏明确的衡量标准来评估进度。需求蔓延(Requirements creep)是一个常见问题,废料和返工也十分普遍。由于常常只完成项目的大部分工作(通常为90%),而缺乏高质量的人才导致失败,即便有最好的流程和工具!管理人本身就存在困难,重大变革在组织层面也面临诸多挑战。重用软件构件的情况非常罕见;建筑/设计/模型等估计过程、团队流程以及规划与跟踪程序和报告等都需要仔细考虑。软件构建与管理包括评论、测试等环节。(计算机的价格和规模显著缩小了;程序员可以在桌子上放置一台电脑;JCL被图形用户界面(GUI)取代;目前使用最频繁的编程语言年龄在15到40岁之间;第四代语言未能实现“无程序员编程”的梦想。)
2. 什么是软件体系结构,用你自己的话? 系统的软件体系结构指的是系统的结构,它包括软件组件、这些组件的外部可见属性以及它们之间的关系。
3. 你觉得布鲁克斯的“手术队”怎么样? “手术队”由一位裁缝和许多支持者组成。
4. 小弗雷德.布鲁克斯在《人月神话》中是怎样描述架构师的角色的? 系统的架构师就像建筑的架构师一样,是用户的代理人。
5. 对如软件开发,你从David Parnas那里学到了什么? David Parnas发展了这些“架构”关注点并将其转化为软件工程的基本原则。 主要原则包括:信息隐藏作为维护和重用的分解基础;组件接口与实现的分离;不同程序元素各自独立的观察;“uses”关系用于控制组件之间的连接性;为了提高可扩展性而制定错误检测和处理原则;识别系统中的共性;认识到结构会影响系统的非功能“质量”。
全部评论 (0)


