AssionShop开源B2C电子商务系统-概述(转载)
今天是个特殊的日子,我在北京房租价格又上了一个新的台阶。在这个日子我准备开始建立一个开源项目,一个B2C行业的EC系统。
一、关于定位
我要做的不只是一个商城,应该说是一个能满足中小型企业建立电子商务的一套完善的系统。其中的一些模块包括(但不限于)如下:
1. 前台商城
1.1. 前台网站商品的展架模块,包括整个商品的推销策略,包括分类、检索、各类活动形式等。
1.2. 前台的购物流程,包括购物车、定单、支付等。共中的客户可能包括:一般零售客户、大客户、团购客户等。
1.3. 前台用户中心,包括个人信息及商业行为信息等的维护。
2. 后台ECERP系统
1.1. 对前台各展架信息等的维护模块,也就是网站管理模块。对应的操作角色:网站的运维人员
1.2. 商品管理模块,对商品的分类、商品等基元信息进行管理等。对应的操作角色:网站运维人员、采购人员等。
1.3. 活动管理模块,包括优惠券系统等。对应的操作角色为:网站运维人员
1.4. 采购模块,对商品的库存进行管理,一系统的缺断货控制等。对应操作的角色为:采购人员
1.4. 销售定单处理模块,对定单进行处理。对应的操作角色为:客户服务人员、财务人员、主管人员等概据不同角色进行处理。
1.4. 财务模块,财务人员进行销售的收款单处理,采购的付款单处理等。对应的操作角色为:财务人员
1.5. 售后模块,对售后进行管理,商品的退货换货等。对应的操作角色为:客服人员、售后工作人员、物流人员
1.6. 物流模块,对定单的出货、换货、退货等业务进行处理。对应的操作角色为:物流人员
1.7. 仓库管理模块,对仓库进行管理。对应的操作角色为系统管理人员
3. 其他
当然系统还需要权限的支撑。其他的还有很多东西通过增量的方式迭代出来吧。
二、关于开发模式
最好的开发模式就是无模式了,适合自己就好,不过也要有个基本的思路,本系统将采用2个DDD,第一个就是Domain driven design(领域区动设计),
第二个就是Domain driven development(领域区动开发),当然DDD只是个思想,我们不必拘泥于形,每个人都有每个人的想法,还是那句话:适合自
己就好。
这里说一下敏捷开发,我对这个概念理解不深。个人感觉真的没必要理解的“过于深”,个人感觉现在一般的小公司的开发模式“不正规,很敏捷”,由于
没有正规的开发方法论,一直是个迭代的过程。没有文档、口头交流、增量、迭代好像出现了不少这样的名词了。
三、关于架构
架构方面现在只是个初步想法,先贴出来大家参考下。

以上Solution图我一个一个的简要描述一下:
AssionShop.AdminWeb 这个是个WebForm项目,是我们前面提到的ECERP系统的UI层,做这样的信息系统WebForm还是有一定优势的,具体再定。
AssionShop.Caching 系统的缓存层,之所以把缓存独立出来,因为它在项目中的份量挺重要的,对对象的生命进行支持,可以抽象出支持多种缓存架构,
比如asp.net的进程缓存,基于key-value的分布式缓存产品等。
AssionShop.Common 系统的一些公共框架级模块,可能包括字符处理、AOP、IOC、ORM、Log等一系列支撑对象。
AssionShop.DBMap 数据库映射层,可以采用NHibernate框架来解决o-r的阴抗问题。为什么不直接在Repositories里?不为什么。
AssionShop.Domain 领域层,系统的核心业务逻辑对象,不依懒其它任务层,半充血模式。不自身完成持久化,持久化由仓储来负责。
AssionShop.Dto 数据传统对象,里面包括数据传统对象和相应的适配器,注:有可能DTO直接跨越UI和Repositories/DBMap 比如系统的报表等。
AssionShop.Repositories 仓储,负责Domain的工厂生产及生命周期控制,内部调用缓存和数据库完成领域对象的持久化。
AssionServices 这个Services应该是ApplicationService而非DomainService,它调用Domain与Repositories进行轻量的组装,为UI或是SOA提供API,
我把事务控制放在这层,采用MSDTC分布式事务,Services为事务边界我认为是比较合理的。
AssionShop.Web 前台商城WEB项目,初步计划采用asp.net mvc 这层同AdminWeb一样,调用Services以及对DTO对象的引用。
以上就是项目的初步设想与规划定位,有很多不足将通过一步步的深入进行处理。下一章将从需求的《用例模型》开始。
AssionShop开源B2C电子商务系统-概述(转载)的更多相关文章
- AssionShop开源B2C电子商务系统-(二)定单流程活动图状态图(转载)
B2C系统的灵魂所在就是定单的流程了,下面展示下定单的最重要的两个动态图,一个是定单流程活动图.还有一个是简单的定单状态图.通过这两张图,基本可以 了解系统定单流的大概情况了啊.图画的只是初步的设想, ...
- AssionShop开源B2C电子商务系统-(一)用例图(转载)
这篇文章,将有实质的进展.先把大体的需求整理了一份用例图,自认为粒度做的已经很细了,再细就没法搞了.我还是坚信一个原则:自己业余搞的东西千万不要 想一口吃个胖子,这样很容易项目就搞流产了~,废话不多说 ...
- 转:国内外著名开源b2c电子商务系统比较包括asp.net和php
from: http://longdick.iteye.com/blog/1122879 国内外著名开源b2c电子商务系统比较包括asp.net和php 博客分类: 电子商务 国内外著名开源b2c ...
- B2C电子商务系统研发——商品SKU分析和设计(一)
一.SKU及相关概念定义 在设计商品SKU之前,首先让我们熟悉一下SKU和相关的一些概念. # 什么是SKU: SKU=Stock Keeping Unit(库存量单位) 同一型号的商品,或者说是同一 ...
- B2C电子商务系统研发——商品SKU分析和设计(二)
转:http://www.cnblogs.com/winstonyan/archive/2012/01/07/2315886.html 上文谈到5种商品SKU设计模式,本文将做些细化说明. 笔者研究过 ...
- B2C电子商务系统研发——产品媒体常见功能点
产品媒体常见功能点 电商研发系列——产品媒体常见功能点 支持图片.视频和文档等媒体类型 产品图片对清晰度要求比极高,但又不能太大,所以图片一般是jpg格式. 视频一般是flv流媒体格式,如果是嵌入产品 ...
- 30个开源电子商务系统(PHP)
osCommerce osCommerce是一款著名的PHP开源电子商务解决方案,提出“开箱即用”的强大功能,使网上商店安装非常方便快捷,并可以作为GNU通用公共授权的开源项目免费发布.osComme ...
- 开源的.NET系统推荐
C# 源码 AForge.NET RPC(Remote Procedure Call Protocol)远程过程调用协议,它是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的 ...
- 【转】B2C电子商务系统设计精选
B2C电子商务系统研发——促销引擎设计(一)(Promotion Engine) B2C电子商务系统研发——商品SKU分析和设计(一) B2C电子商务系统研发——商品SKU分析和设计(二) 电商后台系 ...
随机推荐
- Linux下Git命令中文显示乱码的问题解决:274\232\350\256\256\346\200\273\347\273\223
使用git add添加要提交的文件的时候,如果文件名是中文,会显示形如274\232\350\256\256\346\200\273\347\273\223的乱码. 解决方案:在bash提示符下输入: ...
- Linux关于终端的基本概念汇总(tty/pty)(转)
在Linux系统的设备特殊文件目录/dev/下,终端特殊设备文件一般有以下几种: 1.串行端口终端(/dev/ttySn) 串行端口终端(Serial Port Terminal)是使用计算机串行端口 ...
- HDU 4664 Triangulation(2013多校6 1010题,博弈)
Triangulation Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Tot ...
- 【shiro】2.spring整合shiro,注解控制shiro用户/角色/权限And/OR,没有权限跳转到固定页面
这几天粗浅的把shiro整合到spring中,并且注解控制shiro用户/角色/权限And/OR 步骤: 1.首先maven搭建web项目 2.创建数据库 user/role/authority 其中 ...
- mac清理磁盘方法
1.清除缓存文件 cd ~/Library/Caches/ rm -rf ~/Library/Caches/* 2.删除所有系统日志 sudo rm -rf /private/var/log/*3.删 ...
- Java集合类理解
深入Java集合学习系列:http://zhangshixi.iteye.com/blog/674856 http://blog.csdn.net/shf4715/article/details/47 ...
- HDU3001 Travelling 状压DP
哭瞎啊,每一个城市能够经过至多两次,但没有要求必须经过两次.想用 两个状压来乱搞搞.结果自觉得会T.结果 WA了,搞了一下午.没想到用三进制啊.智商捉急,參考了 http://blog.csdn.ne ...
- SQL注入深入剖析
SQL注入是一门很深的学问,也是一门很有技巧性的学问 1. 运算符的优先级介绍 2. SQL语句执行函数介绍 mysql_query() 仅对 SELECT,SHOW,EXPLAIN 或 DESC ...
- http://www.cnblogs.com/alipayhutu/archive/2012/08/16/2643098.html
http://www.cnblogs.com/alipayhutu/archive/2012/08/16/2643098.html
- 解析PHP中如何将数组变量写入文件
在用PHP记录日志,或者是 Ajax 请求出错想要 debug 的时候.我们一般都会将信息写入到一个指定的文件当中.然后根据相应的信息来处理问题.比如笔者最喜欢在用 Ajax 取不到数据的时候,在PH ...