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 分析与 ...
随机推荐
- org.springframework.jdbc.CannotGetJdbcConnectionException: Could not get JDBC Connection 原因
org.springframework.jdbc.CannotGetJdbcConnectionException: Could not get JDBC Connection 可能出现的原因 ...
- Dubbo框架
1. Dubbo是什么? Dubbo是一个分布式服务框架,致力于提供高性能和透明化的RPC远程服务调用方案,以及SOA服务治理方案.简单的说,dubbo就是个服务框架,如果没有分布式的需求,其实是不需 ...
- AutoLearnSkills.lua --升级自动学习技能
--[[作者信息: Auto Learn SKills (升级自动学习技能) 作者QQ:247321453 作者Email:247321453@qq.com 修改日期:2014-3-12 功能:在玩家 ...
- [课程设计]Sprint One 总结&发表评论&团队贡献分
一.总结 第一次冲刺结束了,总体来说我们团队还是做得不错的,完成了既定的目标,希望接下来还能保持这样的动力,fighting... ● 二.围观其他组并发表评论 ● http://www.cnblog ...
- Ubuntu学习——第一篇
一. Ubuntu简介 Ubuntu(乌班图)是一个基于Debian的以桌面应用为主的Linux操作系统,据说其名称来自非洲南部祖鲁语或科萨语的“ubuntu”一词,意思是“人性”.“我的存在是因为大 ...
- 040. asp.netWeb中TreeView控件绑定XML文件
xml文件格式: <?xml version="1.0" encoding="utf-8" ?> <sitemap title="进 ...
- Inventor 2014 sp1/sp2激活
问题: win8.1 inventor2014,不打补丁不兼容: 打了补丁xforce激活始终无法成功. 解决: 1. 使用未打补丁之前的 adlmact.dll 和 adlmact_libFNP.d ...
- NSUserDefault的使用
NSUserDefaults 在我们编写代码中是最常用的一个永久保存数据的方法,也是最简单的. 使用NSUserDefault需要注意: 1.数据的本地化保存不是实时的,如果需要实时保存,调用sync ...
- 01 Linux档案与目录管理
1. 目录与路径 1.1绝对路径和相对路径 绝对路径:一定有根目录/写起,例如:/usr/share/doc 相对路径:不是由根目录/写起,例如:由/usr/sha ...
- windows下docker环境设置
1.下载docker-install.exe安装VirtualBox.Git.Boot2Docker for Windows 2.设置环境变量,启动boot2docker Core Linux. 可以 ...