软件开发框架分析和架构模式一-阿里云开发者社区

开发者社区> eddie小英俊> 正文

软件开发框架分析和架构模式一

简介:
+关注继续查看

结构分析:

架构分析工作主要从宏观上考虑一个软件系统应该怎样组织。通常,在架构分析工作中,我们须要确定一些策略性的设计方针,原则和基本模式。

在它们的指导下,我们能够高屋建瓴地分析软件系统的宏观结构。认识软件系统由哪些组件构成,了解组件之间的接口和协作关系。架构分析的结果对于兴许的面向对象设计工作也是一种约束,有助于消除设计和实现过程中的任意性。因此。架构分析有时也被称为策略设计

组件指的是一组对象构成的,有固定接口的有机体,当设计者的观察视角不同。组件的规模不同或者组件内部的封装度程度不同一时候,这些有机体可能表现为不同的形式,如软件架构中的层。包或者子系统,架构分析的目的是通过科学的解析,将整个软件系统划分为不同的组件,而且准确定义出组件和组件之间的接口


在软件的实现层面,不同类型的组件,如层,包或者子系统等,也可能有不同的表现形式。

比如,它们能够表现为java程序中的一个包。也能够是c++项目中的一个源码文件夹。在软件公布和配置时。一个或者对个组件能够连接成一个可运行程序。能够表现为一个动态链接库,也能够表现为ActiveX空间或EJB组件

架构分析的作用:

架构分析工作预先为软件定义了科学的结构和规则,通过这些结构和规则,人们能有效地控制软件的复杂性,是软件易于理解实现和管理

好的的软件架构既能够分析软件中的不同组件。又能够精确定义组件之间的接口,这能够是软件系统中大部分组件具备较好的可复用性,同一时候通过架构分析工作,也能够实现更大范围的软件复用,即直接服用那些有代表性的软件架构

架构分析的结果也是多个项目组进行协作的基础。在软件架构有效分离的组件能够被分配给不同的项目组开发,仅仅要保证组件的接口定义不变,组件内部的变化不会对整个系统的继承产生影响


避免走入功能分解的误区:

功能分解和面向对象是格格不入的两种思维方式,功能呢个分解会严重妨害对系统组件及组件关系的理解。

面向对象分析和设计的基本原则强调对数据和相关操作的封装,依据这一要求,耦合度强,在逻辑上关系密切的数据以及操作这些数据的方法应该被封装在同一个类中。假设在面向对象分析之前,就採用功能分解的方法将软件系统肢解为多个功能模块。那么操作同一个数据的方法可能被分拆到不同的模块中,不同模块里的对象也会产生非常强的耦合性

子系统设计应该属于面向对象设计工作的一部分,应该在面向对象分析之后进行。在子系统设计过程中,设计者应该基于面向对象分析的结果来划分子系统。尽可能避免按功能划分的做法

架构分析的准备工作

在架构之前应该明确软件的类型是交互类型的软件还是系统类型的软件。架构分析在软件的整个生命周期里是一个迭代的过程,在面向对象分析和面向对象设计等不同的阶段中,软件系统的架构被一步步细化和完好

架构模式:

架构模式就是那些在开发过程中通过积累获得的。经实践检验行之有效.可复用的软件架构





版权声明:本文博主原创文章,博客,未经同意不得转载。







本文转自mfrbuaa博客园博客,原文链接:http://www.cnblogs.com/mfrbuaa/p/4777624.html,如需转载请自行联系原作者


版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
OAF_开发系列17_实现OAF数组应用Vector / Hashmap / Hashtable / Arraylist(案例)
20150506 Created By BaoXinjian 一、摘要 Vector、ArrayList和Hashtable Jashmap的异同 线性表,链表,哈希表是常用的数据结构,在进行Java开发时,JDK已经为我们提供了一系列相应的类来实现基本的数据结构。
891 0
OAF_开发系列16_实现OAF与XML Publisher整合
http://wenku.baidu.com/link?url=y2SFKHP5qqn4bl_iNeqLGjXsTvhyFuhkMraIbWZdTXbzcv0vTefrZFFBDWie0cAAKuTwgwhrMAVvTjAo_f1mH1CdAPhhl_JCLeb3BuVTYaSERP技术讨论群: 2...
530 0
OAF_开发系列13_实现OAF通过Vector动态查询设置(案例)
20150715 Created By BaoXinjian 一、摘要 Oracle OAF Guide上介绍的标准客制化查询的方式,在多条件下进行查询 具体实现步骤如下 Step1.在controler中的processRequest 的方法中调用 (1).
1455 0
OAF_开发系列14_实现OAF代码动态新增控件
dERP技术讨论群: 288307890 技术交流,技术讨论,欢迎加入 Technology Blog Created By Oracle ERP - 鲍新建
664 0
OAF_开发系列10_实现OAF动态LOV设定
20150712 Created By BaoXinjian 一、摘要 要在OAF中动态创建LOV的功能是很复杂的一件事,本文所讲述的动态LOV创建场合用于事先不能知道页面上会有多少个LOV,而且LOV所使用的SQL查询,也是由用户交互而获得的。
740 0
OAF_开发系列11_实现OAF通过DataBoundValues动态显示表列的左右对齐
20150712 Created By BaoXinjian 一、摘要 在OAF中除了Required, Rendered,Disabled, 和 Read Only这些属性可以通过属性面板用SPEL语言来进行声明式实现。
586 0
PHPpraffa也有了,一个PHP版本的阿里云函数计算与API网关的开发框架
发布了Python版本的函数计算与API网关的开发框架后,一直觉得对不起PHP,因为公司一直是用PHP的,我这弄了个Python,实在不该,对了,(Python版本说明点这里。 PHPpraffa是什么? PHPpraffa 是praffa的PHP版本。
1161 0
基于对象存储 OSS 的智能数据分析处理框架和功能
今年参加了 2019 全球闪存峰会(Flash Memory World),分享了“基于云存储的智能数据分析处理架构”,重点介绍在对象存储 OSS 之上的数据处理功能,现整理相关内容和大家探讨。
2132 0
925
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
《2021云上架构与运维峰会演讲合集》
立即下载
《零基础CSS入门教程》
立即下载
《零基础HTML入门教程》
立即下载