如需购买该毕业设计或论文,联系QQ: 913541678 
C++ Builder库存管理系统           ★★★ 【字体:
C++ Builder库存管理系统
作者:佚名    文章来源:本站原创    点击数:    更新时间:2008-3-10    
第一章 Borland C++Builder 6.0及Microsoft Access 2000简介
一、borland C++Builder 6.0简介
Borland C++Builder (以下简称BCB6)是Borland公司98年推出的全新32位Windows开发工具。C++Builder 不仅继承了Delphi使用简便,功能强大,效率高等特点,而且它还结合C++语言所有优点。C++Builder可以说是至今最好的Windows开发工具。其强大的ADO数据库组件使数据库应用程序开发更为简捷。
二、Microsoft Access 2000简介
Microsoft Accesss 2000 (以下简称Access)是微软公司专门为小型数据库开发的数据库管理系统,适合为中小型数据库应用程序做后台支持。它的表设计向导功能使表的设计更为简便。
第二章 可行性研究与三层模型
一、可行性研究
可行性研究的最终目的就是利用最小的代价在尽可能短的时间内确定问题是否能够解决。这一阶段只是确定问题是否值得去解,而不是去解决问题。要考虑能否解决主要从下面三个方面考虑:
(1)技术可行性 使用现有技术是否能够实现这个系统。
(2)经济可行性 就是该系统的经济效益能超过它的开发成本吗?
(3)操作可行性
从技术方面,是通过可视化窗口BCB6来做系统的前台并利用Access提供强硬的后台,来实现整系统的功能;从操作方面,基本的录入、查询、修改等都能满足用户的需求;此次设计没有考虑经济可行性。经过这一阶段确定了该系统的粗略系统流程图如下图:


二、三层模型
1 用户界面层:
面向非计算机专业的普通用户,通过简单了解后即可操作。
2 程序代码层:
由学生在老师的指点下学习并开发完成用户需要的功能。
3 支持该系统的数据库层:由后台Access支持
第三章 需求分析
一、软件生存周期
软件生存周期的概念是从工业产品生存周期概念借用过来的。一种产品从定货开始,经过设计,制造,调试,使用维护,直到该产品被淘汰不生产为止,这就是产品生产周期。 在贯彻落实软件工程的基本原理的实践过程中,人们认识了软件生存周期这一软件产品的内部规律。当然,这个认识是一个发展过程。在早起的程序设计时代,人们对软件生存周期的认识是不正确地。当是的程序设计是为某一个计算机系统服务,形成不了产品,常常是自产自用。程序设计人员本身既是程序的设计者,提供者,又是程序的使用者,用户。应用领域主要是科学计算,程序相对不太复杂,也不需要程序设计的文档资料。程序维护比较简单。开发程序的主要活动是程序设计,程序调试。 到了软件时代,随着软件的规模日益 扩大,复杂程度日益增加,迫使人们开始用"大事化小,个个击破,分工负责,协同工作"的方法组织软件的开发生产。因此,就有必要有任务书的形式下达开发任务。也从此产生了结构化程序设计方法和技术。软件开发的主要活动是:需求分析,系统设计,编码实现,系统测试和系统维护。因此,软件生存周期被划分为:系统分析,系统设计,系统编程,系统测试和系统维护5个阶段。
在软件工程时代,随着认识的提高,人们提出了“软件工程过程”的概念,认为软件工程过程是为了获得软件产品或是为了完成软件工程项目需要完成的有关软件工程活动,每一项活动又可以分解成一些软件工程任务。这使人们对软件生存期有了更为广义的理解。软件生存期中出了开发过程以外还有许多其他的软件工程过程,包括:管理过程,获取过程,供应过程,开发过程,操作过程,维护过程和支持过程。1995年国际标准化组织将软件生存周期的过程,活动和任务划分为3个过程:主要过程,支持过程和组织过程。
目前软件生存周期阶段的划分有许多种方法,例如,按软件规模,种类,开发方式,开发环境以及开发时使用的方法论等。但不管采用那一种方法,在划分软件生存周期阶段时都应该遵循一条基本原则:是个各阶段的任务彼此间尽可能相对独立,同一阶段各项任务的性质尽可能相同,从而降低每个阶段任务的复杂程度,简化不同阶段之间的联系,有利于软件开发工程的组织管理。把软件生存周期划分为若干个阶段,每个阶段的任务是相对独立,比较简单的,这样便于不同人员分工协作,从而可以降低整个软件开发工作的困难程度。在软件生存周期的每个阶段都采用科学的管理技术,使用各种可以提高效率的开发工具和良好的技术方法。每一阶段都遵循该阶段生产的各种标准和规范,在阶段结束之前都从管理和技术角度进行严格的审查,合格之后在开始下一阶段的工作。采用这样的方法和措施,就能保证软件的质量,提高软件的可维护性,从而可以提高软件开发的成功率,软件开发的效率也明显提高。按一般划分,软件生存周期由三个时期组成:软件定义,软件开发和软件维护。每个时期又划分为若干个阶段;软件定义可划分为问题定义,可行性分析和需求分析;软件开发又划分为系统设计,系统编程和系统测试;软件维护则是不断完善和提高系统功能和适应硬件环境的改变而进行版本升级的漫长过程。
可以看出,不管采用哪一种划分方法,都包括分析,设计,编码,测试,维护五种主要工作。 软件生存周期的概念使软件开发过程按有时序,能管理的方式组织起来,因此软件生存周期也是软件开发管理的重要概念
二、需求分析阶段
需求分析阶段是软件定义时期的最后一阶段,它的基本任务是准确的回答“系统必须做什么?”这个问题。但是这一阶段的任务还不是该怎样完成系统的工作,只是对目标系统提出完整、准确、清晰、具体的要求。更进一步的说,应该确定系统必须具有的功能和性能,系统要求的运行环境,并且预测系统的发展前景;必须仔细分析系统中的数据流又要分析长期使用的数据存储。
三、数据库需求分析
基本数据信息,数据结构,数据流图组成数据字典.
1 用户基本信息:编号 用户名 密码
2 购销商基本信息:商家代码 名称 主管人 简介
3 产品基本信息:编号 产品名称 特性参数 库存数量
4 购销合同信息:编号 买/卖状态 商家 执行状态 签署日期 发货日期 完成日期 总金额
5 出入库单信息:编号 出/入库状态 经手人 操作时间 备注
6 合同明细信息:编号 合同编号 产品编号 单价 数量
四、数据流程图


图1
五、模块功能设计
图2
六、系统主要模块功能:
(一)购货管理模块
购货管理模块包括,购货合同管理和采购统计2部分。其中购货合同管理每次采购的合同极其物品清单,作为历史记录,和用来统计库存量。采购统计,用来统计每个月份的采购总金额,以柱状图形式显示统计结果。
(二)库存管理模块
库存管理模块包括:入库、出库、库存统计3个子模块。其中出入库用来将购销物品进行出入库操作,并生成出入库清单;库存统计,用来统计当前仓库内各个产品的现存有量,以饼图形式显示结果。
(三)销售管理模块
销售管理模块包括,销售合同管理和销售统计2部分。销售合同管理实现过程与购货合同相同,销售统计用来统计每个月份各个物品的销售总金额,以柱状图形式显示统计结果。
(四)系统维护模块
系统维护模块包括用户管理、商家信息管理和产品信息管理3个子模块,其中用户管理又包括密码修改和普通用户管理。商家信息管理和产品信息管理用来添加、修改和删除供销商和产品的基本信息。
(五)退出系统
关闭主界面,退出系统。
第四章 数据库设计
一、创建数据库
根据以上功能模块的设计和对数据流程的分析,用Microsoft Access 2000的表建立向导创建数据库文件ZhjDatabase.mdb。
二、系统涉及到的数据表
通过对分析设计以下9个表,其中用户信息表1个,系统业务数据表6个,系统功能表2个,具体见下表:
表1 MARCHANT商家信息表
字段名 数据类型 是否可空 说明
ID CHAR(6) NOT NULL 商家代码
NAME VARCHAR(20) NOT NULL 名称
SATRAP VARCHAR(10) YES 主管人
INTRO VARCHAR(400) YES 简介

表2 PARTS零件产品信息表
字段名 数据类型 是否可空 说明
ID CHAR(10) NOT NULL 编号
NAME VERCHAR(20) NOT NULL 品名
PART_CHAR VERCHAR(400) YES 特性参数
AMOUNT INTEGER YES 库存数量

表3 IM_EXPORT出入库单信息表
字段名 数据类型 是否可空 说明
ID CHAR(10) NOT NULL 编号
IM_EX CHAR(1) NOT NULL 出/入库(I-入,O-出)
PERSON VARCHAR(10) NOT NULL 经手人
ACT_DATE DATE NOT NULL 操作时间
REMARK VARCHAR(400) YES 备注

表4 PORT _ITEMS出入库明细表
字段名 数据类型 是否可空 说明
ID INTEGER NOT NULL 编号
PORT _ID CHAR(10) NOT NULL 出入库单编号(外部关键字IM_EXPORT)
PARTS CHAR(10) NOT NULL 零件产品编号(外部关键字PARTS)
AMOUNT INTEGER NOT NULL 数量

表5 BUY _SALES购销合同信息表
字段名 数据类型 是否可空 说明
ID CHAR(10) NOT NULL 编号
BUY_SALE CHAR(1) NOT NULL 买/卖(B-购入,S-销售)
MERCHANT CHAR(6) NOT NULL 商家(外部关键字MARCHANT)
STATE CHAR(1) NOT NULL 执行状态(外部关键字CONTACT_STATE)
START_DATE DATE YES 签署日期
SEND_DATE DATE YES 发货日期
END_DATE DATE YES 完成日期
PRICES INTEGER YES 总金额

表6 CONTACT_ITEMS合同明细表
字段名 数据类型 是否可空 说明
ID INTEGER NOT NULL 编号
CONTACT_ID CHAR(10) NOT NULL 合同编号(外部关键字BUY_SALES)
PARTS CHAR(10) NOT NULL 零件产品编号(外部关键字PARTS)
UNIT_PRICE INT YES 单价
AMOUNT INTEGER YES 数量

字段名 数据类型 是否可空 说明
CODE CHAR(1) NOT NULL 代码
DESCRIP VARCHAR(20) NOT NULL 描述
表7 CONTACT_STATE合同状态代码表

字段名 数据类型 是否可空 说明
ID INTEGER NOT NULL 编号
NAME CHAR(8) NOT NULL 名称
PASSWORD CHAR(16) NOT NULL 密码
SUPER CHAR(1) NOT NULL 是否为管理员
表8 ADMIN管理员表

字段名 数据类型 是否可空 说明
ID CHAR(1) NOT NULL 编号
COUNTER_VALUE INTEGER NOT NULL 计数器值
MEMO CHAR(50) NOT NULL 备注
表9 COUNTER计数器表
第五章 系统设计
一、系统登陆模块
(一)界面
运行MMSystem.exe文件。启动系统出现系统登陆界面:
图3
功能实现:本界面采用2个编辑框用来接受用户名和密码,采用ADOTable组件连接ADMIN表,利用ADOTable支持的过滤功能来实现用户名的查询,若有记录再将PASSWORD字段与密码编辑框做比较,否则显示“不存在该用户名”(如图),比较后如果接受的密码与数据库中PASSWORD字段不符合则显示“密码错误”,密码比较正确后最后核对是否为管理员,ADMIN里面有个SUPER字段,如果为T则为管理员,管理员能进行高级的系统维护。以管理员身份登陆后会有如下提示框:

(二)源代码
登陆窗口源代码:
void __fastcall TForm6::ImButton1Click(TObject *Sender)
{
if(Edit1->Text==""||Edit2->Text=="")
{
Application->MessageBoxA("用户名或密码错误!","提示",MB_OK|MB_ICONWARNING);
return;
}
Form1->ADOTableADMIN->Filter="NAME='"+Edit1->Text+"'";
Form1->ADOTableADMIN->Filtered=true;
if(Form1->ADOTableADMIN->RecordCount==0)
{
.................................................................

文章录入:admin3    责任编辑:admin3 
  • 上一篇文章:

  • 下一篇文章:
  • 发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
    最新热点 最新推荐 相关文章
    教师科研管理系统(开题+系统
    ASP网上手机销售系统(网站)
    ASP聊天BBS系统(网站)
    ASP试题库管理系统(网站)
    ASP图书管理系统(网站)
    ASP教学网站设计-BBS设计(网
    ASP网上考试系统(网站)
    ASP网上求职招聘系统(网站)
    ASP网上购物系统(网站)
    C#.NET教材管理系统
      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)