• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于BCE的移動選題系統(tǒng)研究與實現(xiàn)

      2020-04-22 20:27:38楊國清
      微型電腦應(yīng)用 2020年3期
      關(guān)鍵詞:移動平臺數(shù)據(jù)庫系統(tǒng)

      楊國清

      摘 要:針對目前高校畢業(yè)論文指導(dǎo)現(xiàn)狀,開發(fā)基于移動平臺的畢業(yè)論文選題系統(tǒng)成為必然。Web的移動應(yīng)用具有較好的可移植性,對客戶端要求較低,適合于本研究項目的實施。根據(jù)BCE設(shè)計模式的規(guī)范,開展需求分析與系統(tǒng)設(shè)計工作。結(jié)合高校選題活動的時序性和并發(fā)性特征,確定設(shè)計類在時間軸中的位置。在系統(tǒng)實現(xiàn)時,重點關(guān)注移動端UI設(shè)計與并發(fā)控制,提升用戶友好性體驗,提高系統(tǒng)的應(yīng)用性能。

      關(guān)鍵詞:BCE; 數(shù)據(jù)庫系統(tǒng); 移動平臺; Web應(yīng)用

      中圖分類號: TP311.52

      文獻(xiàn)標(biāo)志碼: A

      Abstract:In view of the current situation of university graduate thesis guidance, it was inevitable to develop a theme selection system based on mobile platform. Web-based mobile applications have good portability, lower requirements for clients, so they are suitable to implement the research project. According to the BCE standards, requirements analysis and system design were conducted. Based on the time sequence and concurrency characteristics of the theme selection activities in colleges and universities, the position of design classes in the timeline was determined. We focused on the mobile UI design and the concurrent control during the implementation of the system to improve the user friendly experience and the application performance of the system.

      Key words:BCE; Database system; Mobile platform; Web application

      0 引言

      近年來,我國高校在校學(xué)生人數(shù)屢創(chuàng)新高,每年的畢業(yè)論文指導(dǎo)成為大學(xué)教師一項繁重工作。國內(nèi)部分高校安排畢業(yè)指導(dǎo)任務(wù)的做法是:根據(jù)學(xué)生數(shù)與具有指導(dǎo)資格的老師數(shù)進(jìn)行配比,每個老師按學(xué)號順序分配多名學(xué)生。然后,老師與學(xué)生一對一協(xié)商確定論文選題。該安排方式具有隨機性,存在的主要缺陷是:學(xué)生事先不知道老師的專業(yè)領(lǐng)域和研究方向;老師不了解學(xué)生的專業(yè)特點以及研究意愿。該缺陷可能導(dǎo)致畢業(yè)論文選題的針對性偏弱,后期論文指導(dǎo)的難度增加。

      畢業(yè)論文雙向選題模式,能夠更好地將指導(dǎo)老師和學(xué)生的專業(yè)特點結(jié)合起來,充分調(diào)動學(xué)生與指導(dǎo)老師的積極性,是做好畢業(yè)論文指導(dǎo)工作的前提與基礎(chǔ)。

      目前,國內(nèi)高校選題系統(tǒng)多為畢業(yè)論文系統(tǒng)的子系統(tǒng),是一種基于個人電腦的信息系統(tǒng),使用的便捷性、互動的及時性相對較差,與智能手機廣泛使用的現(xiàn)狀相背離。建設(shè)基于手機移動平臺的畢業(yè)論文選題系統(tǒng),成為一項具有現(xiàn)實意義的軟件開發(fā)工作。

      1 系統(tǒng)分析與設(shè)計

      1.1 BCE設(shè)計模式概述

      BCE(Boundary—Controller—Entity:邊界—控制器—實體)是一種軟件設(shè)計模式,該模式強制性地把應(yīng)用程序的輸入、處理和輸出分開。邊界(Boundary)是用戶的可視化界面,用于展示數(shù)據(jù),并接受用戶的輸入??刂破鳎–ontroller)接受用戶請求并決定調(diào)用相關(guān)實體模型和邊界,并向用戶返回相應(yīng)的結(jié)果。實體(Entity)表示業(yè)務(wù)的數(shù)據(jù)模型和業(yè)務(wù)處理邏輯。被實體返回的數(shù)據(jù)是中立的,與數(shù)據(jù)格式無關(guān),一個實體模型能為多個邊界提供數(shù)據(jù)支撐。[1]

      BCE模式的層次結(jié)構(gòu)如圖1所示。控制器接收到邊界用戶的請求時,根據(jù)請求的具體內(nèi)容,決定調(diào)用哪個實體模型來完成處理工作。然后,實體模型用業(yè)務(wù)邏輯來處理用戶的請求并返回數(shù)據(jù)。最后,控制器使用相應(yīng)的邊界格式化實體返回的數(shù)據(jù),并通過表示層展現(xiàn)給用戶。最典型的基于BCE模式的應(yīng)用為JSP+Servlet+Javabean框架。

      1.2 需求分析

      需求分析的主要任務(wù)是結(jié)合應(yīng)用場景進(jìn)行現(xiàn)場調(diào)研,獲取第一手原始資料,確定用戶業(yè)務(wù)活動流程以及功能需求,并對場景中的數(shù)據(jù)和業(yè)務(wù)活動加以提取和固化。[2]

      (1) 選題活動前

      管理員提前批量導(dǎo)入畢業(yè)生和具有指導(dǎo)資格的老師個人資料,含聯(lián)系電話、登錄賬號、初始密碼等信息。學(xué)生填寫自己的專業(yè)特點等個人資料。老師填寫專業(yè)、職稱、研究方向等信息。老師撰寫選題題目和題目的專業(yè)要求、研究目標(biāo),提交到系統(tǒng)留存。老師可提前將某個選題題目指定給某個學(xué)生,該學(xué)生自動申報該題目,并獲得老師的批準(zhǔn)。該選題題目在待選題庫邊界中不可見。

      (2) 選題活動中

      每個學(xué)生只能申報一個選題,申報完成后系統(tǒng)會以短信方式通知老師,以便老師及時批復(fù)。學(xué)生可在與相關(guān)老師口頭協(xié)商后,自擬選題并填寫該選題的研究目標(biāo)與研究計劃。學(xué)生提交自擬題目,向老師申報該選題,等待老師批復(fù)。老師批準(zhǔn)之前,學(xué)生可撤銷申請。老師批準(zhǔn)后,學(xué)生不能自行撤銷申請,只有與指導(dǎo)老師口頭協(xié)商后,由指導(dǎo)老師進(jìn)行撤銷操作,刪除該申請。老師在瀏覽申報記錄后,根據(jù)選題的專業(yè)要求與申報學(xué)生的專業(yè)特點,決定是否同意該申報。老師同意或拒絕時,系統(tǒng)通過短信平臺發(fā)送消息給學(xué)生,告知批復(fù)結(jié)果,以便學(xué)生及時重新申報選題。老師批準(zhǔn)的學(xué)生總?cè)藬?shù)和學(xué)生專業(yè)數(shù)不能超過限額。老師可根據(jù)實際情況修改選題內(nèi)容,包括題目、專業(yè)要求、研究目標(biāo)等。

      (3) 選題活動后

      管理員進(jìn)行選題終止操作,學(xué)生和老師將只能查看當(dāng)前選題及申報情況,不能改變選題狀態(tài),也不能修改選題內(nèi)容。管理人員統(tǒng)計當(dāng)前選題情況,包括未申報學(xué)生、未獲批學(xué)生、老師批準(zhǔn)人數(shù)、學(xué)生選題結(jié)果等。

      1.3 實體類設(shè)計

      結(jié)合前期從客觀現(xiàn)實世界獲取的需求分析結(jié)果,展開概念模型設(shè)計工作,得到傳統(tǒng)意義上的實體-聯(lián)系模型。運用BCE設(shè)計理念,將概念與聯(lián)系進(jìn)一步升級轉(zhuǎn)化為相應(yīng)的實體類。這一階段的工作可理解為傳統(tǒng)數(shù)據(jù)庫設(shè)計,但需要在傳統(tǒng)的關(guān)系上添加相應(yīng)的操作行為。實體類的行為特征主要描述數(shù)據(jù)業(yè)務(wù)邏輯,屬于BCE模式中E的范疇。

      實體類設(shè)計是數(shù)據(jù)庫系統(tǒng)開發(fā)的重點,是一項基礎(chǔ)性工作。如果實體類設(shè)計不到位,將會加大后期程序?qū)崿F(xiàn)的難度。實體類設(shè)計中屬性的確定采用傳統(tǒng)的數(shù)據(jù)庫理論與方法,主要做好實體類的規(guī)范化檢查,使它們的屬性符合三個范式的基本要求。與些同時,確定實體的主鍵、外鍵、自定義約束等完整性要求,并設(shè)計其物理索引,確定其物理結(jié)構(gòu)。

      選題系統(tǒng)中有4個主要實體類,它們是學(xué)生、選擇、題目、教師。選題系統(tǒng)實體類如圖2所示。

      1.4 邊界類設(shè)計

      選題系統(tǒng)中有三個主要參與者,他們分別是學(xué)生、指導(dǎo)老師、管理員。參與者對系統(tǒng)功能的使用,可以描述為用例圖。用例圖是指由參與者、用例,邊界以及它們之間的關(guān)系構(gòu)成的用于描述系統(tǒng)功能的視圖。用例圖主要的作用是獲取需求、指導(dǎo)測試、指導(dǎo)工作流。每一個用例都有一個邊界類與之相對應(yīng),用于提供與參與者的交互。[2]

      選取學(xué)生參與者的用例為典型代表,展示BCE模式中邊界類的外在形式。學(xué)生用例如圖3所示。

      1.5 控制類設(shè)計

      控制類用于調(diào)配實體類與邊界類的工作,協(xié)調(diào)兩者在時間軸的先后次序,形象地說:控制類起到“上傳下達(dá)”的作用。針對每個用例,在產(chǎn)生一個邊界類的同時,也可以產(chǎn)生一個控制類。比較普遍的做法是:將某個子系統(tǒng)中所有用例統(tǒng)一起來,產(chǎn)生一個核心控制類,負(fù)責(zé)處理當(dāng)前子系統(tǒng)的外部事件,實現(xiàn)控制流。在選題系統(tǒng)中主要有學(xué)生選題申報、指導(dǎo)老師批復(fù)、管理員管理三個二級應(yīng)用場景,因此可以產(chǎn)生三個核心控制類,分別是學(xué)生控制類、老師控制類、管理員控制類。

      在BCE模式中,能夠體現(xiàn)控制類核心作用的圖形為序列圖。序列圖表示系統(tǒng)內(nèi)部對象之間的互動,在參與者執(zhí)行某個用例期間,控制系統(tǒng)內(nèi)部的運作流程。序列圖關(guān)聯(lián)了類圖與用例圖兩方面,并且將系統(tǒng)要素在時間上的先后關(guān)系體現(xiàn)出來。選擇學(xué)生用例展開典型分析,可以得到學(xué)生序列圖,如圖4所示。學(xué)生序列圖體現(xiàn)了學(xué)生控制類在BCE模式中的中心地位。[3]

      2 系統(tǒng)實現(xiàn)

      2.1 實現(xiàn)框架選型

      基于B/S架構(gòu)的Web應(yīng)用,可以采用Struts2+Spring+Hibernate(SSH)、ASP.NET MVC+ADO.NET Entity、Python Django等應(yīng)用框架。這些框架各有優(yōu)點和不足。選題系統(tǒng)是一個輕量級的Web移動應(yīng)用項目,選用ASP.NET MVC+ADO.NET Entity框架,可以較完美地實現(xiàn)基于BCE模式的設(shè)計內(nèi)容。后臺數(shù)據(jù)庫服務(wù)選用與ASP.NET配合良好的SQL Server系統(tǒng),編程語言采用C#語言。[4]

      (1) 邊界類的實現(xiàn)

      (2) 控制類的實現(xiàn)

      采用ashx一般處理程序或者aspx.cs頁面處理程序。

      (3) 實體類的實現(xiàn)

      采用ADO.NET Entity相關(guān)技術(shù)。實體類的數(shù)據(jù)業(yè)務(wù)活動,可以向下滲透到業(yè)務(wù)邏輯層,通過存儲過程實現(xiàn)實體類的操作行為,從而更好地體現(xiàn)數(shù)據(jù)模型與用戶界面相分離的原則。例如:登錄時,調(diào)用后臺服務(wù)器中的存儲過程篩選學(xué)生實體,根據(jù)查詢結(jié)果返回不同的狀態(tài)值給登錄界面,從而判斷登錄成功與否以及登錄失敗原因。

      (4) 前后臺數(shù)據(jù)交互的實現(xiàn)

      移動界面采用主流的HTML5+CSS3開發(fā)。前臺使用HTTP協(xié)議訪問信息服務(wù)器,獲取后臺數(shù)據(jù)庫服務(wù)器中的數(shù)據(jù)。獲取到的數(shù)據(jù)形式為JSON和XML等,數(shù)據(jù)被解析之后,使用UI框架進(jìn)行封裝,得到相應(yīng)的用戶數(shù)據(jù)界面。前臺使用cookie和session等技術(shù)手段,在不同頁面間傳遞用戶數(shù)據(jù),實現(xiàn)用戶驗證、參數(shù)傳遞等功能。

      2.2 移動端UI設(shè)計

      基于B/S架構(gòu)的移動端應(yīng)用具有多平臺共享、可移植性強的特點。電腦端、Android移動端、IOS移動端等多平臺可以協(xié)調(diào)統(tǒng)一,不需要二次開發(fā)。通過移動端瀏覽器直接訪問Web信息,相比于APP應(yīng)用程序方式,用戶不需要下載客戶端軟件,使用方便。移動端的特點是屏幕小,呈現(xiàn)的內(nèi)容有限;操作方式獨特,觸屏操作。因此,要充分考慮移動端開發(fā)的上述特點,認(rèn)真做好選題系統(tǒng)各個用戶界面的設(shè)計工作。

      (1) 適應(yīng)性設(shè)置

      與電腦端Web頁面相比較,應(yīng)該在移動端頁面HTML源的頭部設(shè)置內(nèi)容寬度為滿屏,相應(yīng)代碼行是:“〈meta name="viewport" content="width=device-width, initial-scale=1"/>”。 同時,將頁面的body節(jié)的css樣式內(nèi)容設(shè)置為“margin:0; ?padding:0;”,提高頁面的可利用空間。

      另外,BCE模式設(shè)計中得到的邊界類在移動端會被分解為眾多子類,控制類也應(yīng)該做出相應(yīng)的調(diào)整。

      (2) 簡潔原則

      pushHistory();

      window.addEventListener("popstate", function(e) {location.href = 'target.aspx?rand=A' + parseInt(Math.random() * 1 000); }, false);

      function pushHistory(){var url = "#"; var state={title: "title", url: "#"};

      window.history.pushState(state,"title","#");}

      2.3 并發(fā)控制

      學(xué)生選題的流程一般為老師先上傳題目,學(xué)生在指定時間開始申報。由于學(xué)生非常重視畢業(yè)選題工作,在系統(tǒng)開放之初,會產(chǎn)生大量的并發(fā)請求。如果不進(jìn)行數(shù)據(jù)訪問的并發(fā)控制,會產(chǎn)生“臟讀”、“幻讀”等形式的錯誤,造成數(shù)據(jù)不唯一或者數(shù)據(jù)實時更新異常。

      事務(wù)在執(zhí)行某項數(shù)據(jù)操作之前,常常需要判斷其先決條件是否滿足。例如,學(xué)生A申報某個題目時,需要先判斷該題目的狀態(tài),只有其狀態(tài)為“可申報”時,才能在“選擇表”中新增該題目的申報記錄。讀取狀態(tài)與新增記錄之間存在時間差,如果允許其他學(xué)生在該時間差內(nèi)讀取數(shù)據(jù),則會取得錯誤的題目狀態(tài)值。故此,一定要在業(yè)務(wù)邏輯中,將事務(wù)的所有操作當(dāng)成一個整體,在事務(wù)讀取數(shù)據(jù)時,也要對數(shù)據(jù)加排它鎖,鎖定相關(guān)記錄行或整張數(shù)據(jù)表,完成全部事務(wù)操作后,才打開鎖。實現(xiàn)學(xué)生申報選題的并發(fā)控制核心代碼如下:[5]

      SqlTransaction trans1 = conn.BeginTransaction();//新建事務(wù)

      SqlCommand cmd1 = conn.CreateCommand();

      SqlCommand cmd2 = conn.CreateCommand();

      SqlCommand cmd3 = conn.CreateCommand();

      cmd1.CommandText = "select count(*) from questions with(tablockx) where [status]=1 and qid=" + Qid;//定義查詢語句,獲取當(dāng)前題目可申報狀態(tài)

      cmd2.CommandText = "select count(*) from stuTtea with(tablockx) where [status]!=3 and stuid='" + newstuid + "'";//定義查詢語句,獲取當(dāng)前學(xué)生已申報狀態(tài)

      cmd3.CommandText = "insert into stuTtea(qid,stuid,reTime,okTime,[status],[isStudel],[isteaRe],

      [isTeaEsc]) values("+Qid+",'"+newstuid + "',getdate(),getdate(),4,0,0,1)";//添加申請

      cmd1.Transaction = trans1;//將命令對象關(guān)聯(lián)到事務(wù)

      cmd2.Transaction = trans1;

      cmd3.Transaction = trans1;

      int quesN = Convert.ToInt32(cmd1.ExecuteScalar());//當(dāng)前題目的可申報狀態(tài)

      int stuOkN = Convert.ToInt32(cmd2.ExecuteScalar()); //學(xué)生的已申報狀態(tài)

      if (quesN > 0 && stuOkN == 0){

      cmd3.ExecuteNonQuery();

      trans1.Commit();}

      3 軟件應(yīng)用情況

      最近兩年,本研究所設(shè)計的移動選題系統(tǒng),在筆者所在高校得到推廣使用。軟件上線后,運行平穩(wěn)、響應(yīng)及時、使用方便,得到本校教師與學(xué)生的良好評價。該軟件由教師、學(xué)生、管理員三大功能模塊構(gòu)成,可以在電腦和手機等多種平臺運行,內(nèi)外網(wǎng)結(jié)合,實現(xiàn)了手機端的學(xué)生選題與教師批復(fù)、電腦端的用戶管理及題目管理、管理員數(shù)據(jù)導(dǎo)入導(dǎo)出、短消息提醒等關(guān)鍵功能,達(dá)到了本研究的目標(biāo)。

      4 本研究的不足

      本研究所提出的解決方案基于集中式數(shù)據(jù)管理方式,隨著系統(tǒng)應(yīng)用規(guī)模的擴大,系統(tǒng)會產(chǎn)生“瓶頸”效應(yīng),應(yīng)用性能下降,響應(yīng)時間變長,用戶友好性體驗變差。因此,本研究的后續(xù)工作方向是建立分布式數(shù)據(jù)處理機制,將龐大的數(shù)據(jù)處理工作通過網(wǎng)絡(luò)分解到不同物理位置的服務(wù)器上,同時做好數(shù)據(jù)訪問的負(fù)載平衡控制,實現(xiàn)系統(tǒng)整體性能的提升。

      5 總結(jié)

      移動選題系統(tǒng)植根于手機移動平臺,師生采用多方式交互,做到了畢業(yè)論文雙向選題的公開透明和及時準(zhǔn)確。同時,在信息傳遞上更快捷、更方便,改變了傳統(tǒng)的信息系統(tǒng)僅能在電腦端使用的現(xiàn)狀。本課題研究意義在于探索信息系統(tǒng)在新形勢下的表現(xiàn)形式,提供一種更具有親和力、學(xué)生樂于接受的Web應(yīng)用方式。課題研究成果在普通高校有一定的應(yīng)用前景,推廣使用后可產(chǎn)生較好的社會效益和經(jīng)濟(jì)效益。

      參考文獻(xiàn)

      [1] 劉瓊.基于MVC架構(gòu)的英語教學(xué)系統(tǒng)設(shè)計及應(yīng)用[J].微型電腦應(yīng)用,2018(11):107-109.

      [2] 黃藍(lán)會.基于UML進(jìn)行軟件需求分析的研究[J].微型電腦應(yīng)用,2016(7):9-11.

      [3] Joseph Schmuller.UML基礎(chǔ)、案例與應(yīng)用(第3版)[M].李虎,李強,譯.北京:人民郵電出版社,2018.

      [4] 吳善財.ASP.NET項目開發(fā)實戰(zhàn)密碼[M].北京:清華大學(xué)出版社,2016.

      [5] 曾建華.Visual Studio 2010(C#)Web數(shù)據(jù)庫項目開發(fā)[M].北京:電子工業(yè)出版社,2013.

      (收稿日期: 2019.10.12)

      猜你喜歡
      移動平臺數(shù)據(jù)庫系統(tǒng)
      Oracle數(shù)據(jù)庫系統(tǒng)的性能優(yōu)化研究
      電子制作(2019年24期)2019-02-23 13:22:24
      數(shù)據(jù)庫系統(tǒng)shell腳本應(yīng)用
      電子測試(2018年14期)2018-09-26 06:04:24
      微細(xì)銑削工藝數(shù)據(jù)庫系統(tǒng)設(shè)計與開發(fā)
      江蘇省ETC數(shù)據(jù)庫系統(tǒng)改造升級方案探討
      基于移動式培訓(xùn)評估系統(tǒng)的培訓(xùn)閉環(huán)管理研究與探索
      基于移動平臺的電力營銷系統(tǒng)應(yīng)用探析
      數(shù)字化校園中統(tǒng)一移動平臺的實踐與探索
      實時數(shù)據(jù)庫系統(tǒng)數(shù)據(jù)安全采集方案
      基于互聯(lián)網(wǎng)+環(huán)境下大學(xué)生自主學(xué)習(xí)移動平臺設(shè)計的研究
      電子商務(wù)企業(yè)營銷觀念淺析
      大悟县| 建宁县| 汕尾市| 吉隆县| 自治县| 兴义市| 涞源县| 翼城县| 巫溪县| 邢台市| 平南县| 安塞县| 延安市| 富平县| 沁水县| 望谟县| 博客| 太湖县| 汶川县| 巴青县| 舞阳县| 柞水县| 合江县| 望都县| 同德县| 靖江市| 灯塔市| 德钦县| 大兴区| 临汾市| 聂拉木县| 安康市| 连平县| 米脂县| 洱源县| 德保县| 改则县| 昆明市| 汤阴县| 内黄县| 广河县|