个人psp
排球计分程序
1.计划
通过对用户故事估计这个任务需要3~5d天。
2.开发
2.1需求分析
作为一个观众,我希望了解每场比赛的比分,以便了解比赛的情况。
作为一个观众,我希望输入球队名称查询球队比分,以便快速了解比分。
2.2生成设计文档
通过textbox填写查询球队的队名,点击查询按钮查讯结果。
通过多行文本框输出查询结果。
在查询按钮写一个查询方法。
清空按钮:编写清空方法,点击清空按钮清空文本框内容。
2.3设计复审
由小组成员讨论设计是否满足用户需求,设计的可行性,以及可能出现的问题。
2.4代码规范
根据设计文档制定出合适的规范,对程序需要实现的功能作出合理的划分,以便于提高各个部分功能的可用性。当需要更改时可以快速更改,但影响小。
2.5具体设计
用户界面应简洁。
将数据库合理设计出来,以便于记分员存储排球队的成绩。

数据库设计
|
字段名 |
类型 |
允许空 |
主键 |
|
ID |
Int |
√ |
|
|
Jushu |
nchar(10) |
|
|
|
Duiming |
nchar(10) |
|
|
|
fenshu |
int |
|
|
2.6具体编码
代码:
private void button1_Click(object sender, EventArgs e)
{
Form2 a = new Form2();
a.Show();
}
private void button2_Click(object sender, EventArgs e)
{
Form3 b = new Form3();
b.Show();
}
private void Form2_Load(object sender, EventArgs e)
{
//为DataGridView控件加载数据
DataGridViewDataLoad();
}
private void DataGridViewDataLoad(string sql = "select * from vollyball")
{
//创建数据库连接
string conn = @"Data Source=.;Initial Catalog=Game;Integrated Security=True";
SqlConnection con = new SqlConnection(conn);
//创建一个SqlDataAdapter的对象适配器,用于检索和保存数据
SqlDataAdapter adapter = new SqlDataAdapter(sql,con);
//创建一个存放于内存中的数据缓存
DataSet ds = new DataSet();
//打开数据库链接
con.Open();
//将适配器检索到的数据填充到本地数据库中
adapter.Fill(ds);
//将本地数据库中的数据表设置为dataGridView1控件的数据源
dataGridView1.DataSource = ds.Tables[0];
}
private void btnEnd_Click(object sender, EventArgs e)
{
Form4 d = new Form4();
d.Show();
this.Hide();
}
private void Form3_Load(object sender, EventArgs e)
{
//为DataGridView控件加载数据
DataGridViewDataLoad();
}
private void DataGridViewDataLoad(string sql = "select * from Chang")
{
//创建数据库连接
string conn = @"Data Source=.;Initial Catalog=Game;Integrated Security=True";
SqlConnection con = new SqlConnection(conn);
//创建一个SqlDataAdapter的对象适配器,用于检索和保存数据
SqlDataAdapter adapter = new SqlDataAdapter(sql, con);
//创建一个存放于内存中的数据缓存
DataSet ds = new DataSet();
//打开数据库链接
con.Open();
//将适配器检索到的数据填充到本地数据库中
adapter.Fill(ds);
//将本地数据库中的数据表设置为dataGridView1控件的数据源
dataGridView1.DataSource = ds.Tables[0];
}
private void button1_Click(object sender, EventArgs e)
{
Form5 f = new Form5();
f.Show();
this.Hide();
}
代码复审
对代码进行复审,并对代码进行重构,提高代码质量,可维护性。
通过复审尽可能发现错误,便于后续的开发速度,以及新功能的的
添加。
测试
使用VS2010进行所有的单元测试。
正确输入测试;错误输入测试;无结果查询测试;
3.报告
3.1测试报告
所有单元测试通过。
3.2计算工作量
|
时间 |
24h |
|
随笔累计数 |
不确定 |
|
代码累计 |
不确定 |
3.3事后总结,并提出过程改进计划
C#基础薄弱,部分功能不能实现,数据库部分应用不灵活,程序仍有漏洞。
|
开发 |
12h |
|
需求分析 |
1h |
|
生成设计文档 |
1h |
|
设计复审 |
30min |
|
代码规范 |
30min |
|
具体设计 |
50min |
|
具体编码 |
6h |
|
代码复审 |
20min |
|
测试 |
5miin |
|
测试报告 |
5min |
|
总结20min |
|
随笔累积数 |
不确定 |
|
代码累积 |
无 |
|
知识点 |
数组优化,数据库数据显示 |
个人psp的更多相关文章
- 结对项目:代码复审+PSP
一.代码复审 首先我从代码风格规范和程序修改两方面进行审查. (一)代码风格规范修改 1 . 代码的部分未缩进:在用markdown粘贴代码时,需要后期tab,无形中加大工作量. 2 . ...
- 最后一周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 分析与 ...
- 本周psp
本周PSP 类别 内容 开始时间 中止时间 终止时间 总用时 产品计划会议 定义产品的用户需求,以及从这个产品中得到什么.解决啥问题 18:00 0 20:00 120分钟 撰写博客 会议记录与个 ...
- 本周psp(观众页面)
个人项目PSP(观众页面) 计划 30min 估计要用多长时间 3d 开发 5h 需求分析 1h 生成设计文档 1h 设计复审 50min 代码规范 20min 具体设计 40min 具体编码 3h ...
- psp进度(11月25号-31号)
本周psp进度 11月25号 内容 开始时间 结束时间 打断时间 净时间 处理数据集 9:27 11:34 12m 115m 11月27号 内容 开始时间 结束时间 打断时间 净时间 scr ...
- 本周psp(11月17-23)
本周psp进度 11月19号 内容 开始时间 结束时间 打断时间 净时间 发布读书笔记 11:05 11:25 0 20m 看构建之法书 9:50 10:48 5m 53m 11月20号 内容 开始时 ...
- 补PSP进度(10.28-11.3)
本周PSP进度 10月31号 内容 开始时间 结束时间 打断时间 净时间 看蛋白质相互作用论文 8:40 10:35 约12m 103m 分析约跑功能 13:20 13:55 0 35m 练习VSL2 ...
随机推荐
- Android中使用Handler造成内存泄露的分析和解决
什么是内存泄露?Java使用有向图机制,通过GC自动检查内存中的对象(什么时候检查由虚拟机决定),如果GC发现一个或一组对象为不可到达状态,则将该对象从内存中回收.也就是说,一个对象不被任何引用所指向 ...
- Elasticsearch5.1.1+ik分词器+HEAD插件安装小记
一.安装elasticsearch 1.首先需要安装好java,并配置好环境变量,详细教程请看 http://tecadmin.net/install-java-8-on-centos-rhel-an ...
- Magento-找出没有图片的产品
最近维护网站,发现网站的产品很多都没有图片显示,看了一下是因为没有在后台勾选图片,就是 image small_image thumbnail 这三项,就算有图片如果没有勾选的话也不会显示出来,产品 ...
- JavaScript中的apply和call函数详解(转)
每个JavaScript函数都会有很多附属的(attached)方法,包括toString().call()以及apply().听起来,你是否会感到奇怪,一个函数可能会有属于它自己的方法,但是记住,J ...
- 获得本app的版本号
话不多说,直接贴代码 PackageManager manager; PackageInfo info = null; manager = this.getPackageManager(); try ...
- 51单片机tea5767收音机 红外遥控 自动搜台 存台 DIY
先看效果图: 显示 频道CH , 频率 100.0Mhz 欢迎信息,1602 内置日文平假名, 正好用来显示博主名称. 焊接前,已经万能面包板上试验成功. 焊接完成以后,1602 的D0 - D7 接 ...
- STM32下FatFs的移植,实现了坏块管理,硬件ECC,ECC纠错,并进行擦写均衡分析
最近因项目需要,做一个数据采集的单片机平台.需要移植 FatFs .现在把最后成果贴上来. 1.摘要 在 STM32 单片机上,成功移植 FatFs 0.12b,使用的 Nand Flash 芯片为 ...
- Android 逐帧动画
原理: 逐帧动画是最简单的一种动画.原理就是把几张图片连续显示出来,以达到动画的效果.就相当于下面这种手绘翻页动画啦~ 实现: 1.需要建立一个animation-list来设置静态图片资源.持续时间 ...
- spring security 3.2 配置详解(结合数据库)
没事就来了解下spring security.网上找了很多资料.有过时的,也有不是很全面的.各种问题也算是让我碰了个遍.这样吧.我先把整个流程写下来,之后在各个易混点分析吧. 1.建立几个必要的页面. ...
- delphi XE 5 Android 真机调试简易安装教程
① FireMonkey[DELPHI XE5]QQ群号:165232328,群内超过1600移动开发爱好者 第一步,打开手机中的USB调试 电脑自动装驱动,但是找不到 去手机官网下载驱动 手动安装驱 ...