这几天一些人在使用MicrosoftOfficeVisio的时候,问其中是怎么把文件输出为高像素jpg图片的?今日在这小编就为你们带来了MicrosoftOfficeVisio把文件输出为高像素jpg图片的详细操作步骤。我们先打......
2022-05-07 87 Visio把文件输出为高像素jpg图片
今天尝试使用visio画了一个序列图。
话不多说,先打开visio,新建一个UML序列。
先新建几个对象生命线
加入几个激活
而后是消息,实线表示请求,虚线表示响应。
当然如果不影响理解,可以不用每个请求都配上一个响应。
此UML例子是在《UML精粹:标准对象建模语言简明指南》中拿过来的,为了更好的理解这个UML,下面使用java来实现此UML。
procuct
packagecom.simon.uml.sequenceDiagram;
/**
*CreatedbyIntelliJIDEA.
*
*@author:Simon
*@date:2019-05-09
*@time:14:50
*@description:产品
*/
publicclassProduct{
privateStringname;
privatedoubleprice;
publicStringgetName(){
returnname;
}
publicvoidsetName(Stringname){
this.name=name;
}
publicdoublegetPrice(){
returnprice;
}
publicdoublegetPrice(intnumber){
doubleorderLinePrice=price*number;
System.out.println("productname:"+getName()
+"\tprice:"+getPrice()
+"\tnumber:"+number
+"\torderlineprice:"+orderLinePrice
);
returnorderLinePrice;
}
publicvoidsetPrice(doubleprice){
this.price=price;
}
}
customer
packagecom.simon.uml.sequenceDiagram;
/**
*CreatedbyIntelliJIDEA.
*
*@author:Simon
*@date:2019-05-09
*@time:14:51
*@description:客户
*/
publicclassCustomer{
privatedoublediscount;
publicdoublegetDiscountedValue(Orderorder){
returndiscount*order.getBaseValue();
}
publicdoublegetDiscount(){
returndiscount;
}
publicvoidsetDiscount(doublediscount){
this.discount=discount;
}
}
order
packagecom.simon.uml.sequenceDiagram;
importjava.util.List;
/**
*CreatedbyIntelliJIDEA.
*
*@author:Simon
*@date:2019-05-09
*@time:14:50
*@description:订单
*/
publicclassOrder{
privatedoublebaseValue;
privateCustomercustomer;
privateList
publicdoublecalculatePrice(){
doublesumOrderLinePrice=0;
for(OrderLineorderLine:orderLineList){
doubleorderLinePrice=orderLine.calculatePrice();
sumOrderLinePrice+=orderLinePrice;
}
this.setBaseValue(sumOrderLinePrice);
System.out.println("orderbaseprice:"+sumOrderLinePrice);
doublediscountedValue=getCustomer().getDiscountedValue(this);
System.out.println("orderdiscountedprice:"+discountedValue);
returndiscountedValue;
}
publicdoublegetBaseValue(){
returnbaseValue;
}
publicvoidsetBaseValue(doublebaseValue){
this.baseValue=baseValue;
}
publicList
returnorderLineList;
}
publicvoidsetOrderLineList(List
this.orderLineList=orderLineList;
}
publicCustomergetCustomer(){
returncustomer;
}
publicvoidsetCustomer(Customercustomer){
this.customer=customer;
}
}
orderline
packagecom.simon.uml.sequenceDiagram;
/**
*CreatedbyIntelliJIDEA.
*
*@author:Simon
*@date:2019-05-09
*@time:14:50
*@description:订单明细
*/
publicclassOrderLine{
privateintnumber;
privateProductproduct;
publicOrderLine(intnumber,Productproduct){
this.number=number;
this.product=product;
}
publicdoublecalculatePrice(){
returnproduct.getPrice(number);
}
publicintgetNumber(){
returnnumber;
}
publicvoidsetNumber(intnumber){
this.number=number;
}
publicProductgetProduct(){
returnproduct;
}
publicvoidsetProduct(Productproduct){
this.product=product;
}
}
order的测试用例
packagecom.simon.uml.sequenceDiagram;
importorg.junit.Assert;
importjava.util.ArrayList;
importjava.util.List;
/**
*CreatedbyIntelliJIDEA.
*
*@author:Simon
*@date:2019-05-09
*@time:15:23
*@description:
*/
publicclassOrderTest{
@org.junit.Test
publicvoidcalculatePrice(){
//这个商品是鞋子,123块钱一双
ProductproductShoes=newProduct();
productShoes.setName("shoes");
productShoes.setPrice(123);
//这个商品是袜子,8块钱一双
ProductproductSocket=newProduct();
productSocket.setName("socket");
productSocket.setPrice(8);
//这是一个老客户,打七折
Customercustomer=newCustomer();
customer.setDiscount(0.7);
//这个客户下了一个单
Orderorder=newOrder();
order.setCustomer(customer);
//买了一双鞋子,两双袜子
OrderLineorderLineShoes=newOrderLine(1,productShoes);
OrderLineorderLineSocket=newOrderLine(2,productSocket);
List
orderLineList.add(orderLineShoes);
orderLineList.add(orderLineSocket);
order.setOrderLineList(orderLineList);
//算一算总共多少钱
doublepriceActual=order.calculatePrice();
Assert.assertEquals("97.3",String.valueOf(priceActual));
}
}
测试用例的输出
productname:shoesprice:123.0number:1orderlineprice:123.0
productname:socketprice:8.0number:2orderlineprice:16.0
orderbaseprice:139.0
orderdiscountedprice:97.3
标签: UML序列图
相关文章
这几天一些人在使用MicrosoftOfficeVisio的时候,问其中是怎么把文件输出为高像素jpg图片的?今日在这小编就为你们带来了MicrosoftOfficeVisio把文件输出为高像素jpg图片的详细操作步骤。我们先打......
2022-05-07 87 Visio把文件输出为高像素jpg图片
Visio的新用户们,并不熟悉其中连接符在什么位置?今天在此文章中就带来了MicrosoftOfficeVisio找到连接符位置的详细操作过程。我们先打开MicrosoftOfficeVisio软件,在绘图区中添加两个形状。然......
2022-05-07 150 Visio找到连接符位置
怎么绘制大括号等特殊符号的?今日在这里小编就为你们带来了MicrosoftOfficeVisio绘制大括号等特殊符号的详细操作流程。我们需要先打开MicrosoftOfficeVisio软件,创建基本流程图。然后进入正文......
2022-05-07 481 Visio绘制大括号等特殊符号
一些用户在使用MicrosoftOfficeVisio的时候,不是很熟悉其中是怎么合并图形的?本期为你们带来的内容就讲述了MicrosoftOfficeVisio合并图形的详细操作流程。首先我们打开MicrosoftOfficeVisio软件,选......
2022-05-07 305 Visio合并图形
一些用户在使用MicrosoftOfficeVisio的时候,想要绘制办公室平面图,你们知道怎么绘制的吗?以下内容就为你们带来了MicrosoftOfficeVisio绘制办公室平面图的具体操作方法。我们需要先打开Micros......
2022-05-07 334 Visio绘制办公室平面图