wap网站制作app,企业信息查询系统入口,口红做网站多少钱,建设网站程序下载呃#xff0c;前面复习的忘了发了。从后面开始吧 Unit 11--18 复习Tips#xff1a; 重点在于对概念的理解#xff0c;概念间关系的理解。 对具体的识别方法#xff0c;处理方法等根据自己的兴趣做一些了解即可 。 如#xff1a;关于 软件架构脆弱性的成因 #xff0c; …呃前面复习的忘了发了。从后面开始吧 Unit 11--18 复习Tips 重点在于对概念的理解概念间关系的理解。 对具体的识别方法处理方法等根据自己的兴趣做一些了解即可 。 如关于 软件架构脆弱性的成因 首先要知道软件脆弱性是什么然后知道“软件架构的脆弱 性通常与软件架构的风格和模式有关” 至于具体不同架构模式的脆弱性表现只要根据兴趣了解一下就可以需要举例子时能举出来即可。 这八章均是如此要求。 一、Unit 11-12 软件架构度量和软件架构演化
1.1为什么需要进行软件架构度量
软件架构度量的意义/好处 软件架构作为软件开发的早中期模型通过对软件架构进行评估分析能够及早的发现软件开发过程中可能遇到的问题并提出可行的解决方案进而提高了软件质量保障降低了软件开发的风险。
1.2软件度量与软件演化之间的关系
通过对演化前后的软件进行度量分析相关质量属性的变化情况可以得到软件的内部架构与外在属性之间的联系有利于进一步在总体上把握和控制软件演化的方向
1.3为什么要进行软件架构演化
软件架构演化的目的为了适应用户需求、开发环境、运行环境的变化。
一是在开发过程中用户的需求以及开发环境会发生变化需要通过改变软件架构来适应用户需求的变化以及开发环境的变化
二是在项目开发完成后用户的需求依然可能发生改变软件的运行环境也可能会发生变化需要通过架构演化来适应这一系列变化。
1.4软件架构演化的类型
静态演化1是什么、2必要性、3一般流程
1静态演化是指开发尚未完成过程中、或者说开发已完成但系统停止运行过程中发生的演化。
2在架构开发和实现过程中需要对原有架构进行调整保证架构与需求之间的一致性 在开发完成后由于运行环境发生变化需要对软件进行修改升级。
3架构理解——演化需求分析——演化计划设计——演化计划实现——系统测试
动态演化1是什么、2必要性、3内容以及技术
1软件运行过程中对系统进行更新且不停止软件功能的运行
2系统内部执行导 致的系统架构的变更二是系统外部发送请求对软件进行重部署
3属性变更、接口变更、拓扑结构变更、架构风格变更
技术动态重配置主从模式、中央控制模式、客户端-服务端模式
二、Unit13 软件架构重构
2.1 软件架构重构是什么为什么要进行软件架构重构
软件架构重构是指在不改变软件功能以及软件可见部分的前提下对软件的可维护性、可拓展性等质量属性进行优化的过程。软件从架构重构是软件质量保障的重要手段、是软件架构演化的重要方式。
2.2 基于度量的软件架构重构
1如何通过软件架构度量获取重构需求
2如何通过软件架构度量进行软件重构建议如何重构
3基于度量评估的架构重构过程
架构重构一定是在通过度量明确架构缺陷之后才进行的
基于度量对软件架构进行评估——产生重构需求——分析重构需求——设计重构计划——执行重构操作
三、Unit14-15 软件架构腐蚀与软件架构恢复
3.1什么是软件架构腐蚀
是指实际开发中的软件架构与预期的软件架构之间的差别。软件架构腐蚀是由于软件修改产生的而非人为恶意的。
解决方法架构腐蚀前预防腐蚀架构腐蚀中减轻架构腐蚀危害架构腐蚀后进行腐蚀修复
3.2什么是软件架构恢复有什么意义
软件架构恢复是逆向工程的实践和研究的方向。软件架构恢复是指根据项目工程完成由低层向高层的抽象过程得到系统架构中组成元素。开发人员可以根据恢复出的系统架构对系统的代码编写、代码测试等进一步评估优化。
3.3软件架构腐蚀和软件架构恢复之间的关系
随着软件开发的进行难免会产生文档的缺失代码与预期的偏差越来越大架构腐蚀的定义进而逐步发生软件的架构腐蚀。这时候如果人工来阅读代码来恢复架构的话无疑很是费时费力这个时候通过逆向工程来恢复架构对预防软件腐蚀就显得很有意义
四、Unit16-18 技术债、坏味道、脆弱性
4.1 软件技术债的含义和分类
含义
指软件开发人员为了保证项目进展或因为时间的原因或因为开发人员本身技术的原因在该采用某些最优的设计方案时采取了某些妥协以在短期内加速开发进而加重自己未来的开发负担。
分类
设计债务没有采用最优架构
代码债务没有遵循标准代码格式等
测试债务
文档债务
4.2 软件技术债的偿还
1发现技术债
2加入产品列表
3按照偿还的难度以及收益进行排序
4在将来开发周期中逐步偿还技术债
4.3 软件坏味道的含义和分类
1.代码坏味道程序中某一段代码是不好的或是不合理的我们将这一段代码称为代码坏味道。
1应用级坏味道重复代码
2类级坏味道过大的类
3方法级坏味道过长的方法、参数过多
2.架构坏味道 连接件嫉妒 模糊接口功能分散
4.4 软件脆弱性的成因
软件脆弱性是指在软件开发过程中如需求分析代码编写等过程存在的错误也可能是在配置过程中存在的错误。这种错误本身并没有危害但一旦被攻击者利用可能会导致非常严重的后果。软件脆弱性一般与软件架构风格相关不同风格的脆弱性不同。比如管道过滤器风格如果前面几个过滤器出现错误经过层层过滤可能会导致错误的放大。 最后再简单总结下
1.软件架构度量与演进
1软件架构度量的意义进行软件质量保障降低开发风险
2软件架构演进的意义满足需求适应环境
3二者之间的联系
4软件架构演进的分类
2.软件架构重构
1什么是软件架构重构
2软件架构重构的步骤
3.软件架构腐蚀与恢复
1什么是软件架构腐蚀
2什么是软件架构恢复
3腐蚀与恢复之间的联系
4.软件架构技术债、坏味道、脆弱性
1什么是软件架构技术债
2如何偿还技术债
3有哪些坏味道
4软件脆弱性的成因及危害