Java项目实训模拟网上超市购物结算功能.docx
《Java项目实训模拟网上超市购物结算功能.docx》由会员分享,可在线阅读,更多相关《Java项目实训模拟网上超市购物结算功能.docx(31页珍藏版)》请在冰点文库上搜索。
Java项目实训模拟网上超市购物结算功能
目录
实训项目一:
模拟网上超市购物结算功能
实训项目二:
图书管理系统的开发
学生实训作品
Java项目实训:
模拟网上超市购物结算功能
一、实训目的
使用Java语言编写一个模拟网上超市购物结算功能的程序,要求程序运行后有一个图形用户界面,可供用户输入购买的各种商品相关信息,最后给出用户的购物清单及价格,并且用户可以根据需要查询自己购买的第几项商品的详细信息。
要求学生按照个体软件过程的规范要求,结合该程序的实际开发过程,来深入理解并运用个体软件过程的基本概念、方法与过程。
二、实训要求
1.编写程序要严格按照Java编程规范进行代码编写。
2.必须按照个体软件的过程,真实地采集数据、填写相关的表格、编写有关的文档。
3.按照老师的要求,每个人必须独立完成。
4.按照实训的时间安排进行实训,实训结束后提交有关的表格与文档。
三、实训环境:
JDK1.3.1及以上版本
四、实训安排
一.准备阶段:
实训前准备以下空表格:
1、项目计划总结表、
2、代码复查检查表、
3、时间记录日志、
4、缺陷记录日志、
5、程序规模估计表等;
二.计划、设计阶段
1.分析实训题目要求,获取对该程序功能的描述,完成需求文档;
2.做计划1)估计新程序的规模,填写程序规模估计表;
2)填写项目计划总结表的计划数据部分;
3)将计划阶段所花费的时间记入时间记录日志;
3.做设计,1)对程序进行设计,用流程图或伪码表示法完成设计文档;
2)将设计阶段所花费的时间记入时间记录日志。
需求分析:
1.用户可以添加购买一种商品,添加的信息包括商品名称、数量和单价
2.用户可以删除已购买的一种商品
3.用户可以查询已购买的一种商品的详细信息,查询时要指明查询的商品的记录号是多少(商品记录号是按照商品购买次序编的),还可以指定查询第一个或最后一个购买的商品
信息。
4.用户可以删除所有已添加到购物车的商品
5.用户可以打印要购买的商品的清单
6.用户可以清空显示信息的窗口
7.用户可以要求结帐,系统会打印出用户购物清单,并给出总价。
做计划:
假设我们已经有了一些程序规模的统计数据,根据以前的数据来对本程序进行规模估计,填写规模估计表,如下:
学生Y的程序规模估计
学生 学生Y 日期 10/7/96
教员 老师Z 课程 CLI
程序
代码行
以前的功能
估计的功能
最小
平均
最大
Loops
4
5
Case
2
3
Data
6
Calc.
1
估计
填写项目计划总结表的计划数据部分:
项目计划总结表
学生 学生Y 日期 10/18/05
程序 001 程序号# 001
教师 教师Z 程序设计语言 java
总结 计划 实际 累计
Minutes/LOC
LOC/Hour
Defects/KLOC
过程效益
A/FR
程序规模(LOC)
新开发与更改的
最大规模
最小规模
开发阶段时间/min 计划 实际 累计 累计百分比
计划
设计
编码
代码复查
编译
测试
后置处理
总计
最大时间
最小时间
引入的缺陷 计划 实际 累计 累计百分比 Def/Hour
计划
设计
编码
代码复查
编译
测试
总计
排除的缺陷 计划 实际 累计 累计百分比 Def/Hour
计划
设计
编码
代码复查
编译
测试
总计
程序设计:
publicclassshopextendsAppletimplementsActionListener{
Vectorvect=newVector();//定义存储商品的向量对象
。
。
。
。
。
。
//定义所有界面上出现的组件对象
publicvoidinit(){
初始化所有的组件对象
把组件对象添加到容器中
为按钮组件添加消息监听者
}
publicvoidactionPerformed(ActionEvente){
判断事件源是哪个按钮,根据按钮的功能作出相应的处理
}
classlist{
定义商品类信息,包括商品名称,数量和单价
}
时间记录日志如下:
时间记录日志
学生
学生Y
日期
10/19/05
教员
教师Z
课程
Java
日期
开始时间
结束时间
中断时间
净时间
活 动
备 注
C
U
三.编码阶段
1)根据设计文档,编码实现程序;
2)将编码阶段所花费的时间记入时间记录日志;
编码指导:
1.使用java系统awt包中的容器和组件编写一个图形用户界面如下图所示:
提示:
该程序是一个applet程序,需要嵌入网页中运行。
该用户图形界面的容器是applet,上面摆放了若干个组件,包括Label,TextField,Button,TextArea等。
按照界面上的内容分别生成组件对象,然后把组件添加到容器上。
代码如下所示:
label0=newLabel("品名");
t0=newTextField(10);
area=newTextArea(10,50);
btn1=newButton("添加");
……
add(label0);
add(t0);
add(area);
add(btn1);
……
2.定义一个类,用来表示用户购买的商品,存储商品的名称、数量和单价。
还要定义一个向量类Vector的对象,用来存储用户购买的所有商品对象的列表。
提示:
Vector类相当于一个可变长度的数组,可以用来存储若干个对象,它提供了一些方法,可以随时添加和删除对象。
3.为程序添加消息处理机制,没有消息处理的程序相当于聋子和哑巴,只有添加了消息处理,程序才能与用户进行交互。
本程序中的事件主要是Action类的事件。
提示:
处理Action类的事件的代码如下:
Buttonbtn1=newButton("添加");
btn1.addActionListener(this);
……
publicvoidactionPerformed(ActionEvente){
……
}
四.代码复查、
1.代码复查阶段
1)按照代码复查检查表,复查所有的程序代码;
代码复查检查表如下:
Java代码复查指南和检查表
程序名和程序号#
目的
指导你进行有效的代码复查
#
#
#
#
累计
累计%
一般性说明:
在完成每个复查步骤之后,将发现的某个类型的缺陷的个数记录在右面的栏目中。
如果该步骤没有发现缺陷,就在右面的栏目中打个表示检查无误的交叉符号(X)。
在开始复查下一个程序单元之前,要按照检查表完成对程序,类,对象或方法的检查
完整性
验证设计的所有功能都已经编码
Import
验证import语句是完全的
初始化
检查变量和参数的初始化:
● 在程序的开始;
● 在每个循环的开始;
● 在方法的入口
调用
检查方法调用的格式:
● 参数;
名字
检查名字的拼写和使用:
● 是否前后一致?
● 是否在说明的作用域之内?
● 结构和类中变量的引用是否使用了’.’
对象
检查所有的对象:
● 必须经过初始化
输出格式
检查输出格式:
● 换行是否合适?
● 间隔是否合适?
{}对
保证检查{}是适当的而且是成对的
逻辑操作符
验证==,=,||等逻辑操作符的使用是合适的。
检查每个逻辑函数的( )是合适的
逐行检查
检查每一行代码:
● 指令的语法是否正确?
● 标点是否正确符号是否正确?
标准
保证所有代码符合编码标准
文件的打开与关闭
验证所有的文件:
● 是合适地声明的;
● 是合适地打开的;
● 是合适地关闭的
全面检查
对整个程序进行全面的检查以发现系统问题和非期望的问题
总计
2)修复缺陷,并将每一个所发现的缺陷记入缺陷记录日志;
缺陷记录日志如下:
缺陷记录日志
学生
学生Y
日期
10/19
教员
教师Z
程序号
001
日期
编号
类型
引入阶段
排除阶段
修复时间
相关缺陷
3)将代码复查阶段所花费的时间记入时间记录日志;
五.编译、测试阶段
1、编译阶段
1)编译程序;
2)修复缺陷,并将每一个所发现的缺陷记入缺陷记录日志;
3)将编译阶段所花费的时间记入时间记录日志;
2.测试阶段
1)测试程序;
2)修复缺陷,并将每一个所发现的缺陷记入缺陷记录日志;
3)将测试阶段所花费的时间记入时间记录日志;
六.后置处理阶段
1)将实际数据登入项目计划总结表;
2)总结缺陷数据,更新代码复查检查表;
3)将后置处理阶段所花费的时间记入时间记录日志;
4)完成PSP项目计划总结表
五、实训结果
实训结束后请提交以下文档或表格:
1)设计文档
2)源程序
3)已经填写完成的代码复查检查表
4)已经填写完成的时间记录日志
5)已经填写完成的缺陷记录日志
6)已经填写完成的项目计划总结表
六、注意事项:
及时记录时间与缺陷数据!
各个表格、文档的数据之间保持一致性!
实训:
图书管理系统的开发
实训目的:
综合运用Java编程基础课程和Access数据库应用与开发课程的内容完成一个简单的图书管理系统,并且在整个项目的开发过程中,严格按照个体软件过程的思想方法控制项目开发的时间进度和软件质量,通过这个项目的开发,帮助学生掌握个体软件过程的方法,消化课程内容并培养学生的动手能力和解决实际问题的能力。
在开发过程中严格遵循个体软件过程的原则,提高软件质量和开发效率。
实训要求:
完成一个简单的“系部图书管理系统”,要求实现图书的入库、借出和归返功能。
用Java实现用户界面和业务逻辑,数据存储在access数据库中。
1.编写程序要严格按照Java编程规范进行代码编写。
2.必须按照个体软件的过程,真实地采集数据、填写相关的表格、编写有关的文档。
3.每个人必须独立完成。
4.按照实训的时间安排进行,实训结束后提交有关的表格与文档。
实训环境:
JDK1.3.1及以上版本
MicrosoftAccess
实训步骤:
一、准备阶段
实训前准备以下空表格:
1、项目计划总结表、
2、代码复查检查表、
3、时间记录日志、
4、缺陷记录日志、
5、程序规模估计表等;
二、计划和设计阶段(包括数据库的准备)
1.分析实训题目要求,获取对该程序功能的描述,完成需求文档;
2.做计划,1)估计新程序的规模,填写程序规模估计表;
2)填写项目计划总结表的计划数据部分;
3)将计划阶段所花费的时间记入时间记录日志;
3.做设计,1)对程序进行设计,用流程图或伪码表示法完成设计文档;
2)将设计阶段所花费的时间记入时间记录日志。
需求分析:
1,输入书名,点击详细信息查询按钮,下面会显示该书的详细信息
2,输入新书的全部信息,点击添加记录按钮,新书信息会被插入到数据库
3,输入书名,点击删除记录按钮,该书将被从数据库中删除。
4,输入书名,查询详细信息,如果该书没有被借出,可以输入借阅人姓名,然后点击借阅按钮,系统会把借阅信息写入数据库。
5,退出系统
做计划:
假设我们已经有了一些程序规模的统计数据,根据以前的数据来对本程序进行规模估计,填写规模估计表,如下:
学生Y的程序规模估计
学生 学生Y 日期 11/17/96
教员 老师Z 课程 Java
程序
代码行
以前的功能
估计的功能
最小
平均
最大
估计
填写项目计划总结表的计划数据部分:
项目计划总结表
学生 学生Y 日期 10/18/05
程序 001 程序号# 001
教师 教师Z 程序设计语言 java
总结 计划 实际 累计
Minutes/LOC
LOC/Hour
Defects/KLOC
过程效益
A/FR
程序规模(LOC)
新开发与更改的
最大规模
最小规模
开发阶段时间/min 计划 实际