信息系统分析与设计课程设计1Word格式.docx
《信息系统分析与设计课程设计1Word格式.docx》由会员分享,可在线阅读,更多相关《信息系统分析与设计课程设计1Word格式.docx(18页珍藏版)》请在冰豆网上搜索。
2.系统分析
我主要的任务是以下为本系统分析阶段的相关描述:
2.1系统主要业务分析
(1)进货业务
进货管理是企业生产经营活动中及其重要的一环,它关系到产品质量能否得到保证,生产是否能够顺利进行,采购成本能否得到有效控制等问题。
下面是进货业务程序的主要内容:
超市根据自身的资金条件和销售状况,综合分析市场规律,拟定采购计划表。
(2)库存业务
库存管理是指在上产经营中为销售和耗用而存储的各种资产。
企业存货不当都会增加不必要的费用:
存货过多将导致物资的积压、存储费用增加、流动资金周转不利,并且过量的库存会掩盖管理不善的问题。
存货不足则影响企业的正常销售活动。
因此,需科学合理地确定某库存物资的库存控制参数。
如:
最佳订货批量、最大库存量、最佳缺货量、最佳订购周期等,进行严格的库存控制工作。
(3)销售业务
销售对一个企业的生存和发展是至关重要的,对外关系到企业产品、服务和企业形象等多方面因素,对内涉及到销售、库存、财务等信息。
此外信息化的高速发展为企业的销售工作提出了新的挑战,封闭意味着落后,超市要抓住时机,引入现代化的销售管理模式,实施企业的信息化、智能化销售管理。
系统业务流程图如下:
图2.1-1超市业务流程图
2.2系统数据流分析
图2.2-1关联图
图2.2-2顶层图
图2.2-3第一层图
2.3数据字典
数据流条目
(1)F1销售信息=销售单号+商品编号+销售数量+销售日期
(2)F3库存信息=商品编号+库存数量
文件条目
(1)文件名:
D1销售清单
组成:
{销售单号+商品编号+销售数量+销售日期}
组织:
按销售单编号递增排列
(2)文件名:
D3库存清单
{商品编号+库存数量}
按商品编号递增排列
(3)文件名:
商品清单
{商品编号+名称+计量单位+类别+单价+备注}
2.4数据加工描述
(1)加工名:
1销售更新
加工逻辑:
根据销售信息更细销售清单
输入流:
前台销售信息,库存信息
输出流:
更新销售清单/库存清单
(2)加工名:
3库存更新
根据进货信息和销售信息更新库存信息
进货信息,销售信息
更新库存数据
3.系统设计
3.1系统功能分析
本系统采用自顶向下方法开发,其功能模块主要有如下几个部分:
进货管理模块、库存管理模块、销售管理模块、员工管理模块和系统模块。
具体的功能描述如下:
库存管理:
对采购来的产品进行企业内部编码入库,产品分类等活动,同时能够根据销售清单进行出货管理,以及库存统计。
销售管理:
提供一般的销售管理,能够进行销售明细查询和打印销售报表。
图3-1功能分析图
3.2信息处理分析
图3-2系统信息处理流程图
3.3数据库设计
3.3.1E-R模型
超市管理系统数据库E-R模型,如图所示:
3.3.2数据库逻辑结构设计
结合以上E-R图,可以导出各个关系,即逻辑结构设计。
如下:
用户表:
帐号、密码、权限;
商品表:
商品编号、名称、计量单位、类别、单价、备注;
销售表:
商品编号、销售数量、销售日期;
库存表:
商品编号、库存数量;
3.3.3数据库物理结构设计
(1)用户清单(Users)
中文字段名
英文字段名
字段类型
长度
主键/外键
字段值约束
帐号
UserID
char
7
P/F
NOTNULL
密码
passWord
6
权限
permission
Char
8
说明:
此表存放系统用户信息。
(2)商品清单(MerchBill)
商品编号
merchID
P
名称
mName
nvarchar
80
计量单位
Unit
varchar
4
类别
kind
NULL
单价
price
money
备注
others
ntext
50
此表存放商品信息。
(3)销售清单(SaleBill)
销售数量
saleNum
int
销售日期
saleDate
datetime
此表存放销售信息。
(4)库存清单(StoreBill)
库存数量
storeNum
3.4代码设计
1)“职工清单”中的“职工编号”的代码设计如下:
2)“商品清单”中的“商品编号”的代码设计如下:
前两位商品大类,中间两位主要表示商品的具体型号,后三位是辅码代表商品的产地。
3.5面向对象建模工具UML
1.销售管理模块
功能:
本模块的主要功能是把销售信息写入销售清单,同时对库存清单进行更新,以备用户将来对库存信息进行查询和打印,此外还可以对销售信息进行查询和盘点功能。
销售信息查询:
根据商品销售情况,按需要对销售情况进行查询。
在该查询模块中,可以按照商品的编号、销售日期等多种方式进行商品销售信息查询。
(1)销售模块的用例图,如图所示:
(2)销售管理模块的活动图,如图所示:
2.库存管理模块
本模块的主要功能是商品信息的查询和更新,库存信息的查询和更新。
输入项、输出项:
本模块的数据输入项主要是商品编号。
(1)库存管理模块的用例图,如图所示:
(2)库存管理模块活动图,如图所示:
3.6人机界面设计
3.6.1登陆界面
3.6.2前台收银界面
3.6.3后台管理
4.系统实施
4.1程序处理流程图
4.2主要算法源程序
4.2.1配置数据源
<
connectionStrings>
<
addname="
ConnString"
connectionString="
DataSource=localhost;
initialcatalog=supermarket;
IntegratedSecurity=sspi"
providerName="
System.Data.SqlClient"
/>
/connectionStrings>
4.2.2登录页面
protectedvoidLinkButton1_Click(objectsender,EventArgse)
{
stringstrConn=ConfigurationManager.ConnectionStrings["
].ConnectionString;
SqlConnectionConn=newSqlConnection(strConn);
//定义新的数据连接控件并初始化
Conn.Open();
//打开连接
stringstrsql="
select*fromUserswhereUSERID='
"
+TextID.Text+"
'
andPASSWORD='
+TextPwd.Text+"
;
SqlDataAdapterCmd=newSqlDataAdapter(strsql,Conn);
//定义并初始化数据适配器
DataSetds=newDataSet();
Cmd.Fill(ds);
//将数据适配器中的数据填充到数据集ds中
Conn.Close();
//关闭连接
if(ds.Tables[0].Rows.Count==0)
Response.Write("
script>
alert(\"
用户名不存在或密码错误,请确认后再登录!
\"
);
/script>
return;
}
DataRowMyrow=ds.Tables[0].Rows[0];
if(Myrow[3].ToString().Trim()=="
管理员"
)
Session["
pass"
]="
ok"
Uname"
]=Myrow[1].ToString().Trim();
Level"
]=Myrow[3].ToString().Trim();
Response.Redirect("
admin_default.aspx?
name="
+Myrow[1].ToString().Trim());
else
settleaccounts.aspx?
}
4.2.3销售页面
privatevoidfill()//GW数据源更新函数
DataSetmyds=newDataSet();
myds=(DataSet)Session["
myds"
];
Gw.DataSource=myds.Tables["
sell"
];
Gw.DataBind();
protectedvoidaddsell_Click(objectsender,EventArgse)
time.Text=System.DateTime.Now.ToString();
try
stringinformation="
selectmNamefromMerchanswheremerchidlike'
+sname.Text.Trim()+"
stringsprice="
selectPricefromMerchanswheremerchidlike'
stringkucun="
selectstorenumfromStorebillwheremerchIdlike'
kc-=i;
stringskc=kc.ToString();
DataRowrow=myds.Tables["
].NewRow();
row["
价格"
]=s1;
商品"
]=sname.Text;
名称"
]=s;
数量"
]=amount.Text;
myds.Tables["
].Rows.Add(row);
]=myds;
fill();
stringms="
INSERTINTOsalebill(merchid,salenum,saledate)VALUES('
+sname.Text+"
'
+amount.Text+"
+time.Text.Trim()+"
)"
SqlCommandComm=newSqlCommand(ms,Conn);
Comm.ExecuteNonQuery();
stringkuc2="
UPDATEStorebillSETstorenum='
+skc+"
WHEREmerchIdlike'
SqlCommandkuc3=newSqlCommand(kuc2,Conn);
kuc3.ExecuteNonQuery();
amount.Text="
time.Text=System.DateTime.Now.ToShortDateString();
sname.Focus();
catch
系统出错,请稍候重新操作!
4.2.4商品入库页面
protectedvoidButton1_Click(objectsender,EventArgse)
stringsqlstr="
select*fromstorebillwheremerchid='
+DropDownList1.Text.Trim()+"
SqlDataAdapterCmd=newSqlDataAdapter(sqlstr,Conn);
SqlCommandBuilderscb=newSqlCommandBuilder(Cmd);
stringsqlstr1="
select*fromstorebill"
Cmd.SelectCommand=newSqlCommand(sqlstr1,Conn);
DataRownewrow=ds.Tables[0].NewRow();
newrow["
merchid"
]=DropDownList1.Text.Trim();
storenum"
]=Convert.ToInt32(TextBox2.Text);
ds.Tables[0].Rows.Add(newrow);
Cmd.Update(ds);
stringstr="
UPDATEStorebillSETstorenum=storenum+'
+Convert.ToInt32(TextBox2.Text)+"
WHEREmerchId='
+DropDownList1.Text.Trim()+"
SqlCommandkuc=newSqlCommand(str,Conn);
kuc.ExecuteNonQuery();
sqlstr="
selectmerchans.merchid商品ID,Mname名称,storenum数量fromstorebill,merchanswheremerchans.merchid=storebill.merchid"
Cmd.SelectCommand=newSqlCommand(sqlstr,Conn);
DataSetds1=newDataSet();
Cmd.Fill(ds1);
GridView1.Caption="
b>
商品库存清单<
/b>
GridView1.DataSource=ds1.Tables[0];
GridView1.DataBind();
4.3模拟运行数据
用户登录数据:
商品信息数据:
商品库存数据:
5.总结
通过这次课程设计的实践,使我对信息系统的项目开发有了更加深刻的认识,同时,对C#.NET和ASP.NET技术也进行了更细致的学习,更加重要的是我切身感受到了团队合作的力量,在系统开发过程中,每个同学都积极参与,发挥自己所长,遇困难大家一起商量探讨,共享所得成果。
与此同时,还要感谢句全老师这学期对我们的细心教导,带领我们大家一起学习信息系统分析与设计这门课程,相信这对我们以后的工作大有裨益。