介绍一个flex 开发的进销存

一.中小企业进销存系统和运行平台以及技术架构



1. 中小企业进销存系统特点:

a. 目标客户

零售批发中小企业,企业规模人数500人以下,销售额1500万元以下。

b. 数据操作频繁

每天频繁操作销售和采购以及仓库出入库,经常需要查看企业基本信息,包括商品信息,客户供应商信息,应收应付。并且需要快捷的操作系统。

c.存储数据量有限

商品信息大概5000条,客户供应商大概1000,

每天单据信息大概50条,每年单据信息大概20000条

d.并发操作用户数量固定

销售员,采购员,经理,财务,大概20人左右。

e. 用户使用地点不同

需要直接方便浏览器访问系统

f. 客户浏览器处理功能强大

目前客户电脑普遍内存1G, 处理器 双核2.0 以上

g.中小企业普遍软件预算不高

同时也尽量避免盗版软件引起的法律诉讼和纠纷。



2. 运行平台和系统架构

根据中小企业进销存系统的众多特点,同时考虑技术成熟度和新技术风险,我们决定采取以下运行平台和系统架构

运行平台 Linux Apache Tomcat Mysql

系统架构

表现层Flex 3

数据处理和控制层Blazds + Spring + Ibatis



Flex/Flash  具有以下优点

客户端 界面友好,数据表现能力强大,处理能力强大,有一定的缓存数量的能力,减少服务器请求次数,节省不必要的网络传输。

BlazDS 能够处理并发用户的请求,并且能够压缩数据。

Spring  声明性的代码配置,减少系统维护工作量

Ibatis   减少实际编码,考虑以后支持多种商业数据库



运行平台免费,企业零预算。



二,框架和代码生成器





1.       选择成熟的Flex 框架



cairngorm 和 pure MVC 是目前成熟的open source 框架。

基于Adobe 支持和维护cairngorm,所以采用cairngorm

同时cairngorm 对view 表现层 和 control 控制层 的 隔离和耦合没有成熟的解决方案,开发过程我们曾经使用ViewControllerHelper ,用addListener监听器监听event 事件的执行,实际过程发现代码维护成本太高,遂中途放弃。

最后我们同时引进universal mind cairngorm作为补充辅助框架。

2.      Ibatis 代码生成器

选择Abator





三,解决方案

1. 客户端尽可能使用单例模式

减少不必要的客户端内存开销

2. 适度利用客户端缓存

对于商品以及客户供应商, Flex 缓存这些数据,各模块共享数据。

3.      尽可能的采用lazy load 惰性载入数据

很多Flex 系统采用初始化时候一次性载入系统所需要数据,结果导致延长用户登录时间,用户体验非常的差。

4.      不要过度依赖客户端处理能力

特别是大数据排序或者处理请求大数据能力的时候,flex 很容易导致浏览器停顿和不响应。请把大数据排序放在Java或者数据库端,适度的分页分段向服务器请求数据。

5.      最大有效的利用Flex 3新的类库。

减少开发工作量。

例如利用arraycollection 内置的filerfunction 进行查找数据。

6. 定制开发一些特有的控件

带合计栏的datagrid

能模糊查询的combobox

7.报表开发

使用成熟的jasper report 框架。

8. 用户权限的开发

动态创建用户所能操作的模块,而不是简单控制模块的可见和不可见属性

9. 减少生成swf 大小

使用runtime shared library 编译swf

10. 开发模块组件化

判断标准是没有出现冗余重复模块代,application mxml 文件代码简洁

11. 模块之间的数据和方法调用



A模块引用B模块的数据d和方法f,避免简单的调用B.d 和 B.f

需要采用数据和方法的传递,以免多层次的模块数据和方法调用导致代码的复杂。

12 使用resource bundle

标签和文本以及提示从resource 文件读取。



四,基于Flex的进销存系统演示地址


http://www.tangusoft.com/Demo/

 

你可能感兴趣的:(spring,框架,ibatis,浏览器,Flex)