文档视界 最新最全的文档下载
当前位置:文档视界 › 超市商品管理系统+含报告

超市商品管理系统+含报告

超市商品管理系统+含报告
超市商品管理系统+含报告

超市商品管理的设计与实现

1.系统描述

1.1 问题说明

要求设计并实现一个简单超市商品管理系统,至少实现数据的增加、修改、删除、查询和显示相应结果,内存数据用链表组织,数据文件用文本文件,用户界面用字符界面,枚举量用枚举类型表示。

1.2 数据需求

1.3 功能需求

2.系统设计

2.1 开发平台

计算机系统:Microsoft Windows XP;开发工具:Microsoft Visual Studio 6.0;语言:C++ 2.2内存数据结构设计

用单链表表示商品数据记录,链表接点定义为:

struct node

{

ProductsInfo productsInfo;

node *pnext;

};

其中自定义数据类型ProductsInfo定义为:

struct ProductsInfo //定义超市商品的相关属性

{

char no[14];

char name[25];

float price;

int num;

char sort[12];

};

枚举菜单类型与操作类型:

enum MenuType {MAINMENU, SUBMENU}; //枚举菜单类型

enum FuncType {NONE, ADD, PRINT, DELETE, MODIFY,QUERY, QB_NO, QB_NAME, QB_price,QB_num, QB_sort, SA VE, EXIT}; //枚举操作类型

2.3数据文件设计

数据记录保存在文本文件productsInfo.txt里,利用C++流类库进行数据读写操作,每条数据记录之间换行分隔开。

2.4用户界面设计

用户界面为控制台字符模式,根据功能为用户设计了主菜单与分菜单,界面友好,易

于操作,主菜单如下:

cout << "*&*&*&*&*&*&*&*欢迎使用商品管理系统*&*&*&*&*&*&*\n";

cout << "* *\n";

cout << "* 请按下面的选单进行功能选择: *\n";

cout << "* (1) 添加商品记录*\n";

cout << "* (2) 显示商品清单*\n";

cout << "* (3) 删除一条商品记录*\n";

cout << "* (4) 修改一条商品记录*\n";

cout << "* (5) 查询*\n";

cout << "* (6) 保存至文档*\n";

cout << "* (7) 退出*\n";

cout<<"*&*&*&*&*&*&*&*&*&*&*&*&*&*&*&*&*&*&*&*&*&*&*&*&\n";

查询功能的分菜单如下:

cout << "*&*&*&*&*&*&*&*&*&*&*&*&*&*&*&*&*&*&*&*&*&*&*&*\n";

cout << "* 商品信息管理系统*\n";

cout << "*主菜单->查询*\n";

cout << "* (1) 按商品编号查询*\n";

cout << "* (3) 按商品价格查询*\n";

cout << "* (4) 按商品分类查询*\n";

cout << "* (5) 返回*\n";

cout << "***********************************************\n";

2.5具体功能设计

根据功能需求分析,定义了如下功能函数:

FuncType PrintMenu(MenuType which); //菜单选择函数

node * CreateProList(char filename[]); //读取数据文件,建立数据链表

void RemoveProList(); //撤销内存空间

void RemoveQueryRes();

void Save(char filename[]); //保存至文件

void Print(node *pnode); //显示数据信息

void Print(QueryRes *pnode);

void modify(); //修改指定数据条目

QueryRes * Query(ProductsInfo& productsInfo, FuncType func);//查询指定数据条目node * Add(ProductsInfo& productsInfo); //添加数据项

bool Delete(); //删除指定条目

ProductsInfo& GetproductsInfo(ProductsInfo& productsInfo); //从终端接收数据

ProductsInfo& SetproductsInfo1(ProductsInfo& productsInfo,FuncType func);

功能函数调用关系图如下:

附:源程序清单

//products.h

//文件功能:定义超市商品的数据结构及其相关操作

#include

#include

#include

#include

struct ProductsInfo //定义超市商品的相关属性

{

char no[14];

char name[25];

float price;

int num;

char sort[12];

};

struct node //定义数据链表结点

{

ProductsInfo productsInfo;

node *pnext;

};

struct QueryRes

{

node * pnode;

QueryRes * pnext;

};

node *phead = NULL; //定义数据链表头指针

QueryRes *pqueryres = NULL;

enum MenuType {MAINMENU, SUBMENU}; //枚举菜单类型

enum FuncType {NONE, ADD, PRINT, DELETE, MODIFY,QUERY, QB_NO, QB_NAME, QB_price,QB_num, QB_sort, SA VE, EXIT}; //枚举操作类型

FuncType PrintMenu(MenuType which); //菜单选择函数

node * CreateProList(char filename[]); //读取数据文件,建立数据链表

void RemoveProList(); //撤销内存空间

void RemoveQueryRes();

void Save(char filename[]); //保存至文件

void Print(node *pnode); //显示数据信息

void Print(QueryRes *pnode);

void modify(); //修改指定数据条目

QueryRes * Query(ProductsInfo& productsInfo, FuncType func); //查询指定数据条目node * Add(ProductsInfo& productsInfo); //添加数据项bool Delete(); //删除指定条目

ProductsInfo& GetproductsInfo(ProductsInfo& productsInfo); //从终端接收数据ProductsInfo& SetproductsInfo1(ProductsInfo& productsInfo,FuncType func);

// products.h文件结束

//products.cpp

#include "products.h"

using namespace std;

FuncType PrintMenu(MenuType which) {

FuncType func = NONE;

int choice = 0;

switch(which) {

case MAINMENU: //主菜单选项cout << "*&*&*&*&*&*&*&*欢迎使用商品管理系统*&*&*&*&*&*&*\n";

cout << "* *\n";

cout << "* 请按下面的选单进行功能选择: *\n";

cout << "* (1) 添加商品记录*\n";

cout << "* (2) 显示商品清单*\n";

cout << "* (3) 删除一条商品记录*\n";

cout << "* (4) 修改一条商品记录*\n";

cout << "* (5) 查询*\n";

cout << "* (6) 保存至文档*\n";

cout << "* (7) 退出*\n";

cout<<"*&*&*&*&*&*&*&*&*&*&*&*&*&*&*&*&*&*&*&*&*&*&*&*&\n";

cout << "* 请选择(1-6):";

cin >> choice;

switch(choice) {

case 1: func = ADD; break;

case 2: func = PRINT; break;

case 3: func = DELETE; break;

case 4: func = MODIFY; break;

case 5: func = QUERY; break;

case 6: func = SA VE; break;

case 7: func = EXIT;break;

default: func = NONE; break;

}

break;

case SUBMENU: //分菜单选项cout<<"*&*&*&*&*&*&*&*&*&*&*&*&*&*&*&*&*&*&*&*&*&*\n";

cout << "* 商品信息管理系统*\n";

cout << "*主菜单->查询*\n";

cout << "* (1) 按商品编号查询*\n";

cout << "* (2) 按商品名称查询*\n";

cout << "* (3) 按商品价格查询*\n";

cout << "* (4) 按商品分类查询*\n";

cout << "* (5) 返回*\n";

cout << "***********************************************\n";

cout << "* 请选择(1-6):";

cin >> choice;

switch(choice) {

case 1: func = QB_NO; break;

case 2: func = QB_NAME; break;

case 3: func = QB_price; break;

case 4: func = QB_sort; break;

case 5: func = EXIT; break;

default: func = NONE; break;

}

break;

default:

cout << "没有查询到该条商品记录!!\n";

break;

}

return func;

}

node * CreateProList(char filename[]) {

node * p=NULL;

ifstream products(filename);

if(!products)

{

cerr<<"文件不存在!请添加商品记录!"<

return NULL;

}

while(!products.eof()) { //装载数据文件if(p = new node()) {

products >> p->productsInfo.no;

products >> p->https://www.docsj.com/doc/5a1933254.html,;

products >> p->productsInfo.price;

products >> p->productsInfo.num;

products >> p->productsInfo.sort;

p->pnext = phead;

phead = p;

}

}

products.close();

return phead;

}

void RemoveProList() { //撤销内存空间for(node *p2, *p1 = phead;p1;p1 = p2) {

p2 = p1->pnext;

delete p1;

phead = NULL;

}

void RemoveQueryRes() {

for(QueryRes *p2, *p1 = pqueryres;p1;p1 = p2) { p2 = p1->pnext;

delete p1;

}

pqueryres = NULL;

}

void Save(char filename[]) { //保存至文档node * p;

ofstream products(filename);

if(!products) {

return;

}

for(p = phead;p;p=p->pnext) {

products << " " << p->productsInfo.no;

products << " " << p->https://www.docsj.com/doc/5a1933254.html,;

products << " " << p->productsInfo.price;

products << " " << p->productsInfo.num;

products << " " << p->productsInfo.sort<

}

products.close();

}

void Print(node *pnode) { //输出数据for(node *p = pnode;p;p = p->pnext) {

cout<productsInfo.no << " " ;

cout<https://www.docsj.com/doc/5a1933254.html, << " " ;

cout<productsInfo.price << " " ;

cout<productsInfo.num << " " ;

cout<productsInfo.sort << "\n";

}

}

void Print(QueryRes *pnode) {

for(QueryRes *p = pnode;p;p = p->pnext) {

cout << p->pnode->productsInfo.no << " ";

cout << p->pnode->https://www.docsj.com/doc/5a1933254.html, << " ";

cout << p->pnode->productsInfo.price << " ";

cout << p->pnode->productsInfo.num << " ";

cout << p->pnode->productsInfo.sort << "\n";

}

QueryRes * Query(ProductsInfo& productsInfo, FuncType func) { //查询功能实现int hasRes = 0;

QueryRes *pquery = NULL;

for(node *p = phead;p;p = p->pnext) {

switch(func) {

case QB_NO: //按编号查询if(!strcmp(p->productsInfo.no, productsInfo.no)) {

hasRes = 1;

}

break;

case QB_NAME: //按名称查询if(!strcmp(p->https://www.docsj.com/doc/5a1933254.html,, https://www.docsj.com/doc/5a1933254.html,)) {

hasRes = 1;

}

break;

case QB_price: //按价格查询if(p->productsInfo.price == productsInfo.price) {

hasRes = 1;

}

break;

case QB_sort: //按分类查询if(!strcmp(p->productsInfo.sort, productsInfo.sort)) {

hasRes = 1;

}

break;

default:

break;

}

if(hasRes) {

if(pquery = new QueryRes()) {

pquery->pnode = p;

pquery->pnext = pqueryres;

pqueryres = pquery;

}

hasRes = 0;

}

}

return pqueryres;

}

node * p;

if(p = new node()) {

strcpy(p->productsInfo.no, productsInfo.no);

strcpy(p->https://www.docsj.com/doc/5a1933254.html,, https://www.docsj.com/doc/5a1933254.html,);

p->productsInfo.price = productsInfo.price;

p->productsInfo.num = productsInfo.num;

strcpy(p->productsInfo.sort, productsInfo.sort);

p->pnext = phead;

phead = p;

}

return phead;

}

bool Delete() { //删除指定数据项cout<<"请输入商品编号:"<

char no[14];

cin>>no;

if(phead==NULL) {cout<<" 不存在商品记录!"<

node *p=phead;

if(!strcmp(p->productsInfo.no, no))

{

phead=phead->pnext;

return true;

}

for(phead;p->pnext;p = p->pnext)

{

if(!strcmp(p->pnext->productsInfo.no, no)) break;

}

if(p->pnext==NULL){cout<<"不存在商品记录!"<

p->pnext=p->pnext ->pnext;

delete p->pnext;

return true;

}

void modify() //修改指定条目{

node *p=phead;

if (p==NULL)

{

cout<<"不存在商品记录!";

return;

}

char no[14];

cout<<"请输入要修改的商品编号:";

for(p=phead;p;p = p->pnext)

{

if(!strcmp(p->productsInfo.no, no)) break;

}

if (p==NULL)

{

cout<<"不存在该编号的商品!\n";

return;

}

cout<<"请重新输入该商品信息:";

GetproductsInfo(p->productsInfo);

}

ProductsInfo& GetproductsInfo(ProductsInfo& productsInfo) { //从终端接收数据

cout << "请输入商品编号: ";

cin >> productsInfo.no;

cout << "请输入商品名称: ";

cin >> https://www.docsj.com/doc/5a1933254.html,;

cout << "请输入商品价格: ";

cin >> productsInfo.price;

cout << "请输入商品数量: ";

cin >> productsInfo.num;

cout << "请输入商品类别: ";

cin >> productsInfo.sort;

return productsInfo;

}

ProductsInfo& SetproductsInfo1(ProductsInfo& productsInfo,FuncType func) { switch(func){

case QB_NO:

cout << "请输入商品编号: ";

cin >> productsInfo.no;break;

case QB_NAME:

cout << "请输入商品名称:";

cin >> https://www.docsj.com/doc/5a1933254.html,;break;

case QB_price:

cout << "请输入商品价格: ";

cin >> productsInfo.price;break;

case QB_num:

cin >> productsInfo.num;break;

case QB_sort:

cout << "请输入商品类别: ";

cin >> productsInfo.sort;break;}

return productsInfo;

}

int main()

{

ProductsInfo productsInfo;

int cont = 1;

int cont1 = 1;

phead = CreateProList("productsInfo.txt"); //装载数据文件

while(cont) {

switch(PrintMenu(MAINMENU)) {

case ADD: //添加数据条目GetproductsInfo(productsInfo);

phead = Add(productsInfo);

break;

case PRINT: //显示商品清单cout << "*&*&*&*&*&*&*&*以下是商品清单*&*&*&*&*&**&*&\n";

Print(phead);

break;

case DELETE: //删除指定条目if(Delete())

cout << "已删除!\n";else cout << "删除失败!\n";

break;

case MODIFY: //修改指定条目modify();

break;

case QUERY: //查询操作

cont1 = 1;

while(cont1) {

FuncType func;

func = PrintMenu(SUBMENU);

switch(func) {

case QB_NO:

case QB_NAME:

case QB_price:

case QB_sort:

SetproductsInfo1(productsInfo,func);

Print(Query(productsInfo, func));

RemoveQueryRes();

break;

cont1 = 0;

break;

default:

break;

}

}

break;

case SA VE: //保存至文件

Save("productsInfo.txt");

break;

case EXIT: //退出

RemoveProList();

cont = 0;

break;

default:

break;

}

}

return 0;

}

3.系统测试

3.1 程序调试

多个功能在执行时均出现健壮性较差的问题,输入非法数据后程序容易出错而停止运行,或是在查询、修改一条数据链表中记录时,也回出现类似情况,发现该问题后加入了检查输入数据非法性的语句,程序运行正常;另在int strcmp(char *,char *)函数使用时,未弄清该函数的返回值问题,相关功能便会出现相反的结果;再者便是一些常见的语法上的错误,一一改正之后,程序运行正常。

3.2结果测试分析

运行程序,结果如下:

输入1后进行添加操作,如下:

系统返回主菜单后再添加两条商品记录,输入2显示清单:

返回主菜单后输入3进行删除操作,如下:

选择修改功能,运行如下:

如选择查询功能

各项功能运行正常,达到预期要求。

4.心得体会

通过本次训练,在编程的过程中对抽象建模、算法设计、计算过程规划与实施有了更深切认识,更重要的还培养严谨认真的科学态度和严谨务实的工作作风。

一个程序完成之初难免有很多漏洞甚至错误需要修正,语法错误相对来说要容易调试一些,但有两点需要特别指出:一是应该用规范化的格式输入源程序,函数体内、循环体内等都应该缩进一个TAB位,相应的块语句的两个大括号都应保持在同一列上,函数体之间、模块之间都应用空行隔开,这就解决了各种匹配的问题,更重要的是它极大的增强的程序的可读性。二是应该注意函数的实参与形参的传递问题,要尽量保持两者类型的

匹配,(当不匹配又可通过编译时会发生数据类型的隐式转换,这样会产生很多不安全且又很难找到的错误)当不需要改变形参时,只需传入变量,如果想在函数体内改变函数的外部变量,则传入指针。

在编译错误为0的情况下,不要高兴的太早,此时也要关注一下警告warning,每一个warning都有他一定的道理。当修改的只剩下一些无关紧要的时,才可以连接运行。这其中出现的一些逻辑错误才是调试的难点所在。在连接程序时可能出现的问题可能是,库连接不上、标志符有问题(如函数名不应该以数字开头命名,定义的标志符与编译器内部或库内部定义的标识符相冲突。)

5.参考文献

[1] 严蔚敏吴伟民.数据结构(C语言版).清华大学出版社(北京).1997.04

[2] 郑莉,董渊,张瑞丰.C++程序设计(第三版).清华大学出版社.2003

[3]钟珞.计算机科学导论(第二版).武汉理工大学出版社..2004.01

[4]闵联营,何克右. C++程序设计教程(第二版).武汉理工大学出版社..2005.07

[5]张力.Visual c++高级编程.人民邮电出版社..2002.03

C++超市管理系统的设计与实现

目录 一、需求分析 (3) 二、程序的主要功能 (2) 三、程序运行平台 (4) 四、系统总框架图 (4) 五、程序类的说明 (5) 六、模块分析 (8) 七、比较有特色的函数 (9) 八、运行结果 (10) 九、存在的不足与对策 (14) 十、程序源代码 (14)

一、需求分析 中小型超市采购的商品一般都成千上万件。对这些商品进行有效的管理必不可 少。每件商品一般都需要记录商品名、条形码、类别、价格、出厂日期等商品的 基本信息。除此之外,还需要记录商品的其他相关信息,如生产厂家、供货处代码、厂家网址、厂家电话等。超市商品的相关信息需要存储到文件系统中,一般 都需要提供对商品信息的添加、编辑、删除等操作。超市管理员每天都会记录购进的商品信息,核销过期的商品等。 为了巩固我们所学的C++语言程序设计知识,也为了满足课程设计的要求,我们在对几个中小型超市进行调研的基础上,设计和实现一个小型的超市商品管理系统,提供商品系统的添加、删除、编辑等功能。同类系统多数使用结构体数组来 操作数据,本系统使用链表结构操作数据,提高了数据处理的效率。 二、程序的主要功能 1、添加功能: 添加商品信息:有商品代码、商品名称、产地、商品单价、库存量等。 2、删除功能: 根据商品的名称,在添加的商品中进行删除。 3、显示功能: 能将已经添加或者进行修改的商品信息进行显示。 4、修改功能: 根据商品的民称,在添加的商品中进行修改,将这个商品的所有信息都进行修改。 5、查找功能: 根据商品名称或者编号进行查找,查找功能有两个查找方式,以备不时之需。 6. 文件保存 将添加,修改,删除后的商品信息进行保存。

软件工程 超市管理系统项目开发总结报告

超市管理系统 [项目开发总结报告] 执笔人:梁宏达 学号:12101109 [项目组组员] 12101104韩劼男12101105洪振12101106籍孟云12101107荆德松12101108李杨12101109梁宏达 2015-5-25

目录 1引言 (2) 1.1编写目的 (2) 1.2背景 (2) 1.3定义 (2) 1.4参考资料 (2) 2实际开发结果 (3) 2.1产品 (3) 2.2主要功能和性能 (3) 2.3基本流程 (4) 2.4进度 (5) 2.5费用 (6) 3开发工作评价 (7) 3.1对生产效率的评价 (7) 3.2对产品质量的评价 (7) 3.3对技术方法的评价 (7) 3.4出错原因的分析 (7) 4经验与教训 (8)

1引言 1.1编写目的 编写本报告的目的是研究本系统的总体需求、背景。对开发结果 开发评价进行分析,得出经验与教训。 1.2背景 本项目是对超市货物管理系统作出的项目总结报告。此软件的任务是由计算机学院提出的,由洪振,李杨,籍梦云,荆德松,韩劼男,梁宏达组成开发小组进行开发的。 1.3定义 需求:用户解决问题或达到目标所需要的条件或功能:系统或系统部件要满足合同、标准,规范或其它正式规定文档所需具有的条件或权能。 需求分析:包括提炼,分析和仔细审查已收集到的需求,以确保所有的风险承担者都明其含义并找出其中的错误,遗憾或其它不足的地方。 POS:英文Ponit of Sale 的缩写,即销售点终端机,是银行在特约商店、宾馆、饭店等消费场所和银行营业网店安装的终端机,它与银行信用卡授权中心联成网络,从而实现了资金的自动转账和实时入账。 1.4参考资料 参考资料如下所示: 《软件工程》《超市管理系统可行性分析报告》

商品仓库管理系统数据库设计

数据库原理课程设计仓库管理系统

第一章绪论 课题背景介绍 1.1.1课题开发背景 商品库存管理系统是一个企业不可缺少的部分,它的内容对于企业的决策者和管理者来说都至关重要,所以商品库存管理系统应该能够为用户提供充足的信息和快捷的查询手段。但一直以来人们使用传统人工的方式管理仓库中的各种物资设备,这种管理方式存在着许多缺点,如:效率低、另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少的困难。 随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。 作为计算机应用的一部分,使用计算机对物资信息进行管理,具有着手工管理所无法比拟的优点.例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高人事劳资管理的效率,也是企业的科学化、正规化管理,与世界接轨的重要条件。因此,开发这样一套商品库存管理软件成为很有必要的事情。 1.1.2课题开发意义 大多数库存管理理论认为,库存是物理上和逻辑上库房库位的所有有形和无形物料极其价值的总和,具体包括成品、原材料、在制品、在途品、生产前物料、备品备件等。虽然持有一些库存是必要的,过量的库存却非但没有用处而且占用了资金。占用的资金对于公司发展、新产品开发等都是非常需要的;减少资金占用还可以大大减少来自银行贷款的利息和风险。对那些采购量特别大、采购件市场价格有波动的物料库存,加强库存管理效果更为明显。因此,平衡公司库存投资与其它资金需求至关重要。 随着我国经济的飞速发展,各种类型规模的公司企业迅速崛起,许多从事生产和经营管理的企业都有自己生产和销售的产品,而这些产品都需要储存在仓库中,对于每个企业来说,随着企业规模的不断扩大,产品数量的急剧增加,所生产产品的种类也会不断地更新与发展,有关产品的各种信息量也会成倍增长。面对庞大的产品信息量,如何有效地管理库存产品,对这些企业来说是非常重要的,库存管理的重点是销售信息能否及时反馈,从而确保企业运行效益。而库存管理又涉及入库、出库的产品、操作人员及客户等方方面面的因素,如何管理这些信息数据,是一项复杂的系统工程,充分

销售管理系统课设报告

******************* 实践教学 ******************* 兰州理工大学 计算机与通信学院 2011年春季学期 C程序设计课程设计 题目:销售管理系统 专业班级:计算机1班 姓名:ZWZ 学号:10240136 指导教师:周小健 成绩:

摘要 销售管理系统程序设计利用计算机技术,使得企业生产、库存和销售能够有利结合起来,提高企业的效率和效益。 利用该系统可以为决策者和管理者及时掌握时常动态和企业的生产状况,以及对员工销售额的统计。 销售管理系统是一个企业单位不可缺少的部分,它的内容对于公司的决策者和管理者来说都至关重要,所以销售管理系统应该能够为管理人员提供充足的信息和快捷的查询手段。但一直以来人们使用传统人工的方式管理文件档案,这种管理方式存在着许多缺点。随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。作为计算机应用的一部分,使用计算机对员工信息及业绩进行管理,具有手工管理所无法比拟的优点.

目录 摘要 (2) 一、需求分析 0 1.1 要求 0 1.2 系统功能 0 1.3 运行环境 0 1.4 开发工具 0 二、总体设计 (1) 三详细设计 (2) 2.2 功能模块设计 (2) 2.3 系统流程图(如图 3.1)...................... 错误!未定义书签。 四、编码 (5) 五、测试 (6) 六、设计总结 (11) 致谢 (12) 参考文献 (13) 附录1 0

一、需求分析 1.1 要求 (1)用c语言实现程序设计; (2)利用结构体进行相关信息处理; (3)画出查询模块的流程图; (4)系统的各个功能模块要求用函数的形式实现; (5)界面友好(良好的人机互交),程序要有注释 1.2 系统功能 (1)定义一个结构体类型数组,输入每一位同学的记录(包括姓名、电话号码、e_mail、地址),将其信息存入文件中; (2)输入姓名查询该同学的信息,并显示在屏幕上; (3)画出所有模块的流程图; (4)编写代码; (5)程序分析与调试。 1.3 运行环境 (1)WINDOWS2000/XP系统 (2)Turboc2.0编译环境 1.4开发工具 (1)C程序

小型超市商品信息管理系统

计算机系统开发综合训练(3)课程设计 小型超市商品信息管理系统

目录 1. 引言 (3) 1.1系统开发目的 (3) 1.2背景说明 (3) 1.3项目确立 (3) 1.4应用范围 (3) 2. 主要步骤 (4) 2.1建立系统功能模型 (4) 2.1.1需求说明: (4) 2.1.2 系统顶级用例图 (5) 2.1.3主要业务系统的用例图 (5) 1.员工用例图: (5) 2.售货员用例图 (6) 3. 库存管理员用例图 (7) 4.订货员用例图 (7) 5.统计分析员用例图 (8) 6. 系统管理员用例图 (9) 2.1.4 主要业务活动图 (10) 货物管理活动图 (10) 2.2建立系统静态结构模型 (11) 2.2.1业务系统的详细类图 (11) 1.员工登录模块类图 (11) 2. 订货模块类图 (12) 3.库存管理模块类图 (12) 4. 统计分析模块类图 (13) 5. 销售模块类图 (14) 2.3建立系统动态模型 (15) 2.3.1主要业务用例的顺序图和合作图 (15) 1.商品销售顺序图和合作图 (15) 2.商品入库顺序图和合作图 (17) 3. 商品出库顺序图 (18) 4.商品查询顺序图 (19) 2.3.2主要业务对象的状态图 (19) 1.商品状态图 (19) 2.商品销售状态图 (20) 2.4 绘制系统实现模型 (21) 2.4.1商品信息管理系统构件图 (21) 2.4.2 商品信息管理系统配置图 (22) 3.系统的主要框架 (22) 4.实验心得体会 (30)

1.引言 随着网络办公系统的方便性及其进一步普及,越来越来的公司、企业在管理上都采用了专门的系统来管理公司的业务和流程。由此,系统管理应运而生。 本项目针对超市管理系统进行需求说明,旨在为超市提供方便,快捷的结账体系,准确,高效的库存和财务管理系统,等。让顾客在超市购物更加快捷方便,让超市的管理和运行工作更加完善,方便。因为超市管理系统是基于超市内部普通员工和管理人员的系统,所以非本超市员工是无权进行操作的。该超市管理系统的用户:库存管理员,售货员,统计分析员,顾客,系统管理员,订货员。 1.1系统开发目的 1.大大提高超市的运作效率; 2.通过全面的信息采集和处理,辅助提高超市的决策水平; 3.使用本系统,可以迅速提升超市的管理水平,为降低经营成本,提高效益,增强超市扩张力,提供有效的技术保障。 1.2背景说明 任何一个超市需要一个超市管理系统。该系统需要有顾客查询计算机、库存查询计算机、柜员终端机及中央计算机组成的网络系统。超市需要处理大量的库存信息,还要时刻更新产品的销售信息,不断添加商品信息。面对不同种类的信息,需要合理的数据库结构来保存数据信息,需要有效的程序结构支持各种数据操作的执行。如何在激烈的竞争中扩大销售额、降低经营成本、扩大经营规模,成为超市营业者努力追求的目标。 1.3项目确立 该超市管理系统主要分为两大系统,分别是前台销售系统和后台管理系统:前台销售系统包括对商品信息的录入和进行收银业务,后台管理系统分为统计系统、销售管理、库存管理、和人员管理。实现对超市的更加方便又好管理。1.4应用范围 本系统适应于各种小型的超市。

超市管理系统数据库设计数据库设计报告

信息工程学院 《数据库课程设计》论文 题目:超市管理系统数据库设计 学号: 专业班级: 姓名: 指导老师: 完成日期:

目录 《数据库课程设计》论文 (1) 摘要.............................................................................. - 1 - 引言.............................................................................. - 2 - 1 需求分析........................................................................ - 2 - 1.1 任务...................................................................... - 2 - 1.1.1 处理对象............................................................ - 2 - 1.1.2 处理功能要求........................................................ - 2 - 1.1.3 安全性和完整性要求.................................................. - 4 - 1.2 结果...................................................................... - 4 - 1.2.1顶层数据流程图....................................................... - 4 - 1.2.2 第一层流程图........................................................ - 5 - 1.2.3 第二层流程图........................................................ - 6 - 1.2.4 数据字典............................................................ - 7 - 2 概念结构设计.................................................................... - 8 - 2.1 具体任务.................................................................. - 8 - 2.2 阶段结果.................................................................. - 8 - 2.2.1 各个实体的E-R图.................................................... - 8 - 2.2.2 分E-R图............................................................ - 9 - 2.2.3 全局E-R图......................................................... - 10 - 3 逻辑结构设计................................................................... - 10 - 3.1 任务..................................................................... - 10 - 3.3.1 将E-R模型转换为关系模型 ........................................... - 10 - 3.2 结果..................................................................... - 12 - 3.2.1将ER图转化为关系模式汇总........................................... - 12 - 3.2.2外模式汇总.......................................................... - 12 - 3.2.3系统功能模块图...................................................... - 14 - 4 物理结构设计................................................................... - 14 - 5 数据库实施..................................................................... - 14 - 5.1 任务..................................................................... - 14 - 5.2 结果..................................................................... - 15 - 5.2.1存储过程汇总........................................................ - 15 - 5.2.2触发器汇总.......................................................... - 15 - 6 调试与测试..................................................................... - 16 - 附录1 数据字典说明............................................................... - 16 - 附录1.1数据项说明........................................................... - 16 - 附录1.2数据结构............................................................. - 18 - 附录1.3数据流............................................................... - 19 - 附录1.4数据处理............................................................. - 21 - 附录1.5数据存储............................................................. - 22 - 附录2 关系模式说明............................................................... - 22 - 附录3 数据定义语句............................................................... - 26 - 附录3.1基本表............................................................... - 26 - 附录3.2视图................................................................. - 29 - 附录3.3存储过程............................................................. - 31 -

超市商品管理信息系统数据库设计样本

二、需求分析: (一)重要目的 为了大大提高超市运作效率,减少经营成本,提高效益,以及提高超市管理水平。依照超市需要,对其进行规范化管理,因而需要一套合理管理体系。 (二)功能分析 1、录入产品信息,并对其进行分类,可以对既有产品信息进行维护、当产生了新产品后,可以录入新产品信息; 2、可以输入员工、供应商有关信息并能对其更新; 3、在收银处,随时录入商品出货信息(涉及产品编号、出货单价、出货数量、员工编号等),及时更新数据库数据; 4、从供应商处进货后,及时录入产品进货信息(涉及产品编号、进货单价、进货数量、供应商编号等); 5、录入产品原始库存,并可以依照产品进货、出货信息进行库存管理、更新; 6、可随时查询产品信息、出货信息、进货信息(如月出货报表),并可以打印输出; 7、可以依照出货、进货表中数据自动计算出每种产品当天库存,并可以实现当前库存查询; 8、在需要时生成商品库存状况报告,实时报告商品库存状况:库存量局限性(不大于某一自定数量)时,可生成缺货报告,并提供商品种类,来源等信息,以便采购人员进行商品采购;库存量超额(不

不大于某一自定数量)时,可生成超额库存报告,以便管理人员进行产品组合协调; 9、商品出货达到一定数量时,可将此类商品信息及出货进货信息打印输出,可以提示畅销产品和滞销产品种类,并提供商品库存信息用于市场导购和商品采购指引。 (三)数据定义 图1.1 E-R图

(四)系统设计 1、商品管理:录入既有商品有关信息,如生产日期、保质期、进货价格、出货价格等,并将其进行分类,以便查询、维护、更新; 2、进货管理:录入进货有关信息,并进行查询、更新,可打印输出; 3、出货管理:记录出货有关信息,并进行查询、更新,可打印输出; 4、库存管理:依照进货、出货信息自动计算库存量,并存储商品库存信息,且可以随时打印输出需要产品库存信息; 5、员工信息管理:员工基本信息创立、更新、查询; 6、供应商信息管理:供应商基本信息创立、更新、查询。

超市商品管理系统26088095

《软件工程》课程设计题目超市商品管理系统 学院(系)计算机与信息科学学院专业年级计算机科学与技术****级小组成员 ************ 2010 年 12 月 22 日

目录 一、序言 (2) 二、系统开发背景与开发目标 (2) 2.1开发背景------------------------------------------------------------- 2 2.2系统开发目标--------------------------------------------------------- 3 2.3可行性研究方法------------------------------------------------------- 3 2.4决定可行性的主要因素------------------------------------------------- 3 三、系统初步调查与可行性分析 (3) 3.1初步调查------------------------------------------------------------- 3 3.2可行性分析----------------------------------------------------------- 4 四、开发环境与项目规划 (5) 4.1开发环境------------------------------------------------------------- 5 4.2项目规划与管理------------------------------------------------------- 6 五、系统需求分析 (6) 5.1系统的功能要求------------------------------------------------------- 6 5.2 各子模块的功能需求--------------------------------------------------- 7 5.3超市商品管理系统的性能需求------------------------------------------- 7 5.4系统的数据需求------------------------------------------------------- 8 5.5软、硬件方面对系统的要求--------------------------------------------- 8 5.6系统的可靠性需求----------------------------------------------------- 9 六、结构化分析与设计 (9) 6.1设计思想与设计原则--------------------------------------------------- 9 6.2 业务流图 ------------------------------------------------------------ 9 6.3数据流程图---------------------------------------------------------- 11 6.4 UML模型:---------------------------------------------------------- 14 七、系统的详细设计 (15) 7.1总体结构设计-------------------------------------------------------- 15 7.2系统数据库设计------------------------------------------------------ 16 八、系统的实现(界面设计) (21) 九、系统的测试 (27) 9.1 模块测试 ----------------------------------------------------------- 27 9.2整体测试------------------------------------------------------------ 28 十、系统的评价 (28)

超市会员管理系统-数据库课程设计报告书

超市会员管理系统 1.课程设计目的 通过课程设计加深对数据库基础理论和基础知识的理解,掌握运用数据库管理系统,实现数据管理的基本思路和方法,培养分析问题、解决问题的能力。 2.系统功能设计 2.1功能模块图 功能模块图如图lo 超市会员管理系统 图1系统功能横块设计图 2?2功能说明 该超市会员管理系统旨在为超市的会员管理工作提供一个比较系统的会员管理平台,它帮助超市存储及管理会员的基本信息、管理会员卡、管理会员报表及会员政策,完全可以取代之前复杂的手工记录方法,是一套比较完备的管理工具,极提高了超市会员管理的效率。在很大程度上帮助了超市管理者对超市的掌握与管理。 3.数据库概念设计 3.1根据不同的对象,分别画出各分E-R图。

(1)从会员基本信息抽象出的分E?R图如图2。 图2会员基本信患的E-R图(2)从会员卡信息抽象出分E-R图 从会员卡信息抽象出的分E-R图如图3.

n n 图5基本E-R图 4. 将联系转化成独立的关系模式,具体的基本E-R图向关系模型的转化如下:会员基本信息(会员卡卡号,,性别,年龄,联系方式,购卡日期,)主码:、会员卡卡号 会员卡信息(会员卡卡号,会员卡编号,会员卡种类,) 主码:会员卡编号 物品信息(物品编号,物品种类,物品名称,单价) 主码:物品编号 购物信息(会员卡卡号,物品编号,购物数量) 主码:会员卡卡号、物品编号 其中:关系模式会员基本信息、会员卡、物品信息在非主属性对主属性的部分函数依赖,也不存在传递函数依赖,已经达到了3NF。购物信息则存在部分依赖属于2NFo 5.数据库物理设计 5.1数据库各基本表的定义 (1)会员基本信息表如表1

销售管理信息系统课程设计报告

销售经管信息系统课程设计报告 专业:经济信息经管 姓名:张颖雷相洁指导教师:代世雄

2011年 10月 前言 销售经管是为了实现各种组织目标,创造、建立和保持与目标市场之间的有益交换和联系而设计的技术方案的分析、计划、执行和控制。通过计划、执行及控制企业的销售活动,以达到企业的销售目标。销售职能、制造职能与财务职能三者是经营的三大职能。随着由卖主市场向买主市场的转移,它的内容在引起很大变化。卖主市场时代的销售是处于造什么卖什么的环境因而是生产产品向消费者推销的职能,可以说是由生产单方面往消费进行的一种形式。然而,买主市场时代的销售是以顾客为中心所开展的。已经在起着协助顾客进行购买活动的作用。商品销售经管系统是根据旧时商店的货品经管,财务经管的模式发展起来的,现在应用于很多商店,使商店经管货品,掌握销售信息更加高效。 商品销售经管系统的开发采用经管端\销售端的结构模式,包括后台数据库的建立和维护以及前端应用程序(经管端,销售端)的开发两个方面。对于前者要求建立起数据一致性和完整性强,安全性好的库。而对于后者则要求应用程序功能强劲,完善,易使用等特点。使用https://www.docsj.com/doc/5a1933254.html,做前端应用程序开发工具,利用面向对象的编程思想进行高效的开发,用SQL SERVER 2000进行后台数据库的创建和经管,利用ADO对象实现对后台数据库的连接,访问,修改以及写入等操作。并采用OLEDB连接数据库,提高了数据访问效率。 2、需求分析 2.1 需求分析 本文首先分析了商品销售经管系统的应用现状,阐述了本销售经管系统的开发目的。通过对数据库技术的现状与发展、数据库系统的选择原则、系统开发工具的选择一系列问题的分析确定了系统的开发平台。接着阐述了销售系统基本理论,并在此理论指导下,详细给出了销售经管系统分析到总体设计详细设计与实现及测试的各个环节,以及各个模块的功能,最后对本系统作出客观评价评价,指明了系统的现实意义。 2.2 关键字解释 (1)货品――是进货的代表词,进货到仓户的都是货品,商品就是由货品组成的。 (2)商品――准备销售的物品,商品就是由货品组成的。例如散装可乐是由杯子,盖子,吸管,水,二氧化碳。 目录 1、概述 1 2、需求分析2

超市商品管理信息系统数据库设计说明

二、需求分析: (一)主要目标 为了大大提高超市的运作效率,降低经营成本,提高效益,以及提升超市的管理水平。根据超市的需要,对其进行规化管理,因此需要一套合理的管理体系。 (二)功能分析 1、录入产品信息,并对其进行分类,能够对现有产品的信息进行维护、当产生了新产品后,能够录入新产品的信息; 2、能够输入员工、供应商的相关信息并能对其更新; 3、在收银处,随时录入商品出货信息(包括产品编号、出货单价、出货数量、员工编号等),及时更新数据库数据; 4、从供应商处进货后,及时录入产品进货信息(包括产品编号、进货单价、进货数量、供应商编号等); 5、录入产品原始库存,并能够根据产品进货、出货信息进行库存管理、更新; 6、可随时查询产品信息、出货信息、进货信息(如月出货报表),并可以打印输出; 7、能够根据出货、进货表中的数据自动计算出每种产品的当日库存,并能够实现当前库存查询; 8、在需要时生成商品库存情况报告,实时报告商品库存情况:库存量不足(小于某一自定的数量)时,可生成缺货报告,并提供商品种类,来源等信息,方便采购人员进行商品采购;库存量超额(大

于某一自定的数量)时,可生成超额库存报告,以便管理人员进行产品组合的协调; 9、商品出货达到一定数量时,可将此类商品信息及出货进货信息打印输出,能够提示畅销产品和滞销产品的种类,并提供商品的库存信息用于市场导购和商品采购指导。 (三)数据定义 图1.1 E-R图

(四)系统设计 1、商品管理:录入现有商品的相关信息,如生产日期、保质期、进货价格、出货价格等,并将其进行分类,以便查询、维护、更新; 2、进货管理:录入进货相关信息,并进行查询、更新,可打印输出; 3、出货管理:记录出货相关信息,并进行查询、更新,可打印输出; 4、库存管理:根据进货、出货信息自动计算库存量,并存储商品库存信息,且可以随时打印输出需要的产品库存信息; 5、员工信息管理:员工基本信息的创建、更新、查询; 6、供应商信息管理:供应商基本信息的创建、更新、查询。

超市管理系统可行性研究报告

可行性研究报告 (软件项目与开发) 学校:湖南安全技术职业学院 组名:计应1301班第一组 指导老师:杨莉 项目名称: 超市收银系统 组员:李妮肖伟林项浩然 组员:黄伟志唐振中

目录 1.引言....................................................... 错误!未指定书签。 1.1 编写目的............................................. 错误!未指定书签。 1.2 背景................................................. 错误!未指定书签。 1.3 定义................................................. 错误!未指定书签。 2.可行性研究的前提........................................... 错误!未指定书签。 2.1开展该工程的原因 ..................................... 错误!未指定书签。 2.2 目标................................................. 错误!未指定书签。 2.3 条件、假定和限制..................................... 错误!未指定书签。 2.4 进行可行性研究的方法................................. 错误!未指定书签。 2.5 评价尺度............................................. 错误!未指定书签。 3.对现有系统的分析........................................... 错误!未指定书签。 3.1 处理流程和数据流程................................... 错误!未指定书签。 3.2 工作负荷............................................. 错误!未指定书签。 3.3 人员................................................. 错误!未指定书签。 3.4 设备................................................. 错误!未指定书签。 3.5 局限性............................................... 错误!未指定书签。 4. 所建议的系统.............................................. 错误!未指定书签。 4.1 对所建议系统的说明................................... 错误!未指定书签。 4.2 处理流程和数据流程。................................. 错误!未指定书签。 4.3 改进之处............................................. 错误!未指定书签。 4.4 影响................................................. 错误!未指定书签。 5. 可选择的其他系统方案...................................... 错误!未指定书签。 5.1 修改方案与首选方案的不同............................. 错误!未指定书签。 5.2 本方案的概况......................................... 错误!未指定书签。 5.3 不选此方案的原因..................................... 错误!未指定书签。 6. 投资及效益分析............................................ 错误!未指定书签。 6.1 估算方案............................................. 错误!未指定书签。 6.2市场分析 ............................................. 错误!未指定书签。 7. 社会因素方面的可能性...................................... 错误!未指定书签。 7.1.法律方面的可行性..................................... 错误!未指定书签。 7.2.使用方面的可行性..................................... 错误!未指定书签。 8. 社会因素方面的可行性...................................... 错误!未指定书签。 8.1 技术................................................. 错误!未指定书签。 8.2 使用方面的可行性..................................... 错误!未指定书签。 9. 产品可检测性.............................................. 错误!未指定书签。 9.1 检测标准............................................. 错误!未指定书签。 9.2 检测的方法........................................... 错误!未指定书签。 10. 产品的可生产性........................................... 错误!未指定书签。 10.1 生产标准............................................ 错误!未指定书签。 10.1.1 质量标准.......................................... 错误!未指定书签。

超市商品管理系统的设计方案

超市商品管理系统的设计方案 1

目录 1引言 (1) 2系统分析 (3) 2.1需求分析 (3) 2.2可行性分析 (4) 2.3目标分析 (4) 2.4数据流程图 (5) 3系统设计 (6) 3.1系统功能设计 (6) 3.2系统数据库设计 (7) 4系统实现 (12) 4.1软件开发工具与运行环境 (12) 4.2系统功能模块的实现 (12) 4.3”A BOUT”窗口功能的实现 (18) 4.4系统主程序设置 (19) 5系统程序的编译、运行 (21) 2

6结束语 (22) 参考文献 (23) Abstract (24) 致谢 (25) 超市商品管理系统的设计与实现 摘要: 本文主要介绍超市商品管理系统的开发。超市商品管理系 统是在Windows平台下,以微软公司的Visual FoxPro6.0为工具开 发出来的系统,实现了超市各主要业务的计算机管理。该系统由商 品信息管理、商品信息查询、报表打印、系统设置、退出等功能 模块组成,本系统可按各种方式查询数据,打印和浏览商品价格、商 品说明、进货商品清单、出货商品清单、库存商品清单等,使商品 管理系统从纯手工中解脱出来,实现超市商品管理系统简单化、规 范化、合理化、科学化,其实用性强,用户界面友好。 3

关键词: 关系数据库;Visual Foxpro 6.0;进存销管理;E-R图;管理系统 1引言 社会生活的现代化,使得市场的走向发生巨大变化,同时,商品经济的高速现代化发展也促进了竞争,使一切不甘落后的商家都争先恐后地采用最新的管理方法来加强自己的竞争地位。因此,超市经营者如果不掌握当今市场发展的这一走向,不能将超市现代化经营作为努力开拓的目标,就无法使经营活跃、财源茂盛。现代化事业的发展,也使超市的管理手段发生前所未有的革命。计算机的运用现正在发达国家的各类商店、小型超市中普及。由于它能够准确记载和查阅有关超市经营活动的大量数据,帮助超市经营者掌握和分析营销情况,及时做出正确决策,而且有利于商店内部的进货、库存、销售等情况的管理,因而大大提高了现代超市的管理水平。当前,中国正处在从传统商店经营到现代超市经营的转变过程中,商店经营者要适应这场转变的需要和面对日趋激烈的商业竞争挑战,很有必要提高自己的管理水平,加强对超市现代化经营思想、方法与手段的认识,再加上当今世界计算机的飞速发展,计算机在企业管理中的应用及利用计算机实现企业商品管理势在必行。经过计算机对商品的完善管理,整个系统基本上实现了操作简便、界面良好、灵活、实用、安全等要求。在生产性单位,如工厂中,产品的进 4

C语言商店商品管理系统设计报告与源代码

目录 1 系统分析 (2) 1.1 课程设计内容 (2) 1.2 系统功能需求分析 (2) 1.3 数据结构设计 (3) 2 系统设计 (3) 2.1 总体设计 (3) 2.2 详细设计 (4) 2.2.1 界面设计 (4) 2.2.2 各功能模块的设计 (6) 3 系统编码设计 (9) 3.1 main函数 (9) 4 系统运行 (22) 5 总结 (26)

1 系统分析 1.1 课程设计内容 商场商品信息管理系统 1.2 系统功能需求分析 本系统应具有以下功能: 1、文件操作功能 文件操作:可建立、打开、保存、关闭数据文件。如果是新建的文件,可输入商品信息数据:数据包括商品编号、商品名、商品类别、商品数量、商品价格等。 2、数据输入功能 输入进货信息:输入商品编号、数量完成进货操作。 输入销售信息:输入商品编号、数量完成销售操作,注意当销售数量大于商品数量时,应出现错误提示。 3、数据添加、修改、删除功能 添加:添加一种或多种新商品,并能输入其商品信息。 修改:修改商品信息,可包括商品编号、名称、种类、数量和单价。 删除:删除一类或多类商品的所有信息。 4、计算功能 可通过查询商品信息功能,自动计算并输出需要进货的商品信息。 5、查询功能 可分别按商品编号、名称、类别和需要进货的商品进行查询。 6、排序功能 可分别按商品编号、名称、类别等进行排序。 7、数据显示功能 可分别浏览输入、查询和排序后的商品信息。

1.3 数据结构设计 struct goods /*商品结构体*/ { long int num; /*商品编号*/ char name[20]; /*商品名称*/ char sort[20]; /*商品类别*/ long int count; /*商品库存量*/ long int price; /*商品单价*/ }goods[200]; /*最多200个商品*/ 2 系统设计 2.1 总体设计 按系统分析的功能要求将系统划分为以下几个主要功能模块: 一、文件管理 ?文件打开、关闭:对于刚输入或进行操作后的商品信息,在建立新的商品库存量后,可以把其保存在一个文件中,并对该文件可进行打开和关闭操作。 二、进出货管理 ?商品进货: 输入数据后商品信息能自动更新进行添加 ?商品销售: 输入数据后商品信息能自动更新进行减少 三、商品数据管理 ?增加/删除商品: 添加或删除某条商品的信息 ?修改商品信息: 对某条商品的信息进行修改 四、浏览商品信息管理 ?查询商品信息:可分别按商品编号、名称、类别或需要进货商品查 询 ?排序商品信息: 可按商品编号、名称、类别分别排排序 ?浏览商品信息:可浏览输入、查询或排序后的数据。 (此处可用图形描述功能模块划分,类似下图)

相关文档
相关文档 最新文档