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 |
事后总结并提出改进计划:基本功能虽已实现,但是还未改为三层架构的格式。
PSP个人(观众界面)的更多相关文章
- 本周psp(观众页面)
个人项目PSP(观众页面) 计划 30min 估计要用多长时间 3d 开发 5h 需求分析 1h 生成设计文档 1h 设计复审 50min 代码规范 20min 具体设计 40min 具体编码 3h ...
- WebSocket原理与实践
开题思考:如何实现客户端及时获取服务端数据? Polling 指客户端每隔一段时间(周期性)请求服务端获取数据,可能有更新数据返回,也可能什么都没有,它并不在乎服务端数据有无更新.(Web端一般采用a ...
- 第16周界面设计PSP总结
计划:需1周完整完成 需求分析:作为一个观众,我希望能够了解每一场的比分结果,随时跟进比赛进程 生成设计文档:暂无 设计复审:暂无与组员进行设计复审 代码规范:Visual Studio2010 具体 ...
- 结对项目:代码复审+PSP
一.代码复审 首先我从代码风格规范和程序修改两方面进行审查. (一)代码风格规范修改 1 . 代码的部分未缩进:在用markdown粘贴代码时,需要后期tab,无形中加大工作量. 2 . ...
- 本周psp个人作业
计划--用一天的时间来做这个项目 需求分析--作为一个观众,我想要知道每局的比分,以便我更了解比赛情况. 生成设计文档--用类图来进行说明. 设计复审---无 代码规范--3H 具体设计--建立数据库 ...
- 最后一周psp
团队项目PSP 一:表格 C类型 C内容 S开始时间 E结束时间 I时间间隔 T净时间(mins) 预计花费时间(mins) 讨论 讨论用户界面 10:20 11:45 25 40 80 分析 ...
- 第十周 psp
团队项目PSP 一:表格 C类型 C内容 S开始时间 E结束时间 I时间间隔 T净时间(mins) 预计花费时间(mins) 讨论 讨论用户界面 8:45 10:55 40 35 90 分析与 ...
- 第九周 psp
团队项目PSP 一:表格 C类型 C内容 S开始时间 E结束时间 I时间间隔 T净时间(mins) 预计花费时间(mins) 讨论 讨论用户界面 9:50 12:45 35 45 80 分析与 ...
- 第八周PSP
团队项目PSP 一:表格 C类型 C内容 S开始时间 E结束时间 I时间间隔 T净时间(mins) 预计花费时间(mins) 讨论 讨论用户界面 8:40 11:40 35 60 70 分析与 ...
随机推荐
- range(start,end,step)与xrange(start, stop[, step])
>>> range(10) [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] >>> xrange(10) xrange(10) >>> ...
- C语言结构体位域
demo: typedef struct { int a:2; int b:2; int c:1; }test; int main() { test t; t.a=1; t.b=3; t.c=1; / ...
- HTML 表格
HTML 表格:表格由<table>标签来定义,行数由<tr>标签来定义,单元格由<td>标签来定义:<table border="1"& ...
- 基于MVC4+EasyUI的Web开发框架经验总结
http://www.cnblogs.com/wuhuacong/p/4093778.html 在很多Web系统中,一般都可能提供一些图标的选择,方便配置按钮,菜单等界面元素的图 标,从而是Web系统 ...
- mongoDB之Pipeline Aggregation Stages
原文链接:https://docs.mongodb.com/manual/reference/operator/aggregation-pipeline/ 管道聚合 $project Reshapes ...
- 转 MySQL 数据备份与还原
MySQL 数据备份与还原 原贴:http://www.cnblogs.com/kissdodog/p/4174421.html 一.数据备份 1.使用mysqldump命令备份 mysqldum ...
- Saying that Java is nice because it works on every OS is like saying that anal sex is nice because it works on every gender.
Saying that Java is nice because it works on every OS is like saying that anal sex is nice because i ...
- STM32是否可以跑linux
操作系统有两种 用MMU的 和 不用MMU的用MMU的是Windows MacOS Linux Android不用MMU的是FreeRTOS VxWorks ucOS... CPU有两种 带MMU的 ...
- YII rules常见规则
public function rules() { return array( //必须填写 array('email, username, password, ...
- VR定制开发、AR定制开发(长年承接虚拟现实、增强现实应用、VR游戏定制开发,北京公司,可签合同)
Cardboard SDK for Unity的使用 上一篇文章作为系列的开篇,主要是讲了一些虚拟现实的技术和原理,本篇就会带领大家去看一看谷歌的Cardboard SDK for Unity,虽然目 ...