概念

来源:互联网 发布:酷家乐软件多少钱 编辑:程序博客网 时间:2024/04/30 13:46

概念
模块module  一组完成指定功能的语句
组件component 系统中相当重要的、几乎是独立的可替换部分,它在明确定义的构架环境中实现确切的功能。
模式pattern 指经过验证,至少适用于一种实用环境(更多时候是好几种环境)的解决方案模板(用于结构和行为。)
架构模式architectural pattern 表示软件系统的基本结构组织方案。它提供了一组预定义的子系统、指定它们的职责,并且包括用于组织其间关系的规则和指导。
层layer 对模型中同一抽象层次上的包进行分组的一种特定方式。通过分层,从逻辑上将子系统划分成许多集合,而层间关系的形成要遵循一定的规则。通过分层,可以限制子系统间的依赖关系,使系统以更松散的方式耦合,从而更易于维护。(层是对构架的横向划分,分区是对构架的纵向划分)。
系统分层的几种常用方法:
1) 常用三层服务:用户层(瘦客户)、业务逻辑层、数据层;
2) 多层结构的技术组成模型:表现层、中间层、数据层;
3) 网络系统常用三层结构:核心层、汇聚层和接入层;
4) RUP典型分层方法:应用层、专业业务层、中间件层、系统软件层;
5) 基于Java的B/S模式系统结构:浏览器端、服务器端、请求接收层、请求处理层;
6) 某六层结构:功能层(用户界面)、模块层、组装层(软件总线)、服务层(数据处理)、数据层、核心层;

构架设计应考虑的因素概揽

  模块构架设计可以从程序的运行时结构和源代码的组织结构方面考虑。

  1、程序的运行时结构方面的考虑:
  1) 需求的符合性:正确性、完整性;功能性需求、非功能性需求;
  2) 总体性能(内存管理、数据库组织和内容、非数据库信息、任务并行性、网络多人操作、关键算法、与网络、硬件和其他系统接口对性能的影响);
  3) 运行可管理性:便于控制系统运行、监视系统状态、错误处理;模块间通信的简单性;与可维护性不同;
  4) 与其他系统接口兼容性;
  5) 与网络、硬件接口兼容性及性能;
  6) 系统安全性;
  7) 系统可靠性;
  8) 业务流程的可调整性;
  9) 业务信息的可调整性
  10) 使用方便性
  11) 构架样式的一致性
  注:运行时负载均衡可以从系统性能、系统可靠性方面考虑。

  2、源代码的组织结构方面的考虑:
  1) 开发可管理性:便于人员分工(模块独立性、开发工作的负载均衡、进度安排优化、预防人员流动对开发的影响)、利于配置管理、大小的合理性与适度复杂性;
  2) 可维护性:与运行可管理性不同;
  3) 可扩充性:系统方案的升级、扩容、扩充性能;
  4) 可移植性:不同客户端、应用服务器、数据库管理系统;
  5) 需求的符合性(源代码的组织结构方面的考虑)。

写系统构架设计文档应考虑的问题

  构架工作应该在需求开发完成约80%的时候开始进行,不必等到需求开发全部完成,需要项目经理以具体的判断来评估此时是否足以开始构建软件构架。
  给出一致的轮廓:系统概述。一个系统构架需要现有概括的描述,开发人员才能从上千个细节甚至数十个模块或对象类中建立一致的轮廓。
  构架的目标应该能够清楚说明系统概念,构架应尽可能简化,最好的构架文件应该简单、简短,清晰而不杂乱,解决方案自然。
  构架应单先定义上层的主要子系统,应该描述各子系统的任务,并提供每个子系统中各模块或对象类的的初步列表。
  构架应该描述不同子系统间相互通信的方式,而一个良好的构架应该将子系统间的通信关系降到最低。
  成功构架的一个重要特色,在于标明最可能变更的领域,应当列出程序中最可能变更的部分,说明构架的其他部分如何应变。
  复用分析、外购:缩短软件开发周期、降低成本的有效方案未必是自行开发软件,可以对现有软件进行复用或进行外购。应考虑其对构架的影响。
  除了系统组织的问题,构架应重点考虑对于细节全面影响的设计决策,深入这些决策领域:外部软件接口(兼容性、通信方式、传递数据结构)、用户接口(用户接口和系统层次划分)、数据库组织和内容、非数据库信息、关键算法、内存管理(配置策略)、并行性、安全性、可移植性、网络多人操作、错误处理。
  要保证需求的可追踪性,即保证每个需求功能都有相应模块去实现。
  构架不能只依据静态的系统目标来设计,也应当考虑动态的开发过程,如人力资源的情况,进度要求的情况,开发环境的满足情况。构架必须支持阶段性规划,应该能够提供阶段性规划中如何开发与完成的方式。不应该依赖无法独立运行的子系统构架。将系统各部分的、依赖关系找出来,形成一套开发计划。

设计的过程
设计 业务,工作,任务流程
定义 功能对象,服务对象,任务对象
实现
部署(Deployment)
运行

中间件缓冲client与数据库的实际连接,使数据库的实际连接数量远小于client应用数量,则数据库系统就越稳定。
中间件软件是一种独立的系统软件或服务程序,分布式应用软件借用这种软件在不同技术之间共享资源。

MFC view-doc  数据与业务分层的一种实现。

任务多次投递。

分布式对象
任务池
任务悬挂Pending  目标不正常,任务放入悬挂缓冲池
降速传递SlowDown 目标处于无效,或任务过载,第一个任务会悬挂,发送源也需要降低传送速度。A—B---C ,C过载,若B不控制传递速度,B也很快过载,
流量控制FlowControl  

原创粉丝点击