亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于SSM框架的畢業(yè)設(shè)計管理系統(tǒng)設(shè)計與實現(xiàn)

        2020-06-05 03:20:48劉繼華路曉夢張志宏李佳儀
        呂梁學(xué)院學(xué)報 2020年2期
        關(guān)鍵詞:信息系統(tǒng)教師

        劉繼華,路曉夢,張志宏,李佳儀

        (1.呂梁學(xué)院 計算機科學(xué)與技術(shù)系,山西 離石 033001;2.太原理工大學(xué) 軟件學(xué)院,山西 榆次 030600)

        畢業(yè)設(shè)計是本科生培養(yǎng)過程中的重要環(huán)節(jié),是學(xué)生通過深入實踐、了解社會、完成設(shè)計任務(wù)、撰寫論文等諸環(huán)節(jié),著重培養(yǎng)學(xué)生綜合分析問題、解決問題能力,獨立工作能力、組織管理和社交能力,是學(xué)習(xí)深化、拓寬、綜合運用所學(xué)知識的重要過程[1].在畢業(yè)設(shè)計管理中,涉及導(dǎo)師題目擬定、題目審核、選題選導(dǎo)師、開題報告、中期檢查、導(dǎo)師指導(dǎo)、畢業(yè)答辯、提交設(shè)計、提交論文等多個環(huán)節(jié),也涉及指導(dǎo)教師、學(xué)生、秘書等多種角色人員,因此畢業(yè)設(shè)計教學(xué)管理工作是一項系統(tǒng)而復(fù)雜的工作.就目前該項目的實施情況分析,國內(nèi)大多數(shù)院校在實施此流程時,很多環(huán)節(jié)的工作是傳統(tǒng)人工管理辦法,工作效率較低.畢業(yè)設(shè)計管理系統(tǒng)的開發(fā),不但能夠提高工作效率、減輕管理人員的負擔(dān),也為學(xué)生和教師的工作提供更大的方便,因此開發(fā)畢業(yè)設(shè)計管理系統(tǒng)具有較強的現(xiàn)實意義.

        1 系統(tǒng)實現(xiàn)框架原理(Spring,Spring MVC, Mybatis)

        三層架構(gòu)是一個分層式的軟件體系架構(gòu)設(shè)計,通常意義上的三層架構(gòu)就是將整個業(yè)務(wù)應(yīng)用劃分為:表現(xiàn)層(UI)、業(yè)務(wù)邏輯層(BLL)、數(shù)據(jù)訪問層(DAL)[2].區(qū)分層次的目的即為了“高內(nèi)聚,低耦合”的思想.該項目使用Java語言開發(fā),利用Spring實現(xiàn)業(yè)務(wù)對象管理,Spring MVC負責(zé)請求轉(zhuǎn)發(fā)和視圖管理, MyBatis作為數(shù)據(jù)對象持久化引擎.

        1.1 Spring

        Spring是一個開源框架,是一個輕量級的Java 開發(fā)框架,由Rod Johnson 在其著作Expert One-On-One J2EE Development and Design中闡述的部分理念和原型衍生而來.它是為了解決企業(yè)應(yīng)用開發(fā)的復(fù)雜性而創(chuàng)建的.框架的主要優(yōu)勢之一就是其分層架構(gòu),分層架構(gòu)允許使用者選擇使用哪一個組件,同時為 J2EE 應(yīng)用程序開發(fā)提供集成的框架.Spring使用基本JavaBean來完成以前只可能由EJB完成的事情.然而,Spring的用途不僅限于服務(wù)器端的開發(fā)[3].從簡單性、可測試性和松耦合的角度而言,任何Java應(yīng)用都可以從Spring中受益.Spring的核心是控制反轉(zhuǎn)(IoC)和面向切面(AOP).簡單來說,Spring是一個分層的JavaSE/EE full-stack(一站式) 輕量級開源框架.

        1.2 Spring MVC框架

        很多應(yīng)用程序的問題在于處理業(yè)務(wù)數(shù)據(jù)的對象和顯示業(yè)務(wù)數(shù)據(jù)的視圖之間存在緊密耦合,通常,更新業(yè)務(wù)對象的命令都是從視圖本身發(fā)起的,使視圖對任何業(yè)務(wù)對象更改都有高度敏感性.而且,當(dāng)多個視圖依賴于同一個業(yè)務(wù)對象時是沒有靈活性的[4].SpringMVC是一種基于Java,實現(xiàn)了Web MVC設(shè)計模式,請求驅(qū)動類型的輕量級Web框架,即使用了MVC架構(gòu)模式的思想,將Web層進行職責(zé)解耦.基于請求驅(qū)動指的就是使用請求-響應(yīng)模型,框架的目的就是幫助我們簡化開發(fā),SpringMVC也是要簡化我們?nèi)粘eb開發(fā).

        1.3 MyBatis框架

        MyBatis 是一款優(yōu)秀的持久層框架,它支持定制化SQL、存儲過程以及高級映射.MyBatis 避免了幾乎所有的 JDBC 代碼和手動設(shè)置參數(shù)以及獲取結(jié)果集[5].MyBatis 可以使用簡單的 XML 或注解來配置和映射原生信息,將接口和 Java 的 POJOs(Plain Ordinary Java Object,普通的 Java對象)映射成數(shù)據(jù)庫中的記錄[6].

        2 畢業(yè)設(shè)計管理系統(tǒng)的設(shè)計與實現(xiàn)

        2.1 系統(tǒng)流程及功能

        系統(tǒng)圍繞呂梁學(xué)院畢業(yè)設(shè)計管理中和為各個角色和管理過程的所有階段.

        (1)學(xué)生端:

        ①用戶管理:登錄、激活、修改密碼、個人信息維護;

        ②選題功能:學(xué)生可以選擇畢業(yè)設(shè)計題目,查看題目信息等;

        ③文件模板下載:學(xué)生可以下載相應(yīng)的文件模板;

        ④相關(guān)資料的上傳與下載:學(xué)生能上傳查看不同階段的資料(如:開題報告、中期報告、畢業(yè)論文等等),可以下載教師的指導(dǎo)意見;

        ⑤公告查看:能查看來自系統(tǒng)管理員的公告信息.

        (2)教師端:

        ①教師登錄:登錄、修改密碼、個人信息維護;

        ②添加選題功能:教師可以添加和修改畢業(yè)設(shè)計題目;

        ③文件模板下載:教師可以下載相應(yīng)的文件模板;

        ④相關(guān)資料的上傳與下載:教師能查看學(xué)生不同階段的資料(如:開題報告、中期報告、畢業(yè)論文等等),可以上傳對學(xué)生的指導(dǎo)意見;

        ⑤公告信息查看:能查看來自系統(tǒng)管理員的公告信息.

        (3)管理員端:

        ①教師信息維護:教師信息的增刪改查.

        ②學(xué)生信息維護:學(xué)生信息的增刪改查.

        ③畢業(yè)設(shè)計信息維護:對畢業(yè)設(shè)計所有信息的維護.

        ④信息維護:對公告信息的維護.

        系統(tǒng)的數(shù)據(jù)流圖如下:(見圖1)

        2.2 系統(tǒng)總體架構(gòu)

        整個系統(tǒng)采用java web三層架構(gòu),即持久層、業(yè)務(wù)邏輯層和網(wǎng)絡(luò)層。持久層用來持久化數(shù)據(jù)記錄,也就是和數(shù)據(jù)庫打交道[7];業(yè)務(wù)邏輯層用來處理系統(tǒng)相關(guān)的一些業(yè)務(wù);網(wǎng)絡(luò)層用來處理頁面請求.當(dāng)今流行的SSM框架中Spring MVC對應(yīng)網(wǎng)絡(luò)層,mybatis對應(yīng)持久層,Spring統(tǒng)籌全局,業(yè)務(wù)邏輯層也交給Spring框架處理[8].

        總體架構(gòu)如下圖:(見圖2)

        2.3 系統(tǒng)詳細設(shè)計

        經(jīng)調(diào)研分析后,根據(jù)系統(tǒng)需求分析和總體框架結(jié)構(gòu)設(shè)計,設(shè)計出系統(tǒng)的用例圖與類圖.

        系統(tǒng)用例圖如下:(見圖3)

        系統(tǒng)類圖如下:(見圖4)

        圖1 系統(tǒng)數(shù)據(jù)流圖圖2 系統(tǒng)總體架構(gòu)

        圖3 系統(tǒng)用例圖

        圖4 系統(tǒng)類圖

        2.4 系統(tǒng)核心功能實現(xiàn)

        畢業(yè)設(shè)計管理系統(tǒng)中選題管理最為關(guān)鍵,主要功能包括:導(dǎo)入畢業(yè)設(shè)計選題、查看畢業(yè)設(shè)計選題、查看選題結(jié)果.采用POI來實現(xiàn)以Excel形式導(dǎo)入和導(dǎo)出選題,控制器類有:TeacherController,StudentController,AdminController,主要負責(zé)對相關(guān)角色的選題請求做處理;實體類包括:Topic類、Student類、Teacher類,和數(shù)據(jù)庫里的選題表對應(yīng),頁面主要有s_topicselect.jsp、t_topicselect.jsp等.

        表現(xiàn)層:當(dāng)用戶點擊選題按鈕時,JSP頁面通過ajax攜帶題目id請求到后端Spring Mvc的Controller.因為用戶登錄后,系統(tǒng)會將用戶信息存放到Session之中,所以這里會先判斷用戶是否已經(jīng)選題,用戶是否存在,防止非法操作.當(dāng)符合條件后,通過業(yè)務(wù)邏輯層提供的接口更改用戶對應(yīng)的選題信息.最終將結(jié)果返回,并將Session刷新.

        核心代碼:

        ……

        @RequestMapping(value = "/topic/select.action")

        public void updataTopic(HttpServletRequest request, HttpServletResponse response) throws IOException {

        long topic_id = Long.parseLong(request.getParameter("topic_id"));

        Student student = (Student) request.getSession().getAttribute(Constants.STUDENT_ID);

        if (student.getTopic_id() == null) {

        boolean flag = topicService.updateTopic(topic_id, student);

        if (flag) {

        student.setTopic_id(topic_id);

        sessionProvider.setAttribute(request, Constants.STUDENT_ID, student);

        }

        String json = "{"isTure":" + flag + "}";

        response.getWriter().write(json);

        } else {

        String json = "{"isTure":" + false + "}";

        response.getWriter().write(json);

        }

        }

        ……

        業(yè)務(wù)邏輯層:表現(xiàn)層通過后,調(diào)用業(yè)務(wù)邏輯層處理業(yè)務(wù)邏輯,更新課題信息.修改一個課題信息時,需要先查詢該課題是否存在,如果存在并處于可選狀態(tài)再通過持久層接口最終修改數(shù)據(jù)庫中的數(shù)據(jù),并將結(jié)果返回表現(xiàn)層.

        public boolean updateTopic(long topic_id, Student student) {

        Topic topic = topicMapper.selectTopicByid(topic_id);

        if (topic!=null &&topic.getIs_select()==0){

        topic.setSid(student.getUsername());

        topic.setSname(student.getRealname());

        topic.setIs_select(1);

        int i = topicMapper.updateTopicByPrimaryKey(topic);

        if(i>0){

        student.setTopic_id(topic.getId());

        int i1 = studentMapper.updateStudentByPrimaryKey(student);

        return true;

        }else {

        return false;

        }

        }else{

        return false;

        }

        }

        持久層:通過SQL語句,將信息持久化到數(shù)據(jù)庫.Mapper文件詳細代碼如下:

        update student

        set topic_id = #{topic_id,jdbcType=BIGINT}

        where id = #{id,jdbcType=VARCHAR}

        3 結(jié)束語

        畢業(yè)設(shè)計管理系統(tǒng)由當(dāng)下流行的三層架構(gòu)思想,以及JavaEE中流行的SSM開發(fā)框架,通過實時跟隨學(xué)生與教師的畢業(yè)設(shè)計工作環(huán)節(jié),進行了具體詳細的分析設(shè)計,解決了傳統(tǒng)逐層紙質(zhì)文件提交,逐級消息通知效率低,畢業(yè)設(shè)計管理不規(guī)范等問題.系統(tǒng)最主要的選題功能和文檔上傳與下載,已通過性能測試和安全性兼容性測試,經(jīng)實際應(yīng)用,該系統(tǒng)對于當(dāng)前高校畢業(yè)設(shè)計管理的規(guī)范化、科學(xué)化具有一定意義,值得推廣和應(yīng)用.

        猜你喜歡
        信息系統(tǒng)教師
        Smartflower POP 一體式光伏系統(tǒng)
        最美教師
        快樂語文(2021年27期)2021-11-24 01:29:04
        WJ-700無人機系統(tǒng)
        ZC系列無人機遙感系統(tǒng)
        北京測繪(2020年12期)2020-12-29 01:33:58
        教師如何說課
        甘肅教育(2020年22期)2020-04-13 08:11:16
        未來教師的當(dāng)下使命
        連通與提升系統(tǒng)的最后一塊拼圖 Audiolab 傲立 M-DAC mini
        訂閱信息
        中華手工(2017年2期)2017-06-06 23:00:31
        展會信息
        中外會展(2014年4期)2014-11-27 07:46:46
        圓我教師夢
        吐魯番(2014年2期)2014-02-28 16:54:42
        亚洲阿v天堂2018在线观看| 乱中年女人伦av一区二区| 国产精品老熟女露脸视频| 国产精品无码Av在线播放小说| 女同国产日韩精品在线| 黄射视频在线观看免费| 九色九九九老阿姨| 欧美中文在线观看| 久久精品网站免费观看| 丰满少妇呻吟高潮经历| 推油少妇久久99久久99久久| 一本色道久久综合狠狠躁篇| 欧美日韩一区二区综合| 男人的天堂在线无码视频| 日本在线视频二区一区| 精品一区二区av天堂色偷偷| 好看的欧美熟妇www在线| 人妻丰满av无码中文字幕| 亚洲香蕉久久一区二区| 国产大屁股视频免费区| 性色做爰片在线观看ww| 尤物视频一区二区| 免费一区二区三区av| 变态另类手机版av天堂看网| 国产精品美女久久久久久 | 天天躁夜夜躁av天天爽| 中文字幕无码av激情不卡| 亚洲午夜无码视频在线播放| 国产自拍一区在线视频| 18精品久久久无码午夜福利| 99久久婷婷国产综合亚洲91| 国产精品99久久精品女同| 女优av一区二区三区| 日本护士吞精囗交gif| 欧美一级视频在线| 人妻少妇艳情视频中文字幕| 内射爽无广熟女亚洲| 小12箩利洗澡无码视频网站| 国产精品久久国产精麻豆| 又紧又大又爽精品一区二区| 国产av影片麻豆精品传媒|