软件工程最后作业Word格式文档下载.docx

上传人:b****6 文档编号:18269695 上传时间:2022-12-14 格式:DOCX 页数:28 大小:178.73KB
下载 相关 举报
软件工程最后作业Word格式文档下载.docx_第1页
第1页 / 共28页
软件工程最后作业Word格式文档下载.docx_第2页
第2页 / 共28页
软件工程最后作业Word格式文档下载.docx_第3页
第3页 / 共28页
软件工程最后作业Word格式文档下载.docx_第4页
第4页 / 共28页
软件工程最后作业Word格式文档下载.docx_第5页
第5页 / 共28页
点击查看更多>>
下载资源
资源描述

软件工程最后作业Word格式文档下载.docx

《软件工程最后作业Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《软件工程最后作业Word格式文档下载.docx(28页珍藏版)》请在冰豆网上搜索。

软件工程最后作业Word格式文档下载.docx

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

出版日期

显示书本出版销售的期

4.3主要方法:

名称

方法功能

Page_Load()

加载页面时绑定

数据

方法可见性:

protected,方法返回值:

void,参数:

(objectsender,EventArgse)

ImageButton1_Click()

确定商品信息输入完毕并进行结算

(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)中:

字段名

书本名

bigint

书本编号

Varchar

书本数量

String

SBSL

SBJG

得到的处理购物表(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

{

///<

summary>

///IDNUMER是为系统生成的一个序列号,如1017103654表示是10月17号10:

36:

54时刻

///进行的一个交易,此方法不是太科学,如如果到下年的这个时候还是同一时刻进行的交易

///就会存在冲突,解决方法是可以在前面加上年份,或者是将当初的ID设置为nvarchar类型

/summary>

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();

selectdistinctBarcodefromBookorderbyBarcode"

reader=cmd.ExecuteReader();

cmbBarcode.Items.Clear();

cmbBarcode.Items.Add(reader[0]);

///通过会员号来检查会员以及享受的折扣

paramname="

sender"

>

<

/param>

e"

privatevoidbtnOK_Click(objectsender,EventArgse)

if(cmbCustomerID.Text=="

return;

selectLevelsfromCustomerwhereID="

+cmbCustomerID.Text;

objectoLevel=cmd.ExecuteScalar();

if(oLevel==null)

无此会员记录"

"

错误"

MessageBoxButtons.OK,MessageBoxIcon.Warning);

nudDiscount.Value=1;

else

selectDiscountfromDiscountwhereLevels="

+oLevel.ToString();

nudDiscount.Value=(decimal)((double)cmd.ExecuteScalar());

///添加选定的书名到购物清单,但是目前还不能重复添加

privatevoidbtnAdd_Click(objectsender,EventArgse)

if(cmbBarcode.Text=="

if(!

chkCustomerID.Checked)

cmd.CommandText=string.Format("

selectID,ISBN,Name,PricefromBookwhereBarcode='

{0}'

cmbBarcode.Text);

SqlDataReaderreader=null;

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);

没有符合条件的记录"

"

提示"

MessageBoxButtons.OK,MessageBoxIcon.Asterisk);

数据访问错误:

+exp.Message,"

MessageBoxButtons.OK,MessageBoxIcon.Error);

fina

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 院校资料

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1