首页 > 其他分享 >第4篇Scrum冲刺博客

第4篇Scrum冲刺博客

时间:2024-11-17 17:56:40浏览次数:1  
标签:RecordDao String Scrum 博客 Record getText 冲刺 new properties

1.站立式会议

1.1 会议照片

1.2 会议内容

昨天已完成的工作:
已初步完成主界面设计和数据库编写记录
今天计划完成的工作

项目模块 需要实现的功能 负责人 预计用时
数据库模块 数据库记录的备份、恢复和退出 王伊若 2h
主界面模块 账目记录的增删改功能及界面 王伊若 6h
主界面模块 完善主界面设计,报告界面前期准备 黄锐 3h
主界面模块 查询界面功能 黄锐 5h
主界面模块 软件帮助说明功能 江佳哲 3h
主界面模块 用户信息界面 叶尔森 3h

工作中遇到的困难:
在添加账目的监听器方法中忘记考虑支出分类和收入分类的不同,还需要“分类”下拉列表框的事件监听器,下拉列表框的监听事件就是为了动态获取用户所选择的分类名称。

2.项目燃尽图

3.模块的最新(运行)截图:

数据库的备份
备份事件处理代码如下:


    /**
     * “备份”菜单项的事件监听器
     *
     * @param actionEvent 事件
     */
    @FXML
    public void backupMenuItemEvent(ActionEvent actionEvent) throws IOException {
        //实例化文件选择器
        FileChooser fileChooser = new FileChooser();
        //设置打开文件选择框默认输入的文件名
        fileChooser.setInitialFileName("Database_Backup_" + dateTools.dateFormat(new Date(), "yyyy-MM-dd") + ".sql");
        //打开文件选择框
        File result = fileChooser.showSaveDialog(null);
        if (result != null) {
            String savePath = result.getAbsolutePath();
            // 实例化Properties对象
            Properties properties = new Properties();
            // 加载properties配置文件
            FileInputStream fis = new FileInputStream(new File("tally_book\\src\\tallybook_system\\properties\\db.properties"));
            properties.load(fis);
            // 通过键名获取对应的值
            String databaseName = properties.get("databaseName").toString();
            String user = properties.get("user").toString();
            String password = properties.get("password").toString();
            // 调用备份方法需要提供MySQL的用户名、密码和数据库名,这些数据从properties文件中读取
            boolean b = JDBCUtils.backup(user, password, savePath, databaseName);
            if (b) {
                SimpleTools.informationDialog(Alert.AlertType.INFORMATION, "提示", "信息", "备份数据库成功!");
            } else {
                SimpleTools.informationDialog(Alert.AlertType.ERROR, "提示", "错误", "备份数据库失败!");
            }
            // 关闭流
            fis.close();
        }
    }

运行程序:

备份成功后用记事本打开,可以看到如下信息:

添加账目
添加功能的实现在AddAccountFrameController的addButtonEvent()方法中,代码如下:

        // 类型
        String type = selectedRadioButton;
        // 金额,把从文本框得到的string类型数据转换为float类型
        float money = Float.parseFloat(moneyTextField.getText());
        // 分类
        String classification = selectedCoboboxItem;
        // 备注
        String memo = memoTextArea.getText();
        // 日期
        String date = datePickerTextField.getValue().toString();
        // 将用户输入的数据封装到Record实体类中
        Record record = new Record(Session.getUser().getUserId(), type, money, classification, memo, date);
        // 实例化RecordDao对象
        RecordDao recordDao = new RecordDao();
        // 添加数据到数据库
        boolean b = recordDao.addRecord(record);
        // 对添加操作的结果进行判断处理
        if (b) {
            SimpleTools.informationDialog(Alert.AlertType.INFORMATION, "提示", "信息", "添加账目成功!");
            // 清空用户选择
            outputRadioButton.setSelected(false);
            inputRadioButton.setSelected(false);
            moneyTextField.setText("");
            classificationComboBox.getItems().clear();
            memoTextArea.setText("");
            datePickerTextField.getEditor().setText("");
        } else {
            SimpleTools.informationDialog(Alert.AlertType.ERROR, "提示", "错误", "添加账目失败!");
        }

选中“收入”单选按钮,下面的分类全都是“收入”的分类名称:

选中“支出”单选按钮,下面的分类全都是“支出”的分类名称:

选中“日期”单选按钮,下面表格方便用户选时间:

收入和支出成功添加:

可以在主界面查看添加成功的记录:

删除账目
查询、删除按钮的事件监听器代码如下:

    /**
     * ”查询“按钮的事件监听器
     *
     * @param actionEvent 事件
     */
    @FXML
    public void checkButtonEvent(ActionEvent actionEvent) {
        // 实例化Record对象
        Record record = new Record();
        // 实例化RecordDao对象
        RecordDao recordDao = new RecordDao();
        // 通过记录ID和用户ID查询账目记录
        Record checkedRecord = recordDao.selectRecordByIdAndUserId(Integer.parseInt(idTextField.getText()), Session.getUser().getUserId());
        String info = "";
        if (checkedRecord.getRecordType() == null && checkedRecord.getRecordClassification() == null) {
            info = "无此查询结果!";
        } else {
            info =
                    "类型:\t\t" + checkedRecord.getRecordType() + "\n"
                            + "金额:\t\t" + checkedRecord.getRecordMoney() + "\n"
                            + "分类:\t\t" + checkedRecord.getRecordClassification() + "\n"
                            + "备注:\t\t" + checkedRecord.getRecordMemo() + "\n"
                            + "日期:\t\t" + checkedRecord.getRecordDate() + "\n";
        }
        // 显示查询结果
        contentLabel.setText(info);
    }

    /**
     * ”删除“按钮的事件监听器
     *
     * @param actionEvent 事件
     */
    @FXML
    public void deleteButtonEvent(ActionEvent actionEvent) {
        // 将string类型数据转换为int类型数据
        int id = Integer.parseInt(idTextField.getText());
        // 实例化RecordDao对象
        RecordDao recordDao = new RecordDao();
        // 根据ID删除记录
        boolean b = recordDao.deleteRecord(new Record(id));
        if (b) {
            SimpleTools.informationDialog(Alert.AlertType.INFORMATION, "提示", "信息", "删除数据成功!");
            // 删除成功后就清除窗体数据
            idTextField.setText("");
            contentLabel.setText("");
        } else {
            SimpleTools.informationDialog(Alert.AlertType.ERROR, "提示", "错误", "删除数据失败!");
        }
    }

界面:

输入序号查询如下:

运行程序,执行功能如下:

数据库前后对比:

修改账目
查询按钮的事件处理代码如下:

    /**
     * ”更改“按钮的事件监听器
     *
     * @param actionEvent 事件
     */
    @FXML
    public void alterButtonEvent(ActionEvent actionEvent) {
        // 序号
        int id = Integer.parseInt(idTextField.getText());
        //类型
        String type = "";
        if (inputRadioButton.isSelected()) {
            type = inputRadioButton.getText();
        } else if (outputRadioButton.isSelected()) {
            type = outputRadioButton.getText();
        }
        // 金额,把从文本框得到的string类型数据转换为float类型
        float money = Float.parseFloat(moneyTextField.getText());
        // 分类
        String classification = classificationComboBox.getSelectionModel().getSelectedItem().toString();
        // 备注
        String memo = memoTextArea.getText();
        // 日期
        String date = datePickerText.getValue().toString();
        // 将用户修改的数据封装到实体类中
        Record record = new Record(Session.getUser().getUserId(), id, type, money, classification, memo, date);
        // 实例化RecordDao对象
        RecordDao recordDao = new RecordDao();
        // 执行修改操作
        boolean b = recordDao.updateRecord(record);
        // 对修改结果进行判断
        if (b) {
            SimpleTools.informationDialog(Alert.AlertType.INFORMATION, "提示", "信息", "修改账目成功!");
        } else {
            SimpleTools.informationDialog(Alert.AlertType.ERROR, "提示", "错误", "修改账目失败!");
        }
    }

界面:

查询功能测试如下:

修改账目,运行程序成功:

数据库前后对比:

4.每人每日总结

成员 总结
王伊若 由于明确的分工,我们的效率提高了很多,希望再接再厉
黄锐 明天继续努力
江佳哲 在团队协作方面不太熟练,进度有点慢,会尽力加快步伐
叶尔森 熟悉了github的团队协作,初步尝试了代码的签入

标签:RecordDao,String,Scrum,博客,Record,getText,冲刺,new,properties
From: https://www.cnblogs.com/shanhuo31/p/18550834

相关文章

  • 团队项目4——项目冲刺-7
    每日站立式会议昨天已完成的工作:杨睿:完成住户物业报修页面木萨江:完成住户车位查询页面巴音才次克:对接车位管理接口李佳聪:测试报修相关接口今天计划完成的工作:杨睿:对接人员管理接口木萨江:处理物业报修模块bug巴音才次克:处理车位查询模块bug李佳聪:......
  • 爱码单车队-冲刺集合
    冲刺集合:日志名称日期当天完成工作量(一个量化指标)剩余工作量已完成工作量占总工作量百分比冲刺日志1(https://www.cnblogs.com/aaaauv/p/18550348)2024-11-1152516.67%冲刺日志2(https://www.cnblogs.com/aaaauv/p/18550688)2024-11-12101550.00%冲刺日志3......
  • 第二篇Scrum冲刺博客
    1站立式会议1.1会议照片1.2会议内容昨天已完成的工作:已明确分配的任务,并进行了环境配置,特别是mysql的配置.今天计划完成的工作项目模块需要实现的功能负责人预计用时初始化模块环境搭建王伊若4h登录模块用户注册、登录黄锐7h登录模块数据库连接......
  • 冲刺计划
    总结与反思回顾之前的团队任务,我们小组已经完成了SpeakwithAI的原型设计,以及各个UML图设计,同时还完成了数据库的部署,之前的任务大家分工明确,执行起来有条不紊,最终将每一环节都简洁高效地呈现在大家面前,这是大家做的好的地方,值得表扬,但是接下来我们将具体实现所有功能以及测试......
  • 爱码单车队-冲刺计划第六天
    会议记录:第一次测试应用的时候到了,出乎意料的是,前后端在已做好的功能性测试上,并没有出现太大的瑕疵,主要是页面太简洁,让整体的交互设计看上去十分简陋,前端美观这点还是需要加强;相比之下,在测试中,后端没有出现明显问题,只有数据库开发设计这点还需要微做调整,其他的功能实现的很......
  • 爱码单车队-冲刺日志第三天
    会议记录:下面是我们的前端页面效果展示图在第三天,团队在前端界面搭建方面取得了显著进展。使用Vue框架搭建的登录页面和主页界面基本完成,登录页面包含手机号注册和微信登录选项,主页界面框架涵盖个人信息、场景选择等模块。然而,目前仍存在一些不足,几个前端设计部分分隔开,还......
  • 第一篇Scrum冲刺博客
    第一篇Scrum冲刺博客一、各个成员在Alpha阶段认领的任务任务负责人预计工时主界面设计王伊若18h报告界面功能王伊若6h数据库连接黄锐4h数据库的备份、恢复和软件的退出黄锐4h右键实现增删改功能黄锐6h账目的增删改黄锐12h用户的注册与......
  • 爱码单车队-冲刺日志第二天
    会议记录:在第二天的冲刺中,团队成员在接口文档设计与前端框架方面取得了一定进展。经过小组的共同努力,确定了前段设计与后端对接的接口,为后续的开发工作奠定了基础。虽然目前前端设计与预期原型存在较大差距,但基本功能已经得以实现。接下来,团队将继续优化功能,并在合适的时候......
  • 团队项目冲刺安排
    课程2024软件工程作业要求团队作业4——项目冲刺作业目标团队项目冲刺第1天任务安排成员今日任务明日安排洪吉潮与后端沟通需要的API用户注册与登录功能完善设计用户注册界面的优化方案刘家辉与前端沟通需要的API用户注册与登录功能完善开发......
  • 第五篇:Scrum冲刺博客
    站立式会议照片:![站立式会议-Day5](链接到Day5的照片)工作进展:许莹柔(机器学习工程师):昨日完成:模型训练继续进行。今日计划:模型训练的最后调整。遇到的困难:需要更多的计算资源来加速训练。肖晓霞(UI设计师):昨日完成:开始设计文档的编写。今日计划:完成设计文档,并开......