1、 1 2016 年 6 月 18 日 目 录 1.管理系统的功能说明 . 3 2.存储数据的描述 . 3 3.概要设计说 明书 . 3 3.1 编写目的 . 3 3.2 背景 . 3 3.3 定义 . 4 3.4 参考资料 . 4 3.5 系统概述 . 4 3.6 运行环境 . 4 3.7 功能图实现 . 5 2 3.8 接口设计 . 5 3.9 尚未解决的问题 . 6 4.源程序 . 6 5.测试分析(用户操作手册) . 16 6.总结报告 . 20 1. 管理系统的功能说明 根据系统的功能分析,设计具体的类以实现具体的功能,主要定义了一个 Goods 类来实现。 功能说明 1) .查看所有
2、商品的基本信息,包括商品号,商品名称,商品价格,生产厂家,生产日期和现存量。 2) .增加商品信息,包括商品号,商品名称,商品价格,生产厂家,生产日期及现存量。 3) .修改商品信息,包括商品号,商品名称,商品价格,生产厂家,生产日期及现存量。 4) .查询商品信息,括商品号,商品名称,商品价格,生产 厂家,生产日期及现存量。通过商品名称或者生产厂家进行查询。 5)退出系统。 3 2. 存储数据的描述 存储的为商品的编号名称,价格,生产厂家,生产日期以及现存量。 3. 概要设计说明书 1) .编写目的 本节概要设计主要是为仓库管理,或超市等需要商品管理的用户提供的。面向的对象为需要进行信息登记
3、录入及记录的相关人员。 2) .背景 待开发软件系统名称 商品信息管理系统 本系统任务提出者 哈尔滨理工大学软件学院 本系统项目开发者 软件 13-6 班 李双喜 本项目系统预期用户 仓库保管员,超市理货员等 实现地点 民用计算 机网络 3) .定义 用到的 专门术语的定义和外文首字母组词的原词组 链表: 链表是一种物理 存储单元 上非连续、非顺序的 存储结构 , 数据元素 的逻辑顺序是通过链表中的 指针 链接次序实现的。链表由一系列结点(链表中每一个元素称为结点)组成,结点可以在运行时动态生成。每个结点包括两个部分:一个是存储 数据元素 的数据域,另一个是存储下一个结点地址的 指针 域。 相
4、比于 线性表 顺序结构 ,操作复杂。 (简单的说就是指针的互相指向所组成的一个指针链)。 4) .参考资料 ( 1) C+语言程序设计(第 4 版) 郑莉 清华大学出版社 ( 2) C+ Primer Plus(第四版 ) (美 )Stephen Prata 人民邮电出版社 4 ( 3) Visual C+ 入门经典 赵永发 刘莉莉 机械工业出版社 5) .系统 概述 所要设计与实现的系统是一个独立的软件系统,适用于仓库或小型超市,能够独立的运行于相关环境,并且解决实际需求。管理系统划分为四个模块:浏览数据、添加数据、修改数据、查询数据 6) .运行环境 操作系统 Windows XPwind
5、ows 7windows 8 必要架构 Microsoft Net Framework 2.0 测试软件 Code Blocks 12.11Visual C+ 6.0 相关软件 Microsoft Office 办公软件 7) .功能图实现 退 出 系 统 浏 览 数 据 增 加 数 据 修 改 数 据 查 询 数 据 欢 迎 界 面 按 名 称 查 询 按 厂 家 查 询 商品信息管理系统 5 8) 接口设计 ( 1)内部接口设计:每个子系统都是相互联系的,只有完成某一操作才能做下一操作,但是在具体实现过程中,彼此相互独立,可分别编码。 ( 2)外部接口设计:本系统是一个独立的系统,可与其他
6、系统同时使用。 ( 3)异常处理设计:如果出现所输入的商品信息有误,则系统会给出相应提示。 9) 尚未解决的问题 当输入的两件商品信息一样的时候系统无法提示,如果输入两件相同的商品信息时,浏览数据会都显示出来。如果修改的时候,则默认修改第一个商品信息。 4 源程序 #include #include #include using namespace std; class Goods string id; string name; 6 string price; string factory; string date; long num; public: Goods *next; void sh
7、owfirst(); void display(); friend void add(); friend void show(); friend void revise(); friend void seek(int f); ; Goods*x=NULL; void showfirst() for(int i=0;inext=NULL; else f=x; while(f-next!=NULL) f=f-next; f-next=new Goods; f=f-next; f-next=NULL; coutf-id; coutf-name; coutf-price; coutf-factory; 9 coutf-date; coutf-num; void show() Goods *f=x; if(f=0) coutidnamepricefactorydatenumnext; system(“pause“); void revise() Goods*f=x; 10 string id; coutid; while(f!=NULL if(f=NULL)coutidnamepricefactorydatenumf-id; coutf-name; coutf-price; coutf-factory; coutf-date; coutf-num; coutidname“n 商品价