3系统概要设计
3.1系统结构设计
系统结构设计是结构化系统分析与结构化程序设计之间的接口。结构化系统设计运用了一套标准的设计准则工具,采用模块化方法进行新系统层次关系和模块分解设计,结构化系统设计的核心是模块分解设计,其基本思想是以系统的逻辑功能设计和数据流关系为基础,根据数据流程图和数据字典,借助于一套标准的设计准则和图表工具,通过“自上而下”的逐层分解,把系统划分为多个大小适当、功能明确、具有一定独立性、并易于实现的模块,从而把复杂系统设计转化为多个简单模块的设计。 3.1.1系统体系结构
目前,Web项目较为流行的开发模式是三层逻辑体系结构,本系统的开发按照Windows DNA (Windows Distributed Internet Application,分布式互联网应用结构),采用基于XML的三层BS体系结构。Windows DNA提供了一种开发三层结构Web应用程序的通用方法是一个电子商务开发的良好环境。
MVC的设计思想简介,MVC的设计思想将平台划分为表现层、业务层、数据访问层、数据库层。
表现层(Presentation Tier)对应于MVC的V(View),负责系统的表示逻辑,主要是每个.php 页面。
业务层(Business Tier)体现系统的业务逻辑。业务层起到了Business Delegate的作用,屏蔽了表示层,有利于重用业务模型。
数据访问集成层(Data AccessIntegration Tier)负责进行数据访问及系统间交互操作。数据访问组件负责与关系型数据库打交道,进行具体的增删改查(CRUD)操作。系统集成代理适配器组件负责与软件产品和外部系统打交道,交换数据和消息。数据访问集成层组件意识不到业务层的具体逻辑,通过约定的接口让业务层来调用。
MVC三层逻辑体系结构如图3-1所示。
图3-1 三层逻辑体系结构
3.1.2系统总体功能结构
根据系统分析的结果数据流程图所描述的系统的逻辑模型,把数据流程图上各个处理模块进一步分解,确定系统的层次结构关系,把逻辑模型变为物理模型。
在管理信息系统的设计过程中,系统划分的一般原则如下:
1)、子系统要具有独立性。即应把相对独立的事务处理过程作为一个子系统。这样的子系统具有较高的内聚性,与其它的藕合较弱,便于软件开发、使用及日后系统维护。
2)、子系统的划分结果应使数据冗余度较小。应避免部分数据在多个子系统中出现,尤其是修改,以保证系统的安全性、可靠性和数据的一致性。
3)、子系统的划分应能满足目前和日后管理上的需要,功能应齐全,操作要方便且为今后发展留有接口。
4)、子系统的划分应以该单位的管理职能为依据。应尽量避免过分依赖于组织机构,以防止机构变更后为系统带来不必要的麻烦。
从公司的组织结构上出发,把整个管理信息系统划分成多个子系统。每个子系统的功能相对独立,但是子系统之间有必要的数据联系。
对电子购物商城系统的数据流图采用变换中心法和事务中心法进行分析,对其逐步进行功能分解,直到分解成为含义明确、功能单一的单元功能模块,从而得到系统的功能模块结构图,即系统的功能图。如图3-2,反映了电子购物商城的系统功能模块的划分。
图3-2 电子购物系统功能模块结构图
1、前台模块详细功能描述
其中,用户信息管理以及订单和购物车是禁止匿名用户访问的内容。 (1)商品信息模块:
商品浏览(首页显示部分普通商品列表)、特价商品浏览(首页显示特价商品列表)、商品分类浏览、商品详细信息。 (2)购物车模块:
添加商品到购物车、购物车信息修改、结账。 (3)用户信息管理模块:
注册新用户、登录、用户修改密码、用户个人资料管理。 (4)订单模块:
查询个人订单列表、查询某笔订单的详细信息、取消订单。 2、后台模块详细功能描述 (1)管理员信息管理:
管理员登录、添加新管理员、删除管理员、修改密码。 (2)商品信息管理:
添加新商品、修改商品信息、删除商品。
(3)订单管理:
管理订单是否确认、是否付款、是否发货、是否归档,并且对相应信息进行查询。
3.1.3系统总体物理结构
电子购物各个部门在不同的地点办公,网络拓扑结构以交换机为基础,各部门通过主交换机连接到公司主服务器,电子购物有不同办公地点。根据这个特点,系统利用微机局域网作为系统的基本物理结构。为了提高系统的可靠性和可扩展性,网络采用以网络集线器为基础,以双绞线为传输介质的星型结构。在每个业务发生点以及每个管理员分别配制微型计算机作为系统结点工作站,系统功能的实现,子系统间的数据共享与交互通过网络服务器完成。电子购物的系统网络拓扑图如图3.3所示。
图3.3 电子购物商城系统网络拓扑图
系统具体物理配置如下:
利用公司已经架设好的企业局域网,主服务器采用:服务器、交换机、网络集线器,传输介质采用10M屏蔽双绞线为介质的星型网络拓扑结构,服务器作为系统功能实现和数据共享中心,应具有较好的性能和可靠性。在此基础上再配上一台提供web服务的服务器和一台MYSQL数据库服务器即可实现对本系统的全部物理支持。
系统具体硬件配置如下:
1)、WWW服务器:INTER P4 2.4 512M DDR ROM 80GB 硬盘。 2)、数据库服务器:INTER P4 2.4 512M DDR ROM 80GB 硬盘。 3)、客户机:目前流行的PC兼容机。
4)、网络连接设备:路由器、交换机、打印机、扫描仪等。 系统具体软件配置如下:
1)、操作系统:Microsoft公司Windown2000Server,网络协议采用TCPIP协议,
客户机 WINDOWS 2000XP。 2)、WWW服务器:Apache. 3)、数据库软件:MYSQL。 3.2数据库结构设计 3.2.1数据库概念结构设计
根据需求分析中的结果,数据库的关系模型设计如下:
会员(顾客ID,顾客名称,顾客组,消费金额,注册日期,联系方式) 产品(产品编号,产品名称,售价,数量,图片,备注) 管理员(管理员编号,密码,管理员组) 订单(编号,顾客名称,内容,备注) 顾客组(ID,类别,名称,折扣) 管理员组(ID,类别,名称,权限) 邮寄方式(ID ,名称,费用计算) 3.2.2数据库逻辑设计
经过需求分析,概念结构设计,了解了系统的存储结构需求后,可以得出8
个表结构,即顾客组设置表、顾客表、产品评论表、产品列表、订单表和邮递方式表、管理员表、管理员组表。
顾客组设置表是为了存储顾客的打折优惠,这里记录的事组的打折信息。表结构如表3-1所示
表3-1顾客组设置表(usergroups)结构
序 号 1 字 段 描 述 类型和长度 主 键 可 空 默认值 Groupid 自动编号 Smallint(6) 是 否 无 2 3 4 Classes Grouptitle groupdiscount 类型 Varchar(30) 否 否 否 否 否 否 无 无 0 组名称 Varchar(30) 折扣 float 顾客信息表主要是记录顾客的详细信息,其中groupid是指定顾客组的编号,用户的名称采用Email,记录用户的登录时间可以方便的查看最后的登录时间,这样有助于对客户的跟踪服务。表结构如表3-2所示
表3-2 顾客信息表(customers)结构
序 号 1 2 3 4 5 字 段 描 述 类型和长度 主 键 可 空 默认值 Customers_id Email Grouid Regdate Lastvisit 自动编号 用户名称 组名称 注册时间 最后登录时间 Smallint(6) Varchar(30) Int(10) Int(10) Int(10) 是 否 否 否 否 否 否 否 否 否 无 无 无 0 0 6 Money 消费总金额 Decimal(15.2) 否 否 0 7 8 QQ msn QQ联系方式 Varchar(30) msn联系方式 Varchar(30) 否 否 否 否 无 无 产品评论表主要是针对产品的评论信息,其中products_id就是产品的编号,date_add就是记录产品的添加时间,viewed是表示这条评论被浏览的次数。表结构如表3-3所示
表3-3 产品分类表(classes)结构