電子相冊(cè)系統(tǒng)需求分析.doc
《電子相冊(cè)系統(tǒng)需求分析.doc》由會(huì)員分享,可在線閱讀,更多相關(guān)《電子相冊(cè)系統(tǒng)需求分析.doc(30頁珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
中原工學(xué)院軟件學(xué)院 二級(jí)實(shí)踐課題設(shè)計(jì)任務(wù)書 姓 名 劉亞敏 計(jì)算機(jī)信息管理 專業(yè) 112 班 題 目 相冊(cè)管理系統(tǒng)的設(shè)計(jì)和實(shí)現(xiàn) 設(shè) 計(jì) 任 務(wù) 要求設(shè)計(jì)一個(gè)簡(jiǎn)單的相冊(cè)管理程序,能實(shí)現(xiàn)新建、打開相冊(cè),導(dǎo)入照片、幻燈片放映、旋轉(zhuǎn)圖片等功能??蓪?shí)現(xiàn)按相冊(cè)創(chuàng)建時(shí)間、照片上傳時(shí)間、照片描述等查看相冊(cè)。要求使用數(shù)據(jù)庫記錄照片信息,并用文件夾及文件操作管理相冊(cè)及照片。 時(shí) 間 進(jìn) 度 第1周:( 2012.06.11~2012.06.17 ):系統(tǒng)需求分析,進(jìn)行界面設(shè)計(jì);設(shè)計(jì)系統(tǒng)的數(shù)據(jù)庫結(jié)構(gòu)進(jìn)行分析、設(shè)計(jì),并通過畫E-R圖的方式來幫助實(shí)現(xiàn)數(shù)據(jù)庫結(jié)構(gòu)的完整設(shè)計(jì),列出數(shù)據(jù)庫數(shù)據(jù)表,之后以列出的關(guān)系模型為依據(jù)進(jìn)行 第2周:( 2012.06.18 ~2012.06.24 ):對(duì)系統(tǒng)進(jìn)行詳細(xì)的分析設(shè)計(jì),根據(jù)不同的功能模塊,對(duì)其進(jìn)行相應(yīng)的編碼及測(cè)試; 第3周:( 2012.06.25 ~ 2012.07.01 ):對(duì)系統(tǒng)進(jìn)行測(cè)試和糾錯(cuò),進(jìn)一步完善其功能,之后進(jìn)行報(bào)告總結(jié),交與老師驗(yàn)收。 原 主 始 要 資 參 料 考 與 文 獻(xiàn) [01] 李紅.數(shù)據(jù)庫原理與應(yīng)用,高等教育出版,2003年3月。 [02] 謝希仁.計(jì)算機(jī)網(wǎng)絡(luò).電子工業(yè)出版社,2008年1月。 [03]白以恩.計(jì)算機(jī)網(wǎng)絡(luò)基礎(chǔ)及應(yīng)用[M]. 哈爾濱:哈爾濱工業(yè)大學(xué)出版社,2000.189~258 指導(dǎo)教師簽字: 年 月 日 摘 要 由于市場(chǎng)競(jìng)爭(zhēng)的需要,交流方式的多樣化,用戶的可選擇的方式也就不斷增加,對(duì)于軟件研發(fā)者,軟件功能的多樣化和完善才是競(jìng)爭(zhēng)的資本。由于信息交流的多樣化,特別是電子信息技術(shù)的發(fā)展,同時(shí),隨著數(shù)據(jù)庫技術(shù),客戶/服務(wù)器技術(shù)等的發(fā)展,使得電子相冊(cè)系統(tǒng)的功能更加完善。電子相冊(cè)管理系統(tǒng)的特點(diǎn)是從相冊(cè)管理的角度出發(fā),通過數(shù)據(jù)庫將幾乎所有與之相關(guān)的數(shù)據(jù)統(tǒng)一管理起來,從而形成了集成的信息集。電子相冊(cè)管理系統(tǒng)較好的用戶界面,信息共享,信息管理使得管理人員和用戶使用更加的便捷,而且電子相冊(cè)系統(tǒng)的可操作性非常強(qiáng),針對(duì)不同教育程度的人群。 電子相冊(cè)系統(tǒng)容納的信息量非常大,主要通過文字和圖片等方式展示出來,針對(duì)當(dāng)前信息交流和管理類型的軟件較多的原因,電子相冊(cè)系統(tǒng)通過簡(jiǎn)單的幾個(gè)功能模塊就實(shí)現(xiàn)了用戶的登錄、注冊(cè)、信息更新、信息共享、信息管理等功能。且在不同的功能模塊中,分工明確,不同的功能模塊通過控件聯(lián)系起來。從而使得用戶之間的交流更加的多樣化。 關(guān)鍵詞:相冊(cè)管理;數(shù)據(jù)庫設(shè)計(jì);界面設(shè)計(jì)。 目 錄 摘 要 3 第1章 緒 論 5 1.1課題背景 5 1.2相冊(cè)管理系統(tǒng)的現(xiàn)狀 5 1.3 課題研究?jī)?nèi)容 5 第2章 需求分析 6 2.1 相冊(cè)需求分析 6 2.2 需求分析的任務(wù)概述 6 2.2.1 目錄 6 2.2.2用戶的特點(diǎn) 6 2.2.3假定和約束 6 2.2.4需求約定 7 2.2.5功能詳細(xì)描述 7 2.3 系統(tǒng)環(huán)境需求 7 2.3.1 開發(fā)環(huán)境需求 7 2.3.2 運(yùn)行環(huán)境需求 7 第3章 概要設(shè)計(jì) 8 3.1 數(shù)據(jù)庫概要設(shè)計(jì) 8 3.1.1 實(shí)體及其屬性 8 3.1.2 E-R模型 8 第4章 詳細(xì)設(shè)計(jì) 9 4.1 數(shù)據(jù)庫的詳細(xì)設(shè)計(jì) 9 4.2結(jié)構(gòu)化分析與設(shè)計(jì) 10 4.2.1數(shù)據(jù)主要功能的數(shù)據(jù)流程圖 10 4.2.2系統(tǒng)總體結(jié)構(gòu)設(shè)計(jì) 12 4.3系統(tǒng)詳細(xì)設(shè)計(jì) 12 4.3.1相冊(cè)登錄管理 12 4.3.2相冊(cè)信息管理 13 第5章 運(yùn)行及測(cè)試 17 5.1 系統(tǒng)測(cè)試概要 17 5.2 系統(tǒng)維護(hù) 19 第6章 結(jié)束語 20 附錄 系統(tǒng)相關(guān)代碼 22 第1章 緒 論 1.1課題背景 由于市場(chǎng)競(jìng)爭(zhēng)的需要,交流方式的多樣化,用戶的可選擇的方式也就不斷增加,對(duì)于軟件研發(fā)者,軟件功能的多樣化和完善才是競(jìng)爭(zhēng)的資本。由于信息交流的多樣化,特別是電子信息技術(shù)的發(fā)展,同時(shí),隨著數(shù)據(jù)庫技術(shù),客戶/服務(wù)器技術(shù)等的發(fā)展,使得相冊(cè)系統(tǒng)的功能更加完善。相冊(cè)管理系統(tǒng)的特點(diǎn)是從相冊(cè)管理的角度出發(fā),通過數(shù)據(jù)庫將幾乎所有與之相關(guān)的數(shù)據(jù)統(tǒng)一管理起來,從而形成了集成的信息集。相冊(cè)管理系統(tǒng)較好的用戶界面,信息共享,信息管理使得管理人員和用戶使用更加的便捷,而且相冊(cè)系統(tǒng)的可操作性非常強(qiáng),針對(duì)不同教育程度的人群。 相冊(cè)系統(tǒng)容納的信息量非常大,主要通過文字和圖片等方式展示出來,針對(duì)當(dāng)前信息交流和管理類型的軟件較多的原因,相冊(cè)系統(tǒng)通過簡(jiǎn)單的幾個(gè)功能模塊就實(shí)現(xiàn)了用戶的登錄、注冊(cè)、信息更新、信息共享、信息管理等功能。且在不同的功能模塊中,分工明確,不同的功能模塊通過控件聯(lián)系起來。從而使得用戶之間的交流更加的多樣化。 1.2相冊(cè)管理系統(tǒng)的現(xiàn)狀 現(xiàn)有系統(tǒng)主要是由人工進(jìn)行管理和維護(hù),工作量較大,不能滿足人們對(duì)時(shí)間和效率的要求,導(dǎo)致這種相冊(cè)模式已不再適應(yīng)日益增長(zhǎng)的相冊(cè)工作管理量。迫切需要找到一種更加智能的相冊(cè)管理以及注冊(cè)系統(tǒng)。 1.3 課題研究?jī)?nèi)容 希望能夠以最低的成本,并且能夠在最短的時(shí)間期限內(nèi)研發(fā)出具有登錄、注冊(cè)、信息共享、信息管理等功能的相冊(cè)管理系統(tǒng)。 該課題以某商標(biāo)注冊(cè)所的客戶管理需求為出發(fā)點(diǎn),實(shí)現(xiàn)了以下功能: 1) 登錄模塊 2) 相冊(cè)管理模塊 3) 相片管理模塊 第2章 需求分析 2.1 相冊(cè)需求分析 在完成了針對(duì)《相冊(cè)管理》軟件市場(chǎng)的前期調(diào)查,同時(shí)與多位軟件使用者進(jìn)行了全面深入地探討和分析的基礎(chǔ)上,提出了這份軟件需求規(guī)格說明書。 此需求規(guī)格說明書對(duì)《相冊(cè)管理系統(tǒng)》軟件做了全面細(xì)致的用戶需求分析,明確所要開發(fā)的軟件應(yīng)具有的功能、性能與界面,使系統(tǒng)分析人員及軟件開發(fā)人員能清楚地了解用戶的需求,并在此基礎(chǔ)上進(jìn)一步提出概要設(shè)計(jì)說明書和完成后續(xù)設(shè)計(jì)與開發(fā)工作。本說明書的預(yù)期讀者為用戶、業(yè)務(wù)或需求分析人員、測(cè)試人員、項(xiàng)目管理人員。 2.2 需求分析的任務(wù)概述 2.2.1 目錄 1、開發(fā)目標(biāo) 人們交流的方式多種多樣,但是,我們?cè)诮涣鞯耐瑫r(shí)希望更多的了解對(duì)方的信息,本軟件即是根據(jù)此需求進(jìn)行開發(fā)的。 2、應(yīng)用目標(biāo) 讓用戶能夠通過注冊(cè)信息,登錄并更新及查詢自己的信息,在此基礎(chǔ)上,用戶還能夠有效的掌握和共享其它資源,但是不能更新。從而促進(jìn)了信息管理的規(guī)范化和集成化,使得用戶之間的交流更加的便捷。 2.2.2用戶的特點(diǎn) 本軟件產(chǎn)品的最終用戶來源廣泛,相同之處則是為了增進(jìn)與他人之間的交流,管理人員則可以隨時(shí)更新軟件的項(xiàng)目,以及查詢和維護(hù)信息。本軟件面向大眾,用戶使用過程中的操作也不復(fù)雜。 2.2.3假定和約束 本軟件產(chǎn)品為大眾用戶使用,然而,本軟件在功能上還不夠完善,因此對(duì)于用戶的需求還無法完全實(shí)現(xiàn)。 2.2.4需求約定 本相冊(cè)管理系統(tǒng)主要能實(shí)現(xiàn)新建、打開相冊(cè),導(dǎo)入照片、幻燈片放映、旋轉(zhuǎn)圖片等功能??蓪?shí)現(xiàn)按相冊(cè)創(chuàng)建時(shí)間、照片上傳時(shí)間、照片描述等查看相冊(cè),并用文件夾及文件操作管理相冊(cè)及照片。方便性和上傳照片快速性創(chuàng)造條件,對(duì)用戶的登陸注冊(cè)以及管理實(shí)現(xiàn)計(jì)算機(jī)管理,實(shí)現(xiàn)數(shù)據(jù)的及時(shí)保存預(yù)處理。 2.2.5功能詳細(xì)描述 相冊(cè)管理系統(tǒng)主體分為三大部分:用戶登陸和使用相冊(cè)和退出本系統(tǒng)。 <1> 用戶通過對(duì)用戶名和密碼的校驗(yàn)才可以登錄,會(huì)出現(xiàn)一個(gè)相冊(cè)管理系統(tǒng)主界面,里面包含了用戶可以做的所有操作。 <2>在相冊(cè)主界面部分可以上傳相片,瀏覽相片,新建相冊(cè),刪除相冊(cè)等。 <3>退出本系統(tǒng)就徹底的退出了相冊(cè)管理系統(tǒng)。 2.3 系統(tǒng)環(huán)境需求 2.3.1 開發(fā)環(huán)境需求 硬件需求:CPU PIII 500以上的PC服務(wù)器,內(nèi)存1GB以上,硬盤8GB以上。操作系統(tǒng):Windows XP 軟件需求:Microsoft Visual Studio 2005 開發(fā)環(huán)境,SQL Server 2005數(shù)據(jù)庫 2.3.2 運(yùn)行環(huán)境需求 硬件需求:CPU PIII 500 以上的PC服務(wù)器,內(nèi)存1CB以上,硬盤8GB以上。操作系統(tǒng):Windows XP; 軟件需求:.NET Framework v2.0。 第3章 概要設(shè)計(jì) 3.1 數(shù)據(jù)庫概要設(shè)計(jì) 對(duì)于企業(yè)客戶關(guān)系管理系統(tǒng)的數(shù)據(jù)庫設(shè)計(jì),本文將從以下幾個(gè)方面進(jìn)行描述:首先是概念模型描述,包括對(duì)系統(tǒng)的實(shí)體屬性分析及系統(tǒng)的E-R圖,然后是系統(tǒng)的邏輯結(jié)構(gòu)設(shè)計(jì),即給出系統(tǒng)的數(shù)據(jù)庫設(shè)計(jì)表結(jié)構(gòu)及描述。 3.1.1 實(shí)體及其屬性 整個(gè)系統(tǒng)各實(shí)體可用以下關(guān)系來表示(其中主鍵已用下劃線標(biāo)識(shí)): l 用戶(用戶賬號(hào),用戶名,用戶密碼) l 相冊(cè)(用戶名,相冊(cè)編號(hào),相冊(cè)名,創(chuàng)建時(shí)間,相冊(cè)簡(jiǎn)述) l 相片(相冊(cè)編號(hào),相片編號(hào),相片名,創(chuàng)建時(shí)間,相片簡(jiǎn)述) 3.1.2 E-R模型 用戶名 在分析過系統(tǒng)各實(shí)體之間的聯(lián)系后可得出系統(tǒng)的整體概念模型,用E-R圖表示出來,如圖3.1所示的。 用戶編號(hào) 用戶密碼 用戶 查看 相冊(cè) 屬性 相片 相片編號(hào) 相片名字 相冊(cè)簡(jiǎn)介 創(chuàng)建時(shí)間 相冊(cè)名字 相冊(cè)編號(hào) 相片簡(jiǎn)介 創(chuàng)建時(shí)間 圖3.1 E-R圖 第4章 詳細(xì)設(shè)計(jì) 為了方便用戶的操作,系統(tǒng)采用了模塊化設(shè)計(jì)的思想,通過各模塊的不同組合以實(shí)現(xiàn)不同的增、刪、改、查功能。最終,使該系統(tǒng)能夠具有規(guī)范化的格式、完整的信息量和易于查詢等的特點(diǎn)。 4.1 數(shù)據(jù)庫的詳細(xì)設(shè)計(jì) 依據(jù)數(shù)據(jù)庫的概要設(shè)計(jì),最后總結(jié)出數(shù)據(jù)庫結(jié)構(gòu)的主要數(shù)據(jù)表包括:用戶信息表,相冊(cè)信息表,相片信息表。以下將給出系統(tǒng)數(shù)據(jù)庫設(shè)計(jì)的邏輯模型,即各數(shù)據(jù)表的結(jié)構(gòu)。 1、用戶信息表 用戶信息表存儲(chǔ)用戶的相關(guān)信息,表結(jié)構(gòu)如表4.2所示 表4.1 用戶信息表結(jié)構(gòu) 列名 數(shù)據(jù)類型 長(zhǎng)度 允許空 是否為主鍵 用戶名 char 7 否 是 用戶密碼 char 7 否 否 用戶編號(hào) int 否 否 2、相冊(cè)信息表 相冊(cè)信息表存儲(chǔ)相冊(cè)的相關(guān)信息,表結(jié)構(gòu)如表4.3所示 表4.2 相冊(cè)信息表結(jié)構(gòu) 列名 數(shù)據(jù)類型 長(zhǎng)度 允許空 是否為主鍵 用戶賬號(hào) char 7 否 否 相冊(cè)號(hào) char 6 否 是 相冊(cè)名 char 20 否 否 創(chuàng)建日期 smalldatetime 否 否 3、相片信息表 相片信息表存儲(chǔ)相片的相關(guān)信息,表結(jié)構(gòu)如表4.4所示 表4.3相片信息表結(jié)構(gòu) 列名 數(shù)據(jù)類型 長(zhǎng)度 允許空 是否為主鍵 相冊(cè)號(hào) Char 6 否 否 相片號(hào) char 7 否 否 相片名 char 10 否 是 相片簡(jiǎn)介 Int 6 否 否 4.2結(jié)構(gòu)化分析與設(shè)計(jì) 4.2.1數(shù)據(jù)主要功能的數(shù)據(jù)流程圖 1.登錄功能 是否登錄 取消服務(wù),退出界面 Yes No 用戶進(jìn)入登錄首界面 輸入用戶編號(hào)及密碼 進(jìn)入用戶個(gè)人界面 系統(tǒng)查詢匹配 Yes No 2.用戶功能 進(jìn)入個(gè)人檔案 用戶界面 選擇相應(yīng)操作 進(jìn)入個(gè)人相冊(cè) 查看、修改相應(yīng)數(shù)據(jù) 選擇相應(yīng)操作 打開相冊(cè) 上傳相片 刪除相冊(cè) …… 瀏覽相片 4.2.2系統(tǒng)總體結(jié)構(gòu)設(shè)計(jì) 系統(tǒng)功能總結(jié)構(gòu)圖 … 相冊(cè)管理系統(tǒng) 用戶登錄系統(tǒng) 用戶信息管理系統(tǒng) 相冊(cè)管理系統(tǒng) 注 冊(cè) 信息完善 相片編輯及其他功能 4.3系統(tǒng)詳細(xì)設(shè)計(jì) 以下是系統(tǒng)各主要功能模塊的界面設(shè)計(jì)及實(shí)現(xiàn)。 4.3.1相冊(cè)登錄管理 進(jìn)入相冊(cè)的用戶必須先登錄,輸入正確的用戶名和登錄密碼,點(diǎn)擊“登錄”。 用戶在登錄界面填寫完用戶名及密碼后,單擊登錄按鈕,不是所有的用戶名和密碼都能進(jìn)入,輸入的用戶名和密碼需與數(shù)據(jù)庫中的用戶表內(nèi)的記錄一致,需進(jìn)行判斷。 登錄頁面如圖4.1所示 圖4.1 登錄頁面 4.3.2相冊(cè)信息管理 用戶通過身份驗(yàn)證后進(jìn)入相應(yīng)功能頁面。點(diǎn)擊界面“登錄”按鈕,用戶在進(jìn)入系統(tǒng)后可以進(jìn)行相應(yīng)操作,其中包括新建相冊(cè)等,新建相冊(cè)需要把輸入的信息添加到數(shù)據(jù)庫中,相冊(cè)才可以建立成功。 進(jìn)入“相冊(cè)管理界面”,可查看“相冊(cè)信息”。如圖4.2所示。 圖4.2相冊(cè)管理頁面 在該頁面通過選擇相冊(cè)查詢?nèi)?“美麗風(fēng)景”、“絢麗夜空”、“傷感人物”、“可愛動(dòng)物”、“魅力星座”等相冊(cè)信息,選擇其中的一個(gè)相冊(cè),點(diǎn)擊打開對(duì)于相冊(cè)進(jìn)行查詢、編輯,系統(tǒng)都提供了查詢功能,點(diǎn)擊某一條相冊(cè),點(diǎn)擊 “打開相冊(cè)”按鈕,將進(jìn)入該相冊(cè)中,可對(duì)相片進(jìn)行編輯,旋轉(zhuǎn),黑白化…… 在該界面中單擊新建相冊(cè)集彈出相冊(cè)新建界面,其中包括相冊(cè)編號(hào)、相冊(cè)名、相冊(cè)描述,在這其中填入相應(yīng)數(shù)據(jù)后單擊新建相冊(cè)即可創(chuàng)建該相冊(cè),同時(shí)在數(shù)據(jù)庫和前臺(tái)都有相應(yīng)更新; 在列表式下拉框中選中某個(gè)相冊(cè)名后單擊“打開相冊(cè)”即可打開該相片管理界面,如圖4.3所示: 4.3 相冊(cè)信息管理頁面 在“相冊(cè)管理”頁面中,單擊“進(jìn)入相冊(cè)查詢”按鈕,彈出“相冊(cè)查詢”頁面,輸入相冊(cè)名,單擊“顯示結(jié)果”,在 ListBox控件中,顯示相冊(cè)的相關(guān)信息,如圖4.4所示: 圖4.4相冊(cè)查詢頁面 第5章 運(yùn)行及測(cè)試 5.1 系統(tǒng)測(cè)試概要 在編碼的過程中,需要通過不斷的對(duì)系統(tǒng)進(jìn)行調(diào)試,才能對(duì)其功能做出完善性的補(bǔ)充。所以測(cè)試在此期間起了相當(dāng)大的作用。 以下給出用戶登錄及客戶信息管理模塊的若干主要測(cè)試用例。如表5.1所示。 l 登錄功能; 實(shí)現(xiàn)用戶登錄,根據(jù)登錄者的不同,進(jìn)入不同界面。 l 用戶注冊(cè)功能; 實(shí)現(xiàn)用戶注冊(cè)功能,在注冊(cè)時(shí)填寫相應(yīng)的用戶個(gè)人信息(用戶名、密碼、等) l 用戶信息管理功能; 實(shí)現(xiàn)用戶個(gè)人信息的管理,用戶對(duì)于個(gè)人信息可以隨時(shí)的修改。 l 系統(tǒng)設(shè)置管理; 用戶根據(jù)需要修改系統(tǒng)相關(guān)設(shè)置 表5.1 測(cè)試用例 序號(hào) 功能模塊 測(cè)試功能點(diǎn) 操作步驟及數(shù)據(jù) 期望結(jié)果 實(shí)際結(jié)果 1. 登錄 輸入正確用戶名密碼 在登錄頁面輸入用戶名及密碼,點(diǎn)擊“登錄”按鈕 正常登錄,顯示相應(yīng)功能頁面 正確 2. 輸入正確的用戶名和錯(cuò)誤的密碼 在登錄頁面輸入用戶名及密碼,點(diǎn)擊“登錄”按鈕 不能正常登錄,系統(tǒng)給出提示 系統(tǒng)給出提示:“密碼錯(cuò)誤,請(qǐng)重新輸入” 3. 用戶名或密碼空白 在登錄頁面不輸入用戶名及密碼,直接點(diǎn)擊“登錄”按鈕 系統(tǒng)給出提示 系統(tǒng)給出提示“請(qǐng)輸入用戶名及密碼” 4. 相冊(cè)信息管理 相冊(cè)信息的查詢 根據(jù)相冊(cè)的名稱、創(chuàng)建時(shí)間等信息進(jìn)行對(duì)相冊(cè)進(jìn)行分類查詢 按用戶要求顯示相冊(cè)列表 按創(chuàng)建時(shí)間或相冊(cè)名字顯示相冊(cè)列表 5. 相冊(cè)信息的新建 單擊相冊(cè)管理器中的新建相冊(cè),彈出新建相冊(cè)界面,輸入相冊(cè)詳細(xì)信息,單擊“新建相冊(cè)” 即創(chuàng)建相冊(cè)成功 按用戶要求創(chuàng)建出相應(yīng)的相冊(cè) 創(chuàng)建的相冊(cè)信息和用戶所填數(shù)據(jù) 6. 相片信息管理 相片信息的新建 點(diǎn)擊添加相片,在文件夾中選中要上傳的相片,填寫相片相應(yīng)信息,然后上傳 上傳用戶希望看到的相片 相冊(cè)列表和數(shù)據(jù)庫中出現(xiàn)相應(yīng)上傳的照片 相片信息的修改 點(diǎn)擊打開相片,在相片管理器重進(jìn)行對(duì)相片的,浮雕化、向左向右旋轉(zhuǎn)等功能 單擊相應(yīng)的按鈕出現(xiàn)相應(yīng)想過 單擊放大或縮小等按鍵會(huì)出現(xiàn)相應(yīng)的結(jié)果 5.2 系統(tǒng)維護(hù) 本系統(tǒng)主要采取三種方式維護(hù): 1 改正性維護(hù) 在軟件初期使用,由于某種原因,軟件存在一些錯(cuò)誤或缺陷。需要由軟件開發(fā)小組按用戶要求對(duì)系統(tǒng)進(jìn)行改正性維護(hù)。 2 適應(yīng)性維護(hù) 當(dāng)系統(tǒng)長(zhǎng)時(shí)間使用后,隨著用戶的增加,系統(tǒng)在某些方面的速度可能不如剛開始的時(shí)候,所以對(duì)這個(gè)問題我們要做出適當(dāng)維護(hù)。 3 完善性維護(hù) 在系統(tǒng)使用后,該應(yīng)用系統(tǒng)可能不適應(yīng)業(yè)務(wù)的發(fā)展。用戶對(duì)軟件提出了新的需求和性能要求。 第6章 結(jié)束語 通過長(zhǎng)達(dá)將近兩周的軟件工程課程設(shè)計(jì),我們團(tuán)隊(duì)不但學(xué)會(huì)了軟件工程設(shè)計(jì)的基本步驟,而且也學(xué)會(huì)了如何培養(yǎng)自己的團(tuán)隊(duì)協(xié)作能力。 在開發(fā)初期,團(tuán)隊(duì)必須使用統(tǒng)一的開發(fā)平臺(tái),由小組長(zhǎng)統(tǒng)一部署,將小組分為幾個(gè)部分,大家分工合作再匯總以提高課程設(shè)計(jì)完成的效率,不懂的問題大家也可以相互幫忙解決,不懂的問題就要問,問老師問同學(xué),也可以上網(wǎng)搜索,千萬不要一個(gè)人在那里瞎想,因?yàn)槲覀兪且粋€(gè)團(tuán)隊(duì),我們要提高效率必須要相互幫助、良好的協(xié)作! 前期工作做完了后,我們一定要進(jìn)行測(cè)試工作,每個(gè)人寫的代碼難免會(huì)出現(xiàn)一些問題,測(cè)試期間就是對(duì)這些問題進(jìn)行修改,然后總結(jié)經(jīng)驗(yàn)和教訓(xùn)! 總之,在這次的設(shè)計(jì)過程中,我們學(xué)到的不僅是知識(shí),還認(rèn)識(shí)到許多事情。這次設(shè)計(jì)使我們的編程水平提高了一大步,使我們充分的認(rèn)識(shí)到合作的可貴。由于這次設(shè)計(jì)涉及到數(shù)據(jù)庫、軟件工程、C#,我們學(xué)到了不少編程工具與數(shù)據(jù)庫連接的知識(shí),對(duì)數(shù)據(jù)庫的操作有了進(jìn)一步的了解。這次設(shè)計(jì)對(duì)我們的綜合能力是一次很好的鍛煉,但是我們必須承認(rèn)自己的能力和知識(shí)還很膚淺。所以今后我們的學(xué)習(xí)道路還是很漫長(zhǎng)的。最后,在這里我們要衷心的感謝我們的指導(dǎo)老師楊衛(wèi)明,謝謝他的悉心指導(dǎo)和熱心幫助。由于我們的水平有限,加之時(shí)間短暫,故電子相冊(cè)管理系統(tǒng)中還有許多不足之處,望老師加以批評(píng)指正,我們會(huì)在以后的課程設(shè)計(jì)中不斷改進(jìn),不斷完善。 參考文獻(xiàn) [01] 李紅.數(shù)據(jù)庫原理與應(yīng)用,高等教育出版,2003年3月。 [02] 謝希仁.計(jì)算機(jī)網(wǎng)絡(luò).電子工業(yè)出版社,2008年1月。 [03]白以恩.計(jì)算機(jī)網(wǎng)絡(luò)基礎(chǔ)及應(yīng)用[M]. 哈爾濱:哈爾濱工業(yè)大學(xué)出版社,2000.189~258 附錄 系統(tǒng)相關(guān)代碼 系統(tǒng)的主要代碼如下: 用戶登錄: public partial class Login : Form { public Login() { InitializeComponent(); } private void button1_Click(object sender, EventArgs e) { if (textBox1.Text == "" || textBox2.Text == "") MessageBox.Show("用戶或密碼有空值!?。?, "信息提示"); else { string mysql; SqlConnection myconn = dataconnection.createConn(); //SqlConnection mysqlconn = new SqlConnection(); //string connString = "database=photo;integrated security=SSPI;server=RJXY302-29\\SQL2005"; //mysqlconn.ConnectionString = connString; //mysqlconn.Open(); mysql = "Select * from us where user=" + textBox1.Text.Trim() + "and passageword=" + textBox2.Text.Trim() + ""; SqlCommand mycmd = new SqlCommand(mysql, myconn ); int i = Convert.ToInt32(mycmd.ExecuteScalar()); if (i <=0) { Form myform = new main (); myform.Show(); this.Hide(); } else { MessageBox.Show("用戶或密碼錯(cuò)誤?。?!", "信息提示"); myconn.Close(); } } } private void Form8_Load(object sender, EventArgs e) { this.AcceptButton = this.button1; } public string Getusename() { return textBox1.Text.Trim(); } private void textBox1_TextChanged(object sender, EventArgs e) { } } } 相冊(cè)管理界面: public partial class oppic : Form { public oppic() { InitializeComponent(); } private void toolStrip1_ItemClicked(object sender, ToolStripItemClickedEventArgs e) { } private void oppic_Load(object sender, EventArgs e) { int i; DirectoryInfo dinfo = new DirectoryInfo("f:\\相冊(cè)庫\\" + this.Text); FileSystemInfo[] fsinfo = dinfo.GetFileSystemInfos(); for (i = 0; i < fsinfo.Length; i++) listBox1.Items.Add(fsinfo[i].ToString()); listBox1.SelectedIndex = 0; pictureBox1.Image = Image.FromFile("f:\\相冊(cè)庫\\" + this.Text + "\\" + listBox1.SelectedItem.ToString()); comboBox2.Items.Add("垂直翻轉(zhuǎn)"); comboBox2.Items.Add("水平翻轉(zhuǎn)"); comboBox2.Items.Add("90度水平翻轉(zhuǎn)"); comboBox2.Items.Add("180度水平翻轉(zhuǎn)"); } private void listBox1_SelectedIndexChanged(object sender, EventArgs e) { pictureBox1.Image = Image.FromFile("f:\\相冊(cè)庫\\" + this.Text + "\\" + listBox1.SelectedItem.ToString()); } private void toolStripButton9_Click(object sender, EventArgs e) { FileInfo Finfo = new FileInfo(listBox1.Text); Finfo.Delete(); } private void button3_Click(object sender, EventArgs e) { } //private void pictureBox2_MouseMove(object sender, MouseEventArgs e) //{ // if (image != null) // { // Cursor.Current = mycur; // Graphics gra = pictureBox1.CreateGraphics(); // Rectangle sourceRec = new Rectangle(e.X - 10, e.Y - 10, 30, 30); // Rectangle destRec = new Rectangle(e.X - 20, e.Y - 20, 50, 50); // gra.DrawImage(image, destRec, sourceRec, GraphicsUnit.Pixel); // } // else // MessageBox.Show("選擇需要顯示的圖片"); //} //Graphics graphics; // Image image1 = Image.FromFile("e\\相冊(cè)庫\\云臺(tái)山"); // private void button5_Click(object sender, EventArgs e) // { // graphics.Clear(this.BackColor); // int width = Convert.ToInt32(Convert.ToDouble(comboBox1.Text)*image1.Width); // int height = Convert.ToInt32(Convert.ToDouble(comboBox1.Text)*image1.Height); // graphics.DrawImage(image1,180,26,width,height); // } // private void button9_Click(object sender, EventArgs e) // { // graphics.DrawImage(image,new Point(180,26)); // } // Cursor mycur = new Cursor(@"E:\相冊(cè)庫\云臺(tái)山"); // Bitmap image; // private void button4_Click(object sender, EventArgs e) // { // openFileDialog1.Filter = "Jpeg File(*.jpg)|*.jpg"; // if (openFileDialog1.ShowDialog() == DialogResult.OK) // { // image = new Bitmap(openFileDialog1.FileName); // pictureBox1.Image = image; // pictureBox1.Height = image.Height; // pictureBox1.Width = image.Width; // } // } // private void button6_Click(object sender, EventArgs e) { Bitmap bmp1 = new Bitmap(pictureBox1.Image); switch (comboBox2.SelectedItem.ToString()) { case "垂直翻轉(zhuǎn)": bmp1.RotateFlip(RotateFlipType.Rotate180FlipXY); break; case "水平翻轉(zhuǎn)": bmp1.RotateFlip(RotateFlipType.Rotate90FlipXY); break; case "90度水平翻轉(zhuǎn)": bmp1.RotateFlip(RotateFlipType.Rotate90FlipX); break; case "180度水平翻轉(zhuǎn)": bmp1.RotateFlip(RotateFlipType.Rotate180FlipX); break; } pictureBox2.Image = bmp1; } private void button7_Click(object sender, EventArgs e) { Graphics g = pictureBox2.CreateGraphics(); g.Clear(pictureBox2.BackColor); Bitmap bmap = new Bitmap(pictureBox1.Image); bmap.SetResolution(300f, 300f); g.DrawImage(bmap,pictureBox2.ClientRectangle,0,0,bmap.Width,bmap.Height,GraphicsUnit.Pixel); g.Dispose(); } private void button8_Click(object sender, EventArgs e) { } private void button4_Click(object sender, EventArgs e) { if (openFileDialog1.ShowDialog() == DialogResult.OK) { pictureBox1.Image = Image.FromFile(openFileDialog1.FileName); } } private void button5_Click(object sender, EventArgs e) { Bitmap bmp = new Bitmap(pictureBox1.Image); for (int i = 0; i < bmp.Width - 1; i++) { for (int j = 0; j < bmp.Height - 1; j++) { Color color = bmp.GetPixel(i, j); Color colorLeft = bmp.GetPixel(i + 1, j + 1); int r = Math.Max(67, Math.Min(255, Math.Abs(color.R - colorLeft.R + 128))); int g = Math.Max(67, Math.Min(255, Math.Abs(color.G - colorLeft.G + 128))); int b = Math.Max(67, Math.Min(255, Math.Abs(color.B - colorLeft.B + 128))); Color colorResult = Color.FromArgb(255, r, g, b); bmp.SetPixel(i, j, colorResult); } pictureBox2.Image = bmp; } } private void button3_Click_1(object sender, EventArgs e) { this.Close(); } private void button8_Click_1(object sender, EventArgs e) { } private void button1_Click(object sender, EventArgs e) { // FileInfo Finfo = new FileInfo("E:\\相冊(cè)庫\\" + this.Text + "\\" + listBox1.SelectedItem.ToString()); // Finfo.Delete(); } private void button2_Click(object sender, EventArgs e) { Bitmap oldBitmap = new Bitmap(this.pictureBox1.Image); Bitmap newBitmap = new Bitmap(pictureBox1.Image); int Height = newBitmap.Height; int width = newBitmap.Width; Color color; int r, g, b, Result = 0; for (int i = 0; i < width; i++) { for (int j = 0; j < Height; j++) { color = oldBitmap.GetPixel(i, j); r = color.R; g = color.G; b = color.B; Result = ((int)(0.7 * r) + (int)(0.2 * g) + (int)(0.1 * b)); newBitmap.SetPixel(i, j, Color.FromArgb(Result, Result, Result)); } this.pictureBox2.Image = newBitmap; } } private void button8_Click_2(object sender, EventArgs e) { Bitmap myBitmap = new Bitmap(pictureBox1.Image); Graphics g = pictureBox2.CreateGraphics(); g.Clear(pictureBox1.BackColor); Point P1 = new Point(10, 10); Point P2 = new Point(100,10); Point P3 = new Point(50,100); Point[] P = { P1,P2,P3}; g.DrawImage(myBitmap,P); g.Dispose(); } private void button9_Click(object sender, EventArgs e) { Bitmap oldBitmap = new Bitmap(pictureBox1.Image); Bitmap newBitmap = (Bitmap)oldBitmap.Clone(); int height = newBitmap.Height; int width = newBitmap.Width; Color pixel; int[] Laplacian = {-1,-1,-1,-1,9,-1,-1,-1,-1 }; for (int x = 1; x < width -1; x++) { for (int y = 1; y < height - 1; y++) { int r = 0, g = 0, b = 0; int Index = 0; for (int col = -1; col <= 1; col++) { for (int row = -1; row <= 1; row++) { pixel = oldBitmap.GetPixel(x + row, y + col); r += pixel.R * Laplacian[Index]; g += pixel.G * Laplacian[Index]; b += pixel.B * Laplacian[Index]; Index++; } } r = r > 255 ? 255 : r; r = r < 0 ? 0 : r; g = g > 255 ? 255: g; g = g < 0 ? 0 : g; b = b > 255 ? 255 : b; b = b < 0 ? 0 : b; newBitmap.SetPixel(x - 1, y - 1, Color.FromArgb(r, g, b)); } this.pictureBox2.Image = newBitmap; } } private void button10_Click(object sender, EventArgs e) { Bitmap myBitmap = new Bitmap(pictureBox1.Image); int Height = myBitmap.Height; int Width = myBitmap.Width; Bitmap bitmap = (Bitmap)myBitmap.Clone(); Color pixle; int[] Gauss = {1,2,1,2,4,2,1,2,1 }; for(int x = 1;x < Width -1; x++) for (int y = 1; y < Height - 1; y++) { int r = 0, g = 0, b = 0; int Index = 0; for (int col = -1; col <= 1; col++) for (int row = -1; row <= 1; row++) { pixle = myBitmap.GetPixel(x + row, y + col); r += pixle.R * Gauss[Index]; g += pixle.G * Gauss[Index]; b += pixle.B * Gauss[Index]; Index++; } r /= 16; g /= 16; b /= 16; r = r > 255 ? 255 : r; r = r < 0 ? 0 : r; g = g > 255 ? 255 : g; g = g < 0 ? 0 : g; b = b > 255 ? 255 : b; b = b < 0 ? 0 : b; bitmap.SetPixel(x - 1, y - 1, Color.FromArgb(r, g, b)); } this.pictureBox2.Image = bitmap; } } } 相冊(cè)查詢: public partial class PS : Form { public PS() {- 1.請(qǐng)仔細(xì)閱讀文檔,確保文檔完整性,對(duì)于不預(yù)覽、不比對(duì)內(nèi)容而直接下載帶來的問題本站不予受理。
- 2.下載的文檔,不會(huì)出現(xiàn)我們的網(wǎng)址水印。
- 3、該文檔所得收入(下載+內(nèi)容+預(yù)覽)歸上傳者、原創(chuàng)作者;如果您是本文檔原作者,請(qǐng)點(diǎn)此認(rèn)領(lǐng)!既往收益都?xì)w您。
下載文檔到電腦,查找使用更方便
9.9 積分
下載 |
- 配套講稿:
如PPT文件的首頁顯示word圖標(biāo),表示該P(yáng)PT已包含配套word講稿。雙擊word圖標(biāo)可打開word文檔。
- 特殊限制:
部分文檔作品中含有的國旗、國徽等圖片,僅作為作品整體效果示例展示,禁止商用。設(shè)計(jì)者僅對(duì)作品中獨(dú)創(chuàng)性部分享有著作權(quán)。
- 關(guān) 鍵 詞:
- 電子相冊(cè) 系統(tǒng) 需求 分析
鏈接地址:http://weibangfood.com.cn/p-6683890.html