现代软件架构期末复题2 (个人整理版 欢迎补正).docVIP

现代软件架构期末复题2 (个人整理版 欢迎补正).doc

  1. 1、本文档共11页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
现代软件架构期末复题2 (个人整理版 欢迎补正)

现代软件架构期末复习题 什么是软件架构? 软件架构(software archiecture)是一组有关如下要素的重要决策: 软件系统的组织,构成系统的结构化元素,接口和它们相互协作的行为的选择,结构化元素和行为元素组合成粒度更大的子系统的方式的选择,以及指导这一组织(元素及其接口、协作和组合方式)的架构风格的选择。 软件架构是对系统整体结构设计的刻划,包括全局组织与控制结构,构件间通讯、同步和数据访问的协议,设计元素间的功能分配,物理分布,设计元素集成,伸缩性和性能,设计选择等。 一个软件系统的质量,很大程度上是由架构设计的质量决定的 L1: P7 P8 架构师为实现好的架构设计需要考虑的三个核心思维是什么? 作为一个架构师来说,上述的讨论引发了三个核心思维,一个是架构设计的源泉来自于需求分析,第二个是架构设计重心和特点来自于质量需求(非功能性需求),第三个观点是,架构的实现依赖于好的项目管理。因此,软件架构设计是一个系统工程,它需要系统构架师有很宽的知识面,从需求分析、架构设计到类设计甚至代码实现一直到项目管理都需要有透彻的理解,这之间的关系是你中有我我中有你,是不可能截然分开的。 L1: P10 什么是软件复用?在一个应用系统的不同版本间重复使用代码的过程是否属于严格意义上的软件复用? 现代软件架构设计的原则来自于软件复用,软件复用是指重复使用“为了复用目的而设计的软件”的过程。在过去的开发实践中,我们也可能会重复使用“并非为了复用目的而设计的软件”的过程,或者在一个应用系统的不同版本间重复使用代码的过程,这两类行为都不属于严格意义上的软件复用。 L1: P11 什么是特定领域软件架构? 特定领域软件架构(DSSA): 这是一个领域中的所有应用系统所共有的体系结构,是针对领域模型中的领域需求给出的解决方案,也是识别、开发和组织特定领域可复用构件的基础。在国内外的金融、MIS、通讯和军事等领域中都开始注意到开发特定领域的软件架构和集成框架的重要性。 L1: P15(DSSA) 软件架构师有哪些必需的职责? 尽管对软件架构师的角色有这样或那样的定义,但大体上下面几个职责是必需的: 1、技术负责,解决方案的提供者; 2、与项目经理合作,制定计划,决定成员,组织团队; 3、保证项目按计划和走向完成; 由于设计是由需求驱动的,所以,掌握需求分析的技巧,是一个好的架构师必备的能力。 L1: P16(上半部分) 什么是3W的架构师核心思维? 一个软件架构师最重要的问题,就是他所设计的产品必须是满足企业战略规划的需求, 能够帮助企业解决实际问题的,因此一个合理的设计,首先要想的是: Who:为谁设计? What:要解决用户的什么问题? Why:为什么要解决这些用户问题? 这是一个被称之为3W 的架构师核心思维,如果这个问题没搞清楚,就很快的投入程序编写,那这样的软件在市场上是不可能获得成功的。 L1: P21(第2段开始) 软件开发生命周期增量模型的优点有哪些? 对瀑布模型的一个关键性的改进,是所谓增量模型的出现。增量模型是指首先构建部分系统,再逐渐增加功能或者性能的过程。它降低了取得初始功能之前的成本,强调采用构建方法来帮助控制更改需求的影响,也提高了创建可操作系统的速度。 增量模型是综合了瀑布模型和原型化的产物,提倡以功能渐增方式开发软件,经验表明,这种增量模型在特大型项目和小型项目中同样适用。增量模型描述了为系统需求排定优先级然后分组实现的过程,每个后续版本都为先前版本增加了新功能。 增量模型的优点: ?? 整个项目的资金不会被提前消耗,因为首先开发和交付了主要功能和高风险功能。 ?? 每个增量交付一个可操作的产品。 ?? 每次增量交付过程中获取的经验,有利于后面的改进,客户也有机会对建立好的模型作出反应。 ?? 采用连续增量的方式,可把用户经验融入到细化的产品,这比完全重新开发要便宜得多。 ?? “分而治之”的策略,使问题分解成可管理的小部分,避免开发团队由于长时间的需求任务而感到泪丧。 ?? 通过同一个团队的工作来交付每个增量,保持所有团队处于工作状态,减少了员工的工作量,工作分布曲线通过项目中的时间阶段被拉平。 ?? 每次增量交付的结为,可以重新修订成本和进度的风险。 ?? 便于根据市场作出反应。 ?? 降低了失败和更改需求的风险。 ?? 更易于控制用户需求,因为每次曾两开发的时间很短。 ?? 由于不是一步跳到未来,所以用户能逐步适应新技术。 ?? 切实的项目进展,有利于进度控制。 ?? 风险分布到几个更小的增量中,而不是集中于一个大型开发中。 ?? 由于用户能够从早期的增量中了解系统,所以更加理解后面增量中的需求。 L1: P36(定义 第一段)P39(优点)P40(优点) 什么是软件需求,它包含哪三个部分? 什么是需求

您可能关注的文档

文档评论(0)

ikangyme + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档