如何开展软件架构之概念架构

到目前为止,我们已经完成了需求的分析过程,总结来说,主要的步聚是

一)需求结构化,

二)分析约束影响

三)重点关注质量需求。

那么接下来的阶段则是系统的概念架构了,这也许是大家最感兴趣的话题,前面提到系统的多层架构,各层之间相互隔离,下层提供服务而不知道上层应用,上层也只通过接口与下层交互,每一层的修改均不会影响其它层的逻辑,看上去有多华丽就有多华丽!

但是真正开始系统架构时,却有无从下手无力感,为啥?因为你注意到软件的概念架构最主要的任务就是将系统按照某作规则划分成各种子系统,确定各子系统之间的协作,为下一阶段的细化设计奠定基础。

系统划分的规则主要有三类:

1:按逻辑分割

2:按物理部署分割

3:按通用性分割

而三层架构也正是按逻辑分割的体现。

简单地说,要对系统进行分割,我们必须明确系统有哪些职责,在明确职责之后,再将相似或相近的划分至各层中。

在需求分析阶段我们了解了系统需要实现的功能,但仅基于此,却难以支撑我们确定职责。在需求用例与功能职责之间还需要一座桥,那就是鲁棒图。

如前文提到的查看签到记录用例,通过绘制鲁棒图,我们发现了很多用例中没有体现的对象及相互之间的交互。系统分割正是基于此时发现的职责来进行割分的。

转载于:https://www.cnblogs.com/jiangu66/p/3221871.html

如何开展软件架构之概念架构相关推荐

  1. 架构分类:软件架构、系统架构。

    转自:微点阅读  https://www.weidianyuedu.com 在实际工作中,我们经常听到"架构"和"架构师"这样的名词,并不新鲜,但是总让很多刚入 ...

  2. 详谈软件架构设计(一)之软件架构的概念以及风格-上

    题外话:本篇博客讲的是软件架构设计中的软件架构概念以及软件架构风格.由于软件架构风格包含的内容太多,在本篇博客中只讲一部分的架构风格,其余的放到下一篇博客中继续阐述. 一:软件架构的概念 1.软件架构 ...

  3. 转载:智能驾驶域控制器的软件架构及实现(下)-支持L3+的软件架构及产品架构

    首发于Rust 语言与汽车软件 写文章 智能驾驶域控制器的软件架构及实现(下)-支持L3+的软件架构及产品架构 萧猛 ​ 功不唐捐 事缓则圆 已关注 105 人赞同了该文章 ​ 目录 收起 第3章 支 ...

  4. 软件架构解读与架构师角色培养——希赛嘉宾聊天实录

    软件架构解读与架构师角色培养--希赛嘉宾聊天实录[1]                                  [url]http://www.csai.cn[/url] 作者:温昱 来源: ...

  5. OpenStack概念架构简述

    什么是OpenStack OpenStack既是一个社区,也是一个项目和一个开源软件,它提供了一个部署云的操作平台或工具集.其宗旨在于,帮助组织运行为虚拟计算或存储服务的云,为公有云.私有云,也为大云 ...

  6. 软件架构自学笔记---架构分析

    架构分析: 什么是架构,根据要解决的问题,对目标系统边界进行界定,并对目标系统按某个原则进行切分根据切分使得这些部分能够进行有机地联系,合并组装成为一个整体,完成目标系统的所有工作. 架构设计的方法体 ...

  7. 【成为架构师课程系列】怎样进行概念架构(Conceptual Architecture)?

    目录 前言 什么是概念架构 概念架构阶段的3个步骤 初步设计 高层分割 分层式概念服

  8. 程序员架构修炼之道:软件架构基本概念和思维

    引子 互联网发展到今天,软件系统早就不是一个万行代码加上一台服务器这样的作坊玩具.BAT的服务器规模已经达到甚至超过百万级.传统企业向互联网的靠拢,势不可挡. 优秀的软件系统架构师就像大海航船舵手,指 ...

  9. [架构之路-92]:《软件架构设计:程序员向架构师转型必备》-2-解析软件架构的概念

    前言: 什么是软件架构?不同的人,有不同的答案.因为架构无处不再,架构又有不同层面. 很多人都给架构定义,不同的人,对架构有不同的理解,很难统一. 本文是按照作者个人的理解,来展现一个程序员如何向架构 ...

最新文章

  1. Mac上搭建Nginx + rtmp
  2. 《Groovy官方指南》目录
  3. Workbooks 对象的 Open 方法参数说明
  4. C# 通过socket实现UDP 通信
  5. 用单链表实现一个队列
  6. python更新包列表出错_解决pycharm无法获取安装包文件列表
  7. php最大并发数,php内置开发服务器的最大并发连接数
  8. 添加git 忽略文件
  9. Linux系统下破解root用户密码
  10. 大数据如何应用于食品追溯管理
  11. 分布式-图片上传到Lgnix
  12. 计算机控制系统——数字控制器设计之模拟控制器的离散化(Chapter 5)
  13. 031. 静以修身,俭以养德,非淡泊无以明志,非宁静无以致远。
  14. rust react tauri app 现有前端项目打包(windows)
  15. 第一代程序员作家--王小波
  16. Java常用消息摘要算法-MD5
  17. TcaplusDB君 · 行业新闻汇编(11月08号)
  18. C语言里的和*的简单作用理解
  19. 【山大会议】多人视频通话 WebRTC 工具类搭建
  20. 【pytorch】过拟合的应对办法 —— 丢弃法(dropout)

热门文章

  1. git 创建webpack项目_一次create-react-app创建项目升级webpack的流水账
  2. react实现路由跳转_react实现hash路由
  3. 运维祈求不宕机_[国庆特辑] 程序员应该求谁保佑才能保证不宕机?
  4. NYOJ 26 孪生素数问题
  5. ffmpeg 解码视频(h264、mpeg2)输出yuv420p文件
  6. BX、DI、SI、BP总结
  7. 【转载】最短路径之Dijkstra算法详细讲解
  8. PyCharm和git安装教程
  9. pthread和互斥量条件变量函数意义速查表
  10. shared_ptr简介以及常见问题