概述;
如何描述软件架构;
架构的层次结构;
架构设计技能:
需求分析、业务架构、数据架构、应用架构、技术架构、开发架构设计;
层次框架设计;
集成与接口设计;
性能优化;
设计可扩展平台;
架构重构;
第一部分:学员交流,大家的关注点:
李作玉:架构的复用扩展、架构分层、如何评估架构、架构的扩展性;
山东建筑大学:没有一个完整的案例;贯穿整个过程和管理结合;
尤特科技:安全方面的设计、信息安全;
赵春阳:架构的向前兼容、高效快速的集成;
第二部分:软件架构的描述
ATS系统遇到的问题:
性能不足:信息处理的实时性无法满足要求、造成跟踪信息丢失;
可靠性不足:无法有效集成,信号丢失、无法相互协调;
可复用性不足:各子系统存在大量的重复开发,开发成本高,但是质量低,难以复用和维护;
可扩展性不足:当设备、通信协议、数据格式发生变化的时候,要进行大量而且频繁的修改;
可维护性不足:软件的结构复杂,模块关系复杂,单个文件实现的代码过多;单个函数实现的代码过多,难以维护;
关键字:数据流图、接口文件;
什么是架构:
一个系统的基础组织,集合它的组件,这些组件外部,组件内部和组件与组件间的关系和环境,以及管理设计和改进的原则;(基础组件、内外部及关系环境、原则);
需求、架构设计、开发、测试、部署、运维;
需求:
功能1,2,3;
接口需求:系统1,系统2,系统3...;
数据需求:接口数据,格式要求,数据类型,长度,精度;
非功能需求:性能需求、用户多、压力大、性能难保证、可靠性、功能安全需求、可扩展需求;
架构设计:
为需求提供方案;
功能框架;功能多,功能框架,容易分工、相对独立、容易测试;
接口框架:各种接口、与不同系统的通信协议;统一的框架,不同的实现;
数据框架:提炼数据交互的内容、共性提炼;
解决方案:为解决什么问题的不同解决方案,一个线;性能解决方案、可靠性解决方案、功能安全方案、信息安全架构、扩展框架;
开发:
为开发提供指导;
运行环境:
硬件运行环境:(支持和限制)设备、网络、硬件;软件起到发挥的作用;
软件运行环境:驱动、操作系统
开发环境:
开发语言、复用开发库、开发的工具;
软件结构:
层次:驱动层、中间层(复用和扩展)、应用层;按照功能特点分层;
组件:开发单元划分;
接口:层次的接口;层比较大,需要定义接口策略;组件接口定义;
软件的运行:
不同任务的执行时间不同;进程分解; 任务分解; 中断;
进程-通信、任务-通信、中断-通信;
功能demo;---详细设计、code实例;
数据需求:接口数据交互的定义;
进度:1:03;
通过对平台的配置实现;
SOA架构: