- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
软件体系结构习题复习
第一章1、根据上述实践体会,用自己的话给软件架构下一个定义;软件架构是:由结构和功能各异、相互作用的构件集合,按照一定的结构方式构成的系统。它包含了系统的基础构成单元、它们之间的作用关系、在构成系统时,它们的集成方法以及对集成约束的描述等。2、在网上搜索一下有关软件架构的定义,比较一下它们之间的差别;软件架构是一系列相关的抽象模式,用于指导大型软件系统各个方面的设计。软件架构是一个系统的草图。软件架构描述的对象是直接构成系统的抽象组件。各个组件之间的连接则明确和相对细致地描述组件之间的通讯。在实现阶段,这些抽象组件被细化为实际的组件,比如具体某个类或者对象。在面向对象领域中,组件之间的连接通常用接口_(计算机科学)来实现。在“欢迎”程序架构中,构件、连接、连接关系分别完成了那些功能,起到了什么作用?创建新按钮是创建新的构件;建立消息映射是建立构件之间的连接;处理函数则根据对按钮、消息、处理三者之间的“协议”,编写相应代码。创建架构的过程,即使这么简单的程序,也包括了架构构成三要素的“构件”、“连接”、“连接关系”的全部内容。从架构三要素的角度,说明“欢迎”程序的架构与“计算器”程序的架构,有什么相同和不同?从“编程”实现者的角度看,二者其实差别不是很大。“计算器”多做的工作,不是在接收到按钮消息后,简单地显示一条“欢迎”信息,而是实现“根据用户按下的按钮和四则运算规则计算并显示结果”。看一下代码就可以知道,从程序实现的角度看,后者与前者相比,不但逻辑复杂度和编程量差别并不大,更重要的,其架构基本相同。在实践题2中,老师希望同学们在“欢迎”程序的基础上,再实现一个“时间”按钮,并把“欢迎”与“时间”按钮的实际效果“对调”一下,有同学就把二个相应的处理函数中的代码对调了一下,更有同学把按钮的名子对调了一下,这是非常错误的。请从架构师的角度仔细想想为什么错,应该怎么实现“对调”?第二章1、通过使用VSTS,你体会架构描述与需求描述(例如:需求树)有什么相同和不同的地方?架构描述表达了系统必须实现的需求,架构描述表达了软件系统的实现结构架构描述的第一个目的,就是在架构设计层次上,而不是需求层次上,表达系统的功能需求。架构描述的最主要的任务是,记录了系统的设计想法,具体表现为,将这些想法,按实现模块(而不是按功能),分解为具体的构件,并将这些构件的连接方式、连接关系,描述出来,让使用者知道未来系统的架构。2、为满足关键质量属性而添加的内容,在VSTS中是如何表现的?关键质量需求因素很多,视不同的应用系统而不同。如果按开发期和运行维护期划分,可以归纳如下:(1)开发期质量要素:易理解性;可扩展性;可重用性;可修改性;可移植性;可集成性;可测试性。(2)运行期质量要素:功能;性能;安全性;易用性;持续可用性;可伸缩性;互操作性;可靠性;健壮性。3、基于架构的迭代,在VSTS中是如何表现的?为了更好地理解架构在软件迭代中的作用,首先需要理解软件开发的产品特性。1)软件产品和产品线的基本概念:当今市场,任何一款符合市场周期长、专业技术知识要求高、用户群庞大、产品功能复杂、安全和可靠性高、需要长期维护等特征的产品,一般都采取产品线管理的方式,进行管理。所谓产品线的一般定义是:满足特定市场或用户需求的、有一组公共的、可管理的产品特性的、符合上述2个条件的产品的组合。2)软件产品管理的基本概念:软件产品线管理的三大基本活动是:核心资源开发、利用核心资源的产品开发、核心资源和产品开发的技术和管理。3)软件产品线核心资源的转化;4)基于核心资源的软件产品开发4、基于架构的关键构件,在VSTS中如何被定义为基线?一般地,以软件架构作为阶段成果和迭代基础,过程管理不但需要架构描述作为软件过程文档,来记录和跟踪软件演化过程,而且,作为生命周期的重要环节,并贯穿始终,需要关注:架构与需求的对应(架构对需求的满足程度);架构实现的验证(遵守架构约束);架构与迭代开发维护(增量开发);架构与项目管理的对应(如检查点、里程碑、关键交付成果等);架构本身的变更历程等。以上述目标为出发点,将系统合适的构件,作为工作项(工作项还包括其他内容),将架构的关键构件的状态变化,定义为基线,是比较合适的。因为,这些工作项的状态变化(设计、实现、测试、交付)将成为项目阶段目标设定、交付成果检验、计划进度考察和控制的“直接对象”和“标的物”。5、在VSTS上,架构的四个作用达到了较好的统一,体现在什么地方?第三章1、通过架构分析,再进行二次开发(实现联网对弈),是否使二次开发的目标更明确?从五子棋二次开发需求和任务划分(新增“局域网”模块以及如何添加到系统中去)的角度,分析了已有的系统架构。2、原有的Five1-Five3的五子棋系统架构有什么问题?从功能上看,Five1只能画棋盘,F
文档评论(0)