排球计分程序

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的更多相关文章

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

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

  2. 最后一周psp

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

  3. 第十周 psp

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

  4. 第九周 psp

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

  5. 第八周PSP

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

  6. 本周psp

      本周PSP 类别 内容 开始时间 中止时间 终止时间 总用时 产品计划会议 定义产品的用户需求,以及从这个产品中得到什么.解决啥问题 18:00 0 20:00 120分钟 撰写博客 会议记录与个 ...

  7. 本周psp(观众页面)

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

  8. psp进度(11月25号-31号)

    本周psp进度 11月25号 内容 开始时间 结束时间 打断时间 净时间 处理数据集  9:27  11:34  12m  115m 11月27号 内容 开始时间 结束时间 打断时间 净时间  scr ...

  9. 本周psp(11月17-23)

    本周psp进度 11月19号 内容 开始时间 结束时间 打断时间 净时间 发布读书笔记 11:05 11:25 0 20m 看构建之法书 9:50 10:48 5m 53m 11月20号 内容 开始时 ...

  10. 补PSP进度(10.28-11.3)

    本周PSP进度 10月31号 内容 开始时间 结束时间 打断时间 净时间 看蛋白质相互作用论文 8:40 10:35 约12m 103m 分析约跑功能 13:20 13:55 0 35m 练习VSL2 ...

随机推荐

  1. C++之路进阶——codevs2306(晨跑)

    2306 晨跑 2009年省队选拔赛山东  时间限制: 1 s  空间限制: 256000 KB  题目等级 : 大师 Master       题目描述 Description Elaxia最近迷恋 ...

  2. Oracle 多行变一列的方法

    多行变一列的方法有很多,觉得这个第一眼看懂了当时就用的这个办法. 情况是这样的.以下数据前几列是一样的,需要把VAT_VALUE_CHAR 的值放在同一行上. SELECT * FROM ps_vat ...

  3. 飞机大战编写以及Java的面向对象总结

    面向对象课程完结即可编写一个简单的飞机大战程序.我觉得我需要总结一下 飞机大战中类的设计: 父类:FlyingObject(抽象类) 接口:Award .Enemy 子类:Hero.Bullet.Ai ...

  4. win10安装oracle 11g 报错 要求的结果: 5.0,5.1,5.2,6.0 6.1 之一 实际结果: 6.2

    Windows10下安装Oracle11G.10G,都会提示如下信息 正在检查操作系统要求... 要求的结果: 5.0,5.1,5.2,6.0 之一 实际结果: 6.1 检查完成.此次检查的总体结果为 ...

  5. eBox(stm32) 之中断结构

    eBox的中断结构参考了mbed,和我们平时所用的中断结构有些差异,不容易理解,最近仔细看了底层代码,终于搞清楚了,总结一下         一  首先要要搞清楚的几个概念:类的静态成员,实例成员   ...

  6. 优化 bulk insert

    https://www.simple-talk.com/sql/learn-sql-server/bulk-inserts-via-tsql-in-sql-server/

  7. 【笔记】js Function类型 内部方法callee

    运用function实现阶乘 以往的做法是如下的 function factorial(num){ if(num <= 1){ return 1; }else{ return num * fac ...

  8. Android 开发命令行完全攻略

    作为命令行的爱好者,我想写这个主题已经有好一段时间了.除了显得很酷之外,命令行的使用能够提高我们的开发效率,因为相比通过鼠标点击一系列的菜单选项,使用键盘输入几个字符并点击 TAB 健显然会快很多. ...

  9. Write Your software base on plugin(C/C++ ABI)

    一个软件,如果把所有的功能写进C++源码,维护,扩展,编译都特别麻烦. 共享库后缀名.Linux -> .so  Windows -> .dll 关于动态符号显示问题,具体可以看系统的AP ...

  10. Topcoder SRM 683 Div2 B

    贪心的题,从左向右推过去即可 #include <vector> #include <list> #include <map> #include <set&g ...