A. 如何寫計算機專業的畢業論文
學術堂手把手得來教你如何寫出一篇計算機專業的畢業論文:
首先是選題,一般老師都會提供若干個選題給你選,其中必然包括幾個"XX系統的設計與開發",這樣的選題就是符合我們前面的假設和預想的.盤他!假設我現在選了一個題目是"基於SSM的XX網上商城的設計與開發".
選完題目就面臨著一個問題:是先做開發還是先寫文章,或者是一邊寫一邊開發.我的建議是一邊寫一邊開發.原因是:開發的過程是需要寫一些文案的,比如需求分析、資料庫的表結構的關系、整個系統的交互邏輯等等.而這些文案是可以出現在我們的論文當中的.
那接下來就說一下如何開發和寫文論,當然某些開發過程我只能粗略的說一下.
1.摘要:
這是所有論文的第一個小title,說他惡心有時候也惡心,說他簡單也是蠻簡單的.那麼這一部分究竟是要寫什麼的?由於這一部分需要展現出做這個系統的必要性、開發這個系統的實現方式、系統的功能和系統的作用.所以可以這樣寫:
?隨著中國經濟的高速發展以及網路技術的普及,互聯網的技術得到全面的發展,中國的各行各業都在互聯網的影響下發生了變革.互聯網的快速發展催生了許多產業,其中最具代表性的便是電子商務,電子商務使得企業和客戶的營銷關系由實體店銷售准換為網路電子商務營銷.馬雲曾說:"讓天底下沒有難做的生意",越來越多的店家選擇在網上開店,使得交易不再限制於天南地北,同時也大大降低了店家的經營成本,在提高收益的同時,也方便了客戶,本課題正式在這種背景下應運而生.
本課題介紹了"基於SSM的XX網上商城"的開發環境、需求分析、界面設計和資料庫設計以及涉及到的框架.
本系統採用了B/S架構,使用了java、HTML、JS等語言,使用了主流的後台開發框架SSM(spring+springMVC+Mybatis),以及採用了開源的輕量級資料庫Mysql進行開發,為網路商城提供了前端展示和後台管理的模塊,實現了注冊、登錄以及購物等主要功能,為消費者提供了便捷快速的購物體驗,以及為提高了店家的銷售效率.
關鍵字:網上商城,SSM,Java,HTML,JS,MySQL
(關鍵字一般就是把摘要中提及到的關鍵性技術提取出來,讓閱讀者一目瞭然,知道哪些是重點)
Abstract:......
(英文摘要建議谷歌翻譯,然後把明顯錯誤的地方修改一下即可)
2.第一章:引言
這一部分也是比虛的,其實隨便扯一扯就可以了,一般包含以下幾部分1.背景2.研究內容.其中背景主要講一些關於社會發展的趨勢導致了一些什麼問題,而這些問題又應該如何去解決,多說幾句,寫到兩三百字即可.研究內容就是針對上述的背景我們如何進行改進.細心的同學可能會說,感覺跟摘要有些重復.是的!這兩部分內容其實是挺重復的,但是沒關系,不過不要使用完完全全一樣的話去描述,因為最後論文查重的時候會對文章自引用進行查重的.這一部分也是三五百字即可.
3.第二章:系統的開發技術介紹
這一部分是需要我們在正式開發之前做好的技術調研,然後對這一部分的技術進行詳細的介紹.這一部分我不可能細講,因為內容太多了,而且對於不同的項目有不同的內容,在查閱資料的過程也是提升技術的一個重要的環節,你可以真真切切的了解到開發一個工程是需要哪方面的知識,因此我就對我所選的這個課題應該使用到的技術棧進行一下介紹,也算是拋磚引玉,各位同學可以根據自己的實際情況進行撰寫.
開發不同的系統雖然涉及到的業務邏輯不同,處理方式也千差萬別,但是本質上都是一樣的,都是前端界面通過伺服器跟資料庫進行數據交互的一個過程,涉及到的內容也無非就是前端、後台和伺服器.但是有一個需要注意的點,就是不要把HTML、JAVA等使用的語言介紹也給堆在這里,老師沒細看還好,細看還是會顯得太水字數了,記住,寫工程性的課題不怕沒字數.那問題來了,語言介紹不給寫那應該些什麼呢?應該寫涉及到的框架、使用的工具.這些就夠了,隨隨便便就幾千字了.下面舉例簡單說明一下.
a. 前端
強調一下,不要把HTML、CSS等一下前端的規范展開來寫,可以輕描淡寫,但篇幅不能過多.這里可以寫前端框架的使用,比如使用npm管理包(可以介紹一下npm以及在工程中的使用)、vue的使用(同樣可以介紹vue框架以及應用)、element(element以及使用他的好處)等等.也希望同學在做畢設的過程中要真的去了解這些技術並且去使用它,相信我,看完再去用你的技術會有質的飛躍.
b. 後台
這一部分是重點,對於本課題來說,標題就寫了是基於SSM的.對於這個java框架並不熟悉的同學來說建議先去查一下資料,而且很多同學會有疑問,使用技術框架的目的就是為了讓開發更加的便捷和快速,但是為什麼我們自己在開發的過程中會感覺好像變得更加復雜?很負責任的告訴你,是正常的.因為框架不僅會幫我們封裝好一些常用的方法,而且會考慮到更新迭代以及代碼可讀性等等的一系列的問題,某些規定和配置我們之所以沒有感受到他的好處是因為這種校園內的開發並不涉及生產問題,也不會有很多的更新迭代,更加不會考慮到代碼的可讀性.例如spring的工廠,一開始使用的時候很多同學會覺得為什麼我new一個類的時候還要去改配置文件,直接new不香嗎?直接new是很香,但是你考慮到真正去工作的時候,假設你要改類的一些關系的時候,還要去改代碼,當工程一大,代碼去哪裡找呢?一個一個文件看嗎?顯然是非常不可取的,效率非常低,這個時候配置文件的優勢就發揮出來了,直接修改配置文件,不需要更改代碼,耦合性也大大的降低.好像跑題了,說了這么多就告訴同學們,要沉住氣,理解框架這樣設計背後的原因,對大家自身技術的提高非常的有幫助!
那這一部分我們就可以介紹spring(包括spring的IOC、spring的工廠、spring的AOP等等,並且可以在論文中強調如何應用到我們的系統當中)、springMVC(這一部分可以講解srpingMVC作為一個連接前端和資料庫的工具在實際工作過程中的具體流程,也可以講述springMVC的分層的概念以及如何應用)、Mybatis(包括跟JDBC的關系、mybatis依賴的配置、使用到的介面、動態代理、一級緩存和二級緩存以及延遲載入等等的一些技術問題)
c. 伺服器和資料庫
這一部分可以介紹一下用來搭建伺服器的工具和所使用的資料庫.假設你是使用了雲伺服器來搭建了,可以詳細介紹一下雲伺服器的搭建過程包括防火牆、埠等等內容.一般伺服器使用tomcat進行搭建,可以把tomcat介紹一下並且介紹一下tomcat是如何監聽和解析用戶請求的具體流程.
一般小型的項目採用MySQL作為資料庫,可以詳細說一下選擇MySQL的原因,比如相對於Oracle的好處.可以介紹一下MySQL資料庫的一些特點包括分頁、是否支持事務等等.
4.第三章:需求分析
這一部分是針對具體的業務場景來分析需要開發哪些功能,這一部分可以讓你感受一下產品經理的職責,只不過不需要跟程序員對接,因為你自己就是程序員哈哈.一般來說分成兩部分就可以了,一部分是對於前端的業務流程,另一部分就是後台伺服器的業務流程,可以使用一些軟體來繪畫流程圖,想圖個方便可以直接使用word自帶的圖形進行編寫,也不至於難看,就比較簡約.想做的好看點的話個人推薦使用xmind,非常簡單,可以快速做出美觀的流程圖.如果沒有什麼思路,那前端就按照著使用者的邏輯去寫,比如用戶需要注冊、登錄、找回密碼、購物、退貨等操作,那後端就對應著這些前端邏輯需要有相應的業務處理.個人感覺這一部分比較好寫,就不再贅述.
5.第四章:系統的設計和實現
這一部分可以挑選一些有代表性的功能出來細講,有些同學可能會有疑問,論文可不可以貼代碼呢?答案是可以的.但是我個人的建議是貼偽代碼,不要把你寫的長篇大論的代碼全部放進去,不好看而且邏輯混亂,應該做的是把代碼抽取為偽代碼,貼代碼的目的是為了讓閱讀者清晰地讀懂你是如何實現這個功能的,他並不會在意你的語法你的命名.下面列舉若干個可以寫的內容,並不限於此.
a. SSM框架的整合.如何使用Spring來整合並且管理SpringMVC和Mybatis.
b. 客戶登錄狀態保存的實現.這一部分可能會涉及到cookies,sessions以及http報文解析等等,都可以詳解.
c. 後台商品管理的功能.這一部分可以根據管理員的後台管理功能進行描寫.
d. 商品搜索功能.可以涉及到資料庫的模糊搜索.
e. 資料庫表格的設計.可以體現資料庫表格設計的時候如何遵守三範式.
f. 可以寫在開發過程中遇到的一些疑難雜症.
g. 可以寫開發過程中使用到的一些比較具有亮點的語言特性.比如java的多線程、lambda表達式.又比如實現注冊功能的時候使用的正則表達式.
……
等等數不勝數.
6.第五章:運行結果
這一部分非常好寫了.截取一些關於你的系統的界面並且介紹一下功能,盡量說詳細點,就ok了.
7.第六章:總結以及展望
這一部分也是比較水的一部分,但是也希望同學們認真寫一寫.可以寫一下你開發這個項目的過程中學習到了什麼,可以是XX技術,也可以是艱苦奮斗的精神…….展望可以寫有望發展成另外一個淘寶……開玩笑開玩笑,總之劈里啪啦湊個幾百字即可.
8.參考文獻
把你開發過程中參考過的文章、論文貼進去之後,往往會發現參考文獻不夠,太少了!那怎麼辦呢?那就貼一些關於使用的技術的文章或者參考手冊咯,雖然大部分是沒看過的,但是還是希望大家可以多少看一看(正義之氣躍然紙上).去知網查找參考文章然後添加到你的參考文獻是非常方便的,只需要找到對應的文章並且選擇"引用"功能,即可自動生成引用的文字,直接復制到你的論文中.
9.致謝
第一步,感謝你的導師,感謝你的院領導,感謝你的校領導.說的好聽後可能答辯的時候不會太為難你……然後你要感謝你的家人你的舍友你的朋友或者是你家的狗(開玩笑),都可以的,這一部分又輕輕鬆鬆兩百字.
B. java面向對象思想如何理解
從現實世界中客觀存在的事物(即對象)出發來構造軟體系統,並在系統構造中盡可能運用人類的自然思維方式,強調直接以問題域(現實世界)中的事物為中心來思考問題,認識問題,並根據這些事物的本質特點,把它們抽象地表示為系統中的對象,作為系統的基本構成單位(而不是用一些與現實世界中的事物相關比較遠,並且沒有對應關系的其它概念來構造系統)。這可以使系統直接地映射問題域,保持問題域中事物及其相互關系的本來面貌。
它可以有不同層次的理解:
從世界觀的角度可以認為:面向對象的基本哲學是認為世界是由各種各樣具有自己的運動規律和內部狀態的對象所組成的;不同對象之間的相互作用和通訊構成了完整的現實世界。因此,人們應當按照現實世界這個本來面貌來理解世界,直接通過對象及其相互關系來反映世界。這樣建立起來的系統才能符合現實世界的本來面目。
從方法學的角度可以認為:面向對象的方法是面向對象的世界觀在開發方法中的直接運用。它強調系統的結構應該直接與現實世界的結構相對應,應該圍繞現實世界中的對象來構造系統,而不是圍繞功能來構造系統。
從程序設計的角度來看,面向對象的程序設計語言必須有描述對象及其相互之間關系的語言成分。這些程序設計語言可以歸納為以下幾類:系統中一切皆為對象;對象是屬性及其操作的封裝體;對象可按其性質劃分為類,對象成為類的實例;實例關系和繼承關系是對象之間的靜態關系;消息傳遞是對象之間動態聯系的唯一形式,也是計算的唯一形式;方法是消息的序列。
面向對象
面向對象(Object
Oriented,OO)是當前計算機界關心的重點,它是90年代軟體開發方法的主流。面向對象的概念和應用已超越了程序設計和軟體開發,擴展到很寬的范圍。如資料庫系統、互動式界面、應用結構、應用平台、分布式系統、網路管理結構、CAD技術、人工智慧等領域。
談到面向對象,這方面的文章非常多。但是,明確地給出對象的定義或說明對象的定義的非常少——至少我現在還沒有發現。其初,「面向對象」是專指在程序設計中採用封裝、繼承、抽象等設計方法。可是,這個定義顯然不能再適合現在情況。面向對象的思想已經涉及到軟體開發的各個方面。如,面向對象的分析(OOA,Object
Oriented
Analysis),面向對象的設計(OOD,Object
Oriented
Design)、以及我們經常說的面向對象的編程實現(OOP,Object
Oriented
Programming)。許多有關面向對象的文章都只是講述在面向對象的開發中所需要注意的問題或所採用的比較好的設計方法。看這些文章只有真正懂得什麼是對象,什麼是面向對象,才能最大程度地對自己有所裨益。這一點,恐怕對初學者甚至是從事相關工作多年的人員也會對它們的概念模糊不清。
面向對象是當前計算機界關心的重點,它是90年代軟體開發方法的主流。面向對象的概念和應用已超越了程序設計和軟體開發,擴展到很寬的范圍。如資料庫系統、互動式界面、應用結構、應用平台、分布式系統、網路管理結構、CAD技術、人工智慧等領域。