沈阳航空航天大学
课 程 设 计 报 告
课程设计名称:软件综合课程设计 课程设计题目:超市库存管理软件设计
院(系):计算机学院 专 业:计算机科学与技术 班 级: 学 号: 姓 名: 指导教师:
说明:结论(优秀、良好、中等、及格、不及格)作为相关教环节考核必要依据;格式不符合要求;数据不实, 不予通过。报告和电子数据必须作为实验现象重复的关键依据。
沈阳航空航天大学课程设计报告
学术诚信声明
本人声明:所呈交的报告(含电子版及数据文件)是我个人在导师指导下独立进行设计工作及取得的研究结果。尽我所知,除了文中特别加以标注或致谢中所罗列的内容以外,报告中不包含其他人己经发表或撰写过的研究结果,也不包含其它教育机构使用过的材料。与我一同工作的同学对本研究所做的任何贡献均己在报告中做了明确的说明并表示了谢意。报告资料及实验数据若有不实之处,本人愿意接受本教学环节“不及格”和“重修或重做”的评分结论并承担相关一切后果。
本人签名: 日期: 年 月 日
I
沈阳航空航天大学课程设计报告
沈阳航空航天大学
课程设计任务书
II
沈阳航空航天大学课程设计报告
III
沈阳航空航天大学课程设计报告
目 录
沈阳航空航天大学 ················································································· I 学术诚信声明 ······················································································· I 1 需求分析 ························································································ 1 1.1 超市库存管理软件设计背景 ···························································· 1 1.2 题目的理解 ················································································· 1 1.3 应完成的功能 ·············································································· 2 1.4 采用的工具 ················································································· 2 2 概要设计 ························································································ 3 2.1 数据库E-R 图 ·············································································· 3 2.1.1数据库E-R 图的介绍 ································································· 3 2.1.2 数据库表属性概要说明 ······························································ 4 2.2 系统功能模块层次图 ····································································· 5 3 详细设计 ························································································ 6 3.1 查询商品功能流程图 ····································································· 6 3.2 添加商品功能流程图 ····································································· 7 3.3 出、入库功能流程图 ····································································· 8 3.4 统计商品信息功能流程图 ······························································· 9 4 用户手册 ······················································································ 10 4.1 系统界面和功能选择界面 ····························································· 10 4.2 商品查询 ·················································································· 11 4.3 商品添加 ·················································································· 11 4.4 商品种类对应商品及对商品出、入库 ·············································· 12 4.5 统计商品信息 ············································································ 14 参考文献 ··························································································· 15 附 录(关键部分程序清单) ······························································ 16
IV
沈阳航空航天大学课程设计报告
1 需求分析
1.1 超市库存管理软件设计背景
在我国超市形成在20世纪90年代初期,现在已经成为我国零售业的一种重要形态,为国民经济的发展发挥了重要的作用。随着超市告诉的发展,其经营管理也变得愈加复杂,早起的售货员站柜台的形式早已不能满足现有的销售业的发展,这样就迫切地需要引入新的管理技术。
超市形态具有种种优点,但在目前状况下,它仍存在零售业企业所共有的落后的一面,如:不能有效地管理每种商品,收款结算速度慢,容易出现营业差错,不宜进行商品调价,盘点效率低等,而且在超市日常管理中,商品的进、销、存等决策以经验为主,缺乏实时分析功能,管理人员对及时传递资料的要求始终得不到满足。超市形态的高速发展,其经营管理也变得愈加复杂,日常所需要处理的数据量也逐渐增大,商业运转的中间环节也越来越多,原始的人工管理已无法应对这复杂的市场,使用软件控制成为必须。
1.2 题目的理解
超市库存管理系统的设计,是对超市商品库存量进行一个数据化的管理,让超市采购员可以通过商品现有的库存量来看出商品的销售情况,根据季节性,实时性来更好的补充货源,可以避免超市出现缺货的情况,设计的这个管理系统,相对于传统管理模式,毫无疑问会大大提高超市的运作效率,辅助提高超市的决策水平,管理水平,为降低经营成本,提高效益,减少差错,节省人力,完善这个系统之后,更会增加超市扩张能力,提供有效地技术保障。
1
沈阳航空航天大学课程设计报告
1.3 应完成的功能
功能一 :通过货号对商品进行查询 功能二 :商品种类的展示
功能三 :通过商品种类显示这类商品所含的商品信息 功能四 :对商品进行入库出库操作
功能五 :统计输出库存量低于100的货名及类别
功能六 :统计输出有2种以上商品库存量低于100的商品类别 功能七 :统计每类商品的总价值及平均价格
1.4 采用的工具
Eclipse
2
沈阳航空航天大学课程设计报告
2 概要设计
2.1 数据库E-R 图
2.1 数据库E-R 图
2.1.1数据库E-R 图的介绍
1:n : 多个商品属于同一个商品种类 商品的属性为货号、货名、单价、库存量
每一个商品都对应唯一的货名,对应唯一的货号,有一个单价,还有一个库存量。
3
沈阳航空航天大学课程设计报告
2.1.2 数据库表属性概要说明 商品表:
2.1.2.1 数据库商品表
如表2.1.2.1所示,我设计的数据库表就是商品表,其中存在货号、货名、商品种类、单价、库存量等属性。
出、入库表:
2.1.2.2 数据出、入库表
如表2.1.2.2所示,这个为数据库出、入库记录表。
4
沈阳航空航天大学课程设计报告
2.2 系统功能模块层次图
系统功能模块:
图2.1 系统功能模块层次图
5
3 详细设计
3.1 查询商品功能流程图
3.1 查询功能流程图 查询功能是通过货号来进行查询,用一个Edittext 来输入你想要查询商品的货号,然后通过条件查询数据库中你需要的数据,然后通过listview 来显示出来。
3.2 添加商品功能流程图
3.2 添加商品流程图
添加商品流程是进行一个商品的添加功能,是对数据库进行添加操作。
3.3 出、入库功能流程图
3.3 出、入库功能流程图
该功能是通过对数据库中商品库存量的数值的增减来实现出、入库的功能。
3.4 统计商品信息功能流程图
3.4 统计商品信息功能流程图
统计功能是能更好知道超市库存中商品的价值,库存短缺的商品,库存短缺的商品种类。
4 用户手册
4.1 系统界面和功能选择界面
图4.1.1 主界面 图4.1.2 功能界面
如图4.1.1所示,用户可以根据这个界面点击进入系统按钮进入功能选择界面,图4.1.2所示为系统的功能界面,选择这四个按钮分别会跳转到系统具体的功能界面,有商品查询、商品添加、商品种类、商品统计。
4.2 商品查询
图4.2 商品查询界面
如图所示,根据货号来查询商品信息。
4.3 商品添加
图4.3.1 图4.3.2
图4.3.3
如图所示,图4.3.1、图4.3.2、图4.3.3都是添加商品时出现的情况,其中图4.3.1是输入栏有空的时候会报出输入为空的信息,图4.3.2是货号存在的时候会报出货号存在的信息,图4.3.3是货名存在的时候报出货名存在的信息。
4.4 商品种类对应商品及对商品出、入库
图4.4.1 图4.4.2
图4.4.3
如图所示,图4.4.1是对商品的种类,然后点击一个商品种类就会进入到如图4.4.2的对应商品的信息,包括货号、货名、单价、库存量,然后点击每个商品信息,就会进入到如图4.4.3所示的对应商品的出、入库操作,当商品出库数量大于商品库存量时会给予库存不足的提示。
4.5 统计商品信息
图4.5
如图所示图4.5就是统计商品的库存信息,每一个按钮对于统计的一个信息,分别是每一类商品的总价值和平均价值,库存量低于100的商品,库存量2种及两种以上的低于100的商品种类。
沈阳航空航天大学课程设计报告 错误!未指定书
签。
参考文献
[1] 高富平,张楚 . 电子商务法[M ]. 北京:北京大学出版社,2002
[2] Huang S C,Huang Y M,Shieh S M.Vibration and stability of a rotating shaft containing a transerse crack[J ], J Sound and Vibration,1993,162(3):387-401.
[4]Android应用开发案例教程 . 清华大学出版社 [5] Android应用开发实战 . 机械工业出版社
附 录(关键部分程序清单)
商品查询关键代码:
idput = input .getText().toString();
preferences = getSharedPreferences("zuile" , 0);
versionCount = preferences .getInt("version" , 1);
DatebaseHelper dbHelpers =new
DatebaseHelper(chaxun.this , "test_db", versionCount );
SQLiteDatabase db =dbHelpers .getReadableDatabase();
Cursor cs =db .rawQuery("select * from user where id = ?", new String[]{idput });
while (cs .moveToNext())
{
String a = (" 货名:
" +cs .getString(cs .getColumnIndexOrThrow("name" )));
list .add(a );
String b = (" 类别:
" +cs .getString(cs .getColumnIndexOrThrow("kind" )));
list .add(b );
String c = (" 单价:
" +cs .getString(cs .getColumnIndexOrThrow("price" )));
list .add(c );
String d = (" 库存量:
" +cs .getString(cs .getColumnIndexOrThrow("num" )));
list .add(d );
}
商品统计关键代码:
switch (v .getId()){
case R.id.tongji1:{
Cursor cs =db .rawQuery("select * from user where kind = ?", new String[]{" 日用品" });
Cursor cs1=db .rawQuery("select * from user where kind = ?", new String[]{" 食品" });
Cursor cs2=db .rawQuery("select * from user where kind = ?", new String[]{" 烟酒类" });
i = 0;
price = 0;
pricenum = 0;
list .clear();
while (cs .moveToNext())
{
int a =
cs .getInt(cs .getColumnIndexOrThrow("price" ));
int b = cs .getInt(cs .getColumnIndexOrThrow("num" )); arry [i ] = a *b ;
arry1[i ] = b ;
i ++;
}
for (int j = 0 ;j
price = arry [j ] + price ;
}
for (int k = 0 ;k
pricenum = arry1[k ] + pricenum ;
}
pricenum = (float ) price /pricenum ;
String pricea = "" +price ;
String priceb = "" +pricenum ;
list .add(" 日用品总价值:" +pricea + " 平均价值" +priceb );
i = 0;
price2 = 0;
pricenum2 = 0;
while (cs1.moveToNext())
{
int a =
cs1.getInt(cs1.getColumnIndexOrThrow("price" ));
int b =
cs1.getInt(cs1.getColumnIndexOrThrow("num" ));
arry2[i ] = a *b ;
arry3[i ] = b ;
i ++;
}
for (int j = 0 ;j
price2 = arry2[j ] + price2;
}
for (int k = 0 ;k
pricenum2 = arry3[k ] + pricenum2;
}
pricenum2 = (float ) price2/pricenum2;
String pricec = "" +price2;
String priced = "" +pricenum2;
list .add(" 食品总价值:" +pricec +" 平均价值:" +priced );
i = 0;
price3 = 0;
pricenum3 = 0;
while (cs2.moveToNext())
{
int a =
cs2.getInt(cs2.getColumnIndexOrThrow("price" ));
int b =
cs2.getInt(cs2.getColumnIndexOrThrow("num" ));
arry4[i ] = a *b ;
arry5[i ] = b ;
i ++;
}
for (int j = 0 ;j
price3 = arry4[j ] + price3;
}
for (int k = 0 ;k
pricenum3 = arry5[k ] + pricenum3;
}
pricenum3 = (float ) price3/pricenum3;
String pricee = "" +price3;
String pricef = "" +pricenum3;
list .add(" 烟酒类总价值:" +pricee +" 平均价值:" +pricef ); break ;
}
case R.id.tongji2:{
list .clear();
list .add(" 库存量低于100的商品有:" );
Cursor cs3=db .rawQuery("select * from user where num
while (cs3.moveToNext())
{
String a =
cs3.getString(cs3.getColumnIndexOrThrow("name" ));
list .add(a );
}
break ;
}
case R.id.tongji3:{
list .clear();
Cursor cs4=db .rawQuery("select * from user where kind = ? and num
Cursor cs5=db .rawQuery("select * from user where kind = ? and num
Cursor cs6=db .rawQuery("select * from user where kind = ? and num
int i1 = cs4.getCount();
if (i1 >= 2){
String ia = "" + i1;
list .add(" 日用品库存量低于100的有" +ia +" 类" ); }
int i2 = cs5.getCount();
if (i2 >= 2){
String ib = "" + i2;
list .add(" 食品库存量低于100的有" +ib +" 类" );
}
int i3 = cs6.getCount();
if (i3 >= 2){
String ic = "" + i3;
list .add(" 烟酒类库存量低于100的有" +ic +" 类" ); }
break ;
}
}