星云图书销售系统课程设计报告Word格式文档下载.docx
- 文档编号:22098452
- 上传时间:2023-02-02
- 格式:DOCX
- 页数:28
- 大小:967.98KB
星云图书销售系统课程设计报告Word格式文档下载.docx
《星云图书销售系统课程设计报告Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《星云图书销售系统课程设计报告Word格式文档下载.docx(28页珍藏版)》请在冰豆网上搜索。
(5)论文撰写:
30分。
4)参考文献:
(1)马新瑞主编.Java程序设计教程———基于华为云DevCloud[M].北京邮电大学出版社.2019.11
(2)CSDN社区:
5)课程设计进度安排
1.准备阶段(4学时):
选择设计题目、了解设计目的要求、查阅相关资料
2.程序模块设计分析阶段(4学时):
程序总体设计、详细设计
3.代码编写调试阶段(8学时):
程序模块代码编写、调试、测试
4.撰写论文阶段(4学时):
总结课程设计任务和设计内容,撰写课程设计论文
6)课程设计题目具体要求:
(1)本系统的主要用户分为两类,即管理员和顾客。
系统提供这两类用户的登录功能。
当用户名和密码一样时,登录成功;
否则,登录失败,提示登录失败的信息。
当用户名和密码都是“admin”时,登录用户为库存管理员。
(2)管理员可以管理图书库存(出库、入库)、查询和新增图书。
(3)顾客可以查询图书、购买图书和结账。
在结账的时候,系统会提示顾客是否购买附赠品(CD、包装和钢笔)。
学生签名:
2020年09月11日
课程设计(论文)评阅意见
序号
项目
等级
优秀
良好
中等
及格
不及格
1
课程设计态度评价
2
出勤情况评价
3
任务难度评价
4
工作量饱满评价
5
设计中创新性评价
6
论文书写规范化评价
综合评定等级
评阅人:
2020年09月09日
目 录
第1章系统设计目的.............................1
第2章系统实现思路..............................1
第3章系统详细设计..............................2
第4章系统调试运行..............................8
第5章课程设计心得..............................11
第6章参考文献........................................11
第7章附录..................................................11
第1章系统设计目的
1)设计一个简单的销售系统,可以实现以下功能:
1:
顾客对购买图书目录查询,价格查询,附赠品选购,结账;
2:
管理员对图书的库存管理,增删图书管理;
3:
项目可以通过用户名和密码登录,获取不同权限
2)通过这次设计,可以帮助学生:
1:
提高对Java语言设计的掌握能力;
2:
初步了解工厂模式
3:
理论联系实际,进一步提高学生的软件开发技术;
4:
培养学生分析、解决问题的能力。
第2章系统实现思路
项目框架
(1)实体类
(2)权限类
(3)业务类
创建实体类
2:
定义角色类
角色的属性有顾客权限、库存管理员权限和角色描述。
角色描述用于区分角色。
它有一些getter()/setter()方法,以及两种权限的分配操作。
2:
角色权限
权限是操作,是针对行为的。
一般把行为抽象为接口,所以把权限抽象为接口,开发中,遇到类似权限划分的问题,一般可以采用用户、角色、权限的模式。
工厂模式
工厂模式如果想增加产品,只要扩展工厂类就可以了,提高了系统的可扩展性;
对调用者来说,屏蔽了产品的具体实现,只为其提供接口,降低系统耦合性。
代码设计
编写每个控件的相关代码,并进行调试。
第3章系统详细设计
界面设计
创建命令行主菜单和输入提示,在命令行中出现运行结果。
主要代码:
publicvoidaccreditRole(Useruser){
System.out.print("
请输入用户名:
"
);
Stringusername=input.next();
请输入密码:
Stringpassword=input.next();
if(user.login(username,password)){
System.out.println("
登录成功!
}else{
登录失败,请重新登录"
accreditRole(user);
}
//库存管理员操作
publicvoiddoStoreMgr(Useruser){
----------欢迎登录库存管理系统----------"
user.query();
//查询库存
请选择进行的操作:
1.图书入库2.图书出库3.查询全部图书4.新增图书5.退出"
intcodeId=input.nextInt();
try{
switch(codeId){
case1->
{
inBook(user);
//图书入库
doStoreMgr(user);
//再次调用库管操作
case2->
outBook(user);
//图书出库
case3->
case4->
Bookbook=inputBookInfo();
//录入图书信息
user.save(book);
//新增图书
case5->
谢谢使用!
default->
thrownewException();
}catch(Exceptione){
请输入正确格式的数字1-5"
}
//顾客的操作
publicvoiddoCustomer(Useruser){
Scannerinput=newScanner(System.in);
------欢迎光临星云图书系统------"
//查询图书
1.查看图书2.结账3.退出"
intcode_id=input.nextInt();
switch(code_id){
doCustomer(user);
buyBook(user);
//买书结账
谢谢光临,再见!
请重新输入正确格式的数字1-3"
功能设计
对每个菜单项进行注册监听。
点击不同菜单项时,显示不同界面。
部分功能代码如下:
//入库
publicvoidin(intbookId,intnum){
if(storeMgr==null){
您没有库存管理员权限"
return;
storeMgr.in(bookId,num);
publicvoidout(intbookId,intnum){
storeMgr.out(bookId,num);
//新增图书
publicvoidsave(Bookbook){
storeMgr.save(book);
//查询图书
publicvoidquery(){
if(normal==null&
&
storeMgr==null){
您还没有登录,请登陆后再操作"
}elseif(normal!
=null){
normal.query();
}else{
storeMgr.query();
//结账
publicvoidcheckout(Bookbook){
if(normal==null){
normal.checkout(book);
//购买图书
publicBookbuy(intbookId,intnum){
returnnull;
returnnormal.buy(bookId,num);
//购买附赠品
publicEXbuyEx(intexCode){
returnnormal.buyEx(exCode);
publicStringgetDescription(){
returndescription;
publicvoidsetDescription(Stringdescription){
this.description=description;
publicvoidsetStoreMgr(StoreMgrstoreMgr){
this.storeMgr=storeMgr;
publicvoidsetNormal(Normalnormal){
this.normal=normal;
第4章 系统调试运行
1:
界面调试
命令行中出现输入用户登录提示,登陆后命令行中打印出菜单及其选项
如图:
(1)管理员
(2)用户
功能调试
对所有菜单项进行调试运行。
(2)
用户
第5章 课程设计心得
经过一个星期的课程设计,我们在张英奇老师的指导下,顺利完成该课程设计。
通过该课程设计,收获颇多。
(1)加深了对Java语言的理论知识的理解;
(2)更加熟练的掌握了Java语言的设计能力并且有了实践经验;
(3)在设计过程中,学到了老师没有在课堂上没有教授的知识;
(4)了解了Java开发模式———工厂模式;
(5)对软件开发的流程有了一定的了解;
(6)加强了我对Java语言的学习兴趣和好感。
第6章 参考文献
[1]马新瑞主编.Java程序设计教程———基于华为云DevCloud[M].北京邮电大学出版社.2019.11
[2]李刚.疯狂Java讲义(第5版).电子工业出版社,2019.04
[3]杨冠宝(孤尽),主编.阿里巴巴Java开发手册.电子工业出版社,2018.01
第7章 附录
部分程序源代码如下:
packagecom.stu.biz;
importcom.stu.entity.Book;
importcom.stu.entity.ex.EX;
importcom.stu.entity.ex.ExFactory;
publicclassBookBiz{
publicstaticBook[]books=newBook[30];
//图书书架
//初始化书的信息
publicstaticvoidmakeData(){
Bookbook1=newBook();
Bookbook2=newBook();
Bookbook3=newBook();
Bookbook4=newBook();
Bookbook5=newBook();
book1.setId(10001);
book1.setName("
夜航船"
book1.setAuthor("
张岱"
book1.setPub_date("
2018-11-01"
book1.setPrice(99.80);
book1.setStore(15);
book2.setId(10002);
book2.setName("
浮生六记"
book2.setAuthor("
沈复"
book2.setPub_date("
2017-04-01"
book2.setPrice(45.00);
book2.setStore(10);
book3.setId(10003);
book3.setName("
人间词话"
book3.setAuthor("
王国维"
book3.setPub_date("
2017-07-01"
book3.setPrice(56.00);
book3.setStore(18);
book4.setId(10004);
book4.setName("
随园食单"
book4.setAuthor("
袁枚"
book4.setPub_date("
2019-09-01"
book4.setPrice(55.00);
book4.setStore(15);
book5.setId(10005);
book5.setName("
笑林广记"
book5.setAuthor("
游戏主人"
book5.setPub_date("
2016-09-22"
book5.setPrice(36.00);
book5.setStore(12);
books[0]=book1;
books[1]=book2;
books[2]=book3;
books[3]=book4;
books[4]=book5;
//图书入库
publicvoidinBook(intbookId,intnum){
Bookbook=findBookById(bookId);
if(book==null){
没有此ID的图书,请选择新增图书!
}else
book.setStore(book.getStore()+num);
//修改图书数量
//图书出库
publicvoidoutBook(intbookId,intnum){
此书不存在,请确认!
if(book.getStore()<
num){//判断库存量
库存不足,请确认!
book.setStore(book.getStore()-num);
//出库(减少库存数量)
publicvoidsaveBook(Bookbook){
for(inti=0;
i<
books.length;
i++){//遍历书架
if(books[i]==null){//找到书架的空位置
intnewId=books[i-1].getId()+1;
//给新书编号
book.setId(newId);
books[i]=book;
//存储新书
break;
publicvoidquery(){
书号\t\t书名\t\t\t作者\t\t\t发布日期\t\t价格\t库存"
for(Booktemp:
books){//遍历书架
if(temp==null)//判断书架是否有书
else{//显示图书信息
intid=temp.getId();
Stringname=temp.getName();
Stringauthor=temp.getAuthor();
Stringpub_date=temp.getPub_date();
doubleprice=temp.getPrice();
intstore=temp.getStore();
System.out.println(id+"
\t\t\t\t"
+name+"
\t\t\t"
+author
+"
+pub_date+"
\t\t"
+price+"
+store);
publicBookbuyBook(intbookId,intnum){
//查找到图书
if(book==null){//如果没有此书,返回null
for(Bookvalue:
books){//遍历书架
if(bookId==value.getId()){//如果找到欲出库图书
if(value.getStore()<
num){//判断库存量
value.setNum(num);
//设置购买数量
returnvalue;
publicEXbuyEx(intexCode){
returnExFactory.create(exCode);
//调用工厂里的方法得到附赠品
book.setStore(book.getStore()-book.getNum());
//减少库存数量
doubleprice=book.cost();
//计算价格
总价格为:
+price+"
\n"
//查询图书是否存在
publicBookfindBookById(intid){
for(Bookbook:
if(book==null){//如果书架为空,结束查找
if(id==book.getId()){//找到图书则返回
returnbook;
packagecom.stu.role;
importcom.stu.authority.Normal;
importcom.stu.authority.StoreMgr;
publicclassRole{
privateStringdescription;
//角色名
privateStoreMgrstoreMgr=null;
//库管权限
privateNormalnormal=null;
//顾客权限
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 星云 图书 销售 系统 课程设计 报告
![提示](https://static.bdocx.com/images/bang_tan.gif)