软件设计与体系结构知识点

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

软件设计与体系结构知识点1.软件设计的特征(1)软件设计的开端是出现某些新的问题需要软件来解决,这些需要促使设计工作的开始,并成为整个设计工作最初的基础(2)软件设计的结果是给出一个方案,它能够用来实现所需的、可以解决问题的软件,方案的描述可能是文字、图表,甚至数学符号、公式等组成的文档或模型(3)软件设计包含一系列的转换过程,即把一种描述或模型转换为另一种描述或模型,转换后的形态可能更加具体,或更接近于实现(4)产生新的想法或思路对软件设计非常重要,因为设计也是一个创造性的过程,不同的问题或需求总会存在各自的特点,即使同样的问题在不同时期和环境下也会存在区别,因此设计不会是一成不变的(5)软件设计的过程是不断解决问题和实施决策的过程,因为整个设计是解决一个大的问题,在设计过程中将会分解成众多小问题,涉及真需要一次解决这些小的问题,并在出现多种方案或策略时进行决策,选择其中最合适的(6)软件设计也是一个满足各种约束的过程,因为软件可能在性能、运行环境、开发时间、成本、人员技术水平等各个方面存在约束,设计必须在满足这些约束的情况下给出最佳的设计方案(7)大多数的软件实际是一个不断演化的过程,因为需求在一开始很可能是不完整或不精确的,在设计过程中还会不断发生变化并逐步稳定下来,因此设计需要根据需求的变化而不断演化。2.软件设计的要素(1)目标描述(2)设计约束(3)产品描述(4)设计原理(5)开发规划(6)使用描述3.软件设计体系的定义(1)软件设计体系结构是软件系统的结构,包含软件元素、软件元素外部可见的属性以及这些软件元素之间的关系(2)软件体系结构是软件系统的基本组织,包含构建、构件之间、构件与环境之间的关系,以及相关的设计与演化原则4.软件设计的主要活动(1)软件设计计划(2)体系结构设计(3)界面设计(4)模块/子系统设计(5)过程/算法设计(6)数据模型设计5.体系结构“4+1”多视图建模(1)逻辑视图:该视图关注功能需求,即系统应该为最终用户提供什么服务,它与应用领域精密相关(2)进程视图:该视图捕获设计中关于并发和同步的内容,重视一些非功能需求,例如性能、可扩展性等,定义了运行实体和它们的属性。(3)开发视图:该试图主要描述软件在开发环境中的静态结构,开发人员和项目经理对比都会感兴趣。(4)物理视图:该视图描述软件到硬件的映射关系,反映了软件的分布特征。(5)场景:可以使用一组重要场景也就是用例的实例,把上述四种视图紧密的联系起来6.什么是软件产品线方法软件产品线是软件复用发展的一个更高阶段,它并不仅仅局限于以前人们在软件复用中考虑的对函数、模块、类、体系结构甚至子系统的重用。软件产品线指一组具有公共的、可管理特征(系统需求)的软件系统,这些系统满足特定的市场需求或者任务领域需求,并且按照预定义的方式基于公共的核心资产集合开发得到。软件产品线主要由两部分组成:核心资产库和产品集合产品线方法的基本活动包括核心资产开发、产品开发和管理。7.可信软件可行软件是指软件系统的运行行为极其结果总是符合人们的预期,且在受到干扰(包括操作错误、环境影响、外部攻击等)时仍能提供连续服务本质属性:(1)可靠性(2)安全性(3)正确性(4)实时性(5)可维护性(6)可生存性8.ATM用例图参与者:顾客(存款取款查询转账),操作管理员(开机关机),银行服务器(存款取款查询转账),读卡器(存款取款查询转账),存款器(存款),取款器(取款),打印机(存款取款查询转账)交互:存款,取款,转账,查询余额,开机,关机ATM细化交互:操作管理员(开机关机),顾客、银行服务器,、读卡器、打印机(会话),取款器(取款),存款器(存款),会话扩展非法密码,会话包涵传输业务,传输业务继承存款取款查询转账。9.ATM系统顶级数据流银行ATM系统(用户口令)用户控制面板银行ATM系统(管理员口令)管理员控制开关银行ATM系统(银行信息)读卡器银行ATM系统(存入款项信息)存款器银行ATM系统(帐户信息)银行系统银行ATM系统(显示信息)显示器银行ATM系统(帐户变更信息)银行系统银行ATM系统(打印信息)打印机银行ATM系统(取出款项信息)取款器10.界面设计的基本原则(1)用户熟悉程度:界面应该采用经常使用系统的用户所熟悉的术语和概念(2)一致性:界面必须一致,在任何可能的情况下,相同的操作应该以同样的方式被激活(3)使惊讶最小化:尽量避免使用户对系统的行为感到惊讶(4)可恢复性:界面应该为用户提供错误恢复机制(5)用户帮助:界面应该在错误发生时提供有意义的反馈,并且提供上下文敏感的用户帮助系统(6)用户多样性:界面应该为不同类型的用户提供恰当的交互方式11.软件体系结构风格和设计模式软件体系结构风格:在构件和连接子的层次描述的可重复使用的软件设计问题解决方案软件体系结构设计模式:在类和对象的层次描述的可重复使用的软件设计问题解决方案12.软件评估的目的软件评估的目的就是为了在开发过程的早期,通过分析系统的质量需求是否在软件体系结构中得到体现,来识别软件体系结构设计中的潜在风险,预测系统质量属性,并辅助软件体系结构决策的制定。12.常用的三个软件体系结构评估方法(1)ATAM方法:能够反映一个软件体系结构满足某些特定质量目标的程度,同时还能给出这些质量目标相互之间的交互方式,即它们之间的折中方案。步骤为:介绍,调查和分析,调试,报告步骤1:介绍ATAM方法;步骤2:商业动机的介绍;步骤3:软件体系机构介绍步骤4:确定软件体系结构方案;步骤5:产生质量属性效果树;步骤6:分析软件体系结构方案;步骤7:集体讨论并确定场景的优先级;步骤8:进一步分析软件体系结构方案;步骤9:展示结果。(2)SAAM方法步骤1:场景的形成;步骤2:描述软件体系结构;步骤3:场景分类和优先级划分;步骤4:间接场景的单独评估;步骤5:评估场景交互;步骤6:形成总体评估(3)ARID方法在排练阶段步骤1:确定评审人;步骤2:准备设计情况介绍;步骤3:准备种子场景;步骤4:准备材料在评审阶段步骤1:介绍ARID方法;步骤2:介绍设计;步骤3:场景的集体讨论和优先级划分步骤4:应用场景;步骤5:总结。

1 / 4
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功