文档库 最新最全的文档下载
当前位置:文档库 › 《UML系统分析和设计》

《UML系统分析和设计》

《UML系统分析和设计》
《UML系统分析和设计》

《UML系统分析和设计》

软工14级《UML系统分析与设计》

大作业

问题定义:

设计某医药公司进销存管理信息系统的进货、库存、销售三个组成部分。

进货子系统有

药品验收处理

1 产生进货传票(进货传票编码、商品编码、品名、规格、厂商、有效

期、进价、进货数量)。

2进货传票将被打印给供货商作为收货凭证。一次进货可有多项药品,由进货传票编码唯一标识;一种药品由商品编码唯一标识。系统设有一个商品目录(商品编码、品名、规格、厂商、有效期、销售价格)。

3当进货的药品是新药品(商品目录中没有的药品)时,进货子系统自动把新药品写入商品目录。

库存子系统有

1进货入库

2销售出库

处理维护库存帐(商品编码、品名、规格、厂商、有效期、进货量、进价、出库量、销售价、库存数量、库存下限量、库存上限量),库存帐不能做修改操作,

当进货入库时,根据进货传票产生一条新记录,库存数量加上进货量;

当销售出库时,根据销售传票产生一条新记录,库存数量减去出库量;商品编码是各药品的唯一标识字。

库存子系统设库存自动报警,当库存数量大于库存上限量或者小于库存下限量时,给出警告信息。

销售子系统有

定价处理和销售处理。

1定价处理有一个商品价格表(商品编码、品名、规格、厂商、有效期、建议价格、销售价格、批准责任人)首先由销售管理员定建议价格,经过经理批准后确定销售价,并自动更新商品目录的销售价;

2销售处理在公司的销售窗口,售货员根据顾客要求查找商品目录和库存帐,如果有货(库存数量满足顾客要求),一项销售成立,产生销

售传票的一条记录,一次销售可有多项记录,由销售传票唯一标识。销

售传票的数据结构是(销售传票编码、商品编码、品名、规格、厂商、

有效期、销售价、销售数量)。销售传票是库存子系统记录库存帐的依据。

销售传票将被打印给顾客作为提货凭证。

以上为本次试题的基本部分(称基本系统),为必做部分。事实上的进销存系统还有其它组成,例如“退货处理”、“客户管理”、“供货商管理”、“定价管理”等,有兴趣的同学可以选做或者补充某些附加内容。

作业要求:

1.针对上述需求,请用面向对象的系统分析和设计方法完成附件中作业要求;

2.解答时可以查询资料、可以讨论、可以使用建模工具(如Rose、together等),必须用打印文档交卷,注明姓名、学号;

3.提交的文档格式如附件所示,需要提交设计的视图,此处所占的分数比重较大,没有的话扣分。

4.自己在完成课程设计的心得体会(个人总结)一定要写,所占的分数比重较大。

5.根据基本系统的静态模型利用工具导出各子系统的java或者c++程序结构。

6.完成时间:各班学习委员收集后统一于17周的星期一上午缴给我。

附件:(选择1)

附件:(选择2)

1.自行选择一个工程,项目的规模不小于

100个类(包的层次不小于3级),使

用逆向工程从代码还原出系统UML模

型,并推导出系统的需求;例如:

包---

包----

包--- …..

选择1:

1、 需求收集、描述 1.1:发掘业务过程: 药品验收处理:

生成进货传

商品目录

供应商

供应商供应

药品

是否是新药品?

是新药品就写入商品目录

药品入库

处理维护库存帐:

进货传票

销售传票

加法

减法

进货销售

库存量

上限库存量下限库存量

大于

低于

系统自动报

定价处理和销售处理:

1.2领域分析

备选类:商品编码、品名、规格、厂商、有效期、进价、出库量、销售价、进货数量、销售价格、出库量、库存数量、库存下限量、库存上限量、建议价格、销售价格、批准责任人、销售数量、销售传票编码、顾客、销售员、销售传票、进货传票、进货传票编码、仓库管理员、药品

确定候选类:进货传票、商品目录、供应商、药品、售货员、顾客、库存帐、商品价格表、批准责任人、销售传票

1.3确定系统完全需求

生成包图:

销售子系统

进货子系统库存子系统

依赖关系,其余不做说明的是泛化关系

图像用户界

Windows 图像用户界面

高层用例图:

系统管理

高层管理

人员管理

药品销售进货入库

药品库存

销售出库

定价处理

药品进货

销售处理

2.系统USE CASE模型

2.1 分析(按照需求设计用例)

用例1:进货

场景1:药品库存量低于库存下限量时候,系统会自动发出警报,表示需要进货,就会列出需要进货的药品名和药品数量,然后产生进货传票,打印进货传票给供应商供应药品。

场景2:当有新药品的时候,公司会会为了适应顾客的需求,就会引进新药品。根据高层的研究,列出药品名和数量,产生打印传票给供应商供应药品。用例2:进货入库、销售出库

场景1:医药公司根据进货传票产生的新记录,目前库存量加上进货库存量,查看警告信息,如果库存量低于下限量,就会进货入库。

场景2:医药公司根据销售传票产生的新记录,目前库存量加上进货库存量,查看警告信息,如果库存量高于上限量,就会销售出库。

用例3:销售

场景1:公司根据顾客的需求,在库存量满足顾客的需求时,售货员就把药品销售给顾客,售货员将给顾客提货凭证,输入药品的相关信息,产生销售传票并打印给顾客。

场景2:当有新药品进货时,销售管理员定建议价格,经过经理批准后确定销售价,并自动更新商品目录的销售价,开始销售。

参与者功能描

进货负责人负责进货管理、引进新

药品

仓库管理员负责管理进货入库和销

售出库

销售管理员负责定销售药品的建议

价格

销售经理负责审核确定销售价、

更新药品的价格

售货员负责根据顾客要求查找

药品目录和库存帐供应商负责供应药品

顾客购买药品

2.3.1进货:

USE CASE名称进货

目的医药公司

系统名称进货子系统

进货子系统

(from Use Case View)

进货负责人(from Use Case View)场景1:进货药名、数量

供应商

(from Use Case View)场景2:新药品

主程序:进货负责人根据不同场景,打印进货传票,传给供应商,供应商根据传票供应药品给医药公司。

USE CASE名称进货入库,销售出库目的药品入库、药品销售出

系统名称库存子系统

库存子系统

仓库管理员

供应商送货员进货入库

销售经理销售出库

主程序:仓库管理员根据进货传票产生的新记录,目前库存量加上进货库存量,查看警告信息,如果库存量低于下限量,就会进货入库;如果库存量高于上限量,就会销售出库。

USE CASE名称销售

目的销售药品

系统名称销售子系统

销售子系统

销售管理员

销售经理

售货员销售处理

定价处理

顾客

主程序:公司根据顾客的需求,在库存量满

足顾客的需求时,售货员就把药品销售给顾客,售货员将给顾客提货凭证,输入药品的相关信息,产生销售传票并打印给顾客。当有新药品进货时,销售管理员定建议价格,经过经理批准后确定销售价,并自动更新商品目录的销售价,开始销售给顾客。

2.4 USE CASE 视图

公司高层

进货负责人

商品目录

进货传票

增加新药品

供应商

进货传票

供应商送货员

进货传票

高于上限量,低于下限量

发出警报

库存帐销售出库

仓库管理员

销售传票

药品建议价格

销售经理

销售经理审核

销售管理员

售货员

药品

销售出库

商品目录

确定药品销售价格

顾客

定价处理

修改

拟定

3. 系统逻辑结构设计

3.1进货系统(描述涉及概念、映射对象、涉及角色) 3.1.1事件流过程(主要事件流脚本)

1)进货负责人通过系统发出的警告确定进货药名和数量 2)进货负责人通过系统输入进货药名和数量 3)系统产生进货传票

4)判断是否有新药品,是否修改商品目录 5)进货负责人把进货传票发给供应商 3.1.2 时序图

进货负责人

药品系统

进货传票

商品目录

供应商

输入药名和数量

生成进货传票

有新药品则修改商品目录

是否有新药品

将进货传票发给供应商

3.1.3 状态图(主要类的状态图)

进货负责

药品系统

进货传票

商品目录

供应商

输入药名、数量

系统产生传票是否有新药品,有则修改商品目录

把进货传票发给供应商

3.2销售系统(SaleSystem)

3.2.1事件流过程(主要事件流脚本)

定价处理事件流:

1)销售管理员向系统发出“定价处理”请求

2)销售管理员输入拟定的建议价格

3)销售管理员将拟定的建议价格发给销售经理

4)销售经理审核并确定销售价格,修改商品目录

销售处理事件流:

1)顾客买药品

2)售货员根据顾客要求查看库存帐和商品目录

3)销售成功并打印销售传票

4)顾客拿到销售传票和领取药品

3.2.2 时序图

定价处理时序图:

销售管理员价格销售经理商品目录

销售管理员拟定

建议价格

把建议价

格发送

审核并确

定价格

修改商品

目录

销售处理时序图:

售货员商品目录库存帐销售传票

顾客

发送需要购买的药名、数量

获取商品目录、库存帐

产生销售传票

打印销售传票

顾客拿到销售传票和领取药品

3.2.3状态图(主要类的状态图)

定价处理状态图:

销售管理

价格

销售经理

商品目录

销售管理员拟定建议价格

发送建议价格

审核价格

修改商品目录

销售处理状态图:

顾客售货员

库存帐商品目录

销售传票发送需要购买

的药品、数量

获取商品

目录

获取库存

打印销售

传票

购买药品

销售药品

3.3库存系统(ValueManager)(主要事件流脚本)

3.3.1事件流过程

1)仓库管理员向系统发出“进货入库”请求

2)仓库管理员接到供应商发送的进货传票的信息

3)仓库管理员根据进货传票产生一条新记录,库存数量加上进货量 4)仓库管理员检查库存帐,是否超过上限量。

5)仓库管理员收到售货员销售传票

6)仓库管理员据销售传票产生一条新记录,库存数量减去出库量 7)仓库管理员检查库存帐,是否低于下限量。

3.3.2时序图

仓库管理员

库存帐供应商销售传票

购买药品

发送进货传票

增加进货量

检查是否超过上限量,超则发出警报

收到售货员发送的销售传票

减去销售出库量

检查是否低于下限量,低则发出警报

3.3.3状态图(主要类的状态图)

仓库管理

供应商

销售传票

库存帐

购买药品

增加进货量或者减去出库量

获取销售传票

发送进货传票

检查是否超过上限量或者低于下限量,如有其中一个发生则发生警报

3.4系统整体的类的组织结构

仓库管理员

供应商销售传票

售货员

顾客

销售管理员

销售经理

商品目录

定价处理

销售处理

进货传票

库存帐

4. 完成系统组件图设计

供应商

进货传票

库存帐

销售传票

定价处理

销售处理仓库管理员

销售管理员

销售经理

售货员

商品目录

顾客

管理仓库进货入库,销售出库

修改

发送拟定价格

查看商品目录和库存帐

打印销售传票

获取销售传票和药品

进货入库

出库

5. 完成正向工程实现代码框架

4.1设计完成系统详细类图(系统静态结构,应该包含类及之间的详细信息) 4.1.1 药品类 Drugs

4.1.2 供应商类 Supplier

4.1.3 进货传票类 StockTicket 4.1.4 仓库管理员类 StockMan 4.1.5 库存帐类 StockAccount

4.1.6 销售管理员类SaleManager

4.1.7 销售经理类 Manager

4.1.8 顾客类 Customer

4.1.9 销售传票类 SaleTicket

4.1.10 商品目录类 Catalogue

4.1.11 商品价格类 PriceList

4.1.12 售货员类 SaleMan

4.2生成代码框架(参照自己设计的4.1) 4.2.1药品类Drugs

public class Drugs {

private int Drugs_code;

private int Drugs_name;

private int Specifications;

private int Manufacturer;

private int Date;

private int Price;

public Drugs() { }

public void Set_Druge() { }

public void Get_Druge() { }

}

4.2.2供应商类Supplier

public class Supplier {

private int Supplier_name;

private int Address;

private int Tel;

public Drugs theDrugs;

public Supplier() { }

public void PurchaseVoucher() { }

}

4.2.3 进货传票类StockTicket

public class StockTicket extends Drugs { private int Stock_name;

private int Stock_price;

private int Amount;

public StockTicket() { }

public void set_saleticket() { }

相关文档