• 《架构师修炼之道》读书笔记一


    什么是软件架构?

    软件架构是关于如何组织软件的一系列重大设计决策的集合,旨在实现期望的质量属性和其它软件特性。软件架构并没有一个标准的定义,对于不同的用户角色有着不同的看法。

    什么是软件架构师?

    软件架构师实际上就是软件项目的总体设计师,是软件组织新产品的开发与集成、新技术体系的构建者。软件架构师的工作职责有以下几点:

    1、架构师架构师关注质量属性(即非功能需求)和影响架构设计的约束和特性。

    2、架构师根据功能需求、质量属性、设计约束及其他需求策略,对软件系统进行分解。

    分解后的系统以承担不同功能或服务的组件、模块的形式出现,分配给不同的人或团队开发。

    3、架构师要从全局角度出发考虑整体系统,不能只着眼于局部细节的设计。

    4、软件架构的设计需要不断进行取舍,架构师经常要找出方案与各利益相关方协商如何进行合理的取舍。

    5、架构师需要进行模块划分和协调工作,并将业务需求和技术决策通盘考虑,只有这样,才能游刃有余地管理技术债务。

    6、架构师是团队的导师和顾问,有责任向团队分享知识,让他们成功地开发出软件。把架构设计当做一项社交活动,让团队成员都参与到设计中来,从而有效提升团队技能。

    架构师如何打造出色的软件?

    1)软件架构将复杂的大问题分解为容易处理的小问题。解决现代软件系统庞大且复杂,有许多活动的部件问题。

    2)软件架构告诉大家如何协同工作。软件架构描述了整个系统如何组成有机的整体,掌握了软件架构就清楚了人们该如何合作开发软件。

    3)软件架构为讨论复杂设计提供了基本词汇。软件架构为软件开发的沟通提供了基本概念和词汇,这样开发人员就可以把时间花在解决用户的实际问题上,而不必发明新的概念和词汇。

    4)软件架构关注的不仅仅是功能。软件架构除了考虑功能需求,还要考虑成本、约束、进度、风险、团队的交付能力,以及最重要的质量属性(如可伸缩性、可用性、性能、可维护性等)。

    5)软件架构让你避免犯重大错误。软件架构可以帮助发现那些今后可能会带来麻烦的问题和地方。

    6)软件架构让软件更灵活。架构为软件提供了灵活多变的结构。

  • 相关阅读:
    iOS微信支付集成
    iOS支付宝支付集成
    JavaScript原生实现《贪吃蛇》
    安装tensorflow的最简单方法(Ubuntu 16.04 && CentOS)
    Eclipse 插件管理
    settings.xml 文件配置
    Spring MVC 起步
    机器学习: KNN--python
    Python: PS 图像调整--亮度调整
    计算机设计思想 —— 代理(proxy)
  • 原文地址:https://www.cnblogs.com/znjy/p/16124705.html
Copyright © 2020-2023  润新知