1引言1.1系统的开发背景商品销售管理是企业经营管理的核心内容,在企业管理中占据首要地位,一个企业的经济实力如何,很大程度取决于企业的销售管理效果。
利用先进的计算机技术,对企业的销售及销售过程中所涉及的一系列账务关系进全面的跟踪管理,解决了人工管理过程中的管理效率低下、数据不准确、管理不及时等问题,从而大大提高了企业经营运转的速度,提升企业的管理水平、提高企业的经济效益,使企业的销售管理更加的科学、合理。
管理方式的转变,使企业能够及时通过计算机管理系统,对整个销售过程进行数据的统计与分析,并根据分析结果做出必要的调整,使企业在经济浪潮中占据有利地位,更好的适应市场的发展变化。
1.2系统调研与可行性分析基于VC课程的商品销售管理系统的设计与开发,主要是利用Visual C++6.0和SQL数据库制作一个有特色的管理系统。
本系统的设计主要从以下几方面做起:系统的开发环境、系统需求分析、系统的数据库结构设计、系统的页面设计等。
做这些工作需了解Visual C++6.0的使用和管理系统的相关知识。
(1)技术可行性:本系统主要是用Visual C++6.0作为网站的开发工具,使用了SQL数据库来实现。
虽然本次开发使用的工具和技术是目前比较旧的,但是微软出的产品最大的好处就是快速入门、益于上手,所以从这方面来看,技术上是可行的。
(2)经济可行性:现在各大企业都已经具有了自己的管理系统,这样就需要在管理中提供一个简单易操作可行性高的系统,也就是本项目所要开发的管理系统。
并且开发一个小型的管理系统的成本也不高,企业是完全可以承受的。
从这一方面来看,经济上是可行的。
基于VC课程商品销售管理系统的设计1.3 本文的内容安排本文共分六章,各个章节的内容安排如下:第一章是引言,介绍了项目的开发背景和系统调研与可行性分析。
第二章介绍系统的开发环境,着重介绍了Visual C++6.0和SQL数据库以及MFC的相关知识等。
第三章是管理系统的需求分析,包括商品销售管理系统的介绍,商品销售管理系统的角色,商品销售管理系统功能性需求。
第四章是概要设计,列出了系统的总体结构图,系统流程图,以基本系统所用到的数据库表。
第五章是系统的详细设计和实现,重点介绍了本系统权限模块的设计,并对各个界面进行了详细的分析。
第六章是总结,总结了本系统已经实现的功能和系统的不足。
2开发环境简介2.1 Visual C++6.0特点Visual C++6.0[1]是功能最为强大的可视化开发工具之一,它不仅支持传统的软件开发方法,更重要的是它能支持面向对象、可视化的开发风格。
因此Visual C++6.0又称作是一个集成开发工具,它提供了软件代码自动生成和可视化的资源编辑功能。
Visual C++ 具有多种优点:它提供了面向对象的应用程序框架MFC (Microsoft Foundation Class),简化了程序员的编程工作,提高了模块的可重用性;提供了基于CASE技术的可视化软件的自动生成和维护工具AppWizard、Class Wizard、Visual Studio、Wizard Bar等,实现了直观、可视的程序设计风格,方便地编辑和管理各种类,维护程序的源代码;封装了Windows的API函数、USER、KERNEL、GDI函数,简化了编程时创建、维护窗口的许多复杂的工作。
2.2 MFC的简介MFC的英文全称是Microsoft Foundation Class Library,MFC中的各种类结合起来构成了一个应用程序框架,它的目的就是让程序员在此基础上来建立Windows下的应用程序,这是一种相对SDK来说更为简单的方法。
因为总体上,MFC框架定义了应用程序的轮廓,并提供了用户接口的标准实现方法,程序员所要做的就是通过预定义的接口把具体应用程序特有的东西填入这个轮廓。
Microsoft Visual C++提供了相应的工具来完成这个工作:AppWizard可以用来生成初步的框架文件(代码和资源等);资源编辑器用于帮助直观地设计用户接口;Class Wizard用来协助添加代码到框架文件;最后,编译,则通过类库实现了应用程序特定的逻辑。
2.3 SQL数据库的介绍SQL是Structured Query Language(结构化查询语言)的缩写。
SQL是专为数据库而建立的操作命令集,是一种功能齐全的数据库语言。
在使用它时,只需要发出“做什么”的命令,“怎么做”是不用使用者考虑的。
SQL功能强大、简基于VC课程商品销售管理系统的设计单易学、使用方便,已经成为了数据库操作的基础,并且现在几乎所有的数据库均支持SQL。
SQL数据库的数据体系结构基本上是三级结构,但使用术语与传统关系模型术语不同。
在SQL中,关系模式(模式)称为“基本表”(base table);存储模式(内模式)称为“存储文件”(stored file);子模式(外模式)称为“视图”(view);元组称为“行”(row);属性称为“列”(column)。
SQL语言的组成:1.一个SQL数据库是表(Table)的集合,它由一个或多个SQL模式定义。
2.一个SQL表由行集构成,一行是列的序列(集合),每列与行对应一个数据项。
3.一个表或者是一个基本表或者是一个视图。
基本表是实际存储在数据库的表,而视图是由若干基本表或其他视图构成的表的定义。
4.一个基本表可以跨一个或多个存储文件,一个存储文件也可存放一个或多个基本表。
每个存储文件与外部存储上一个物理文件对应。
5.用户可以用SQL语句对视图和基本表进行查询等操作。
在用户角度来看,视图和基本表是一样的,没有区别,都是关系(表格)。
6.SQL用户可以是应用程序,也可以是终端用户。
SQL语句可嵌入在宿主语言的程序中使用,宿主语言有FORTRAN,COBOL,PASCAL,PLI,C和Ada语言等。
SQL 用户也能作为独立的用户接口,供交互环境下的终端用户使用。
SQL包括了所有对数据库的操作,主要是由4个部分组成:1.数据定义:这一部分又称为“SQL DDL”,定义数据库的逻辑结构,包括定义数据库、基本表、视图和索引4部分。
2.数据操纵:这一部分又称为“SQL DML”,其中包括数据查询和数据更新两大类操作,其中数据更新又包括插入、删除和更新三种操作。
3.数据控制:对用户访问数据的控制有基本表和视图的授权、完整性规则的描述,事务控制语句等。
4.嵌入式SQL语言的使用规定:规定SQL语句在宿主语言的程序中使用的规则。
SQL的优点:1)非过程化语言2)统一的语言3)是所有关系数据库的公共语言总之,SQL是一个既可以只用来存放数据的数据库,也可以作为一个客户端开发工具来进行数据库应用系统开发;既可以开发方便易用的小型软件,也可以用来开发大型的应用系统。
2.4本章小结本章主要介绍了该商品销售管理系统的开发环境、MFC以及SQL数据库。
3需求分析3.1商品销售管理系统的介绍本系统是基于VC课程开发的管理系统。
用户使用本系统可以方便的对企业的销售及销售过程中所涉及的一系列账务关系进全面的跟踪管理。
该系统主要分为六个模块:在基础信息管理模块中需要实现操作员信息、商品信息、供基于VC课程商品销售管理系统的设计应商信息、客户信息的管理和商品库存表等功能。
在入库管理模块中需要实现商品入库管理、入库退货管理。
在销售管理模块中需要实现商品销售管理、销售退货管理。
在查询管理中需要实现商品入库查询、入库退货查询、销售查询、销售退货查询。
在往来帐管理模块中需要实现供应商结款管理、客户结款管理。
在系统管理模块中需要实现系统的退出功能。
基础信息管理模块各功能性需求见下表3-1、 3-2所示:表3-1用户登录界面表3-2基础数据管理界面商品销售档案管理模块各功能性需求见下表3-3、3-4所示:表3-3商品销售资料管理界面表3-4商品销售资料查询界面3.2商品销售管理系统的角色在管理系统中不同的用户有不同的角色,而本管理系统只设置管理员权限,具体角色名称和职责描述见下表3-5所示:表3-5角色信息表3.3本章小结本章主要介绍了基于VC课程的商品销售管理系统的介绍、商品销售管理系统中的角色、商品销售管理系统功能性需求。
其中商品销售管理系统中的角色分为普通用户和管理员,通过设定的权限来对不同的页面进行管理。
商品销售管理系统功能性需求介绍了各个模块各个页面的功能和实现。
4概要设计在正式设计程序之前,先要作一个概要设计,概要设计目的主要是为程序系统的设计考虑,包括程序系统的总体结构,整个系统的流程,模块划分、功能分配等,为系统的详细设计、程序的具体实现打好基础。
本章将主要介绍概要设计说明书。
基于VC课程商品销售管理系统的设计4.1系统总体结构本论坛系统共划分为六个模块,包括基础信息管理、入库管理、销售管理、查询管理、往来帐管理和系统管理,每个模块都有各自所实现的功能。
系统总体结构如下图4-1所示[8]图4-1系统结构图4.2系统流程图当用户登陆系统时,首先呈现在用户面前的是系统的主页,用户想要对商品销售信息进行管理需登录系统,点击主页上的登录按钮,输入正确的用户名和密码即可登录系统。
成功登陆后,管理员即可对商品销售进行管理,系统流程如下图4-2所示[8]图4-2 系统流程图4.3数据库设计本系统利用SQL作为后台的数据库,建立数据库SellManage.MDF。
首先对系统分析得到的数据进行分析,说明数据库基本结构的设计。
基于VC课程商品销售管理系统的设计图4-6为zw表中的信息4.4本章小结本章主要介绍了商品销售管理系统的框架机构和系统流程以及数据库中各个表的信息图4-3数据库表图4.4本章小结本章主要介绍了商品销售管理系统的框架机构和系统流程以及数据库中各个表的信息。
5系统详细设计与实现5.1用户登录页面当用户进入到商品销售管理系统后,会进入登录页面,用户分为普通用户和管理员,普通用户无法对该系统进行设置、管理,而管理员可对该系统进行设置、管理。
在登录页面上,用户必须正确填写用户名,密码,成功登录后用户才具有商品销售管理系统普通用户的操作权限。
如图5-1所示图5-1为用户登录页面以下为用户登录页面部分代码:void CDlg_login::OnOK(){TODO: Add extra validation _name=="000" && this->m_login_pwd=="000") CDialog::OnOK();elseMessageBox("登录有误");}void CDlg_login::OnCancel(){TODO: Add extra cleanup (m_, TRUE);SetIcon(m_, FALSE);基于VC课程商品销售管理系统的设计显示标题栏标题char m_szTitle[256] = "" ;sprintf(m_szTitle, "商品销售管理系统-----管理员:%s,级别:%s", m_szOpName, m_szLevel) ;SetWindowText(m_szTitle) ;工具栏内容的设置m_ImageList.Create(32,32,ILC_COLOR24|ILC_MASK,1,1); 创建图像列表m_ImageList.Add(AfxGetApp()->LoadIcon(IDI_ICONOper)); 操作员信息管理m_ImageList.Add(AfxGetApp()->LoadIcon(IDI_ICONMech)); 商品信息管理m_ImageList.Add(AfxGetApp()->LoadIcon(IDI_ICONSup)); 供应商信息管理m_ImageList.Add(AfxGetApp()->LoadIcon(IDI_ICONClient)); 客户信息管理m_ImageList.Add(AfxGetApp()->LoadIcon(IDI_ICONSPKC)); 库存管理m_ImageList.Add(AfxGetApp()->LoadIcon(IDI_ICONSPRK)); 入库管理m_ImageList.Add(AfxGetApp()->LoadIcon(IDI_ICONRKTH)); 入库退货m_ImageList.Add(AfxGetApp()->LoadIcon(IDI_ICONSPXS)); 商品销售m_ImageList.Add(AfxGetApp()->LoadIcon(IDI_ICONSXTH)); 销售退货m_ImageList.Add(AfxGetApp()->LoadIcon(IDI_ICONRKCX)); 入库查询m_ImageList.Add(AfxGetApp()->LoadIcon(IDI_ICONRKTHCX)); 入库退货查询m_ImageList.Add(AfxGetApp()->LoadIcon(IDI_ICONXSCX)); 销售查询m_ImageList.Add(AfxGetApp()->LoadIcon(IDI_ICONXSTHCX)); 销售退货查询m_ImageList.Add(AfxGetApp()->LoadIcon(IDI_ICONGYSJK)); 供应商结帐m_ImageList.Add(AfxGetApp()->LoadIcon(IDI_ICONKHJK)); 客户结帐UINT array[19];for(int i=0;i<19;i++){if(i==5||i==8||i==11||i==16){array[i]=ID_SEPARA TOR;第三个和第九个按钮为分隔条}else array[i]=i+1120;}m_ToolBar.Create(this);m_ToolBar.SetButtons(array,19);m_ToolBar.SetButtonText(0,"操作员信息");m_ToolBar.SetButtonText(1,"商品信息");m_ToolBar.SetButtonText(2,"供应商信息");m_ToolBar.SetButtonText(3,"客户信息");m_ToolBar.SetButtonText(4,"商品库存信息");m_ToolBar.SetButtonText(6,"商品入库");m_ToolBar.SetButtonText(7,"入库退货");m_ToolBar.SetButtonText(9,"商品销售");m_ToolBar.SetButtonText(10,"销售退货");m_ToolBar.SetButtonText(12,"入库查询");m_ToolBar.SetButtonText(13,"入库退货");m_ToolBar.SetButtonText(14,"销售查询");m_ToolBar.SetButtonText(15,"销售退货");m_ToolBar.SetButtonText(17,"供应商结款");m_ToolBar.SetButtonText(18,"客户结款");m_ToolBar.GetToolBarCtrl().SetImageList(&m_ImageList);关联图像列表m_ToolBar.SetSizes(CSize(40,40),CSize(32,32)); 设置按钮和按钮位图大小m_ToolBar.EnableToolTips(true);RepositionBars(AFX_IDW_CONTROLBAR_FIRST, AFX_IDW_CONTROLBAR_LAST, 0);显示工具栏return TRUE;}}else{CDialog::OnSysCommand(nID, lParam);}}5.3基础数据管理页面基础数据管理包括:基础信息管理、入库管理、销售管理、查询管理、往来帐管理和系统管理,它们要对数据库里的信息进行操作。