




已阅读5页,还剩28页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
西华大学课程设计报告 数学与计算机学院课程设计说明书课 程 名 称: 软件工程课程设计 课 程 代 码: 8404131 题 目: pos应用系统 年级/专业/班: 09级软件工程四班 学 生 姓 名: 学 号: 开 始 时 间: 2011 年 05 月 27 日完 成 时 间: 2011 年 06 月 12 日课程设计成绩:学习态度及平时成绩(30)技术水平与实际能力(20)创新(5)说明书(计算书、图纸、分析报告)撰写质量(45)总 分(100)指导教师签名: 年 月 日软 件 工 程 课 程 设 计 任 务 书学院名称: 数学与计算机学院 课程代码:_专 业: 软件工程 年 级: 一、设计题目POS应用系统。二、主要内容制作一个商店用的POS系统,对于扫描条码和现金抽屉等硬件可以模拟实现,要求有销售和统计等功能。三、具体要求及应提交的材料1.分析阶段:一个小型的商店pos系统,需完成以下工作:(1)进货、售货;(2)在店中增加/删除一件货物;(3)找出售货多少;(4)库内还有多少货物;导出系统的数据流程图和实体关系图(E-R)2设计阶段: 针对分析阶段提出的软件要求,给出实现的方案和具体细节的说明。(1)考虑该软件基本功能成份,该系统具有5个基本功能成分:条码管理,条码对应的货物的价钱,售出货物的件数和总的收入,找退钱规则。(2)根据分析,导出系统的功能模块图。(3)设计文件,保存货物信息。(4)根据功能确定软件模块组成及调用关系。3编码阶段建造模块,在可视化编程环境下,按照软件设计要求制作界面和完成对模块的编码,由此使软件设计具体化为软件作品。4.运行维护在软件运行时,检查软件的不足或错误,并进行维护。5编写课程设计报告(1)设计题目(2)任务要求(3)系统总体方案(4)各功能模块和流程图(5)心得体会和参考资料四、进度安排序号设计内容天数1分析设计内容,给出解决方案32创建文件33可视化界面设计34对所建数据库进行设计,整理设计思路,编码、测试,写出课程设计报告35指导老师检查设计结果并做成绩评定2总 计14指导教师 签名日期 年 月 日系 主 任 审核日期 年 月 日30目 录1 引言.42 需求分析42.1功能分析.42.2方案分析.43概要设计.53.1数据结构.53.2逻辑结构和物理结构.53.3功能模块化.53.3.1结构框图.63.3.2流程图.63.3.3模块功能分析及外部设计.63.4抽象数据定义.74详细设计.74.1数据定义.74.2主要模块内部定义.74.2.1货物管理.84.2.1.1模块算法.84.2.1.2流程图.114.2.2 财政.114.2.2.1模块算法.124.2.2.2流程图.135实现与调试分析.135.1实现环境.135.2语言选择.136测试分析.136.1测试用例.136.2测试结果.146.3性能分析.157用户手册.15总 结.16参考资料.161 前言销售管理作为零售企业现代化管理不可缺少的组成部分,日益受到人们的重视。传统销售模式以及销售管理体系和机制,已经越来越难以适应零售企业现代化管理的需求。POS(Point of Sales,销售终端的英文缩写)是微电子技术发展及现代化商品流通管理理念和技术发展结合的产物,通过将电脑硬件和软件集成,形成一个智能型的,即可独立工作,也可在网络环境下工作的商业工作站。随着我国经济的快速发展,超市POS系统将有着广阔的市场前景,中详细阐述了该系统设计思想、工作原理和具体实现。2 需求分析2.1 功能分析 由于现在的店铺发展快,扩增也是理所当然的,尤其是像超市这样的综合型商品店,货物的样品也是多种多样,这样一来不同的货物的价格也不同,给我们的售货员带来了很大的考验,还有,我们的店铺买了多少货物,剩余多少货物,是否需要进该货,买出了多少钱,今天的收入是多少。老板都是很难查询。我们pos系统完全可以解决这些问题,轻松,快捷,准确的把商店相应的信息发给我们售货员和店主,让我们的售货员轻松,准确的工作,让我们的店主安逸、舒适的管理店铺。2.2 方案分析由于现在的店铺发展快,扩增也是理所当然的,尤其是像超市这样的综合型商品店,货物的样品也是多种多样,这样一来不同的货物的价格也不同,给我们的售货员带来了很大的考验,还有,我们的店铺买了多少货物,剩余多少货物,是否需要进该货,买出了多少钱,今天的收入是多少。老板都是很难查询。我们pos系统完全可以解决这些问题,轻松,快捷,准确的把商店相应的信息发给我们售货员和店主,让我们的售货员轻松,准确的工作,让我们的店主安逸、舒适的管理店铺。 技术可行性:前面做了详细的需求分析,大致把握了该pos系统的功能及用户的需求,另外在该系统之前已有类似的管理系统,图书馆管理系统等在技术方面开发人员可以借鉴,所以技术上是可行的。 经济可行性:软件的开发,不但要考虑到当前技术的可行性,还要考虑到软件开发的成本/效益,所谓经济可行性,换句话说,也就是说通过成本/效益分析,总结整个软件的开 发经费,以及软件开发成功以后,可能给学校带来的经济效益,把两者进行权衡,再作认真仔细的估计,总结整个系统在经济上是否可行。本系统的开发成本主要包 括计算机软硬件配置成本;效益主要包括商店管理上节省的人力资源,以及商店信息化建设的要求,总的来说经济上也是可行的。 操作可行性分析:虽然该系统是在控制台上运行的,用户界面不是很好,但开发人员作了大量的提示语句。操作人员不需要 太多的计算机专业知识,只要懂得计算机的基本操作,并且对本系统有基本的了解,按照提示语句就可以了,而且本系统会提供给使用者详尽的使用说明,也可以对使用者进行短 期的操作培训,所以,从操作上来讲,该pos系统是完全可行的。3 概要设计 数目条码3.1 数据结构(见图3.1) 收银员管理购买商品顾客价格商品名 图3.1由于该系统采用文件操作,所以数据结构用线性结构来存储,操作数据。3.2 逻辑结构与物理结构该系统的逻辑结构为线性结构,采用顺序存储结构来保存数据。3.3 功能模块划分3.3.1结构框图(见图3.2)Pos系统财政管理货物管理总收入统计进货管理创建商店信息输出货物信息售货管理 图3.23.3.2程序流图(见图3.3)开始信息录入Do case财政货物退出处理退出处理输出结束 图3.33.3.3模块功能分析1.基本信息录入模块:实现商店内的货物基本信息的录入2.购买模块:处理客户购买物品时的费用问题。3.货物更新模块:处理货物的信息,新货和已有货物的数据4.统计模块:统计是否有货物需要进货,和总收入3.4抽象数据定义typedef struct shop shop;4 详细设计4.1 数据定义typedef struct shop char name10; 货物的名称int jiage; 货物的价格int shumu; 在店内的该货物的数目char tiaoma10; 该货物的条码struct shop* next;shop;4.2 主要模块内部设计4.2.1货物管理4.2.1.1 模块算法shop* shouhuo(shop* head,int &zong)char a10;int s,i=0,b,h;shop *p;zong=0;couta;while(strcmp(a,end) p=head-next; coutendls; couttiaoma,a)&p!=NULL) p=p-next; b=p-jiage*s; p-shumu=p-shumu-s; i+; zong=zong+b; couta;cout请输入顾客给的金额h;h=h-zong;cout应该退还顾客:hendl;delete p; return head;shop* jinhuo(shop* head) shop *p,*q;char ch10;int i;cout请输入该商品的条码ch;while(strcmp(ch,end) p=head-next; while(strcmp(p-tiaoma,ch)&p!=NULL) q=p; p=p-next; if(p=NULL) cout店铺内没有这样的货物需要创建endl; p=new shop; coutp-name; coutp-jiage; coutp-shumu; cout 货物条码:p-tiaoma; q-next=p; q=p; p-next=NULL;else cout请输入数目i;p-shumu+=i;cout请输入该商品的条码ch;delete p;return head;4.2.1.2 流程图(见图4.1)4.2.2 财政4.2.2.1模块算法void tongji(shop *head)shop *p;int i=0;p=head-next;while(p!=NULL)if(p-shumu10)coutname需要进货了!next;if(i=0)cout暂时还没有货物需要进货。endl;delete p;void huizonging(int &huizong)cout今天的总收入是:huizongendl;4.2.2.2 流程图(见图4.2)5 实现与调试分析5.1 实现环境该pos系统在windows 7平台上开发,visual studio 6.0环境下开发5.2 语言选择采用的是C+编写代码。6 测试分析6.1 测试用例 - 1.创 建 货 物 信息 - - 2.查看店内货物信息 - - 3.查看是否需要进货 - - 4.录 入 进 货 信息 - - 5.顾客购买货物信息 - - 6.查询 总收入 信息 - - 0.退 出 - 请输入你的选择1*请录入店中货物信息(以end结束)*货物名:aa货物价格:20货物数量:33货物条码:111货物名:ww货物价格:30货物数量:33货物条码:222货物名:end6.2 测试结果6.2.1查看店内货物信息测试货物名:aa 货物价格:20 货物数量:33 货物条码:111货物名:ww 货物价格:30 货物数量:33 货物条码:222请输入你的选择6.2.2查看是否需要进货测试暂时还没有货物需要进货。6.2.3 录入进货信息测试请输入该商品的条码333店铺内没有这样的货物需要创建货物名:tt货物价格:10货物数量:33货物条码:333请输入该商品的条码End6.2.4 进货后店内货物信息测试货物名:aa 货物价格:20 货物数量:33 货物条码:111货物名:ww 货物价格:30 货物数量:33 货物条码:222货物名:tt 货物价格:10 货物数量:33 货物条码:3336.2.5 顾客购买货物信息测试请输入顾客买的货物的条码号:222输入顾客买这件商品的数目:30请输入顾客买的货物的条码号:end总价为:900请输入顾客给的金额1000应该退还顾客:100请输入顾客买的货物的条码号:333输入顾客买这件商品的数目:10请输入顾客买的货物的条码号:end总价为:100请输入顾客给的金额200应该退还顾客:1006.2.6 查看顾客购买了后是否需要进货测试ww需要进货了!6.2.7 查询总收入信息测试今天的总收入是:10006.3 性能分析还基本稳定,内存空间比较节省。7用户手册用户运行这个程序,进入总界面。选择1.就是最初的录入商店内的各个商品的基本信息,其内的操作就按照提示就可以了最后以end结束录入;选择2.是查看商店内货物的信息,比如:还有多少货物在店内,看那些货物还有多少;选择3.查看商店内是不是有货物需要进货,如果有的话,电脑会自动提醒你,如果没有的话,它也会显示还没有有货物需要进货;选择4.进货后,对进的货进行信息录入,其中的操作当你扫的条码在商店内有的话,就会提示你输入该商品进货了多少,这时你输入数目。如果没有这样的商品,它会提示没有店内该货物,需要添加,然后就根据提示输入。当录入完的时候,就以end结束录入;选择5.就是顾客购物的时候算总账,和客户给的钱,应该找回多少;选择6.这就是算一共收入多少钱,对总的收入进行汇总;选择0.就退出程序。总 结 通过这次课程设计让我更深入的了解了C+,和数据结构,链表操作和软件工程种的各个步骤与内容,和设计思想。参考文献 1 张海藩. 软件工程导论,清华大学出版社,20042 陈明. 实用软件工程基础,清华大学出版社,20033 殷人昆.实用软件工程,清华大学出版社,20034 宋波.UML面向对象技术与实践,科学出版社,2004 #include#includeusing namespace std;typedef struct shop char name10;int jiage;int shumu;char tiaoma10;struct shop* next;shop;FILE* fp;shop* create(shop* head) shop *p,*q;p=new shop; if(!p) exit(0);fp=fopen(D:ft.txt,a+);if(!fp) coutfile cannot be openednext=p;q=p;cout*请录入店中货物信息(以end结束)*endl;coutp-name; while(strcmp(p-name,end) coutp-jiage; coutp-shumu; coutp-tiaoma; q-next=p; fwrite(p,sizeof(shop),1,fp); q=p; p=new shop; coutp-name; q-next=NULL;fclose(fp);return head;shop* print(shop* head)shop *p,*q; p=new shop;head-next=p;FILE *fp;fp=fopen(D:ft.txt,r);if(!fp)coutfile cannot be opened!endl;exit(1); while(fread(p,sizeof(shop),1,fp)=1) cout货物名:name 货物价格:jiage 货物数量:shumu 货物条码:tiaomanext=p; q-next=NULL; fclose(fp); return head;shop* shouhuo(shop* head,int &zong)char a10;int s,i=0,b,h;shop *p,*r;zong=0;couta;while(strcmp(a,end) p=head-next; coutendls; couttiaoma,a) p=p-next; b=p-jiage*s; p-shumu=p-shumu-s; i+; zong=zong+b; couta;cout总价为:zongendl;cout请输入顾客给的金额h;h=h-zong;cout应该退还顾客:hendl;fp=fopen(D:ft.txt,w);if(!fp) coutfile cannot be openednext; while(r!=NULL) fwrite(r,sizeof(shop),1,fp); r=r-next; fclose(fp); return head;void tongji(shop *head) shop *p;int i=0;p=head-next;while(p!=NULL) if(p-shumu10)coutname需要进货了!next;if(i=0)cout暂时还没有货物需要进货。endl;shop* jinhuo(shop* head) shop *p,*q,*r;char ch10;int i;coutch;while(strcmp(ch,end) p=head-next; while(p!=NULL&strcmp(p-tiaoma,ch) q=p; p=p-next; if(p=NULL) cout店铺内没有这样的货物需要创建endl; p=new shop; coutp-name; coutp-jiage; coutp-shumu; coutp-tiaoma; q-next=p; q=p; p-next=NULL;else cout请输入数目i;p-shumu=p-shumu+i;cout请输入该商品的条码ch;fp=fopen(D:ft.txt,w);if(!fp) coutfile cannot be openednext; while(r!=NULL) fwrite(r,sizeof(shop),1,fp); r=r-next; fclose(fp);return head;void chaxu(shop* head) shop* p; char ch10; p=head-next; coutch; while(p!=NULL&strcmp(p-name,ch) p=p-next; if(p=NULL) cout没有这样的货物!endl; else cout货物名:name 货物价格:jiage 货物数量:shumunext; coutch; while(p!=NULL&strcmp(p-tiaoma,ch) p=p-next; if(p=NULL) cout没有这样的货物!endl; else cout货物名:name 货物价格:jiage 货物数量:shumu 货物条码:tiaomaendl;void huizonging(int &huizong) cout今天的总收入是:huizongendl;void huizongqk(int &huizong)char g10=123456,f10;char h; cout请输入密码!f;if(!strcmp(f,g) cout你真的要将总账置为0(y/n)h;if(h=y)huizong=0;cout操作成功!endl;elsecout该操作中止!endl;else cout密码错误!该操作失败!endl;void menu() cout-*-*-endl; cout - 1.创 建 货 物 信息 - endl; cout# - 2
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 门票代收协议书范本大全
- 产品经理作业管理办法
- 乡镇往来资金管理办法
- 乡村旅游景区管理办法
- 中药精致饮片管理办法
- 企业对外融资管理办法
- 产品试验基地管理办法
- 企业配送耗材管理办法
- 农村机密基地管理办法
- 停车服务收费管理办法
- 缓和医疗与护理课件
- 学堂在线 军事理论 章节测试答案
- 早产儿喂养不耐受的护理
- 《工程勘察设计收费标准》(2002年修订本)
- TCGMA0330012018压缩空气站能效分级指南
- 复合趋向补语的本义课件
- 有房屋抵押贷款离婚协议书
- 集团公司企业各岗位廉洁风险点防控表格模板汇编(40篇)
- 平面连杆机构的基本类型与应用
- 天锐绿盾数据防泄密系统管理员使用手册
- JJF 1214-2008长度基线场校准规范
评论
0/150
提交评论