一套较完整的技术框架
Posted 炼金士
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了一套较完整的技术框架相关的知识,希望对你有一定的参考价值。
1 引言
1.1 前言
本文将基于目前现有的软件开发架构(以下简称‘架构’)(Packer for Delphi),同时如何合理地引进新技术等问题,进行系统地分析和研究,以指导新架构的研发。
1.2 研发依据
1.2.1 公司发展
1.2.2 开发方式
1.2.3 技术升级
1.2.4 产品线
行业领域软件需要个性化的服务,如果对应以作坊式的开发方式,将会陷于项目越多,版本也越多,维护成本也随之上升的局面。
针对行业领域软件特点,在以产品线为设计思路的业务架构建设中,需要对应的技术架构来配合完成。
1.3 研发前提
1.3.1 公司产品开发的范围
1.3.2 软件开发架构在产品开发中所处的位置
软件开发架构,是一个承上启下、集成应用开发领域的通用的各种技术而形成的一整套的开发体系框架,它包括如下的几个方面:
1、可持续的框架体系:
一个用于明确管理界定各种功能及其关系的框架体系,每个功能点在架构中由于其特性必然有着明确的位置,各种相关技术也由架构来完成其相互的无缝接入。并且通过这种可持续化的特征,能将技术的、业务的工作管理起来,并持续的发展。
2、技术的集成和整合:
随着应用领域的拓宽,这些技术会不断的拓展,包括如:工作流技术,安全技术,消息服务技术,即时通信技术,门户技术,数据交换技术,全文检索技术等等。说到集成,就是指除了这些技术本身之外,架构提供对这些技术的整合,将这些技术本身放在整体框架的某个部分和层次。技术的整合不是简单的拼装,做得好坏,取决于长期的经验和技术的积累,否则再好的技术,整合起来往往得到的是最差的东西。
3、更为细节的规范:
为了程序的易于理解和维护,便于细化分工,架构将尽可能的减少异化,尽可能的标准化开发过程和代码格式。这些规范可能会细化到如:打开关闭连接的时机,命名空间的管理,文件名称的定义,代码缩进的长度,使用的开发和设计工具等等这样非常细节化的东西,从而保证一致性。
4、标准、简单,机械化的开发过程:
追求将开发过程1234化,避免思维的漏洞,将思维上的一种或者几种有效的开发套路固定为外在的规范,并且通过一系列的工具将其持久化。
5、最终的追求--软件生命周期的管理:
这样的一个架构,最终追求的是对一个完整的软件生命周期的管理,不仅仅是开发的过程,还包括规划,需求,设计,测试等一系列的过程。
总之,架构是为应用系统的开发,提供一套集成的、适合自身软件开发过程的技术规范、开发准则、通用组件、辅助工具等等,使得应用系统的开发更加高效、方便、统一,为软件大生产的开发提供物质保障。
1.3.3 技术平台的选型
开始架构研发之前,必须先对架构的基础-技术平台,进行选型,否则将是无本之木,一纸空谈。
纵观当前流行的技术平台,不外乎两大阵营:J2EE和.NET,以下是针对几个指标进行的一个评价:
| J2EE | .NET |
开放性 | 好 | 差 |
应用范围 | Web应用 | Web应用或者非web应用 |
开发工具成本 | 低廉(开源) | 一般(专用) |
开发资源成本 | 高 | 一般 |
开发效率 | 周期长 | 快速 |
运行性能 | 差 | 一般 |
运行资源成本 | 高(捆绑专用服务器) | 低(分布式PC服务器) |
部署效率 | 差 | 一般 |
界面丰富与灵活性 | 差 | 高 |
与服务商绑定 | 高(SUN、IBM) | 高(MS) |
关于J2EE和.NET之间的讨论已经持续很多年了,而且也将继续争论下去,孰优孰劣仍然很难下结论。
适用的才是好的,作为IT企业,从公司产品的受众、研发、推行、维护的成本与收入等等上来考虑,自然会得到一个明确的答案。
对于ERP等生产管理系统,系统性能、丰富的表现与交互界面是关键的技术要求之一,在非web应用的软件研发上将主要基于.NET开发平台。
同时,为了兼顾效率,可以结合Win32的开发工具(Delphi/C++)开发部分实时性要求很高的应用系统,对于这点,.NET自身可以很好的与Win32进行整合。
1.4 系统名称
1.5 中期计划
1.6 资源计划
2 参考文献
3 功能分析
通过分析归纳,技术架构的开发,只要针对如下几大项的功能点进行研发,基本上可以支持目前所遇到的大部分技术需求:
项目 | 内容 |
支持双语 | 双语是指开发出来的应用系统,应该在表现层上,只要根据用户的简单选择,就能提供中文、英文之一种语言显示效果。 提供对双语的技术支持,方便开发人员通过配置工具配置应用系统相关的属性(提示信息、按钮标签、数据标签等等),而在代码设计中只需对相关组件进行简单的定义,即可实现此功能。 |
数据字典 | 数据字典是对应用系统用到的所有数据项和结构的定义,以确保开发人员使用统一的数据定义。 本数据字典不仅包含数据库数据字典部分内容,而且进行了扩充,比如表字段的双语标签等的属性定义,再外延出去的话,还包括公共代码的统一管理等。 数据字典是技术架构与系统业务分析的基础,比如数据动态、持久层中的自动构建数据集、自动操作数据库等等功能,都要用到数据字典。 |
持久层 | 对象化存储就是将数据库中的数据在对象中实例化,当修改这个对象的属性时,数据库中的相应字段也会随之改变,通常叫做持久层。 持久层应该提供事务管理、锁机制、缓存机制。 |
数据动态 | 将应用系统中发生的数据变化,实时通知需要获知变更的组件中,使得数据在需要同步的组件中保持一致性。 |
安全管理 | 对应用系统的登陆用户进行校验与权限上的管理,包括菜单、按钮、记录的增删减等等。 支持工作流模式。 |
日志管理 | 魅族C++协程框架(Kiev)技术内幕 |