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

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

原文地址:https://www.cnblogs.com/zyadmin/p/6218805.html