项目中软件架构过程

本文详细阐述了软件架构的重要性,包括其组成、与子系统和框架的关系、粒度划分以及作用。介绍了软件架构的四种视图:逻辑架构、开发架构、运行架构和物理架构。同时,讨论了架构设计的关键要素和策略,强调了需求分析、领域建模以及验证架构的过程。架构设计应以适合项目需求为目标,而非追求完美。
摘要由CSDN通过智能技术生成

1、什么是软件架构

1、1 分2种:

1>、组成派:软件架构 = 组件+ 交互(接口,模块与模块之间交互);

2>、决策派:软件架构= 重要决策(决定重要的需求);

两者互相铺成;

1.12软件架构和子系统、框架之间的关系:

1>、复杂性是层次话;

2>、好的架构必须把变化有效的封装到系统的不同部分(关注点分开):

    a、通过关注点分离,达到“系统中的一部分发生变化,不会引起另一部分的变化”。的目标(作为一名架构师应该能熟练的应用设计工具(UML建模,OOD/OOA,GRASP,领域模型,UP);

3>、软件单元粒度:

粒度最小的单元通常为类,也有人说是字段、属性,方法;

 A类与其他类之间的协作,构成模块;

 由一个或多个模块完成独立的功能,构成子系统;

由一个或多个子系统相互配合满足一个完整应用的需求,从而构成了软件“系统”;

一个大型的企业往往使用多套系统,多套系统相互操作形成“集成系统”,也有人说是WEB机群???

注意:软件单元的粒度是相对的,同一个软件单元在不同的场景中我们会以不同的粒度看待他,软件架构不等于框架(2者有联系),框架是一种特殊的软件,框架也有架构;

可以通过架构框架化来达到“架构重用”的目的,如Log4net,SSH;

4>、软件架构的作用

如果一个项目的架构还未确定就不应该进行系统的全面开发;

一个充满缺陷的系统始终是一个充满缺陷的系统

软件架构是将现实世界与计算机世界的一座桥梁,要完成从面向业务到面向技术的转换

 需求 ---- >>> 架构设计---- >>> 软件架构 ---- >>> 系统开发---- >>> 软件系统

a、软件架构对新系统起的作用:

    上承业务目标,下接技术决策;

    控制复杂性;利于迭代开放和增量交付;提高质量;

b、软件架构对软件产品开发的作用:

 固化核心知识;

 提高可重用资源;

 缩短推出产品的周期;

 降低开发和维护成本;

 提高产品质量;

 支持批量定制;

软件产品线:是一组可管理的、公共特性的、软件密集性系统的集合这些系统满足特定市场的需求,并且按照预定义方式从一个公共的核心资产集开发得;

软件产品线架构:针对一个公司或组织的一系列产品而设计的通用架构;

2、软件架构方法

架构师应当为项目不同的角色而设计;

架构师要为客户负责,满足他们的业务目标和约束条件;

架构要为用户负责,满足他们的功能需求和运行期质量属性;

架构师必须为在一起工作的程序员着想;

架构师必须考虑到项目的管理人员,为他们进行分工管理,协调控制和评估监控等工作提供清晰的基础

 

五视图法:

 逻辑架构:

  逻辑架构关注功能;

 开发架构:

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值