系统分析与设计实验报告

时间:2024.4.13

南京邮电大学

软件设计报告

题    目  书店进销存管理系统   

班    级      B101109          

姓    名  王惠  刘欢  许婷  杜菊

指导教师       徐润森          

职    称                        

成    绩                       

经济与管理学院

     书店进销存管理系统

一. 需求分析

1. 背景

随着计算机技术的不断发展, 它已经成为人们工作和生活中不可缺少的工具。早在1954年,银行、大公司和大企业纷纷采用计算机进行帐户和账目管理、生产管理、库存管理、销售管理、统计报表等。从数据的收集、存储、整理到检索统计,应用的范围日益扩大,使计算机的应用很快超过科学计算,成为最大的计算机应用领域。数据处理应用的不断扩大,推动了数据库管理系统、表处理软件、以及用于分析和预测等软件的发展。数据处理是现代化管理的基础。它不仅适用于处理日常的事务,且能支持科学的管理与决策。以一个企业为例,从市场预测,到经营决策、生产管理、财务管理、销售服务等,无不与数据处理有关。

众所周知,采购、销售、库存是企业经营的重要血脉,它们结合在一起,可以充分体现出企业的经营情况和效益。企业进销存管理系统能够有效的提高企业宏观控制和经营管理的质量,是企业现代管理的重要组成部分。而随着国家经济体制的优化改革,国内中小企业得到了迅猛蓬勃的发展。然而企业的发展壮大,客户数量的不断增多,财务工作繁琐,库存产品管理混乱等等之类的问题也接踵而来,给企业的运营者带来了很大的困扰。幸运的是,信息技术的飞速发展,科学经营管理观念的迅速传播,让这些问题得到了合理有效的解决。管理系统解决的了商业企业商品的采购、销售、库存、退货等一系列操作流程中的数据信息的处理问题,提供一系列的数据分析,进销存管理系统的全面应用,规范了企业业务流程、提高了企业的管理水平,提高资金流动的透明度,加快商品资金周转速度,进而全面提高了企业的经营水平、进而全面提升了企业的经济效益。

  而书店管理的特点是信息处理量比较大,所存的图书种类多,而且由于进

货单、销售单、需求单等单据发行量特别大,关联信息多,查询和统计的方式各不相同等原因,因此在管理上实现起来有一定困难。在管理的过程中经常会出现信息的重复传递,单据报表种类繁多,各个部门管理规格不统一等问题。

在本系统的设计过程中,为了克服这些困难,满足计算机管理的需要,我们采取了下面的一些原则:

1、统一各种原始单据的格式,统一账目和报表的格式。

2、删除不必要的管理冗余,实现管理规范化、科学化。

3、程序代码标准化,软件统一化,确保软件的可维护性和实用性。

4、界面尽量简单化,做到实用,方便, 尽量满足书店中不同层次员工的需要。

2、书店业务流程

通过采用系统流程图中部分图形工具来描述管理活动,进行规范化说明。业务流程图的符号说明如图所示:

 

1、           2、           3、             4、            

系统中人员    实体或单据     实物或信息流       处理     

                     业务流程图图

 

                         

                    

图4-2   文华书店进销存管理系统业务流程图

1.2数据流图(简称为DFD)

数据流图是组织中信息运动的抽象。从系统的科学性、管理的合理性、实际运动的可行性角度出发,将信息处理功能和彼此之间的联系。

 

                                                      

                                               

                图4-3  系统数据流程图

其中‘P’表示数据处理,‘F’表示数据流,‘D’表示数据存储。

2. 需求分析

此次阐述的进销存管理系统就是基于这种背景开发的,为了解决现代书店管理中存在的有关销售信息、采购信息、管理信息的问题,以及使书店运营者能够合理分配人力物力财力资源,特开发此系统以实现书店现代化、便捷化、科学化的管理,最大限度的减轻管理人员的工作,提供全面的服务。根据书店所存在的问题,该系统功能主要包括以下几个方面:实现图书入库、入库退货操作;实现图书销售记录添加、修改、查询、图书销售退货操作;实现库存盘点,查询,仓库管理操作;实现信息的查询功能。

二. 系统总体结构设计

1. 系统功能设计

系统功能结构图如下:

(1)图书采购管理模块:由书籍入库登记,书籍入库退货,书籍入库查询3部分构成。

(2)图书销售管理模块:由图书销售记录添加,查询销售记录,整体查询销售记录3部分构成。

(3)图书库存管理模块:由库存盘点,库存查询,仓库管理3部分构成。

2. 数据流图

三. 界面设计

1. 登陆页面

主页面与页面跳转部分代码如下:

Cmaindig::Cmaindig(CWnd* pParent /*=NULL*/)

       : CDialog(Cmaindig::IDD, pParent)

{

       //{{AFX_DATA_INIT(Cmaindig)

              // NOTE: the ClassWizard will add member initialization here

       //}}AFX_DATA_INIT

}

void Cmaindig::DoDataExchange(CDataExchange* pDX)

{

       CDialog::DoDataExchange(pDX);

       //{{AFX_DATA_MAP(Cmaindig)

              // NOTE: the ClassWizard will add DDX and DDV calls here

       //}}AFX_DATA_MAP

}

BEGIN_MESSAGE_MAP(Cmaindig, CDialog)

       //{{AFX_MSG_MAP(Cmaindig)

       ON_BN_CLICKED(IDC_BUTTON1, OnButton1)

       ON_BN_CLICKED(IDC_BUTTON2, OnButton2)

       ON_BN_CLICKED(IDC_BUTTON3, OnButton3)

       //}}AFX_MSG_MAP

END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////

// Cmaindig message handlers

void Cmaindig::OnButton1()

{

    // TODO: Add your control notification handler code here

    CBooktestDlg  sDlg;

    sDlg.DoModal();

   

}

void Cmaindig::OnButton2()

{

    // TODO: Add your control notification handler code here

    Csaledig sdlg;

    sdlg.DoModal();

}

void Cmaindig::OnButton3()

{

    // TODO: Add your control notification handler code here

    Cstoredig  sdig;

    sdig.DoModal();

   

}

2. 进入库存页面——进行有条件或者无条件查询,添加记录等操作

3. 进入采购页面——进行订单查询,数据录入等操作

4. 进入销售页面——进行查询及数据录入等操作

四. 数据库设计

1. 库存表sourcingtable

2. 销售表saletable

3. 库存表storetable

五. 系统测试说明

1. 总体查询

总体无条件代码如下:

void CBooktestDlg::OnButton1()

{

    // TODO: Add your control notification handler code here

    UpdateData(true);

      m_pRecordSet.CreateInstance("ADODB.Recordset");

    m_pRecordSet->CursorLocation= adUseClient;

     CString cmdStr;

    /*cmdStr="select * from sourcingTbl where bookname='";

    cmdStr+=m_bookname;

    cmdStr+=_T("'");

     */

   cmdStr="select * from sourcingtable ";

   try

{

m_pRecordSet->Open(_variant_t(cmdStr),_variant_t((IDispatch *)pConnection,true),adOpenKeyset,

   adLockOptimistic, adCmdUnknown);

}

catch (CException e)

{

CString emsg;

e.GetErrorMessage((LPTSTR)&emsg,1);

AfxMessageBox(emsg);

}

m_dataGrid.SetRefDataSource(NULL);

m_dataGrid.SetRefDataSource((LPUNKNOWN)m_pRecordSet);

m_dataGrid.Refresh();

 CoUninitialize();           

//现在DataGrid控件便具有添加、删除、修改数据的功能了。

   

}

2. 库存表按姓名查询

有条件查询部分代码如下:

void CBooktestDlg::OnButton2()

{

    // TODO: Add your control notification handler code here

    UpdateData(true);

 m_pRecordSet.CreateInstance("ADODB.Recordset");

m_pRecordSet->CursorLocation= adUseClient;

CString cmdStr;

cmdStr="select * from sourcingtable where people='";

cmdStr+=m_people;

cmdStr+=_T("'or bookname='");

cmdStr+=m_bookname;

cmdStr+=_T("'");

try

{

m_pRecordSet->Open(_variant_t(cmdStr),_variant_t((IDispatch *)pConnection,true),adOpenKeyset,

   adLockOptimistic, adCmdUnknown);

}

catch (CException e)

{

CString emsg;

e.GetErrorMessage((LPTSTR)&emsg,1);

AfxMessageBox(emsg);

return ;

}

m_dataGrid.SetRefDataSource(NULL);

m_dataGrid.SetRefDataSource((LPUNKNOWN)m_pRecordSet);

m_dataGrid.Refresh();

 CoUninitialize();           

//现在DataGrid控件便具有添加、删除、修改数据的功能了。

   

}

3. 采购表按订单查询

4 采购订单增加,库存记录增加

记录添加代码如下:

void Csaledig::OnButton2()

{

    // TODO: Add your control notification handler code here

UpdateData(true);

 m_pRecordSet.CreateInstance("ADODB.Recordset");

m_pRecordSet->CursorLocation= adUseClient;

CString cmdStr;

/*cmdStr="select * from sourcingTbl where bookname='";

cmdStr+=m_bookname;

cmdStr+=_T("'");*/

        cmdStr=" insert into  sourcingtable (sourcingid, bookname,people,publisher,bookid,price,booknum) values('";

           cmdStr+=m_sourcingid1;

           cmdStr+=_T("','");

            

           cmdStr+=m_bookname1;

     

           cmdStr+=_T("','");

       

         cmdStr+=m_people;

      

           cmdStr+=_T("','");

       

         cmdStr+=m_publisher;

       

           cmdStr+=_T("','");

         

         cmdStr+=m_bookid;

       

           cmdStr+=_T("','");

        cmdStr+=m_price;

        cmdStr+=_T("','");

        cmdStr+=m_booknum;

        cmdStr+=_T("')");

        CString  cmdStr1;

           cmdStr1="select * from sourcingtable";

try

{

m_pRecordSet->Open(_variant_t(cmdStr),_variant_t((IDispatch *)pConnection,true),adOpenKeyset,

   adLockOptimistic, adCmdUnknown);

}

catch (CException e)

{

CString emsg;

e.GetErrorMessage((LPTSTR)&emsg,1);

AfxMessageBox(emsg);

//return false;

}

try

{

m_pRecordSet->Open(_variant_t(cmdStr1),_variant_t((IDispatch *)pConnection,true),adOpenKeyset,

   adLockOptimistic, adCmdUnknown);

}

catch (CException e)

{

CString emsg;

e.GetErrorMessage((LPTSTR)&emsg,1);

AfxMessageBox(emsg);

//return false;

}

m_dataGrid1.SetRefDataSource(NULL);

m_dataGrid1.SetRefDataSource((LPUNKNOWN)m_pRecordSet);

m_dataGrid1.Refresh();

 CoUninitialize();           

 //现在DataGrid控件便具有添加、删除、修改数据的功能了。

       }

六. 开发平台选择

该书店进销存系统的开发采用的是Microsoft Visual C++ 6.0,是由美国微软公司推出的可视化程序开发软件,由于其使用方便、硬件要求不高、易学等特点,它还提供强有力的应用程序开发工具,为将来的维护提供必要的基础。系统的操作对人员的素质的要求不高,只需稍加培训便能胜任;数据库采用的是Microsoft SQL Server,SQL Server 20## 是Microsoft 公司推出的SQL Server 数据库管理系统,该版本继承了SQL Server 7.0 版本的优点,同时又比它增加了许多更先进的功能。具有使用方便可伸缩性好与相关软件集成程度高等优点,主要负责数据的录入、编辑与处理,为相关工作人员在处理既庞大又多样化数据时减轻压力,既可以节省时间又可以提高工作效率,是数据处理之佳选。

七.软件设计心得体会

  通过两周的软件设计实习,我得到了很大的收获,在这两周的时间里,我认认真真的且竭尽全力的努力完成了老师规定的任务,即建立一个书店的进销存管理系统。

首先,在这次的实践中,我较为深入的了解了管理信息系统在现代人们生活中不可或缺的重要地位,随着计算机技术的飞速发展,Internet的推广和普及,计算机代替手工作业在企业、商业的各个领域都得到大量的应用。不管在书店还是在其他的商店,都存在进销存管理以及其他方面管理难的问题,而现在绝大多数的管理还处于手工作业状态,效率很低,而且容易出错,不便于管理。因此,一个可行的信息管理系统可以为商业运营带来极大的帮助。

其次,我基本掌握了在Microsoft Visual C++ 6.0环境中建立工程的方法,学会了如何建立各种对话框,调整对话框的大小,在对话框中建立按钮,设计对话框的界面。同时还学会了在VC中如何用ADO和DataGrid控件显示和更新数据库中的数据,掌握了在DataGrid控件中编写有关代码,以实现控件的添加、查询,修改数据的功能。并且还熟悉了Microsoft

SQL Server软件的应用平台,学会了如何建立数据库,建立表文件。总体上,在开发系统的过程中,掌握系统开发的整个流程,较为深入的接触了一个完整系统开发的各个步骤。

    最后,系统在开发的过程中,遇到过很多问题,然而在朱恒明老师和同学们不厌其烦的悉心指导与帮助下,使我较为顺利的完成了小型书店管理系统的开发与设计,在此深表感谢。此次软件设计实践虽然较为圆满的完成了,但是在界面的设计和系统的功能上仍然存在一些不够完善的地方,如界面设计太过简单,颜色单调,框架布置呆板没有特色,各个对话框界面基本设置相同,整体感觉不够灵活美观。在功能上,由于各种原因,部分数据的动态流动功能没有实现,控件功能太过简单重复等等还需改进。在以后的日子里,我将更加努力的学习相关的软件设计的知识,并积极的将理论应用于实践,学以致用,弥补此次设计中由于有关知识欠缺所造成的不完美,避免再次遇到在此次试验中所遇到的问题,争取以后能够开发出一个完美而又实用的管理系统。

更多相关推荐:
太原理工大学系统分析与设计实验报告

课程名称实验项目实验地点专业班级学生姓名指导教师本科实验报告系统分析与设计ATM自动取款机系统实验逸夫楼402学号1一实验目的通过系统分析与设计实验使学生在实际的案例中完成系统分析与系统设计中的主要步骤并熟悉信...

图书馆-信息系统分析及设计实验报告

图书馆图书管理信息系统设计报告姓名班级学号指导老师报告日期一开发背景本系统是为了方便用户对图书的管理开发的要求系统界面友好使用简单提供对图书信息读者信息和图书流通情况的编辑查询统计报表等全面的数据管理功能同时使...

供求信息网网站系统分析与设计报告实验报告

北京服装学院商学院上机实验报告实验名称学生姓名班级学号指导教师实验日期大众供求信息网的设计与开发基于BS架构的管理信息系统的设计与开发分析报告大众供求信息网的设计与开发一网站的系统规划和系统分析1网站概述供求信...

系统分析实验报告示例

系统分析实验报告示例,内容附图。

电子商务系统分析与设计实验报告

湖北工程学院实验报告书实验课程名称电子商务系统分析与设计开课专业电子商务指导教师姓名周寅学生姓名温馨学生班级120xx4120xx学年20xx学年第2学期12345678910111213

信息系统分析与设计实验报告2

武汉纺织大学信息系统分析与设计实验报告班级姓名学号1指导教师张星实验学时3学时实验二基于visio20xx的业务流程建模一实验目的掌握Visio20xx软件的具体操作练习业务流程等图表的计算机辅助生成二实验内容...

信息系统分析与设计小型超市销售管理系统课程设计报告

信息系统分析与设计课程设计报告题目小型超市销售管理系统专业信息管理与信息系统班级学号姓名某某指导老师郭树蕻20xx年11月24日目录摘要31系统分析411可行性分析4111经济可行性4112技术性可行性4113...

信息系统分析实验报告1

武汉纺织大学信息系统分析与设计实验报告班级姓名学号指导教师张星实验学时3学时实验一基于visio20xx的组织结构图绘制一实验目的熟悉Visio20xx软件的功能界面掌握Visio20xx软件的具体操作练习组织...

信息系统分析实验报告2

武汉纺织大学信息系统分析与设计实验报告班级姓名学号指导教师张星实验学时3学时实验二基于visio20xx的业务流程建模一实验目的掌握Visio20xx软件的具体操作练习业务流程等图表的计算机辅助生成二实验内容V...

实验2 电子商务系统分析与设计-实验报告模板

课程实验报告XXX电子商务系统分析与设计1简介通过简短的篇幅说明本项目的来由和约束让读者可在短时间内把本项目的大致情况11背景简要说明项目的来由12定义缩略语列出文档中出现的术语并给出解释术语包括业务术语缩写词...

系统分析实验报告-20xx

课程名称实验项目实验地点专业班级学生姓名指导教师本科实验报告系统分析与设计网上书店系统实验学号20xx年11月日目录1实验准备熟悉UML建模环境2实验一用例图3实验二类图4实验三顺序图及通信图5实验四活动图状态...

系统分析实验报告

1系统分析与设计课内实验报告系统分析与设计实验报告题目教务管理系统班级姓名指导教师职称讲师成绩经济与管理学院20xx年6月10日12系统分析与设计课内实验报告南京邮电大学指导教师成绩评定表21系统分析与设计课内...

系统分析与设计实验报告(21篇)