Giter VIP home page Giter VIP logo

buybuybuy-bank's Introduction

电商交易平台设计
我们经常会在淘宝、京东等电商平台购买产品,这次编程的任务是做一个类似的电商交易平台。此外,为了实现交易功能,我们还要设计一个银行系统,用于产品的支付。

(注:请将所有的类中的数据置为私有,请将不需要被该类外部访问的函数设置为私有;如有良好的界面设计有额外加分)

题目一:银行门户的设计
	该门户是一个单独的程序,程序要求至少支持以下功能:
1) 注册银行卡,银行可选;
2) 修改银行卡密码;
3) 存款取款;
银行卡至少需要有卡号,密码,所属银行名称,持卡人身份证号,卡内金额等内容。
要求1:请把所有的银行名写入文件(或数据库),注册银行卡的时候,要求只能选择已经存在的银行进行注册。
要求2:请做好错误场景的处理,例如读银行文件错误,输入数据不合法等等。

题目二:电商平台的设计
	该平台是银行门户之外的一个单独的程序,程序要求至少支持以下功能:
1) 注册&登录:支持新用户注册平台账号,已注册用户用平台账号登录平台。(要求已注册用户的信息长久保留。)
2) 浏览平台产品信息。
3) 优惠活动:支持对同一品类下所有产品打折的活动,支持单笔订单满X减Y的活动。
4) 购买产品:支持用户添加产品到购物车,查看实际应付的产品价格,提交订单。
在题目二我们暂时不考虑提交订单后支付等后续需求。
要求1:电商平台上至少有三类产品:如食物、服装、图书等,每类产品中至少有三个具体的产品(如图书中可以有《C++ Primer》、《Effertive C++》等),每个具体的产品请至少包含产品描述,产品原价,产品剩余量等数据。所有的产品信息需要存储在数据库或文件中,不能写在代码中,平台管理员通过直接修改数据库或文件,管理本平台上的产品,包括产品的增加和删除,修改数量以及具体产品的属性信息等。
要求2:请至少设计一层继承体系(产品基类-产品子类),设计一个产品基类,然后让图书类、电子产品类和服装类等产品子类类继承它,具体的产品是产品子类的实例对象(<<C++ Primer >> 是图书类的实例对象) 。产品基类请至少具有一个虚函数getPrice()用于计算具体产品的价格。
要求3:请通过为每个产品子类定义“品类折扣系数”来支持对同产品子类下所有产品打折扣的活动(如图书全场5折,则图书类这一产品子类的折扣系数为0.5)。
要求4:请做好错误场景的处理。

题目三:网上支付的设计
实现题目三会让你设计的平台像个真正的运行在网络上的平台。题目三要求在题目一、二的基础上支持通过网上支付在电商平台上购物,请至少实现以下功能:
1) 绑定银行卡:支持电商平台账号绑定银行卡。同一账号可以绑定多张银行卡,而且银行卡可以属于不同银行。
2) 网上支付:选择绑定的任一银行卡支付电商平台上的订单。

要求1:绑定银行卡和选择银行卡进行支付时都要求提供对应的银行卡密码。
要求2:当在电商平台上绑定银行卡或者进行网上支付的时候,请不要直接打开某个文件查找银行卡的信息,因为银行卡信息文件是银行门户系统私有的,电商平台系统无法直接访问,而应该由电商平台系统去向银行门户系统对接数据。请用socket通信来传送数据。
要求3:请做好错误场景的处理,如绑定银行卡失败,支付失败等。

buybuybuy-bank's People

Contributors

senpai-a avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.