在概念性设计完成后,需要进行架构细化。针对开发编码部分会进行设计开发架构的搭建。这个工作一般会交给项目组或者公司的架构师或者高级程序员来设计完成。
设计者需要根据概念性设计中的将业务功能、非业务功能、质量属性要求进行综合考虑。并着重关注开发期质量属性,例如可扩展性、可重用性、可移植性、易理解性、易测试性等。关注点是在软件开发环境中软件模块的实际组织方式,具体涉及源程序文件、配置文件、源程序包、编译后的目标文件、第三方库文件等。
在进行开发架构设计时,可以参考逻辑架构,将逻辑架构中的逻辑层映射到开发架构中的多个程序包,将逻辑架构中的一个或多个类包含在开发架构中的源码文件中。
开发架构设计应完成的工作:
* 确定要开发或直接利用的程序包之间的依赖关系
* 确定采用的技术
* 确定采用的框架等
分区和分层
因系统的复杂程度不一,需要把系统中的变化点错落有致地封装起来。
分层架构模式为“把变化点封装起来”提供了手段。分层架构的最大优点是将整体问题局部化,把可能的变化分别封装在不同的层中。最终,系统被规划为一个单向依赖的分层体系,利于修改、扩展、替换。从“行政”角度来讲,将架构划分为层的一个很大好处是,这些层形成了开发小组的自然分界----每层的开发人员所需要的技巧是不同的。例如,用户界面层的开发小组需要了解将使用的用户界面工具包有所掌握;数据库管理层的开发小组需要熟悉相关的数据库技能、持久工具或者使用的文件系统......
但有时候仅分层是不足够的。在层中,可能会使用到多个框架,那么我们需要进一步分区,形成横切竖割的“二维架构”。
更进一步,我们还可以把类库和框架的具体用法反映出来。特别是在框架实现了关键的架构机制的情况下,这很有必要。我们知道,框架封装了设计元素之间的交互机制和协作流程,无论框架是自开发的还是第三方实现的,这些设计思想都是架构的一部分。而分区很适合表达应用使用框架的方式:通过类继承或接口实现等手段对扩展点进行扩展。
我们现在开发越来越多地依赖于责成架构,能否切中肯綮地阐明开发和架构的关系,不仅关系到设计思路是否清晰、是否合理,还关系到后续的程序开发工作能否顺畅展开的问题。同时,软件架构为了达到易修改、易测试、易扩展等质量属性需求,必须分离关注点,而在通过展现层、业务层、数据层等进行关注点分离的同时,可以辅以分区方法。框架是分区方法最常用的例子,可以更进一步分离关注点----将应用相关和应用无关的部分分离----将不同变化进行分门别类的封装。
最后需要补充说明的是,分区其实也适用于“逻辑架构的设计
分享到:
相关推荐
在这个架构图中,我们可以看到共享平台的技术架构设计,它包括了相关体系架构的搭建、应用功能完善可开发、应用资源全面共享与管理等几个方面。 首先,技术架构设计是本次项目的一项关键部分,它实现了相关体系架构...
在Linux环境下搭建STM32开发环境,基于STM32固件库是一项常见的任务,尤其对于进行毕业设计或课程作业的学生来说。STM32是意法半导体(STMicroelectronics)推出的一种基于ARM Cortex-M内核的微控制器系列,因其高...
技术架构设计是指对共享平台整体技术架构的设计,包括相关体系架构的搭建、应用功能完善可开发、应用资源全面共享与管理等内容。技术架构设计的目的是为了实现整体应用系统的建设和发展。 三、整体架构设计 整体...
讨论了服务器结构的设计、登录服的负载均衡、游戏世界服的承载能力等问题,并提供了详细的设计思路和方法,旨在帮助初学者和中小型游戏开发者更好地设计和搭建游戏服务器架构。 服务器结构探讨 服务器结构是游戏...
2.1.2WEB应用开发架构思路 1)应用开发实现MVC架构三层架构进行web应用开发 2)页面尽可能静态化以减少动态数据访问,如果是资讯类的网站可以考虑采用第三方开源的CMS系统来生成静态的内容页面。 3)采用Oscache实现...
系统实现包括了嵌入式服务器的搭建、CGI智能交互程序设计、家庭内网的WiFi组网以及各个功能模块的Linux程序和CGI交互程序设计。这些模块涵盖了照明系统、门禁系统、视频监控系统和温控系统等,确保了系统的全面功能...
根据提供的文件信息,我们可以深入探讨灯塔工厂的概念、其架构设计思路、以及灯塔工厂的技术架构设计等内容。 ### 灯塔工厂概念及内涵 灯塔工厂是指在智能制造领域达到领先水平的企业工厂,它们通常拥有高度自动化...
●架构设计篇则主要以设计一个高可用可扩展的分布式企业级数据库集群环境为目标,分析介绍了通过MySQL实现这一目标的多种架构方式。主要包括可扩展和高可用两部分内容,可扩展部分包括设计原则、Replication的利用、...
第2天:Web应用_架构搭建_HTTP数据包_代理服务器 第3天:抓包_封包_协议_APP_小程序_PC应用_WEB应用 第4天:30余种加密编码进制_Web_数据库_系统_代码_参数值 第5天:资产架构_端口_应用_CDN_WAF_站库分离_负载均衡 ...
在实际的作业中,你可能需要设计并实现一个基于SpringCloud的微服务架构,包括创建服务实例、设置服务发现、实现客户端负载均衡、搭建配置中心以及处理服务间的通信。参考答案会提供一种可能的解决方案,帮助你理解...
文档记录了架构设计人员在系统架构方面做出的关键决策,这些决策对于后续的项目开发计划制定、程序设计、测试框架构建以及各构件的实施、集成和测试都至关重要。 #### 三、文档范围 文档范围明确了这份架构设计...
最后,商之狄概括了架构师的工作流程,从自顶向下的思路出发,详细介绍了如何一步步实现架构设计。他的分享不仅涉及到技术实现的层面,还包含了架构设计的哲学思考和对技术趋势的观察。通过他的分享,我们可以了解到...
01.Storm项目实战课程大纲02.CDH5搭建之CM5安装部署03.CDH5搭建和CM界面化集群管理04.Hadoop、HBase、Zookeeper集群管理和角色分配05.Kafka基础知识和集群搭建06.Kafka基本操作和最优设置07.Kafka Java API 简单开发...
该压缩包包含了“论文”部分,这表明设计者对整个项目进行了系统的分析和总结,论文可能会涵盖系统的需求分析、设计思路、技术选型、实现过程以及性能评估等方面,是学习和研究该项目的重要参考资料。论文的重要性...
本文从最简单的游戏服务器架构开始讲起,结合主流的WOW等大型游戏服务器设计思路和mangos的一些理念,一步一步揭开网络游戏服务器的架构设计方法,对初学者尤其有帮助。 服务器结构探讨 -- 最简单的结构 服务器...
文章还提到了采用领域驱动的设计思路,这是一种以领域模型为核心的设计方法论,强调从业务需求出发,对软件的开发和设计进行指导。在微服务架构中,领域驱动设计可以帮助团队更好地理解业务需求,并将其映射到微服务...
### 基于工业物联网智能制造架构设计思路 #### 一、引言 随着信息技术与制造业的深度融合,工业物联网(IIoT)已成为推动智能制造发展的重要力量。本文将深入探讨基于工业物联网的智能制造架构设计思路,重点分析...
"自己写的架构"这个标题暗示了这是一个个人或团队独立设计并实现的系统架构,可能包含了独特的设计思路和技术选型。博主通过其博文链接(https://hje.iteye.com/blog/565963)分享了他们的架构实践和经验,这对于...