天天看點

葫蘆娃團隊

一、需求分析

做一個簡單的播放器,就是程式能夠打開MP3檔案,并可以播放這個檔案。

二、設計思路

❶設計窗體

(1)首先我們要有一個能夠播放音樂的控件,一般我們學習的Windows窗體應用程式沒有播放音樂的控件,我們在工具箱的空白處,按下滑鼠右鍵彈出子菜單,具體操作如圖所示:

葫蘆娃團隊
葫蘆娃團隊

(2)再添加一個ListBox控件和Button控件,設計添加清單和添加按鈕,當點選添加按鈕的時候,彈出一個“打開”窗體,選擇MP3檔案夾,打開到ListBox清單中,即可播放音樂。

(3)窗體布局和外觀設定,如圖:

葫蘆娃團隊

❷功能分析

(1)建立一個成員字段變量listFile來儲存檔案的路徑及名字資訊

(2)首先執行個體化一個對打開檔案的對話框,再執行個體化一個目錄類。

(3)把di目錄的設為目前檔案夾的父目錄的父目錄的父目錄并記錄全名,再把該路徑賦給打開對話框的初始目錄路徑。

(4)當打開對話框後,在其中選中一個檔案名,把該檔案名給path變量,path變量記錄的是詳細的檔案路徑資訊。

(5)傳回指定項中集合中的索引,如果該檔案名的索引大于0,則表示該檔案已經在播放清單裡面了,就彈出提示框"該檔案已經存在!"。

(6)把該檔案名加入到lbNames裡面,path是帶有詳細路徑的檔案資訊,把該資訊給播放器即可。

三、代碼實作

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.IO;

namespace WindowsFormsApplication1
{
    public partial class Form1 : Form
    {
        private List<string> listFile;
        public Form1()
        {
            InitializeComponent();
            listFile = new List<string>();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            OpenFileDialog dlgOpen = new OpenFileDialog();
            DirectoryInfo di = new DirectoryInfo(Application.ExecutablePath); 
            dlgOpen.InitialDirectory = di.Parent.Parent.Parent.FullName;
            dlgOpen.Filter = "多媒體檔案(*.mp3;*.mpg)|*.mp3;*.mpg|所有檔案(*.*)|*.*";
            if (dlgOpen.ShowDialog() == DialogResult.OK)
              {
                  string path = dlgOpen.FileName;
                  listFile.Add(path);
                  string name = Path.GetFileNameWithoutExtension(path);
                  if (lbNames.Items.IndexOf(name) >= 0)
                  {
                      MessageBox.Show("該檔案已經存在!");
                      return;
                  }
                  lbNames.Items.Add(name);
                 lbNames.SelectedIndex = lbNames.Items.Count - 1;
                 bofang.URL = path;
                }
           
            
           }      

四、測試
葫蘆娃團隊

五、PSP耗時分析

PSP2.1 Personal Software Process Stages Time(h)
Planning 計劃 18
  • Estimate 估計這個任務需要多長時間
Development 開發 15
  • Analysis 需求分析 0.5
  • Design Spec 生成設計文檔 1
  • Coding Standard 代碼規範 2
  • Design 具體設計
  • Coding 具體代碼 3
  • Code Review 代碼複審
  • Text 測試
Reporting 報告
  • Test Report 測試報告
  • Size Measurement 計算工作量
  • Postmortem 事後總結 1.5

六、團隊分工

      這次團隊作業是我們一個宿舍的七個人,有付媛媛(也就是我)、徐玉瑩、王遠離、衛文靜、梁秋萍、胡田鴿、龔園苑。

      具體分工如下:

      團隊負責人:付媛媛

      分析員:王遠離、衛文靜

      外觀設計人員:龔園苑

      寫代碼人員:徐玉瑩、付媛媛

      測試人員:梁秋萍

      記錄人員:胡田鴿

      在這個團隊合作中,我們感覺分析和寫代碼是最費腦筋的,是以在分析員和寫代碼人員配置設定了兩個人。

      團隊人員得分情況如下:

      付媛媛:3分

      徐玉瑩:1.5分

      衛文靜:1.3分

      王遠離:1分

      梁秋萍:1分

      胡田鴿:1分

      龔園苑:1.2分

七、總結

      折騰了這幾天,終于完成了這個播放器小軟體,看着勞動成果,很欣慰;雖然不是一個人做的,但我門看到了團隊的力量。

      剛開始,我們一點頭緒都沒有,于是我們上網查資料,找到了Windows Media Player控件,可是這點進展遠遠不夠;不過至少我們找到了方向,知道了有這麼一個控件。順着這條路,我們繼續往前走。首先我們要定義成員變量,由于我們基礎學的不是很紮實,費了我們很多時間和腦力,當時從我們腦海裡冒出的第一個想法就是上網查資料,然後,我們又了翻C#書,把以前學過的理論知識應用上了。平時紮實的基礎很關鍵,因為如果你平時學得就不怎麼樣,那麼你面對這麼一個有點小難度的程式,可能會望而卻步。

      慢慢的一個能播放聲音的播放器就做出來了,這次團隊合作讓我們了解到要編寫一個程式,團隊合作是至關重要的,不會的可以向會的汲取知識,會的在普及知識的時候又鞏固了知識。還有查找資料也挺重要,在他人的基礎上,再根據自己所學進行修改與調試,最後設計出自己想要的程式,過程雖然艱辛,但隻要你持之以恒,付出一定會有回報。

      這次團隊合作,更加深了我們之間的感情,提高了我們之間的默契,我們互相看到了大家的拼搏與努力,也讓我們知道團隊精神得難能可貴。我們都有了不少的收獲,真正的收獲更多是思想上的,讓我們認識到程式的複雜,自己的微不足道,“學無止境”頭一次認識的這麼深刻,察覺自己的不足。

      人生的道路是曲折的,但正是因為曲折人生才光彩奪目,在人生的路上,總遇到重重困難,但正是因為困難我們才變的更堅強。今後的路還很長,面對困難,讓我們用行動去俘虜它吧!