• PSP个人(观众界面)


    需求:作为一个观众,我希望了解某一场比赛的比分,以便了解赛况。(满意条件:精确到每一局的结果比分)

    需求分析:实现查询数据库中每一局的分数并用界面显示。

    生成设计文档:

    运用三层架构,实现软件的基本功能。

    设计复审:自我复审已完成。同事复审暂未完成。

    代码规范:代码风格的原则,简明,易读,无二义性。

    缩进:四个空格。

    行宽:不超过100字符。

    括号:在复杂的条件表达式中,用括号清楚地表示逻辑优先级。

    断行与空白的{}行:(加代码)

    分行:不要把多个语句放在一行上。

    命名:

    Camel 驼峰命名法:单词连写 无分割符 每个单词大写首字母

    类名和接口名 大写第一个单词首字母

    注释:要加入必要的注释。

    具体设计:

    大致界面如下所示

     

    单击刷新获取目前场内得分情况。

    基本活动图如下

     

    具体编码:

      //获取数据库数据
                //查询前几条
                int x = a + b;
                //x = 3;
                string sql = "select  *from p limit "+x+"";
                MySqlDataReader dr = MySqlHelperA.ExecuteReader(sql, null);
                if (dr.HasRows)
                {
                    if (dr.Read())
                    {
                        //第一局
                        diYiJu1.Text = dr["chang1"].ToString();
                        diYiJu2.Text = dr["chang2"].ToString();
                        changNeiBiFen1.Text = dr["fen1"].ToString();
                        changNeiBiFen2.Text = dr["fen2"].ToString();
                        int aa=int.Parse(dr["chang1"].ToString());
                        int bb = int.Parse(dr["chang2"].ToString());
                        if (aa > bb)
                        {
                            diYiJu.Text = txtDuiMing1.Text + "";
                        }
                        else
                        {
                            diYiJu.Text = txtDuiMing2.Text + "";
                        }
                    }
                    if (dr.Read())
                    {
                        //第二局
                        diErJu1.Text = dr["chang1"].ToString();
                        diErJu2.Text = dr["chang2"].ToString();
                        changNeiBiFen1.Text = dr["fen1"].ToString();
                        changNeiBiFen2.Text = dr["fen2"].ToString();
                        int aa = int.Parse(dr["chang1"].ToString());
                        int bb = int.Parse(dr["chang2"].ToString());
                        if (aa > bb)
                        {
                            diYiJu.Text = txtDuiMing1.Text + "";
                        }
                        else
                        {
                            diYiJu.Text = txtDuiMing2.Text + "";
                        }
                    }
                    if (dr.Read())
                    {
                        //第三局
                        diSanJu1.Text = dr["chang1"].ToString();
                        diSanJu2.Text = dr["chang2"].ToString();
                        changNeiBiFen1.Text = dr["fen1"].ToString();
                        changNeiBiFen2.Text = dr["fen2"].ToString();
                        int aa = int.Parse(dr["chang1"].ToString());
                        int bb = int.Parse(dr["chang2"].ToString());
                        if (aa > bb)
                        {
                            diYiJu.Text = txtDuiMing1.Text + "";
                        }
                        else
                        {
                            diYiJu.Text = txtDuiMing2.Text + "";
                        }
                    }
                    if (dr.Read())
                    {
                        //第四局
                        diSiJu1.Text = dr["chang1"].ToString();
                        diSiJu2.Text = dr["chang2"].ToString();
                        changNeiBiFen1.Text = dr["fen1"].ToString();
                        changNeiBiFen2.Text = dr["fen2"].ToString();
                        int aa = int.Parse(dr["chang1"].ToString());
                        int bb = int.Parse(dr["chang2"].ToString());
                        if (aa > bb)
                        {
                            diYiJu.Text = txtDuiMing1.Text + "";
                        }
                        else
                        {
                            diYiJu.Text = txtDuiMing2.Text + "";
                        }
                    }
                    if (dr.Read())
                    {
                        //第五局
                        diWuJu1.Text = dr["chang1"].ToString();
                        diWuJu2.Text = dr["chang2"].ToString();
                        changNeiBiFen1.Text = dr["fen1"].ToString();
                        changNeiBiFen2.Text = dr["fen2"].ToString();
                        int aa = int.Parse(dr["chang1"].ToString());
                        int bb = int.Parse(dr["chang2"].ToString());
                        if (aa > bb)
                        {
                            diYiJu.Text = txtDuiMing1.Text + "";
                        }
                        else
                        {
                            diYiJu.Text = txtDuiMing2.Text + "";
                        }
                    }
                                  
                }
    代码一层版

    代码复审:已完成

    测试:已完成

    测试报告:可以实现基本的查询功能。

    计算工作量:

    计划

     估计用时

    实际用时

    估计这个任务需要多少时间

    145min

    120min

    开发

    105min

    100min

    需求分析

    10min

    5min

    生成设计文档

    5min

    5min

    设计复审

    15miin

    5min

    代码规范

    5min

    10min

    具体设计

    20min

    20min

    具体编码

    40min

    50min

    代码复审

    10min

    5min

    测试

    30min

    20min

    测试报告

    5min

    5min

    计算工作量

    20min

    10min

    事后总结并提出改进计划

    5min

    5min

    事后总结并提出改进计划:基本功能虽已实现,但是还未改为三层架构的格式。

  • 相关阅读:
    golang之panic,recover,defer
    Golang之函数练习
    Golang之strings包
    Golang之字符串操作(反转中英文字符串)
    keil中使用——变参数宏__VA_ARGS__
    到底该不该用RTOS——rtos的优点
    c语言联合union的使用用途
    c语言的#和##的用法
    c语言位域的使用注意事项——数据溢出
    基于 Keil MDK 移植 RT-Thread Nano
  • 原文地址:https://www.cnblogs.com/zyadmin/p/6218805.html
Copyright © 2020-2023  润新知