《软件构架实践》读后感-02
今天我开始读《软件构架实践》的第二章,这一章给出了软件构架的定义,并介绍了参考模型、参考构架和构架模式的相关概念。也从早期研究对系统知识、构架对涉众相互沟通的影响以及作为一种可重用资产的价值等方面,解释了构架在软件工程领域的重要意义。这里所给出的构架定义明确指出系统是多种结构构成的,并且对其中最常见的一些结构进行了解释,阐述了在设计过程中各种结构所起的权衡支点的作用。
某个软件或计算机系统的软件构架是该系统的一个或者多个结构,他们由软件元素、这些元素的外部可见属性以及这些元素之间的关系组成。这里的某个元素的外部可见属性是指其他元素对该元素所做的假设,比如说它所提供的服务、性能特性、错误处理、共享资源的使用。构架定义了软件元素,包含了关于各个元素应如何彼此相关的信息。构架必须省略各个元素中与其交互无关的某些信息。
书的第二章也说明了什么是构架模式、参考模型和参考构架。构架模式是对元素和关系类型以及一组对其使用方式的限制的描述,模式最有用的一个方面就是他们展示了已知的质量属性。参考模型是一种考虑数据流的功能划分。参考模型是对已知问题的标准分解,分解所得的各个部分相互协作,构成问题的解决方案。参考构架是映射到软件元素及其元素之间的数据流上的模型,软件元素之间相互协作,共同实现在参考模型中定义的功能。虽然参考模型、架构模式和参考构架都不是构架,但是他们都是捕获构架元素的有用的概念。软件设计师在设计中也必须考虑并发性、可移植性、可修改性、易用性、安全性等元素,并且要在这些需求之间进行适当的权衡。
第二章还提到了架构的意义:从软件项目或产品的需求管理规范书开始思考。构架由定义良好的模块组成,各模块的功能划分应基于信息隐藏,模块的划分应体现出相互独立原则。软件构架之所以重要,是因为它是涉众之间的交流、早期设计的决策、可传递的系统抽象。
转载于:https://www.cnblogs.com/3066405538a/p/6415807.html
《软件构架实践》读后感-02相关推荐
- 《软件构架实践》7-9章读后感
今天,我阅读了<软件构架实践>7-9章. 第7章主要有4个主题,生命周期的构架:设计构架:形成团队结构及其与架构的关系:创建构架系统.首先讲了生命周期中的构架,把构架作为软件开发过程基础的 ...
- 《软件构架实践》阅读笔记03
<实现质量属性>这一章为我们提供了每个质量属性的构架方面的指导.一个好的设计需要实现一些质量属性,实现这些质量属性依赖于基本的设计决策,战术就是影响质量属性响应控制的设计决策. 了解到的第 ...
- 06软件构架实践阅读笔记之六
06软件构架实践阅读笔记之六 今天阅读的是第五章实现质量属性,在书中,存在这样的一句话:如果不顾及所有的质量属性,每一个好的质量属性都是有害的.在我认为,这句话就是最好的说明. 在上一章中,聊到的是系 ...
- 软件构架实践读书笔记二
什么是软件构架 1.构架定义了元素 2.系统可能而且确实由多个结构组成 3.具有软件的每个计算系统都有一个软件构架 4.某个元素的行为就是构架的内容 构架是一个高层的.系统的总体结构.构架的内容就是构 ...
- 软件构架实践(第2版)学习笔记
一.软件架构.架构模式.参考模型.参考架构 1.对于软件架构定义有很多种,通用的定义是:某个软件或计算机系统的软件架构是该系统的一个或多个结构,他们由软件元素,这些元素的外部可见属性以及这些元素之间的 ...
- 《软件构架实践》阅读笔记三
这一章主要是通过ISSS系统的构架来分析交通管制系统的实际解决方案. 首先从物理视图的角度来分析,物理视图主要是一些硬件方面的视图,通过它我们可以清楚的看到各个硬件之间相互关联关系,使系统的物理分布显 ...
- 软件构架实践 第2版 学习笔记
分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! 一.软件 ...
- 软件构架实践_阅读笔记01(1-3)
之前的学期,我们学习了软件工程概论和软件需求分析,而下个学期即将学习软件体系架构.如课程安排的一样,如大众的观点一致:需求在架构之前.即传统的思想:在知道了系统的需求,就可以为此系统构建构架.而紧接着 ...
- 《软件需求》读后感02
需求实践中的种种不足会给项目的成功带来很多风险. 如用户参与不足:客户常常不能理解为什么必须下这么大力气去收集需求和保证需求质量.开发人员往往也不重视用户的参与,原因是自己以为已经知道了用户想要什么, ...
- 软件构架实践-构架模式、参考模型、参考构架
一.构架模式.参考模型.参考构架 二.常用的软件结构
最新文章
- C++ Boost在Windows和Linux下的编译安装
- build libusb for Android
- java 英文字符串排序_英文字符串排序算法
- oracle手动注册数据库,Oracle 11g手动创建数据库(Linux平台)
- 计算机网络 故障处理,计算机网络通讯技术故障分析与处理
- c/c++函数指针(3)
- 有哪些特点_锌钢栅栏有哪些特点?锌钢栅栏特点有哪些?
- MySQL中的LIMIT 关键字
- vivado基本使用流程(详细版,一步步跟着来一定能成功)
- c语言运算符优先级(c语言运算符优先级由高到低的顺序)
- 概率图模型之隐马尔可夫模型
- 使用MYSITE.github.io的免费二级域名实现顶级域名的重定向网址跳转
- 一篇文章带你走近Android自定义view
- varnish 缓存php,php实现监控varnish缓存服务器的状态
- EPLAN 3D图自动生成2D安装版图
- 重磅!京东云区块链数据服务(BDS)正式开源
- Python爬取10529条《三十而已》热评,看看大家都说了些啥!
- PEP 8 – Style Guide for Python Code
- SAP 系统中成本中心调整
- CPU和Memory压力测试方法
热门文章
- 0034-CM启动报InnoDB engine not found分析
- D-Bus 性能分析
- AngularJs HelloWorld
- 在Apache环境下成功的运行ASP.NET
- ubuntu如何修改terminal终端的主机名
- One账户多设备同步的数据库设计
- Android 使用handler实现线程间发送消息 (主线程 与 子线程之间)、(子线程 与 子线程之间)
- CF1040A Palindrome Dance
- python关于csv的查询系统_使用Python对csv文件操作
- python 清屏_见识Python百宝箱,十行代码制作动态广告牌