軟件工程課程設計_第1頁
軟件工程課程設計_第2頁
軟件工程課程設計_第3頁
軟件工程課程設計_第4頁
軟件工程課程設計_第5頁
已閱讀5頁,還剩23頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

《軟件工程課程設計(B)》任務書《軟件工程》課程設計旨在通過2周實訓時間,培養(yǎng)學生初步掌握系統(tǒng)分析、設計、實現(xiàn)、測試、維護的方法,加深學生對軟件工程課程的理解和應用,同時也進一步提高學生運用程序設計語言的能力。一、目標程序設計不等于軟件工程,這是本課程需要進一步讓學生加深理解的地方。傳統(tǒng)的程序設計在一定程度上偏重于計算機科學領域,屬于較抽象的范疇;而軟件工程則是要實實在在地做出一個滿足用戶要求的系統(tǒng)來,這是一個很具體的實踐過程。作為一個軟件開發(fā)者,必須具備從事工程實踐的技能,包括軟件項目的可行性研究、系統(tǒng)分析、設計、編寫文檔、源碼設計、使用工具等基本技能,這就是課程設計要實現(xiàn)的一個目標。課程設計的教學基本要求如下:鞏固和加深對軟件工程原理的理解,提高綜合運用本課程所學知識的能力。培養(yǎng)學生選用參考書,查閱手冊及文獻資料的能力。培養(yǎng)獨立思考,深入研究,分析問題、解決問題的能力。通過實際系統(tǒng)的分析設計、編程調(diào)試,掌握軟件的分析方法和工程設計方法。能夠按要求編寫課程設計報告書,能正確闡述設計和實驗結果、正確繪制系統(tǒng)和程序框圖。通過課程設計,培養(yǎng)學生嚴謹?shù)目茖W態(tài)度,嚴肅認真的工作作風和團隊協(xié)作精神。二、 選題與內(nèi)容選題應盡量結合教學、科研的實際課題,反映新技術,以獲得更好的工程設計實踐的訓練。同時課程設計受到時間及開發(fā)環(huán)境、條件等的限制,命題應從實際出發(fā),課題的大小規(guī)模、難易適度。學生可以根據(jù)自己特點、能力、時間進行選題。三、 課程設計的基本步驟問題定義(明確問題邊界)可行性研究項目開發(fā)計劃需求分析概要設計數(shù)據(jù)庫設計詳細設計系統(tǒng)測試用戶使用說明四、 教學方法及要求該課程設計可以分組進行,也可獨立完成,若分組完成,則3-4人成立一個開發(fā)小組,選出小組項目負責人,并對小組成員按任務進行分工或者獨立完成;開發(fā)環(huán)境及工具不限;嚴格按軟件工程的方法,分階段進行開發(fā)(問題定義、需求分析、概要及詳細設計、編碼、測試等);要求每階段產(chǎn)生的文檔等軟件配置齊全、合理;上機能正常運行程序。提交課程設計報告。要求完成課程設計報告2000字以上,如果采用分組方式完成,可以分模塊完成課程設計報告。五、 工作量2周(10個工作日)時間六、 計劃安排第1個工作日一第2個工作日:查找相關資料、書籍,閱讀示例文檔,選擇題目。第3個工作日一第4個工作日:設計程序結構、模塊圖,學習相關技術。第5個工作日一第9個工作日:完成程序的編碼,并且自己調(diào)試、測試。穿插進行課程設計報告的撰寫。第10個工作日:撰寫和整理課程設計報告,檢查軟件測試效果、檢查課程設計報告,給出學生成績。指導教師簽字:2012年9月17日目錄TOC\o"1-5"\h\z1需求分析 11.1用戶功能需求 11.2數(shù)據(jù)需求 22系統(tǒng)整體設計 22.1概要設計 22.2數(shù)據(jù)庫設計 5E-R圖分析6ER模型 62.2.1.2聯(lián)系定義 62.3系統(tǒng)流程圖 73詳細設計與實現(xiàn) 73.1用戶登錄模塊 73.2用戶注冊模塊設計 73.3帖子主題模塊設計 83.4瀏覽帖子模塊設計 94系統(tǒng)運行和測試 104.1測試運行情況 104.2程序有待改進方面 11結論11參考文獻 12附錄代碼 121需求分析軟件的需求分析必須要有對原業(yè)務的一個深入了解、提取、抽象、升華的過程,管理軟件需求分析尤其如此。軟件的需求分析是從用戶的業(yè)務中提取出軟件系統(tǒng)能夠幫助用戶解決的業(yè)務問題,通過對用戶業(yè)務問題的分析,規(guī)劃出我們的軟件產(chǎn)品。這個步驟是對用戶業(yè)務需求的一個升華,是一個把用戶業(yè)務管理流程優(yōu)化,轉化為軟件產(chǎn)品,從而提升管理而實現(xiàn)的質(zhì)的飛躍,這一步是否成功,直接關系到開發(fā)出來的軟件產(chǎn)品能否得到用戶認可,順利交付給客戶,客戶能否真正運用我們的產(chǎn)品幫助他解決業(yè)務或管理問題。1.1用戶功能需求為了系統(tǒng)的各模塊功能夠正常使用、系統(tǒng)更加人性化,還為了滿足系統(tǒng)的實用性及安全性,本系統(tǒng)包含5個角色:游客,用戶,管理員、超級管理員、版主。(1) 游客的各項功能:游客可以瀏覽本論壇,但是不可以發(fā)帖,不可以回帖,也不可以看帖,只有注冊了以后成為本論壇的用戶,才可以執(zhí)行用戶的功能。(2) 用戶的各項功能:一旦成為本論壇的用戶后享有以下功能:1、 用戶注冊2、 用戶登錄3、 發(fā)表文章4、 閱讀文章(3) 管理員的各項功能:1、 修改管理員自己的信息2、 對帖子進行管理3、 進入前臺以及退出后臺(4) 超級管理員的各項功能:超級管理員可以添加新的管理員以及刪除管理員,修改管理員資料,以及對帖子的管理,超級管理員還可以添加版主。版主的各項功能:版主可以具有的功能如下:1、 添加版塊2、 修改版塊3、 查看版主信息4、 修改版主信息1.2數(shù)據(jù)需求用戶必須先注冊后再登錄進入系統(tǒng),系統(tǒng)用戶的數(shù)據(jù)包括用戶名、用戶密碼、用戶類型。用戶名在整個系統(tǒng)中是唯一的。用戶瀏覽帖子時,數(shù)據(jù)應當包括用戶名、帖子序號。用戶根據(jù)某一主題可以發(fā)表帖子,發(fā)表帖子需要的數(shù)據(jù)包括用戶名、版塊編號、版塊分類名、發(fā)表帖子標題、發(fā)表帖子內(nèi)容、發(fā)表帖子類型。用戶回復帖子的數(shù)據(jù)包括用戶名、回復帖子序號、回復的內(nèi)容、版塊編號、版塊分類名。2系統(tǒng)整體設計2.1系統(tǒng)模塊結構設計BBS論壇系統(tǒng)(前臺)的主要功能模塊及其關系,如圖2-1所示:后臺登錄根據(jù)BBS論壇系統(tǒng)前臺的模塊圖可以得到系統(tǒng)的具體功能:★用戶登錄管理功能:新用戶注冊成功之后,在登錄界面輸入正確用戶名、密碼和驗證碼之后便可以進入本系統(tǒng)?!镉脩糇怨芾砉δ埽河慰涂梢詾g覽論壇的主題話題但是不可以發(fā)表話題和回復帖子,只有當游客在本論壇注冊成為論壇的用戶后,才能進行相關操作。★查詢管理功能:用戶可以按作者名查詢帖子序號、標題、發(fā)帖的時間、發(fā)帖人等信息,方便用戶快速的找到自己想要的信息。根據(jù)BBS系統(tǒng)功能分析和論壇管理的特點,需要設計BBS論壇的后臺管理系,其主要功能模塊如圖2-2所示。版主管理圖2-2BBS論壇系統(tǒng)后臺功能模塊根據(jù)BBS論壇系統(tǒng)后臺的模塊圖可以得到系統(tǒng)的具體功能:一管理員管理:★管理員信息管理功能:管理員輸入正確用戶名、密碼之后便可以進入到后臺管理系統(tǒng)。管理員可以查看自己的信息,可以添加管理員,可以修改管理員的資料,還可以刪除管理員。★主題帖子管理功能:管理員可以對用戶發(fā)表的帖子進行管理,管理員可以按主題帖子序號,主題名,發(fā)表的話題進行看帖,修改帖子和刪除帖子等操作?!锇嬷鞴芾砉δ埽汗芾韱T可以根據(jù)版塊具體要求的不同,添加這一版塊的版主負責管理此版塊。來分擔管理員的管理論壇的工作,可以更好的為廣大用戶服務。二版主管理:★版塊管理功能:只有版主輸入正確用戶名、密碼之后便可以進入到版主后臺管理。版主根據(jù)版塊的分類,可以添加其版塊下的子分類,或者修改原有版塊下子分類的名稱,子分類的描述介紹?!锇嬷餍畔⒐芾砉δ埽嚎梢圆榭窗嬷髯约旱男畔ⅲ梢孕薷陌嬷鞯男畔①Y料。2.2數(shù)據(jù)庫設計該系統(tǒng)采用MySQL作為后臺數(shù)據(jù)庫去存儲所有與系統(tǒng)相關的數(shù)據(jù)。這些數(shù)據(jù)表包括用戶表(userinfo)、主題帖子表(topicinfo)、回復帖子表(replyinfo)、版塊表(foruminfo)以及管理員表(admininfo)。數(shù)據(jù)模型的最終目的就是規(guī)劃能夠有效地處理事務,并且保持應用開發(fā)的簡潔性的關系數(shù)據(jù)庫,并在數(shù)據(jù)庫的規(guī)范化、性能優(yōu)化以及數(shù)據(jù)的簡潔性之間達到平衡。E-R圖分析ER模型E-R模型是對現(xiàn)實世界的一種抽象。它的主要成分是實體、聯(lián)系和屬性。使用這三種成分,我們可以建立許多應用環(huán)境的ER模型。本系統(tǒng)的實體和屬性的定義如下:用戶表(用戶ID、用戶密碼、用戶昵稱、用戶電子郵箱、用戶級別、用戶留言、用戶自述、用戶權限)主題帖子表(主題帖子編號、主題帖子標題、主題帖子作者、帖子內(nèi)容、發(fā)表帖子的時間、回復數(shù)、所屬版塊號、主題類型)回復帖子表(回復編號、回復帖子編號、回復作者、回復帖子時間、回復內(nèi)容)版塊表(版塊編號、版塊名稱、版塊類型、子版塊編號、版主、主題數(shù)、文章數(shù)、版塊描述)管理員表(管理員ID、管理員密碼、管理員電子郵箱、管理員自述、注冊時間、管理員留言、管理員權限)管理員權限圖2-7管理員信息實體圖2.2.1.2聯(lián)系定義ER模型的“聯(lián)系”用于刻畫實體之間的關聯(lián)。一種完整的方式是對局部結構中任意兩個實體類型,依據(jù)需求分析的結果,考察局部結構中任意兩個實體類型之間是否存在聯(lián)系。若有聯(lián)系,進一步確定是1:N,M:N,還是1:1等。還要考察一個實體類型內(nèi)部是否存在聯(lián)系,兩個實體類型之間是否存在聯(lián)系,多個實體類型之間是否存在聯(lián)系,2.3系統(tǒng)流程圖添加版塊圖2-9主要功能流程圖各模塊功能解釋如下:用戶登錄模塊:新用戶注冊成功之后,在登錄界面輸入注冊時填寫的正確用戶名、密碼之后,再輸入出現(xiàn)的驗證碼之后便可以進入本系統(tǒng)。如果用戶名和密碼正確,但是輸入的驗證碼錯誤,則不允許進入本系統(tǒng),跳轉到登錄界面重新輸入。管理員信息管理模塊:管理員輸入正確用戶名、密碼之后便可以進入到后臺管理系統(tǒng)。管理員可以查看自己的信息,可以添加管理員,可以修改管理員的資料,還可以刪除管理員。主題帖子管理模塊:管理員可以對用戶發(fā)表的帖子進行管理,管理員可以按主題帖子序號,主題名,發(fā)表的話題進行看帖,修改帖子和刪除帖子等操作。3詳細設計3.1用戶登錄模塊當游客注冊成為本BBS論壇系統(tǒng)的用戶后,便跳轉到系統(tǒng)登錄界面,在系統(tǒng)登錄界面(圖5-1所示)輸入正確用戶名、密碼和驗證碼之后便可以進入本系統(tǒng)。圖5-1用戶登陸界面3.2用戶注冊模塊設計游客如果要在本BBS論壇系統(tǒng)發(fā)表帖子和回復帖子,游客必須在本論壇注冊成為論壇的用戶后,才能進行相關操作。系統(tǒng)注冊界面(圖5-2所示)掛冊S用戶名;喘認窯碼;* 已有帳號,現(xiàn)①登錄Email:?王瑯理大Kotrnml%指驗證:通任碼 髓一個圖5-2用戶注冊界面3.3帖子主題模塊設計帖子主題界面(圖5-3所示),帖子主題類型分為精華主題(紅色)和普通主題(黑色),用戶可以根據(jù)需要游覽自己感興趣的帖子,獲得所需信息。用戶可以發(fā)表話題,還可以根據(jù)帖子主題瀏覽帖子內(nèi)容和回復帖子,以及根據(jù)用戶ID查詢主題帖子。3.4瀏覽帖子模塊設計用戶根據(jù)回復帖子的ID,可以查看該主題帖子的所有用戶的回復內(nèi)容,并可以根據(jù)該主題帖子添加自己的回復內(nèi)容。瀏覽帖子的界面(圖5-4所示)。iifaflrl^rfiT-;?LQ-5-3眼T_nu.心故■1省.甲1F為30?!-土:ii7!>tH:M3EH心皓fitt釁gM用Mj?『5邛0nHlktMlEI^FMJD-3-2H.L-S〔E><#SA.Z\1>:.*.p-f^Ea<-16il^|ET3CIQ-A-33ia:3lMgM^ibTS^qifzau-^a^is酣董衛(wèi)為前HTT5Jh~HMT沖心-3]:3C>M皿和sB廈整.霍理留學干3114-9-123:33EM*圖5-4瀏覽帖子界面4系統(tǒng)運行和測試4.1測試運行情況1、 實時性問題,由于本系統(tǒng)是B/S模式的,所以系統(tǒng)的響應速度是很重要的,當有大量的用戶同時訪問時,這樣系統(tǒng)的響應速度必然下降。本系統(tǒng)在設計階段就考慮了這方面的問題,其中最主要的解決方法就是盡量減少客戶端和服務器間的通信,把一些能在客戶端完成的驗證都放在客戶端驗證,盡可能多的使用本地的腳本語言,這樣客戶端和服務器端的通信量就會大大減少,服務器的響應效率會提高很多。2、 系統(tǒng)的安全性問題,后臺管理界面不能讓一些不具有管理員身份的人登陸,在本系統(tǒng)中應用了Session機制來驗證用戶,只有登陸了系統(tǒng)的管理員才能對系統(tǒng)后臺進行操作,沒有登陸的管理員是不能夠登陸后臺管理界面的。即使有的用戶輸入后臺管理的網(wǎng)址,系統(tǒng)會自動跳轉到提示為登陸錯誤的頁面,且要求用戶登陸。同樣,即使是合法的用戶登錄,他也不可以進入到管理員的操作的界面,因為管理員或客戶合法登錄后,他們被賦予不同的Session標記,這樣系統(tǒng)的安全性相對大大提高。在開發(fā)即將完成的時候還沒有實現(xiàn)這個功能,后發(fā)現(xiàn)直接輸入管理界面的鏈接地址就能登陸后臺,最終在系統(tǒng)中的后臺每個界面都應用了Session機制后,才解決了這個問題。3、密碼加密問題,如果數(shù)據(jù)庫信息泄漏,損失將更大。所以對用戶密碼進行加密顯得尤其重要,這里采用了MD5算法進行加密。剛開始時只在注冊模塊將密碼使用MD5轉換成一列字符串,運行系統(tǒng),登錄發(fā)現(xiàn)不可進入。后來才知道,登錄時同樣要把密碼使用MD5轉換成一列相同字符串,這樣登錄時的密碼字符串與保存在數(shù)據(jù)庫的密碼字符串相同,才能正確登錄到系統(tǒng)。4.2程序有待改進方面雖然,經(jīng)過3個多月的不斷努力,基本搭建起一個功能較完備、符合實際運用情況的BBS論壇系統(tǒng),但是也存在著有待完善或改進的方面,主要包括:1、 在用戶注冊時,沒有提供個性化的頭像給用戶選擇,顯得缺少美觀性和欣賞性。2、 沒有在發(fā)表帖子模塊實現(xiàn)圖片上傳功能,來增加界面的友好度和系統(tǒng)的個性化。3、 沒有能夠實現(xiàn)附件的上傳和下載功能,以達到文件的共享化;以上都是本系統(tǒng)以后將要著重改進的地方。結論經(jīng)過大半年的畢業(yè)設計,“BBS論壇系統(tǒng)”已經(jīng)基本設計完成。在這大半年的開發(fā)過程中,學到了許多有關軟件開發(fā),數(shù)據(jù)庫管理設計的東西。另外,通過對Eclipse、Tomcat、Dreamweaver、Mysql的使用,我也對這些軟件有了一些認識,學到了很多關于該軟件可視化編程的東西;也深深體會到了Eclipse、Dreamweaver、Mysql的功能強大,使用和操作簡單?;谠撓到y(tǒng)的一些設計,下面對系統(tǒng)做一個總結。在整個設計過程中,主要的工作有:?系統(tǒng)的權限及安全設計,包括用戶密碼保護與修改。?用戶注冊、用戶登錄、發(fā)表文章、閱讀文章、回復文章、搜索查找、個人資料維護、帖子管理、版主管理、管理員管理、超級管理員管理等模塊的頁面設計及功能的設計實現(xiàn)。設計中力求界面友好、簡潔,易于操作。代碼部分盡量避免邏輯錯誤,算法設計簡單合理,盡量使程序具有較好的可讀性,有利于其他的設計者對程序的閱讀。參考文獻1.陸麗娜,齊勇,白恩華主編,計算機操作系統(tǒng)原理與技術,西安:西安交通大學出版社,1995 2.李大友主編,操作系統(tǒng),北京:機械工業(yè)出版社,2000王萬森等.計算機操作系統(tǒng)原理.北京:高等教育出版社,2001劉坤起.操作系統(tǒng)學習輔導與習題詳解.北京:電子工業(yè)出版社,2003附錄代碼#include<iostream>#include<string>#include<ctype.h>usingnamespacestd;classSchool(public:stringSchool_name;intSchool_number;intboy;intgirl;intsun;School*next;voidsum(inta);voidSchool_order(School*h,inttype);};classSport(public:stringSport_name;intisboy;intis3;intSport_number;intfirst;intsecond;intthird;intfourth;intfifth;Sport*next;voidSport_search(inta);};School*School_head;Sport*Sport_head;intgetint(inta) //字符轉換成數(shù)字(return(int)(a-'0');}voidSchool_output(School*p)//輸出系p=p->next;cout<<"校名 編號男團女團 總分\t\n〃;while(p)(cout<<p->School_name<<〃\t〃<<p->School_number<<〃\t〃<<p->boy<<〃\t〃<<p->girl<<〃\t"<<(p->girl+p->boy)<<endl;p=p->next;}}voidSport_output(Sport*p) 〃輸出項目的情況(p=p->next;cout<<〃項目〃<<〃\t〃<<〃編號〃<<〃 〃<<〃B/G〃<<〃 〃<<〃 3/5〃<<〃〃<<endl;while(p)cout<<p->Sport_name<<〃\t〃<<p->Sport_number<<" "<<p->isboy<<"〃<<p->is3<<〃";p=p->next;cout<<"\n";}cout<<endl;}voidSchool_addmark(inta,intb,intc)//a為分數(shù)川為系編號,c=1表示男,c=0表示女(School*p;p=School_head;p=p->next;while(p)(if(p->School_number==b)if(c==1)p->boy=p->boy+a;}else(p->girl=p->girl+a;}}p=p->next;}}voidinput()(intn,s,h,g,m;School*p1;Sport*q1;cout<<"\t輸入學校數(shù)目:"<<endl;cout<<"\t";cin>>n;for(intt1=1;t1<=n;t1++)(p1=newSchool;p1->next=NULL;cout<<"\t輸入第〃<<t1<<〃個學校名稱"<<endl;cout<<"\t";cin>>p1->School_name;p1->School_number=t1;p1->boy=0;p1->girl=0;p1->sun=p1->boy+p1->girl;p1->next=School_head->next;School_head->next=p1;ASchool_output(School_head);*/cout〈〈〃\t輸入男子項目數(shù):〃〈〈endl;cout〈〈〃\t〃;cin?s;for(inti=l;i〈=s;i++){ql=newSport;ql->next二NULL;cout〈〈\t項目名稱:〃〈〈endl;cout〈〈〃\t〃;cin>>ql->Sportname

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論