`
oywl2008
  • 浏览: 1068437 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

关于架构的小整理,仅限于个人

 
阅读更多

1.关于架构过程:

a.充分分析需求,确定架构驱动力。在此阶段,要根据需求找出关键功能,关键质量,关键质量间的影响,系统约束(功能和非功能,例如团队,系统背景,性能,技术方向)

b.根据关键功能进行初步设计,然后根据初步设计进行高层分割,最后针对非功能需求(如业务需求,行业背景和约束)做出决策。在此阶段,根据以上观点,做出概念模型。

c.最后对系统整体结构进行细化。

其实架构很多时候最难得是在性能和可扩展性之间寻求平衡点,架构要多视角分析。

2.关于遵循的原则

a.依赖高层抽象,不要依赖底层的实现。

b.没必要直接通信的类,让他们通过中间类通信。就是建立一个类,a和b类都和c类通信,来访问对方。

c.子类必须可以替换任何父类出现的地方,其实就是里氏代换

d.基于查询和命令的实现。如果一个方法a,访问a会得到一个结果,那么方法a就是一个查询方法。如果方法b,更改了某些类的状态,则b就是一个命令方法。尽量将a和b的实现分离,既如果a是一个查询方法,就不应该改变其它类的状态。

e.分包的时候,将可能相互影响的类放到一个包里,不要让影响扩展到其它的包中。

f.接口职责单一,一个接口最好只负责一件事。如果让一个接口负责太多的事情,要增加功能的时候太难了,因为子类必须实现接口所有的行为。所以提倡,先组合,在抽象。先确定一个需求根据什么组成,分出职责,然后抽象,形成接口,既标准和约束,然后就开整。

以上201211142310整理,不全面,睡觉了,以后想到了,继续补充。

 

 

我想说,大家开发项目一定会混乱。因为大多数的开发都是经验谈,很少有方法论。混乱的根源在于需求不明确,因为很少有人将需求分层次,一般对开发级重视度不够。也很少有人对模块间的关系进行分析。所以,对模块间的关系也很少重视。但是,协作决定接口,没有协作,接口将来也不能满足应该用。开发经验很重要,但是也要有方法的指导。

架构是业务到系统的桥梁。将业务转换为我们要开发的系统。

1.需求阶段。这个阶段主目标是定关键功能,质量,约束。为概念架构做准备。

2.概念架构。这个阶段主要目标是回答客户的关心的业务(也可说是价值)如何实现,关心的问题如何解决。这里要注意:

1)用例图不能彻底覆盖系统,因为用例图并不能反应系统的非功能需求和约束。

2)不要过早概念架构不要进行接口+模块的设计。因为概念架构之前,并不能覆盖系统关键质量约束和非功能需求,也就不能明确模块间的关系,所以这阶段进行模块+接口的设计一定是不合理的。

3)概念架构只关心系统的关键部分。这样粗的看待系统,才能覆盖系统

4)围绕关进需求,质量,约束进行设计。

5)明确影响系统几个最大因素。针对关键问题进行设计。

6)概念架构要抓住客户关心的价值和担心的问题。

7)概念架构贵在有针对性,概念架构对关键部分,给出高层次的解决方案。主在确立架构大方向,针对关键要素进行设计和确定交互机制。(大体分层)

8)概念架构确定高层分割方案和其他关键决策是否合理。

概念架构的核心是发现职责,然后确定高层分割,考虑非功能需求。首先根据关键需求(质量,功能,约束,风险)发现职责(重点是发现职责,因为这是以后高层分割的基础),划分职责后确定高层分割。最后考虑非功能需求。这样大体确定系统的结构和交互机制。由于都是围绕关键功能和主要问题进行设计,所以一般情况下可以回答可会关心的功能和担心的问题如何解决。

3.细化架构。概念架构并不足以对并行开发做出指导和开发的规范。所以,要进行细化架构设计。这个时候要考虑接口+模块的设计。

累了,不写了,细化架构和之后的一些内容留到以后在写吧。今天的比较细,本人是粗人,并不喜欢太细的东西。最后写的内容一定要用一段话总结出来。就到这,剩下的以后写。

 

http://www.cnblogs.com/panbolin/archive/2012/11/14/2770768.html

 

分享到:
评论

相关推荐

    系统架构师,个人学习整理,仅供参考

    系统架构设计师的职责包括但不限于创建系统蓝图,选择合适的技术解决方案,以及协调开发团队与业务需求之间的关系。 "系统分析师"这个标签指出,书中可能包含了大量的分析技巧和方法,比如需求分析、系统性能评估和...

    QNXNeutrinoRTOS系统架构_个人整理中文版.pdf

    QNX Neutrino 实时操作系统(RTOS)是一个高度模块化、微内核架构的操作系统,主要目标是为嵌入式系统提供一个稳健和可扩展的操作环境,支持包括但不限于从资源受限的微小嵌入式系统到高端分布式计算环境的广泛应用...

    软件信息架构考试知识点整理.doc

    以下是整理的软件信息架构考试中的关键知识点: 1. **架构的定义**:架构是系统的核心组织,包含其组件、组件间的关系、与环境的交互以及指导设计和发展的原则。常见的架构类型有: - **规范架构**:强调系统的...

    系统架构师大会整理(根据大会新闻整理,了解一点术语技术)

    - **面临的挑战**:包括但不限于系统架构的设计、网络的有效监控与分析、应用服务器资源的设计、网络架构的规划以及大规模数据的存储管理。 - **交流平台**:为了帮助系统架构师应对这些挑战,IT168(ChinaUnix、...

    系统架构师的职责要求

    3. **职业规划**:系统架构师应注重个人职业发展规划,不断提升自己的综合能力,为职业生涯的长期发展奠定坚实的基础。 综上所述,系统架构师的职责不仅仅是技术层面的设计与实现,更涉及到对业务的理解、团队的...

    电子电器架构说明

    ### 电子电器架构说明 #### 一、电动汽车架构开发工作的主要内容与人员配置 电动汽车作为未来汽车工业的重要发展方向,其电子电器架构的设计对于整个车辆的性能、安全性和用户体验有着至关重要的影响。因此,电动...

    ArchSummit 2017 全球架构师峰会 北京专场 全部PPT合集(六)

    这个压缩包文件是经过精心整理的,涵盖了大量宝贵的信息,包括但不限于: 1. **微服务架构**:可能涵盖如何设计、实施和管理微服务,以及微服务带来的挑战和最佳实践。微服务架构是一种将单个应用程序拆分为一组...

    个人编程技巧收集整理(Delphi).rar

    这个名为"个人编程技巧收集整理(Delphi).rar"的压缩包文件显然包含了关于使用Delphi进行编程的一些个人经验和技巧集合。 首先,我们可以从“中文资讯.txt”和“中文信息.txt”推测,这两个文档可能包含了中文版的...

    IBS_个人网银需求说明书_自助贷款(已评审)整理.pdf

    【个人网银需求说明书】是广东发展银行新一代网银及手机银行项目的重要文档,主要针对个人用户在网银平台上的自助贷款服务进行了详尽的需求分析和功能定义。这份文档共有57页,由相关人员拟制、评审并最终批准,旨在...

    微信小程序结合个人防尾随系统报警的可操作性.pdf

    微信小程序的开发流程可以分为多个层次,包括收集整理相关资料信息、结合用户体验优化设计、小程序UI设计和小程序的设计制作等。通过这一流程,可以开发出满足不同用户需求的小程序。 教育领域中,微信小程序也展现...

    JAVA写的个人博客源码Java实用源码整理learns

    标题中的“JAVA写的个人博客源码Java实用源码整理learns”表明这是一份与Java编程相关的资源,特别地,它包含了一个个人博客系统的源代码。这个博客系统可能由Java语言编写,是学习和理解Java web开发的一个良好实践...

    知识管理系统架构

    ### 知识管理系统架构 #### 一、知识蓄积机制 知识蓄积是知识管理系统的基础,涉及知识资源的收集、整理、存储等过程。这部分主要包括两种类型的数据:结构性数据和非结构性数据。为了有效地蓄积知识,组织可以...

    项目部组织架构.doc

    在当今快速发展的建筑行业,组织架构的合理设计对于项目的成功实施至关重要。福建省闽南建筑工程有限公司明发G86项目的组织结构和职能的详细规划,是确保项目高效管理和执行的关键。通过一份全面的项目组织架构文档...

    搜狐技术员笔试题目整理

    【标题】:“搜狐技术员笔试题目整理” 这篇文章的标题揭示了其主要内容,即与搜狐公司技术员笔试相关的题目集合。这些题目可能涵盖了多种IT技术领域,包括但不限于编程语言、算法设计、操作系统、网络协议、数据库...

    个人整理的3年以上JAVA开发面试资料

    ### 个人整理的3年以上JAVA开发面试资料 #### 一、线程池涉及的几个类及作用? Java标准库提供了多种线程池实现,通过`java.util.concurrent.Executors`类来创建不同类型的线程池。这些线程池的设计旨在帮助开发者...

    性能资料整理.pdf

    性能测试不仅限于软件层面,也涉及到系统级跟踪和应用级跟踪,这种分析往往需要对系统架构有深刻的理解。性能测试分析优化的范围应该是全面的,从性能基础到性能工具的使用,再到性能平台的搭建,都需要不断地实践和...

    计算机网络知识点整理

    个人区域网则限于10米以内。 资源子网和通信子网是网络的两个核心组成部分。资源子网位于边缘,负责数据的产生和使用;通信子网则位于中心,确保数据的正确传输。 网络协议的三要素包括语法、语义和同步,分别涉及...

    施工组织架构人员表.docx

    - **项目经理**: 负责整个项目的管理和协调工作,包括但不限于人员调配、进度控制、成本管理、质量保证等。 - **技术负责人**: 负责技术指导和支持,制定施工方案和技术规范。 - **现场负责人**: 负责现场的具体施工...

    面试题整理精华

    整理的面试题可能来自各种来源,包括但不限于知名企业的面试经历、在线论坛讨论、技术博客等,旨在提供全面而实用的复习材料。 【压缩包子文件的文件名称】:“java面试题整理2017.5” 这份文件名表明了这是一个...

    安全管里组织架构图.doc

    具体来说,这包括但不限于遵循国家安全生产方针、政策、法律、法规,并将其纳入到企业的日常管理议程之中。安全管理负责人还需主持重要的安全会议,负责审批和签署安全相关的文件和决定。他们的一项重要职责是确保...

Global site tag (gtag.js) - Google Analytics