软件工程最后作业.docx
- 文档编号:5288393
- 上传时间:2022-12-14
- 格式:DOCX
- 页数:28
- 大小:178.73KB
软件工程最后作业.docx
《软件工程最后作业.docx》由会员分享,可在线阅读,更多相关《软件工程最后作业.docx(28页珍藏版)》请在冰豆网上搜索。
软件工程最后作业
软件工程综合作业
——书店收银界面的实现
学院:
数学与计算机学院
年级:
09级计算机科学与技术1班
学号:
2009160531
姓名:
张自海
目录
第一章用例模型................................................................................................1
1.1用例UC...................................................................................................1
1.2范围.........................................................................................................1
1.3级别.........................................................................................................1
1.4主要参与者.............................................................................................1
1.5涉众及其关注点.....................................................................................1
1.6前置条件.................................................................................................1
1.7成功条件.................................................................................................1
1.8主事件流.................................................................................................1
1.9备用事件流.............................................................................................2
1.10用例图...................................................................................................4
第二章术语表................................................................................................4
2.1术语表.....................................................................................................4
第三章时序模型................................................................................................5
3.1时序图....................................................................................................5
第四章对象模型................................................................................................5
4.1对象设计................................................................................................5
4.2标识属性................................................................................................6
4.3主要方法................................................................................................6
4.4绘制类图................................................................................................7
第五章映射................................................................................................7
5.1收银过程对象的映射............................................................................7
5.2对象映射到数据库.................................................................................8
第六章编码................................................................................................9
6.1收银台界面............................................................................................9
6.2书本管理界面.......................................................................................16
第七章软件测试................................................................................................22
书店收银界面的实现
第一章用例模型
1.1用例UC:
处理书店销售
1.2范围:
收银管理系统应用
1.3级别:
用户目标
1.4主要参与者:
书店收银员
1.5涉众及其关注点:
书店收银员:
希望能够准确、快速地进行收银活动。
购书者:
希望自己购买的书本物美价廉,并在购书的过程中享受到优质的服务和购书的乐趣。
书店:
希望有足够的书本满足购书者的一站式需求,通过相应系统准确的记录书本的出售信息,以便更好地了解购书者的真实需求,使各类商品达到畅销,实现利润最大化。
书店经理:
希望能够快速的统计当日各个书籍的销售量。
1.6前置条件:
书店收银员必须经过确认和认证。
1.7成功保证(后置条件):
存储销售信息。
更新库存信息。
生成票据。
1.8主事件流:
1.书店收银员帮助购书者把所购书籍拿到收银台台面上,并作BOB。
2.书店收银员打开收银系统界面,开始新一次的收银活动。
3.书店收银员百分之百看收银屏幕并用扫描枪逐个扫描书本信息,对必要商品作LISA,收银系统并逐个记录书本信息与所售价格。
4.书店收银员对所售书籍进行百分之百消磁。
5.系统显示书本信息,累计同类书本数目及其总书籍数目并计算商品的总价格,累计数目及总价格通过一定的计算规则。
6.系统自动打印购物小票。
7.书店收银员唱收唱付,并双手递交小票。
8.系统记录完整的购书信息,并将购书信息发送到库存系统(书店数据库系统,更新数据库)。
9.书店收银员致谢,购书者携带商品和小票离开。
1.9备用事件流:
*a.书店经理在任意时刻要求进行超控操作:
1.系统进入经理授权模式。
2.经理或收银员执行某一经理授权模式的操作。
3.系统恢复到收银员授权模式。
*b.系统任意时刻失败:
为了支持恢复和更正购书信息,要保证所有购书时的付款状态和事件都能够从场景的任何一步中完全恢复。
1.收银员重新启动系统,登录,请求恢复上次状态。
2.系统重建上次状态。
1a.没有通过BOB:
购书者有未付款的遗漏书籍在购物车上或者购物篮中。
2a.未发现对应的收银活动:
1.系统向收银员提示错误。
2.收银员继续该次收银活动。
3a.无效商品条形码:
1.系统提示错误并拒绝输入该条形码ID。
2.收银员响应该错误。
3.收银员手工输入该书本ID。
4.系统显示该书本的信息。
3b.未通过对书本做LISA:
1.发现一种书籍中夹有其他书籍。
2.书本的外包装与内部规格属性不相符合。
4a.书本消磁失败。
5a.书本数量统计失败:
1.有遗漏的书本没有统计。
2.书本的统计数量多于或者少于实际的书本数量。
5b.价格计算错误:
所计算的价格多于或者少于实际价格。
6a.打印购书小票:
1.如果系统检测到错误,给出提示。
2.收银员做出相应的处理(如:
更换纸张)。
7a.收银员唱收唱付错误:
1.多唱少付。
2.少唱多付。
1.10用例图:
第二章术语表
2.1术语表:
编号
术语
ID
说明
1
用户
User
该用例的主要参与者
2
网上营业厅主界面
yyt
主要包括一些启动子系统的控件
3
书本出售信息页面
csym
记录所售书本的信息
4
货物信息页面
hwym
书店所有书本的信息
5
书本数据库界面
sjkym
记录书本的书本库存信息
6
异常处理页面
ycym
包括在收银过程中出现的可能情况
7
书本价格界面
jgym
显示单件书本价格及其书本总价格
第三章时序模型
3.1时序图:
第四章对象模型
4.1对象设计:
商品出售管理用例:
网上营业厅主界面(yyt):
用于各个模块的链接等;
商品出售信息页面(csym):
用于显示各个出售书本的主要信息;
货物信息页面(hwym):
用于显示书店各个书本的详细信息及其书本的剩余与售出信息等;
异常处理页面(ycym):
用于显示书本信息出现错误的信息等;
商品价格界面(sjgym):
用于显示各个书本格及其购物者所购书本总价格;
4.2标识属性:
属性
属性名
类型
说明
SBM
书本
Int
唯一标识
JG
书本价格
String
显示商品的价格
CBSJ
出版日期
Int
显示书本出版销售的期
4.3主要方法:
名称
方法功能
说明
Page_Load()
加载页面时绑定
数据
方法可见性:
protected,方法返回值:
void,参数:
(objectsender,EventArgse)
ImageButton1_Click()
确定商品信息输入完毕并进行结算
方法可见性:
protected,方法返回值:
void,参数:
(objectsender,ImageClickEventArgse)
4.4绘制类图:
第五章映射
5.1收银过程对象的映射:
该对象映射到C#.Net编程环境下,就是类SPCS。
类SPCS描述如下:
publicclassCSYM
{
//映射属性
IntSBM;
StringSBJG
IntCBSJ/映射方法
PublicvoidPage_Load(objectsender,EventArgse)
//加载页面时绑定数据
{
}
PublicvoidImageButton4_Click(objectsender,
ImageClickEventArgse)//确定商品信息输入完毕并进行结算
{
}
}
将持久性对象映射到数据库
5.2该对象映射到数据库(SQLSERVER2005)中:
属性名
类型
字段名
类型
书本名
String
SBM
bigint
书本编号
String
ID
Varchar
书本数量
String
SBSL
Varchar
书本价格
String
SBJG
Varchar
得到的处理购物表(clgw)如图:
第六章编码
6.1收银台界面如下图所示:
主要代码:
usingSystem;
usingSystem.Collections.Generic;
usingSystem.ComponentModel;
usingSystem.Data;
usingSystem.Drawing;
usingSystem.Linq;
usingSystem.Text;
usingSystem.Windows.Forms;
usingSystem.Data.SqlClient;
usingSystem.Configuration;
//downloadby
namespace书店零售系统
{
publicpartialclassSellForm:
Form
{
///
///IDNUMER是为系统生成的一个序列号,如1017103654表示是10月17号10:
36:
54时刻
///进行的一个交易,此方法不是太科学,如如果到下年的这个时候还是同一时刻进行的交易
///就会存在冲突,解决方法是可以在前面加上年份,或者是将当初的ID设置为nvarchar类型
///
protectedintIDNUMBER=DateTime.Now.Month*100000000+DateTime.Now.Day*1000000+DateTime.Now.Hour*10000
+DateTime.Now.Minute*100+DateTime.Now.Second;
///
///建立的一些SQL对象
///
protectedSqlConnectionconn;
protectedSqlCommandcmd;
protectedBookStoreDataSetTableAdapters.SellTableAdaptersellAdapter;
protectedBookStoreDataSetTableAdapters.SellItemTableAdaptersellItemAdapter;
protectedintsellID;
protecteddecimaltotal;
publicSellForm()
{
InitializeComponent();
}
privatevoidSellForm_Load(objectsender,EventArgse)
{
try
{
conn=newSqlConnection(ConfigurationManager.ConnectionStrings["书店零售系统.Properties.Settings.BookStoreConnectionString"].ConnectionString);
cmd=newSqlCommand();
cmd.Connection=conn;
conn.Open();
this.InitData();
sellAdapter=new书店零售系统.BookStoreDataSetTableAdapters.SellTableAdapter();
sellItemAdapter=new书店零售系统.BookStoreDataSetTableAdapters.SellItemTableAdapter();//5|1|a|s|p|x
this.printDocument1.DefaultPageSettings.PaperSize=newSystem.Drawing.Printing.PaperSize("BookList",320,480);
}
catch(Exceptionexp)
{
MessageBox.Show("无法建立数据库连接:
"+exp.Message);
this.Close();
}
}
privatevoidSellForm_FormClosing(objectsender,FormClosingEventArgse)
{
if(conn!
=null&&conn.State!
=ConnectionState.Closed)
conn.Close();
}
///
///初始化数据,让会员号,图书条码都有相应的信息
///
protectedvoidInitData()
{
cmd.CommandText="selectdistinctIDfromCustomerorderbyID";
SqlDataReaderreader=cmd.ExecuteReader();
cmbCustomerID.Items.Clear();
while(reader.Read())
cmbCustomerID.Items.Add(reader[0]);
reader.Close();
cmd.CommandText="selectdistinctBarcodefromBookorderbyBarcode";
reader=cmd.ExecuteReader();
cmbBarcode.Items.Clear();
while(reader.Read())
cmbBarcode.Items.Add(reader[0]);
reader.Close();
}
///
///通过会员号来检查会员以及享受的折扣
///
///
///
privatevoidbtnOK_Click(objectsender,EventArgse)
{
if(cmbCustomerID.Text=="")
return;
cmd.CommandText="selectLevelsfromCustomerwhereID="+cmbCustomerID.Text;
objectoLevel=cmd.ExecuteScalar();
if(oLevel==null)
{
MessageBox.Show("无此会员记录","错误",MessageBoxButtons.OK,MessageBoxIcon.Warning);
nudDiscount.Value=1;
}
else
{
cmd.CommandText="selectDiscountfromDiscountwhereLevels="+oLevel.ToString();
nudDiscount.Value=(decimal)((double)cmd.ExecuteScalar());
}
}
///
///添加选定的书名到购物清单,但是目前还不能重复添加
///
///
///
privatevoidbtnAdd_Click(objectsender,EventArgse)
{
if(cmbBarcode.Text=="")
return;
if(!
chkCustomerID.Checked)
nudDiscount.Value=1;
cmd.CommandText=string.Format("selectID,ISBN,Name,PricefromBookwhereBarcode='{0}'",cmbBarcode.Text);
SqlDataReaderreader=null;
try
{
reader=cmd.ExecuteReader();
if(reader.Read())
{
BookStoreDataSet.p_getSellDetailRowrow=bookStoreDataSet1.p_getSellDetail.Newp_getSellDetailRow();
row.BookID=(int)reader["ID"];
row.ISBN=(string)reader["ISBN"];
row.Name=(string)reader["Name"];//5+1+a+s+p+x
row.Price=(decimal)reader["Price"];
row.Number=(int)nudNumber.Value;
row.Discount=(double)nudDiscount.Value;
row.Sum=(decimal)((double)row.Price*row.Number*row.Discount);
bookStoreDataSet1.p_getSellDetail.Addp_getSellDetailRow(row);
}
else
{
MessageBox.Show("没有符合条件的记录","提示",MessageBoxButtons.OK,MessageBoxIcon.Asterisk);
}
}
catch(Exceptionexp)
{
MessageBox.Show("数据访问错误:
"+exp.Message,"错误",MessageBoxButtons.OK,MessageBoxIcon.Error);
}
fina
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件工程 最后 作业