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 估计开发 ...
随机推荐
- 全面解析sizeof(下) 分类: C/C++ StudyNotes 2015-06-15 10:45 263人阅读 评论(0) 收藏
以下代码使用平台是Windows7 64bits+VS2012. sizeof作用于基本数据类型,在特定的平台和特定的编译中,结果是确定的,如果使用sizeof计算构造类型:结构体.联合体和类的大小时 ...
- JS在路径中传中文参数
需要用 encodeURI('中文');处理一下.
- pyside 添加菜单栏,窗口状态栏,工具栏
这三个放到一起,个人认为比较有可比性. 另外该写的解释我都记到注释里面了 话不多说,show me the code 菜单栏, # ubuntu16.04触发关联事件不成功,应该是ubantu的全局窗 ...
- DataTable 批量插入SqlServer数据库 使用:SqlBulkCopy
简单使用: private void UpdateTitle(DataTable dt) { ) { using (SqlBulkCopy sbc = new SqlBulkCopy(SqlHelpe ...
- laravel route路由
基本路由 您的应用程序的绝大多数路由将在 app/routes.php 文件中定义.Laravel 中最简单的路由由一个 URI 和一个闭包调用组成. 基本 GET 路由 代码如下: Route::g ...
- angularJs ng-model/ng-bind
ng-bind 与ng-model区别ng-bind是从$scope -> view的单向绑定,也就是说ng-bind是相当于{{object.xxx}},是用于展示数据的.ng-modle是$ ...
- https 双向证书
一:服务器端 1.首先需要配置站点的SSl证书 打开Nginx安装目录下conf目录中的nginx.conf文件 找到 # HTTPS server # #server { ...
- IOS WebView修改contentInset 导致webview长按弹出菜单跳动的解决方法
最近在项目中需要用到webview 加载H5 并且在webview 底部使用原生UI添加其他空间比如广告.或者评论(Scrollview) 最初使用修改webview中scrollview 的cont ...
- a new blog from MarsEdit
终于在网上找到了一款mac 下的blog写作和发布工具了. 先测试一下.
- git学习3:远程仓库
Git是分布式版本控制系统,同一个git仓库,可以分布到不同的机器上,那么需要有一台机器上有一个原始版本库,这样别的机器可以克隆这个原始版本库,那么这台机器就是github. 1,创建SSH Key. ...