《软件工程导论》课程设计

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

(4)“商品价格表”也是一个类,建议价、销售价、批准责任人等都是它的属性。 (5)“销售传票”是一个类。 (6)“销售管理员和售货员”也都是类。事实上都是医药公司的下属员工,可以归纳为一个 “员工”类,而且他们都有性别、年龄、薪资、招聘日期等等的一些基本属性信息。 通过以上分析,可以得到一个候选列表:
库存数量。
“销售”业务用例:售货员向客户销售药品,满足客户的需求。
“定价”业务用例:制定出合理的药品销售价格,并自动更新价格表、存档。
“退货”业务用例:
4. USE CASE 视图
本“医药公司进村小信息管理系统”的 Use Case 视图的模型如下图所示:
三、系统逻辑结构设计 1 进货系统(描述涉及概念、映射对象、涉及角色)
扩展事件流:无 2.1.2(销售系统模块---销售处理)基本事件流 ①顾客呼入买药。 ②售货员根据顾客要求查找商品目录和库存帐。 ③销售成功,系统产生销售传票。 ④打印销售传票。 ⑤顾客领取销售才传票,取商品。
扩展事件流: ②a)如果有货,库存数量符合顾客要求,则转下③。 ②b)如果无货,库存数量不符合顾客要求,则用例结束,不产生销售传票。
联系电话(phone)。 方法有:送货完成 close() ⑦进货(Incoming):进货传票编码(no.)、商品编码(dno.)、品名(name)、规格(specifications)、
厂商(factory)、有效期(valid)、进价(pricie)、进货数量(i-quantity)。 方法有:生成进货传票 dispach( )、完成进货 close() ⑧供应(Supply):商品编码(no.)、品名(name)、规格(specifications)、厂商(factory)、有效期
货单,确认现金管理员已签名,退货单流程已完成,然后将货物退还给供应商,并且进行电子
签名。
2. 角色定义
参与者
ຫໍສະໝຸດ Baidu
功能描述
进货经理
主要负责下进货单,验收药品处理
库存经理
主要负责药品入库和药品销售出库的操作
销售经理
主要宏观上负责确定最后的销售定价以及销售记录信息的处理
销售管理员
主要负责议定销售药品的建议价格
进货经理
系统
经理下进货单 选择支付方式
写入新药品
[yes]
是否有新 药品
供货商
经理取消进 货或超时
[no] [yes]
进程取消
1.2 库存系统活动图 进货员工
药品入库
产生进货传票 产生进货传票
付款
系统
进货完成
供货商送货
改进货单状态
送货完成
[no]
[yes]
收取传票凭证
售货员
获取入库信息 增加进货量
获取出库信息 减去销售量
form(用户窗体)
validate(数据验证)
task(进货药品验收处理) util(数据库处理)
Request()
Confirm()
Fail()
Success()
Save()
Updare()
1.3 Collaboration Diagram (协作图或者通信图) Submit 是提交按钮,SystemContol 是系统控制中心,IncomingTicket 是进货传票,UpdateInfo
1.1 事件流过程(操作描述映射成为方法的表示格式为类和方法)
前置条件:进货经理登录进入进货子系统 后置条件:玩家进货业务 事件流 1.1.1 基本事件流
①进货经理向系统发出“进货药品处理”请求。 ②系统响应请求后,显示相应的界面,让进货经理输入进货药品的信息,并根据进货传票 规则自动生成进货传票编码。 ③进货经理输入进货药品的相关信息,包括:商品编码、品名、规格、厂商、有效期、进 价、进货数量。 ④系统确认算法已经按要求输入完全相关的药品信息。 ⑤系统确认输入的药品信息中是否有新药品。 ⑥系统将所信息存储建档,并产生进货传票。 1.1.2 扩展事件流 ④a)如果药品输入中有相关的信息未输入,则弹出警告提示对话框,要求进货经理选择 继续补充输入或取消输入。 ④a1)进货经理选取取消输入,则用例结束,不产生进货传票。 ④a1)选择继续补充输入,则转到④。 ⑤b)如果药品中有新药品,则自动把新药品写入商品目录。 1.2 Sequence Diagram (顺序图) 请求 request() 验证数据:’confirm() 验证成功 success() 验证失败 fail() 保存处理 save() 更新窗体 Update()
是数据更新指令,Supplier 是供货商,Dispatch 是送货指令
2 销售系统(SaleSystem) 2.1 事件流过程 2.1.1(销售系统模块---定价处理)基本事件流 ①销售管理员向系统发出“定价处理”请求。 ②系统响应请求后,显示对应的界面,让销售管理员输入其议定的销售建议价格。 ③销售管理员点提交,上交给经理审批。 ④经理审批完毕,确定最后的药品销售价格。确定提交给系统。 ⑤系统自动更新商品目录的销售价。
务。当需求提出之后,系统必须马上执行。
1.5 用例 5:“退货”业务(以退货给供货商,供货商现金退给公司为例)
场景:现金管理员检查供应商提交的退货单、还款或者应付票据,然后进行电子签名,系统
自动生成红字分录。如果供应商没有付款,生成的红字分录是对冲应付账款;如果供应商已经
付款,生成的红字分录是对冲现金。现金管理员打印签名后的退货单给供应商。验收员检查退
用例实例是在系统中执行的一系列动作,这些动作将生成特定参与者可见的价值结果,一个
用例定义一组用例实例。
1.1 用例 1:“进货”业务
场景:某医药公司呼入,当库存药品的数量小于库存下限量时,系统发出警告信息,以示需
要进货;或者为适应市场顾客需求,需要引进新药品。在这两种情况下,医药公司需要正确判
断出要进货哪些药品及其数量等,当需求提出后,系统马上执行。
进货传票 供货商 药品 商品价格表 销售传票 销售管理员 售货员 顾客 3 确定系统完全需求(生成包图和高层用例图) 3.1(包图)
3.2 (高层用例图)
公司员工
维护基本资料
药品进货 《include》
进货入库
库存
《include》
销售出库
销售
退货
系统维护
定价
二、系统 USE CASE 模型
1. 分析(按照需求设计用例)
Request2( )
Waring(警告)
2.3 Collaboration Diagram
3 库存系统(ValueManager) 3.1 事件流过程 3.1.1(进货入库模块)基本事件流 ①进货经理向系统发出“进货入库”请求。 ②系统响应请求后,显示相应的界面,让进货经理导入入进货传票的信息。 ③系统接收到进货传票的信息。 ④系统启动程序自动将原库存数加上进货量,更新库存数。 ⑤系统自动判断库存数是否大于库存上限量。 ⑥系统将所信息存储建档。 扩展事件流 ⑤a)系统如果判断出库存数已经大于库存上限量,则发出警告信息。 3.1.2(销售出库模块)基本事件流 ①进货经理向系统发出“销售出库”请求。 ②系统响应请求后,显示相应的界面,让进货经理输入销售药品的信息。 ③系统自动产生销售传票。 ④系统接收到销售传票的信息。 ⑤系统启动程序自动将原库存数减去销售量,更新库存数。 ⑥系统自动判断库存数是否小于库存下限量。 ⑦系统将所信息存储建档。 扩展事件流
⑤a)系统如果判断出库存数已经小于库存下限量,则发出警告信息。 3.2 Sequence Diagram 3.3 Collaboration Diagram
3.4 系统整体类的组织结构
系统整体结构类的组织结构---E-R 图如下
姓名 编号
性别
工资
员工
1 N
定价 商品编码
管理
商品编码
聘用日期
销售时间 销售价
销售方式(saleway)。 方法有:生成销售传票 create()、完成销售 close() ④药品(Drug):商品编码(number)、品名(name)、规格(specifications)、厂商(factory)、
有效期(valid)、建议价格(p-price)、销售价格(s-price)、批准责任人(ower)。 ⑤管理(Manager):定价(pricing)、编码商品(coding)。 ⑥供货商(Suplier):编号(no.)、单位名称(company)、地址(address)、银行账号(account)、
2.2 Sequence Diagram(顺序图) 请求 request() 验证数据: confirm() 验证成功 success() 验证失败 fail() 保存处理 save()
更新窗体 Update()
form(用户窗体)
validate(数据验证)
task(库存量判断)
Request1()
2.2 决定候选类 并不是每个被选类都是合适的候选类,对其进行一番筛选后,将不合适的排除掉。
(1)“进货传票”是个重要的类。进货传票编码 商品编码 品名 规格 厂商 有效期 进 价 进货数量都是用来描述进货传票的,因此应该作为“进货传票”类的属性处理。 (2)“供货商”也是该进销存系统的一个重要的类,应该对其进行建模。 (3)“药品”、“库存帐”和“商品目录”都是一个类。其描述的性质是类似的,但是出库量、 销售价、库存数量、库存上(下)量都是库存帐的属性,不需对其进行建模。
销售编号
销售
销售数量 销售方式
姓名
顾客 M
厂商 商品编码
品名
进货
规格 有效期 进价
进货数量
进货传票编码
编号 地址
联系方式
品名 规格
M 药品
厂商
有效期 销售价
建议价
P
责任人
销售价 规格
供应
商品编号
厂商
品名
有效期 编码
单位名称
Q 供货商
银行账号
编号 地址 电话
四、程序框架 1 详细类图 详细类图如下图:
售货员
主要在公司的销售窗口销售药品
供货商
主要给药品公司提供药品货物
客户
主要买药品
3. USE CASE 工作描述
以下是对各用例的工作进行简单的描述:
“进货”业务用例:医药公司进货经理向供货商家购买药品,录入新药品的信息并自动存档。
“库存”业务用例:系统根据进货传票或者销售传票信息记录自动更新库存信息,确保正确的
①公司员工(Employees):姓名(name)、性别(sex)、编号(no.)、工资(wage)、聘用日期
(hiredate)。 ②顾客(Customer):客户编号(cno.)、名字(name)、地址(address)、联系方式(telephone)。 ③销售(Sales):销售编号(sno.)、销售价(price)、销售时间(saledate)、销售数量(quantity)、
把药品销售给客户。售货员将要给客户提货凭证,输入销售药品的相关信息,然后启动销售业
务-----“打印销售传票”任务。
1.4 用例 4:“定价”业务
场景:某医药公司销售管理员呼入。销售管理员拟定销售建议价格,在正式销售之前,向经
理提交议价审批,确定最后销售价格。在这种情况下,系统将要自动更新药品目录的销售价业
销售药品
维护库存账
维护库存账
维护库存账
警告
1.3 销售子系统活动图 公司员工 ●
销售管理员定价
经理审批定价
系统
更新价格表
客户
进入买药
判断库存
[no]
是否有货
[yes]
付款
系统修改数据 打印销售传票
收取提货单
2 领域分析(确定候选类) 2.1 找到被选类
根据题意得,将其中的所有名词及名词短语列出来可以得到如下的被选类列表: 进货传票 进货传票编码 商品编码 品名 规格 厂商 有效期 进价 进货数量 供货商 药品 商品目录 销售价格 库存帐 出库量 销售价 库存数量 库存下限量 库存上限量 商品价格表 建议价格 批准责任人 销售管理员 售货员 顾客 销售传票编码 销售数量
1.2 用例 2:“库存”业务
场景:当进货入库时,系统根据进货传票产生的新纪录,库存数量需要加上进货量;当销售
出库时,系统根据销售传票产生的新纪录,库存数量需要减去销售量。此时,系统要在维护其
他库存帐的同时,更新库存数量值。当需求提出后,系统马上执行。
1.3 用例 3:“销售”业务
场景:医药公司有顾客呼入。顾客提出购货需求,医药公司在有货的情况下,售货员成功的
《软件工程.课程设计》
医药公司进销存 管理信息系统
专 业: 指导教师 : 班 级: 学 号: 姓 名: 完成时间 :
计算机科学与技术 欧阳浩 计 071 班
200700401006 苏建
2010 年 7 月 6 日
广西工学院计算机工程系
一、需求收集、描述
1 发掘业务过程(可用活动图描述)
1.1 进货系统活动图
相关文档
最新文档