图3.2 后台业务流程
3.3 数据流程分析
在分析了系统的业务流程之后,就要分析系统的数据流,为后面设计网站的数据库做好准备。这里主要利用数据流程图来说明数据流程。数据流程图是一个图示工具,容易理解,容易在开发和用户之间进行交流,以及在开发组织内部交流。因此数据流图作为一种模型工具已经广泛使用在软件工程的事件中。
根据前台业务流程,可以将用户的活动分为两类。用户浏览所使用到的数据归纳为站内信息,如商品信息等。而用户提交的订单则作为网站的订单数据。相应的,根据后台业务流程,管理员对网站内容的添加、更新和删除等所操作的数据定义为商城信息。网站数据流的总体图如图3.3所示。
图3.3网站数据流的总体图
进一步分析网站的数据流程,得到网站数据流程的零级图,如图3.4所示。
图3.4网站数据流的零级图
第四章 系统总体设计
本阶段设计的基本目标是解决系统如何实现问题,也叫做概要设计,本阶段主要任务是划分出系统的物理元素及设计软件的结构,完成软件定义时期的任务之后就应该对系统进行总体设计,即根据系统分析产生的分析结果来确定这个系统由哪些系统和模块组成,这些系统和模块又如何有机的结合在一起,每个模块的功能如何实现。系统设计的目标是使系统实现拥有所要求的功能,同时,力争达到高效率、高可靠性、可修改性,并且容易掌握和使用。总体设计过程通常有两个主要阶段组成:系统设计和结构设计,其中系统设计确定系统的具体实现方案,结构设计确定软件结构。
结构化设计技术的核心是模块分解设计,模块上系统结构图的主要元素。其设计思想是,采用自顶向下、逐层分解的方法,先给出总的模块功能,再逐层分解,使其分为多个大小适当,功能明确,具有一定独立性且容易实现的模块,从而把一个复杂的系统设计转变成为多个简单模块的设计。
4.1 系统结构分析
根据业务流程,需要将网站划分为前台、后台和数据库。前台中,客户在登录网站主页后即可链接查看网站等信息,还可以做订购商品等活动。为了方便客户搜索感兴趣的商品信息,将商品搜索嵌入到主页面中。数据库将要作为网站后台重要的组成部分,管理员的主要操作几乎围绕数据库,最后将更新的数据显示给前台。
前台是一个比较大的功能群,它所包含的信息不仅数量多,而且种类不同。将它设计成比较优化的结构形式能组织好网站的信息内容并将其归类,方便用户获得所需要的信息。其中每一部分都以尽量少内容显示,以免浏览者看的眼花缭乱而失去耐心。除了这些作用外,设计好前台的结构形式,也是为后面程序的编写做出了框架。在为系统划分功能模块,并以模块为单位来实现设计时也是以这个结构为基础的。
系统的后台要对整个网站的信息和数据进行维护。网站前台所显示的信息在后台都应该有对应的维护。这样,除了设计后台的各个管理界面外,为了方便管理员的工作,可以将各个管理的界面结合到一个页面中。因此,各个管理的界面会作为主管理的分支。
在设计好网站前台和后台的结构后,就将数据库加入到结构中。后台将更新的数据写入到数据库中,前台再将数据库中的信息取出来并显示。
4.2 功能模块设计
层次模块结构是将系统划分为若干子系统,子系统下在划分为若干的模块。而模块是指具备输入输出、逻辑功能、运行程序和内部数据四种属性的一组程序。在结构化设计中,模块一般都是按功能划分的,通常称为功能模块。合理的功能模块的划分能够极大限度地减少重复劳动、提高开发工作的效率并增大系统的可维护性。
以前面的系统分析为基础,将系统分为两大模块,即前台模块和后台模块。
网上购物系统的功能结构如图4.1所示。
图4.1 网上购物系统的功能结构
4.2.1 前台模块的功能模块设计
前台模块主要为登陆网站的用户提供商品和服务的信息,填写并提交订单的服务。这样,将前台模块再细分为用户管理模块、商品查询模块、购物车模块、修改个人资料模块。顾名思义,这些模块的名称基本概况了它们的功能。下面详细说明一下这些功能模块的设计:
(1)用户管理模块:
为了方便于网站的管理,必须由一套完整的用户管理体系。该网站用户管理模块主要实现用户的注册、登陆、修改密码等功能。
(2)购物车模块:
在超市购物,可以根据自己的需要将很多商品挑选至购物车或购物篮中,然后到收银台结账。而在网上虚拟的商城中,当然没有办法使用真正的购物工具,因此,通常都会采用一种被称为“购物车”的技术来模拟现实生活。在网上商城中,所选商品须通过购物车进行暂存,然后生成订单。这种技术使用起来十分方便,不但可以随时添加、查看、修改、清空购物车中的内容,还可以随时去收银台结账。
(3)商品搜索模块:
用户根据商品的名称可以搜索到所需要的商品信息。 (4)个人资料管理模块:
用户资料修改是为更改个人信息所提供的窗口,为了保护用户信息不受非法侵入,用户只有登录后才有权限修改自己的个人资料。
这样,子模块各自的内容基本设计好。下面可以设计如何将这些模块组织在一起,构成一个结构比较合理的前台了。除了在主页中建立面向其他模块的链接外,也要在其他模块中建立返回主页面的链接。另外各个模块间也应该互相链接起来。
相关推荐: