0.人员分工。
代码 | 博客 |
---|---|
邓宏 | 姚庆荣 |
1.前期调查。
客人先在商城中浏览商品,将浏览的商品加入购物车,最后通过购物车生成订单,支付购买结束。
2.系统功能结构图。
业务流程图
功能结构图
3.系统描述:购物车程序:先将商城中的商品进行包装,表明商品编号,商品名称,商品类型,商品单价作为商品类的属性。当顾客浏览商城时选中待购买的商品,需从商品类中提取有关商品信息,并根据商品的单价和数量计算该类商品的价格,最后在用户界面显示商品的信息与价格。
4.UML类图:
5.本系统哪里体现了面向对象的封装性。
在ProductItem.java中
public class ProductItem {
private Product product;//购买的商品
private int count;//商品数量
public double totalMoney(){//小计
double price=product.getPrice();//获取商品单价
return price*count;
}
public ProductItem() {
super();
}
public ProductItem(Product product, int count) {
super();
this.product = product;
this.count = count;
}
public Product getProduct() {
return product;
}
public void setProduct(Product product) {
this.product = product;
}
public int getCount() {
return count;
}
public void setCount(int count) {
this.count = count;
}
}
pubilc、private体现了面向对象的封装性;
**商品的属性、商品属性的获取方式、购物车中商品的添加可以体现面向对象的封装性;
6.项目包结构与关键代码:项目的包结构(为什么要这样设计包结构),主要功能(如网购物车添加、删除商品)的流程图与关键代码。
该项目的包结构可以保证在后期进行程序修改时更为简便。
6.1 商品添加
流程图
关键代码
public void addProduct(Product p){//添加商品
int productId=p.getProductId();
if(map.containsKey(productId)){
ProductItem productItem=map.get(productId);
productItem.setCount(productItem.getCount()+1);
}else{
map.put(productId, new ProductItem(p,1));
}
}
6.2 购物车展示
流程图
关键代码
public class ShoppingCartTest {
public static void main(String[] args) {
ShoppingCart cart=new ShoppingCart();
Product p1=new Product(101,"华硕笔记本","笔记本",4599);
Product p2=new Product(102,"苹果","水果",5.9);
Product p3=new Product(103,"彩电","家电",2799);
Product p4=new Product(104,"秋裤","服装",128);
Product p5=new Product(105,"华为手机","手机",2998);
Product p6=new Product(101,"华硕笔记本","笔记本",4599);
cart.addProduct(p1);
cart.addProduct(p2);
cart.showAll();
}
}