1.简要
这次是C#考试答辩程序改写有不足望老师见谅:
经过市场调研,初步了解到药品销售管理系统在现实生活中的应用,现行的医药管理系统在现实中的应用主要是药品的收费管理和药品销售的账目管理,药品的库房管理(药品的进库,药品的出库)其中,最常用的是,销售管理和库房管理。此系统操作性相对简单,只要对电脑有一定操作基础的人员都可以使用,系统对用户的提示性较好,可以提醒和引导用户对系统的操作。
本课题通过对现行医药管理信息系统的组织结构,业务流程,数据库等进行研究,分析系统的实际运行情况,并提出新的逻辑设计方案,以此来完善改进现有的系统,这对于医药企业提高经营管理具有一定的积极意义。
2.简要说明
本用例是一个医药超市管理系统,只有管理员和销售员有管理权限,其中管理员和销售员可以对自己的密码进行修改。用用自己的管理账号对医药进行管理,进货销售等等。
3需求
3.1医药销售管理系统需求分析
以往到药店购买药品的时候,销售人员都要手写单据和人工结账,而且每天都要统计当日的销售额,月末要统计一个月的销售额,所以要管理大量的单据,而且在统计的时候需要大量的时间,并且是人工操作,比较容易出错。医药管理系统的出现,使得这一切变得简单起来。以往需要算一个小时的账目现在只需点一下鼠标就可以得到,而且得到的结果还是精确的,不用担心有错误,用电脑代替人脑计算,为使用者节省了大量时间。另外消费者也得到了便利,因为键盘录入取代了手写的单据增加了效率,在我们购买药品的时候也就方便了起来。信息管理系统的出现,改变了企业的管理模式,药品销售管理系统则改变了医药行业的管理模式。在当今医药行业,一套好的销售管理系统成为众多企业的得力助手。
3.2 医药销售管理系统数据库
医药销售管理系统是基于网络应用,根据医药销售系统的长期开发研究经验和各医药公司现实中存在的实际业务情况,完全采取面向对象的系统开发方法,进行严格设计而成的专业医药销售管理软件。其主体实现主要包括:基础信息管理,进货需求管理,药品销售管理以及系统管理等模块。
基础信息管理:包括药品信息和药品类别管理;其中,药品信息管理包括添加药品、查
1
询药品、修改药品、删除药品。药品类别管理包括添加类别、查询类别、修改类别、删除类别以及类别统计等。
进货需求管理:包括添加需求、查询进货、删除需求、修改需求、库存修改
4.开发 4.1开发意图
a. 为了药品库存管理系统更完善; b. 为了药品库存管理更方便;
c. 为了减轻药品库存管理工作人员的工作负担;
4. 2 应用目标:
通过本系统软件,能帮助库存管理人员利用计算机,快速方便的对药品进行管理、进货、出货、查找的所需操作,报警功能,智能化功能及对各种特殊药品的操作。
4. 3 作用及范围:
本软件适用于制药公司的药品库存管理,是一个很方便的药品库存管理软件。可以对药品随时进行进货、出货、查找和处理。大大节省了制药公司的人力、物力和财力。
4.4 产品描述:
本产品是一种工作在windows系统平台的软件,它是以SQL数据库为基础。
4.5 产品功能:
功能模块图
药品信息管理系统 系统设置模块 信息管理模块 系统设置功能
系统设置包括药品类别设置、药品单位设置和用户信息。基本信息管理模块可以实现以下功能:
(1)添加、修改、删除和查看药品信息; (2)添加、修改、删除和查看供应商信息; (3)添加、修改、删除和查看客户信息。 信息管理功能
此模块的主要功能包括:
(1)药品管理,包括添加、修改、删除和查看药品信息; (2)仓库管理,包括添加、修改、删除和查看仓库信息; (3)客户管理,包括添加、修改、删除和查看客户信息;
2
(4)供应商管理,包括添加、删除、更新与查找供应商信息; (5)仓库管理,包括查询、更新、添加、删除仓库存储信息; (6)销售管理,包括更新、查看销售记录信息;
该软件可以在WIN98﹑WIN2003、WIN7等系统中运行,兼容性能良好.采用SQL数据库管理系统. 可以通过Internet对该系统进行访问.
(对将系统设计成为局域网运行而不是单机运行的补充说明:设计成为局域网运行可以加强管理监督,同样,如果你是经理,你也一定不会放心你对一个仓库管理员的工作情况一无所知吧!比如仓库管理员监守自盗,可能带来严重后果)
5.具体需求分析
5.1建立ER图:
编号 编号 单价 名称 现存数量 生产日期 名称 银行账号 地址
名称 姓名 仓库 M 管理员 分配 名称 N 药品 N M 操作 客户 M M 供应 N 销售 购买数量 日期 金额 N 客户级别 工作号 级别 N 供应商 药品编号 电话 药品名称 3
5.2主数据流程图:
整体框架: 管理员 分为四个主要部分:
商品信息 药品销售管理系统 客户 销售信息 供应商信息 管理员 登陆 登陆处理 处理订单 销售处理 订单数据 客户 员工信息 供应商信息 系统信息 销售数据 系统管理 处理库存 库存管理 退货表单 供应商 进货表单
库存信息 商品信息 商品金额 4
销售管理 客户 管理员 核对订单 商品描述 库存管理 购买信息 商品数量 订单送进 订单数据 批准订单 产生交易 应收帐款 销售信息 生成数据库数据
管理员 库存数据 采购处理 采购信息 采购表单 库存管理 退货信息 退货处理 退货表单 供应商 入库处理 入库信息 进货表单 5.3 数据字典
5
名称:库存清单 别名: 描述:仓库药品存储的描述 定义:药品编号+名称+生产日期+ 有效期+数量+生产成本+ 上、下限 位置:输出到打印机 保存到磁盘
名称:出货清单 别名: 描述:每次出货的药品描述 定义:药品编号+ 名称+生产日期+有效期+出货单价+数量+出货日期+客户 位置:输出到打印机 保存到磁盘 效益结算中心 名称:药品现存量清单 别名: 描述:仓库药品存量描述 定义:药品编号+名称+生产日期+有效期+数量+上、下限 +离过期日期天数+状态标志(正常、紧急、警告、严重) 位置:输出到打印机 保存到磁盘 名称:药品需求清单 别名: 描述:由于存量不足,需要进货的药品描述 定义:药品编号+名称+数量+需求原因 位置:输出到打印机 保存到磁盘 名称:进货清单 别名: 描述:每次进货的药品描述 定义:药品编号+名称+生产日期+有效期+数量 位置:输出到打印机 保存到磁盘 名称:月销售盈利清单 别名: 描述:在过去一个月之内的销售效益汇总 定义:销售总额+生产总成本+盈利额 位置:输出到打印机 保存到磁盘 名称:药品月销售清单 别名: 描述:在过去一个月之内的某种药品的销售情况 定义:药品编号+名称+数量 位置:输出到打印机 保存到磁盘
6
5.3 部分主要用例图
销售员登陆
管理员登陆
7
管理员和销售员对订单的处理1
管理员和销售员对订单的处理2
8
管理员和销售员对订单的处理3
管理员和销售员对订单的处理4
9
程序大意用例图
10
11
6 支持信息
6.1运行环境
普通计算机、笔记本都可以运行系统比较小、操作简单便于管理
6.2支持软件
操作系统windos系统、数据库管理系统:SQL数据库系统。
6.3接口
本产品的用户一般需要通过终端进行操作,进入主界面后点击相应的窗口,分别进入相对应的界面(如:输入界面、输出界面)。用户对程序的维护,最好要有备份。
6.4控制
系统的主要输入设备是键盘和条码机。输出主要是显示器输出和打印机打印输出
等。
6.5需求注释
对于本软件,它的功能需求、性能需求、接口需求,从稳定性、可行性上都是可以的。
7 需求分析总结
根据所收集的资料以及一切所进行过的分析基础,综合我们程序
并且结合实际情况,我进行了以上叙述描写。在整个过程当中,我从整体上觉得整个软件系统无论是在技术上还是在经济上都是完全可行的,有很好的开发价值。
12
8下面是部分代码及运行窗体
13
14
15
16
namespace 医药管理系统 {
public partial class Form1 : Form {
public Form1() {
InitializeComponent(); }
private void label3_Click(object sender, EventArgs e) { }
private void Form1_Load(object sender, EventArgs e) {
}
17
private void button1_Click(object sender, EventArgs e) {
BLL.empinfo bempinfo = new BLL.empinfo();
DataTable dt = bempinfo.getList(\"empid='\" + textBox1.Text + \"'\");
if (dt.Rows.Count > 0) {
if (textBox2.Text == dt.Rows[0][2].ToString()) {
daohang dh = new daohang(); dh.empid = textBox1.Text; dh.Show(); this.Hide(); } else {
MessageBox.Show(\"密码错误!\"); } } else {
MessageBox.Show(\"用户名不存在!\"); } }
private void button2_Click(object sender, EventArgs e) {
//Application.Exit(); this.Close(); }
namespace 医药管理系统 {
public partial class daohang : Form {
public daohang() {
InitializeComponent(); }
public string empid;
private void button1_Click(object sender, EventArgs e) {
jhxinxi jh= new jhxinxi(); jh.Owner = this;
18
jh.ShowDialog(); }
private void 密码修改ToolStripMenuItem_Click(object sender, EventArgs e) {
xiugaimima xg = new xiugaimima(); xg.empid = empid; xg.Owner = this; xg.ShowDialog(); }
private void 账号切换ToolStripMenuItem_Click(object sender, EventArgs e) {
Form1 frm = new Form1(); //frm.Owner = this; this.Close();
frm.ShowDialog(); }
private void button2_Click(object sender, EventArgs e) {
kc kc1 = new kc(); kc1.Owner = this; kc1.ShowDialog(); }
private void button3_Click(object sender, EventArgs e) {
xs xs1= new xs(); xs1.Owner = this; xs1.ShowDialog(); }
private void 员工资料ToolStripMenuItem_Click(object sender, EventArgs e) {
ygziliao yg = new ygziliao(); yg.Owner = this; yg.ShowDialog(); }
19
private void 药品资料ToolStripMenuItem_Click(object sender, EventArgs e) {
yaopinziliao ypzl = new yaopinziliao(); ypzl.Owner = this; ypzl.ShowDialog();
}
private void 供货商资料ToolStripMenuItem_Click(object sender, EventArgs e) {
gongyingshang gys= new gongyingshang(); gys.Owner = this; gys.ShowDialog(); }
private void 进货管理ToolStripMenuItem_Click(object sender, EventArgs e) {
jhxinxi jhxx = new jhxinxi(); jhxx.Owner = this; jhxx.ShowDialog(); }
private void 销售管理ToolStripMenuItem_Click(object sender, EventArgs e) {
xs xs2 = new xs(); xs2.Owner = this; xs2.ShowDialog(); }
private void 库存管理ToolStripMenuItem_Click(object sender, EventArgs e) {
kc kc2 = new kc(); kc2.Owner = this; kc2.ShowDialog(); }
private void 药品查询ToolStripMenuItem_Click(object sender, EventArgs e) {
20
yaopinchaxun ypcx = new yaopinchaxun(); ypcx.Owner = this; ypcx.ShowDialog(); }
private void 销售量统计ToolStripMenuItem_Click(object sender, EventArgs e) {
xiaoshouliangtongji xsltj = new xiaoshouliangtongji(); xsltj.Owner = this; xsltj.ShowDialog(); }
private void 销售额统计ToolStripMenuItem_Click(object sender, EventArgs e) {
xsjine xsje = new xsjine(); xsje.Owner = this; xsje.ShowDialog(); }
private void 操作手册ToolStripMenuItem_Click(object sender, EventArgs e) {
caozuoshuoming czsm = new caozuoshuoming(); //czsm.MdiParent = this; czsm.Show(); }
private void daohang_Load(object sender, EventArgs e) {
}
private void button5_Click(object sender, EventArgs e) {
sjbfyuhf sjgl = new sjbfyuhf(); sjgl.Owner = this; sjgl.ShowDialog(); }
private void 退出系统ToolStripMenuItem_Click(object sender, EventArgs e) {
21
this.Close(); }
private void 关于我们ToolStripMenuItem_Click(object sender, EventArgs e) {
MessageBox.Show(\"这是由曹乐乐编写的医药管理系统。感谢使用!翻版必究!\",\"温馨提示\"); }
private void 数据备份ToolStripMenuItem_Click(object sender, EventArgs e) {
sjbfyuhf sjbf=new sjbfyuhf(); sjbf.Owner=this; sjbf.ShowDialog(); }
private void 数据恢复ToolStripMenuItem_Click(object sender, EventArgs e) {
sjbfyuhf sjbf = new sjbfyuhf(); sjbf.Owner = this; sjbf.ShowDialog(); }
private void button4_Click(object sender, EventArgs e) {
xsjine xsje = new xsjine(); xsje.Owner = this; xsje.ShowDialog(); }
}
namespace 医药管理系统 {
public partial class yaopinchaxun : Form {
public yaopinchaxun() {
InitializeComponent();//初始化窗口控件 }
BLL.ypxinxi bypxx = new BLL.ypxinxi();
DAL.ypxinxi dypxx = new DAL.ypxinxi();
22
Model.ypxinxi mypxx = new Model.ypxinxi();
private void btnSearch_Click(object sender, EventArgs e) {
if (comboBox1.Text == \"\")//comboBox1里显示的是查询条件 {
MessageBox.Show(\"请选择查询条件!\"); return; }
if (textBox1.Text == \"\")//textBox1里是自己输入的查询条件 {
MessageBox.Show(\"请输入查询信息\"); return;//返回到输入查询条件处 }
string str = textBox1.Text; switch (comboBox1.Text) {
case \"药品编号\":
dataGridView1.DataSource =
bypxx.getList(\"inforid='\" + str + \"'\");//str代表的是textBox1.Text break;
case \"药品名称\":
dataGridView1.DataSource = bypxx.getList(\"inforname='\" + str + \"'\"); break; case \"型剂\":
dataGridView1.DataSource = bypxx.getList(\"xingji='\" + str + \"'\"); break;
case \"生产厂家\":
dataGridView1.DataSource = bypxx.getList(\"producecmu='\" + str + \"'\"); break;//break跳出循环 } } } }
谢谢老师观看指导
23
因篇幅问题不能全部显示,请点此查看更多更全内容