商品库存管理系统word版本.docx
- 文档编号:24307617
- 上传时间:2023-05-26
- 格式:DOCX
- 页数:22
- 大小:308.61KB
商品库存管理系统word版本.docx
《商品库存管理系统word版本.docx》由会员分享,可在线阅读,更多相关《商品库存管理系统word版本.docx(22页珍藏版)》请在冰豆网上搜索。
商品库存管理系统word版本
《软件项目开发综合实践》大作业
题目:
商品库存管理系统
专业:
09计算机应用技术
作者:
指导教师:
黄钢
第1章:
系统的可行性分析
1.1商品库存管理系统的主要任务
商品库存管理系统是对商品库存进行整理,使得能方便快捷地对人事档案进行查询、统计、更新并且能按一定要求输出报表。
通过该系统、使企业的商品库存管理工作系统化、规范化、自动化,从而提高企业人事管理的效率。
1.2可行性分析
(1)技术可行性
随着国内软件开发的日益发展壮大,各种中小企事业单位已具备独立开发各种类型的软件的能力,能够满足不同行业的特别的需求。
而这个系统尽管其在组织关系上存在着很大的复杂性,繁琐性,但是就整个系统的技术构成上来看,它还是属于一个数据库应用类的系统。
其基本操作还是对存在数据库进行浏览、添加、删除、修改等。
所以就单纯的数据库应用来看,暂不存在太大的技术问题。
(2)经济可行性
对于整个系统而言,在系统未运行之前,初期投资比较大,花费相对而言比较多。
各部门必须配置电脑、服务器、打印机、传真机及相关的网络设备,但是在整个系统投入运行之后,因为现在计算机已经普及了,相关的人员培训费可以减少很多。
而同时又减少了数据的流通环节,不必要花费那么多的时间,也就是说最重要的是就是提高了效率,而又保证了各项数据的准确性,也避免了工作人员的流动造成的收据丢失等问题,适应了当前的发展形式。
(3)管理可行性
随着时代的发展,人员素质己逐步提高,不论是对于电脑系统的基本操作还是对于系统的维护都有了一定的基础。
同时还可以配置专业的电脑维护人员来维护电脑,不必担心电脑故障问题。
(4)开发环境可行性
VisualC++为用户提供了ODBC(OpenDatabaseConnec2tivity,开放式数据库连接)、DAO(DataAccessObject,数据访问对象)和OLEDB(OLEDataBase,OLE数据库)三种数据库访问技术,它们都具有简单、灵活、访问速度快、可扩展性强的特点,这些正是VisualC6较其它开发工具所具有的优势。
ODBC是一种使用SQL的程序设计接口,它使得编写应用程序避免了与数据源相联的复杂过程。
第2章:
需求分析
2.1系统的需求分析
伴随着计算机的发展及网络技术的应用,我们正在快速地向信息化社会迈进,信息自动化的作用变得越来越大。
在仓库管理领域中,仓库管理的规模正在不断扩大,仓库管理的复杂度正在急剧地增加,有关仓库管理的各种信息量也成倍地增长。
面对庞大的信息量,就需要有商品库存管理系统来提高库存管理工作的效率。
通过这样的系统,可以方便的查询、添加和修改商品及供货商的基本情况,掌握入库出库的各种情况,实现信息的规范管理、科学统计和快速查询,从而减少管理方面的工作量,同时避免由于人为因素造成数据遗漏和误报等。
商品库存管理系统的功能要求如下:
提供仓库各类信息的浏览、添加、删除、修改等操作。
可以进行入库出库操作,并保证安全性。
可进行日志管理,方便事后查看。
系统其他的相关功能。
2.2系统功能
本系统主要模块有4个:
商品信息管理、商家管理、入库信息管理、出库管理。
其他模块如预警模块和日志管理都是为了增强系统的安全性和扩展功能而设计的。
下面分别对这4个模块进行介绍(系统的整体设计如图1.1所示)。
2.2.1商品管理模块
仓库管理模块通过此模块来管理商品信息,包括浏览、查询、添加、修改和删除功能。
在进行商品信息的添加时,系统会自动检测所添加的商品信息中的商品号在商品表中是否已经存在,如果存在,会提示用户该商品已经存在。
在进行商品信息的删除时,要首先弹出提示窗口让用户确认是否删除,只有用户确认后才能进行商品信息的删除。
在进行商品信息的修改时,不准用户修改商品号,因为商品号作为数据库中商品表的主键是不同商品的唯一标识,不准修改商品号可以防止不经意将商品号改错;如果确实要修改商品号,可以通过数据库管理员来实现,也可以先将错误商品号信息删除再添加正确的商品信息,这样在删除时会弹出提示窗口,让用户确认是否删除,给用户以提示,防止意外错误。
图1.1系统整体设计
2.2.2商家管理模块
仓库管理员通过此模块来管理商家信息,包括浏览、查询、添加、修改和删除功能。
在进行商家信息的添加时,系统会自动检测所添加的商家信息的商家号在商家表中是否已经存在,如果存在,会提示用户该商家在商家表中已经存在。
在进行商家信息的删除时,要首先弹出提示窗口让用户确认是否删除,只有用户确认后才能进行商家信息的删除。
在进行商家信息的修改时,不准用户修改商家号。
2.2.3入库管理模块
仓库管理员通过此模块来管理入库信息,包括浏览、查询、添加、修改和删除功能。
在进行入库信息的添加时,系统会自动检测所添加的入库信息中的商品号在商品表里是否存在,商家号在商家表中是否存在,只要有一个不存在,就会提示用户输入有误;同时检验所添加的商品号和商家号的组合在入库表中同一时间是否已经存在,如果存在,会提示用户该入库信息在入库表中已经存在。
2.2.4出库管理模块
仓库管理员通过此模块来进行出库操作。
选择相应的商品,系统自动显示被选择商品的数量。
若出库数量大于当前商品数量,则操作不能完成。
第3章:
设计过程
3.1商品库存管理系统用例图
商品库存管理系统用例图如图3.1所示。
图3.1商品库存管理系统用例图
3.2数据库操纵
E-R图:
图3.2商品信息
图3.3供货商信息
图3.4入库信息
图3.5出库信息
图3.6日志信息
图3.7管理员信息
引入数据库链接代码如下:
#import"C:
\programfiles\commonfiles\System\ado\msado15.dll"no_namespace\
rename("EOF","adoEOF")\
rename("LockTypeEnum","newLockTypeEnum")\
rename("DataTypeEnum","newDataTypeEnum")\
rename("FieldAttributeEnum","newFieldAttributeEnum")\
rename("EditModeEnum","newEditModeEnum")\
rename("RecordStatusEnum","newRecordStatusEnum")\
rename("ParameterDirectionEnum","newParameterDirectionEnum")
classCGMSApp:
publicCWinApp
{
public:
CGMSApp();
public:
_RecordsetPtrm_pRs;
boolADOExecute(_RecordsetPtr&ADOSet,_variant_t&strSQL);
CLogManagerm_log;
//Overrides
//ClassWizardgeneratedvirtualfunctionoverrides
//{{AFX_VIRTUAL(CGMSApp)
public:
virtualBOOLInitInstance();
//}}AFX_VIRTUAL
//Implementation
//{{AFX_MSG(CGMSApp)
//NOTE-theClassWizardwilladdandremovememberfunctionshere.
//DONOTEDITwhatyouseeintheseblocksofgeneratedcode!
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
private:
//DefineADODatabaseConnnection
_ConnectionPtrm_pConn;
};
BOOLCGMSApp:
:
InitInstance()
{
AfxEnableControlContainer();
//Standardinitialization
//Ifyouarenotusingthesefeaturesandwishtoreducethesize
//ofyourfinalexecutable,youshouldremovefromthefollowing
//thespecificinitializationroutinesyoudonotneed.
#ifdef_AFXDLL
Enable3dControls();//CallthiswhenusingMFCinasharedDLL
#else
Enable3dControlsStatic();//CallthiswhenlinkingtoMFCstatically
#endif
//CreateADOConnection
if(FAILED(:
:
CoInitialize(NULL)))
{
AfxMessageBox("ADOInitfailed");
returnfalse;
}
try
{
m_pConn.CreateInstance(__uuidof(Connection));
m_pConn->Open("Provider=Microsoft.Jet.OLEDB.4.0;DataSource=GMS.mdb","","",adConnectUnspecified);
}
//CatchExceptions
catch(_com_error&e)
{
CStringerr;
err.Format("%s",(char*)(e.Description()));
AfxMessageBox(err);
}
catch(...)
{
AfxMessageBox("UnknownError...");
}
//InitADORecordSet
m_pRs.CreateInstance(__uuidof(Recordset));
CGMSDlgdlg;
m_pMainWnd=&dlg;
intnResponse=dlg.DoModal();
if(nResponse==IDOK)
{
//TODO:
Placecodeheretohandlewhenthedialogis
//dismissedwithOK
}
elseif(nResponse==IDCANCEL)
{
//TODO:
Placecodeheretohandlewhenthedialogis
//dismissedwithCancel
}
//Sincethedialoghasbeenclosed,returnFALSEsothatweexitthe
//application,ratherthanstarttheapplication'smessagepump.
returnFALSE;
}
boolCGMSApp:
:
ADOExecute(_RecordsetPtr&ADOSet,_variant_t&strSQL)
{
if(ADOSet->State==adStateOpen)
ADOSet->Close();
try
{
ADOSet->Open(strSQL,m_pConn.GetInterfacePtr(),adOpenStatic,adLockOptimistic,adCmdUnknown);
returntrue;
}
catch(_com_error&e)
{
CStringerr;
err.Format("ADOError:
%s",(char*)e.Description());
AfxMessageBox(err);
returnfalse;
}
}
数据库表如图3.8,图3.9,图3.10,图3.11,图3.12,图3.13,图3.14所示。
图3.8数据库
图3.9管理员信息
图3.10商品信息
图3.11入库信息
图3.12日志表
图3.13出库信息
图3.14供货商信息
3.3登录对话框
3.3.1删除无关控件
在主对话框IDD_GMS_DIALOG中将提示文本“TODO:
在这里设置对话控制”删除。
同时,把两个命令按钮“确定”和“取消”删除。
3.3.2制作登录封面
登录封面的主要作用有:
说明系统名称、版权;修饰应用程序。
如图3.15所示。
图3.15系统封面位图
3.3.3界面设计
设计界面如图3.16所示。
图3.16登录对话框设计界面
3.3.4编写代码
“确定”按钮:
voidCGMSDlg:
:
OnButtonOk()
{
CStringstrSql;
_variant_tstrQuery;
UpdateData(TRUE);
if(m_strName.IsEmpty())/*判断用户名信息是否为空*/
{
AfxMessageBox("请输入用户名!
");
return;
}
strQuery="SELECT*FROMadminWHEREAdmin_name='"+m_strName+"'ANDAdmin_passwd='"+m_strPasswd+"'";
theApp.ADOExecute(theApp.m_pRs,strQuery);
intiCount=theApp.m_pRs->GetRecordCount();
if(0==iCount)
{
AfxMessageBox("用户名或密码错误!
");
m_strName="";
m_strPasswd="";
UpdateData(false);
}
else
{
strAdminName=m_strName;
:
:
Sleep(300);
OnOK();
CMainDlgdlg;
dlg.DoModal();
}
}
“取消”按钮
voidCGMSDlg:
:
OnButtonCancle()
{
OnCancle();
//TODO:
Addyourcontrolnotificationhandlercodehere
}
3.3.5主界面的实现
界面设计
设计界面如图3.17所示。
图3.17主界面设计
代码编写:
voidCMainDlg:
:
OnButtonGoodsadd()
{
CGoodsDlgdlg;
this->ShowWindow(SW_HIDE);
dlg.DoModal();
this->ShowWindow(SW_SHOW);
//TODO:
Addyourcontrolnotificationhandlercodehere
}
voidCMainDlg:
:
OnButtonProvideradd()
{
CProviderDlgdlg;
this->ShowWindow(SW_HIDE);
dlg.DoModal();
this->ShowWindow(SW_SHOW);
//TODO:
Addyourcontrolnotificationhandlercodehere
}
voidCMainDlg:
:
OnButtonGoodsin()
{
CInDlgdlg;
this->ShowWindow(SW_HIDE);
dlg.DoModal();
this->ShowWindow(SW_SHOW);
//TODO:
Addyourcontrolnotificationhandlercodehere
}
voidCMainDlg:
:
OnButtonGoodsout()
{
COutDlgdlg;
this->ShowWindow(SW_HIDE);
dlg.DoModal();
this->ShowWindow(SW_SHOW);
//TODO:
Addyourcontrolnotificationhandlercodehere
}
voidCMainDlg:
:
OnButtonGoods()
{
CViewDlgdlg;
this->ShowWindow(SW_HIDE);
dlg.Init
(1);
dlg.DoModal();
this->ShowWindow(SW_SHOW);
//TODO:
Addyourcontrolnotificationhandlercodehere
}
voidCMainDlg:
:
OnButtonProvider()
{
CViewDlgdlg;
this->ShowWindow(SW_HIDE);
dlg.Init
(2);
dlg.DoModal();
this->ShowWindow(SW_SHOW);
//TODO:
Addyourcontrolnotificationhandlercodehere
}
voidCMainDlg:
:
OnButtonIn()
{
CViewDlgdlg;
this->ShowWindow(SW_HIDE);
dlg.Init(3);
dlg.DoModal();
this->ShowWindow(SW_SHOW);
//TODO:
Addyourcontrolnotificationhandlercodehere
}
voidCMainDlg:
:
OnButtonOut()
{
CViewDlgdlg;
this->ShowWindow(SW_HIDE);
dlg.Init(3);
dlg.DoModal();
this->ShowWindow(SW_SHOW);
//TODO:
Addyourcontrolnotificationhandlercodehere
}
voidCMainDlg:
:
OnButtonAlert()
{
CAlertDlgdlg;
dlg.DoModal();
//TODO:
Addyourcontrolnotificationhandlercodehere
}
voidCMainDlg:
:
OnButtonAdmin()
{
CPasswdDlgdlg;
dlg.DoModal();
//TODO:
Addyourcontrolnotificationhandlercodehere
}
voidCMainDlg:
:
OnButtonLog()
{
CViewDlgdlg;
this->ShowWindow(SW_HIDE);
dlg.Init(5);
dlg.DoModal();
this->ShowWindow(SW_SHOW);
//TODO:
Addyourcontrolnotificationhandlercodehere
}
voidCMainDlg:
:
OnButtonHelp()
{
WinExec("notepad.exeGPS.HEP",SW_SHOW);
//TODO:
Addyourcontrolnotificationhandlercodehere
}
voidCMainDlg:
:
OnButtonAbout()
{
CAboutDlgdlg;
dlg.DoModal();
//TODO:
Addyourcontrolnotificationhandlercodehere
}
voidCMainDlg:
:
OnButtonExit()
{
OnOK();
//TODO:
Addyourcontrolnotificationhandlercodehere
}
第4章:
系统总结
商品库存管理系统是现代化企业管理工作不可或缺的一部分,是推动企业走向信息化、规范化的必要条件。
一家企业的商品越多、种类越多、联系越紧密,所需要做的统计工作就越多,库存管理的工作难度就会越大。
随着企业的发展不断壮大,使用自动化的商品库存管理系统就显得势在必行。
本系统主要实现以下功能:
1、操作简单方便、界面简洁美观。
2、在查看商品信息时,可以对当前的商品库存情况进行浏览、查询、修改、删除的操作。
3、方便快捷的全方位数据查询。
4、按照指定的条件对商品进行统计。
5、由于该系统的使用对象较多,要有较好的权限管理。
6、能够在当前运行的系统中重新进行登录。
7、系统运行稳定、安全可靠。
在这次的大作业里,我学到了很多关于数据库和VisualC++的知识,在原来的基础上对这些系统的组成和运行有了新的理解。
成功秘诀:
好市口+个性经营
综上所述,DIY手工艺品市场致所以受到认可、欢迎的原因就在于此。
我们认为:
这一市场的消费需求的容量是极大的,具有很大的发展潜力,我们的这一创业项目具有成功的前提。
图1-3大学生偏爱的手工艺品种类分布
民族性手工艺品。
在饰品店里,墙上挂满了各式各样的小饰品,有最普通的玉制项链、珍珠手链,也有特别一点如景泰蓝的手机挂坠、中国结的耳坠,甚至还有具有浓郁的异域风情的藏族饰品。
开了连锁店,最大的好处是让别人记住你。
“漂亮女生”一律采用湖蓝底色的装修风格,简洁、时尚、醒目。
“品牌效应”是商家梦寐以求的制胜法宝。
根本不知道□
二、资料网址:
世界上的每一个国家和民族都有自己的饰品文化,将这些饰品汇集到一起再进行新的组合,便可以无穷繁衍下去,满足每一个人不同的个性需求。
1、现代文化对大学生饰品消费的影响
beadorks公司成功地创造了这样一种气氛:
商店和顾客不再是单纯的买卖关系,营业员只是起着参谋的作用,顾客成为商品或者说是作品的作参与者,营业员和顾客互相交流切磋,成为一个共同的创作体
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 商品 库存 管理 系统 word 版本