现场记分员

计划

估计此程序需要8天

  • 开发
  • 需求分析

用户故事:作为一个排球计分人员,我希望知道每场比赛队伍得分和积分情况,以便计分,让相关人员给每队进行排名。

从分析用例故事可以知道完成此程序需要这两项任务:选择任务和查询队伍的比分和积分情况。

.设计复审:

将编写的程序进行生成,进行设计复审。看看是否生成错误,如果错误进行修改。

代码规范
  SQL server2008、Visual Studio2010

具体代码

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Data;
using System.Data.SqlClient;
using System.Configuration;

/// <summary>
///SqlHelper 的摘要说明
/// </summary>
public static class SqlHelper
{
//public SqlHelper()
//{
//
//TODO: 在此处添加构造函数逻辑
//
//private static readonly string constr = ConfigurationManager.ConnectionStrings["connectionStr"].ConnectionString;
private static readonly string constr = ConfigurationManager.ConnectionStrings["itcast"].ConnectionString;
public static int ExecuteNonQuery(string sql,params SqlParameter[] pms)
{
using (SqlConnection con = new SqlConnection(constr))
{
using (SqlCommand cmd = new SqlCommand(sql, con))
{
if (pms != null)
{
cmd.Parameters.AddRange(pms);

}
con.Open();
return cmd.ExecuteNonQuery();
}
}

}
public static object ExecuteScalar(string sql,params SqlParameter[] pms)
{
using (SqlConnection con = new SqlConnection(constr))
{
using (SqlCommand cmd = new SqlCommand(sql, con))
{
if (pms != null)
{
cmd.Parameters.AddRange(pms);

}
con.Open();
return cmd.ExecuteScalar();
}
}
}
public static SqlDataReader ExecuteReader(string sql, params SqlParameter[] pms)
{
SqlConnection con = new SqlConnection(constr);
using (SqlCommand cmd = new SqlCommand(sql, con))
{
if (pms != null)
{
cmd.Parameters.AddRange(pms);

}
try
{
con.Open();
return cmd.ExecuteReader(System.Data.CommandBehavior.CloseConnection);
}
catch(Exception)
{
con.Close();
con.Dispose();//释放所有资源
throw;
}
}
}
public static DataTable ExecuteDataTable(string sql, params SqlParameter[] pms)
{
DataTable dt = new DataTable();
using (SqlDataAdapter adapter = new SqlDataAdapter(sql, constr))
{
if (pms != null)
{
adapter.SelectCommand.Parameters.AddRange(pms);

}
adapter.Fill(dt);
}
return dt;
}

}

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data.SqlClient;
using Model;

namespace sceneJiFenDAL
{

public class BeginDal
{

public int Insert(Fen fen)
{
string sql = "insert into Fen values(@TeamA,@ADeFen,@TeamAFenName,@TeamB,@BDeFen,@TeamBFenName)";
SqlParameter[] paras = new SqlParameter[]{
new SqlParameter("@TeamA",fen.TeamA),
new SqlParameter("@TeamAFenName",fen.TeamAFenName),
new SqlParameter("@TeamA",fen.TeamB),
new SqlParameter("@TeamAFenName",fen.TeamBFenName)
};
int count = SqlHelper.ExecuteNonQuery(sql,paras);
return count;
}
public List<Fen> SelectAllFen()
{
string sql = "select * from Fen";
List<Fen> fenlist = new List<Fen>();
using (SqlDataReader reader = SqlHelper.ExecuteReader(sql))
{
if(reader.HasRows)
{
while (reader.Read())
{
Fen fen = new Fen();
fen.TeamA = reader.GetString(1);
fen.ADeFen = reader.GetString(2);
fen.TeamAFenName = reader.GetString(3);
fen.TeamB = reader.GetString(4);
fen.BDeFen = reader.GetString(5);
fen.TeamBFenName = reader.GetString(6);
fenlist.Add(fen);
}

}
}
return fenlist;
}

}
}

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Model;
using sceneJiFenDAL;

namespace sceneJiFenBLL
{
public class FenBLL
{
BeginDal dal = new BeginDal();
public bool Insert(Fen fen)
{

return dal.Insert(fen) > 0;
}
public List<Fen> GetAllFen()
{
return dal.SelectAllFen().Count > 0 ? dal.SelectAllFen() : null;
}
}
}

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using Model;
using sceneJiFenBLL;

namespace sceneJiFen
{
public partial class One : Form
{
public One()
{
InitializeComponent();
}
int Adefen=0;
int Bdefen = 0;
private FenBLL bll = new FenBLL();
private void button1_Click(object sender, EventArgs e)
{
Adefen++;
Fen fen=new Fen();
fen.TeamA=label1.Text;
fen.TeamB = label2.Text;
fen.ADeFen = Adefen.ToString();
if (radioBtn2.Checked == true)
{
fen.TeamAFenName = radioBtn2.Text;
}

if (radioButton2.Checked == true)
{
fen.TeamAFenName = radioButton2.Text;
}
if (radioButton3.Checked == true)
{
fen.TeamAFenName = radioButton3.Text;
}
if (radioButton14.Checked == true)
{
fen.TeamAFenName = radioButton14.Text;
}
if (radioButton6.Checked == true)
{
fen.TeamAFenName = radioButton6.Text;
}
if (radioButton5.Checked == true)
{
fen.TeamAFenName = radioButton5.Text;
}
if (radioButton4.Checked == true)
{
fen.TeamAFenName = radioButton4.Text;
}
if (radioButton13.Checked == true)
{
fen.TeamAFenName = radioButton13.Text;
}
//bool isOK = bll.Insert(fen);
//if(isOK)
//{
// MessageBox.Show("hhhhhh");
//}
}

private void button2_Click(object sender, EventArgs e)
{
Bdefen++;
Fen fen = new Fen();
fen.TeamA = label1.Text;
fen.TeamB = label2.Text;
fen.BDeFen = Bdefen.ToString();
if (radioButton12.Checked == true)
{
fen.TeamAFenName = radioButton12.Text;
}

if (radioButton11.Checked == true)
{
fen.TeamAFenName = radioButton11.Text;
}
if (radioButton10.Checked == true)
{
fen.TeamAFenName = radioButton10.Text;
}
if (radioButton9.Checked == true)
{
fen.TeamAFenName = radioButton9.Text;
}
if (radioButton8.Checked == true)
{
fen.TeamAFenName = radioButton8.Text;
}
if (radioButton7.Checked == true)
{
fen.TeamAFenName = radioButton7.Text;
}

}

private void One_Load(object sender, EventArgs e)
{

}
}
}

个人总结:有的代码还不规范,还需要修改。

时间: 2024-10-04 15:45:49

现场记分员的相关文章

记分员

1.计划   计划时间 实际完成时间 估计任务需要时间 7天   需求分析 10min   生成设计文档 30min   设计复审 1h   代码规范 20min   具体设计 3h   具体编码 5day   代码复审 1h   测试 1h   测试报告 30min   计算工作量 30min   事后总结并提出过程改进计划     2. 开发   需求分析      作为一名现场记分员,我希望详细记录比赛现场比分增长情况,以便观众及运动员.教练员及时掌握比赛状况.    生成设计文档    

记分员计分程序

开发流程如下: ·项目计划 完成这个项目需要的时间:3~5天 ·项目开发 ·需求分析 .用户故事: ·作为一名现场记分员,我希望详细记录比赛现场比分增长情况,以便观众及运动员.教练员及时掌握比赛状况.(满意条件:每一次比分的改变,都要形成一条记录). ·生成设计文档 ·由排球比赛用户故事的需求分析可知,此程序是用来统计各个队伍的总比分和队伍中每个球员的详细得分情况的,并针对每一次比分的改变,都要形成一条记录. ·计划复审 ·正在进一步的商讨中. ·代码规范 ·根据Visual Studio 20

记分员程序

现场记分员   1.计划 通过对用户故事的分析,估计这个任务需要3~5天时间. 2.开发 2.1需求分析 作为一名现场记分员,我希望详细记录比赛现场比分增长情况. 2.2生成设计文档 根据对用户故事的分析,将其按照三层架构的要求进行设计,便于后续对其他用户故事 的设计提供方便. 2.3设计复审 思考文档是否满足用户需求,文档的可行性,对界面的设计 以及出现的问题. 2.4代码规范 根据设计文档制定出合适的规范,对程序需要实现的功能 作出合理的划分,增加代码的复用性,以便于提高各个部分功能的可用性

排球比赛记分员

完成这个项目需要一周 1.作为一名现场记分员,我希望详细记录比赛现场比赛情况,以便观众及时掌握比赛情况. 2.需求分析:根据用户需求可知我们此次程序需要做到每次分数变化的时候都要记录.当记分元操作之后就要形成记录. 3.生成设计文档: 由排球比赛用户故事的需求分析可知,此程序是用来记录现场比分情况. 计划复审 目前在进行中 代码规范 根据Visual Studio 2010规范去写. 计划复审 目前在进行中 public static object ExecuteScalar(string sq

现场计分员

计划:大约需要两周.需求分析:作为一名现场记分员,我希望详细记录比赛现场比分增长情况,以便观众及运动员.教练员及时掌握比赛状况.生成设计文档:(1)记录每个队员的得分(2)对发球,扣球,失误,等运动员情况进行记录.(3)找出最佳得分球员.(4)将个人得分,每场得分,每队的得分保存至数据库内.设计复审:和组成员审核设计文档.代码规范:以VS2010为开发环境.具体代码: using System;using System.Collections.Generic;using System.Linq;

排球现场计分员三层架构版

作为一名现场记分员,我希望详细记录比赛现场比分增长情况,以便观众及运动员.教练员及时掌握比赛状况.(满意条件:每一次比分的改变,都要形成一条记录) 每次比分改变将数据库里面的内容随之改变. 计划 估算时间 实际时间 估计这个任务需要多少时间 300min 600min 开发 200min 500min 需求分析 10min 10min 生成设计文档 20min 20min 设计复审 10min 20min 代码规范 10min 10min 具体设计 20min 40min 具体编码 120min

排球计分规则——记分员

1:计划 估计需要两周.   2:需求分析 作为一名现场记分员,我希望详细记录比赛现场比分增长情况,以便观众及运动员.教练员及时掌握比赛状况. 3:生成设计文档 可以看到每个球员的得分情况,还可以看出每个队员在所在队伍的地位. 4:具体设计 用户进入后能够清楚的看到每个队员的得分情况.     5:代码规范: 使用C#语言标准.帕斯卡命名法和骆驼命名法   6:具体代码 <configuration><connectionStrings><add name="con

排球计分程序

需求:作为一名现场记分员,我希望详细记录比赛现场比分增长情况,以便观众及运动员.教练员及时掌握比赛状况.(满意条件:每一次比分的改变,都要形成一条记录). 计划:估计此次工作需要一周的时间. 需求分析: 根据用户需求可知我们此次程序需要做到每次分数变化的时候都要记录.当记分员操作之后就要形成记录. 设计文档: 数据关系图: Team(队伍表) 字段 数据类型 说明 Num Vchar(10) 队伍的编号(主键) Name Vchar(50) 队伍的名称 Athlete(队员表) 字段 数据类型

排球计分程序三层架构

1.计划 估计需要两周. 2.需求分析 作为一名现场记分员,我希望详细记录比赛现场比分增长情况,以便观众及运动员.教练员及时掌握比赛状况. 3.设计文档 建立一个数据库,将每支队伍的信息记录 对每一场比赛得分进行记录 记录每个队员的得分和失误 对没个人的得分进行计算 3.具体代码 namespace VolleyballUI { public partial class Index : System.Web.UI.Page { private TeamBll teamBll = new Team