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 分析与 ...
随机推荐
- linq语法大全(转集)
Join操作符 适用场景:在我们表关系中有一对一关系,一对多关系,多对多关系等.对各个表之间的关系,就用这些实现对多个表的操作. 说明:在Join操作中,分别为Join(Join查询), Selec ...
- unity, 调节图片导入尺寸
unity中直接导入高清图,通过max size来调节图片尺寸. 打包的时候通过看editor log或通过插件来监视是否有过大尺寸的图片.
- QQ通信原理及QQ是怎么穿透内网进行通信的? (转)
原:http://f543711700.iteye.com/blog/978044#bc2344608 QQ是一个基于TCP/UDP协议的通讯软件 发送消息的时候是UDP打洞,登陆的时候使用HTTP~ ...
- PHP 模拟POST请求
/** * 模拟post进行url请求 * @param string $url * @param array $post */ function request_post($url, $post = ...
- C#:调用webservice时提示对操作的回复消息正文进行反序列化时出错
主要原因webservice返回值的长度超过readerQuotas中的了maxStringContentLength值,造成返回值截断,不完整,反序列化时出错. <readerQuotas m ...
- C#:比较二个字符串,查找出相同字数和差异字符
;; i < n; i++) { ) == s2.Substring(i, )) /*同位 ...
- css 文本显示点点点
今天有这个需求,百度获取到这个效果,记录下来. text-overflow :ellipsis; //让截断的文字显示为点点.还有一个值是clip意思是截断不显示点点 white-space : no ...
- AVL的删除写法的一个错误
今天在写AVL删除的时候犯了一个傻逼错误,调了很久,教训惨痛,引以为鉴. 树中允许有重复节点,如果删除的节点有重复,则只删除1个. AVL删除采取的方法是首先判断待删除节点是否存在,如果存在,那么判断 ...
- SQLite 函数大全
http://blog.sina.com.cn/s/blog_48e2ea3401012031.html
- Windows Server 2008配置服务器证书[转载]
备忘 http://wangchunhai.blog.51cto.com/225186/139451