工作總結(jié)是進(jìn)步的階梯通過不斷地反思和總結(jié)自己的行為和決策我們可以發(fā)現(xiàn)自己的優(yōu)點和不足之處進(jìn)而不斷完善自己提高自己的能力和素質(zhì)。你是否在找正準(zhǔn)備撰寫“軟件工程課程設(shè)計個人總結(jié)”,下面小編收集了相關(guān)的素材,供大家寫文參考!
時間一晃而過,彈指之間,20____年已接近尾聲,一年來,在公司領(lǐng)導(dǎo)和同事的支持和幫助下,我始終堅持團結(jié)同志,認(rèn)真學(xué)習(xí),不斷提高業(yè)務(wù)水平。嚴(yán)格要求,注重工作程序,自覺服從組織安排,較好地完成了設(shè)計所領(lǐng)導(dǎo)交給自己的各項工作任務(wù),但也存在了諸多不足?,F(xiàn)將自己一年來的工作、學(xué)習(xí)和思想狀況總結(jié)如下:
一、工作完成情況
一年來,本人認(rèn)真履行崗位職責(zé),立足本職,愛崗敬業(yè),和廣大同事一起,積極主動地配合設(shè)計所領(lǐng)導(dǎo),團結(jié)一致,主要完成了以下幾項工作:
1、公路施工圖設(shè)計工作。在參與本項目設(shè)計中我積極向院科室的各位同事學(xué)習(xí),學(xué)習(xí)先進(jìn)的設(shè)計思路和設(shè)計理念,通過本項目設(shè)計學(xué)習(xí)使我熟練的掌握了最新的橋梁設(shè)計軟件,也對橋梁計算有了初步的認(rèn)識。
2、____初步設(shè)計工作。本項目為設(shè)計所組建和擴大后獨立承擔(dān)的第一條設(shè)計任務(wù),面臨著設(shè)計人員整體技術(shù)薄弱,經(jīng)驗少,工期緊,任務(wù)重,本人第一次擔(dān)任設(shè)計專業(yè)負(fù)責(zé)人的情況,在項目初期外業(yè)測量中,根據(jù)工作分工我積極帶領(lǐng)同事搞好控制點復(fù)測工作,后期放線與調(diào)查中,結(jié)合自己以前的經(jīng)驗,與相關(guān)專業(yè)的同事做好協(xié)調(diào),仔細(xì)調(diào)查清楚每一處擬設(shè)構(gòu)造物處的地形和現(xiàn)場情況,對于大的技術(shù)方案和自己拿不準(zhǔn)的問題積極向領(lǐng)導(dǎo)和同事請教。
在內(nèi)業(yè)設(shè)計中,面對組內(nèi)人員技術(shù)和經(jīng)驗不足的情況,我在做好協(xié)調(diào),在對新同志傳、幫、帶的同時也主動承擔(dān)了____的初步設(shè)計工作。在全體組員的共同努力下,如期保質(zhì)保量的完成了設(shè)計任務(wù)。
在項目初設(shè)外業(yè)階段,我主要負(fù)責(zé)橋涵調(diào)查,搞好調(diào)查是進(jìn)行后期設(shè)計工作的依據(jù),也是方案必選進(jìn)行定性和定量分析的基礎(chǔ),責(zé)任大容不得有絲毫的馬虎,調(diào)查中充分了解路線布設(shè)的意圖,及時將調(diào)查中發(fā)現(xiàn)的問題提出自己的合理建議與總體組進(jìn)行溝通,避免了后期出現(xiàn)大量的返工以影響總體進(jìn)度。在內(nèi)業(yè)設(shè)計中,合理安排工作,制定詳細(xì)的工作計劃,積極主動的與借調(diào)的設(shè)計院專業(yè)科室的同事進(jìn)行溝通,聽取組員們的意見和建議,做好與道路和路線組的協(xié)調(diào)。
本項目從初設(shè)外業(yè)到內(nèi)業(yè)交文件,前后歷時__個月,在公司的支持和設(shè)計所領(lǐng)導(dǎo)的領(lǐng)導(dǎo)下,通過全體設(shè)計人員的加班加點不懈的努力,__月底順利完成了初設(shè)工作,向公司和設(shè)計院交了一份滿意的答卷,同時也鍛煉了我們的隊伍,為設(shè)計所的發(fā)展奠定了一個新的里程碑。
二、學(xué)習(xí)和政治思想情況
1、在工作中,本人能夠虛心堅持向設(shè)計所領(lǐng)導(dǎo)學(xué)習(xí),向老同志學(xué)習(xí),向同行業(yè)兄弟學(xué)習(xí),不斷提高自己的業(yè)務(wù)技能,在提高自己本專業(yè)結(jié)構(gòu)理論水平的同時利用閑暇業(yè)余時間加強隧道和道路專業(yè)知識的學(xué)習(xí)。
2、注重政治理論學(xué)習(xí),堅定立場。關(guān)心和了解國家大的方針政策,積極參與公司組織的各項活動,做到關(guān)心同事,熱愛集體,在自身條件達(dá)到的時候能積極向公司靠攏,使自己逐步走向成熟。
三、存在的不足和今后努力的方向
總之,一年來,我能夠完成設(shè)計所領(lǐng)導(dǎo)交辦的工作任務(wù),這和公司、設(shè)計所領(lǐng)導(dǎo)和同事的支持和幫助是分不開的,是大家密切配合、共同協(xié)作的結(jié)果。
但是這和公司、設(shè)計所領(lǐng)導(dǎo)的要求相比,還有一定的差距:工作中還存在著急躁心理,在大事面前,遇事不夠冷靜,處理事情不夠全面。管理水平有待進(jìn)一步加強和提高。理論學(xué)習(xí)還需進(jìn)一步加強,還需要學(xué)習(xí)更多的專業(yè)技術(shù)知識;當(dāng)然我還有很多缺點和不足,在此肯請領(lǐng)導(dǎo)和同事們給予批評指正,我將虛心接受,以圖提高。
在今后的工作中,我將更加嚴(yán)格要求自己,立足本職不斷加強學(xué)習(xí),克服不足,發(fā)揚成績,團結(jié)同志,努力工作,適應(yīng)工藝創(chuàng)新、設(shè)計創(chuàng)新的發(fā)展趨勢,為公司及設(shè)計所的發(fā)展貢獻(xiàn)自己的微薄力量。
轉(zhuǎn)眼間20____年即將離我們而去,光陰似箭,歲月匆匆,時間伴隨著我們的腳步急馳而去,穆然回首,才發(fā)現(xiàn)過去的一年是充實而又精彩的一年,內(nèi)心感慨萬千,新的一年即將開始,在我們昂首期待未來的時候,在這里對過去一年的工作做一個回顧,總結(jié)以往的經(jīng)驗教訓(xùn),以待在新的一年有所改進(jìn)。
一、增強業(yè)務(wù)能力,提高設(shè)計水平
對于今年剛剛?cè)肼毜奈襾碚f,從事施工圖設(shè)計工作是機遇也是挑戰(zhàn)。在剛剛過去的一年多來,我盡快適應(yīng)了工作的環(huán)境,融入到設(shè)計院這個集體中。這期間完成了____項目的設(shè)計,將對于施工圖設(shè)計的認(rèn)識上升到更高層次的水平。
通過做這些工作,對景觀工程的認(rèn)識逐步提高,與各配合專業(yè)的連接與協(xié)作更加全面,設(shè)計進(jìn)度時間安排更加合理。在此期間,通過整理設(shè)計資料,分析甲方意見,鍛煉了耐性,認(rèn)識到做任何工作都要認(rèn)真、負(fù)責(zé)、細(xì)心,處理好同事間的關(guān)系,與集團各部門之間聯(lián)系的重要性。
通過不斷學(xué)習(xí)與實踐,將所學(xué)的理論知識加以應(yīng)用,逐步提高完善自己的專業(yè)技能,領(lǐng)會設(shè)計工作的核心,本著集團“專業(yè)專注客戶至上”的服務(wù)理念,積極響應(yīng)、倡導(dǎo)“進(jìn)取精神、團隊精神、主人翁精神、實干精神”的企業(yè)精神,為設(shè)計院的發(fā)展多做貢獻(xiàn)。
二、加強學(xué)習(xí),不斷提高
通過工作實踐,使我認(rèn)識到自己的學(xué)識、能力和閱歷還很欠缺,所以在工作和學(xué)習(xí)中不能掉以輕心,要更加投入,不斷學(xué)習(xí),向書本學(xué)習(xí)、向周圍的領(lǐng)導(dǎo)學(xué)習(xí),向同事學(xué)習(xí),這期間我自學(xué)各類規(guī)范圖集,閱讀大量優(yōu)秀設(shè)計項目,這樣下來感覺自己還是有了一定的進(jìn)步。
經(jīng)過不斷學(xué)習(xí)、不斷積累,已具備了一定的設(shè)計工作經(jīng)驗,能夠以正確的態(tài)度對待各項工作任務(wù),熱愛本職工作,認(rèn)真努力貫徹到實際工作中去。積極提高自身各項專業(yè)素質(zhì),爭取工作的積極主動性,具備較強的專業(yè)心,責(zé)任心,努力提高工作效率和工作質(zhì)量。
三、嚴(yán)格要求,團結(jié)進(jìn)取
在過去的一年里,我嚴(yán)格要求自己,遵守規(guī)章制度,團結(jié)同事堅守工作崗位,服從領(lǐng)導(dǎo)的工作安排,按時完成領(lǐng)導(dǎo)分配的工作,以極高的工作熱情主動全身心地投入到自己的工作當(dāng)中去,加班加點,毫無怨言。很好的理解自己工作和責(zé)任,履行了崗位職責(zé),能夠高質(zhì)、高效的完成本職工作。為本部門的工作做出了應(yīng)有的貢獻(xiàn)。
緊張、繁忙的20____年已經(jīng)過去,在公司領(lǐng)導(dǎo)的正確領(lǐng)導(dǎo)下,在公司其他各部門的大力支持下,設(shè)計部較好的完成了各項工作,取得了一定的成績,但也存在一些不足,下面是設(shè)計部一年來的設(shè)計總結(jié)。
一、取得的成績
通過對樁基間距適當(dāng)加大、主樓筏板封邊構(gòu)造做法修改、排煙道洞口加強鋼筋直徑減小、后澆帶加強鋼筋取消、剪力墻豎向鋼筋插入筏板的長度減小、地下室外墻暗梁取消等方面優(yōu)化,至少節(jié)約工程成本____萬元。通過供暖多方案對比、管線材料優(yōu)化,降低建安成本。對____項目方案進(jìn)行調(diào)整,減少人防面積、地上停車位調(diào)整數(shù)量,達(dá)到降低建安成本提高環(huán)境質(zhì)量的目的。采取多種措施,克服人員不足問題,推進(jìn)設(shè)計按照計劃進(jìn)行。形成良好的工作氛圍和溝通機制。
二、存在的問題
1、圖紙審查不精細(xì):發(fā)現(xiàn)圖紙中存在的問題不及時。方案設(shè)計中存在問題較多,給報批、報建工作帶來困難。設(shè)計變更審查不細(xì)致。
2、計劃執(zhí)行性不足:____設(shè)計完成時間有一定的滯后。
3、設(shè)計部技術(shù)管理人員缺失:公司正致力于城市綜合體項目的開發(fā),特別是____的開發(fā)建設(shè),需要我們公司必須有強大的管理團隊為項目的順利進(jìn)行作支撐,而目前設(shè)計部人員嚴(yán)重不足,缺少強電設(shè)計師、弱電設(shè)計師、景觀設(shè)計師、裝飾設(shè)計師,使設(shè)計部實現(xiàn)精細(xì)化管理的目標(biāo)難以實現(xiàn)。
三、明年工作思路及措施
1、圖紙質(zhì)量的好與壞,關(guān)系到公司開發(fā)節(jié)奏的快與慢,關(guān)系到成本能否降低,關(guān)系到工程是否順利,關(guān)系到業(yè)主是否接受我們的產(chǎn)品,關(guān)系到公司品牌的建立與維護(hù)等等。因此下一年設(shè)計部將樹立質(zhì)量第一的信念,把握好事前控制關(guān),在設(shè)計院出正式結(jié)果前,做好審查工作,減少差錯率。在滿足質(zhì)量要求的前提下,抓好計劃管理,通過計劃細(xì)分,多督促,多審查等措施,避免設(shè)計計劃延期。
2、項目開發(fā)不是某一個部門能獨立完成的,而是由各個部門統(tǒng)一協(xié)作,共同努力的結(jié)果。設(shè)計部只有盡力服務(wù)于其他部門,才能有力推動公司及本部門的工作。幫助別人,就是幫助自己。唯有創(chuàng)新,才能在競爭中脫穎而出,才能贏得市場。我們不能滿足于現(xiàn)有的、常規(guī)的產(chǎn)品模式,要取得突破,就必須下功夫,不怕麻煩、反復(fù)。創(chuàng)新力的提高有賴于不斷的學(xué)習(xí)、實踐及寬廣的視野。不斷的學(xué)習(xí),才能不斷的更新自己,不斷的`提高自己。設(shè)計部將在下一年形成良好的學(xué)習(xí)氛圍,力求打造成自動自發(fā)的學(xué)習(xí)型團隊,加強內(nèi)部交流,以求共同提高。
3、通過專家?guī)斓慕ⅲ浞掷猛獠績?yōu)質(zhì)資源,使我們的開發(fā)產(chǎn)品更科學(xué)、合理。設(shè)計優(yōu)化是設(shè)計部重要工作之一,設(shè)計優(yōu)化工作做的是否到位,關(guān)系到公司的成本目標(biāo)能否實現(xiàn),關(guān)系到開發(fā)產(chǎn)品是否讓業(yè)主滿意,關(guān)系到設(shè)計是否合理。設(shè)計優(yōu)化是設(shè)計部所有管理人員的責(zé)任,因此設(shè)計優(yōu)化必須貫徹設(shè)計管理工作始終,是檢驗我們工作成果的重要尺度之一。通過不斷學(xué)習(xí)、實踐,在工作中培養(yǎng)、提高設(shè)計優(yōu)化能力。
四、合理化建議
1、部門間增加溝通平臺及機會:通過溝通平臺的建立,使公司內(nèi)部員工彼此更加了解、更加信任,工作溝通起來將更為主動、快捷、順暢。
2、組織溝通技巧的培訓(xùn)。工作過程、結(jié)果出現(xiàn)偏差,達(dá)不到自己希望的結(jié)果,往往歸結(jié)于溝通不徹底,沒有把自己的意思傳達(dá)給對方,造成對方理解有誤或?qū)Ψ秸J(rèn)為已經(jīng)明白對方的意圖和要求。溝通方式、溝通目的及如何才算溝通到位,溝通雙方必須清楚。溝通非常重要,它占據(jù)我們大量的時間和精力,良好的溝通效果將有利于我們高效率的工作。通過溝通培訓(xùn),將有助于公司整體工作能力的提升。
3、更多的專業(yè)培訓(xùn)、考察機會。培訓(xùn)、考察的目的就是拓寬視野、接受前沿產(chǎn)品、汲取別人的經(jīng)驗,為自身及整體的創(chuàng)新能力提升充電。
明年設(shè)計部將不遺余力的支持公司的發(fā)展,有效推動設(shè)計計劃的落實,迎接?xùn)|方國際廣場項目,特別是華貿(mào)國際中心項目的挑戰(zhàn),克服困難,實現(xiàn)公司目標(biāo)及設(shè)計部的目標(biāo)。
在20x年到來之際,在我們展望明年的同時,我們有必要回顧一下這個平凡又不平凡的x年?;仡櫰饋磉@近一年的工作中了解到了很多東西,也學(xué)了不少知識;雖說還不是十分熟悉,但至少很多新的東西是從不懂到基本了解,慢慢的也積累了很多。
通過工作中處理各種各樣的事情,讓自己也有了更深的認(rèn)識,同時也發(fā)現(xiàn)了很多的不足之處?;仡欉^去一年,在領(lǐng)導(dǎo)的帶領(lǐng)下,在各位同事的大力協(xié)助下,工作上取得了些滿意的成果。
設(shè)計方面的主要工作有:
1、完成燈光照明設(shè)計方案x套;
2、完成燈光效果圖、flash動畫共x個ae動畫x個;
3、投標(biāo)標(biāo)書制作x套;
4、閑暇時間市場開闊;
日常配合的工作有:
1、打印出圖,尋找制作單位、審核圖紙;
2、必要的時候與客戶溝通,到實地查看項目狀況;
3、安全員培訓(xùn)考試;
4、工程燈具現(xiàn)場安裝技術(shù)學(xué)習(xí)
5、工程燈具廠家查詢;
6、其它資料配合準(zhǔn)備;
工作上的不足和要改進(jìn)的方面:
首先感謝在這段時間里公司各位領(lǐng)導(dǎo)和同事給予我足夠的寬容、支持和幫助。在領(lǐng)導(dǎo)和同事們的悉心關(guān)照和指導(dǎo)下,當(dāng)然自身也在不段努力,使我有了很大的進(jìn)步。
x年里,我對公司的工作流程、方法等有了較深的認(rèn)識,對行業(yè)內(nèi)設(shè)計也有了一定的了解;但是還需要不斷的學(xué)習(xí)和實踐。一年來,我參與了公司的多項方案的設(shè)計,緊密配合個部門的工作,并虛心向同事請教,圓滿完成了各項工作任務(wù)。日后還須不斷提升自身能力。
1、從設(shè)計上,自己從以往偏愛的風(fēng)格到現(xiàn)在多元化風(fēng)格(融合主義),將多種設(shè)計元素結(jié)合大眾喜好做出方案。
2、學(xué)無止境,時代的發(fā)展瞬息萬變,各種學(xué)科知識日新月異。我將堅持不懈地努力學(xué)習(xí)各種設(shè)計相關(guān)知識,并用于實踐!
3、“業(yè)精于勤而荒于嬉”,在以后的工作中不斷熟悉業(yè)務(wù)知識,通過多看、多學(xué)、多練來不斷的提高自己的各項技能,提高方案匯報的演講能力。
4、不斷鍛煉自己的膽識和毅力,工作上、做人做事上都要非常細(xì)心,提高自己業(yè)務(wù)能力,并在工作過程中慢慢克服急躁情緒,不能魯莽行事,積極、熱情、細(xì)致地的對待每一項工作。
過去的一年的整體上是緊張的、忙碌的、充實的,也是充滿責(zé)任心的一年。展望新的工作年度,希望能夠再接再礪,同時也加強自身的業(yè)務(wù)能力,工作中與同事多溝通,多關(guān)心了解其他部門的工作性質(zhì),進(jìn)一步提高自己專業(yè)知識技能,積極吸收新的觀念與設(shè)計理念,要繼續(xù)在自己的工作崗位上踏踏實實做事,老老實實做人,爭取做出更大的成績來。
我20____年7月畢業(yè)于內(nèi)蒙古建筑職業(yè)技術(shù)學(xué)院建筑設(shè)計技術(shù)專業(yè),畢業(yè)后在成熟和迷惘的交織中,進(jìn)入呼和浩特華德工程設(shè)計咨詢有限責(zé)任公司,從事建筑設(shè)計工作。在我眼里,設(shè)計院也是一個沒有硝煙的戰(zhàn)場,它能磨煉人的意志,淡泊人的心靈,業(yè)務(wù)素質(zhì)能得到快速提高,人的心理也能快速成熟起來,這無不凝結(jié)著每位領(lǐng)導(dǎo)的英名決策和正確領(lǐng)導(dǎo)。下面從業(yè)務(wù)素質(zhì),外界溝通與內(nèi)部合作等幾個方面來總結(jié)自己的專業(yè)技術(shù)業(yè)務(wù)。作為一名建筑設(shè)計專業(yè)人員,業(yè)務(wù)能力的提高是重中之重。 在參加工作的幾年里,通過大量建筑方案設(shè)計,初步設(shè)計,施工圖設(shè)計,對建筑設(shè)計的操作流程,繪制方法有了較深的認(rèn)識,對各類建筑規(guī)范,設(shè)計通則等有了較深的理解與掌握。具體表現(xiàn)在以下幾個方面:
一、 方案設(shè)計方面方案能力是一名建筑設(shè)計師應(yīng)必備的重要能力。好的平面方案直接與建筑的適用, 經(jīng)濟,美觀三大基本要素掛鉤。通過對聚龍灣住宅小區(qū)、東烏旗住宅小區(qū)、烏海市烏達(dá)區(qū)等各類住宅區(qū)的總體規(guī)劃和方案設(shè)計,我住宅小區(qū)整體規(guī)劃和住宅戶型設(shè)計立面造型設(shè)計等方面有了較為深刻的理解,具備了一定的專業(yè)素養(yǎng)。首先了解工程的實際地理情況,實地考察;其次埋頭苦干,虛心請教,查閱各類建筑設(shè)計規(guī)范資料;最后了解房地產(chǎn)開發(fā)的動態(tài)和走向,與甲方溝通,揣測開發(fā)商的商業(yè)目的;努力尋求設(shè)計師與開發(fā)商完美的結(jié)合點。作為設(shè)計師,主要通過國家現(xiàn)行規(guī)范和當(dāng)?shù)卣块T規(guī)定的容積率,建筑密度,綠化率,建筑高度和間距來宏觀控制;基本柱網(wǎng)的確定,消防通道與小區(qū)路網(wǎng)的貫通,建筑風(fēng)格的選定也是一名成熟的設(shè)計師必須熟練解決的幾個問題。我在工作中特別注意上述問題,并妥善處理,遇到難題時就虛心向領(lǐng)導(dǎo)和資深專家請教,取得了較好的效果,積累了不少寶貴的經(jīng)驗。
二、 效果圖表現(xiàn)方面效果圖作為一種表現(xiàn)手段,是建筑設(shè)計作品最直觀的表達(dá)方式,它決定著建筑的整體風(fēng)格,也是決定開發(fā)商取舍整套方案的一個很重要的原因,所以我認(rèn)為效果圖的表現(xiàn)是建筑設(shè)計前期相當(dāng)重要的組成部分,也使一名合格建筑師必須掌握的一項基本技能。在這幾年的工作中,通過對華典新城住宅小區(qū)、百泉山莊生態(tài)旅游園區(qū)、成吉思汗大街亮化工程等效果圖制作,熟練的掌握3dma__, VRay, photoshop等設(shè)計加強對建筑形體,三維空間的理解??梢允炀毜刂谱鞒鰡误w建筑透視效果圖、群體建筑鳥瞰效果圖、沿街立面效果圖等。但是在科技技術(shù)迅速發(fā)展,制圖軟件日新月異的今天想要把建筑效果表現(xiàn)的更好,還需要不斷的學(xué)習(xí)和實踐。
三、 施工圖設(shè)計方面施工圖是方案設(shè)計的后續(xù),它將建筑設(shè)計從宏觀引入到微觀,從控制到限定。使建筑設(shè)計作品更貼近生活和方便施工。這就要求設(shè)計師必須增強對生活的體驗和對建筑規(guī)范的透徹理解。通過工作這幾年的大量施工圖設(shè)計,從一般住宅到商業(yè)建筑,從民用建筑到工業(yè)建筑, 從多層到高層,從剛開始的的描圖組圖,到后來的跟圖學(xué)圖,接下來的獨立操作。我親眼目睹了自己從無到有,從迷惘到清晰的成長過程,基本具備了獨立操作的能力,可以解決施工中常見的一些問題。設(shè)計是一項貫穿工程始末的工作。設(shè)計前期,我們致力于與甲方的溝通,通過我們的職業(yè)嗅覺了解開發(fā)商的商業(yè)意圖,不卑不亢,有禮有節(jié)是我們堅持的一貫立場。設(shè)計中期,我們需要與同專業(yè)的合作,與相關(guān)專業(yè)的配合完成,建筑專業(yè)作為其他專業(yè)的先導(dǎo),必須對整個設(shè)計流程負(fù)全面的責(zé)任。在我看來,合作中的摩擦總是難以避免的,但必須具備良好的心態(tài);無論工種的相同與否,職位高低,都必須抱學(xué)習(xí)的態(tài)度,虛心的精神,舒緩的語氣,以理服人的姿態(tài);任何的自以為是,適才自傲都會導(dǎo)致內(nèi)部矛盾,影響整個團隊的戰(zhàn)斗力,繼而拖緩工程進(jìn)度。
設(shè)計后期,我們要與施工方進(jìn)行不斷的交流,無論交流的結(jié)果如何,都對我們今后的設(shè)計是有百益而無一害;是我們的問題,就要敢于承認(rèn)并迅速加以更正,不是我們的過錯,也要做細(xì)致的解釋工作。我相信,有了公司領(lǐng)導(dǎo)層的英名決策和正確領(lǐng)導(dǎo),加上公司全體員工的共同努力,同舟共濟,繼往開來,公司的發(fā)展一定會蒸蒸日上。我沒有理由不憧憬以后的錦繡前程。
我們是20__年3月7號進(jìn)入宏天實訓(xùn)公司參加軟件開發(fā)實訓(xùn)的,在此次實訓(xùn)中,除了讓我明白工作中需要能力,素質(zhì),知識之外,更重要的是學(xué)會了如何去完成一個任務(wù),懂得了享受工作。當(dāng)遇到問題,冷靜,想辦法一點一點的排除障礙,到最后獲取成功,一種自信心就由然而生,這應(yīng)該就是工作的樂趣。有時候不懂的就需要問別人了,虛心請教,從別人的身上真的能學(xué)到自己沒有的東西,每一次的挫折都會使我更接近成功。還有學(xué)會了在工作中與人的合作與交流,同樂同累,合作互助,這是團體的精神,也是必須學(xué)習(xí)的東西。
經(jīng)過之前的在校學(xué)習(xí),對程序設(shè)計有了一定的認(rèn)識與理解。在校期間,一直都是學(xué)習(xí)理論知識,沒有機會去參與項目的開發(fā)。所以說實話,在實訓(xùn)之前,軟件項目開發(fā)對我來說是比較抽象的,一個完整的項目要怎么分工以及完成該項目所要的步驟也不是很明確。而經(jīng)過這次實訓(xùn),讓我明白了一個完整項目的開發(fā),必須由團隊來分工合作,并在每個階段中進(jìn)行必要的總結(jié)與論證。
一個完整項目的開發(fā)它所要經(jīng)歷的階段包括:遠(yuǎn)景范圍規(guī)劃和用例說明、項目結(jié)構(gòu)和風(fēng)險評估、業(yè)務(wù)功能說明書、詳細(xì)設(shè)計說明書、代碼實現(xiàn)、測試和安裝包等等。一個項目的開發(fā)所需要的財力、人力都是很多的,如果沒有一個好的遠(yuǎn)景規(guī)劃,對以后的開發(fā)進(jìn)度會有很大的影響,甚至?xí)霈F(xiàn)在預(yù)定時間內(nèi)不能完成項目或者完成的項目跟原來預(yù)想的不一樣。一份好的項目結(jié)構(gòu)、業(yè)務(wù)功能和詳細(xì)設(shè)計說明書對一個項目的開發(fā)有明確的指引作用,它可以使開發(fā)人員對這個項目所要實現(xiàn)的功能在總體上有比較明確的認(rèn)識,還能減少在開發(fā)過程中出現(xiàn)不必要的麻煩。代碼的實現(xiàn)是一個項目開發(fā)成功與否的關(guān)鍵,也就是說,前期作業(yè)都是為代碼的實現(xiàn)所做的準(zhǔn)備。
我深刻的認(rèn)識到要成為一名優(yōu)秀的軟件開發(fā)人員不是一件容易的事情,不僅要有足夠的干勁和熱情,還要有扎實的.編寫代碼基礎(chǔ),必須要有事先對文檔進(jìn)行可靠性報告,功能說明書,詳細(xì)設(shè)計說明書等的編寫和一些風(fēng)險評估的編寫的能力。
除了圖書館,最能讓我感覺到身在大學(xué)的就是實訓(xùn)機房,在匆匆過去的兩個月內(nèi),我往返于實訓(xùn)機房與宿舍之間,使我享受了一個充實的學(xué)習(xí)時期,讓我感受到了大學(xué)的魅力,對自己充滿信心,對大學(xué)充滿信心,以積極的心態(tài)迎接明天挑戰(zhàn)。
實訓(xùn)中要求有扎實的理論基本知識,操作起來才順心應(yīng)手,我這時才明白什么是“書到用時方恨少”。這就激發(fā)了學(xué)習(xí)的欲望。
“學(xué)以致用”,就是要把學(xué)來的知識能運用到實際操作當(dāng)中,用實踐來檢驗知識的正確性。我想,這是實訓(xùn)的最根本目的。
“紙上得來終覺淺,絕知此事要躬行!”,在短暫的實訓(xùn)過程中,讓我深深感受到自己在實際運用中專業(yè)知識的匱乏。以前總以為自己學(xué)的還不錯,一旦應(yīng)用到實際就大不一樣了,這時才真正領(lǐng)悟“學(xué)無止境”的含義。
經(jīng)過為期兩個月的電子政務(wù)服務(wù)平臺系統(tǒng)開發(fā)的實訓(xùn),我對Visual軟件開發(fā)平臺有了更深一步的了解,對微軟基礎(chǔ)類庫的認(rèn)識與使用也有了大大的提高。以及如何使用SQL Server數(shù)據(jù)庫進(jìn)行連接操作方面有了本質(zhì)的提高。
短短的實訓(xùn)結(jié)束了,為我將來的就業(yè)打下了良好的基礎(chǔ),也提高了我的軟件開發(fā)的水平,今后我將會更加努力的學(xué)習(xí),不斷提高自身素質(zhì),開拓創(chuàng)新,與時俱進(jìn),做一個優(yōu)秀的軟件開發(fā)工程師。
時間過的很快,轉(zhuǎn)眼間已經(jīng)實習(xí)將近5個月,其中有2個月是屬于完全被流放的。最先在內(nèi)部系統(tǒng)組參與內(nèi)部管理系統(tǒng)開發(fā)(struts+mysql+spring+hibernate),之后是去做網(wǎng)絡(luò)交換機軟件的腳本測試?,F(xiàn)在又回歸內(nèi)部系統(tǒng),雖然在腳本組期間,編碼能力被別人甩在后頭,但至少具有了一些測試經(jīng)驗。
至少自己做的東西,是真正交付到了客戶手上,到也稍微有些成就感。
1、淺談測試
一直以來,我都認(rèn)為測試是脫離了軟件工程范圍的工作,不以為屑。但在實際情況中,測試是既重要且難以精湛的其真正的壓力,在于找不到bug,責(zé)任在你,而不在于編碼人員。一般的測試人員不懂編碼,他們靠的是日以累計的經(jīng)驗總結(jié)和想象力。而要做到高級測試工程師,則一定要懂編碼,因為這是你完全掌握整個系統(tǒng)的方方面面具體運作的前提。但占主導(dǎo)地位的,還是大型系統(tǒng)的集成測試經(jīng)驗。實際項目中,編碼時間一般只占30%左右,真正耗費時間的是IT階段的找bug與對應(yīng)bug,此階段基本評定了coder的編碼質(zhì)量。
2、程序員的困惑
有些人,以為教學(xué)視頻和代碼看多,自己就懂的.多,實際做起來,卻不知從何下手,問題在那?如何定位?如何解決?通通跟一樣能力有關(guān),debug追蹤能力,也稱調(diào)試。在項目組工作不愁源碼資源,但問題是蛋糕擺在面前,你如何去消化?
有位同事告訴我:代碼看幾遍都沒用,要去抄,例如一個查詢模塊,在此基礎(chǔ)上去做具體記錄的歷史記錄查詢模塊,你可能會覺得很簡單,但實際情況卻往往報一堆異常,配置問題涉及到方方面面,以及數(shù)據(jù)庫字段,傳值問題等等,一大堆對于新人來說很郁悶的問題。但不用怕,只要學(xué)會調(diào)試,一個個問題去追蹤,一個個去解決,自然而然,那段“源碼”才真正屬于你。
3、如何調(diào)試追蹤
如果你能在短短的時間內(nèi)就看到問題點在那,放下斷點去追蹤,出去找工作,絕對沒問題。出現(xiàn)問題的時候,不要光看代碼,要用實際行動去追蹤運行期間的具體值,那是最好途徑。eclipse是個很爽的ide,這點做的很好。例如頁面內(nèi)容顯示不是自己想要的數(shù)據(jù),我們要先從數(shù)據(jù)庫查詢語句去下手,設(shè)置斷點,一步一步step over,讓sql字段(存取最終sql語句的字符串)運行到有值,inspect進(jìn)去看,如果還看不出來,就點擊它,copy后在sql客戶端去實際運行,看看實際查詢出來的表是什么,如果是對的,有可能就是頁面調(diào)用的錯誤或者action邏輯的傳值問題。
頁面錯誤的調(diào)試,基本方法是用右鍵點擊實際網(wǎng)頁查看源代碼,copy到editplus,就能看到具體錯誤發(fā)生在那幾行。通常有幾種常見的錯誤,例如:缺少對象這種很多時候是有些被你調(diào)用的字段有可能為空的情況出現(xiàn)的,可以加if(=null)語句加保護(hù)。追蹤的方法基本就是用alert語句,放在有可能出錯的地方。
4、一些習(xí)慣
遇到問題先自己思考,無從下手再找高手幫忙看看,注意他幫你看的思路,別在一旁閑著,看多了自己也會了,不然你一輩子都停留在那種水平,從人身上學(xué)到的東西遠(yuǎn)遠(yuǎn)比書多的多。
解決了一個問題后,要去究根問底去找到問題產(chǎn)生的起因,以防你下次遇到類似的問題再浪費同樣的時間。
把代碼寫的漂亮,注釋、空行、規(guī)范一樣不能少,可讀性是放在第一位。曾經(jīng)看過一個高手寫的代碼,真的一看就是不同水平的人寫的,幾乎很完美,讀起來很流暢,方便自己也方便別人。
任務(wù)完后不要呆著,去要求經(jīng)理給你更有挑戰(zhàn)性的任務(wù),只要你肯去嘗試,他們就會對你另言相看,把三天的任務(wù)一天加班搞定,效率和忠誠都有了,路也比較好走了。
數(shù)學(xué)與信息工程學(xué)院 項目名稱: 實驗室設(shè)備管理系統(tǒng) 專業(yè)班級:11計教1班 學(xué)號:1129020025 姓名:蔣一瑭 承擔(dān)角色:美工,問題處理 組號:08 同組組長:鄧?yán)?同組其他成員:王宇翔 馬富偉 江濤 指導(dǎo)教師:鐘美 完成起止日期:20__.6.12
1. 美化軟件和對在設(shè)計過程中所遇到的問題進(jìn)行處理 2. 在設(shè)計是會出現(xiàn)兩種錯誤,一種是系統(tǒng)部分自定義錯誤和數(shù)據(jù)庫錯誤。系統(tǒng)部分自定義錯誤在權(quán)限方面,管理員出現(xiàn)錯誤,而輸入方面用戶帳號和密碼出錯,查找方面找不到符合要求的記錄。對于數(shù)據(jù)庫,代碼出錯。
對于系統(tǒng)部分 自定義錯誤,需要添加/修改操作只能給幾十對輸入數(shù)據(jù)進(jìn)行驗真。分析錯誤的類新。并給出相應(yīng)的錯誤提示語句。
對于數(shù)據(jù)庫錯誤,可以在可能出錯的地方中輸入相應(yīng)的出錯語句,并將程序重置,最后返回輸入階段。
此外,還有未解決的問題:未添加設(shè)備選購數(shù)量屬性,輸入賬戶密碼后,退出登錄后,賬戶密碼自動填充。
至于美工方面,就添了一張圖片,一切從簡,只留必須要留下的。
3. 軟件工程課程設(shè)計課程設(shè)想心得體會,這也激起了我爾后勤奮進(jìn)修的樂趣,我想這將對我以后的進(jìn)修發(fā)作主動的影響。其次,此次課程設(shè)想讓我充實熟悉到團隊協(xié)作的主要性,只要合作協(xié)作才干保證整個項目標(biāo)有條不絮。經(jīng)過此次設(shè)想,我懂得了進(jìn)修的主要性,體會到實際學(xué)問與實際相連系的主要意義,學(xué)會了堅持、耐心和勤奮,這將為自己爾后的進(jìn)修和任務(wù)做出了最好的表率。我感受作為一名軟件工程專業(yè)的
先生,此次課程設(shè)想是很故意義的。更主要的.是若何把自己日常平凡所學(xué)的工具利用到理想中。雖然自己關(guān)于這門課懂的并不多,良多根本的工具都還沒有很好的放縱,感受很難,也沒有很有效的法子經(jīng)過自身去了解,
可是靠著這一個多禮拜的“進(jìn)修”,在小組同窗的輔佐和解說下,漸漸對這門課逐漸發(fā)作了些許的樂趣,自己起頭自動進(jìn)修并逐漸從根本漸漸起頭弄懂它。
所以我以為此次的課程設(shè)想意義很深,和其他4位同窗的配合進(jìn)修、配合、勤奮的進(jìn)程也很歡快,別的還要感謝感動教員的耐心教育。
軟件工程心得體會未接觸軟件工程之前一直都很想學(xué)這門課程,因為覺得這門課很牛,是那些有工程師稱號的高手才擺弄的東西。學(xué)了一個學(xué)期的軟件工程課,終于知道了個軟件工程的大概。學(xué)的時候總覺得很抽象,理解起來好像不難,但總是摸不著頭腦一種很茫然的感覺。曾經(jīng)以為程序就是軟件,軟件就是程序。學(xué)習(xí)這門課程第一個收獲是,知道了二者的不同之處。以前做過的一些小型的軟件比如加密軟件,我也只是在程序旁邊附上一個軟件的說明,看來已經(jīng)很接近作坊了。不過大的項目沒有接觸過,用軟件工程的方法還是第一次。我想也是程序的不斷復(fù)雜化導(dǎo)致了軟件危機的發(fā)生,使得人們不得不探索新的解決方法。
經(jīng)過倪老師的講解,理解了軟件工程,就是一套用于軟件的團隊開發(fā),以提高軟件質(zhì)量和程序員工作效率為目的的規(guī)范。其核心就是,對于軟件開發(fā)的5個重要組成部分:需求分析,設(shè)計,編碼,調(diào)試,維護(hù),如何組織這5個部分的工作,以及如何完成每一個工作。吾生也有涯,而知也無涯,學(xué)習(xí)永無止境。起初,對軟件工程處于一知半解的狀態(tài),分工比較混亂。
在劃分模塊后明確了各自分工,漸漸形成良性循環(huán)。在學(xué)習(xí)過程中,知道了團隊合作十分重要,爭議雖然存在,但通過討論、協(xié)商,群策群力,在不斷磨合中能夠達(dá)成一致與默契。團隊成員中能力各有高下,互相尊重,各取所長,不宜妄自菲薄。組長多加協(xié)調(diào),組員積極配合,才能合作愉快。學(xué)習(xí)能力體現(xiàn)在能盡快接受新的知識,順應(yīng)變化,學(xué)為所用。
上《軟件工程導(dǎo)論》這門課,我的收獲大概如下:我們?yōu)槭裁葱枰浖こ棠?上面已經(jīng)給出了一些原因。專業(yè)點講,軟件工程最終是為了實現(xiàn)“軟件制造業(yè)”的社會化,工業(yè)化大生產(chǎn),提高其勞動生產(chǎn)效率。只有如此,軟件業(yè)才能實現(xiàn)社會化,工業(yè)化大生產(chǎn),才能“做大做強”。沒有管理的設(shè)計是失敗和混亂的設(shè)計,沒有設(shè)計指導(dǎo)的編程是無序的忙碌的。根據(jù)開發(fā)的軟件的規(guī)模,應(yīng)該適當(dāng)程度的運用軟件工程化的思想,需要靈活,畢竟我們開發(fā)的軟件大多數(shù)是中小型的,大型的并不多見(我是這么認(rèn)為的)。但只要涉及人員間的.交流和溝通,或多或少都要需要軟件工程才能更有效率,工作成果更穩(wěn)定。
其實開發(fā)軟件,就像是解決一個邏輯問題。想想自己平時是怎樣寫程序的。首先是要有一個想法,即我寫的這個程序是要干什么的;然后就是對要實現(xiàn)的核心功能大概構(gòu)思一種或多種實現(xiàn)方法,并從中選出一種自認(rèn)為是較好的;接下來就是將涉及的各種主要或次要功能分成各個模塊;最后就是分模塊來編碼和DEBUG。在我看來,除了第一步外,其余的步驟應(yīng)該是一個循環(huán)的過程。在編碼的過程中,你總是需要不斷地回過頭來修改原先的模塊設(shè)計,甚至最初選定的實現(xiàn)算法。具體到每一步的工作要怎樣完成,是非常靈活的,只要把握住大體的方向就行。在進(jìn)行分析,設(shè)計,編碼,調(diào)試,維護(hù)這幾部分的工作的時候,最核心的就是文檔的編寫。
1.可行性分析就是關(guān)于當(dāng)前項目能不能干的分析結(jié)果。
2.項目描述這是在決定立項以后,對當(dāng)前項目的一份扼要說明。
3.需求分析就是對客戶要求的功能的定義。
4.軟件設(shè)計這就是對程序的每一個模塊的詳細(xì)設(shè)計的說明文檔。
5.開發(fā)日志我一直都認(rèn)為這是文檔中最有趣的部分。開發(fā)日志相當(dāng)于編碼階段的文檔,它的形式可以很隨意,主要是記錄一些在寫程序時突然萌發(fā)的靈感,或?qū)Υa的一些微小的修改,或?qū)Τ绦蚪Y(jié)構(gòu)的一些微小變動等,還要對上述這些修改變動作些說明。
6.測試分析用于指出程序存在或潛在的缺陷和錯誤,以及程序性能的數(shù)字描述。
時間飛逝,不知不覺間《軟件工程》的學(xué)習(xí)已經(jīng)過了大半了。在這將近半學(xué)期的學(xué)習(xí)中,雖然我不能說我將《軟件工程》學(xué)習(xí)的有多么的好,但是通過學(xué)習(xí),我還是受益良多。
在以前,我一直對軟件存在一些偏見或則是誤解,認(rèn)為軟件就是程序,軟件的開發(fā)就是編寫程序,只要編完了程序,一切也就ok了,而且我還片面的認(rèn)為只要我掌握了時下最新的語言和工具,那么我就能寫程序了。一個人,只要會編程,就能寫軟件,就是程序員;一個公司,只要招聘一些程序員,就能開發(fā)好的軟件產(chǎn)品。只要有幾個有經(jīng)驗的程序員,再找些兼職的大學(xué)生,就能組成一個軟件公司。
但是通過了《軟件工程》這門課的學(xué)習(xí),使我認(rèn)識到了我以前的錯誤。軟件其實不僅僅是程序,軟件開發(fā)其實也不僅僅是編寫程序,軟件是思想在硬件上的載體和體現(xiàn),處理的是邏輯和信息。唯有對軟件和軟件的開發(fā)過程,有充分的認(rèn)識,才能更好的開發(fā)出,過程受控、質(zhì)量受控的軟件產(chǎn)品。
而且在以前,我一直以為軟件的開發(fā)其實是一件很輕松快樂的事情,只要一天坐在電腦旁敲敲鍵盤,那么一切就可以了,但是現(xiàn)在我才發(fā)現(xiàn),我以前的很多的思想是多么的膚淺可笑。編程其實是一種樂趣和苦惱共存的一項創(chuàng)造性活動。因為編程不僅能夠滿足我們內(nèi)心深處進(jìn)行創(chuàng)造的渴望,而且還能愉悅我們內(nèi)在的情感。
而且通過學(xué)習(xí)《軟件工程》,我還學(xué)到了很多其他的東西。比如通過學(xué)習(xí)《軟件工程》,特別是老師每次用實際的軟件現(xiàn)場的講解,為我提供了一個盡早接觸世界工作和真實項目的機會。讓我知道如何在以最小的成本中,訓(xùn)練自己的基本工程素質(zhì)和能力,如何激發(fā)自己的積極性等。而且通過學(xué)習(xí)《軟件工程》,還讓我認(rèn)識和培養(yǎng)了我的團隊協(xié)作能力,特別是對于我們這些在校的學(xué)生來說,這種學(xué)習(xí)更是能讓我在以后工作中少走很多的彎路。
所以,通過《軟件工程》的學(xué)習(xí),我是真的學(xué)習(xí)到了很多有用的東西,讓我明白了很多的道理。在此我對老師的辛勤教育表示感謝,因為是你讓我學(xué)習(xí)到了這些,是我獲益良多。
軟件工程是一門實踐性很強、交叉性很強的學(xué)科,它提供給我們的不僅是一種方法論,更是一種世界觀。
在沒有接觸軟件工程這門課時,我一直認(rèn)為軟件就是程序。能編出解決問題的程序就ok了,從沒有想過,在寫一個程序之前還要構(gòu)思幾份文檔(可行性分析、需求分析、概要設(shè)計)。不過對于那些大型軟件如植物僵尸大戰(zhàn)(至少對于我來說是比較大型的了)怎么去實現(xiàn)它,想得我一頭霧水。絢麗的界面、40種植物、一大堆不同類型的僵尸,怎樣編代碼去實現(xiàn)它呢?
第一次上軟件工程的課,裴老師問“軟件是什么?” 我的第一想法是:這個問題太過愚昧了!誰不知道軟件就是程序呀? “軟件是由計算機程序、數(shù)據(jù)及文檔組成?!甭牭竭@句話,我心里先是一驚,慌忙翻了下書“軟件是程序和所有使程序正確運行所需的相關(guān)文檔和配置信息?!焙杖挥橙胛已酆?。突然間我發(fā)現(xiàn),就算是植物僵尸大戰(zhàn)這樣復(fù)雜的游戲,如果設(shè)計者實現(xiàn)分模塊把每一部分如何實現(xiàn)用文檔描敘出來,那這個軟件實現(xiàn)起來不是很容易嗎?
第一次課后我明白了軟件工程是致力于專業(yè)化軟件開發(fā)的理論、方法和工具的研究。雖然我從初中開始信息奧賽,高中繼續(xù)這個愛好,但在大學(xué)二年級下學(xué)期才接觸在軟件開發(fā)中這么有引導(dǎo)意義的學(xué)科,不覺有種相見恨晚的感覺。自然它的方法學(xué)三要素:方法、工具、過程,我牢記于心。
短短的四周,裴老師的課給我留下了深刻的印象,印象尤深的是:
做軟件我們首先考慮的是團隊的實力。
如果別人給你50萬讓你們團隊開發(fā)一個軟件,如果他要求你們團隊給這個軟件永久維護(hù),那么你要去跟他協(xié)商付100萬。很多軟件公司倒閉就是因為維護(hù)上的問題。至此我才明白維護(hù)軟件是軟件生存周期中時間最長的一個階段,它是最花費精力與錢財?shù)囊粋€階段。
如果將來你們碰到了我,你跟我說你是se那么我會很高興,如果你告訴我你是軟件工程師,我只會“嗯嗯”兩下。
其實在我接觸軟件后,渴望的是當(dāng)一名軟件工程師。現(xiàn)在才知道學(xué)軟件工程專業(yè)后,去當(dāng)一名軟件工程師是最低層的也是最沒“技術(shù)”含量的。要做就做系統(tǒng)構(gòu)架師,當(dāng)然這需要我們的不懈努力才能達(dá)到。系統(tǒng)構(gòu)架師的職責(zé)是設(shè)計一個公司的基礎(chǔ)構(gòu)架,并提供關(guān)于怎樣建立和維護(hù)系統(tǒng)的指導(dǎo)方針?;腥话l(fā)現(xiàn)學(xué)軟件不僅是學(xué)軟件,相關(guān)的管理能力也是需要具備的。
當(dāng)然理論知識是用來指導(dǎo)實踐的,親身體驗才能領(lǐng)悟軟件工程的妙用。課設(shè)我們選擇了圖書館管理系統(tǒng),主要是這個系統(tǒng)我們接觸比較多,對于它的流程還是比較清楚的。雖然如此我們還是花了很大的時間去完成它。記得當(dāng)時我們定下這個題目是晚上,在討論用什么語言實現(xiàn)時,大家各自說出自己比較善于的語言。然后均衡了下,定下用java做開發(fā)語言。在實現(xiàn)過程中,突然發(fā)現(xiàn)java環(huán)境連接數(shù)據(jù)庫和tomcat超級麻煩且數(shù)據(jù)庫老是連接不上。趁時間還早我們?nèi)俅斡懻?,決定用c#做開發(fā)語言,主要是c#相對于c++與java來說簡易寫。同時我們定下不管以后遇到什么困難都要堅持下去的`準(zhǔn)則。在課設(shè)期間我們沒少跑圖書館,查閱各種資料,對比各本書上實現(xiàn)圖書館管理系統(tǒng)的代碼。終于在4月11日把所有課設(shè)的所有事情弄好了。當(dāng)然這只是個概述。
我印象尤深記憶深厚的是最初實現(xiàn)文檔那塊。剛開始,軟件工程這門課還沒學(xué)多少,基本的設(shè)計理念就很模糊。文檔到底該怎么寫,很糾結(jié)。于是我從網(wǎng)上狂下相關(guān)文檔。通過粘貼與復(fù)制終于一份內(nèi)容亂七八糟的需求分析文檔出來了,當(dāng)然這只是用來借鑒的。后來孟陽分享了十三份關(guān)于文檔這方面的模板。我們照著那個樣子在結(jié)合團隊項目的相關(guān)實例開始了文檔的寫作。我們的文檔總是一個人先寫好,再拿給另一個人改,最后由第三個人評審。大家都覺的可以了,才過關(guān)。測試報告雖然是我一個人完成了,但也經(jīng)歷了不少時間,當(dāng)然這時間是按小時算的。首先把大體寫出了,然后修改,再增加信息。大量的截圖以及思考怎樣用例超費腦子,兩天的通宵,徹底把我搞垮了,不過在文檔出爐后,心里異常開心。
軟件工程課程雖已結(jié)束,但我對于軟件工程的學(xué)習(xí)才剛剛開始,裴老師的課讓我受益匪淺。我體會到項目管理的重要性,隨著軟件規(guī)模、復(fù)雜度的不斷增加,項目開發(fā)中更多的是協(xié)作、管理和控制。我學(xué)習(xí)到很多一般性的方法,例如:需求獲娶模塊化、分治、估算、計劃等等。同時,我也認(rèn)識到使用計算機解決實際問題的復(fù)雜性,在圖靈機模型和馮·諾依曼體系的計算機框架下,人們認(rèn)識表達(dá)的過程(不斷反復(fù)、逐步深化)和計算機的實現(xiàn)過程(順序執(zhí)行)相差甚遠(yuǎn),軟件工程方法要提供給程序員們一種更加有效的對客觀世界問題域進(jìn)行形式化的過程方法。
早在我選擇民政職業(yè)技術(shù)學(xué)院就讀軟件開發(fā)與項目管理這門專業(yè)的時候,我一直認(rèn)為軟件開發(fā)無非是努力的敲代碼,從敲代碼的過程中去體會各行代碼的意思和用處,在沒學(xué)軟件工程時我一直都是努力的敲代碼去學(xué)習(xí)軟件開發(fā)這門專業(yè)。在大一的時候我敲代碼的激情很好,但是到大二的時候就出現(xiàn)問題了,我根本就不喜歡敲代碼了,看見代碼就頭疼。所以感覺厭惡這門專業(yè),對學(xué)習(xí)也不感興趣了。而且,還有一件更頭疼的事是在寫一個簡單的程序時竟然老是出錯,難一點的,復(fù)雜一點的程序竟然無從下手。但是去看程序的參考答案時都看得懂,又感覺很容易。學(xué)了軟件工程以后,我就感覺我以前的學(xué)習(xí)方法是錯誤的。以前我只注重于代碼,而不注重理論知識以及編程的思路,程序的架構(gòu)。以至于在些程序時沒有寫程序的思路,不能形成程序的`架構(gòu)。只想到看腦袋里是否有與此類似的代碼。越想程序越亂,最后腦袋里一片空白。不知道程序從哪個方面下手了。
軟件工程這門課程是做軟件開發(fā)的人必學(xué)的課程,通過學(xué)這門課程,程序員就會注重軟件開發(fā)的理論知識,以及做項目開發(fā)的思路。學(xué)了這門課程后你寫程序就不會去盲目的去套用代碼,而是理清此程序的架構(gòu)以及思路。程序該從什么時候開始,什么時候結(jié)束。在中間需要添加什么樣的功能,以完善該軟件。其實學(xué)軟件工程并不難,而且很容易。軟件工程與日常生活聯(lián)系起來的話,就是在一天中你該先做什么,后做什么。理解了先做什么,后做什么了以后寫程序就不是那么難了,再復(fù)雜的程序也可以分成幾大塊。你理清程序的思路后就可以一步步的解決其中的難題,最終實現(xiàn)軟件的功能。如果沒學(xué)軟件工程不知道理清程序的思路的話,做一個大的項目開發(fā),那么多的代碼,沒有一個很好的結(jié)構(gòu),最終只會導(dǎo)致程序混亂,錯誤百出,知道代碼再多也會素手無策的。
總而言之,作為一個程序員學(xué)習(xí)軟件工程這門課程是至關(guān)必要的,如果沒學(xué)習(xí)軟件工程,你就不會做項目開發(fā),也不可能開發(fā)出一個完善的軟件出來。
經(jīng)過長時間對國貿(mào)軟件的的使用,在不斷練習(xí)操作的過程中,我對國貿(mào)軟件的最深刻感覺是:學(xué)以致用、有趣、必須細(xì)心耐心反應(yīng)迅速。
1.學(xué)以致用
作為國貿(mào)專業(yè),經(jīng)過長時間的理論學(xué)習(xí),急需通過實際操作或某種近似于實際操作的平臺對所學(xué)的理論知識加以實踐,以求進(jìn)一步掌握和鞏固,而國貿(mào)軟件正提供了這樣一種平臺。該軟件涉及了及出口貿(mào)易的各個方面和環(huán)節(jié),從外貿(mào)公司的經(jīng)營運作到實際的進(jìn)出口業(yè)務(wù)流程,都能進(jìn)行模擬實訓(xùn)。在使用過程中,會遇到很多國貿(mào)的基礎(chǔ)理論知識和實務(wù)技能,這是對國貿(mào)理論掌握程度的最好考察。眼過千遍不如手過一遍,相對于理論部分而言,國貿(mào)實務(wù)更注重實際操作,通過這種理論結(jié)合實踐的方式,鞏固基礎(chǔ)知識,查找理論學(xué)習(xí)的不足,以前學(xué)習(xí)的實物理論基礎(chǔ)知識會更加的具體和直觀。同時,該軟件的實務(wù)操作部分與報關(guān)員報關(guān)實務(wù)所涉及的知識基本一致,這對于我的報關(guān)員考試復(fù)習(xí)提供了很大的幫助。
2.有趣
該軟件通過“實戰(zhàn)”方式訓(xùn)練,會在操作過程中遇到很多難題和挑戰(zhàn),這些必須自己想辦法解決。由于大家進(jìn)行了角色劃分,形成了一個虛擬市場,所以大家之間相互的競爭是必不可少的,大家會從各個方面進(jìn)行競爭。競爭在現(xiàn)在是無法避免的,意識正是現(xiàn)代社會生存發(fā)展所需要的.。正是這種競爭,使得我(相信大家)對該軟件產(chǎn)生了濃厚的興趣。
3.細(xì)心、耐心、反應(yīng)迅速
國貿(mào)軟件涉及大數(shù)據(jù)計算的繁瑣的單證填寫,所以必須做到細(xì)心耐心,例如,在填制外貿(mào)合同時,一個小小的數(shù)據(jù)錯誤或是貨物裝運、指運港名稱的錯誤都會是合同填寫失敗;填寫保險單或是報關(guān)單證,沒有嚴(yán)格按照合同數(shù)據(jù)填制就會導(dǎo)致填寫出現(xiàn)錯誤,無法進(jìn)行下一步驟,影響實驗效率。
在操作過程中,除了復(fù)習(xí)、鞏固所學(xué)國貿(mào)理論外,另一個重要任務(wù)就是想辦法“賺錢”,提高自己企業(yè)的盈利水平和生存能力,這就要求必須反應(yīng)迅速、判斷準(zhǔn)確,否則會覺得企業(yè)經(jīng)營的舉步維艱。
以上就是經(jīng)過一段時間對國貿(mào)軟件的操作使用產(chǎn)生的心得體會。
經(jīng)過這學(xué)期軟件工程實驗的學(xué)習(xí),深深感到用戶需求對軟件的重要性。成功的軟件產(chǎn)品是建立在成功的需求基礎(chǔ)之上的,而高質(zhì)量的需求來源于用戶與開發(fā)人員之間有效的溝通與合作。當(dāng)用戶有一個問題可以用計算機系統(tǒng)來解決,而開發(fā)人員開始幫助用戶解決這個問題,溝通就開始了。
需求獲取可能是最困難、最關(guān)鍵、最易出錯及最需要溝通交流的活動。對需求的獲取往往有錯誤的認(rèn)識:用戶知道需求是什么,我們所要做的就是和他們交談從他們那里得到需求,只要問用戶系統(tǒng)的目標(biāo)特征,什么是要完成的,什么樣的系統(tǒng)能適合商業(yè)需要就可以了,但是實際上需求獲取并不是想象的這樣簡單,這條溝通之路布滿了荊棘。首先需求獲取要定義問題范圍,系統(tǒng)的邊界往往是很難明確的,用戶不了解技術(shù)實現(xiàn)的細(xì)節(jié),這樣造成了系統(tǒng)目標(biāo)的混淆。
其次是對問題的理解,用戶對計算機系統(tǒng)的能力和限制缺乏了解,任何一個系統(tǒng)都會有很多的用戶或者不同類型的用戶,每個用戶只知道自己需要的系統(tǒng),而不知道系統(tǒng)的整體情況,他們不知道系統(tǒng)作為一個整體怎么樣工作效率更好,也不太清楚那些工作可以交給軟件完成,他們不清楚需求是什么,或者說如何以一種精確的方式來描述需求,他們需要開發(fā)人員的協(xié)助和指導(dǎo),但是用戶與開發(fā)人員之間的交流很容易出現(xiàn)障礙,忽略了那些被認(rèn)為是"很明顯"的信息。最后是需求的確認(rèn),因為需求的不穩(wěn)定性往往隨著時間的推移產(chǎn)生變動,使之難以確認(rèn)。為了克服以上的問題,必須有組織的執(zhí)行需求的獲取活動。
需求獲取活動要完成的任務(wù)或者步驟的過程如下:
1、編寫項目視圖和范圍文檔
系統(tǒng)的需求包括四個不同的層次:業(yè)務(wù)需求、用戶需求和功能需求、非功能性需求。業(yè)務(wù)需求說明了提供給用戶新系統(tǒng)的最初利益,反映了組織機構(gòu)或用戶對系統(tǒng)、產(chǎn)品高層次的目標(biāo)要求,它們在項目視圖與范圍文檔中予以說明。用戶需求文檔描述了用戶使用產(chǎn)品必須要完成的任務(wù),這在使用實例文檔或方案腳本說明中予以說明。功能需求定義了開發(fā)人員必須實現(xiàn)的軟件功能,使得用戶能完成他們的任務(wù),從而滿足了業(yè)務(wù)需求。
非功能性需求是用戶對系統(tǒng)良好運作提出的期望,包括了易用性、反應(yīng)速度、容錯性、健壯性等等質(zhì)量屬性。需求獲取就是根據(jù)系統(tǒng)業(yè)務(wù)需求去獲得系統(tǒng)用戶需求,然后通過需求分析得到系統(tǒng)的功能需求和非功能需求。項目視圖和范圍文檔就是從高層次上描述系統(tǒng)的業(yè)務(wù)需求,應(yīng)該包括高層的產(chǎn)品業(yè)務(wù)目標(biāo),評估問題解決方案的商業(yè)和技術(shù)可行性,所有的使用實例和功能需求都必須遵從的標(biāo)準(zhǔn)。而范圍文檔定義了項目產(chǎn)品所包括的所有工作及產(chǎn)生產(chǎn)品所用的過程。項目相關(guān)人員對項目的目標(biāo)和范圍能達(dá)成共識,整個項目組都應(yīng)該把注意力集中在項目目標(biāo)和范圍上。
2、用戶群分類
系統(tǒng)用戶在很多方面存在著差異,例如:使用系統(tǒng)的頻度和程度、應(yīng)用領(lǐng)域和計算機系統(tǒng)知識、所使用的系統(tǒng)特性、所進(jìn)行的業(yè)務(wù)過程、訪問權(quán)限、地理上的布局以及個人的素質(zhì)和喜好等等。根據(jù)這些差異,你可以把這些不同的用戶分成不同的用戶類。與ULM中Usecase的Actor概念一樣,用戶類不一定都指人,也可以包括其他應(yīng)用系統(tǒng)、接口或者硬件,這樣做使得與系統(tǒng)邊界外的接口也成為系統(tǒng)需求。將用戶群分類并歸納各自特點,并詳細(xì)描述出它們的個性特點及任務(wù)狀況,將有助于需求的獲取和系統(tǒng)設(shè)計。
3、建立核心隊
通常用戶和開發(fā)人員不自覺的都有一種"我們和他們"的想法,產(chǎn)生一種對立關(guān)系,把彼此放在對立面,每一方都定義自己的"邊界",只想自己的利益而忽略對方的想法。他們通過文檔、記錄和對話來溝通,而不是作為一個合作的整體去識別和確定需求完成任務(wù)。實踐證明這樣的方法是不正確的,不會給雙方帶來一點益處,良好的溝通關(guān)系沒有建立導(dǎo)致了誤解和忽略重要的信息。只有當(dāng)雙方參與者都明白要成功自己需要什么,同時也知道要成功對方需要什么時,才能建立起一種合作關(guān)系。
為了建立合作關(guān)系通常采取一種組隊的方式來獲取需求,建立一個由用戶代表和開發(fā)人員組成的聯(lián)合小組作為需求獲取的核心隊伍。聯(lián)合小組將負(fù)責(zé)識別需求、分析解決方案和協(xié)商分歧,小組成員可以采用會議、電子郵件、綜合辦公系統(tǒng)等方式進(jìn)行交流,但交流時應(yīng)注意以下原則:小組會議應(yīng)該由中立方來組織和主持,用戶和開發(fā)人員都要參加;交流預(yù)先要確定準(zhǔn)備和參與的規(guī)則;議題要明確并覆蓋所有關(guān)鍵點,但信息來源應(yīng)該自由;交流目標(biāo)要明確,并告知所有的成員。
4、確定使用實例
從用戶代表處收集他們將使用系統(tǒng)完成所需任務(wù)的描述,討論用戶與系統(tǒng)間的交互方式和對話要求,這就是使用實例,一個單一的使用實例可能包括完成某項任務(wù)的許多邏輯相關(guān)任務(wù)和交互順序。使用實例方法給需求獲取帶來的好處來自于該方法是用以任務(wù)為中心和以用戶為中心的觀點,比起使用以功能為中心和以開發(fā)者為中心的方法,使用實例方法可以使用戶更清楚地理解和認(rèn)識到新系統(tǒng)允許他們做什么和怎么做。描寫使用實例的時候要注意使用簡潔直白的表述,盡量使用主動語態(tài),用"系統(tǒng)"或者"用戶"作為主語,比如"用戶提交用戶密碼,系統(tǒng)驗證用戶密碼是否正確",還有一點在描述中不要設(shè)計界面細(xì)節(jié),比如"用戶從下拉框中選擇產(chǎn)品類型"。使用實例為以后寫用例場景描述中的基本路徑和擴展路徑提供了素材。
5、分析用戶工作流程
分析用戶工作流程觀察用戶執(zhí)行業(yè)務(wù)任務(wù)的過程,通過分析使用實例得到系統(tǒng)的用例圖。編制用例圖文檔將有助于明確系統(tǒng)的使用實例和功能需求,統(tǒng)一建模語言的使用有助于與用戶進(jìn)一步交流。每個用例的描述應(yīng)包括:編號,為每個用例分配一個唯一的編號,為需求的追溯提供了方便;參與者,與這個用例交互的 actor;前置條件,開始用例前所必須具備的`系統(tǒng)狀態(tài);后置條件,用例完成后系統(tǒng)達(dá)到的狀態(tài);基本路徑,用例完成的關(guān)鍵路徑,也是用戶期望的路徑;擴展點,基本路徑的分枝,表示意外情況;字段說明,路徑中名稱的進(jìn)一步分解說明,對以后類屬性的定義和數(shù)據(jù)庫字段設(shè)計起作用;設(shè)計約束,實現(xiàn)用例的非功能約束。
6、檢查問題報告
通過檢查當(dāng)前已經(jīng)運行系統(tǒng)的問題報告來進(jìn)一步完善需求客戶的問題報告及補充需求為新系統(tǒng)或新版本提供了大量豐富的改進(jìn)及增加特性的想法,負(fù)責(zé)提供用戶支持及幫助的人能為收集需求過程提供極有價值的信息。
7、需求重用
如果客戶要求的功能與已有的系統(tǒng)很相似,則可查看需求是否有足夠的靈活性以允許重用一些已有的軟件組件。業(yè)務(wù)建模和領(lǐng)域建模式需求重用的最好方法,像分析模式和設(shè)計模式一樣,需求也有自己的模式。
總結(jié):經(jīng)過一學(xué)期的軟工實驗,深刻感到其重要性的同時也學(xué)到了不少的東西 ,將對我在今后的軟件開發(fā)過程中起極大的作用。
學(xué)習(xí)了這門課程, 還有老師們的多元化教課,不但讓我從理論上掌握軟件工程,還有從不同的實例,讓理論和實踐得到了很好的結(jié)合。整一個學(xué)期下來,總的來說還是學(xué)到了很多東西的,有很多地方是值得肯定的,其實在我看來,軟件工程與其說是一門課程,不如說是一門思想。是一個如何去分析和處理問題的過程,應(yīng)該說其范疇已經(jīng)遠(yuǎn)遠(yuǎn)不止局限于該門課程,成為了一個綜合的一個能夠解決問題的思想集合。
要學(xué)習(xí)軟件工程,學(xué)會如何系統(tǒng)的思考,以及養(yǎng)成良好的編碼習(xí)慣,想學(xué)好軟件工程,就必須知道軟件工程的目標(biāo)、過程和原則: 軟件工程目標(biāo):生產(chǎn)具有正確性、可用性以及開銷合宜的產(chǎn)品。正確性指軟件產(chǎn)品到達(dá)預(yù)期功能的程度。
可用性指軟件根本構(gòu)造、實現(xiàn)及文檔為用戶可用的程度。開銷合宜是指軟件開發(fā)、運行的整個開銷滿足用戶要求的程度。這些目標(biāo)的實現(xiàn)不管在理論上還是在實踐中均存在很多待解決的問題,它們形成了對過程、過程模型及工程方法選取的約束。
軟件工程過程:生產(chǎn)一個最終能滿足需求且到達(dá)工程目標(biāo)的軟件產(chǎn)品所需要的步驟。軟件工程過程主要包括開發(fā)過程、運作過程、維護(hù)過程。它們覆蓋了需求、設(shè)計、實現(xiàn)、確認(rèn)以及維護(hù)等活動。需求活動包括問題分析和需求分析。問題分析獲取需求定義,又稱軟件需求規(guī)約。需求分析生成功能規(guī)約。設(shè)計活動一般包括概要設(shè)計和詳細(xì)設(shè)計。概要設(shè)計建立整個軟件系統(tǒng)構(gòu)造,包括子系統(tǒng)、模塊以及相關(guān)層次的說明、每一模塊的接口定義。詳細(xì)設(shè)計產(chǎn)生程序員可用的模塊說明,包括每一模塊中數(shù)據(jù)構(gòu)造說明及加工描述。實現(xiàn)活動把設(shè)計結(jié)果轉(zhuǎn)換為可執(zhí)行的程序代碼。確認(rèn)活動貫穿于整個開發(fā)過程,實現(xiàn)完成后確實認(rèn),保證最終產(chǎn)品滿足用戶的要求。維護(hù)活動包括使用過程中的擴充、修改與完善。伴隨以上過程,還有管理過程、支持過程、培訓(xùn)過程等。 軟件工程的原則是指圍繞工程設(shè)計、工程支持以及工程管理在軟件開發(fā)過程中必須遵循的原則。
pad圖:它是用構(gòu)造化程序設(shè)計思想表現(xiàn)程序邏輯構(gòu)造的圖形工具。pad也設(shè)置了五種根本控制構(gòu)造的圖示,并允許遞歸使用。hipo圖:hipo圖是由一組ipo圖加一張hc圖組成。它是美國ibm公司在軟件設(shè)計中使用的主要表達(dá)工具。hc圖既是層次圖,用于表示軟件的分層構(gòu)造。hc圖中的每一個模塊,均可用一張ipo圖來描述。ipo 圖由輸入、處理和輸出三個框組成,需要時還可以增加一個數(shù)據(jù)文件框,這種圖形的優(yōu)點,是能夠直觀地顯示輸入處理輸出三者之間的聯(lián)系。還有測試方法:按照測試過程是否在實際應(yīng)用環(huán)境中來分,有靜態(tài)分析與動態(tài)測試。測試方法有分析方法(包括靜態(tài)分析法與白盒法)與非分析方法(稱黑盒法)。靜態(tài)分析技術(shù):不執(zhí)行被測軟件,可對需求分析說明書、軟件設(shè)計說明書、源程序做構(gòu)造檢查、流程分析、符號執(zhí)行來找出軟件錯誤。動態(tài)測試技術(shù):當(dāng)把程序作為一個函數(shù),輸入的全體稱為函數(shù)的定義域,輸出的全體稱為函數(shù)的值域,函數(shù)那么描述了輸入的定義域與輸出值域的關(guān)系。還學(xué)習(xí)了其他很多工具、語言、方法等,雖然不是都學(xué)得很透徹,但我相信在今后的學(xué)習(xí)中一定會慢慢的完善的。
軟件工程對于初學(xué)者來說,知識根底較薄弱,對一些應(yīng)用操作、概念、工具方法等理解起來較為困難,要能從整體概念上較好地理解和把握、學(xué)好軟件工程,不是僅僅把幾本專業(yè)書籍細(xì)致地看幾遍,然后上機練習(xí)幾次就可以成功,學(xué)習(xí)過程中要注意多看多練要注意結(jié)合實際,更要多思考,面對錯誤不要一范就問,要嘗試自己去解決。但是還要注意什么都學(xué),肯定是什么都學(xué)不透的,要集中精力打攻堅戰(zhàn),學(xué)習(xí)軟件工程首先要明白自己的學(xué)習(xí)目標(biāo)終究是什么,根據(jù)自己的實際工作出發(fā),有針對性的在相應(yīng)的學(xué)習(xí)方向上進(jìn)展提軟件工程對于初學(xué)者來說,知識根底較薄弱,對一些應(yīng)用操作、概念、工具方法等理解起來較為困難,要能從整體概念上較好地理解和把握、學(xué)好軟件工程,不是僅僅把幾本專業(yè)書籍細(xì)致地看幾遍,然后上機練習(xí)幾次就可以成功,學(xué)習(xí)過程中要注意多看多練要注意結(jié)合實際,更要多思考,面對錯誤不要一范就問,要嘗試自己去解決。但是還要注意什么都學(xué),肯定是什么都學(xué)不透的,要集中精力打攻堅戰(zhàn),學(xué)習(xí)軟件工程首先要明白自己的學(xué)習(xí)目標(biāo)終究是什么,根據(jù)自己的實際工作出發(fā),有針對性的在相應(yīng)的學(xué)習(xí)方向上進(jìn)展提高,制定出詳細(xì)的學(xué)習(xí)規(guī)劃。還要注意與其他科目的相輔相成,就像我們在學(xué)習(xí)面向?qū)ο蠓治龅臅r候要結(jié)合大一學(xué)習(xí)的面向?qū)ο蠹捌浞椒▽W(xué)這一專業(yè)科目進(jìn)展研究拓展;在學(xué)習(xí)語言時,要看看與c語言的聯(lián)系,多思多想,把從各個科目學(xué)到的知識通匯貫穿。
在軟件工程的學(xué)習(xí)中,我了解到了軟件并非是一些代碼這么簡單,在開發(fā)軟件的過程中,編寫代碼的工作量其實只占不到所有工程量的30%,而后期的管理和維護(hù)更是占了60%到80%之多。一個完整的工程規(guī)劃須包括,軟件的定義,可行性分析報告,工程開發(fā)方案,軟件需求說明書,概要設(shè)計說明書,詳細(xì)設(shè)計說明書,用戶操作手冊,測試方案,測試分析報告,開發(fā)進(jìn)度報告,工程開發(fā)總結(jié)報告,軟件維護(hù)手冊,軟件問題報告,軟件修改報告,等多個文檔,每個文檔都要上級驗收審查,而文檔數(shù)量眾多,要做好這點真的不是很容易,而恰恰寫好文檔正能保證完成軟件工程其中一個目的的關(guān)鍵,既研究如何用最小的開銷做出生存期較長的軟件,再加上各個階段都要進(jìn)展周密的籌劃、詳細(xì)的分工部署和人員安排,且各階段要據(jù)詳細(xì)情況不斷的反復(fù)才能達(dá)成,所以代碼只是開發(fā)軟件這個浩大的工程的一個小小的過程。
而編碼的學(xué)習(xí)中,我更了解到形成自己獨特的標(biāo)準(zhǔn)的編碼風(fēng)格是非常重要的事。因為這影響到了軟件后期繁重的維護(hù),大家都要閱讀你的程序,如果你寫的程序毫無標(biāo)準(zhǔn)可言,那么別人怎么能讀懂你的程序讀不懂程序,維護(hù)又從何談起呢所以,我們在今后的學(xué)習(xí)中,一定要注意這方面的培養(yǎng),在寫程序的過程中,要逐步的在標(biāo)準(zhǔn)的根底上形成屬于自己的風(fēng)格,即方便自己的修改,也方便日后他人的閱讀。
在學(xué)習(xí)中,我們還要注意比擬三種方法的優(yōu)缺點,例如:傳統(tǒng)方法雖然使軟件擺脫了和無序,但其在適應(yīng)需求變化的方面不夠靈活,而且傳統(tǒng)方法要么面向行為,要么面向數(shù)據(jù),缺乏兩者的有機結(jié)合。而面向?qū)ο蠓椒ǖ某绦蛟O(shè)計和問題求解更符合人們?nèi)粘W匀坏乃季S習(xí)慣,適合大型、復(fù)雜及交互性比擬強的系統(tǒng)。形式化方法那么是一中基于形式化數(shù)學(xué)變換的軟件開發(fā)方法,它可將系統(tǒng)的規(guī)格說明轉(zhuǎn)換為可執(zhí)行的程序。在今后的學(xué)習(xí)中要注意多讀書、多思考、多練習(xí)、多討論,不斷熟悉書本的根底,并以此為根底將其擴散開來,應(yīng)用于今后的實踐。不斷鍛煉自己,向一名合格的程序設(shè)計師邁進(jìn)。
這次軟件工程實訓(xùn)是從20__.12.26號開始的,截至20__.12.31號。實訓(xùn)內(nèi)容是用java相關(guān)知識(主要是jsp)做一個物流配送系統(tǒng)。下面談?wù)剬@次實訓(xùn)的看法。
因為自己平時對java知識儲藏缺乏,特別是jsp這一塊根本不了解怎么回事,所以一拿到這個工程,我心里都是沒有底的,再加上我被分到的那個組,我知道就意味著是我一個人在戰(zhàn)斗了。呵呵,26號,實訓(xùn)開始了,我們的老師是中軟國際公司的程序員,一個是周褀,一個是朱映,都是一身樸素的著裝,讓我感覺做軟件的也沒什么兩樣。老師介紹了自己之后,就直接切入正題了,分析了下我們各個組的系統(tǒng),即將用到的知識,然后就總體把覺得需要補充的知識(jsp和數(shù)據(jù)庫連接等這幾塊)給我們實際操作了下,因為當(dāng)時看到用jsp,還講的那么認(rèn)真,當(dāng)時我就懊悔了,平時要是多聽點,現(xiàn)在老師這么認(rèn)真的給我們講,這是一個多么難得的時機啊。懊悔也沒用啊,開始還勉強能理解一點,后來就直接暈了。然后再給大家介紹了一些即將用到的工具,比方rationalRose,SVN,MyEclipse等等。接下來的幾天就不再細(xì)講了。下面談?wù)勍ㄟ^這次實訓(xùn)的心得體會吧。
通過這次實訓(xùn),讓我了解到工程開發(fā)的過程,可行性分析——>需求分析——>概要設(shè)計——>詳細(xì)設(shè)計——>代碼編寫——>測試——>驗收。從技術(shù)方面上,我開始jsp根底根本上就是零的,在老師和syz2(另外一個物流小組,我一個人根本上是跟她們做的,或者說是看著她們做的)的幫助下,對jsp有了一個大概的認(rèn)識。其實實訓(xùn)開始前,我還以為做個系統(tǒng)沒什么大不了,可是當(dāng)真正拿到一個工程,我卻真的無從下手了,而且就是在知道需求分析和詳細(xì)設(shè)計,在代碼編寫時,一樣寸步難行。通過這個實訓(xùn),也讓我了解到,團隊協(xié)作是多么的重要。一個人的精力是多么的有限。進(jìn)一步理解到,企業(yè)為什么如此重視團隊協(xié)作。同時借用老師的話就是團隊協(xié)作雖然重要,但是是建立在個人素質(zhì)的根底上,假設(shè)你個人素質(zhì)不行,將會影響到整個團隊,就別提對團隊作更多奉獻(xiàn)了。__老師說這幾句話的時候,朝向了我,估計是有特殊意義的吧,所以,我將謹(jǐn)記老師的教誨。
還有一個收獲是從一個同學(xué)(小胖)那里得到的,他的那組成員跟我的這組大體一樣,我倒是覺得沒什么了,不過他倒是很重視這個問題吧。然后他說出來,我也覺得這個問題確實其實是個大的問題。就是不管你會不會這門技術(shù),會不會做這個東西,態(tài)度要正確才好,就算你不會做,你也應(yīng)該認(rèn)真的對待,將來 出身到社會,就不是說像你現(xiàn)在,不會做就不做,跑去玩游戲了。小胖說出了這段話,也在我身上有了一個印證,雖然我jsp技術(shù)知識為0,但我也還是在認(rèn)真的跟著他們一起做,不會做,就多問,畢竟現(xiàn)在我們是學(xué)生,可以毫不顧忌的詢問各種問題,老師也會盡力為你答復(fù)。將來出身社會就不一樣了。雖然,我就算個打醬油的水平,但是這個醬油也要打得有涵量啊。不管怎么樣,我能對自己有個交待,雖然我不會,但是這次實訓(xùn)我確實是認(rèn)真對待了,六天的實訓(xùn),除了晚上加班外,還花了2個通宵來完成不同階段的任務(wù),完成與否也不重要了,我至少我做了,這點,是這次我應(yīng)該對自己的一個肯定。
這次實訓(xùn)的心得根本上就是這些了,最后特別感謝中軟國際帶我們的那兩個老師(周褀,朱映),這兩個老師對待我們很平易近人,對我們提出的問題,總是不光解決了,還進(jìn)展了擴展,晚上也跟我們一起加班加到很晚,印象尤其深刻就是朱映老師為了給小胖解決一個問題,臉都變紅了,還在繼續(xù)努力,這點我并不會覺得老師知識儲藏不夠,我想應(yīng)該是這個問題的突發(fā)吧,一時沒想到怎么處理。相反讓我感覺更多的就是老師很認(rèn)真,很負(fù)責(zé)。還要感謝就是syz2小組的傾力支持,輔導(dǎo)。
時間過的很快,轉(zhuǎn)眼間已經(jīng)實習(xí)將近5個月,其中有2個月是屬于完全被流放的。
最先在內(nèi)部系統(tǒng)組參與內(nèi)部管理系統(tǒng)開發(fā)
(struts+mysql+spring+hibernate),之后是去做網(wǎng)絡(luò)交換機軟件的腳本測試?,F(xiàn)在又回歸內(nèi)部系統(tǒng),雖然在腳本組期間,編碼能力被別人甩在后頭,但至少具有了一些測試經(jīng)歷。 至少自己做的東西,是真正交付到了客戶手上,到也稍微有些成就感。
1、淺談測試
一直以來,我都認(rèn)為測試是脫離了軟件工程范圍的工作,不以為屑。但在實際情況中,測試是既重要且難以精湛的其真正的壓力,在于找不到bug,責(zé)任在你,而不在于編碼人員。一般的測試人員不懂編碼,他們靠的是日以累計的經(jīng)歷總結(jié)和想象力。而要做到高級測試工程師,那么一定要懂編碼,因為這是你完全掌握整個系統(tǒng)的方方面面詳細(xì)運作的前提。但占主導(dǎo)地位的,還是大型系統(tǒng)的集成測試經(jīng)歷。實際工程中,編碼時間一般只占30%左右,真正消耗時間的是IT階段的找 bug與對應(yīng)bug,此階段根本評定了coder的編碼質(zhì)量。
2、程序員的困惑
有些人,以為教學(xué)視頻和代碼看多,自己就懂的多,實際做起來,卻不知從何下手,問題在那?如何定位?如何解決?通通跟一樣能力有關(guān),debug追蹤能力,也稱調(diào)試。在工程組工作不愁源碼資源,但問題是蛋糕擺在面前,你如何去消化?
有位同事告訴我:代碼看幾遍都沒用,要去抄,例如一個查詢模塊,在此根底上去做詳細(xì)記錄的歷史記錄查詢模塊,你可能會覺得很簡單,但實際情況卻往往報一堆異常,配置問題涉及到方方面面,以及數(shù)據(jù)庫字段,傳值問題等等,一大堆對于新人來說很郁悶的問題。但不用怕,只要學(xué)會調(diào)試,一個個問題去追蹤,一個個去解決,自然而然,那段“源碼”才真正屬于你。
3、如何調(diào)試追蹤
如果你能在短短的時間內(nèi)就看到問題點在那,放下斷點去追蹤,出去找工作,絕對沒問題。出現(xiàn)問題的時候,不要光看代碼,要用實際行動去追蹤運行期間的詳細(xì)值,那是最好途徑。eclipse是個很爽的ide,這點做的很好。例如頁面內(nèi)容顯示不是自己想要的數(shù)據(jù),我們要先從數(shù)據(jù)庫查詢語句去下手,設(shè)置斷點,一步一步step over,讓sql字段(存取最終sql語句的字符串)運行到有值,inspect進(jìn)去看,如果還看不出來,就點擊它,copy后在sql客戶端去實際運行,看看實際查詢出來的表是什么,如果是對的,有可能就是頁面調(diào)用的錯誤或者action邏輯的傳值問題。
頁面錯誤的調(diào)試,根本方法是用右鍵點擊實際網(wǎng)頁查看源代碼,copy到editplus,就能看到詳細(xì)錯誤發(fā)生在那幾行。通常有幾種常見的錯誤,例如:缺少對象這種很多時候是有些被你調(diào)用的字段有可能為空的情況出現(xiàn)的,可以加if(__=null)語句加保護(hù)。追蹤的方法根本就是用alert語句,放在有可能出錯的地方。
4、一些習(xí)慣
遇到問題先自己思考,無從下手再找高手幫助看看,注意他幫你看的思路,別在一旁閑著,看多了自己也會了,不然你一輩子都停留在那種水平,從人身上學(xué)到的東西遠(yuǎn)遠(yuǎn)比書多的多。
解決了一個問題后,要去究根問底去找到問題產(chǎn)生的起因,以防你下次遇到類似的問題再浪費同樣的時間。
把代碼寫的漂亮,注釋、空行、標(biāo)準(zhǔn)一樣不能少,可讀性是放在第一位。曾經(jīng)看過一個高手寫的代碼,真的一看就是不同水平的人寫的,幾乎很完美,讀起來很流暢,方便自己也方便別人。 任務(wù)完后不要呆著,去要求經(jīng)理給你更有挑戰(zhàn)性的任務(wù),只要你肯去嘗試,他們就會對你另言相看,把三天的任務(wù)一天加班搞定,效率和忠誠都有了,路也比擬好走了。
在這次軟件工程課程中,我學(xué)到了很多東西,第一次深刻的體會到了什么叫做用工程化的思想來編寫軟件,以前自己也寫過一些小型軟件,沒有做過大型的工程,直到這次課堂我擔(dān)任組長并組織組員共同完成“個人圖書管理系統(tǒng)”這個工程,第一次和別人合作,才發(fā)現(xiàn)運用工程化的思想來做是如此的有必要。
從這里,我才真正的意識到實施一個軟件工程并不是說簡單的會編碼就能夠解決問題的,我們更多的精力不是放在編碼上,編碼只是一個很小的模塊,只占到那么小的一個局部。這個事實在很大程度上顛覆了我以前的思想,在我以前的認(rèn)識中,似乎整個軟件就是編碼,除此無它,還好有老師的指導(dǎo),不然真的會出現(xiàn)老師所說的,撞得頭破血流之后才想起來用軟件工程的思想來完成這個工作。
剛真正開始工作之前,我們費了很多的時間來完成一些前端工作,如需求分析和可行性分析,這塊工作在別人看來可能是相對無關(guān)緊要,甚至是多于的,其實,換做在以前,我也會這么認(rèn)為??墒牵椰F(xiàn)在算是深深地明白了磨刀不誤砍柴工的道理,這些工作的完成太有必要了,太重要了,要想你的軟件有用有市場,能被別人承受和認(rèn)可,在進(jìn)展過程中不會出現(xiàn)崩潰性的問題,這些工作缺一不可。
還有就是接下來的一些設(shè)計模塊,此模塊與軟件編碼涉及比擬嚴(yán)密,主要是解決一些參數(shù)傳遞和接口通訊的問題,此模塊對我的觸動遠(yuǎn)沒有上兩個模塊對我的影響大,因此再次也不做過多的介紹。 在整個活動的完成過程中,作為組長,我收獲很多,我發(fā)現(xiàn),要是組里有個人不怎么想做事情時,他對于整個組織的影響是消滅性的,正所謂“一顆老鼠屎,能壞一倉谷”,以后我的組織里要是出現(xiàn)這樣的人,我絕不會給他繼續(xù)留下來的時機,我會在第一時間將他去除出去。還有就是,作為組長,你要做的最重要的事情,不是發(fā)揮自己的聰明才智,而是創(chuàng)造出一個平臺,讓別人去發(fā)揮,你所要做得,出了保證這個平臺的完整性和公平性外,還有就是協(xié)調(diào)好各組員之間的關(guān)系。
轉(zhuǎn)眼,出來社會都已大半年,已是半個社會人了。不能再向?qū)W生那樣,某些時候可以隨心隨意。頂崗實習(xí),為我們提供了一個很好的實踐時機,可以讓我們更好的把理論應(yīng)用于實踐,在實踐中領(lǐng)悟理論,更可以學(xué)習(xí)到很多書本上學(xué)習(xí)不到的、甚至比理論知識更實用的業(yè)務(wù)知識。而且,這些實習(xí)經(jīng)歷,無疑是我們畢業(yè)后就業(yè)的一大籌碼。作為一個成年人,作為一個社會職業(yè)人,任何時候都要守規(guī)矩,做好自己的本分,承當(dāng)起自己所需要承當(dāng)?shù)呢?zé)任。經(jīng)歷了2家公司的工作,我漸漸的認(rèn)識到,每一份工作或每一個工作環(huán)境都無法盡善盡美,但每一份工作中都有許多珍貴的經(jīng)歷和資源,如失敗的沮喪、自我成長的喜悅、溫馨的工作伙伴、值得感謝的客戶等等,這些都是工作成功者必須體驗的感受和必備的財富。如果每天懷著感恩的心情去工作,在工作中始終牢記“擁有一份工作,就要懂得感恩”的道理,你一定會收獲很多很多。在你收獲很多很多的同時,你會發(fā)現(xiàn)自己已經(jīng)在鍛煉中變得勇敢,堅強,樂觀,闊達(dá)。這樣的你,是不斷前進(jìn)的走在成功的路上的。
在這次軟件工程課程中,我學(xué)到了很多東西,第一次深刻的體會到了什么叫做用工程化的思想來編寫軟件,以前自己也寫過一些小型軟件,沒有做過大型的項目,直到這次課堂我擔(dān)任組長并組織組員共同完成“個人圖書管理系統(tǒng)”這個項目,第一次和別人合作,才發(fā)現(xiàn)運用工程化的思想來做是如此的有必要。
從這里,我才真正的意識到實施一個軟件工程并不是說簡單的會編碼就能夠解決問題的,我們更多的精力不是放在編碼上,編碼只是一個很小的模塊,只占到那么小的一個部分。這個事實在很大程度上顛覆了我以前的思想,在我以前的認(rèn)識中,似乎整個軟件就是編碼,除此無它,還好有老師的指導(dǎo),不然真的會出現(xiàn)老師所說的,撞得頭破血流之后才想起來用軟件工程的思想來完成這個工作。
剛真正開始工作之前,我們費了很多的時間來完成一些前端工作,如需求分析和可行性分析,這塊工作在別人看來可能是相對無關(guān)緊要,甚至是多于的,其實,換做在以前,我也會這么認(rèn)為??墒?,我現(xiàn)在算是深深地明白了磨刀不誤砍柴工的道理,這些工作的完成太有必要了,太重要了,要想你的軟件有用有市場,能被別人接受和認(rèn)可,在進(jìn)行過程中不會出現(xiàn)崩潰性的問題,這些工作缺一不可。
還有就是接下來的一些設(shè)計模塊,此模塊與軟件編碼涉及比較緊密,主要是解決一些參數(shù)傳遞和接口通訊的問題,此模塊對我的觸動遠(yuǎn)沒有上兩個模塊對我的影響大,因此再次也不做過多的介紹。
在整個活動的完成過程中,作為組長,我收獲很多,我發(fā)現(xiàn),要是組里有個人不怎么想做事情時,他對于整個組織的影響是毀滅性的,正所謂“一顆老鼠屎,能壞一倉谷”,以后我的組織里要是出現(xiàn)這樣的人,我絕不會給他繼續(xù)留下來的機會,我會在第一時間將他清除出去。還有就是,作為組長,你要做的最重要的事情,不是發(fā)揮自己的聰明才智,而是創(chuàng)造出一個平臺,讓別人去發(fā)揮,你所要做得,出了保證這個平臺的完整性和公平性外,還有就是協(xié)調(diào)好各組員之間的關(guān)系。
學(xué)習(xí)軟件工程一個學(xué)期以來,我在陳燁老師的教導(dǎo)下確實獲益匪淺。軟件工程這門課,讓我對軟件的認(rèn)識有了大大的提升,從一開始對軟件工程的一無所知,到現(xiàn)在一學(xué)期下來的不斷學(xué)習(xí),懂得了許多的知識。
軟件不僅僅是程序,而是思想在硬件上的載體和體現(xiàn),軟件工程與其說是一門課程,不如說是一門思想。讓我懂得如何去分析和處理問題的過程,綜合解決問題。
在這段時間的學(xué)習(xí)中,我明白了一個完整的項目規(guī)劃須包括,軟件的定義,可行性分析報告,項目開發(fā)計劃,軟件需求說明書,概要設(shè)計說明書,詳細(xì)設(shè)計說明書,用戶操作手冊,測試計劃,測試分析報告等多個文檔,而軟件的生存周期可分為八個階段,分別是問題定義,可行性研究,需求分析,概要設(shè)計,詳細(xì)設(shè)計,程序設(shè)計,測試,文檔,技術(shù)支持,售后服務(wù)。而可行性包括經(jīng)濟,技術(shù),法律和社會。了解了許多軟件開發(fā)模型,比如瀑布模型,增量模型和螺旋模型,也了解了UML對象面向?qū)ο蠼?,知道如何畫流圖,碩果累累。其實軟件和程序是兩個不同的概念,軟件除了程序還要有使用和維護(hù)該程序所需要的全部文檔。包括需求文檔、設(shè)計文檔、測試文檔、維護(hù)文檔以及使用手冊。
軟件工程對于初學(xué)者來說,知識基礎(chǔ)較薄弱,對一些應(yīng)用操作、概念、工具方法等理解起來較為困難,需要很好的基礎(chǔ)知識的理解和掌握,所以說學(xué)好軟件工程不是僅僅書多看幾遍就可以成功,而是要多注意結(jié)合實際,多思考,面對錯誤不要一范就問,要嘗試自己去解決,然后舉一反三。
軟件工程這門課在我們畢業(yè)之后,是我們實際要運用的一項非常有用的技能,這門課讓我意識到理論學(xué)習(xí)很重要,而實踐更重要,實踐是檢驗真理的唯一標(biāo)準(zhǔn),只有實踐和理論相結(jié)合,才能使效益最大化。軟件工程的課雖然快要結(jié)束了,但是我對軟件工程的學(xué)習(xí)才剛剛開始,有了這些基本知識做鋪墊,在以后做項目的時候?qū)墙鉀Q問題的有效措施。
我是今年進(jìn)入__公司參加軟件開發(fā)實習(xí)的,在此次實習(xí)中,除了讓我明白工作中需要能力,素質(zhì),知識之外,更重要的是學(xué)會了如何去完成一個任務(wù),懂得了享受工作。當(dāng)遇到問題,冷靜,想方法一點一點的排除障礙,到最后獲取成功,一種自信心就由然而生,這應(yīng)該就是工作的樂趣。有時候不懂的就需要問別人了,虛心請教,從別人的身上真的能學(xué)到自己沒有的東西,每一次的挫折都會使我更接近成功。還有學(xué)會了在工作中與人的合作與交流,同樂同累,合作互助,這是團體的精神,也是必須學(xué)習(xí)的東西。
經(jīng)過之前的在校學(xué)習(xí),對程序設(shè)計有了一定的認(rèn)識與理解。在校期間,一直都是學(xué)習(xí)理論知識,沒有時機去參與工程的開發(fā)。所以說實話,在實習(xí)之前,軟件工程開發(fā)對我來說是比擬抽象的,一個完整的工程要怎么分工以及完成該工程所要的步驟也不是很明確。而經(jīng)過這次實習(xí),讓我明白了一個完整工程的開發(fā),必須由團隊來分工合作,并在每個階段中進(jìn)行必要的總結(jié)與論證。
一個完整工程的開發(fā)它所要經(jīng)歷的階段包括:遠(yuǎn)景范圍規(guī)劃和用例說明、工程結(jié)構(gòu)和風(fēng)險評估、業(yè)務(wù)功能說明書、詳細(xì)設(shè)計說明書、代碼實現(xiàn)、測試和安裝包等等。一個工程的開發(fā)所需要的財力、人力都是很多的,如果沒有一個好的遠(yuǎn)景規(guī)劃,對以后的開發(fā)進(jìn)度會有很大的影響,甚至?xí)霈F(xiàn)在預(yù)定時間內(nèi)不能完成工程或者完成的工程跟原來預(yù)想的不一樣。一份好的工程結(jié)構(gòu)、業(yè)務(wù)功能和詳細(xì)設(shè)計說明書對一個工程的開發(fā)有明確的指引作用,它可以使開發(fā)人員對這個工程所要實現(xiàn)的功能在總體上有比擬明確的認(rèn)識,還能減少在開發(fā)過程中出現(xiàn)不必要的麻煩。代碼的實現(xiàn)是一個工程開發(fā)成功與否的關(guān)鍵,也就是說,前期作業(yè)都是為代碼的實現(xiàn)所做的準(zhǔn)備。
我深刻的認(rèn)識到要成為一名優(yōu)秀的軟件開發(fā)人員不是一件容易的事情,不僅要有足夠的干勁和熱情,還要有扎實的編寫代碼根底,必須要有事先對文檔進(jìn)行可靠性報告,功能說明書,詳細(xì)設(shè)計說明書等的編寫和一些風(fēng)險評估的編寫的能力。
除了圖書館,最能讓我感覺到身在大學(xué)的`就是機房,在匆匆過去的兩個月內(nèi),我往返于機房與宿舍之間,使我享受了一個充實的學(xué)習(xí)時期,讓我感受到了大學(xué)的魅力,對自己充滿信心,對大學(xué)充滿信心,以積極的心態(tài)迎接明天挑戰(zhàn)。實習(xí)中要求有扎實的理論根本知識,操作起來才順心應(yīng)手,我這時才明白什么是書到用時方恨少。這就激發(fā)了學(xué)習(xí)的欲望。學(xué)以致用,就是要把學(xué)來的知識能運用到實際操作當(dāng)中,用實踐來檢驗知識的正確性。我想,這是實習(xí)的最根本目的。
紙上得來終覺淺,絕知此事要躬行!,在短暫的實習(xí)過程中,讓我深深感受到自己在實際運用中專業(yè)知識的匱乏。以前總以為自己學(xué)的還不錯,一旦應(yīng)用到實際就大不一樣了,這時才真正領(lǐng)悟?qū)W無止境的含義。經(jīng)過為期兩個月的電子政務(wù)效勞平臺系統(tǒng)開發(fā)的實習(xí),我對Visual軟件開發(fā)平臺有了更深一步的了解,對微軟根底類庫的認(rèn)識與使用也有了大大的提高。以及如何使用SQLServer數(shù)據(jù)庫進(jìn)行連接操作方面有了本質(zhì)的提高。
短短的實習(xí)結(jié)束了,為我將來的就業(yè)打下了良好的根底,也提高了我的軟件開發(fā)的水平,今后我將會更加努力的學(xué)習(xí),不斷提高自身素質(zhì),開拓創(chuàng)新,與時俱進(jìn),做一個優(yōu)秀的軟件開發(fā)工程師。
這學(xué)期學(xué)習(xí)了軟件工程實踐這門課,我覺得這是對上學(xué)期的軟件工程課程學(xué)習(xí)的檢驗,上學(xué)期學(xué)習(xí)軟件工程只是我們淺顯的認(rèn)識,相比之下,這學(xué)期就更加全面的說明了開發(fā)一個項目所需要的步驟以及開發(fā)項目過程中所需要注意的諸多細(xì)節(jié)。如果說上學(xué)期的課程注重理論基礎(chǔ)的話,那么這學(xué)期的軟工實踐,顧名思義,就是側(cè)重我們動手操作的能力。
原來我認(rèn)為開發(fā)一個項目最重要的就是寫代碼,似乎整個軟件都是編代碼,因為自己動手能力不強所以就很排斥做項目??墒墙?jīng)過我們學(xué)習(xí)軟工課程到團隊做項目再到學(xué)習(xí)軟件工程實踐課程之后,我才真正意識到實施一個軟件工程項目并不是說簡單的會編碼就能夠解決問題的,因為一個軟件的生命周期分為三個時期:軟件定義時期、開發(fā)時期、維護(hù)時期,而這三個時期整體又分為七個階段,他們分別是:問題定義、可行性研究、需求分析、總體設(shè)計、詳細(xì)設(shè)計、編碼和單元測試、綜合測試,由此可看出,當(dāng)我們開發(fā)一個項目時,更多的精力不是放在編碼上,編碼只是一個很小的模塊,而是項目的整體結(jié)構(gòu)上。
在寫軟工實踐體會之前,我想在這里總結(jié)一下上學(xué)期三人團隊做項目的相關(guān)事宜。上學(xué)期我們?nèi)藞F隊根據(jù)軟件開發(fā)的步驟開發(fā)一個名為“西大老鄉(xiāng)‘薈’”的社交系統(tǒng),主要是為西大學(xué)子提供一個找老鄉(xiāng)的平臺。雖然只進(jìn)行到詳細(xì)設(shè)計階段,沒有進(jìn)一步實現(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)行。雖然項目最后沒有完全實現(xiàn),但是起碼我們已經(jīng)初步體會到軟件項目開發(fā)的步驟,以及每一步所需要完成的文檔等內(nèi)容。
這學(xué)期的軟件工程實踐雖然不是親自動手開發(fā)一個系統(tǒng),但是張元平老師以“物聯(lián)網(wǎng)物流倉儲管理系統(tǒng)”為主給我們講解了一個真實系統(tǒng)的開發(fā)過程,從計劃到項目系統(tǒng)的發(fā)布實施,以及每一步必須生成的文檔。我主要從以下五個方面談一下我的心得體會。
第一、行業(yè)背景說明方面
對于一個軟件系統(tǒng)的開發(fā),第一步就是問題定義,了解所開發(fā)系統(tǒng)的行業(yè)背景,制定計劃。當(dāng)我們計劃確定以后就要對項目系統(tǒng)本身進(jìn)行可行性研究,主要從技術(shù)可行性、經(jīng)濟可行性和操作可行性三個方面著手。就比如《物聯(lián)網(wǎng)物流倉庫管理系統(tǒng)》的行業(yè)背景說明文檔中非常詳細(xì)地分析了當(dāng)下物聯(lián)網(wǎng)物流行業(yè)的整體業(yè)務(wù)說明、應(yīng)用背景、未來發(fā)展趨勢以及相關(guān)應(yīng)用案例等四個方面,項目團隊中系統(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)驗教訓(xùn)我會對這部分更加重視。
第三、系統(tǒng)概要設(shè)計方面
這部分內(nèi)容分說的是軟件設(shè)計時期的概要設(shè)計階段,該階段的主要目的就是實現(xiàn)系統(tǒng)的功能、設(shè)計軟件的結(jié)構(gòu)、模塊組成以及模塊之間的關(guān)系。在概要設(shè)計階段,我們可以站在全局的高度上,花較少的成本,從抽象的層次上分析對比多種可能的系統(tǒng)實現(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)才會具有更高的獨立性。
在原來做項目時沒有編寫過這類文檔,在該階段只是畫了結(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)容,從測試的文檔中我們可以得出,其實測試在軟件開發(fā)中同樣占據(jù)了重要的地位,它主要就是盡可能多的找到問題并排除其中的潛藏的錯誤,最終把一個高質(zhì)量的軟件系統(tǒng)交給用戶使用。它要求測試人員也要有很高的技術(shù)水平。
學(xué)習(xí)了這門課程, 還有老師們的多元化教課,不但讓我從理論上掌握軟件工程,還有從不同的實例,讓理論和實踐得到了很好的結(jié)合。整一個學(xué)期下來,總的來說還是學(xué)到了很多東西的,有很多地方是值得肯定的,其實在我看來,軟件工程與其說是一門課程,不如說是一門思想。是一個如何去分析和處理問題的過程,應(yīng)該說其范疇已經(jīng)遠(yuǎn)遠(yuǎn)不止局限于該門課程,成為了一個綜合的一個能夠解決問題的思想集合。
整本書的內(nèi)容邏輯很清晰明了,由淺入深循序漸進(jìn),首先我就大概描述下我們所學(xué)的內(nèi)容,第一章是從整體分析軟件工程這門學(xué)科的發(fā)展和所處的社會環(huán)境,接著后面的幾章深入分析了軟件開放過程和模式、軟件項目管理、計算機工程、需求分析、結(jié)構(gòu)化分析建模以及基于UML面向?qū)ο蠓治鼋5?。接著我就詳?xì)介紹下我對這門課程知識點的理解概括:
軟件:軟件是能夠完成預(yù)定功能和性能的可執(zhí)行的計算機程序和使程序正常執(zhí)行所需要的數(shù)據(jù),加上描述程序的操作和使用的文檔。軟件的特征:
①軟件是一種邏輯實體,而不是具體的物理實體,因而它具有抽象性。
②軟件是通過人們的智力活動,把知識與技術(shù)轉(zhuǎn)化成信息的一種產(chǎn)品。
③軟件成為產(chǎn)品后,其生產(chǎn)只是簡單的拷貝,不同于硬件制造。
④維護(hù)過程比硬件復(fù)雜的多,甚至?xí)l(fā)新的錯誤。
軟件危機:指的是軟件開發(fā)和維護(hù)過程中遇到的一系列嚴(yán)重問題。出現(xiàn)軟件危機的原因:
①軟件維護(hù)費用急劇上升,直接威脅計算機應(yīng)用的擴大。
②軟件生產(chǎn)技術(shù)進(jìn)步緩慢。軟件工程是指導(dǎo)計算機軟件開發(fā)和維護(hù)的工程學(xué)科。
軟件生存周期:一個軟件從定義到開發(fā)、使用和維護(hù),直到最終被棄用,要經(jīng)歷一個漫長的時期,通常把軟件經(jīng)歷的這個漫長的時期稱為生存周期。
軟件的生存周期可分為八個階段:
①問題定義;
②可行性研究;
③需求分析;
④總體(概要)設(shè)計;
⑤詳細(xì)設(shè)計;
⑥編碼與單元測試;
⑦綜合測試;
⑧軟件維護(hù);
瀑布模式:是傳統(tǒng)的軟件開發(fā)模式,其中的“瀑布”是對這個模式的形象表達(dá),由山頂傾瀉下來的水,自頂向下、逐漸細(xì)化。其特點是:線性化過程;分為分析、設(shè)計、編碼、集成等幾個階段,并且各階段逐級推進(jìn),不允許跨越。里程碑管理;階段評審;文檔驅(qū)動;簡潔便于工程應(yīng)用的線性化過程步驟,并可以通過里程碑管理機制而使項目進(jìn)程量化。其明顯的優(yōu)點就是沒個階段結(jié)束前都要對所完成的階段成果進(jìn)行評審,這使得軟件的錯誤能夠在個階段內(nèi)盡早發(fā)現(xiàn)并盡早解決,總的來說瀑布模式具有良好的質(zhì)量保證機制,有很強的生命力。
原型進(jìn)化模式:對軟件進(jìn)行直接模擬或仿真,只需要分析需求框架后進(jìn)行原型創(chuàng)建,再對原型系統(tǒng)進(jìn)行逐步細(xì)化與完善,通過版本更新逐步滿足用戶對于軟件的多方面需要。
增量模式:開發(fā)過程有三個任務(wù)域,分別是設(shè)計結(jié)構(gòu)、開發(fā)構(gòu)件和集成系統(tǒng),它既有完善的工程管理機制,又能適應(yīng)用戶需求變更,有利于質(zhì)量的監(jiān)控,并且各局部基于構(gòu)件構(gòu)造,有利于逐步構(gòu)建與完善;由于先交付核心構(gòu)件可利于降低項目的技術(shù)風(fēng)險。
螺旋模式:是一種可較好的規(guī)避開發(fā)風(fēng)險過程的模式,項目是基于任務(wù)的螺旋式推進(jìn),每個螺旋由內(nèi)之外分別是需求分析、軟件設(shè)計、系統(tǒng)集成、驗證與交付。
軟件開發(fā)的整個過程:
①需要項目團隊,組建優(yōu)秀的團隊可以開發(fā)出更搞質(zhì)量的軟件產(chǎn)品。任務(wù)開發(fā)團隊要求小而精,成員大多在8人以內(nèi),主要成員有項目負(fù)責(zé)人、開發(fā)人員、資料管理員和軟件測試員。
②項目計劃是為了使軟件開發(fā)各項工作有秩序地進(jìn)行,包括任務(wù)分配和基于里程碑的進(jìn)度安排,甘特圖和任務(wù)網(wǎng)絡(luò)圖是用來描述進(jìn)度計劃的工具。項目計劃書可以作為軟件開發(fā)的工作指南。
③項目成本估算,由于項目有來自各方面的成本包括工資開支、場地費、差旅費、設(shè)備費和資料費等,但是軟件主要是對人力成本的估算,常用的方法有程序代碼成本估算法等。
④軟件風(fēng)險管理包括很多不確定的風(fēng)險因素,如計劃風(fēng)險、管理風(fēng)險、需求風(fēng)險、技術(shù)風(fēng)險、人員風(fēng)險、產(chǎn)品風(fēng)險、用戶風(fēng)險和商業(yè)風(fēng)險等等,而風(fēng)險管理的主要任務(wù)是:風(fēng)險識別、風(fēng)險評估、和風(fēng)險防范。
⑤軟件文檔管理,軟件文檔是工程模式軟件開發(fā)的成果體現(xiàn),包括技術(shù)文檔、管理文檔和用戶文檔。
⑥軟件配置管理與軟件質(zhì)量管理,包括配置規(guī)劃、軟件變更控制、軟件版本控制和質(zhì)量控制計劃。
計算機系統(tǒng)由硬件、軟件、數(shù)據(jù)資源、網(wǎng)絡(luò)資源、使用系統(tǒng)的人等諸多元素。有三種典型的計算機體系結(jié)構(gòu):
①主機結(jié)構(gòu),主機集中了全部智能,并依靠終端接口與外部設(shè)備連接。
②Client/Server結(jié)構(gòu),智能分布于服務(wù)器與客戶機,并依靠網(wǎng)絡(luò)連接成系統(tǒng),其中,服務(wù)器處于核心位置,提供被動核心服務(wù);客戶機處于邊緣位置,可主動訪問服務(wù)器,尋求服務(wù)支持。
③Browser/server結(jié)構(gòu),可適應(yīng)互聯(lián)網(wǎng)遠(yuǎn)程交互的特殊結(jié)構(gòu),基于Web服務(wù)器構(gòu)建。
需求分析:系統(tǒng)開發(fā)前期需求分析很重要,它是為了有效解決用戶問題的需要進(jìn)行的一項工程活動,所需要考慮的需求問題是功能需求、數(shù)據(jù)需求、性能需求和接口需求,開發(fā)者承擔(dān)分析任務(wù),核心是用戶。其步驟有三個:
①獲取客戶需求,客戶泛指某個人或機構(gòu)部門等,一般方法是調(diào)查,包括訪談、座談、問卷、跟班和收集資料,需求規(guī)約可表達(dá)用戶的軟件價值。
②建立需求模型,它是用戶需求的圖解,一些常用的模型有:業(yè)務(wù)樹圖、用例圖、活動圖。分別用于結(jié)構(gòu)化需求建模、系統(tǒng)業(yè)務(wù)舉例和反映系統(tǒng)工作流程。
③進(jìn)行需求驗證,要驗證的主要內(nèi)容有:有效性驗證、一致性驗證、完整性驗證、現(xiàn)實性驗證和可檢驗性驗證。
結(jié)構(gòu)化分析建模:它是建立在需求規(guī)約基礎(chǔ)上的,對軟件問題進(jìn)行全面解說,包括四個方面:
①數(shù)據(jù)建模,它與數(shù)據(jù)庫設(shè)計密切相關(guān),ER圖涉及實體、關(guān)系、屬性等圖形元素,在業(yè)務(wù)層面建立數(shù)據(jù)庫概念模型,一般用于前期的建模構(gòu)想。
②功能建模,是對系統(tǒng)數(shù)據(jù)加工的圖解,數(shù)據(jù)流程圖是常用的建模工具,涉及數(shù)據(jù)接口、數(shù)據(jù)處理、數(shù)據(jù)流、數(shù)據(jù)存儲等圖形元素,用于描述系統(tǒng)數(shù)據(jù)加工細(xì)節(jié)。
③行為建模,行為模型用于說哦名軟件系統(tǒng)與環(huán)境的交互,狀態(tài)轉(zhuǎn)換圖常用的軟件行為建模工具涉及狀態(tài)、事件等圖形元素。
④數(shù)據(jù)字典,是用于定義軟件的元素,使軟件元素獲得嚴(yán)肅的、詳密的、精確的規(guī)格說明。需求分析模型中的數(shù)據(jù)、功能、行為等諸多方面的元素,都有必要通過數(shù)據(jù)字典給予細(xì)節(jié)說明,以達(dá)到對系統(tǒng)較完整全面的規(guī)格定義。
基于UML對象面向?qū)ο蠓治鼋#篣ML是統(tǒng)一建模語言,有統(tǒng)一的語法、語義和語用規(guī)則,其建模過程的特點是:用例驅(qū)動、以構(gòu)架為中心和增量迭代,通過包實現(xiàn)對模型的有效的一體化管理。包括三部分:
①用例建模,它面向用戶需求的,能夠反映系統(tǒng)的用戶價值,用例圖的基本元素有用例、參與者、交流;用例之間有泛化、延伸和包含關(guān)系。
②活動建模,活動圖用于描述系統(tǒng)動態(tài)過程,主要圖形元素有:活動、轉(zhuǎn)換、起點、終點、判斷、并發(fā)、同步、泳道等。可描述高層業(yè)務(wù)級活動,涉及整個業(yè)務(wù)流程,針對每個用例活動建模,反映用例內(nèi)部活動細(xì)節(jié)。
③類分析建模,這里就只考慮實體類,實體類所代表的數(shù)據(jù)相互之間通常有一定的關(guān)系,依靠這種關(guān)系可形成有組織的程序數(shù)據(jù)結(jié)構(gòu)。
實體類之間的主要數(shù)據(jù)關(guān)系有:關(guān)聯(lián)、聚類、泛化。
接下來我就簡單說下我上這門課的簡單的心得體會,我們是大四的學(xué)生了,也只有這個學(xué)期有課了,剛開始課表安排出來的時候覺得挺意外的,只有前八周有課,當(dāng)時我還是有點小感動的,大四事情很多,有要考研的和工作的,大家也都有各自的事情,如果有16周的課,那么每周課不是特別多,但是時間特別分散,也不能集中某段時間去做什么事情。但是相對于老師的.壓力也有,課程壓縮了相當(dāng)于每節(jié)課的教學(xué)任務(wù)大大增加了,在加上有些假期沖掉課,就感覺我們好像上課學(xué)不到什么東西,也只是一些關(guān)鍵的和考試掛鉤的才重點講,完全沒有擴展的時間和空間了。但是總的來說,學(xué)校開了這門課,我們上了這門課,總是學(xué)到了點東西的,不可能明明上了軟件工程這門課,卻像沒上一樣什么都不懂。在上課的時候我還是很認(rèn)真地去聽老師所講述的內(nèi)容的,我覺得他的思想和我一向而來的培養(yǎng)計算機學(xué)生綜合素質(zhì)的理解還是在一定程度上不謀而合了,所謂的需求獲取,那就是一個談判,辯論,交流的過程,已經(jīng)不是單純的編編程序就能解決的問題了。從我所看到的聽到的來說,我最怕的就是計算機系的學(xué)生被別人說成是個帶著厚眼鏡的,只能夠在電腦前編編程序的,在交際場上不知道說什么而一個字都說不出來的人。我覺得這樣的人進(jìn)入社會之后是沒有什么前途的,起碼他們?nèi)狈α伺c人溝通交流的能力。而這門課程在一定程度上給了我們這些學(xué)生一個機會來鍛煉自己在另一方面的能力,設(shè)想一下,一個又有技術(shù)又能夠與人交流合作的人所取得的成就自然要比一個單單只會編程序的人要大得多。其次,這門課程教給了我們在完成一個實際項目時的一般程序及過程,我認(rèn)為這是一份非常具有實際意義的教學(xué)內(nèi)容。當(dāng)我們在畢業(yè)之后,這是我們實際要運用的一項非常有用的技能,而且不僅僅局限于軟件工程的范疇,我們即使是從事與其它行業(yè),不也是要從需求獲取開始,一直有條有理地到最后成品的出爐嗎?應(yīng)該說這就是這門課的價值所在。無論是在上課,還是在學(xué)生會里面做學(xué)生工作,我都深深地感覺到,技術(shù)性的工作就好比變魔術(shù),其實原理是非常簡單的,甚至可以說簡單的可笑,但是當(dāng)你就是做出這么一個簡單的東西出來之后,一些外行們有時候會用崇拜的眼光看著你,覺得你很厲害,很高深莫測。但是制作的過程他們卻不知道,也許知道之后他們只是會啞然失笑,原來這個東西的制作過程是如此的簡單。這個可以說就是技術(shù)的魅力了,而作為需求獲取及之后的一系列過程則是類似于魔術(shù)揭秘的過程,但是作為這個秘密我們并不需要一揭到底,至于揭的程度如何那就是我們那就是我們學(xué)出的程度如何了,我們要讓對方知道我們在做什么?以及如何去做?這些東西需要我們以一定的技巧敘述出來,所起到的作用就是能夠讓對方了解自己的進(jìn)度,卻又能夠不讓對方來干涉自己的工作過程。因為我們是技術(shù)員,對方只是外行,即使對方知道了這個魔術(shù)的操作過程,也并不代表他們就能夠向變著魔術(shù)的我們來隨便修改這個魔術(shù)的變法,況且我們能夠用不同的過程來得出一個同樣的結(jié)果,這個過程的得出的主動權(quán)如何掌握在我們的手上,就看我們?nèi)绾我愿呙鞯姆绞絹斫议_這個魔術(shù)的謎底了。當(dāng)然了,在純粹的理論上,我覺得開設(shè)這樣一門課程是很成功的。但是畢竟現(xiàn)實里有太多的不確定的因素。最重要的因素就是授課的老師和聽課的學(xué)生。這兩個可以說是這門課成與敗的決定性的因素。
作為我們學(xué)生來說,應(yīng)該負(fù)起比較主要的責(zé)任。在大學(xué)里有了太多的基礎(chǔ)課程,基礎(chǔ)課程大多都比較枯燥無味,也許在第一個學(xué)期里我們還能夠保持著新鮮感,但是在6學(xué)期之后,可以說再有新鮮感就是一件比較困難的事情了,我們都已經(jīng)開始變得遲鈍了。其次的,沒有認(rèn)識到這門課程的價值。這門課的價值我已經(jīng)在上面說過了,是不言而喻的。但是并不是每個同學(xué)畢業(yè)之后都回從事計算機行業(yè),也不是每個同學(xué)都知道這門課程的意義已經(jīng)不僅僅局限于計算機這個范疇?;蛟S有些人覺得反正以后不是這個發(fā)展方向,也就不在乎這個課程吧。我個人覺得這門課確實是挺好的,如果認(rèn)真學(xué)必能學(xué)到很多東西,動手實踐能力和從整個大體分析系統(tǒng)開發(fā)的邏輯性思維也會明顯增強,不管以后從事哪個方面的工作,這對以后來說都是一筆很大的隱性財富。說到我自己對這么課的學(xué)習(xí),還是有點愧疚的,前面四周我每周每節(jié)課都去上的,并且上課也認(rèn)真聽,一邊聽老師講課一邊自己看書本的介紹,但是后來我上這門課的次數(shù)就降低了,因為覺得時間很緊吧,而且老師上課的節(jié)奏我個人覺得有點慢,我都可以自己預(yù)習(xí)看到后面去了,但是這門課我還是每周至少上一節(jié)課的,雖然我早上7點多一點就出門,在自習(xí)室,但是有時候明明知道到了上課的時間,明明上課的地方離自習(xí)的地方不遠(yuǎn)也不太想去。我記得有次上課時候老師生氣了,說來上課的人少,我仔細(xì)環(huán)顧了下四周發(fā)現(xiàn)確實人很少,稀稀疏疏的分散著,看起來確實不太舒服,讓我不得不反思了,這大學(xué)的教育到底怎么了,怎么到了大四大家都不來上課,雖然我不是每節(jié)課都來,但是我還是時不時來上課的,可能是比較浮躁吧,快畢業(yè)了,覺得上課學(xué)不到什么實際的東西,要么實際一點好好考研繼續(xù)深造,要么去培訓(xùn)增強實踐能力這樣才能較好的為找個滿意的工作做好鋪墊。
《軟件工程》課程既強調(diào)基本概念和基本知識的理解和掌握,又側(cè)重軟件項目的分析、設(shè)計、實現(xiàn)和維護(hù)的基本技能。比較注意“點”和“面”的結(jié)合。我還是蠻喜歡這門課的,通過對這門課的學(xué)習(xí)讓我意識到理論學(xué)習(xí)很重要,實踐更重要,實踐是檢驗真理的唯一標(biāo)準(zhǔn),只有將理論與實際結(jié)合,才更能發(fā)揮我們所學(xué)的知識的作用,更能直接的創(chuàng)造效益,社會和國家做出貢獻(xiàn)。
一、需求分析和概要設(shè)計。
1)需求分析
按照軟件工程的軟件過程來說:
1需求分析產(chǎn)生了軟件功能規(guī)格說明書,需要確定用戶對軟件的需求,要作到明確、無歧義。不涉及具體實現(xiàn)方法。用戶能看得明白,開發(fā)人員也可據(jù)此進(jìn)行下面的工作(概要設(shè)計)。
2.概要設(shè)計產(chǎn)生了軟件概要設(shè)計說明書,說明系統(tǒng)模塊劃分、選擇的技術(shù)路線等,整體說明軟件的實現(xiàn)思路。并且需要指出關(guān)鍵技術(shù)難點等。
在進(jìn)行需求分析時,我們既是開發(fā)者又是用戶,本系統(tǒng)的業(yè)務(wù)流程與業(yè)務(wù)分類的定義比較難。我們的團隊進(jìn)行了研討,還充分運用了身邊的各種資源,大量的查找了很多網(wǎng)絡(luò)上關(guān)于工資系統(tǒng)的資料。通過資料的進(jìn)行討論、根據(jù)我們的課題進(jìn)行分析,最后確定了用戶的需求為:
1.本系統(tǒng)在高校應(yīng)用后高校工資管理方面的教職工將減少至目前的50%左右;
2.本系統(tǒng)在高校應(yīng)用后將在高校各方面的成本將會有所降低;
3.本系統(tǒng)在高校應(yīng)用后將教職工的工資達(dá)到完全透明,計算更加精確教職工因糾紛事件減少到1%。 根據(jù)分析將系統(tǒng)的功能從一般教職工與系統(tǒng)管理者兩個角度將功能劃分為7個模塊,當(dāng)然介于我們的知識有限,有的功能沒有實現(xiàn):員工工資與考勤直接掛鉤,但本系統(tǒng)無法與員工考勤系統(tǒng)掛鉤相連,由于涉及此系統(tǒng)時該高校并沒有員工考勤系統(tǒng),而且我們在最初進(jìn)行商量的時候也沒有提出該要求。
2)概要設(shè)計
從概要階段開發(fā)正式進(jìn)入軟件的實際開發(fā)階段,本階段完成系統(tǒng)的大致設(shè)計并明確系統(tǒng)的數(shù)據(jù)結(jié)構(gòu)與軟件結(jié)構(gòu)。在軟件設(shè)計階段主要是把一個軟件需求轉(zhuǎn)化為軟件表示的過程,這種表示只是描繪出軟件的總的概貌。由概要設(shè)計說產(chǎn)生大的概要說明書的目的就是進(jìn)一步細(xì)化軟件設(shè)計階段得出的軟件總體概貌,把它加工成在程序細(xì)節(jié)上非常接近于源程序的軟件表示。
在本階段主要涉及處理流程的設(shè)計、總體結(jié)構(gòu)和模塊外部設(shè)計、功能分配。在接口設(shè)計上有用戶接口、外部接口、內(nèi)部接口;數(shù)據(jù)結(jié)構(gòu)設(shè)計有邏輯結(jié)構(gòu)設(shè)計、物理結(jié)構(gòu)設(shè)計等等。在接口設(shè)計時參考了大量的資料。
最后就是編寫文檔——軟件需求說明書、概要分析說明書。
而文檔的作用在于:一是可以幫助整理思路。把要完成的目標(biāo),系統(tǒng)的結(jié)構(gòu),每一個模塊的功能等整理一下,然后分門別類地寫下來,這樣在開發(fā)的過程中,就有據(jù)可依,在需要回過頭來修改設(shè)計的時候,也有證可考。二是便于交流。三是可以作為以后維護(hù)時的參考資料。
三、軟件工程課程設(shè)計——心得體會
我們進(jìn)行了為期一周的課程設(shè)計。通過這次課程設(shè)計,我拓寬了知識面,鍛煉了能力,綜合素質(zhì)得到較大提高。安排課程設(shè)計的基本目的,在于通過理論與實際的結(jié)合、人與人的溝通,進(jìn)一步提高思想覺悟。尤其是觀察、分析和解決問題的實際工作能力,以便培養(yǎng)成為能夠主動適應(yīng)社會主義現(xiàn)代化建設(shè)需要的高素質(zhì)的復(fù)合型人才。作為整個學(xué)習(xí)體系的有機組成部分,課程設(shè)計雖然安排在一周進(jìn)行,但并不具有絕對獨立的意義。它的一個重要功能,在于運用學(xué)習(xí)成果,檢驗學(xué)習(xí)成果。運用學(xué)習(xí)成果,把課堂上學(xué)到的系統(tǒng)化的理論知識,嘗試性地應(yīng)用于實際設(shè)計工作,并從理論的高度對設(shè)計工作的現(xiàn)代化提出一些有針對性的建議和設(shè)想。檢驗學(xué)習(xí)成果,看一看課堂學(xué)習(xí)與實際工作到底有多大距離,并通過綜合分析,找出學(xué)習(xí)中存在的不足,以便為完善學(xué)習(xí)計劃,改變學(xué)習(xí)內(nèi)容與方法提供實踐依據(jù)。對我們信息管理與信息系統(tǒng)專業(yè)的學(xué)生來說,實際能力的培養(yǎng)至關(guān)重要,而這種實際能力的培養(yǎng)單靠課堂教學(xué)是遠(yuǎn)遠(yuǎn)不夠的,必須從課堂走向?qū)嵺`。這也是一次預(yù)演和準(zhǔn)備畢業(yè)設(shè)計工作。通過課程設(shè)計,讓我們找出自身狀況與實際需要的差距,并在以后的學(xué)習(xí)期間及時補充相關(guān)知識,為求職與正式工作做好充分的知識、能力準(zhǔn)備,從而縮短從校園走向社會的心理轉(zhuǎn)型期。課程設(shè)計促進(jìn)了我系人才培養(yǎng)計劃的.完善和課程設(shè)置的調(diào)整。
在一個星期的課程設(shè)計之后,我們普遍感到不僅實際動手能力有所提高,更重要的是通過對軟件開發(fā)流程的了解,進(jìn)一步激發(fā)了我們對專業(yè)知識的興趣,并能夠結(jié)合實際存在的問題在專業(yè)領(lǐng)域內(nèi)進(jìn)行更深入的學(xué)習(xí)。
軟件工程課程雖已結(jié)束,但我對于軟件工程的學(xué)習(xí)才剛剛開始。我體會到項目管理的重要性,隨著軟件規(guī)模、復(fù)雜度的不斷增加,項目開發(fā)中更多的是協(xié)作、管理和控制。我學(xué)習(xí)到很多一般性的方法,例如:需求獲取、模塊化、計劃等等。同時,我也認(rèn)識到使用計算機解決實際問題的復(fù)雜性,人們認(rèn)識表達(dá)的過程不斷反復(fù)、逐步深化,軟件工程方法要提供給程序員們一種更加有效的對客觀世界問題域進(jìn)行形式化的過程方法。