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) >= && int.Parse(chang1)> int.Parse(chang2)+)
{
int a = int.Parse(fen1)+;
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 |
事后总结并提出改进计划:
该程序的减分应给出提示框提示是否为确定为某队减分。
PSP个人项目耗时记录的更多相关文章
- PSP个人项目耗时对比记录表:四则运算
Personal Software Process Stages Time(%) 计划 5 •估计这个任务需要多长时间 5 开发 60 •需求分析 5 •生成设计文档 5 ...
- PSP记录个人项目耗时情况
四则运算编程 PSP记录个人项目耗时情况 PSP Personal Software Process Stages Time(%) Planning 计划 7 Estimate 估计这个任务需要多少时 ...
- 王者荣耀交流协会PSP Daily项目Postmortem结果
王者荣耀交流协会PSP Daily项目Postmortem结果 整理:王超 设想和目标 1. 我们的软件要解决什么问题?是否定义得很清楚?是否对典型用户和典型场景有清晰的描述? PSP D ...
- Ionic3项目实践记录
Ionic3首次项目实践记录 标签(空格分隔): Angular Ionic Ionic3踩坑 1. 路由懒加载(lazy load) 如果设置了懒加载,就必须全部懒加载(包括TabsPage),否则 ...
- Anytime项目开发记录0
Anytime,中文名:我很忙. 开发者:孤独的猫咪神. 这个项目会持续更新,直到我决定不再维护这个APP. 2014年3月10日:近日有事,暂时断更.希望可以会尽快完事. 2014年3月27日:很抱 ...
- Express+Mongoose(MongoDB)+Vue2全栈微信商城项目全记录(二)
用mogoose搭建restful测试接口 接着上一篇(Express+Mongoose(MongoDB)+Vue2全栈微信商城项目全记录(一))记录,今天单独搭建一个restful测试接口,和项目前 ...
- Unity3D Demo项目开发记录
前言 经过一段时间的学习与实际开发,unity3D也勉强算是强行入门了,正所谓好记性不如烂笔头,更何况本人并非专业从事unity3D开发,会一点C#但也并不熟悉,为了避免后期遗忘,因此特意整理了一个D ...
- PSP记录个人项目耗时
PSP2.1 Personal Software Process Stage Time Planning 计划 90 ·Estimate ·估计这个任务需要多长时间 90 Development 开发 ...
- 作业三:PSP记录个人项目耗时情况
PSP2.1 Personal Software Process Stages Time Planning 计划 20min Estimate 估计开发 ...
随机推荐
- POJ 3311 Hie with the Pie (状压DP)
dp[i][j][k] i代表此层用的状态序号 j上一层用的状态序号 k是层数&1(滚动数组) 标准流程 先预处理出所有合法数据存在status里 然后独立处理第一层 然后根据前一层的max推 ...
- android Sqlite select * from myDatabase没有内容的问题
没什么好说的,但是却在初学的时候弄了很久,百度google查了很多资料.后来才发现,竟然是少了个分号结束符的原因. 开始怀疑人生了...
- Qt and C++ Reflection,利用Qt简化C++的反射实现
如何在C++中实现反射机制,应该算是C++开发中经常遇到的问题之一.C++程序没有完整的元数据,也就无法实现原生的反射机制.从性能的角度讲,这样的设计不难理解,毕竟在运行时储存这些元数据需要额外的开销 ...
- relocation 错误
icc test/train/test_lm2.o -shared -lpthread -ldl ./lib/liblm2.a -o liblm2.so ld: ./lib/liblm2.a(cJSO ...
- CSRF攻击
1.什么是CSRF攻击CSRF(Cross-site request forgery),跨站请求伪造.CSRF攻击的原理如下:1)用户登录正常的网站A后,在本地生成Cookie2)在不登出A的情况下, ...
- Java-适配器
对于Java程序来说,如果一个类要实现一个接口,则必须要覆写此接口中的全部抽象方法,那么如果此时一个接口中定义了抽象方法过多,但是在子类中有用不到这么多的抽象方法,则肯定很麻烦,所以此时需要一个中间的 ...
- IDEA创建maven项目使用命令打包遇到的问题及解决方法
maven项目命令打包springboot项目 首先打开tomcat命令工具(如图所示):
- Java 使用Memcache
使用spymemcached.jar public class MemcachedJava { public static void main(String[] args) { try { // 连接 ...
- Linux centos 下 安装eclipse c++
之前在centos6.3版本使用eclipes一切都很正常.最近centos版本升级到6.7后,使用eclipse c++到时候,打开文件,就异常退出了.在网上搜了很久,终于找到解决方法: 现象描述: ...
- RabbitMQ、Rdis
RabbitMQ RabbitMQ:官方网址:http://www.rabbitmq.com/ Install Erlang # rpm -ivh erlang-18.3-1.el6.x86_64.r ...