第一篇:軟件工程實(shí)踐
軟件工程實(shí)踐
實(shí)踐總學(xué)時:20 面向?qū)I(yè)和年級:計算機(jī)科學(xué)技術(shù)4年級
一、實(shí)踐課程的性質(zhì)、目的與任務(wù)
《軟件工程》課程是本專業(yè)中實(shí)踐性非常強(qiáng)的一門課程。本課程的目的是培養(yǎng)軟件工程應(yīng)用能力。軟件工程實(shí)踐是《軟件工程》課程的后繼教學(xué)環(huán)節(jié),是一個重要的、不可或缺的實(shí)踐環(huán)節(jié)。其目的是使學(xué)生能夠針對具體軟件工程項目,全面掌握軟件工程管理、軟件需求分析、軟件設(shè)計、軟件測試等階段的方法和技術(shù),通過該實(shí)踐課程使學(xué)生進(jìn)一步理解和掌握軟件開發(fā)模型、軟件生命周期、軟件過程等理論在軟件項目開發(fā)過程中的意義和作用,培養(yǎng)學(xué)生按照軟件工程的原理、方法、技術(shù)、標(biāo)準(zhǔn)和規(guī)范,進(jìn)行軟件開發(fā)的能力,培養(yǎng)學(xué)生的合作意識和團(tuán)隊精神,培養(yǎng)學(xué)生對技術(shù)文檔的編寫能力,從而使學(xué)生提高軟件工程的綜合能力,提高軟件項目的管理能力。
二、實(shí)踐課程教學(xué)的基本要求
通過課程實(shí)踐熟悉軟件工程的原理、方法和技術(shù),能全面、系統(tǒng)地應(yīng)用所學(xué)的概念、原理和方法完成系統(tǒng)開發(fā)的規(guī)劃、分析、設(shè)計和實(shí)施工作;掌握軟件開發(fā)的過程和技術(shù),以達(dá)到對本課程的綜合知識的考察和基本技能技巧的運(yùn)用,培養(yǎng)自己的獨(dú)立操作能力和團(tuán)隊合作精神。
三、實(shí)踐內(nèi)容
××××軟件系統(tǒng)的分析與設(shè)計
[實(shí)踐類型]
綜合設(shè)計型
[目的要求]
1、目的:將所學(xué)的軟件工程理論知識應(yīng)用于軟件開發(fā)實(shí)踐中去,做到學(xué)以致用。
2、要求:把小問題當(dāng)作大任務(wù)來看待,一步一個腳印進(jìn)行,從而積累開發(fā)大工程的經(jīng)驗(yàn)和方法。各個階段的文檔完整、規(guī)范,建模工具使用得當(dāng)。
[內(nèi)容提要]
本課程的實(shí)踐環(huán)節(jié)設(shè)計以實(shí)際應(yīng)用中的小型題目為主(大綱后附有候選的項目列表供學(xué)生參考),要求學(xué)
生采用“項目小組”的形式,結(jié)合具體的開發(fā)項目進(jìn)行設(shè)計。軟件工程實(shí)踐具體實(shí)施的要求如下:
1)每個班級按項目小組進(jìn)行分組,每組人數(shù)在6人左右;
2)每個項目小組選出項目負(fù)責(zé)人或項目經(jīng)理(項目經(jīng)理適當(dāng)加分),由項目經(jīng)理召集項目組成員討論、選定開發(fā)項目,項目的選定必須考慮“范圍、期限、成本、人員、設(shè)備”等條件;項目經(jīng)理負(fù)責(zé)完成“可行性研究報告”、制定“項目開發(fā)計劃”、管理項目并根據(jù)項目進(jìn)展情況對項目開發(fā)計劃進(jìn)行調(diào)整;對于調(diào)整的項目開發(fā)計劃必須存檔;
3)項目開發(fā)計劃必須具備可行性,每項任務(wù)要落實(shí)到人且規(guī)定該任務(wù)的起止日期和時間;明確每個階段提交文檔的日期和時間;每個項目小組必須明確指定文檔的審查小組和審查人員以及審查結(jié)果的返回日期;審查小組和審查人員不得是完成被審查內(nèi)容的完成者;審查結(jié)果至少包括:存在的問題、出現(xiàn)問題的所在文檔的位置及頁碼、具體建議等;每個階段的審查結(jié)果不得少于6個問題;
4)每個項目小組必須按照給定的文檔規(guī)范標(biāo)準(zhǔn)提供下列文檔,文檔中必須注明執(zhí)筆者、完成者(簽名)和完成日期,其中完成需求分析和設(shè)計工作的人員不能相同,完成編碼和審查/測試的人員不能相同;文檔包括:
1.可行性研究報告
2.項目開發(fā)計劃(包括調(diào)整的項目開發(fā)計劃)
3.需求分析規(guī)格說明
4.概要設(shè)計規(guī)格說明
5.詳細(xì)設(shè)計規(guī)格說明
6.編碼清單(部分或全部)
7.審查/測試問題清單
[主要儀器設(shè)備]
1.硬件設(shè)備:微機(jī)和打印機(jī)
2.操作系統(tǒng):Windows 2k以上系統(tǒng)
3.圖文排版:Microsoft Office 2K及其以上系統(tǒng)
4.軟件開發(fā)工具:Microsoft Visual Studio、Borland Delphi 等
5.數(shù)據(jù)庫系統(tǒng):Microsoft SQL Server 等
6.建模工具軟件:PowerDesigner或者ROSE
四、考核方法
軟件工程實(shí)踐環(huán)節(jié)的成績不單獨(dú)記分,僅作為《軟件工程》課程成績的20%--30%記入總成績。實(shí)踐環(huán)節(jié)結(jié)束,每個學(xué)生必須提交軟件工程實(shí)踐總結(jié)報告,教師根據(jù)每個同學(xué)的實(shí)踐總結(jié)報告和在小組中提交的文檔進(jìn)行考核,時間允許的話可以加入實(shí)踐報告的答辯環(huán)節(jié)。根據(jù)提交的實(shí)踐報告和答辯的情況對每個同學(xué)劃分為A、B、C、D、E五個等級。
五、主要參考資料
[1] 盧瀟 等:《軟件工程》 清華大學(xué)出版社/北京交通大學(xué)2005年1月
[2] 周蘇 等 《軟件工程學(xué)實(shí)驗(yàn)》 科學(xué)出版社 2005年4月
[3] 鄧良松等 《軟件工程》 西安電子科技大學(xué)出版社2004年6月
[4] 張海藩 《軟件工程導(dǎo)論(第四版)》 清華大學(xué)出版社 2003年11月
[5] 吳潔明 袁山龍 《軟件工程應(yīng)用實(shí)踐教程》 清華大學(xué)出版社 2003年7月
[6] 文斌 等《軟件工程與軟件文檔寫作》 清華大學(xué)出版社 2005年8月
六、實(shí)踐教學(xué)建議
在實(shí)踐環(huán)節(jié)的實(shí)施中,建議同學(xué)們選擇熟悉的具有代表性的應(yīng)用系統(tǒng)作為實(shí)踐環(huán)節(jié)的軟件項目選題。為方便起見,在此列出部分參考選題如下:
1.酒店餐飲管理系統(tǒng)
2.多媒體播放器
3.進(jìn)銷存管理系統(tǒng)
4.賓館客房管理系統(tǒng)
5.人事管理系統(tǒng)
6.工資管理系統(tǒng)
7.KTV點(diǎn)歌系統(tǒng)
8.網(wǎng)上考試系統(tǒng)
9.考務(wù)管理系統(tǒng)
10.學(xué)生成績管理系統(tǒng)
11.超市POS系統(tǒng)
12.學(xué)生綜合測評系統(tǒng)
13.學(xué)生任選課管理系統(tǒng)
14.網(wǎng)上書店系統(tǒng)
15.音像租賃管理系統(tǒng)
16.圖書借閱管理系統(tǒng)
17.學(xué)生學(xué)籍管理系統(tǒng)
18.門禁管理系統(tǒng)
第二篇:軟件工程實(shí)踐學(xué)習(xí)心得
軟件工程實(shí)踐學(xué)習(xí)心得
這學(xué)期學(xué)習(xí)了軟件工程實(shí)踐這門課,我覺得這是對上學(xué)期的軟件工程課程學(xué)習(xí)的檢驗(yàn),上學(xué)期學(xué)習(xí)軟件工程只是我們淺顯的認(rèn)識,相比之下,這學(xué)期就更加全面的說明了開發(fā)一個項目所需要的步驟以及開發(fā)項目過程中所需要注意的諸多細(xì)節(jié)。如果說上學(xué)期的課程注重理論基礎(chǔ)的話,那么這學(xué)期的軟工實(shí)踐,顧名思義,就是側(cè)重我們動手操作的能力。
原來我認(rèn)為開發(fā)一個項目最重要的就是寫代碼,似乎整個軟件都是編代碼,因?yàn)樽约簞邮帜芰Σ粡?qiáng)所以就很排斥做項目??墒墙?jīng)過我們學(xué)習(xí)軟工課程到團(tuán)隊做項目再到學(xué)習(xí)軟件工程實(shí)踐課程之后,我才真正意識到實(shí)施一個軟件工程項目并不是說簡單的會編碼就能夠解決問題的,因?yàn)橐粋€軟件的生命周期分為三個時期:軟件定義時期、開發(fā)時期、維護(hù)時期,而這三個時期整體又分為七個階段,他們分別是:問題定義、可行性研究、需求分析、總體設(shè)計、詳細(xì)設(shè)計、編碼和單元測試、綜合測試,由此可看出,當(dāng)我們開發(fā)一個項目時,更多的精力不是放在編碼上,編碼只是一個很小的模塊,而是項目的整體結(jié)構(gòu)上。
在寫軟工實(shí)踐體會之前,我想在這里總結(jié)一下上學(xué)期三人團(tuán)隊做 項目的相關(guān)事宜。上學(xué)期我們?nèi)藞F(tuán)隊根據(jù)軟件開發(fā)的步驟開發(fā)一個名為“西大老鄉(xiāng)‘薈’”的社交系統(tǒng),主要是為西大學(xué)子提供一個找老鄉(xiāng)的平臺。雖然只進(jìn)行到詳細(xì)設(shè)計階段,沒有進(jìn)一步實(shí)現(xiàn),但是我還是從中學(xué)到很多東西的。首先要先確定項目主題,也就是這個項目用來做什么,可以解決什么問題。接著就是這個項目是否有研究的必要以及是否有解決的辦法,針對我們的項目,我們對西大的一些學(xué)生做了問卷調(diào)查,并從調(diào)查中繼續(xù)完善系統(tǒng)本身的做用戶。第三步根據(jù)我們確定的項目主題進(jìn)行需求分析,這一步驟當(dāng)時做的不是很好,比如所畫E-R圖、數(shù)據(jù)流圖等都有考慮不周的問題,導(dǎo)致接下來的概要設(shè)計、詳細(xì)設(shè)計進(jìn)行的很困難,有些步驟甚至還需要返工。
從我們在需求分析中出現(xiàn)的問題,使我們明白了軟件定義階段對于一個項目的開發(fā)是至關(guān)重要的,當(dāng)軟件定義階段完成時必須要用正式的文檔準(zhǔn)確的地記錄目標(biāo)系統(tǒng)的需求。只有前期的準(zhǔn)備工作做得好,后面的工作才能順利進(jìn)行。雖然項目最后沒有完全實(shí)現(xiàn),但是起碼我們已經(jīng)初步體會到軟件項目開發(fā)的步驟,以及每一步所需要完成的文檔等內(nèi)容。
這學(xué)期的軟件工程實(shí)踐雖然不是親自動手開發(fā)一個系統(tǒng),但是張元平老師以“物聯(lián)網(wǎng)物流倉儲管理系統(tǒng)”為主給我們講解了一個真實(shí)系統(tǒng)的開發(fā)過程,從計劃到項目系統(tǒng)的發(fā)布實(shí)施,以及每一步必須生成的文檔。我主要從以下五個方面談一下我的心得體會。
第一、行業(yè)背景說明方面
對于一個軟件系統(tǒng)的開發(fā),第一步就是問題定義,了解所開發(fā)系統(tǒng)的行業(yè)背景,制定計劃。當(dāng)我們計劃確定以后就要對項目系統(tǒng)本身進(jìn)行可行性研究,主要從技術(shù)可行性、經(jīng)濟(jì)可行性和操作可行性三個方面著手。就比如《物聯(lián)網(wǎng)物流倉庫管理系統(tǒng)》的行業(yè)背景說明文檔中非常詳細(xì)地分析了當(dāng)下物聯(lián)網(wǎng)物流行業(yè)的整體業(yè)務(wù)說明、應(yīng)用背景、未來發(fā)展趨勢以及相關(guān)應(yīng)用案例等四個方面,項目團(tuán)隊中系統(tǒng)分析員就可以根據(jù)這份文檔以及相關(guān)的調(diào)查資料對將要開發(fā)系統(tǒng)的進(jìn)行定義等工作。
原來我們寫這類文檔的時候就是草草了事,不會做得這么詳細(xì),而這次看到大型項目的行業(yè)背景說明也是這么詳細(xì),也讓自己認(rèn)識到不管是軟件開發(fā)的那個階段都要認(rèn)真對待,這些瑣碎的文檔都是后期開發(fā)項目的支撐,只要它們做的透徹,后面的開發(fā)工作才能更順利的進(jìn)行。
第二、項目需求說明方面
這部分項目需求說明就是軟件定義時期中需求分析階段,而該階段的主要目的就是了解用戶的需要,根據(jù)用戶的需要確定系統(tǒng)必須完成那些工作,并對目標(biāo)系統(tǒng)提出完整、準(zhǔn)確、清晰、具體的要求。在需求分析結(jié)束之前系統(tǒng)分析人員要寫出一份需求規(guī)格說明,即為《物聯(lián)網(wǎng)物流倉儲管理系統(tǒng)》項目需求說明文檔。我們可以看出該文檔也是非常詳細(xì),相比之下我們之前做項目時寫的需求規(guī)格說明書就非常 不合格,不僅格式不正確內(nèi)容也是少之又少。
在這方面,這篇文檔給我啟發(fā)很大。首先就是文檔的格式,要美觀整齊,讓人看著舒服方便。其次就是文檔的內(nèi)容,原來它不是很重要,寫文檔的時候也不知道怎么寫就借鑒下網(wǎng)上的內(nèi)容,結(jié)果根本就沒有把自己項目的需求寫明白,以至于自己最后都有些糊涂,所以根據(jù)以前的經(jīng)驗(yàn)教訓(xùn)我會對這部分更加重視。
第三、系統(tǒng)概要設(shè)計方面
這部分內(nèi)容分說的是軟件設(shè)計時期的概要設(shè)計階段,該階段的主要目的就是實(shí)現(xiàn)系統(tǒng)的功能、設(shè)計軟件的結(jié)構(gòu)、模塊組成以及模塊之間的關(guān)系。在概要設(shè)計階段,我們可以站在全局的高度上,花較少的成本,從抽象的層次上分析對比多種可能的系統(tǒng)實(shí)現(xiàn)方案和軟件結(jié)構(gòu),從中選出最佳方案和最合理的結(jié)構(gòu)。在這個階段還會具體畫出E-R圖、數(shù)據(jù)流圖等方面的設(shè)計。
比如《物聯(lián)網(wǎng)物流倉庫管理系統(tǒng)》的系統(tǒng)概要設(shè)計從項目概述、設(shè)計約束、功能單元與功能模塊設(shè)計、數(shù)據(jù)E-R圖設(shè)計、總體設(shè)計、界面設(shè)計等六個方面介紹,通過讀這個文檔,我覺得最重要的還是總體設(shè)計,分別從邏輯架構(gòu)設(shè)計、物理架構(gòu)設(shè)計、技術(shù)架構(gòu)設(shè)計設(shè)計系統(tǒng)。在這個階段中模塊要做到高內(nèi)聚低耦合,這樣開發(fā)出來的系統(tǒng)才會具有更高的獨(dú)立性。
在原來做項目時沒有編寫過這類文檔,在該階段只是畫了結(jié)構(gòu)圖、層次圖以及相關(guān)的模塊劃分,對該類文檔尚未重視。通過張老師的講解和自己的學(xué)習(xí),我相信在以后做項目的時候一定會注意到這類文檔的編寫。
第四、詳細(xì)設(shè)計與分析方面
詳細(xì)設(shè)計階段就是把概要設(shè)計階段的每個模塊進(jìn)一步設(shè)計,確定每個模塊所需要的算法和數(shù)據(jù)結(jié)構(gòu)。在這個階段還是需要我們設(shè)計出程序的詳細(xì)規(guī)格說明,而不是編寫程序。在詳細(xì)設(shè)計階段,系統(tǒng)設(shè)計人員可以通過使用程序流程圖、盒圖、PAD圖等過程設(shè)計的工具和Jackson圖等面向數(shù)據(jù)結(jié)構(gòu)的設(shè)計工具進(jìn)一步設(shè)計系統(tǒng)相關(guān)接口,主要包括界面設(shè)計接口、業(yè)務(wù)單設(shè)計接口、單元模塊設(shè)計接口等,這些對于以后的編碼工作都是極其重要的。
第五、編碼和測試方案方面
關(guān)于編碼,我認(rèn)為編碼要想做的完美必備條件就是前面的軟件定義和軟件設(shè)計時期要按部就班的做,文檔一定要按要求書寫,不能偷懶也不能草草書寫。對于編碼也要有相應(yīng)的文檔書寫規(guī)范,要使源程序代碼的邏輯簡明清晰、易讀易懂。這樣盡管我們不是設(shè)計系統(tǒng)的人員,當(dāng)看到源程序代碼的時候也能容易讀懂代碼的意思。
其次就是測試的內(nèi)容,從測試的文檔中我們可以得出,其實(shí)測試在軟件開發(fā)中同樣占據(jù)了重要的地位,它主要就是盡可能多的找到問題并排除其中的潛藏的錯誤,最終把一個高質(zhì)量的軟件系統(tǒng)交給用戶 使用。它要求測試人員也要有很高的技術(shù)水平。
第三篇:軟件工程實(shí)踐心得
軟件工程(SE)
軟件是計算機(jī)系統(tǒng)中與硬件相互依存的另一部分,它包括程序、相關(guān)數(shù)據(jù)及其說明文檔。軟件工程(Software Engineering,簡稱為SE)是針對軟件這一具有特殊性質(zhì)的產(chǎn)品的工程化方法。SE涵蓋了軟件生命周期的所有階段,并提供了一整套工程化的方法,來指導(dǎo)軟件人員的工作。任何事物都是從無到有的,軟件當(dāng)然也不例外。上世紀(jì)中期,軟件產(chǎn)業(yè)從零開始起步,經(jīng)過半個多世紀(jì)的發(fā)展,其大致經(jīng)歷的3個階段:程序設(shè)計階段、軟件設(shè)計階段和軟件工程時代,現(xiàn)已成為推動人類社會發(fā)展的龍頭產(chǎn)業(yè),隨著信息化時代的發(fā)展,軟件對人類社會也將越看來越重要。人們對軟件的認(rèn)識自然經(jīng)歷了一個由淺入深的過程,在得到巨大需求的同時,也遇到了一系列嚴(yán)重問題,即軟件危機(jī)。所謂軟件危機(jī),是指在計算機(jī)軟件的開發(fā)和維護(hù)過程中所遇到的一些嚴(yán)重問題,其實(shí)質(zhì)是軟件產(chǎn)品的供應(yīng)趕不上需求的增長。概括的說包含兩方面的問題:
一、如何開發(fā)軟件,以滿足不斷增長,日趨復(fù)雜的要求;
二、如何維護(hù)數(shù)量不斷膨脹的軟件產(chǎn)品。為研究和解決軟件危機(jī),一門新興的學(xué)科——軟件工程,應(yīng)運(yùn)而生。
軟件工程的概念是為了有效地控制軟件危機(jī)的發(fā)生而被提出來的,它的中心目標(biāo)就是把軟件作為一種物理的工業(yè)產(chǎn)品來開發(fā),要求“采用工程化的原理與方法對軟件進(jìn)行計劃、開發(fā)和維護(hù)”,它的主要對象是大型軟件,它的最終目的是擺脫手工生產(chǎn)軟件的現(xiàn)狀,逐步實(shí)現(xiàn)軟件開發(fā)和維護(hù)的自動化。軟件工程的概念自提出來后,經(jīng)過幾
十年的發(fā)展,雖然軟件危機(jī)沒有得到徹底的解決,但在軟件開發(fā)方法和技術(shù)方面已經(jīng)有了很大的進(jìn)步,提出了軟件工程知識體系、軟件工程三段論、軟件工程生存期模型、服用原則等等。
軟件開發(fā)過程大致經(jīng)過7個階段:可行性分析、需求分析、概要設(shè)計、詳細(xì)設(shè)計、編碼、測試、提交與維護(hù)。接下來逐一分析本人見解:
一、可行性分析:顧名思義,就是看項目究竟“能不能做”。有3個方面:技術(shù)可行性、經(jīng)濟(jì)可行性和操作可行性。要確定項目,首先要客觀的、科學(xué)的了解項目的規(guī)模、難度和時間限制,才可以確定應(yīng)該投入多少人力、物力和財力去做這個項目,必須準(zhǔn)確的估計項目的規(guī)模與難度??错椖渴欠裼袃r值去做,如果沒有價值,就放棄;如果有價值,就要看目前的資源是否能滿足項目的開發(fā)。如果項目有價值,且有必需的資源,那么就可以確定能做這個項目了。
二、需求分析階段:解決“做什么、不做什么”的問題。圍繞兩個核心問題開展需求分析:應(yīng)該了解什么?通過什么方式去了解?
一、了解什么:應(yīng)該先了解宏觀的問題,再了解細(xì)節(jié)的問題。最好為每個需求注釋“為什么”,這樣可以讓程序員了解需求的本質(zhì),以便選用最合適的技術(shù)來實(shí)現(xiàn)此需求。同時,需求說明不可有額二義性,更不能前后矛盾,如果有二義性貨前后相矛盾,則要重新分析此需求。然后,選擇合適的生存周期,建立合適的需求模型;
二、通過什么方式去了解:直接與客戶交談;有些需求客戶講不清楚,分析人員又猜不透,這是就要請教行家。需求分析是非常重要的階段,如果做不好 的話,后果很麻煩。
三、概要設(shè)計:解決“怎么做”的問題。將需求描述的“做什么”問題變?yōu)橐粋€實(shí)施方案的創(chuàng)造性過程,使得整個項目在邏輯上和物理上能夠得意實(shí)現(xiàn)。概要設(shè)計是第一個開發(fā)活動,也是最重要的活動,是軟件項目實(shí)現(xiàn)的關(guān)鍵階段。設(shè)計質(zhì)量的高低直接決定了軟件項目的成敗,缺乏或者沒有軟件設(shè)計的過程會產(chǎn)生一個不穩(wěn)定的、甚至是失敗的軟件系統(tǒng)。一個良好的軟件設(shè)計是進(jìn)行快速軟件開發(fā)的根本,沒有良好的設(shè)計,會將時間花在不斷的調(diào)試上,無法添加新功能,修改時間越來越長,隨著給程序打上一個有一個的補(bǔ)丁,新的功能需要更多的代碼實(shí)現(xiàn),就變成一個惡性循環(huán)了。概要設(shè)計是軟件設(shè)計級別中的高級設(shè)計,是從需求出發(fā),描述了總體上系統(tǒng)架構(gòu)應(yīng)該包含的要素。概要設(shè)計盡可能模塊化,因此描述了各個模塊之間的關(guān)聯(lián),主要是根據(jù)需求規(guī)格或規(guī)格定義,合理、有效地實(shí)現(xiàn)產(chǎn)品規(guī)格中定義的各項需求,完成軟件模塊的劃分并描述模塊之間的關(guān)系,并不斷分解系統(tǒng)模塊,從高層分解到低層分解。它注重框架設(shè)計、總體結(jié)構(gòu)設(shè)計、數(shù)據(jù)庫設(shè)計、接口設(shè)計、網(wǎng)絡(luò)環(huán)境設(shè)計等,將產(chǎn)品分割成一些可以獨(dú)立設(shè)計和實(shí)現(xiàn)的部分并保證各個部分可以和諧的工作。此過程中畫數(shù)據(jù)流圖、IPO圖、E-R圖、界面設(shè)計等。
四、詳細(xì)設(shè)計:解決“具體做什么”的問題,將解決問題的辦法進(jìn)行具體化。軟件設(shè)計的低級設(shè)計,亦即詳細(xì)設(shè)計,主要描述實(shí)現(xiàn)各個模塊的算法和數(shù)據(jù)結(jié)構(gòu)以及用特定計算機(jī)語言實(shí)現(xiàn)的初步描述,是針對程序開發(fā)部分來說的,但這個階段不是真正編寫程序,而是設(shè)計
出程序的詳細(xì)規(guī)格說明,這種規(guī)格說明類似于其他工程領(lǐng)域中工程師經(jīng)常使用的工程藍(lán)圖,程序員根據(jù)其中所包含的必要的細(xì)節(jié)寫出實(shí)際的程序代碼。用另一種方式說就是,詳細(xì)設(shè)計是將概要設(shè)計的框架內(nèi)容具體化、明細(xì)化,將概要設(shè)計轉(zhuǎn)化為 可以操作的軟件模型,但在實(shí)際項目進(jìn)行過程中,依據(jù)項目的具體情況和項目要求,這個過程可能可以省略(邏輯上沒有省略,表現(xiàn)在概要設(shè)計階段或者編碼階段),直接按照概要設(shè)計進(jìn)行編碼;不過,個人認(rèn)為最好有,有詳細(xì)設(shè)計可以更好的保證編碼順利的進(jìn)行,可以預(yù)先掃清編碼過程中的障礙,提高代碼的質(zhì)量和編碼的效率。主要包括模塊描述、算法描述、數(shù)據(jù)描述,可以采用圖形、表格或者文字描述等方式表達(dá)出來。
五、編碼:實(shí)現(xiàn)項目。由項目的概要設(shè)計和詳細(xì)設(shè)計,將設(shè)計變?yōu)榇a需要通過編碼過程來完成。實(shí)現(xiàn)設(shè)計有很多種選擇,有很多實(shí)現(xiàn)語言、工具等可供選擇,但一般而言,在設(shè)計中會直接或間接地確定了實(shí)現(xiàn)語言。編碼過程的一個主要標(biāo)準(zhǔn)時變成與設(shè)計的對應(yīng)性和統(tǒng)一性。如果編碼沒有按設(shè)計的要求進(jìn)行,設(shè)計就失去意義了。設(shè)計過程中的算法、功能、接口、數(shù)據(jù)結(jié)構(gòu)都應(yīng)該在編碼過程中體現(xiàn)。如果需求發(fā)生變更,設(shè)計業(yè)對應(yīng)地發(fā)生變更,同時代碼也應(yīng)該一致地發(fā)生變更,這可以通過配置管理配置控制??梢姡绻幋a和設(shè)計不一致,很容易“跑偏”,走火入魔。編碼時要嚴(yán)格遵循編碼標(biāo)準(zhǔn)和規(guī)范,并提供必要的程序注釋,增加可讀性。另一個就是重構(gòu)的理解,所謂重構(gòu)是對軟件內(nèi)部的一種調(diào)整,目的是在不改變軟件基本功能和性能的前提下,提高其可理解性,降低成本,當(dāng)添加功能、修改代碼和復(fù)查
代碼的時候,更不要錯過重構(gòu),另外,重構(gòu)可以和設(shè)計互補(bǔ)。還有一點(diǎn)值得注意,要在必要的時候部署編碼文檔。
六、測試:看軟件是否符合標(biāo)準(zhǔn)。軟件編碼完成之后,將軟件提交給用戶之前,需要對軟件進(jìn)行測試,這是保證軟件產(chǎn)品質(zhì)量的一個重要標(biāo)準(zhǔn),也是評估產(chǎn)品質(zhì)量的主要手段。軟件測試是從軟件工程中演化出來的一個分支,有著非常廣泛的內(nèi)容,并且隨著軟件產(chǎn)業(yè)的發(fā)展,它已經(jīng)變得越來越重要。軟件與生俱來就可能存在缺陷,為了防止和減少這些可能存在的缺陷,進(jìn)行軟件測試是有必要的,測試是最有效的的排錯和防止缺陷和故障的手段。最原始的測試莫過于直接運(yùn)行軟件了,后來測試手段逐漸多樣化。測試手段有靜態(tài)測試、動態(tài)測試面向?qū)ο蟮臏y試、自動化測試等等之分。靜態(tài)測試或稱靜態(tài)分析是指一種不通過執(zhí)行程序來進(jìn)行測試的一種技術(shù),主要是檢查軟件的表示和描述是否一致,覆蓋程序的編碼格式、程序語法、檢查獨(dú)立語句的結(jié)構(gòu)和使用等,主要包括代碼檢查、靜態(tài)結(jié)構(gòu)分析、代碼質(zhì)量等等,可以通過人工進(jìn)行,亦可借助工具(如:語法分析器)自動進(jìn)行。動態(tài)測試是運(yùn)行被測試的程序,通過輸入測試用例,對其運(yùn)行情況進(jìn)行分析,以達(dá)到檢測的目的,顯然動態(tài)測試封像我們通常意義上的“測試”。動態(tài)測試主要包括白盒測試、黑盒測試、灰盒測試(介于黑盒和白盒之間)。其他測試不再一一介紹。
七、提交與維護(hù):測試完之后,就要把軟件交給用戶使用了。提交不是剪裁,給人家就行了,還要教會客戶怎么使用這個系統(tǒng)。如果用戶不會使用系統(tǒng),就會不滿意系統(tǒng)的性能,那之前的努力就白費(fèi)了,打水漂了。為了保證成功地將我們開發(fā)的軟件提交給用戶,我們需要對用戶進(jìn)行培訓(xùn),同時提交必要的文檔及用戶手冊軟件。維護(hù)就不用多說了,就是售后服務(wù)了。維護(hù)需要分析人員、編碼人員和設(shè)計人員等角色的參與,有糾錯行維護(hù)、適應(yīng)性維護(hù)、完善性維護(hù)、預(yù)防性維護(hù)等。維護(hù)后,要寫軟件維護(hù)過程文檔,至少提交一個軟件維護(hù)記錄。
以上是軟件工程及其幾個階段的介紹,知道怎樣開發(fā)軟件只是軟件工程的一部分,搞好團(tuán)隊合作也是很重要的。項目是一個很大的工程,需要一個團(tuán)隊的統(tǒng)籌規(guī)劃,團(tuán)結(jié)協(xié)作,集思廣益,舉一反三,才能夠按預(yù)期完成。
第四篇:軟件工程實(shí)踐報告
軟件工程實(shí)踐報告
軟件工程實(shí)踐報告1
實(shí)踐單位:山西西太行信息有限公司
實(shí)踐時間:xx年7月1日-----xx年7月31日共31天
一、實(shí)踐目的:綜合利用所學(xué)的專業(yè)知識,培養(yǎng)軟件開發(fā)的技能;掌握android操作系統(tǒng)的編程技巧,體會企業(yè)軟件開發(fā)與學(xué)習(xí)過程中編寫軟件的不同;提高自身的創(chuàng)新意識與創(chuàng)新能力,促進(jìn)團(tuán)隊之間的溝通協(xié)作,為早日踏上工作崗位打下堅實(shí)基礎(chǔ)。
二、實(shí)踐內(nèi)容及感悟:
(a)實(shí)踐前準(zhǔn)備:自xx年清明節(jié)前后,我和我的組員就開始接受山西西太行信息有限公司的公開課的培訓(xùn),當(dāng)時經(jīng)電子與計算機(jī)技術(shù)學(xué)院于一老師介紹由陳川老師主要帶領(lǐng)我們重新溫習(xí)了一遍關(guān)于java語言的基本知識,在這將近一個月的學(xué)習(xí)過程中我們逐漸重新拾起了即將被遺忘的java知識,走出了以前認(rèn)識上的誤區(qū),使我在java這一塊又有了一定的的優(yōu)勢,為以后我們用java語言做開發(fā)打下了很好的基礎(chǔ)。自xx年5月1日,我們開始了真正的基于android操作系統(tǒng)的軟件開發(fā),雖然我們是利用課余時間進(jìn)行學(xué)習(xí),但是學(xué)習(xí)的效果真的很好,我們基本上晚上都會學(xué)到很晚才回宿舍。剛開始的時候我感到很不適應(yīng),感到學(xué)習(xí)的java語言不能夠充分的的到利用,只能夠用一些和系統(tǒng)相關(guān)的東西,但是隨著學(xué)習(xí)的深入,我發(fā)現(xiàn)android操作系統(tǒng)也是一個很強(qiáng)大的手機(jī)操作系統(tǒng),它有著很好的發(fā)展前景。并且移動互聯(lián)網(wǎng)在在中國有著大的市場,所以我對我正在從事的android手機(jī)軟件開發(fā)給予了很大的希望。這一個月的培訓(xùn)我們主要學(xué)習(xí)了android操作系統(tǒng)的五大系統(tǒng)組件:activity、service、sqlite、content Provider、intent、broadcastRecever,同時我也學(xué)到了一些課堂上學(xué)不到得東西,對外面的市場的情況也有了更深刻的了解。
(b)實(shí)踐過程:xx年7月1日到xx年7月31日是我正式暑假實(shí)踐的時間段,我們一行十六個人,大三的十一人大二的六人。我們被分了兩個小組,每個小組八個人,上課時間一般是下午兩點(diǎn)到五點(diǎn)半或者下午五點(diǎn)半到晚上八點(diǎn)半,其余的時間是我們自己寫代碼的時間。每天的任務(wù)量都有所不同,有時候把自己的任務(wù)做完了剩下的時間就自由支配。這一個月我們的主要任務(wù)是做一個騰訊微博android手機(jī)客戶端,每天陳老師都會給我們傳授一些做軟件的經(jīng)驗(yàn)和一些新的知識點(diǎn),然后我們根據(jù)具體的要求編寫文檔,編寫代碼,第二天交由陳老師點(diǎn)評。
(1)可惡的文檔:剛開始的時候感覺很不適應(yīng),以前上課就是學(xué)習(xí)關(guān)于編程的知識,但是做項目的第一天陳老師要求我們寫文檔,我們用的是GB8568—88格式的文檔,第一次寫即感覺很枯燥又感覺不會寫。對于寫文檔我們都有想通的反應(yīng),就是莫名奇妙的反感,但是陳老師還是不依不饒的要求我們寫要我們查資料,我們也很沒辦法只能按照要求寫文檔。但是由于我們不知道在文檔上寫些什么,陳老師看我們很為難也有所讓步,帶領(lǐng)我們寫了軟件需求說明書,后來我們依次寫了概要設(shè)計說明書、詳細(xì)設(shè)計說明書,后來又寫了測試計劃、用戶手冊。當(dāng)時的感覺就是知道的知識太少,對著文檔一個詞一個詞的硬擠,但是當(dāng)文檔寫完的時候還是很有成就感的。其實(shí)在寫文檔的過程中我們也漸漸的明白了文檔的重要性,我們只是在學(xué)校編寫程序的時間久了習(xí)慣了上來就寫代碼的壞習(xí)慣,忽略了軟件工程中的很重要的部分-----分析階段和設(shè)計階段。可能是因?yàn)橐郧白龅能浖己苄?,一旦項目稍微大一點(diǎn),那在編寫代碼階段將付出不可估量的代價甚至最終將以失敗告終。其實(shí)我們都學(xué)過軟件工程,而且在考試的時候成績還不是很差,但是到真正需要這些知識的時候我感覺卻忘記了如何下手,這也就是所謂的紙上談兵吧,所以我感覺大學(xué)生缺少的正是一種動手能力。知識本身沒有價值,有價值的是運(yùn)用知識解決問題。
(2)該死的bug:寫完文檔感覺寫代碼就輕松了,但是事與愿違啊。由于以前沒做過開放平臺的客戶端,中間涉及到同騰訊公司微博開放平臺接洽的問題,開始真的很不適應(yīng),不知道怎么下手。當(dāng)知道下手的時候不免出現(xiàn)了各種各樣的bug:騰訊服務(wù)器故障啦、實(shí)驗(yàn)室斷網(wǎng)啦、模擬器連不上網(wǎng)啦、代碼錯誤啦等等。為了弄好這些bug有時真是忙的焦頭爛額,因?yàn)榭赡芤驗(yàn)樽约簩懙拇a有問題導(dǎo)致大家的代碼都不能運(yùn)行,作為團(tuán)隊的一員誰都不想拖后腿。但有時候我也找不到問題所在,只能請高手指教或者找老師為我排憂解難。只可惜我當(dāng)時掌握的排錯方式只有打印輸出和查看日志,根本沒接觸過單元測試。其實(shí)多遇到一些bug還真不是壞事情,我現(xiàn)在開始明白編寫代碼最重要的是快速查找資料和排除錯誤的能力。首先我們不可能記住java語言或者android操作系統(tǒng)中所有的類和方法,所以能夠快速找到我們所需要功能的類或者方法是很重要的。其次對于程序工作者來說遇到bug是很正常的事情,遇到不能解決的問題也是很常見的,重要的是能夠正確的處理這些問題,并總結(jié)經(jīng)驗(yàn)為以后的開發(fā)做好鋪墊。遇到問題是要保持好的心態(tài),千萬不能焦躁,細(xì)心的一點(diǎn)點(diǎn)的分析問題,必的時候可以去網(wǎng)絡(luò)上查找一些資料。但是不要遇到問題就上網(wǎng)查找,我感覺現(xiàn)在自己動手處理題很重要,上網(wǎng)查與吃現(xiàn)成飯沒有本質(zhì)的區(qū)別。網(wǎng)絡(luò)可以幫我們開闊視野,但不要讓網(wǎng)絡(luò)阻礙了我們自我發(fā)展的機(jī)會。編寫軟件過程中要及時記錄,這既可以讓我們總結(jié)更多的經(jīng)驗(yàn),也可以為后來者提供一些寶貴的資料。畢竟都有成長的時候。
(3)痛苦的合并:這是我第一次這么正式的和這么多的人一起開發(fā)軟件,更何況還有不認(rèn)識的人在一個組,這給我們的溝通帶來了很大的不便,尤其是最后代碼合并的時候,很多的問題都一擁而上。我們當(dāng)時用了一個軟件visualSVN,這是一款團(tuán)隊開發(fā)的軟件,當(dāng)代碼寫的可以組合的時候我們就用這個軟件在eclipse下共同開發(fā)。但開始的時候我們也會為了自己的代碼正確而被迫修改別人的代碼,最后弄得大家的代碼不能夠正確的運(yùn)行,然后所有人都會停下來共同尋找錯誤,改正錯誤。這是團(tuán)隊開發(fā)時候很忌諱的問題,并且大家還都不好意思開口說誰錯了,畢竟都不是很熟悉。直到大家開始慢慢適應(yīng)這種團(tuán)隊開發(fā)之后,這樣的情況才慢慢的被避免,效率也有所提高。這次的團(tuán)隊開發(fā)讓我明白,在團(tuán)隊開發(fā)中根本不存在自我,你所做的任何事情都應(yīng)從整個團(tuán)隊出發(fā),以團(tuán)隊的利益為重,不能自私。尤其是在團(tuán)隊中千萬不能應(yīng)付,你的應(yīng)付很可能會給他人帶來很多不便,甚至造成更大的損失。因此teamwork很重要,必須謹(jǐn)慎!
(4)唉,完美:每次寫完代碼讓陳老師點(diǎn)評都會發(fā)現(xiàn)很多問題,有時候是代碼冗余度太大,有時候時代碼不夠安全,有時候是技術(shù)上不是很完善。對我們來說目標(biāo)就是編寫的軟件能用,只要大家寫的軟件合并后能夠正常運(yùn)行,一切就ok了。但是這些是遠(yuǎn)遠(yuǎn)不夠的,面向?qū)ο蟮乃枷牒蛙浖こ痰囊恍┏WR我們都沒涉及到,異步加載圖片在陳老師講之前我們也從來沒有想到過,這些問題讓我深深的體會到我們的創(chuàng)新能力的要求遠(yuǎn)遠(yuǎn)不夠,我們對完美的渴求度遠(yuǎn)遠(yuǎn)不夠。沒有最好,只有更好。這句話真是非常經(jīng)典,作為軟件開發(fā)者永遠(yuǎn)沒有標(biāo)準(zhǔn)答案,沒有最好的軟件,只有不斷的學(xué)習(xí)不斷的追求才能發(fā)現(xiàn)好的東西,找到更好的創(chuàng)意。雖然最后騰訊微博客戶端能夠成功的運(yùn)行了,但是我意識到我所掌握的知識遠(yuǎn)遠(yuǎn)不夠,在這個實(shí)踐中卻是暴露了很多的問題。但愿天天能做到更好!
三、實(shí)踐總結(jié):
1、一個假期結(jié)束了,留下了很多的回憶,因?yàn)檫@個暑假是很有意義的。在這三十一天里每天都學(xué)到了新的知識,每天都遇到了新的問題,每天都在進(jìn)步這,也讓我有時間更加清晰的認(rèn)識了軟件工程這門課程和設(shè)計模式在軟件開發(fā)中的重要性,編寫代碼知識軟件開發(fā)的一小部分,只有真正的這種開發(fā)才能體會到軟件工程的意義。
2、團(tuán)隊的凝聚力關(guān)系著每一個軟件開發(fā)人員的發(fā)展前途,每一個人的努力都會得到回報,同樣一個人的失誤也會影響到整個團(tuán)隊,因此正確處理好人際關(guān)系是很重要的。
3、注重產(chǎn)品的價值,做好市場調(diào)研是成敗的決定性因素。4、掌握好一門技術(shù)你可以吃飽,但是你要想很富有,必須懂得很多。隊友可以幫助你一時幫不了一世,要注重個人能力發(fā)展!
軟件工程實(shí)踐報告2
一、實(shí)習(xí)目的
這次實(shí)習(xí)的目的是提高我的專業(yè)技能、實(shí)踐能力,讓我了解一些實(shí)際的工作情況。正式工作前對我意義重大。在實(shí)踐中對專業(yè)技能、綜合素質(zhì)、人際關(guān)系有更深的體會,這給了我正式工作前的寶貴經(jīng)驗(yàn)。
這次實(shí)習(xí)的主要任務(wù)是了解整個軟件制作流程,以及各個環(huán)節(jié)的細(xì)節(jié)。學(xué)完這些環(huán)節(jié),就可以用學(xué)到的知識去完成一個公司安排的項目。我分配的項目名稱是診所管理系統(tǒng)。我們將以小組的形式共同完成這個項目,模擬實(shí)際的軟件制作過程,最大限度地將學(xué)到的知識轉(zhuǎn)化為實(shí)踐能力。為真正的項目做好充分的準(zhǔn)備,這樣實(shí)習(xí)后才能在正式工作中面對。
公司的最終目的是希望能了解實(shí)際的項目制作,初步了解各個環(huán)節(jié)的意義。讓我們將項目用于實(shí)際生產(chǎn),這樣我們可以更好地理解項目生產(chǎn)中每個過程的意義,以及團(tuán)隊在項目生產(chǎn)過程中是如何合作的。
二、實(shí)習(xí)單位和崗位
我的實(shí)習(xí)單位是埃森哲信息技術(shù)(大連)有限公司軟件開發(fā)部,校企合作。該部門的主要職能是外包服務(wù)工作,根據(jù)客戶需求制作相應(yīng)的軟件。因此,我們需要熟悉整個軟件開發(fā)過程,這樣才能處理客戶的各種問題,做出更好的軟件來滿足客戶的需求。
因?yàn)閷?shí)習(xí)的原因,我的職位是軟件助理工程師。具體的時間安排是實(shí)際的項目制作和專業(yè)知識的學(xué)習(xí)。實(shí)習(xí)時間8周。本來實(shí)習(xí)的地方是在公司。后來因?yàn)楣緝?nèi)部原因,我們實(shí)習(xí)的地方改成了學(xué)校內(nèi)部實(shí)習(xí),每天的時間和正式工作一樣。上午8點(diǎn)和5點(diǎn),每周六周日休息。
整個實(shí)習(xí)的實(shí)際過程前面已經(jīng)講過了,包括八周的實(shí)際項目制作和專業(yè)知識學(xué)習(xí)。具體每周任務(wù)、實(shí)際工作內(nèi)容、專業(yè)知識和技能的實(shí)際應(yīng)用會根據(jù)不同環(huán)節(jié)而有所不同。但總體目標(biāo)是讓我們了解實(shí)際工作中的軟件生產(chǎn)流程,以及每個流程需要的技術(shù)和注意點(diǎn),讓我們用實(shí)際的項目去實(shí)踐。
三、實(shí)習(xí)過程
整個實(shí)習(xí)的任務(wù)和目的上面已經(jīng)介紹過了。下面將詳細(xì)介紹整個實(shí)習(xí)過程,并詳細(xì)講解每個過程的細(xì)節(jié)。
具體時間安排如下:
第一周:這個項目需要的知識將被集中整理和復(fù)習(xí)。鞏固一些不熟悉的知識,以防項目出現(xiàn)意外需求。實(shí)習(xí)的第一天,企業(yè)的經(jīng)理向我們詳細(xì)解釋了軟件工程科學(xué)對軟件生產(chǎn)的重要性,并在此基礎(chǔ)上給了我們大致的實(shí)習(xí)過程。
第二周:直接進(jìn)行項目的需求分析。因?yàn)橐呀?jīng)給出了項目名稱,可行性分析就取消了。分配給我們小組的項目是“門診管理系統(tǒng)”,去診所實(shí)地調(diào)查是必然的。在實(shí)際調(diào)研過程中發(fā)現(xiàn),需求分析的過程非常非常重要,需求分析文檔的制作決定了項目的各項功能以及軟件是否滿足用戶的需求。本周的收獲是軟件需求分析的文檔化,這是軟件工程中非常重要的一步,這個環(huán)節(jié)是整個軟件生成過程中最重要、最關(guān)鍵的一環(huán)。
第三周:這一周由于臨時變動,將概要設(shè)計和詳細(xì)設(shè)計合并成一周。根據(jù)調(diào)查結(jié)果,進(jìn)行概要設(shè)計。因?yàn)槭堑谝淮沃谱鬈浖乓治鑫臋n,所以有很多不規(guī)范的地方,比如數(shù)據(jù)流圖的制作,很多小細(xì)節(jié)都忽略了,所以像這樣的問題還是很多的。但這些問題經(jīng)過組員的積極討論和修改,以及老師的指導(dǎo),都得到了解決。然后,根據(jù)概要設(shè)計,進(jìn)行軟件的詳細(xì)設(shè)計。詳細(xì)設(shè)計相比于概要設(shè)計能感覺簡單一點(diǎn),不知道感覺對不對。因?yàn)樵诟乓O(shè)計模塊中,我們已經(jīng)設(shè)計了需要實(shí)現(xiàn)的模塊、接口、類、函數(shù),所以我們只需要考慮每個類的函數(shù)都可以用代碼來實(shí)現(xiàn),而不是寫在代碼上,而是用流程圖、偽代碼等相關(guān)技術(shù)來表達(dá)。正式的編碼在這個階段生產(chǎn)完成時開始。到目前為止,準(zhǔn)備工作終于完成了,差不多花了我們一半的實(shí)習(xí)時間。這一周的時間,我們不知不覺就在忙碌中度過了!下周我們將進(jìn)入這個項目的實(shí)際編碼,這也是我們最熟悉的地方。感覺終于有地方投稿了,期待下周的到來。
第四周:根據(jù)詳細(xì)設(shè)計對項目進(jìn)行編碼。本周,我們進(jìn)行了實(shí)際的編碼。我最大的感受就是按照詳細(xì)設(shè)計的編碼很清晰,偽代碼等轉(zhuǎn)換過程可能有點(diǎn)困難。和我們過去直接編碼相比,流暢度不言而喻。
第五周:這周本來是要測試的,但是編碼后企業(yè)老師指出了很多問題,說我們寫的代碼太粗糙了,要小心處理代碼,把測試推到下周。這一周我們受益匪淺,對代碼標(biāo)注和編碼格式有了更深入的了解。
第六周:根據(jù)完成的項目測試項目。這一周是軟件測試,分為幾個階段,從最基礎(chǔ)一節(jié)課內(nèi)的方法測試到整個項目的綜合測試。與之前的測試不同,這次我們先寫測試文檔,待測試文檔通過檢驗(yàn)后,再逐步測試文檔。我想,這可能是我們未來工作的大方向,基于文檔的項目制作。因?yàn)闇y試文檔的制作進(jìn)度太慢,我們這周忙于測試文檔的制作,其他什么都沒做,所以測試只能等到下周。我希望下周的考試會很有效率。期待嘗試一下,感覺很想拿著測試文檔測試一下。
第七周:拿著測試文檔,按照上述要求逐一測試,確認(rèn)項目的正確性。順利的考試讓我精神煥發(fā)。拿著測試文檔直接查代碼就行了。幾乎沒有必要考慮程序內(nèi)部的測試流程,因?yàn)槲臋n已經(jīng)為你寫得很清楚了。在這里,我有一種感覺,在埃森哲這樣的大公司,文檔的重要性比編碼本身更重要。我想這就是為什么企業(yè)派來的老師沒有直接給我們技術(shù)培訓(xùn),而是讓我們了解軟件工程的流程。當(dāng)然,根據(jù)企業(yè)文化的不同,軟件工程的生命周期也會有細(xì)微的差異。他們會選擇最適合自己公司的方法進(jìn)行整個軟件生命周期,而不是一成不變的。
第八周:這一周,我們沒有任何與技術(shù)相關(guān)的任務(wù),只需要準(zhǔn)備個人演示。但是不要小看這個人的發(fā)揮,因?yàn)樗麜寄阏麄€實(shí)習(xí)成績的50%,這是本周一企業(yè)老師告訴我們的。我們之前都不知道有實(shí)習(xí)結(jié)果。項目總結(jié),我們會花一個星期的時間總結(jié)整個實(shí)習(xí)的收獲,這個星期的周五呈現(xiàn)自己,匯報收獲。至此,實(shí)習(xí)生涯就告一段落。這一周,我們從收獲、總結(jié)、經(jīng)驗(yàn)等方面對整個實(shí)習(xí)的精髓進(jìn)行了思考、沉淀、總結(jié)、提煉?;赑PT,我們進(jìn)行了10分鐘的個人陳述和項目答辯。在這方面,我們的實(shí)習(xí)徹底結(jié)束了。
四、實(shí)習(xí)總結(jié)
我們的實(shí)習(xí)結(jié)束了,但我們的人生還沒有結(jié)束。對于我們這些沒有畢業(yè)的人來說,這次實(shí)習(xí)可以用四個很有意義的字來形容。他不僅鞏固和拓展了我們的專業(yè)知識;也擴(kuò)大了我們作為軟件開發(fā)人員的視野,讓我們知道了很多軟件開發(fā)這個職業(yè)應(yīng)該注意的細(xì)節(jié);更重要的是,讓我們體驗(yàn)軟件工程學(xué)對于一個軟件的意義。這些經(jīng)歷對我們來說是寶貴的財富。經(jīng)過8周的實(shí)習(xí),在我們所有人的共同努力下,我們都完成了各自的任務(wù),但我想說的是,我們不僅完成了任務(wù),還滿載而歸:
項目的制作和難題的解決,會讓我們熟悉大學(xué)即將遺忘的知識,對代碼有更深的理解。代碼的重用,類與類之間的調(diào)用,對象的創(chuàng)建,數(shù)據(jù)庫的連接以及各種專業(yè)知識的使用,讓我們能夠更好的將這些各種知識合理的整合在一起。
如果專業(yè)知識收獲很多,那么下面的專業(yè)技能就是整個實(shí)習(xí)過程中最大的收獲。我很少關(guān)注代碼的標(biāo)注和編碼的規(guī)范,也沒有太多關(guān)注。但這一次,我意識到了他的重要性:這是一個軟件開發(fā)人員必須具備的能力,或者說應(yīng)該特別注意的能力。因?yàn)槲覀兊拇a沒有太多的注釋,很多地方的編碼很不規(guī)范,企業(yè)老師寧愿讓我們多花一周時間修改,也不急于下一次測試。在這一周的復(fù)習(xí)中,通過自己的經(jīng)歷和老師的強(qiáng)調(diào),對代碼編碼規(guī)范和代碼標(biāo)注有了更深入的了解。通過這次實(shí)習(xí),個人認(rèn)為代碼標(biāo)注和編碼規(guī)范比個人技能更重要。
這次實(shí)習(xí)的最終目的是希望能夠了解軟件生產(chǎn)的全過程,也就是軟件工程的科學(xué)。這次實(shí)習(xí),中間做文檔的時間大概是編碼的幾倍,甚至因?yàn)槲覀兊男薷?,編碼時間也只有兩周,而其他大部分時間都在做文檔。個人覺得進(jìn)公司后,文檔制作比個人技能更重要。因?yàn)橛辛宋臋n,我們的項目制作非常流暢,規(guī)定非常明確,邏輯非常流暢。這些文檔在做軟件的過程中起著重要的作用,所以我覺得軟件工程可能是我未來的方向。
最后,總結(jié)一下這段時間實(shí)習(xí)的收獲,真的讓我受益匪淺。實(shí)習(xí)期間不僅學(xué)到了技術(shù)上的收獲,還學(xué)到了生活中的人際交往以及很多其他的經(jīng)驗(yàn)。這些都將作為我進(jìn)入社會的基礎(chǔ)。我會以此為基礎(chǔ),以一顆勇敢無畏的心迎接即將到來的工作。
動詞(verb的縮寫)實(shí)習(xí)經(jīng)歷
這次實(shí)習(xí)給了我深刻的體會,不僅是專業(yè)上的收獲,還有團(tuán)隊之間的合作,讓我明白了團(tuán)隊的意義。工作快到了,期待工作的到來。我會努力把學(xué)到的知識運(yùn)用到實(shí)際工作中,迎接一個又一個挑戰(zhàn)。前面的路上會有很多困難等著我,但我并不害怕,因?yàn)槲覉孕?,只要我努力,我最終會克服這些困難。路就在我腳下,我會帶著堅定的信念前進(jìn),不怕挫折!
軟件工程實(shí)踐報告3
一、實(shí)習(xí)目的
這次實(shí)習(xí)的目的是為了提高我的專業(yè)技能、實(shí)踐能力、以及讓我了解一些實(shí)際的工作情況。對我在正式工作前有很重要的意義,不論是專業(yè)技能,還是綜合素質(zhì),以及實(shí)際中的人際關(guān)系都有了更加深刻的體會,讓我在正式工作前有了一筆很珍貴的經(jīng)驗(yàn)。
這次實(shí)習(xí)的主要任務(wù)就是在了解整個軟件的制作過程,以及各個環(huán)節(jié)中的細(xì)節(jié),當(dāng)學(xué)會了這些環(huán)節(jié)后,再用學(xué)到的知識來完成一個公司給我們安排的一個項目。我分到的項目名稱是《診所管理系統(tǒng)》,這個項目我們將以小組的形式共同將其完成,以模擬實(shí)際軟件制作的過程,盡最大程度的將我們所學(xué)到的知識轉(zhuǎn)化成實(shí)際的能力。為真正的項目做好充分的準(zhǔn)備,讓我們可以在實(shí)習(xí)過后的正式工作中,有準(zhǔn)備的去面對。
公司的最終目的就是希望我們能了解實(shí)際項目的制作,并初步的理解各個環(huán)節(jié)的意義。而讓我們用項目進(jìn)行實(shí)際制作就是為了讓我們能更好的理解項目制作中各個流程的意義以及項目制作過程中的團(tuán)隊是如何合作的。
二、實(shí)習(xí)單位及崗位
我所實(shí)習(xí)的單位是校企合作埃森哲信息技術(shù)(大連)有限公司的.軟件開發(fā)部。這個部門的主要職能就是外包服務(wù)工作,按照客戶的需求制作成相應(yīng)的軟件,所以我們需要對整個軟件開發(fā)的過程都較熟悉,這樣才能應(yīng)對客戶們各種各樣的問題,才能制作出更好的軟件以滿足客戶們的需求。
因?yàn)閯倢?shí)習(xí)的原因,所以我的職位是軟件助理工程師,時間的具體安排是實(shí)際項目制作以及專業(yè)知識的學(xué)習(xí),實(shí)習(xí)時間為8個星期。本來實(shí)習(xí)的地點(diǎn)是在公司的,后來因?yàn)楣镜膬?nèi)部原因,將我們的實(shí)習(xí)地點(diǎn)改為學(xué)校內(nèi)部實(shí)習(xí),每天的時間和正式上班相同。早8晚5,每周六周日休息。
整個實(shí)習(xí)的實(shí)際流程前面已經(jīng)說過,八周的實(shí)際項目制作以及專業(yè)知識的學(xué)習(xí)。具體的每周任務(wù)、實(shí)際工作內(nèi)容、以及專業(yè)知識與專業(yè)技能的實(shí)際應(yīng)用會根據(jù)不同的環(huán)節(jié)也有所不同。但總體的目標(biāo)就是讓我們了解實(shí)際工作中軟件的制作流程,以及各個流程中所需要的技術(shù)和注意點(diǎn),并用實(shí)際的項目讓我們進(jìn)行練習(xí)。
三、實(shí)習(xí)過程
上面已經(jīng)介紹了個整個實(shí)習(xí)的任務(wù)以及目的,下面將詳細(xì)介紹整個實(shí)習(xí)的流程,并對每個流程的細(xì)節(jié)加以詳細(xì)說明。
具體的時間安排如下:
第一周:將對該項目所需要的知識進(jìn)行集體鞏固復(fù)習(xí)。將一些已經(jīng)生疏的知識鞏固鞏固,以備項目中的不時之需。在實(shí)習(xí)的第一天企業(yè)的經(jīng)理就詳細(xì)的給我們講解了軟件工程這門科學(xué)對于一個軟件制作的重要性,并以此為基本給我們定下了這次實(shí)習(xí)的大體實(shí)習(xí)流程。
第二周:將直接進(jìn)行項目的需求分析。因?yàn)轫椖棵Q已經(jīng)給出,所以將去掉可行性分析。我們小組分到的項目是“診所管理系統(tǒng)”,這就免不了去診所實(shí)地調(diào)查了。實(shí)際調(diào)查的過程中發(fā)現(xiàn),需求分析這個過程是非常非常的重要,需求分析文檔的制作,決定了項目的各個功能以及這個軟件是否符合用戶的需求。這一周的收獲就是軟件需求分析的文檔制作,這是軟件工程中非常重要的一個步驟,這一環(huán)節(jié),是一整個軟件生成的最為重要和關(guān)鍵的環(huán)節(jié)。
第三周:這一周由于臨時變動,將概要設(shè)計和詳細(xì)設(shè)計合為一周制作。根據(jù)調(diào)查的結(jié)果,進(jìn)行概要設(shè)計。由于是初次制作軟件概要分析的文檔,所有有很多不符合規(guī)定的地方,就比如數(shù)據(jù)流圖的制作,很多小的細(xì)節(jié)都沒有注意,像這樣的問題還有很多。不過,在經(jīng)過了小組成員的積極討論修改以及老師的指導(dǎo)后,這些問題都得以解決。接下來,根據(jù)概要設(shè)計,來制作軟件的詳細(xì)設(shè)計。詳細(xì)設(shè)計的制作,相對于概要設(shè)計,感覺能稍微簡單些,也不知道感覺對不對。因?yàn)樵诟乓O(shè)計模塊中,我們已經(jīng)設(shè)計好了所需要的模塊、接口、類、以及所要實(shí)現(xiàn)的功能,所以我們只需要考慮每個類的功能如果用代碼實(shí)現(xiàn)就可以了,當(dāng)然不是將代碼寫上去,而是用流程圖以及偽代碼之類的相關(guān)技術(shù)來表示。這個階段的制作完成就開始正式的編碼了。到此為止,準(zhǔn)備工作總算是做完了,幾乎花費(fèi)了我們實(shí)習(xí)的一半時間。這一周的時間,我們在忙碌中不知不覺的度過了!下一周就會進(jìn)入到該項目的實(shí)際編碼當(dāng)中,這也是我們大家最熟悉的地方了,感覺總算有地方出力了,期待著下一周的到來。
第四周:根據(jù)詳細(xì)設(shè)計,來進(jìn)行項目的編碼。這一周,我們進(jìn)行實(shí)際的編碼,我最大的感覺就是,照著詳細(xì)設(shè)計去進(jìn)行編碼,思路以及邏輯非常的清晰,可能在將流程如以及偽代碼轉(zhuǎn)換時稍微有點(diǎn)費(fèi)勁,當(dāng)相對于以往我們的直接編碼而言,流暢度不言而明。
第五周:這一周本來是要進(jìn)行測試的,但在編碼完后企業(yè)老師檢查的時候,給我們指出了很多的問題,說我們所寫的代碼太粗糙,所以我們只能對代碼進(jìn)行細(xì)致的加工,把測試推到了下周來進(jìn)行。這一周,讓我們受益匪淺,對代碼的注釋以及編碼格式都有了更加深刻的理解。
第六周:根據(jù)做完的項目,進(jìn)行項目的測試。本周就是對軟件進(jìn)行測試,從最基本的類之內(nèi)的方法測試,一直到整個項目的綜合測試,分了好幾個階段。而區(qū)分于以往的測試不同,這次我們是先寫測試文檔,當(dāng)測試文檔檢查合格后,我們才可以對著文檔進(jìn)行逐步測試。我想,這可能就是我們以后工作的大體方向吧,以文檔為主的項目制作。由于測試文檔的制作進(jìn)度太慢,所以本周就忙測試文檔的制作了一樣了,其它的什么也沒干,測試也只能等下周進(jìn)行了。希望下周測試的時候效率會很高,期待的試一次,拿著測試文檔去測試的感覺。
第七周:拿著測試文檔,根據(jù)上面的要求,一項一項的測試,以確認(rèn)項目的正確性。測試的順利讓我有了爽快的感覺,拿著測試文檔,直接去校驗(yàn)代碼就可以了。幾乎不用去想程序內(nèi)部的測試流程,因?yàn)槲臋n上已經(jīng)給你寫的明明白白了。到這里,我有一種感覺,像埃森哲這種大公司內(nèi),文檔的重要性比編碼本身更為重要。我想,這就是企業(yè)派來的老師沒有直接給我們進(jìn)行技術(shù)培訓(xùn),而是讓我們來了解軟件工程的流程的原因。當(dāng)然,根據(jù)企業(yè)的文化不同,對軟件工程的生命周期也會有細(xì)微的差別,他們會選擇最適合自己公司的方法來進(jìn)行整個軟件的生命周期,并不是一成不變的。
第八周:這一周,我們沒有跟技術(shù)相關(guān)的任務(wù),只要好好準(zhǔn)備準(zhǔn)備個人展示就可以了。但你可千萬不要小瞧這個人展示,因?yàn)樗麑⒄寄阏麄€實(shí)習(xí)成績的50%,這也是企業(yè)老師在本周周一時才告訴我們的,我們之前根本就不知道還有實(shí)習(xí)成績這一說。項目總結(jié),我們將用一周的時間來總結(jié)整個實(shí)習(xí)的收獲,在本周的周五進(jìn)行自我展示,以及收獲報告。至此,實(shí)習(xí)的生涯將會到此結(jié)束。這一周,我們思考著、沉淀著、總結(jié)著,將我們對整個實(shí)習(xí)的收獲、總結(jié)、體會等各個方面進(jìn)行了精華的提煉,以PPT為基礎(chǔ),進(jìn)行為期10分鐘的個人展示以及項目答辯。就此,我們的實(shí)習(xí)畫上了完整的句號。
四、實(shí)習(xí)總結(jié)
我們的實(shí)習(xí)已經(jīng)結(jié)束,但生活卻沒有結(jié)束,這一次的實(shí)習(xí),對于我們這幫還沒有畢業(yè)的學(xué)生來說可以用意義重大四個字來形容。他不僅僅對我們的專業(yè)知識進(jìn)行了鞏固和拓展;還對我們作為軟件開發(fā)人員的視野進(jìn)行了增大,讓我們了解了很多軟件開發(fā)這個職業(yè)應(yīng)該注意的一些細(xì)節(jié);更是讓我們親身體會了軟件工程這門科學(xué)對于一個軟件的意義。這些經(jīng)驗(yàn)對我們來說就是一筆寶貴的財富。而經(jīng)過了8周的實(shí)習(xí),在大家的共同努力下,也都完成了各自的任務(wù),但我想說的是,我們并不僅僅是完成了任務(wù),我們更是個個滿載而歸:
項目的制作以及疑難問題的解決,將我們把大學(xué)期間那些快要淡忘的知識又重新熟悉了起來,并且對代碼有了更深層次的理解。代碼的復(fù)用性、類與類之間的調(diào)用、對象的創(chuàng)建、數(shù)據(jù)庫的連接以及操作等各種專業(yè)知識的使用,讓我們能更好的將這些各種各樣知識合理的整合在一起。
如果說專業(yè)知識收獲頗多,那么接下來的職業(yè)技能卻是我認(rèn)為在整個實(shí)習(xí)過程中收獲最大的地方。代碼的注釋以及編碼的規(guī)范這兩點(diǎn)是我以前很少注意的地方,對其也并沒有多少重視。但這一次,卻明白了他的重要性:這是作為一個軟件開發(fā)人員必須應(yīng)該具備的能力,或者說應(yīng)該特別注重的地方。因?yàn)槲覀兊拇a并沒有多少注釋以及很多地方的編碼很不規(guī)范,企業(yè)老師寧愿讓我們多花一周的時間修改,也沒有匆匆的進(jìn)行下一步測試。在修改的這一周內(nèi),通過自己的體會以及老師的重點(diǎn)強(qiáng)調(diào),對于代碼的編碼規(guī)范和代碼的注釋有了更深層次的理解。通過了這次的實(shí)習(xí),我個人認(rèn)為,代碼的注釋以及編碼的規(guī)范比個人的技術(shù)更為重要。
這次實(shí)習(xí)的最終目的就是希望我們了解軟件的整個制作過程,也就是軟件工程這門科學(xué)。這一次的實(shí)習(xí),中間的制作文檔時間大約是編碼的好幾倍,編碼的時間即使是因?yàn)槲覀冃薷牡脑蛞仓挥袃芍?,而其他的大部分時間就是制作文檔。我個人猜想可能進(jìn)公司后文檔的制作比個人的技術(shù)更加重要。因?yàn)槲臋n的原因,我們的項目制作,感到非常的流暢,條例非常的清晰,邏輯也很流暢。對于軟件的制作,這些文檔起了很重要的意義,所以覺得,軟件工程也許就是自己以后努力的方向吧。
最后,總結(jié)這段時間的實(shí)習(xí)生活的收獲,真的是使我受益匪淺。在實(shí)習(xí)中,我學(xué)習(xí)到了不僅僅是技術(shù)上的收獲,更還有生活中的的人際交往以及其他的許多經(jīng)驗(yàn)。而這些,都將作為我邁入社會的根本,我將以此為我的基礎(chǔ),懷著一顆勇敢無畏的心去迎接我即將來臨的工作。
五、實(shí)習(xí)體會
這一次的實(shí)習(xí),給了我很深刻的體會,不僅僅是專業(yè)的收獲,更還有團(tuán)隊間的相互合作,這些讓我明白了團(tuán)隊的意義。工作即將來臨,我期待著工作的到來,我將帶著這次實(shí)習(xí)的收獲,盡量的將學(xué)到的知識運(yùn)用到實(shí)際工作中,去迎接一個又一個的挑戰(zhàn)。前方的路會有很多困難等著我,但我不怕,因?yàn)槲覉孕牛灰遗?,終會克服這些困難。路就在腳下,我將帶著堅定的信念,不畏挫折,勇往直前!
第五篇:軟件工程與實(shí)踐課程設(shè)計
《軟件工程與實(shí)踐》課程設(shè)計方案
本課程屬專業(yè)必修課,是一門實(shí)踐性較強(qiáng)的計算機(jī)類課程,授課對象為計算機(jī)專業(yè)及相關(guān)專業(yè)的本科生。本課程是對軟件工程課程所述內(nèi)容的進(jìn)一步深化與具體應(yīng)用,通過啟發(fā)式教學(xué)和大量實(shí)例的練習(xí),引導(dǎo)學(xué)生完成不同類型系統(tǒng)的分析與設(shè)計工作,培養(yǎng)學(xué)生關(guān)于軟件工程理論的實(shí)際運(yùn)用能力、軟件開發(fā)實(shí)踐動手與文檔編寫及組織管理能力,同時培養(yǎng)和提高學(xué)生在軟件開發(fā)過程中的團(tuán)隊協(xié)作精神。
在課程設(shè)計過程中必須完成以下一些環(huán)節(jié):
1、任務(wù)布置與說明,備有多個題目供學(xué)生選擇。
2、學(xué)生自主分組,并展開軟件項目的選題與論證,要求提交分組項目選題和組織分工。
3、進(jìn)行可行性研究,編寫可行性分析報告和項目開發(fā)計劃,并進(jìn)行審查。
4、獲取需求,編寫軟件需求規(guī)格說明書,并進(jìn)行審查。
5、進(jìn)行系統(tǒng)分析和設(shè)計,編寫軟件分析設(shè)計報告,并進(jìn)行審查。
6、通過實(shí)現(xiàn)系統(tǒng)主要界面來模擬軟件實(shí)現(xiàn),并進(jìn)行審查。
7、編寫軟件測試計劃,編寫軟件測試分析報告,并進(jìn)行審查。
8、編寫用戶使用說明書,并進(jìn)行審查。
可供選擇的課程設(shè)計方案:
1、圖書館圖書預(yù)定系統(tǒng)的設(shè)計與實(shí)現(xiàn)
功能如下:(1)由供書部門提供書目給訂購組;(2)訂書組從各單位取得要訂的書目;(3)根據(jù)供書目錄和訂書書目產(chǎn)生訂書文檔留底;(4)將訂書信息(包括數(shù)目,數(shù)量等)反饋給供書單位;(5)將未訂書目通知訂書者;(6)對于重復(fù)訂購的書目由系統(tǒng)自動檢查,并把結(jié)果反饋給訂書者。
2、網(wǎng)絡(luò)考試系統(tǒng)的設(shè)計與實(shí)現(xiàn)
要求基于B/S模式來構(gòu)建整個網(wǎng)絡(luò)考試系統(tǒng),整個系統(tǒng)擬由試題庫管理子系統(tǒng)、學(xué)籍管理子系統(tǒng)、成績管理子系統(tǒng)、網(wǎng)絡(luò)考場四大模塊組成。系統(tǒng)用戶端劃分為學(xué)生端、教師端和管理員端,通過數(shù)據(jù)庫操作權(quán)限設(shè)定等機(jī)制來保證系統(tǒng)及相關(guān)數(shù)據(jù)的安全性。
3、網(wǎng)上購物系統(tǒng)的設(shè)計與實(shí)現(xiàn)
著重研究、設(shè)計與實(shí)現(xiàn)用戶管理、目錄管理、信息錄入管理、定單管理、瀏覽和查找、購物結(jié)帳等功能。
(1)會員注冊、登錄與管理模塊,包括新會員注冊、會員身份驗(yàn)證、會員身份注銷和預(yù)定制商品。
(2)商品陳列上架模塊,實(shí)現(xiàn)商店所有商品的分類上架,供用戶瀏覽選擇。(3)為客戶提供各個商品信息細(xì)節(jié)展示模塊。
(4)為客戶提供所選擇商品的瀏覽、退貨等管理模塊。(5)購物車模塊,需要完成用戶選購商品,購物訂單生成功能。
4、病員監(jiān)護(hù)系統(tǒng)的設(shè)計與實(shí)現(xiàn) I.問題概述
本例為醫(yī)院特級護(hù)理病房的病員監(jiān)視系統(tǒng)。1)在每一病床旁有一個監(jiān)護(hù)器。
2)在病員身上附著各種傳感器,監(jiān)測各種生理參數(shù),諸如血壓、呼吸、體溫等,信號被送到監(jiān)護(hù)器。
3)監(jiān)護(hù)器帶有輸入鍵盤,用以輸入病員的病號的病歷號、各種監(jiān)測的生理因素的安全范圍值(上下限值),以及監(jiān)測頻率定期(監(jiān)測周期)等。
4)各監(jiān)測部件與中心計算機(jī)相連,后者按指定的監(jiān)測頻率定期地對監(jiān)視器進(jìn)行檢查。5)檢查所得到的數(shù)據(jù)記錄在每個病員的記錄文件上。
6)如果發(fā)現(xiàn)病員的生理因數(shù)超出安全范圍時,在護(hù)理室有各病員的各種報警信號(燈光)出現(xiàn)。
7)每個監(jiān)視器有一開關(guān),用來控制監(jiān)測工作。
8)本例中假設(shè)監(jiān)視255個病員,每人設(shè)定4個因素。監(jiān)視周期可從秒到小時變化,對每一病員進(jìn)行24小時監(jiān)視。
9)安全范圍為十進(jìn)制數(shù)值,內(nèi)部表示為浮點(diǎn)數(shù)。病歷號為9位整數(shù)。II.需要設(shè)計實(shí)時系統(tǒng)。
首先要確定按適當(dāng)?shù)念l率監(jiān)測病員的辦法:一種是用中斷的方法,在每個監(jiān)測器內(nèi)設(shè)置一個定時器;另一種是對各病員進(jìn)行巡回監(jiān)視。
5、學(xué)籍管理系統(tǒng)的設(shè)計與實(shí)現(xiàn)
學(xué)生學(xué)籍管理系統(tǒng)由三部分組成,分別是學(xué)生檔案管理模塊、學(xué)生成績管理模塊、學(xué)生成績查詢模塊。學(xué)生檔案管理模塊主要是對學(xué)生檔案(如基本資料、學(xué)習(xí)情況、學(xué)籍變動、備注等)進(jìn)行管理,本模塊又分為添加學(xué)生檔案、查詢學(xué)生檔案、修改/刪除學(xué)生檔案、打印學(xué)生檔案、數(shù)據(jù)庫管理五個子模塊。學(xué)生成績管理模塊主要是由教師對學(xué)生成績進(jìn)行管理,本模塊又分為添加學(xué)生、學(xué)生管理、成績添加、成績管理、數(shù)據(jù)庫管理等子模塊。學(xué)生成績查詢模塊是指學(xué)生通過輸入自己的姓名和密碼登陸成績查詢系統(tǒng),便可查詢各個科目的考試成績,同時也可以進(jìn)行密碼修改。要求采用B/S結(jié)構(gòu),可以對不同角色進(jìn)行權(quán)限管理。
6、內(nèi)容管理系統(tǒng)的設(shè)計與實(shí)現(xiàn)
為了讓用戶能夠?qū)崿F(xiàn)模塊共享,并考慮到安全性,需要開發(fā)一個平臺展示模塊的相關(guān)信息,并實(shí)現(xiàn)用戶申請、模塊的開發(fā)者上傳、管理員審核等功能。
該平臺需要完成的功能為:每個用戶可以對模塊的相關(guān)信息進(jìn)行瀏覽,查找,若需要下載某個模塊,可向管理員提出申請;模塊的開發(fā)者可以上傳模塊的相關(guān)信息;管理員對用戶的申請進(jìn)行審核。
具體需求如下:
用戶可以對模塊的相關(guān)信息進(jìn)行瀏覽并申請使用某些模塊:
進(jìn)行注冊、登錄;
能夠?qū)δK的相關(guān)信息進(jìn)行瀏覽;
可按標(biāo)題、內(nèi)容、作者、時間、分類等方式進(jìn)行查找;
將想要下載使用的模塊記錄下來,待瀏覽完畢后形成申請單,提交給管理員。模塊開發(fā)者能夠?qū)⒆约褐谱鞯哪K的相關(guān)信息進(jìn)行上傳:
將模塊的標(biāo)題、圖片、作者、類別、日期、內(nèi)容等信息進(jìn)行上傳。管理員進(jìn)行管理:
對新注冊的用戶信息進(jìn)行統(tǒng)計察看;
對用戶的關(guān)于模塊使用的申請信息進(jìn)行統(tǒng)計審核; 對開發(fā)者上傳的模塊信息進(jìn)行統(tǒng)計察看; 對已經(jīng)批準(zhǔn)并提供模塊下載的用戶信息進(jìn)行統(tǒng)計察看。
7、教學(xué)網(wǎng)站的設(shè)計與實(shí)現(xiàn)
網(wǎng)站主要面向三類人:老師、學(xué)生、管理員,包括一個BBS。三類人權(quán)限各不相同,老師可以布置作業(yè)、修改作業(yè)、登記成績;學(xué)生則可以通過這個網(wǎng)站看老師的通知、做作業(yè)、利用豐富的資源等等;管理員則主要做后臺的一些修改操作; BBS模塊主要用于師生之間、學(xué)生之間的交流。
學(xué)生端的功能包括:主頁、登入、作業(yè)模塊、查詢模塊、個人設(shè)置、交流、資料下載、BBS;教師端的功能包括:主頁、登入、查詢、通知管理、作業(yè)管理、上機(jī)管理、成績管理、收信箱、BBS、個人設(shè)置;管理員端包括:主頁、登入、數(shù)據(jù)初始化、學(xué)生管理、教師管理、BBS管理、修改個人信息。
課程設(shè)計評分標(biāo)準(zhǔn):
1、按照參考的范例,完成規(guī)定的文檔。
2、2-3人一組,完成同一文檔的學(xué)生成績相同。
3、行文流暢,格式標(biāo)點(diǎn)正確。
4、插圖必須是矢量圖。
5、涉及UML的內(nèi)容資料必須完整。
6、文檔必須真實(shí)反映分析、設(shè)計、實(shí)現(xiàn)和測試的內(nèi)容。
7、單獨(dú)完成所有文檔的學(xué)生加分。