zoukankan      html  css  js  c++  java
  • 软件架构实践读后感二

    软件架构实践读后感二

     

    本周继续了上周的任务对《软件架构实践》进行了进一步的学习,在上周我对于这本书大致有了一个简单的了解,这本书大多是针对于实践中的软件体系架构的设计,这对于缺乏实战经验的我们而言是相当重要的,于是我又开始了对这本书的深入研究。

    在本次学习中主要学习了关于创建软件架构的部分,那么问题来了,什么是软件构架?构架就是对系统的结构的一种描述。这里所说的系统结构有多种类型,例如模块分解、进程、部署和分层等。构架是能够用以分析的第一个制品,并能够根据此来确定系统质量属性的实现程度,可以用作项目的蓝图。构架也是用于交流的工具,是早期设计决策的表现,是可以传递到新系统中的可重用的抽象。软件架构(software architecture)是一系列相关的抽象模式,用于指导大型软件系统各个方面的设计。软件架构是一个系统的草图。软件体系结构是构建计算机软件实践的基础。在过去我经常将另一个关键词与软件架构混淆,然而后来我发现这两者有着天翻地覆的区别,另一个关键词是软件结构,那么什么是软件结构呢?

    软件结构(Software Structure)是指一种层次表况,由软件组成成分构造软件的过程、方法和表示。软件结构主要包括程序结构和文档结构。程序结构有两层含义,一是指程序的数据结构和控制结构;另一是指由比程序低一级的程序单位(模块)组成程序的过程、方法和表示。在后者含义下,具有代表性的是块结构和嵌套结构两种。块结构比较自然,各个部分之间通过一些公用变量取得联系,嵌套结构是在嵌套分程序的基础上引进局部性和动态性,以减少程序的初始信息量,嵌套结构不如块结构直观,调试不方便。

    我了解了软件架构的创建过程,首先是软件架构的首要关注点并不是系统的功能。每个系统都有自己的品质关注点。有些关注点可能定义得很好,如性能、安全、可伸缩性等。但是,不排除存在着同样重要的关注点却可能缺乏详细的书面说明,可变性、可维护性和可用性等就是典型的例子。架构师的第一项任务,就是与利益相关人协作,理解这些品质关注点和约束,并为它们排列优先级。

    在开发过程中需要关注以下几点:

    1、功能性(Functionality)

    2、性能(Performance)

    3、容量(Capacity)

    4、生态系统(Ecosystem)

    5、模块化(Modularity)

    6、可构建性(Buildability)

    7、产品化(Producibility)

    8、安全性(Security)

    通过本次阅读我了解到在关注了以上八点内容,并明确了软件架构的首要关注点并不是系统的功能这一重要原则之后,就可以快速而正确的实现软件架构的创建。

  • 相关阅读:
    mysql中使用row_number()函数
    Android开发环境的搭建之(二)Android Studio的安装
    Android开发环境的搭建之(一)Java开发环境的安装
    进程与线程
    工作起始之博客搬家
    MapReduce的自制Writable分组输出及组内排序
    map端join和reduce端join的区别
    String.StartsWith 方法
    RPC和心跳机制
    MAPREDUCE中的序列化
  • 原文地址:https://www.cnblogs.com/jinseliunian/p/13099325.html
Copyright © 2011-2022 走看看