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

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

生成设计文档:

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

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

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

缩进:四个空格。

行宽:不超过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

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

PSP个人(观众界面)的更多相关文章

  1. 本周psp(观众页面)

    个人项目PSP(观众页面) 计划 30min 估计要用多长时间 3d 开发 5h 需求分析 1h 生成设计文档 1h 设计复审 50min 代码规范 20min 具体设计 40min 具体编码 3h ...

  2. WebSocket原理与实践

    开题思考:如何实现客户端及时获取服务端数据? Polling 指客户端每隔一段时间(周期性)请求服务端获取数据,可能有更新数据返回,也可能什么都没有,它并不在乎服务端数据有无更新.(Web端一般采用a ...

  3. 第16周界面设计PSP总结

    计划:需1周完整完成 需求分析:作为一个观众,我希望能够了解每一场的比分结果,随时跟进比赛进程 生成设计文档:暂无 设计复审:暂无与组员进行设计复审 代码规范:Visual Studio2010 具体 ...

  4. 结对项目:代码复审+PSP

    一.代码复审        首先我从代码风格规范和程序修改两方面进行审查. (一)代码风格规范修改 1 . 代码的部分未缩进:在用markdown粘贴代码时,需要后期tab,无形中加大工作量. 2 . ...

  5. 本周psp个人作业

    计划--用一天的时间来做这个项目 需求分析--作为一个观众,我想要知道每局的比分,以便我更了解比赛情况. 生成设计文档--用类图来进行说明. 设计复审---无 代码规范--3H 具体设计--建立数据库 ...

  6. 最后一周psp

    团队项目PSP 一:表格     C类型 C内容 S开始时间 E结束时间 I时间间隔 T净时间(mins) 预计花费时间(mins) 讨论 讨论用户界面 10:20 11:45 25 40 80 分析 ...

  7. 第十周 psp

    团队项目PSP 一:表格     C类型 C内容 S开始时间 E结束时间 I时间间隔 T净时间(mins) 预计花费时间(mins) 讨论 讨论用户界面 8:45 10:55 40 35 90 分析与 ...

  8. 第九周 psp

    团队项目PSP 一:表格     C类型 C内容 S开始时间 E结束时间 I时间间隔 T净时间(mins) 预计花费时间(mins) 讨论 讨论用户界面 9:50 12:45 35 45 80 分析与 ...

  9. 第八周PSP

    团队项目PSP 一:表格     C类型 C内容 S开始时间 E结束时间 I时间间隔 T净时间(mins) 预计花费时间(mins) 讨论 讨论用户界面 8:40 11:40 35 60 70 分析与 ...

随机推荐

  1. rsync+inotify实现自动备份

    1.rsync命令 文件在不同服务器之间备份,有两种方式,一种是推,另一种是拉 推:即由主服务器推送数据到次服务器 拉:即由次服务器向主服务器要数据 一般采用拉的方式 但是这样同时多服务器备份就会分享 ...

  2. 如何在Jenkins CI 里调试

    背景 厂内的CI系统把 Jenkins 和Github 连接了起来,这样Dev 只要通过github pr 就能够了解到测试job 运行的情况.有的时候,Dev会找到QA问,如何在Jenkins CI ...

  3. C#(转自wiki)

    C#是微软推出的一种基于.NET框架的.面向对象的高级编程语言.C#的发音为"C sharp",模仿音乐上的音名"C♯"(C调升),是C语言的升级的意思.其正确 ...

  4. 如何导出和导入mysql数据(数据迁移)

    . 导出数据库数据 mysqldump -uroot -p dp_db > dumpout.sql 其中 root是账户名 dp_db是需要导出的数据库名称 dumpout.sql存储导出的数据 ...

  5. C# 更新SQL Server数据库备注信息从另一数据库

    using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; usin ...

  6. 基于 fuzz 技术验证移动端 app 的健壮性

    问题定义 app发布后经常容易出现各种诡异的crash, 这些crash固然可以通过各种崩溃分析服务去定位. 但是的确很影响用户体验. 在crash分类中有一类是后端接口引发的. 比如常见的引发app ...

  7. EntityFrameWork使用

    1.简单查询: SQL: ? 1 SELECT * FROM [Clients] WHERE Type=1 AND Deleted=0 ORDER BY ID EF: ? 1 2 3 4 5 6 7 ...

  8. CentOS 7 ssh脚本 求两个数值的“和”,“乘积”,”商“

    1:在目录下创建一个  sh文件 touch 1.sh 2:进入sh文件书写sh脚本 #!/bin/bash read -p "请输入第一个数值" A read -p " ...

  9. [PHP] - Laravel - CSRF token禁用方法

    前文 CSRF攻击和漏洞的参考文章: http://www.cnblogs.com/hyddd/archive/2009/04/09/1432744.html Laravel默认是开启了CSRF功能, ...

  10. My tool chain in CentOS 7

    - Git Client SmartGit http://www.linuxlinks.com/article/20120129035558195/GitClients.html candidates ...