zoukankan      html  css  js  c++  java
  • 记分员程序

    现场记分员

     

    1.计划

    通过对用户故事的分析,估计这个任务需要3~5天时间。

    2.开发

    2.1需求分析

    作为一名现场记分员,我希望详细记录比赛现场比分增长情况。

    2.2生成设计文档

    根据对用户故事的分析,将其按照三层架构的要求进行设计,便于后续对其他用户故事

    的设计提供方便。

    2.3设计复审

    思考文档是否满足用户需求,文档的可行性,对界面的设计

    以及出现的问题。

    2.4代码规范

    根据设计文档制定出合适的规范,对程序需要实现的功能

    作出合理的划分,增加代码的复用性,以便于提高各个部分功能的可用性。

    2.5具体设计

    根据用户需求将UI层设计以及数据库设计出来,

    对于要实现的功能有一个合理的规划。

    UI层设计

    数据库设计

    2.6具体编码

    代码:

    namespace Common
    {
    public static class SqlHelper
    {//获取连接字符串
    private static readonly string constr =
    ConfigurationManager.ConnectionStrings["connectionStr"].ConnectionString;
    //ExecuteNonQuery()方法
    //ExecuteScalar()方法
    //ExecuteReader()方法
    //ExecuteDataTable()方法
    //执行增删改的
    public static int ExecuteNonQuery(string sql, params SqlParameter[] pms)
    {
    //使用using关键字定义一个范围,在范围结束时自动调用这个类实例的Dispose处理对象
    using (SqlConnection con = new SqlConnection(constr))
    {
    //创建执行sql命令对象
    using (SqlCommand cmd = new SqlCommand(sql, con))
    {
    //判断是否传递了sql参数
    if (pms != null)
    {
    //将参数添加到parametes集合中
    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();
    }
    }
    }
    //执行返回sqlDataReader
    public static SqlDataReader ExecuteReader(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);

    }
    try
    {
    con.Open();
    return cmd.ExecuteReader(System.Data.CommandBehavior.CloseConnection);
    }
    catch (Exception)
    {
    con.Close();
    con.Dispose();
    throw;
    }
    }
    }
    }
    //执行返回DataTable
    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;
    }

    }
    }


    conn = new SqlConnection(@"Data Source=.;Initial Catalog=workers;Integrated Security=True");
    adapter = new SqlDataAdapter("select * from China", conn);
    ds = new DataSet();
    adapter.Fill(ds,"china");
    dataGridView1.DataSource = ds.Tables[0];
    dataGridView1.RowHeadersVisible = false;

    //建立一个DataTable类型的方法

    }
    private DataTable dbcon(string strSql)
    {
    conn.Open();
    this.adapter = new SqlDataAdapter(strSql,conn);
    DataTable dtSelect = new DataTable();
    int rnt = this.adapter.Fill(dtSelect);
    conn.Close();
    return dtSelect;
    }

    private void button2_Click(object sender, EventArgs e)
    {
    if (dbUpdate())
    {
    MessageBox.Show("更新成功");
    }
    }
    private Boolean dbUpdate()
    {
    string strSql = "select * from China";
    DataTable dtUpdate = new DataTable();
    dtUpdate = this.dbcon(strSql);
    dtUpdate.Rows.Clear();
    DataTable dtShow = new DataTable();
    dtShow = (DataTable)this.dataGridView1.DataSource;
    for (int i = 0; i < dtShow.Rows.Count; i++)//循环遍历
    {
    dtUpdate.ImportRow(dtShow.Rows[i]);

    }
    try
    {
    this.conn.Open();
    SqlCommandBuilder cb = new SqlCommandBuilder(this.adapter);
    this.adapter.Update(dtUpdate);
    this.conn.Close();
    }
    catch (Exception ex)
    {
    MessageBox.Show(ex.Message.ToString());
    return false;
    }
    dtUpdate.AcceptChanges();
    return true;
    }

    public class ContactBLL
    {

    private void button1_Click(object sender, EventArgs e)
    {
    //判断国家是否填了,没有填则先输入国家
    if (texguojia1.Text == "" || texguojia1.Text == null)
    {
    MessageBox.Show("请先输入国家:");
    }
    //获取第一场第一个国家是多少分如果单击某个国家胜
    //则该文本框加一分
    if (diyiju.Text == "" && texguojia1.Text != "")
    {

    if (int.Parse(diyichang1.Text) < 25)
    {
    int a = int.Parse(diyichang1.Text);
    a++;

    diyichang1.Text = a.ToString();
    //如果分数到达二十五则在第一局中显示某个国家第一局胜
    int c = int.Parse(diyichang2.Text);
    if (a == 25 && a - 1 > c)
    {
    MessageBox.Show("第一局" + button1.Text);
    diyiju.Text = button1.Text;
    int b = int.Parse(changneibifen1.Text);
    b++;
    changneibifen1.Text = b.ToString();
    }
    }
    else
    {
    int a = int.Parse(diyichang1.Text);
    a++;
    diyichang1.Text = a.ToString();
    int c = int.Parse(diyichang2.Text);
    if (a - 1 > c)
    {
    MessageBox.Show("第一局" + button1.Text);
    diyiju.Text = button1.Text;
    int b = int.Parse(changneibifen1.Text);
    b++;
    changneibifen1.Text = b.ToString();
    }
    }

    }
    else if (dierju.Text == "" && texguojia1.Text != "")
    {
    //第一局结束
    //判断第二局
    if (int.Parse(dierchang1.Text) < 25)
    {
    int a = int.Parse(dierchang1.Text);
    a++;
    dierchang1.Text = a.ToString();
    int c = int.Parse(dierchang2.Text);
    if (a == 25 && a - 1 > c)
    {
    MessageBox.Show("第二局" + button1.Text);
    dierju.Text = button1.Text;
    int b = int.Parse(changneibifen1.Text);
    b++;
    changneibifen1.Text = b.ToString();
    }
    }
    else
    {
    int a = int.Parse(dierchang1.Text);
    a++;
    dierchang1.Text = a.ToString();
    int c = int.Parse(dierchang2.Text);
    if (a - 1 > c)
    {
    MessageBox.Show("第二局" + button1.Text);
    dierju.Text = button1.Text;
    int b = int.Parse(changneibifen1.Text);
    b++;
    changneibifen1.Text = b.ToString();
    }
    }

    }
    else if (disanju.Text == "" && texguojia1.Text != "")
    {
    int fen = 25;

    if (int.Parse(disanchang1.Text) < fen)
    {
    int a = int.Parse(disanchang1.Text);
    a++;
    disanchang1.Text = a.ToString();
    int c = int.Parse(disanchang2.Text);
    if (a == fen && a - 1 > c)
    {
    MessageBox.Show("第三局" + button1.Text);
    disanju.Text = button1.Text;
    int b = int.Parse(changneibifen1.Text);
    b++;
    changneibifen1.Text = b.ToString();
    }

    }
    else
    {
    int a = int.Parse(disanchang1.Text);
    a++;
    disanchang1.Text = a.ToString();
    int c = int.Parse(disanchang2.Text);
    if (a - 1 > c)
    {
    MessageBox.Show("第三局" + button1.Text);
    disanju.Text = button1.Text;
    int b = int.Parse(changneibifen1.Text);
    b++;
    changneibifen1.Text = b.ToString();
    }
    }

    }
    else if (disiju.Text == "" && texguojia1.Text != "")
    {
    int fen = 25;
    if (int.Parse(changneibifen1.Text) == 3)
    {
    MessageBox.Show(button1.Text);
    return;
    }
    else if (int.Parse(changneibifen2.Text) == 3)
    {
    MessageBox.Show(button2.Text);
    return;
    }
    else if (int.Parse(changneibifen1.Text) == 2 || int.Parse(changneibifen2.Text) == 2)
    {
    //决胜场
    fen = 25;
    }
    if (int.Parse(disichang1.Text) < fen)
    {
    int a = int.Parse(disichang1.Text);
    a++;
    disichang1.Text = a.ToString();
    int c = int.Parse(disichang2.Text);
    if (a == fen && a - 1 > c)
    {
    MessageBox.Show("第四局" + button1.Text);
    disiju.Text = button1.Text;
    int b = int.Parse(changneibifen1.Text);
    b++;
    changneibifen1.Text = b.ToString();
    }
    }
    else
    {
    int a = int.Parse(disichang1.Text);
    a++;
    disichang1.Text = a.ToString();
    int c = int.Parse(disichang2.Text);
    if (a - 1 > c)
    {
    MessageBox.Show("第四局" + button1.Text);
    disiju.Text = button1.Text;
    int b = int.Parse(changneibifen1.Text);
    b++;
    changneibifen1.Text = b.ToString();
    }
    }

    }
    else if (texguojia1.Text != "")
    {
    int fen = 25;
    if (int.Parse(changneibifen1.Text) == 3)
    {
    MessageBox.Show(button1.Text);
    return;
    }
    else if (int.Parse(changneibifen2.Text) == 3)
    {
    MessageBox.Show(button2.Text);
    return;
    }
    else if (int.Parse(changneibifen1.Text) == 2 || int.Parse(changneibifen2.Text) == 2)
    {
    //决胜场
    fen = 15;
    }

    if (int.Parse(diwuchang1.Text) < fen)
    {
    int a = int.Parse(diwuchang1.Text);
    a++;
    diwuchang1.Text = a.ToString();
    int c = int.Parse(diwuchang2.Text);
    if (a == fen && a - 1 > c)
    {
    MessageBox.Show("第五局" + button1.Text);
    diwuju.Text = button1.Text;
    int b = int.Parse(changneibifen1.Text);
    b++;
    changneibifen1.Text = b.ToString();
    }
    }
    else
    {
    int a = int.Parse(diwuchang1.Text);
    a++;
    diwuchang1.Text = a.ToString();
    int c = int.Parse(diwuchang2.Text);
    if (a - 1 > c)
    {
    MessageBox.Show("第五局" + button1.Text);
    diwuju.Text = button1.Text;
    int b = int.Parse(changneibifen1.Text);
    b++;
    changneibifen1.Text = b.ToString();
    }
    }
    }

    }
    private void button2_Click(object sender, EventArgs e)
    {
    //判断是否输入了国家名字
    if (texguojia2.Text == "" || texguojia2.Text == null)
    {
    MessageBox.Show("请先输入队名:");
    }

    //判断分数是否达到25如果单击按钮后分数没有达到25则分数加1
    if (diyiju.Text == "" && texguojia2.Text != "")
    {
    if (int.Parse(diyichang2.Text) < 25)
    {
    int a = int.Parse(diyichang2.Text);
    a++;

    diyichang2.Text = a.ToString();
    //如果分数达到25则显示第一局某国家胜
    int c = int.Parse(diyichang1.Text);
    if (a == 25 && a - 1 > c)
    {
    MessageBox.Show("第一局" + button2.Text);
    diyiju.Text = button2.Text;
    int b = int.Parse(changneibifen2.Text);
    b++;
    changneibifen2.Text = b.ToString();
    }

    }
    else
    {
    int a = int.Parse(diyichang2.Text);
    a++;
    diyichang2.Text = a.ToString();
    int c = int.Parse(diyichang1.Text);
    if (a - 1 > c)
    {
    MessageBox.Show("第一局" + button2.Text);
    diyiju.Text = button2.Text;
    int b = int.Parse(changneibifen2.Text);
    b++;
    changneibifen2.Text = b.ToString();
    }
    }

    }
    else if (dierju.Text == "" && texguojia2.Text != "")
    {
    //第一局结果以出现
    //判断第二局
    if (int.Parse(dierchang2.Text) < 25)
    {
    int a = int.Parse(dierchang2.Text);
    a++;

    dierchang2.Text = a.ToString();
    //如果分数达到25则显示第一局某国家胜
    int c = int.Parse(dierchang1.Text);
    if (a == 25 && a - 1 > c)
    {
    MessageBox.Show("第二局" + button2.Text);
    dierju.Text = button2.Text;
    int b = int.Parse(changneibifen2.Text);
    b++;
    changneibifen2.Text = b.ToString();
    }

    }
    else
    {
    int a = int.Parse(dierchang2.Text);
    a++;
    dierchang2.Text = a.ToString();
    int c = int.Parse(dierchang1.Text);
    if (a - 1 > c)
    {
    MessageBox.Show("第二局" + button2.Text);
    dierju.Text = button2.Text;
    int b = int.Parse(changneibifen2.Text);
    b++;
    changneibifen2.Text = b.ToString();
    }
    }
    }
    else if (disanju.Text == "" && texguojia2.Text != "")
    {
    int fen = 25;
    //if (int.Parse(changneibifen1.Text) == 2 || int.Parse(changneibifen2.Text) == 2)
    //{
    // fen = 15;
    //}
    //else if(int.Parse(changneibifen1.Text)==3)
    //{
    // MessageBox.Show(button1.Text);
    //}
    //else if (int.Parse(changneibifen2.Text) == 3)
    //{
    // MessageBox.Show(button2.Text);
    //}
    if (int.Parse(disanchang2.Text) < fen)
    {
    int a = int.Parse(disanchang2.Text);
    a++;

    disanchang2.Text = a.ToString();
    //如果分数达到25则显示第一局某国家胜
    int c = int.Parse(disanchang1.Text);
    if (a == fen && a - 1 > c)
    {
    MessageBox.Show("第三局" + button2.Text);
    disanju.Text = button2.Text;
    int b = int.Parse(changneibifen2.Text);
    b++;
    changneibifen2.Text = b.ToString();
    }

    }
    else
    {
    int a = int.Parse(disanchang2.Text);
    a++;
    disanchang2.Text = a.ToString();
    int c = int.Parse(disanchang1.Text);
    if (a - 1 > c)
    {
    MessageBox.Show("第三局" + button2.Text);
    disanju.Text = button2.Text;
    int b = int.Parse(changneibifen2.Text);
    b++;
    changneibifen2.Text = b.ToString();
    }
    }
    }
    else if (disiju.Text == "" && texguojia2.Text != "")
    {
    int fen = 25;
    if (int.Parse(changneibifen1.Text) == 3)
    {
    MessageBox.Show(button1.Text);
    return;
    }
    else if (int.Parse(changneibifen2.Text) == 3)
    {
    MessageBox.Show(button2.Text);
    return;
    }
    else if (int.Parse(changneibifen1.Text) == 2 || int.Parse(changneibifen2.Text) == 2)
    {
    //决胜场
    fen = 25;
    }

    if (int.Parse(disichang2.Text) < fen)
    {
    int a = int.Parse(disichang2.Text);
    a++;

    disichang2.Text = a.ToString();
    //如果分数达到25则显示第一局某国家胜
    int c = int.Parse(disichang1.Text);
    if (a == fen && a - 1 > c)
    {
    MessageBox.Show("第四局" + button2.Text);
    disiju.Text = button2.Text;
    int b = int.Parse(changneibifen2.Text);
    b++;
    changneibifen2.Text = b.ToString();
    }

    }
    else
    {
    int a = int.Parse(disichang2.Text);
    a++;
    disichang2.Text = a.ToString();
    int c = int.Parse(diyichang1.Text);
    if (a - 1 > c)
    {
    MessageBox.Show("第四局" + button2.Text);
    disiju.Text = button2.Text;
    int b = int.Parse(changneibifen2.Text);
    b++;
    changneibifen2.Text = b.ToString();
    }
    }
    }
    else if (texguojia2.Text != "")
    {
    int fen = 25;
    if (int.Parse(changneibifen1.Text) == 3)
    {
    MessageBox.Show(button1.Text);
    return;
    }
    else if (int.Parse(changneibifen2.Text) == 3)
    {
    MessageBox.Show(button2.Text);
    return;
    }
    else if (int.Parse(changneibifen1.Text) == 2 || int.Parse(changneibifen2.Text) == 2)
    {
    //决胜场
    fen = 15;
    }
    if (int.Parse(diwuchang2.Text) < fen)
    {
    int a = int.Parse(diwuchang2.Text);
    a++;

    diwuchang2.Text = a.ToString();
    //如果分数达到25则显示第一局某国家胜
    int c = int.Parse(diwuchang1.Text);
    if (a == fen && a - 1 > c)
    {
    MessageBox.Show("第五局" + button2.Text);
    diwuju.Text = button2.Text;
    int b = int.Parse(changneibifen2.Text);
    b++;
    changneibifen2.Text = b.ToString();
    }
    }
    else
    {
    int a = int.Parse(diwuchang2.Text);
    a++;
    diwuchang2.Text = a.ToString();
    int c = int.Parse(diwuchang1.Text);
    if (a - 1 > c)
    {
    MessageBox.Show("第五局" + button2.Text);
    diwuju.Text = button2.Text;
    int b = int.Parse(changneibifen2.Text);
    b++;
    changneibifen2.Text = b.ToString();
    }
    }
    }

    2.6具体编码

    代码:

    代码复审

    对代码进行复审,并对代码进行重构,提高代码质量,可维护性。

    通过复审尽可能发现错误,便于后续的开发速度,以及新功能的的

    添加。

    测试

    使用VS2010进行所有的单元测试。

    3.3事后总结,并提出过程改进计划

    对于ASPNET只是有一个大概的认知,对于一般应用处理程序搭建的三层还是很薄弱,只能慢慢赶了。

  • 相关阅读:
    真正的e时代
    在线手册
    UVA 10616 Divisible Group Sums
    UVA 10721 Bar Codes
    UVA 10205 Stack 'em Up
    UVA 10247 Complete Tree Labeling
    UVA 10081 Tight Words
    UVA 11125 Arrange Some Marbles
    UVA 10128 Queue
    UVA 10912 Simple Minded Hashing
  • 原文地址:https://www.cnblogs.com/zs1736/p/6568944.html
Copyright © 2011-2022 走看看