张贺部分复习课转写
本文由本地 faster-whisper medium 模型转写。
前两期说一下下周的期末考试这个考试大家知道是两个课程内一个是摄影课程式一个是体结构、下构这两个课程内容的话呢从课时到考试的站起来说呢是各大一半总成绩是两个课程平时的作业成绩然后期末考试是60然后不管说是平时成绩还是期末考试这两个课程内容都是各大一半然后期末考试提醒的主要是检答题、特别分题检答题的话呢可能是比较基础那种但是不会按照讲义那些内容让大家去做这个记忆
这个记忆是没有太大的意义这里面还是就某一个致敏来去进行考察并不是死进胃而是让大家能够去灵活地去练习去做一些某一个特定的文章去做一些分析但是这个是单一的致敏到摄影分析题的话呢给出一个在开发当中的一个现实问题然后让大家去解决可能是让你去做一个分析给一个设计也可能是给你一个已经完成的一个设计然后让你去评价看这里面可能是哪个地方会存在问题是怎么样去解决题目的话呢还是延续
我们课上都是以英文的题目为主但是呢你杂题的话呢大家不要活用如果对英文来说分析摄影题呢需要带上一些话题不管说是N1、N2还是说我们这个加入摄影所以大家可能会准备一些鲜米啊或者是柿米之类的然后方便大家去做出来基本内容照我们刚才说的是上百分之六十然后这个高阶的部分四十这个架构部分基本上我们讲的大部分这个题目这个架构相关的一些基本的概念、原理这个是基础部分在这个题目之上我们先去学习
架构摄影的依据质量属性与体和质量属性相关的和不同的需求的在这个架构摄影当中所启用的这些以及针对不同质量属性我们所采用的设计和测试然后架构的模式把这个不同的type要进行组合之后然后如何去识别ASRASR就是架构设计的一个输入然后怎么样从输入当中去识别哪些可以在架构阶段去解决的这些这就是ASR然后设计架构的方法然后一地代表现在比较流行的输入架构关于基础的任务首先是什么是架构
把这个概念给出了不同定义不同定义的话它的相同点架构实际上都是某一种结构像是我们的组件目前这些元素和组件之间是存在着相互之间的关系元素和关系实际上都会有它的附带的属性随着时间会产生这种状态的变化在这里面上我们刷的几个主要不是一个结构的关系然后里面有元素和关系来去组成的但是这里面要去练习的一个是架构和结构的关系结构的话是一个动的静态的一个组成的不单单是通过结构表现
运行起来之后运行态的时候他们相互之间元素和元素之间关系的动态变化然后架构和设计我们设计的早期阶段它完成的是高抽象层次的设计问题所以设计实际上是包含架构设计但是反过来这个是不成立的设计当中还存在高抽象层次实际上它有详细的设计那从业人加上架构师基本上我们是分成几大类这一层 这是站主要部门我们是将近一半的目的量就是在去协助不同的step holder之间这个关系 目的是要在架构上
能够去达成特性管理工程的这个经验 架构设计在实现的过程当中出现问题之后的话架构主要是解决的架构师主要是完成这个任务实际上就是解决用户和开发者之间的矛盾用户往往是需要功能越多越好共鸣越3C这种功能越比较吸引人的这些功能 可能会提出新的一些需求但是开发者是考虑了开发的时间和成本用户是希望feature越多越好越快速变好越好开发者是希望只是完成主要的去控制成本最好后面也不要去发生这样
在这一对矛盾下面最后妥协出来的就是架构设计这个是要去解决这种矛盾这个架构的来源我们前面说的ASR就是指导架构设计最重要的这个书但是ASR当中的主要部分会复习到不同类型的需求非公共需求当中的话更占重要的一部分除了需求之外架构还会有stayholder去组织这个计划我们前面说的解决的是不同stayholder之间重要的架构设计这个架构在某一个方便就是某一个关注点上面
同时隐藏其他的系统典型的经典式图的模型4加1的支持开发逻辑式图描述的是系统之间系统内部各个部分之间的逻辑关系或结构化关系这个position相对来说是静态的在系统的周期当中不会发生变化对应的proces使用是运行起来之后相互之间的动态依赖关系调整关系物理是说是描述软件因为软件并不是物理世界软件当中的元素和真实的世界外部物理世界之间的映射关系映射关系就是部署关系
软件的component部署在不同的物理的运行的计算字眼另外一个就是软件元素和外部世界之间的交互Io或是sensor开发制度是在开发的过程当中跟开发的建筑设计有关系包括部分开发的团队包括相互之间的依赖关系只有这40个的话可以点滴去调整一个use case40个加成器再加上use case只能解决一个use case一个机关的重要性这个系统是什么样的如果是开发一个系统
这个系统除非它是特别简单否则你只有这4个系统架构活动能架构知识领域大家可以去看看架构活动我们这个课要去掌握的是设计阶段的架构发生在设计阶段的早期这个活动主要是包括先要去找到SR能够去影响架构的设计什么是SR有没有这个事情最后会导致不同的架构有这样重要程度的就是SR找到SR进行架构设计设计的时候可以使用赫尚所学的KTT方法SR之外你还需要有其他功夫比如说已经借鉴
能够去在实践当中证明行之有效的这些设计帮助我们使用SniroBase的方法描述出来的这些SR我们可以去形成设计完之后还要把它进行描述描述主要的这个程度就是形成家务文档然后再由不同思维去评估评估的这个结果有可能我们会遗漏有可能会不一旦如果说是因为输入的问题不是需求的问题那可能还要去遇到第一步比如说你识别的SR是个问题要重新找到对应的SR然后再去开始设计需求主要是关注的
就是质量需求质量需求和Conscious我们称为NSR质量质量属性就是文化质量需求我们进行一个分类分类之后某一个分类就是一个质量对于质量属性只有开发者能够感受到对于开发者来说系统是一个白虎它知道内部是如何实现所以它是只有开发者关注比如说你的修改性流动性这些是外部用户所不关心的外部用户会关注对应用性去描述一个质量需求我们使用这种Scenario这个方法就是包括
六个元素从发出是某一个消息发出是Source在这个刺激之下会产生一个Response对这个Response可能会有若干的量化度量相应时间整个刺激相应的过程是在一个特定的环境下满足这六个元素的我们才会认为它是一个对于质量需求的描述它才能够作为我们架构设计的一个书我们是没有办法对它进行科上讲的内部和外部的质量属性第一这些都是比较常见的我们通过这些质量属性描述建国方法
怎样去解决质量属性的问题某一个质量属性对于影响的因素进行分析之后会从不同的因素入手每个因素分成四段时间要提高可用性要去延长或缩短某一个特定的时间这就变成了四个stretching在某一个因素上面我们怎样进行针对性的设计这就是tactingstretching和tacting结合一起就是把某一些固定的进行一个组合这种组合目的是要去解决经常反复出现的问题可能是在开发当中
会遇到的一些问题当我们把问题剥离抽离之后剩下的就是这种组合的方式在维俗上就是一个架构的方式但是当它在解决不同问题的时候它会做出不同的pattern比如说style的抽象参数要比pattern要更高刚才说过程当中的第一步识别ASRASR里面会包含这三种事情应该都会出现但是比重会不一样在ASR当中所有的concepts都会在ASR当中但是concepts应该在需求当中
占比是比较少ASR当中大部分的内容大部分的需求就是county part但是它不是全部实现起来比较困难的对于用户来说会影响软件交付价值关键的county part方式部分更加是极为重要并不是全部的方式所以这里面其次是concepts在设计阶段上为什么要去解决concepts定义软件完成这个feature的好坏程度实现某一组方式可以有任何的结构比较复杂的功能甚至有无穷的结构
但是真正能够满足county part就会收缩为一个比较有限的功能所以先要找到这个结构若是到步骤上面从definement的文档来但是它对于county department的记录往往是不够公正不满足我们前面看到的六位元素这样一种描述方式它是缺某一个甚至一多个的很多往往是没有measure所以你要对于county department要进行补充补充的方式就是通过stayholder
而且也要对于这些需求即使我满足了这个描述的要求但是我还要去把它的优先级因为我们在加数学当中不可能去解决所有问题然后最后使用这种效用处的方式来去对它进行描述效用处首先它是一个run一个需求它会有这样一个评价这个评价是分成这两个维度一个维度是对于这个功能对于用户来说有时候你的performance必须在多少毫秒之内必须要去反馈另外一个就是开发人员在这两个维度上对某一个特定的质量需求进行
最后得到这个设计里面首先这个设计的话应该是一些比较成熟的可以在几乎各种的工程设计当中应用的思想思想主要是这六个一个抽象另外一个就是分解分解就是把一个复杂的问题分解成不同的部分让它降低它的难度就是这两种方式一个是自底下向上一个是自底下向下但是它们的目的上都是要去解决复杂的问题当你选择好确定一个合适的力度但是只是去解决一个这个组成部分对它的设计的话是在先生成然后再去验证再去测试
让一个迭代的使用版一直到能够满足ASR这个要求就是一个iteration在整个过程当中的话这个成功的教授设计是用一系列设计决定来去组成的设计决定的方式分成这七大类第一Elocation Resonance这里的resonance不单单是包括功能也包括这个质量所以这里为什么我们不说Elocation functionality而是这个责任这个责任的话就是因为你要去
实现某些质量的需求所以会衍生出来的一些责任这个责任的话是没有在功能需求当中所定义的所以我们把它和这些重要的一些功能分成把它要落实到具体是有哪一个哪一个软件元素来去承担来去完成的这个责任然后不同的元素之间他们在系统运行的时候他们会存在的这种交互关系比如说谁和谁是可以进行交互的交互的方向是什么样子然后可以有哪一种这个交互传递数据还是控制然后对于数据的主力从创建的数据
到读写去修改去删除去知道整个去进行实际化等等这些生命周期这个数据的一些结构和模式资源的管理就是包括硬件资源和软件的资源硬件资源就是CPUNetwork、Network、Digital这些都是硬件资源因为它要在固定下这些元素之间要进行动向然后加固元素的映射这里就包括两种映射一个是加固的元素到软件到硬件的这个元素的映射因为它并不是一对一的关系然后从软件实现的元素
到它附属环境当中映射和它会存在多个实力然后把握时间抓住这五个关键的时间点什么时间点我们是确定下来不同元素之间的关系设计到你编译的时间到你部署的时间到你初始化的时间最后是在你运行时刻动态去确定这五个关系最后让你选择什么样的技术来去实现设计根据你的技术设施根据你比如说现在的技术战你采用什么样的开发的语言、私底课这些上去下边就是你这个语老师专门对于