《面向对象技术》课程设计报告
目录
1 绪论 1
1.1 问题描述 1
1.2 课题背景 1
1.3 研究目的 1
1.4 课题研究的意义 2
1.5 章节安排 2
2 系统分析 3
2.1 需求分析 3
2.2 可行性分析 3
2.2.1 技术可行性 3
2.2.2 经济可行性 3
2.2.3 社会可行性 3
2.3 系统开发工具 4
2.3.1 Visual Studio.NET平台简介 4
2.3.2 C#语言简介 5
2.3.3 SQL Server 2008简介 6
2.4 管理信息系统逻辑模型设计 7
2.4.1 数据流程图 7
2.4.2 数据字典 9
3 系统设计与实现 11
3.1 项目规划 11
3.2 设计目标 11
3.3 开发及运行环境 12
3.4 数据库设计 12
3.4.1 数据表概要说明 12
3.4.2 数据库E-R图分析 12
3.4.3 主要数据表的结构 13
3.5 系统的主要功能模块设计 15
3.5.1 系统登录设计 15
3.5.2 系统主窗体设计 17
3.5.3 基本档案管理窗体设计 22
3.5.4 进货管理窗体设计 22
3.5.5 销售管理窗体设计 22
3.5.6库存管理窗体设计 23
3.5.7数据备份还原管理窗体设计 24
3.6 系统的(硬件)系统结构与处理方式设计 29
3.6.1 系统处理方式 29
3.6.2 系统硬件配置 29
3.6.3软件配置 29
3.7 系统的处理与流程分析 29
3.7.1 系统业务流程分析 29
4 总结 30
参考文献 31
摘要
随着科学技术的进步,计算机应用的高速发展,大大提高了人们的工作效率。计算机信息处理技术的普及已彻底改变了许多公司的经营管理,甚至一些个体店主也开始运用计算机来控制进货、销售、记账以及其他活动。销售管理系统是企业管理机制中的重要组成部分,通过对企业销售管理系统的销售管理机制进行调查研究,开发了本销售管理系统。系统中解决了企业管理事务中的进货、销售、存货等情况的问题以及相关统计工作。本系统中包含六个功能模块:系统管理、人员管理、后台管理、前台销售、报表统计和帮助。
关键词:超市;管理信息系统;数据库技术;进销存。
1 绪论1.1 问题描述
随着超市规模的发展不断扩大,商品数量急剧增加,有关商品的各种信息量也成倍增长。超市时时刻刻都需要对商品各种信息进行统计分析。而大型的超市进销存管理系统功能过于强大而造成操作繁琐降低了小超市的工作效率。
作为国内市场的一些中小型超市,它们在信息化过程中的步伐要落后于大型超市,而对于这些企业的资源管理,信息的存储和处理也显得迫切需要,要适应市场竞争,就需要有高效的处理方式和管理方法。
1.2 课题背景
目前,大量的中小超市企业中,存在这样的现象:分散的、不连贯的进销存信息使超市管理者或相关管理人员无法看到进销存的全部资料及相关报表,信息的分散使得产生的结果也无法保持一致和完整性,造成中小型超市在进销存管理上存在许多问题,比如:无法统计销售信息,无法准确全面掌握各业务进展状态,对销售人员工作过程掌握不够,业务人员对产品没有一定认识,对市场信息、竞争的资讯掌握程度较不完善等等。加之,现在顾客的期望值越来越高,顾客需要更好的服务。企业的竞争已逐渐从产品的竞争转变为服务的竞争,因此中小企业要发展就必须需要进一步优化业务流程以提高企业竞争能力。因此,加强超市进销存管理是企业发展的必然,通过计算机来大量完成本来由工作人员手工完成的工作, 真正达到合理和充分利用现有资源,减轻工作压力。
1.3 研究目的
设计超市进销存管理系统的目的:用最简单的操作完成最繁琐的细节,从繁重的脑力劳动脱离出来,由软件统一管理。进销存的管理,使人一目了然。
(1)大大提高超市的运作效率。
(2)通过全面的信息采集和处理,辅助提高超市的决策水平。
(3)使用本系统,可以迅速提升超市的管理水平,为降低经营成本,提高效益,增强超市扩张能力,提供有效的技术保障。
1.4 课题研究的意义
超市的竞争也进入到了一个全新的领域,竞争已不再是规模的竞争,而是技术的竞争、管理的竞争。技术的提升和管理的升级是超市的竞争核心。零售领域目前呈多元发展趋势,多种业态:超市、仓储店、便利店、特许加盟店、专卖店、货仓等相互并存。如何在激烈的竞争中扩大销售额、降低经营成本、扩大经营规模,成为超市努力追求的目标。超市是当前最为流行的市场模式,所以与之相关的管理和配置的需求与要求都大大提高了。当今社会,超市已成为社会不可缺少的一部分,不论大中小城市,都存在或大或小或多或少的超市。对于一个稍有规模的超市,都需要一个超市管理系统,进行规范化管理。因此超市管理系统的开发,显得十分有必要。超市规模的发展和不断扩大,商品数量急剧增加有关商品的各种信息量也成倍增长。超市在时时刻刻都需要对商品各种信息进行统计分析,如每天的报表、月报表、年报表管理等。根据大量的调查和研究主要着眼于该系统的分析与设计,开发出一个高效、可靠、易于维护,同时又能尽量满足用户业务需求的系统。能及时、准确反映超市经济活动状态,成为超市内各级管理人员的有力工具,支持他们进行科学化经营管理,使企业获得良好的经济效益和社会效益。
1.5 章节安排
第一章:问题描述、课题背景、研究目的、课题研究意义、章节安排。
第二章:需求分析、可行性分析、开发工具选择、开发及运行环境、管理信息系统逻辑模型设计。
第三章:项目规划、设计目标、开发及运行环境、开发工具选择、数据库设计、系统的主要功能模块设计、系统的(硬件)系统结构与处理方式设计、系统的处理流程设计。
第四章:结论、参考文献。
2 系统分析
进销存管理是企业日常经营管理中十分重要的一个组成部分,传统的手工管理方式呈现出越来越多的弊端。在手工管理模式下,统计,汇总处理时的工作量极其繁重,处理效率非常低,领导也无法及时了解企业资金占用的实际状况。通过报表管理,企业可以直观分析企业的进销存情况,提高企业的竞争能力。
2.1 需求分析
超市进销存系统必须提供顾客信息、厂家信息、采购信息、销售信息、库存信息和财务信息的基础设计:提供强大的精确查找和模糊查找信息的功能,可以分不同权限、不同用户对该系统进行操作。另外,该系统还必须保证数据的安全性、完整性和准确性。 超市进销存管理系统的目标是实现超市信息化管理,减少盲目采购、降低采购成本、合理控制库存、减少资金占用并提升超市综合竞争力。时间就是金钱,效率就是生命。超市进销存管理系统能够为超市节省大量人力资源,减少管理费用,从而间接为超市节约成本,提高超市效率。
2.2 可行性分析2.2.1 技术可行性
该超市进销存系统运用的开发工具有:编程工具visual studio 2008,数据库SQL Server2008等,它可以很好的把超市进销存系统中的各个功能很好的设计出来,由于该系统设计简单,使用方便,用户无需繁琐操作,因此在用户使用上是不会存在问题的。开发上本系统用C#高级编程语言来实现,用SQL Server 2008进行数据库设计,因此,本系统在技术上是可行的。
2.2.2 经济可行性
采用计算机管理不但可以提高工作效率,而且还可以节省人力、物力、财力,这样原来几个人干的工作现在一个人就完全可以胜任。因此单从节省的职工工资、提高工作效率而避免各种直接或间接的经济损失角度来看,该系统实际所能够起到的作用将会远远大于投入的开发费用,所以从经济上是完全可行的。
2.2.3 社会可行性
目前超市管理系统已经在大型的超市中得到了广泛的应用,超市管理需要现代化和信息化,只有合理的运用信息化的管理,才能在市场竞争中立于不败。超市管理系统不仅能够提高经营者的回报,而且能够随时掌握市场的动向,为经营者提供必要的市场信息,解决了经营者最需要解决的问题,同时超市管理系统对操作人员的要求不高,也合理的节约了成本的投入。本系统操作方便灵活,便于学习,因此,该系统具有可行性。综上所述,本系统的开发是完全可行的。
2.3 系统开发工具
本系统前台数据库采用Microsoft SQL Server 2008,该数据库系统在安全性、准确性、运行速度方面有绝对的优势,并且处理数据量大、效率高;后台选择以.NET平台作为开发平台,以C#作为开发语言,采用Visual Studio 2008作为主要的开发工具,可与SQL Server 2008数据库无缝连接。
2.3.1 Visual Studio.NET平台简介
Visual Studio .NET 是一套完整的开发工具,用于生成 ASP Web 应用程序、XML Web services、桌面应用程序和移动应用程序。Visual Basic .NET、Visual C++ .NET、Visual C# .NET 和 Visual J# .NET 全都使用相同的集成开发环境 (IDE),该环境允许它们共享工具并有助于创建混合语言解决方案。另外,这些语言利用了 .NET Framework 的功能,此框架提供对简化 ASP Web 应用程序和 XML Web services 开发的关键技术的访问。
Visual Studio .NET 集成开发环境现在包括开发智能设备(如 Pocket PC)应用程序的工具。通过使用这些工具和 .NET Framework 精简版(.NET Framework 的子集),您可以在个人数字助理 (PDA)、移动电话和其他资源受约束的设备中,创建、生成、调试和部署在 .NET Framework 精简版上运行的应用程序。
ASP.NET 移动设计器扩展了 ASP.NET 和 .NET Framework,可用来生成移动电话、PDA 和寻呼机的 Web 应用程序。此设计器集成在 Visual Studio IDE 中。您可以创建移动 Web 应用程序,使用移动设计器修改移动 Web 窗体,然后生成和运行该应用程序(所有这些操作都是在 Visual Studio 中完成的)。
Web 窗体是用于创建可编程 Web 页的 ASP.NET 技术。Web 窗体将自己呈现为浏览器兼容的 HTML 和脚本,这使任何平台上的任何浏览器都可以查看 Web 页。使用 Web 窗体,通过将控件拖放到设计器上然后添加代码来创建 Web 页,与创建 Visual Basic 窗体的方法相似。
Windows 窗体是用于 Microsoft Windows 应用程序开发的、基于 .NET Framework 的新平台。此框架提供一个有条理的、面向对象的、可扩展的类集,使您能够开发功能丰富的 Windows 应用程序。另外,Windows 窗体可作为多层分布式解决方案中的本地用户界面。
XML Web services 是可以通过 HTTP 使用 XML 接收请求和数据的应用程序。XML Web services 不受特定组件技术或对象调用约定的制约,因此可由任何语言、组件模型或操作系统访问。在 Visual Studio .NET 中,可以使用 Visual Basic、Visual C#、JScript、C++ 的托管扩展或 ATL Server 快速创建和包含 XML Web services。
可扩展标记语言 (XML) 提供描述结构数据的方法。XML 是 SGML 的子集,非常适合在 Web 上传送。万维网联合会 (W3C) 定义了 XML 标准以使结构化数据保持统一并独立于应用程序。Visual Studio .NET 完全支持 XML,提供了 XML 设计器以使编辑 XML 和创建 XML 架构更容易。
2.3.2 C#语言简介
C#编程语言是由微软公司的Anders Hejlsberg和 Scott Willamette领导的开发小组专门为.NET平台设计的语言,它可以使程序员移植到.NET上。这种移植对于广大的程序员来说是比较容易的,因为C#从C,C++和Java发展而来,它采用了这三种语言最优秀的特点,并加入了它自己的特性。C#是事件的驱动的,完全面向对象的可视化编程语言,我们可以使用集成开发环境来编写C#程序。使用IDE,程序员可以方便的建立,运行,测试和调试C#程序,这就将开发一个可用程序的时间减少到不用IDE开发时所用时间的一小部分。使用IDE迅速建立一个应用程序的过程称为快速反映开发。
C#2.0特性有以下几条:
(1)泛型:在我看来,泛型就是通过将数据类型参数化从而实现了代码的更为灵活的复用,泛型的出现使得C#能够使用同一段代码来操作多种数据类型。泛型无疑是C#2.0最重大的改进,它的出现赋予了C#代码更强的类型安全,更好的复用,更高的效率和更清晰的约束。
(2)匿名方法:匿名方法允许我们将代码直接与委托实例相关联,使委托实例化工作更加直观和方便。在我看来,这只是C#又多了一种语法格式而已,不再像以前必须将方法名传给委托实例,而是又多了一种选择。
(3)迭代器:迭代器允许我们更加方便的编写用于foreach语句的类型。在我看来,迭代器的出现只不过是改进了1.0中不便的可用foreach语句类型的编写限制,简化了一些接口。
(4)局部类型:局部类型允许我们将一个类的代码分别写在不同的cs文件中。最典型的应用就是使用VS2008创建Form文件时,VS会自动将系统生成的代码与用户代码分开。局部类型通过partial关键字来声明。
(5)空属类型:空属类型是一种像int一样可以为空的变量类型。本质上是一种泛型的应用,是System.Nullable的一种类型实例化。
(6)静态类:静态类是只用于包含静态成员的类型,既不能实例化,亦不能被继承。
2.3.3 SQL Server 2008简介
SQL Server 2008 中包含了非常丰富的新特性:通过提供一个更安全、可靠和高效的数据管理平台,增强企业组织中用户的管理能力,大幅提升IT管理效率并降低运维风险和成本;通过提供先进的商业智能平台满足众多客户对业务的实时统计分析、监控预测等多种复杂管理需求,推动企业管理信息化建设和业务发展;同时,SQL Server 2008将提供一个极具扩展性和灵活性的开发平台,不断拓展您的应用空间,实现Internet数据业务互联,为您带来新的商业应用机遇。
由于大大减少了应用程序宕机时间,提高了系统的可伸缩性和性能,并加以更严格的安全控制,SQL Server 2008在支持现实中最苛刻的企业级系统要求的道路上,迈出了极大的一步。SQL Server是微软服务器家族中重要的一部分,通过微软服务器系列产品共有的Engineering strategy所实现的增强的管理性和集成性,客户可以有效降低总体拥有成本并从更快的开发部署时间中受益。
(1)安全、可靠、高效的企业级数据管理平台
SQL Server 2008 将在安全性、高可靠性、性能、扩展性、可管理性方面有极大的提高,不仅能够确保企业级数据业务的实时稳定运行、还能够大大提高管理效率、降低操作复杂度和运维成本。例如,SQL Server 2008将提供全新的安全认证、数据加密技术来加强您数据系统的安全性;数据库镜像、快照、时点恢复、实时在线管理等诸多功能大大提高了企业级系统的可靠性、扩展性;而数据集成,各种自动化管理、调试和优化工具则为您的IT管理工作带来全新的体验。在硬件方面,SQL Server 2008支持64位运算和海量数据存储。
(2)先进、一体化的商业智能平台
SQL Server 2008使您可以快速构建部署各类商业智能解决方案,为你提供深入的业务分析统计、和监控预测平台,进一步推动企业的信息化管理和业务发展。SQL Server 2008将提供非常完整的商业智能套件,包括相关的数据仓库、数据分析、ETL、报表、数据挖掘的一系列设计、开发、管理工具。为了满足客户日渐增强的实时BI和企业级应用规模的需求,SQL Server 2008 在构建商业智能平台的实时性、扩展性方面也有了质的飞跃。全新的数据分析工具和丰富的数据挖掘算法将帮助客户有效进行深入的业务监控分析、决策支持;企业级的ETL工具将支持各种异类数据和复杂数据业务的整合;面向终端用户的报表设计及管理工具与Office的前端集成能够提供非常灵活的数据展示和自由定制功能。
(3)极具扩展性和灵活性的开发平台
SQL Server 2008将提供更加强大的开发工具和各类新的开发特性,在大大提高开发效率的同时,将进一步拓展您的应用空间,带来新的商业应用机遇。例如,XML数据库与Web Service的支持将使您的应用实现Internet数据互联,.Net集成极大的扩展了开发空间,异构数据集成、Service Broker使您的数据和其它应用无缝集成,各种新数据类型和T-SQL扩展带来了诸多灵活性。C#、VB.Net、XQuery、XMLA、ADO.Net 2.0、SMO、AMO等都将成为SQL Server数据平台上开发数据相关应用的有力工具。
2.4 管理信息系统逻辑模型设计 2.4.1 数据流程图
本系统采用结构化方法对其进行分析与设计。得到如图2-1所示的顶层数据流图和图2-2所示的第0层数据流图:
图2-1 顶层数据流图
图2-2 第0层数据流图
2.4.2 数据字典
数据字典用于进一步定义和描述所有数据项,主要包括数据流字典其形式如表2-1所示、数据存储字典如表2-2所示、数据处理字典如表2-1所示:
表2-1主要数据流字典清单 表2-2主要数据存储字典清单 表2-3主要数据处理字典清单
3 系统设计与实现3.1 项目规划
进销存管理系统主要由基本档案管理、进货管理、销售管理、库存管理、报表设计和系统维护等模块组成,具体规划如下:
(1)基本档案管理模块。基本档案管理模块主要用于实现系统基本数据的录入,相关基础数据为:内部员工信息、往来单位信息、客户基本信息。
(2)进货管理模块。该模块主要用于实现商品的进货数据录入、退货数据录入和进货查询分析。
(3)销售管理模块。该模块主要用于实现商品的销售数据录入、客户退货数据录入和销售信息查询。
(4)库存管理模块。库存管理模块主要用于实现库存调拨、库存商品数量上限报警和库存数据查询。
(5)系统维护模块。系统维护模块用于实现系统用户设置、操作权限设置、密码修改、数据备份和数据恢复。
3.2 设计目标
本系统属于中小型的进销存管理系统,可以对中小型超市中商品的进销存进行有效管理。通过本系统可以达到以下目标。
(1)系统采用人机交互方式,信息查询灵活、方便,数据存储安全可靠;
(2)实现后台监控功能;
(3)利用报表中图表分析员工销售业绩;
(4)实现各种查询,如定位查询、模糊查询等;
(5)实现商品进货分析与统计、销售分析与统计、商品销售成本明细等功能;
(6)强大的库存预警功能,尽可能地减少商家不必要的损失;
(7)对用户输入的数据,进行严格的数据检验,尽可能避免人为错误;
(8)系统最大限度地实现了易维护性和易操作性。
3.3 开发及运行环境
(1)系统开发平台:Microsoft Visual Studio 2008。
(2)系统开发语言:C#。
(3)数据库管理系统软件:SQL Server 2008.
(4)运行平台:Windows 7及以上Windows操作系统
(5)分辨率:最佳效果1024x768像素。
3.4 数据库设计
本系统采用SQL Server 2008作为前台数据库,数据库名称为db_CSManage,其中包含以下几张数据表,下面分别介绍。
3.4.1 数据表概要说明
本系统后台数据库中的数据表有:tb_Company(公司基本信息表),tb_Custom(客户基本信息表),tb_JhGoods(商品进货信息表),tb_ReGoods(商品退货信息表),tb_SellGoods(商品销售信息表),tb_KCGoods(库存信息表),tb_User(员工基本信息表)等。
3.4.2 数据库E-R图分析
根据上面的设计规划出的实体主要有商品信息实体、员工信息实体、退货商品实体、商品销售实体、商品库存实体和商品调拨信息实体。
进销存管理系统中商品信息实体E-R图,如图3-1所示。
图3-1 商品信息实体图
(1)进销存管理系统中员工信息实体E-R图,如图3-2所示。
图3-2 员工信息实体图
(2)进销存管理系统中退货商品实体E-R图,如图3-3所示。
图3-3 退货商品实体图
(3)进销存管理系统中商品销售实体E-R图,如图3-4所示。
图3-4 商品销售实体图
3.4.3 主要数据表的结构
本系统的设计与实现主要涉及到进货商品信息表、库存商品信息表、退货商品信息表、销售商品信息表、员工信息表具体设计如表3-5、表3-6、表3-7、表3-8、表3-9所示:
表3-5 tb_JhGoodsInfo(进货商品信息表)
表3-6 tb_KCGoods(库存商品信息表)
表3-7tb_ThGoodsInfo(退货商品信息表)
表3-8tb_SellGoodsInfo(销售商品信息表)
表3-9tb_EmPInfo(员工信息表)
3.5 系统的主要功能模块设计3.5.1 系统登录设计
(1)窗体设计
本系统的设计与实现主要涉及到有登录窗体,系统主窗体、基本档案管理窗体、退货及进货窗体等窗体。
(2)代码设计
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using CHEXC.GoodMenhod;
namespace CHEXC
{
public partial class frmLogin : Form
{
public frmLogin()
{
InitializeComponent();
}
private void btnOK_Click(object sender, EventArgs e)
{
tb_EmpInfoMenthod tbEmp = new tb_EmpInfoMenthod();
if (txtID.Text == "")
{
MessageBox.Show("用户名不能为空!");
return;
}
if (txtPwd.Text == "")
{
MessageBox.Show("密码不能为空!");
return;
}
if (tbEmp.tb_EmpInfoFind(txtID.Text, txtPwd.Text, 2) == 1)
{
frmMain frm = new frmMain(txtID.Text);
frm.Show();
this.Hide();
}
else
{
MessageBox.Show("登录失败!");
}
}
private void btnCancel_Click(object sender, EventArgs e)
{
Application.Exit();
}
private void frmLogin_FormClosing(object sender, FormClosingEventArgs e)
{
Application.Exit();
}
3.5.2 系统主窗体设计
(1)系统主窗体是在登录窗体通过密码,用户名的验证后进入的窗体,其中系统主窗体设计与实现如下图3-10所示:
图3-10 系统主界面
(2)代码设计
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
namespace CHEXC
{
public partial class frmMain : Form
{
public frmMain()
{
InitializeComponent();
}
public frmMain(string strName)
{
InitializeComponent();
SendNameValue = strName;
}
public string SendNameValue;
private void menuGoodsIn_Click(object sender, EventArgs e)
{
//进贷信息
frmJhGoodsInfo jhGOOD = new frmJhGoodsInfo();
jhGOOD.Owner = this;
jhGOOD.ShowDialog();
}
private void menuEmployee_Click(object sender, EventArgs e)
{
//员工信息
frmEmpInfo empinfo = new frmEmpInfo();
empinfo.Owner = this;
empinfo.ShowDialog();
}
private void menuCompany_Click(object sender, EventArgs e)
{
//供应商信息
frmCompanyInfo frmComp = new frmCompanyInfo();
frmComp.Owner = this;
frmComp.ShowDialog();
}
private void menuFind_Click(object sender, EventArgs e)
{
//商品信息查查询
frmFindGood findgood = new frmFindGood();
findgood.Owner = this;
findgood.ShowDialog();
}
private void menuDepotAlarm_Click(object sender, EventArgs e)
{
//库存警报
frmKcGoods kcGood = new frmKcGoods();
kcGood.Owner = this;
kcGood.ShowDialog();
}
private void menuDepotFind_Click(object sender, EventArgs e)
{
//库存查询
frmKcGoodFind kcfrmFind = new frmKcGoodFind();
kcfrmFind.Owner = this;
kcfrmFind.ShowDialog();
}
private void menuSellGoods_Click(object sender, EventArgs e)
{
//商品销售信息
frmSellGoods frmSell = new frmSellGoods();
frmSell.Owner = this;
frmSell.ShowDialog();
}
private void menuSellFind_Click(object sender, EventArgs e)
{
//退货信息
frmThGoodsInfo frmTh = new frmThGoodsInfo();
frmTh.Owner = this;
frmTh.ShowDialog();
}
private void 数据备份HToolStripMenuItem_Click(object sender, EventArgs e)
{
//数据备份
frmDataBack frmBack = new frmDataBack();
frmBack.Owner = this;
frmBack.ShowDialog();
}
private void 数据还原IToolStripMenuItem_Click(object sender, EventArgs e)
{
//数据还源
frmDataReole frmReole = new frmDataReole();
frmReole.Owner = this;
frmReole.ShowDialog();
}
private void frmMain_Load(object sender, EventArgs e)
{
timer2.Enabled = true;
this.statusUser.Text = "系统操作员:" +SendNameValue;
}
private void timer2_Tick(object sender, EventArgs e)
{
this.statusTime.Text = "当前时间:" + DateTime.Now.ToString();
}
private void frmMain_FormClosing(object sender, FormClosingEventArgs e)
{
Application.Exit();
}
3.5.3 基本档案管理窗体设计
本系统中所用到的基本档案管理窗体主要包括员工信息窗体,供应商信息窗体。
3.5.4 进货管理窗体设计
系统中需要用到的商品进货信息窗体用来显示商品的一些信息,设计与设计如下图3-11所示:
图3-11 商品进货信息窗体
3.5.5 销售管理窗体设计
本系统中所用到的销售管理窗体主要包括商品销售窗体,商品退货窗体其中商品销售窗体设计实现如下图3-12所示商品退货窗体设计如下图3-13所示:
(1)商品销售窗体设计主要显示了商品的销售信息,设计如下:
图3-12 商品销售信息窗体
(2)商品退货窗体设计主要显示了商品的退货情况,设计如图3-13所示:
图3-13 商品退货窗体
3.5.6库存管理窗体设计
本系统中所用到的销售管理窗体主要包括商品销售窗体,商品退货窗体其中商品销售窗体设计实现如下图3-14所示商品退货窗体设计如下图3-15所示:
(1)库存查询窗体设计可以用来查询库存中的一些商品,该窗体大大减少了人工的繁琐并且减省时间,设计如图3-14所示:
图3-14库存查询窗体
(2)库存警报信息窗体设计用来提醒工作人员,当库存商品不足或没有时会对工作人员进行提醒,给人们提供了很多便利,设计如图3-15所示:
图3-15 库存警报窗体
3.5.7数据备份还原管理窗体设计
(1)该系统最大的好处是当程序系统出现问题时我们可以对它进行数据的备份还原操作避免不必要的麻烦减少损失,数据备份还原窗体设计实现如下图3-16和3-17所示:
图3-16数据备份窗体
(2)数据还原窗体设计
图3-17 数据还原窗体
代码设计:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Data.SqlClient;
using CHEXC.GoodMenhod;
namespace CHEXC
{
public partial class frmDataReole : Form
{
public frmDataReole()
{
InitializeComponent();
}
private void bntOpent_Click(object sender, EventArgs e)
{
openFileDialog1.FilterIndex = 0;
openFileDialog1.FileName = "";
openFileDialog1.Filter = "txt files (*.bak)|*.bak|All files (*.*)|*.*";
if(openFileDialog1.ShowDialog()==DialogResult.OK)
{
textPaht.Text=openFileDialog1.FileName.ToString();
}
}
private void bntOk_Click(object sender, EventArgs e)
{
if (textPaht.Text != "")
{
getSqlConnection geCon = new getSqlConnection();
SqlConnection con = geCon.GetCon();
if (con.State == ConnectionState.Open)
{
con.Close();
}
String DateStr = "Data Source=mrwxk\\wangxiaoke;Database=master;
User id=sa;PWD=";SqlConnection conn = new SqlConnection(DateStr);
conn.Open();
//-------------------杀掉所有连接 db_CSManage 数据库的进程--------------
string strSQL = "select spid from master..sysprocesses where dbid=db_id( 'db_CSManage') ";
SqlDataAdapter Da = new SqlDataAdapter(strSQL, conn);
DataTable spidTable = new DataTable();
Da.Fill(spidTable);
SqlCommand Cmd = new SqlCommand();
Cmd.CommandType = CommandType.Text;
Cmd.Connection = conn;
for (int iRow = 0; iRow <= spidTable.Rows.Count - 1; iRow++)
{
Cmd.CommandText="kill"+spidTable.Rows[iRow][0].ToString();
//强行关闭用户进程
Cmd.ExecuteNonQuery();
}
conn.Close();
conn.Dispose();
//--------------------------------------------------------------------
SqlConnection sqlcon = new SqlConnection(DateStr);
sqlcon.Open();
SqlCommand sqlCmd = new SqlCommand("backup log db_CSManage to disk='" + textPaht.Text.Trim() + "' restore database db_CSManage from disk='" + textPaht.Text.Trim() + "'", sqlcon);
sqlCmd.ExecuteNonQuery();
sqlCmd.Dispose();
sqlcon.Close();
sqlcon.Dispose();
MessageBox.Show("数据还原成功!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
MessageBox.Show("为了必免数据丢失,在数据库还原后将关闭整个系统。");
Application.Exit();
}
else
{
MessageBox.Show("请选择备份文件!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
}
}
private void frmDataReole_Load(object sender, EventArgs e)
{
}
}
}
3.6 系统的(硬件)系统结构与处理方式设计3.6.1 系统处理方式
进销存管理系统采用分布式处理。采购、销售、库存三个部门按分配的不同权限进行相关操作,操作主机、数据文件服务器联成网络,相互通信。采购、销售、库存三个部门即可各自独立地进行业务处理也可自由转换角色处理,各部门之间的数据通信由网络完成。
3.6.2 系统硬件配置
(1) 微机(包括主机、显示器及磁盘驱动器)。
(2) 打印机。
(3)适配器、电缆等其它网络配件。
3.6.3软件配置
(1)多用户操作系统。
(2)SQL Server数据库系统。
(3)其它应用软件。
3.7 系统的处理与流程分析3.7.1 系统业务流程分析
进销存管理系统的业务流程(图3-18)。
图3-18 进销存管理系统业务流程图
4 总结
本次课程设计,最大的收获是对课题研究方法有了熟练的掌握,对信息系统分析设计有了更熟练的运用,对系统整体架构有了很好的把握。从课题的现状和研究意义、工作方案和进度计划、系统可行性研究、到需求分析、到系统设计、再到系统实施,严格遵守毕业设计要求,严格按照系统设计开发规范来组织进行,对自己的严密性、规范性等都有很好的指导意义。整个系统基本上实现了设计之初的目标,完成了系统规划阶段的构想。本系统是与自己的亲身经历紧密结合,因此容易从实际业务中获取系统需求、逻辑模型、系统功能结构以及数据组织与存储等,为本系统的设计开发提供了现实依据。不得不承认,限于水平有限,本系统还不够完善,如用户登录时帐户加解密问题、水晶报表问题,但可以肯定的是,我会在后面的学习中将其完善,从而使其具有实际开发和使用意义,使之趋于完善。
|