5 软件架构视图

软件架构为谁而设计

为用户设计:使用软件的人,需考虑功能的使用性
为客户设计:给我们钱做这个软件的人,考虑客户的约束条件
为开发人员设计:考虑开放质量
为管理人员设计:项目经理等,需考虑项目的管理,跟进等
在这里插入图片描述

软件架构视图

什么是软件架构视图
从某个角度,描述系统的组成的图

多组涉众,多个视图
对于不同的角色(如客户与程序员),他们掌握的技能不同,因此需要提供不同的视图

逻辑架构与物理架构
逻辑架构视图与物理架构视图是常用的架构视图

逻辑架构:
逻辑架构设计任务如下
识别功能块
规划功能块的接口
明确功能块之间的关系

物理架构:
物理架构描述了组成软件系统的物理元素在硬件上的部署策略

MailProxy案例

MailProxy简介
MailProxy具有代发客户邮件,接受管理员管理的功能,用例图如下:
在这里插入图片描述

逻辑架构设计迭代1
MailProxy系统需要与人交互,还需要与外部系统交互,于是有了用户交互层(与管理员交互)与系统交互层(与客户系统和MailServer交互),初步设计如下:
在这里插入图片描述

物理架构设计迭代1
在这里插入图片描述

逻辑架构设计迭代2
进一步细化逻辑架构
由于我们的系统需要与MailServer交互,所有我们新增一个“MailServer交互模块”
我们需要接收客户系统发来的邮件,但我们的产品一直迭代,我们不能因为我们产品的改变也要客户系统跟着改变,所有我们提供“代理模块”供客户系统使用
我们需要为管理员提供UI管理界面,所有在用户交互层提供“设置地址”,“设置规则”的UI模块
最终我们的逻辑架构如下:
在这里插入图片描述

根据物理架构提供的信息,我们将这些模块分为3个工程:
代理模块:包含代理模块,MailProxy系统专门发布给合作开发单位(客户系统)的API.
管理员web应用:包含“设置地址”,“设置规则”等UI模块,供管理员使用
MailProxy服务器程序:包含剩下的模块

注:同属于一个层并不一定部署在一台机器上

物理架构设计迭代2
有了详细的逻辑架构后,我们可以设计详细的物理架构
在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值