畢業設計答辯技巧&降重技巧

  • 做者提供遠程調試服務
  • 做者提供畢業設計模擬答辯視頻
  • 聯繫方式VX: zhixing480

問題1:你這個項目用到了SSM/SSH/JSP/JavaWeb,是怎麼體現的?

    在解答的過程當中,流程遵循:頁面–>Controller/Action–>Service–>DAO–>數據庫,這期間數據的傳輸,數據的判斷,數據的返送,返送後頁面的返顯,要着重強調。javascript

以SSM的登錄流程爲例html

  • 1.login.jsp經過form表單,提交用戶名:username,密碼:password,對應的Action爲:login.action/login.dojava

  • 2.經過SpringMVC框架的@RequestMapping註解匹配,從JSP進入Controller/Action中,此時username和password也從頁面傳輸到了Controller/Actionajax

  • 3.Controller/Action會調用Service層[業務邏輯處理層],此時數據username和password從Controller/Action傳輸到了Servicesql

  • 4.Service繼而調用DAO[數據庫交互,方法定義層],數據再一次從Service傳輸到DAO數據庫

  • 5.DAO和數據庫進行交互,將數據融入sql語句中,執行查詢設計模式

  • 6.數據庫返回查詢結果到DAO瀏覽器

  • 7.DAO返回查詢結果到Service服務器

  • 8.Service返回查詢結果到Controller/Action架構

  • 9.Controller/Action返回查詢結果到login.jsp,頁面根據返回的結果進行判斷,登錄成功仍是失敗

  • 10.總結:數據是一直在傳輸的,爲何設計這麼多層?能夠理解爲一種設計模式,每一層作本身對應的業務,提升效率,邏輯分明。

問題2:你在進行數據庫設計的時候,有什麼技巧嗎?

  • 1.幾個關鍵詞不懂的先去查一下,避免老師問的時候不知道:數據字典,三段式,主鍵,外鍵,自增主鍵,E-R圖
  • 2.數據庫設計通常會遵循三段式
  • 3.數據庫通常會採起外鍵關聯
  • 4.數據庫設計通常不採起強制外鍵關聯。這句話和上面不矛盾哦,我會在下面的例子中詳細解釋

舉例
  學生表T_STUDENT,教師表T_TEACHER,課程表T_COURCE,表結構分別以下

ID NAME
1 小何
ID NAME
1001 王老師
1002 李老師
ID NAME STUDENT_ID TEACHER_ID
101 MySQL數據庫 1 1001
102 通訊原理 1 1002

  上面的學生表,教師表都沒有須要說明的地方,關鍵在於第三張課程表,有兩個外鍵外聯,一個STUDENT_ID,關聯T_STUDENT裏的ID,一個TEACHER_ID關聯T_TEACHER裏的ID,也就是說:T_COURCE中的STUDENT_ID和TEACHER_ID是和T_STUDENT,T_TEACHER的主鍵一致的,但並不採起外鍵關聯。外鍵關聯會產生一種弊端:數據不存在時,後臺數據庫會報錯,如咱們在新增一條課程信息時:「103,電磁場與電磁波,1,1009」,這個1009不存在,就會報錯,致使系統崩潰,不能進行下一次使用。

解決方案:新增以前,針對關聯得ID進行一次查找,如上數據,分別針對ID=1,ID=1009去T_STUDENT,T_TEACHER查找一次,沒有就在前臺頁面提示:「無對應的ID信息,請覈對後再上傳」。

問題3:給我找到XX模塊的代碼,並講解一下[XX流程是怎麼實現的]?

   這個問題,對於學習不深,瞭解很少的咱們,應該是最難的一個問題,仍是遵照發給你們的講解視頻中找代碼的思路:

  • 1.在瀏覽器"右鍵檢查"咱們須要審查的元素,看它是在一個form裏,仍是Ajax,仍是Href,分別對應下面的訪問路徑

方式一:

<form action="login.action">

方式二:

ajax{
     url:/login.action
}

方式三:

href="login.action"
  • 2.在Eclipse中,ctrl + H,選擇File Search,粘貼上面的login【演示不一樣的模塊,多是不一樣的*.action,複製粘貼*便可】在Containing text裏,File name patterns中輸入 * ,點擊右下角Search

  • 3.基於以上,會找到一個Controller/Action裏的代碼,此時便從前臺頁面進入了後臺接口代碼

  • 4.進入Controller/Action裏的Service

  • 5.進入Service裏的Dao

  • 6.經過Dao找到關聯的數據庫語句,有多是hql(SSH),有多是xml(SSM),有可能就是sql(原生語句)

  • 7.以上就完成了一次代碼的查找

  • 8.總結:右鍵檢查頁面–》查找代碼–》Controller/Action–》Service–》DAO–》DB

問題4:你以爲這個系統還有什麼須要完善的地方?

   通常問這個問題的時候,答辯基本結束,具體可參考下面幾個解答

  • 1.若是咱們使用的是JSP,可說:後期頁面計劃採用靜態化模板freemarker,節省服務器資源和壓力

  • 2.大部分項目都只是本地安裝,可考慮內網穿透或部署到雲服務器,讓全部人均可以訪問咱們的項目

  • 3.項目服務器單一,只有一臺Tomcat,可考慮針對Tomcat搭建簡單的平行集羣,加強系統穩定性

  • 4.系統併發能力有待提高,後期進一步學習中,考慮使用Nginx進行項目的負載均衡配置

問題5:整個項目你的工做流程是怎麼進行的?

  這個問題,傲視通常是想看看這個畢設究竟是不是咱們作的,通常項目的搭建遵循下面的步驟:

  • 1.設計數據庫表,遵循三段式,設計出數據字典後,進行數據庫,表的建立

  • 2.搭建項目架構[SSM,SSH,Maven]

  • 3.建立POJO/Model

  • 4.建立DAO/Mapper,並進行測試

  • 5.建立Service,並進行測試

  • 6.建立Controller/Action,並進行測試

  • 7.建立JSP/HTML頁面,並進行先後臺聯調

  • 8.完成一個流程

問題6:若是講解的過程當中,遇到不會的怎麼辦?

   不要慌張!不要慌張!不要慌張!我在平時工做中,前面寫的代碼,後面再看還須要再看一遍才能回想起當時的邏輯,此時咱們要作的就是:右鍵檢查,找到代碼,看代碼的同時,跟老師說:「這個模塊是最初作的,業務邏輯我須要再看下」,答辯時間很短,通常這個時候老師就會下一個問題,沒有下一個問題,咱們就看看代碼,結合場景,說出代碼自己的業務邏輯。

如:購物車,其業務邏輯通常就是將對應的

  • 1.商品添加到購物車,商品數量-1,此時涉及商品表的update,購物車表新增一條記錄,設計購物車表的insert,

  • 2.當從購物車變成訂單狀態時,購物車記錄清空,涉及購物車的delete,以及訂單表的insert

問題7:論文降重了多少次?

參考我本身的,初稿一次,終稿20幾回

問題8:論文降重技巧?

通常查重是8-16字重複,判斷爲重複,即標紅。咱們要作的就是打斷連續,或從新組織語言

  • 1.重複率大片標紅的地方,添加參考文獻的角標,被標註的一句話不會被查重,重複率多就都是逗號

如:XX,XX,XX,XX,XX[1],則整個XX,XX,XX,XX,XX都不會查重,
可是:XX,XX。XX,XX。XX[1],只有最後一個XX不會查重

  • 2.部分實在沒法修改的地方,把文字改爲公式添加進去

    答辯過程沒有你們想象的那麼恐怖,我目前接手的這些,所有一次性過答辯,咱們要作的就是:找到代碼。找到代碼就解決了一大半問題。

最後祝你們答辯順利,工做順利,諸事順心。

相關文章
相關標籤/搜索