天天看點

C#windows宿舍資訊管理系統中文摘要1軟體可行性研究與項目開發計劃2.需求分析3.概要設計4.詳細設計5.軟體編碼6.測試7.總結

中文摘要

為了提高學生宿舍的管理效率,本課題使用C#語言和SQL Server資料庫系統開發了一個WinForm類型的宿舍管理系統對學校學生宿舍資訊進行高效管理,以提升住宿品質。本系統包含管理者登入注冊、管理者資訊修改子產品、添加宿舍學生資訊子產品、删除宿舍學生資訊子產品、查找宿舍學生資訊子產品、修改宿舍學生資訊子產品六個子產品。設計報告從可行性研究與項目開發計劃及系統開發環境;系統需求分析;概要設計(含資料庫設計)和詳細設計;各功能子產品的具體編碼實作;系統測試;設計總結六個方面進行了闡述。通過該系統的開發,對軟體項目設計與開發工作的完整流程進行了實踐。

關鍵詞:學生資訊管理系統,C#,SQL Server

1軟體可行性研究與項目開發計劃

1.1問題定義

1.2可行性分析

1.3進度計劃

2.需求分析

2.1引言

2.2功能說明

2.3其他要求

作業系統:Windows10

運作環境:VisualStudio

資料庫環境:SQL Server

3.概要設計

3.1功能子產品設計

本宿舍資訊管理系統主要為登入注冊、添加學生宿舍資訊、删除學生宿舍資訊、查找學生宿舍資訊、修改學生宿舍資訊等。

系統功能子產品圖如圖3-1所示。

C#windows宿舍資訊管理系統中文摘要1軟體可行性研究與項目開發計劃2.需求分析3.概要設計4.詳細設計5.軟體編碼6.測試7.總結

圖3-1系統功能子產品圖

1)登陸注冊功能

A.登入:輸入使用者名和密碼登入,驗證使用者名和密碼,進行登入。

B.注冊:建立使用者和密碼,用來實作登陸,并有基本資訊錄入。

2)增删查改功能

A.管理者注冊資訊修改:管理者自身資訊更改。

B.添加學生資訊:對學生宿舍資訊的錄入。

C.删除宿舍學生資訊:對搬出學生資訊的移除。

D.查找宿舍學生資訊:對學号和姓名提供查詢學生宿舍資訊功能。

E.修改宿舍學生資訊:對宿舍學生的錯誤資訊進行修改。

3.2資料庫設計

4.詳細設計

4.1總體設計

(1)系統用例圖

C#windows宿舍資訊管理系統中文摘要1軟體可行性研究與項目開發計劃2.需求分析3.概要設計4.詳細設計5.軟體編碼6.測試7.總結

圖4-1系統用例

(2)系統體系結構

C#windows宿舍資訊管理系統中文摘要1軟體可行性研究與項目開發計劃2.需求分析3.概要設計4.詳細設計5.軟體編碼6.測試7.總結

(3)E-R圖

C#windows宿舍資訊管理系統中文摘要1軟體可行性研究與項目開發計劃2.需求分析3.概要設計4.詳細設計5.軟體編碼6.測試7.總結

圖4-3 E-R圖

4.2功能子產品詳細分析

5.軟體編碼

5.1管理者子產品

(1)登入子產品設計

C#windows宿舍資訊管理系統中文摘要1軟體可行性研究與項目開發計劃2.需求分析3.概要設計4.詳細設計5.軟體編碼6.測試7.總結

5-1.1登入視窗

此窗體界面用于管理者的登入,無賬号的使用者可點選注冊。

登入視窗關鍵功能代碼如下:

private void btnLogin_Click(object sender, EventArgs e)
{
    try
    {
        if (textBox1.Text == "" || textBox2.Text == "")
        {
            MessageBox.Show("請輸入完整資訊!!!");
            return;
        }
        string count = textBox1.Text;
        string pwd = ToMD5(textBox2.Text);
        Models.Login user = new Models.Login { account = count,password=pwd };
        bool result = ma.Login(user);
        if (result)
        {
            this.Hide();
            main mainForm = new main(textBox1.Text);
            mainForm.StartPosition = FormStartPosition.CenterScreen;
            mainForm.Show();
        }
        else
        {
            MessageBox.Show("賬号或密碼錯誤!!!");
        }
    }
    catch
    {
        MessageBox.Show("登入失敗!!!");
    }
    
}
           

(2)注冊子產品設計

C#windows宿舍資訊管理系統中文摘要1軟體可行性研究與項目開發計劃2.需求分析3.概要設計4.詳細設計5.軟體編碼6.測試7.總結

5-1.2注冊視窗

此窗體界面用于管理者的注冊,其中對賬号、昵稱、密碼進行了格式驗證,賬号為4位數字,昵稱隻能為中文,密碼需要兩次輸入一緻方可成功注冊。

注冊界面關鍵功能代碼如下:

private void button1_Click(object sender, EventArgs e)
{
    if (box2.Text == "" || box3.Text == "")
    {
        MessageBox.Show("請輸入完整");
    }
    else
    {
        if (box2.Text.Equals(box3.Text))
        {
            string no = SendAccount;
            string pwd = ToMD5(box2.Text);
            Models.Login u = new Models.Login
            {
                account = no,
                password = pwd
            };
            bool result = lm.UpdatePwd(u);
            if (result)
            {
                MessageBox.Show("修改成功");
            }
            else
            {
                MessageBox.Show("修改失敗");
            }
        }
        else
        {
            MessageBox.Show("兩次密碼不一緻");
        }
    }
}
           

5.2首頁面設計

C#windows宿舍資訊管理系統中文摘要1軟體可行性研究與項目開發計劃2.需求分析3.概要設計4.詳細設計5.軟體編碼6.測試7.總結

5-2首頁面視窗

此窗體界面用于管理者登入成功的展示,作為各個子功能子產品的入口。

主界面關鍵功能代碼如下:

private void Exit_Click(object sender, EventArgs e)
 {
     this.Close();
     Login mainForm = new Login();
     mainForm.StartPosition = FormStartPosition.CenterScreen;
     mainForm.Show();
 }

 private void Add_Click(object sender, EventArgs e)
 {
     Add mainForm = new Add();
     mainForm.StartPosition = FormStartPosition.CenterScreen;
     mainForm.Show();
 }
           

5.3管理者修改密碼子產品設計

C#windows宿舍資訊管理系統中文摘要1軟體可行性研究與項目開發計劃2.需求分析3.概要設計4.詳細設計5.軟體編碼6.測試7.總結

5-3修改密碼視窗

此窗體界面用于管理者密碼修改

修改密碼關鍵功能代碼如下:

private void button1_Click(object sender, EventArgs e)
{
    if (box2.Text == "" || box3.Text == "")
    {
        MessageBox.Show("請輸入完整");
    }
    else
    {
        if (box2.Text.Equals(box3.Text))
        {
            string no = SendAccount;
            string pwd = ToMD5(box2.Text);
            Models.Login u = new Models.Login
            {
                account = no,
                password = pwd
            };
            bool result = lm.UpdatePwd(u);
            if (result)
            {
                MessageBox.Show("修改成功");
            }
            else
            {
                MessageBox.Show("修改失敗");
            }
        }
        else
        {
            MessageBox.Show("兩次密碼不一緻");
        }
    }
}
           

5.4添加資訊管理子產品設計

C#windows宿舍資訊管理系統中文摘要1軟體可行性研究與項目開發計劃2.需求分析3.概要設計4.詳細設計5.軟體編碼6.測試7.總結

5-4添加視窗

此窗體界面用于宿舍資訊的添加,實作對宿舍學生資訊的添加,其中對輸入資料進行了格式驗證,學号、樓号、宿舍号、床位号都是數字形式,性别和是否舍長為選擇指定字段,姓名為漢字。

宿舍資訊的添加關鍵功能代碼如下:

private void btnSubmit_Click(object sender, EventArgs e)
{
    if (!(ver.IsNumber(box1.Text)))
    {
        MessageBox.Show("學号隻能為數字!");
        return;
    }
    if (!ver.IsChinese(box2.Text))
    {
        MessageBox.Show("姓名隻能為中文");
        return;
    }
    if (!(box3.Text=="男" || box3.Text=="女"))
    {
        MessageBox.Show("性别隻能是男/女");
        return;
    }
    if (!ver.IsNumber(box4.Text))
    {
        MessageBox.Show("樓号隻能為數字!");
        return;
    }
    if (!ver.IsNumber(box5.Text))
    {
        MessageBox.Show("宿舍号隻能為數字!");
        return;
    }
    if (!ver.IsNumber(box6.Text))
    {
        MessageBox.Show("床位隻能為數字!");
        return;
    }
    if (!(box7.Text == "是" || box7.Text == "否"))
    {
        MessageBox.Show("請選擇或填寫是/否");
        return;
    }
    if (checkNull())
    {           
        string b1 = box1.Text,b2 = box2.Text,b3 = box3.Text,b4 = box4.Text,b5 = box5.Text,b6 = box6.Text,b7 = box7.Text;
        Tab items = new Tab{ box1 = b1,box2 = b2,box3 = b3,box4 = b4,box5 = b5,box6 = b6,box7 = b7};
        bool result = tabm.Add(items);
        if (result)
        {
            MessageBox.Show("添加成功");
            getAll();
            ClearAll();
        }
        else
        {
            MessageBox.Show("學号重複,添加失敗");
        }
    }
    else
    {
        MessageBox.Show("請輸入完整資訊");
    }
}
           

5.5删除資訊子產品設計

C#windows宿舍資訊管理系統中文摘要1軟體可行性研究與項目開發計劃2.需求分析3.概要設計4.詳細設計5.軟體編碼6.測試7.總結

5-5删除資訊視窗

此窗體界面用于資料的删除,管理者可以通過輸入要删除的學生學号進行删除操作。

删除關鍵功能代碼如下:

private void button1_Click(object sender, EventArgs e)
 {
     string dels = box1.Text;
     if (tabm.GetOneEqual(dels).Rows.Count == 0)         //資料庫是否有需要删除的資料
     {
         MessageBox.Show("沒有檢索到要删除的資料");
         return;
     }
     if (box1.Text.Equals(""))
     {
         MessageBox.Show("請輸入要删除的資料");
     }
     else
     {
         string a = box1.Text;
         Tab del = new Tab { box1 = a };
         bool result = tabm.Delete(del);
         if (result)
         {
             MessageBox.Show("删除成功");
         }
         else
         {
             MessageBox.Show("删除失敗");
         }
         getAll();
         box1.Text = "";
     }
 }
           

5.6查詢資訊子產品設計

C#windows宿舍資訊管理系統中文摘要1軟體可行性研究與項目開發計劃2.需求分析3.概要設計4.詳細設計5.軟體編碼6.測試7.總結

5-6查詢資訊視窗

此窗體界面用于查詢資料,查詢分為了精确查找和模糊查找,精确查找是通過學生學号進行精确的學生宿舍資訊查詢,模糊查詢是通過學生姓名進行關鍵字查詢。

查詢關鍵功能代碼如下:

private void select_equal_Click(object sender, EventArgs e)
{
    if (textBox1.Text.Equals(""))
    {
        MessageBox.Show("未檢索到你的輸入資訊!");
    }
    else
    {
        dataGridView1.DataSource = tabm.GetOneEqual(textBox1.Text);
    }
}
private void getAll()
{
    dataGridView1.DataSource = tabm.GetAllData();
}

private void Select_Load(object sender, EventArgs e)
{
    getAll();
}

private void select_like_Click(object sender, EventArgs e)
{
    if (textBox2.Text.Equals(""))
    {
        MessageBox.Show("未檢索到你的輸入資訊!");
    }
    else
    {
        dataGridView1.DataSource = tabm.GetOneLike(textBox2.Text);
    }
}
           

5.7修改資訊子產品設計

C#windows宿舍資訊管理系統中文摘要1軟體可行性研究與項目開發計劃2.需求分析3.概要設計4.詳細設計5.軟體編碼6.測試7.總結

5-7修改資訊視窗

此窗體界面用于宿舍資訊的修改,實作對學生宿舍資訊的修改,其中對輸入資料進行了格式驗證,學号、樓号、宿舍号、床位号都是數字形式,性别和是否舍長為選擇指定字段,姓名為漢字。

宿舍資訊的修改關鍵功能代碼如下:

private void btnSubmit_Click(object sender, EventArgs e)
{
     if (!(ver.IsNumber(box1.Text)))
     {
         MessageBox.Show("學号隻能為數字!");
         return;
     }
     if (!ver.IsChinese(box2.Text))
     {
         MessageBox.Show("姓名隻能為中文");
         return;
     }
     if (!(box3.Text == "男" || box3.Text == "女"))
     {
         MessageBox.Show("性别隻能是男/女");
         return;
     }
     if (!ver.IsNumber(box4.Text))
     {
         MessageBox.Show("樓号隻能為數字!");
         return;
     }
     if (!ver.IsNumber(box5.Text))
     {
         MessageBox.Show("宿舍号隻能為數字!");
         return;
     }
     if (!ver.IsNumber(box6.Text))
     {
         MessageBox.Show("床位隻能為數字!");
         return;
     }
     if (!(box7.Text == "是" || box7.Text == "否"))
     {
         MessageBox.Show("請選擇或填寫是/否");
         return;
     }
     if (checkNull())
     {
         string b1 = box1.Text, b2 = box2.Text, b3 = box3.Text, b4 = box4.Text, b5 = box5.Text, b6 = box6.Text, b7 = box7.Text;
         Tab items = new Tab { box1 = b1, box2 = b2, box3 = b3, box4 = b4, box5 = b5, box6 = b6, box7 = b7 };

         bool result = tabm.Update(items);
         if (result)
         {
             MessageBox.Show("修改成功");
             getAll();
             ClearAll();
         }
         else
         {
             MessageBox.Show("修改失敗");
         }
     }
     else
     {
         MessageBox.Show("請輸入完整資訊");
     }
 }
           

6.測試

6.1測試計劃

6.2測試用例設計及執行

6.3測試小結

7.總結

源碼和原文檔擷取通路:winform之家

繼續閱讀