PSP个人项目耗时记录

估计这个任务需要多少时间:

计划

 估计用时

估计这个任务需要多少时间

500min

开发

450min

需求分析

120min

生成设计文档

20min

设计复审

30miin

代码规范

10min

具体设计

20min

具体编码

200min

代码复审

50min

测试

50min

测试报告

20min

计算工作量

20min

事后总结并提出改进计划

10min

需求分析:

需求:作为一个记分员,我希望能记录每一场比赛的具体得分,以便于及时显示。

实现记录加分,减分,及时显示加减后分数的界面。

生成设计文档:

运用三层架构,实现软件的基本功能。

 

设计复审:

自我复审已完成。同事复审暂未完成。

代码规范:

代码风格的原则,简明,易读,无二义性。

缩进:四个空格。

行宽:不超过100字符。

括号:在复杂的条件表达式中,用括号清楚地表示逻辑优先级。

断行与空白的{}行:(加代码)

分行:不要把多个语句放在一行上。

命名:

Camel 驼峰命名法:单词连写 无分割符 每个单词大写首字母

类名和接口名 大写第一个单词首字母

注释:要加入必要的注释。

具体设计:

数据库名:PaiQiu

数据库用于储存队伍得分的具体情况 无需加密

 

大致界面如下所示:

基本架构方案如下所示:

 基本活动图如下:

可能遇到的技术性问题:每一个用户使用的数据库中的表需要在使用该程序的时候自动在后台创建,如何使用VS2010用代码创建指定唯一表名的数据表是一个急需解决的技术性问题。

数据表名必须遵循数据库创建表的表名格式且表名需要让用户易于记忆。

上述技术性问题解决后:用户可以根据自己的队伍名来查找该队伍在数据库中的表数据。

 具体编码:

部分代码:

private void button1_Click(object sender, EventArgs e)
        {
            //单击A队
            //调用BLL层
            But1BLL bll = new But1BLL();
            //判断第一局框里是否为空
            if (string.IsNullOrEmpty(diYiJu.Text))
            {
                //判断是否胜利
                if (bll.sheng(diYiJu1.Text, diYiJu2.Text,changNeiBiFen1.Text,changNeiBiFen2.Text))
                {
                    //胜利
                    MessageBox.Show("第一局"+butAJia.Text);
                    //加场内比分
                    changNeiBiFen1.Text = bll.bizhi(changNeiBiFen1.Text, changNeiBiFen2.Text).ToString();
                    //在第一局文本框中写入某队胜
                    diYiJu.Text = butAJia.Text;
                }
                else
                {
                    //没有胜利,给A队加一分
                    diYiJu1.Text = bll.jia(diYiJu1.Text, diYiJu2.Text).ToString();
                    //再次判断是否胜利
                    if (bll.sheng(diYiJu1.Text, diYiJu2.Text, changNeiBiFen1.Text, changNeiBiFen2.Text))
                    {
                        MessageBox.Show("第一局" + butAJia.Text);
                        diYiJu.Text = butAJia.Text;
                        changNeiBiFen1.Text = bll.bizhi(changNeiBiFen1.Text, changNeiBiFen2.Text).ToString();
                    }
                }
            }
单击事件
public class But1DAL
    {   
       //单击button1
        //判断是否胜利
        public bool sheng(string chang1, string chang2,string fen1,string fen2)
        {
            if (int.Parse(chang1) >= 25 && int.Parse(chang1)> int.Parse(chang2)+1)
            {
                int a = int.Parse(fen1)+1;
                string aa = a.ToString();
                ShuJuKu.shujuku(chang1, chang2, aa, fen2);
                return true;
            }
            else
            {
                return false;
            }
        }
        //单击加分
        public int jia(string chang1, string chang2)
        {
            int a = int.Parse(chang1);
            a++;
            return a;
        }
        //加比值
        public int bizhi(string bi1, string bi2)
        {
            int a = int.Parse(bi1);
            a++;
            return a;
        }
DAL层

代码复审:已完成

测试:已完成

测试报告:加分减分已经可以正常运行。

计算工作量

计划

 估计用时

实际用时

估计这个任务需要多少时间

500min

810min

开发

450min

710min

需求分析

120min

60min

生成设计文档

20min

60min

设计复审

30miin

10min

代码规范

10min

60min

具体设计

20min

200min

具体编码

200min

300min

代码复审

50min

20min

测试

50min

100min

测试报告

20min

40min

计算工作量

20min

40min

事后总结并提出改进计划

10min

20min

事后总结并提出改进计划

该程序的减分应给出提示框提示是否为确定为某队减分。

原文地址:https://www.cnblogs.com/zyadmin/p/6218259.html