做房产中介网站,c 网站开发案例源码,项目营销推广计划,搜索引擎调价工具哪个好一、问题
1.架构到底是什么#xff1f;架构和业务之间到底什么关系#xff1f; 2.好的架构的设计出发点是什么#xff1f;好的架构应该是什么样的#xff1f;
作为一个计算机领域的词汇#xff0c;架构的定义是#xff1a;有关软件整体结构与组件的抽象描述#xff0c…一、问题
1.架构到底是什么架构和业务之间到底什么关系 2.好的架构的设计出发点是什么好的架构应该是什么样的
作为一个计算机领域的词汇架构的定义是有关软件整体结构与组件的抽象描述用于指导大型软件系统各个方面的设计。
然而业务在不断变化我们的软件架构也在快速腐化所以必须要不断的迭代更新不断适应新的业务需求。一个软件架构的设计主要有三点
功能需求 约束条件 性能
约束条件指在什么环境下运行Linux还是windows嵌入式还是PC性能就是安全并发响应速度吞吐量等。
二、软件建模
软件建模就是对一个系统的抽象化在需求和实现之间架起一座桥梁通过模型指导一个软件系统的具体实现
三、软件建模方法
在不同的领域和场景下有不同的软件建模方法其各自的建模思想和采用的建模工具也不尽相同如 结构化方法Structured Method 面向对象方法Object Oriented Method 基于构件方法Component Based Method 面向服务方法Service Oriented Method 面向切面方法Aspect Oriented Method 模型驱动方法Model Driven Method 形式化方法Formal Method
四、架构分类
逻辑视图用于描述系统软件功能拆解后的组件关系,组件约束和边界,反映系统整体组成与系统如何构建的过程。关注功能和逻辑层。
开发视图描述系统的模块划分和组成,以及细化到内部包的组成设计,服务于开发人员,反映系统开发实施过程。
物理视图描述软件如何映射到硬件反映系统在分布方面的设计系统的组件是如何部署到一组可计算机器节点上,用于指导软件系统的部署实施过程。
处理视图用于描述系统软件组件之间的通信时序,数据的输入输出,反映系统的功能流程与数据流程,通常由时序图和流程图表示。关注进程、线程、对象等运行时概念以及相关的并发、同步、通信等问题。 五、 软件建模工具
随着面向对象技术的不断发展和应用形成了面向对象的建模标准即UML统一建模语言。UML是面向对象开发中一种通用的图形化建模语言具有如下特点 面向对象支持面向对象的主要概念提供了一批基本的模型元素的表示图形和方法能简洁明了地表达面向对象的各种概念 可视化、表示能力强通过UML的模型图能够清晰地表示系统的逻辑模型和实现模型可用于各种复杂系统的建模 独立于过程是系统建模语言独立于开发过程 独立于程序语言用UML建立的软件系统模型可以用Java、C、Smalltalk等任何一种面向对象的程序设计来实现 易于掌握使用UML图形结构清晰建模简洁明了容易掌握使用
1UML的组成由事物、关系、图三部分组成。 1事物结构事物用例、类、接口、协作、活动类、组件、节点行为事物交互、状态机组织事物包辅助事物注释 2关系关联、依赖、泛化、组合、聚合 3图动态图状态图顺序图合作图活动图静态图用例图类图对象图组件图部署图
2UML的五种视图对上面九种模型图的实际应用 【白盒视图】逻辑视图使用类图和对象图实现 【白盒视图】实现视图使用组件图实现 【白盒视图】运行视图使用状态图顺序图合作图活动图实现 【黑盒视图】部署视图使用部署图实现 【黑盒视图】用例视图使用用例图实现
(3) UML模型图的五种关系
类的五种关系泛化实现组合聚合关联依赖(耦合度依次减弱一个类的改变对另一个类影响越大则耦合度越强)
1泛化 指的是类之间的继承或者实现关系继承使用空心三角箭头实线表示[|--]实现使用空心三角箭头虚线表示[|..]生命周期在定义类关系时就必须确定一开始有效
2组合表示个体与组成部分之间的关联关系组成部分是个体不合分割的一部分[*--]使用实心菱形实线表示生命周期在类实例化时有效
3聚合表示集体与个体的关联关系个体独立于集体使用空心菱形实线[o--]生命周期在调用方法调用时有效
4关联表示一个类需要依赖另一个类做成员属性的关联关系使用箭头实线表示[--]生命周期在类的成员变量内有效
5依赖表示一个类需要依赖另一个类做方法的返回值、形参、局部变量或者调用另外一个类方法的依赖关系使用箭头虚线表示[..]生命周期在类的函数调用时有效
4应用到具体的软件开发流程
1需求分析使用用例视图用例模型图去描述外部参与者角色对系统功能的建模分析是否满足客户需求。
2概要设计使用逻辑视图类图、对象图和行为视图状态图、活动图、合作图、顺序图去描述系统的静态结构和动态结构。
3详细设计使用逻辑视图类图、对象图和行为视图状态图、活动图、合作图、顺序图去描述实现系统的静态结构和动态结构方案。
4编码阶段将详细设计的静态结构和动态结构方案实现到具体编码中。
5测试阶段使用逻辑视图类图描述编写单元测试用例使用实现视图组件图和部署视图部署图去描述集成测试用例。
参考
对软件建模的全面认识_huahua.Dr的博客-CSDN博客
【精选】软件建模概述 UML模型图-CSDN博客
一文了解8种常用的软件架构模式原理与应用