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

        ?

        “1+X”證書制度下《Java程序設(shè)計(jì)》課程實(shí)踐教學(xué)探索

        2020-12-31 08:18:08郝麗娜
        關(guān)鍵詞:Java程序設(shè)計(jì)考勤證書

        林 敏 郝麗娜

        (武漢工程職業(yè)技術(shù)學(xué)院 湖北 武漢:430080)

        《Java程序設(shè)計(jì)》是一門重要的計(jì)算機(jī)編程課程,是計(jì)算機(jī)相關(guān)專業(yè)必修課程之一,具有較強(qiáng)的理論性、專業(yè)性和實(shí)踐性。目前,本門課程存在教學(xué)內(nèi)容多課時(shí)少,教學(xué)方式重理論輕實(shí)踐,學(xué)生動(dòng)手實(shí)踐能力和編碼開發(fā)能力較弱的現(xiàn)象,進(jìn)而可能導(dǎo)致學(xué)生就業(yè)競(jìng)爭(zhēng)力不強(qiáng)、求職信心受挫。通過調(diào)查發(fā)現(xiàn)不少學(xué)生感到該門課程入門難度較大、內(nèi)容較多、課程學(xué)完了但還是不太會(huì)運(yùn)用。為了解決這一問題,筆者在實(shí)踐教學(xué)中采用項(xiàng)目驅(qū)動(dòng)教學(xué)方式,結(jié)合“1+X”證書制度下的《Java程序設(shè)計(jì)》課程教學(xué)改革的要求,以“采用Java實(shí)現(xiàn)員工考勤系統(tǒng)”為例,對(duì)該課程的實(shí)踐教學(xué)進(jìn)行了設(shè)計(jì)與探索,有助于提升該課程的教學(xué)質(zhì)量和教學(xué)效果。

        1 設(shè)計(jì)過程

        1.1 “1+X”證書制度解讀

        “1+X”證書制度是一套將學(xué)歷教育與職業(yè)培訓(xùn)并重的創(chuàng)新教育制度,其中的“1”代指學(xué)歷證書,“X”代指職業(yè)技能證書。以“大數(shù)據(jù)應(yīng)用開發(fā)(Java)職業(yè)技能”等級(jí)證書為例,證書共分為初、中、高三個(gè)等級(jí),每一等級(jí)均包含理論考試和上機(jī)考試兩部分。理論考試為選擇題,上機(jī)考試為編程實(shí)踐題,同一次考試中兩部分考試成績(jī)均達(dá)到60分及以上者才能獲得證書。

        大數(shù)據(jù)應(yīng)用開發(fā)(Java)職業(yè)技能證書(初級(jí))要求學(xué)生掌握J(rèn)ava開發(fā)環(huán)境搭建、語法基礎(chǔ)、Java面向?qū)ο蟪绦蛟O(shè)計(jì)、軟件測(cè)試、運(yùn)維基礎(chǔ)、成本核算方法等,初級(jí)對(duì)標(biāo)大數(shù)據(jù)領(lǐng)域的測(cè)試工程師。大數(shù)據(jù)應(yīng)用開發(fā)(Java)職業(yè)技能證書(中級(jí))要求學(xué)生掌握J(rèn)ava編程基礎(chǔ)知識(shí)和面向?qū)ο箝_發(fā)技術(shù)中的類和對(duì)象、方法、封裝、繼承、多態(tài)、接口、集合、反射、JDBC和I/O流操作等知識(shí),同時(shí)還需掌握數(shù)據(jù)庫中的增、刪、改、查等知識(shí),能熟練編碼解決數(shù)據(jù)訪問需求等。中級(jí)為大數(shù)據(jù)領(lǐng)域的測(cè)試工程師和開發(fā)工程師之間的過渡級(jí)別。大數(shù)據(jù)應(yīng)用開發(fā)(Java)職業(yè)技能證書(高級(jí))要求學(xué)生除了掌握中級(jí)的核心知識(shí)點(diǎn)外還需掌握MVC設(shè)計(jì)模式、Spring框架(Spring、SpringMVC、SpringBoot)、Hadoop集群環(huán)境搭建、數(shù)據(jù)遷移、數(shù)據(jù)處理、數(shù)據(jù)挖掘常用算法及工具、數(shù)據(jù)可視化等,高級(jí)對(duì)標(biāo)大數(shù)據(jù)領(lǐng)域的開發(fā)工程師。

        1.2 知識(shí)、能力與素質(zhì)目標(biāo)構(gòu)建

        依據(jù)教育部高等職業(yè)學(xué)校軟件技術(shù)專業(yè)教學(xué)標(biāo)準(zhǔn)和軟件技術(shù)專業(yè)人才培養(yǎng)方案,基于Java程序員崗位工作過程,將課程標(biāo)準(zhǔn)與“1+X”證書考核標(biāo)準(zhǔn)對(duì)接,以大數(shù)據(jù)應(yīng)用開發(fā)(Java)職業(yè)技能“1+X”證書(中級(jí))的考綱考點(diǎn)要求為例,按照知識(shí)、能力與素質(zhì)三方面目標(biāo)要求(見表1),重建《Java程序設(shè)計(jì)》課程實(shí)踐教學(xué)內(nèi)容。采用項(xiàng)目驅(qū)動(dòng)教學(xué)方式,以實(shí)際項(xiàng)目為例,培養(yǎng)學(xué)生的動(dòng)手編程能力、應(yīng)用開發(fā)能力、創(chuàng)新能力和團(tuán)隊(duì)合作能力等。通過項(xiàng)目實(shí)踐和“1+X”證書的考試訓(xùn)練過程,促使學(xué)生養(yǎng)成良好的編碼習(xí)慣,提高學(xué)生編程興趣的同時(shí)也增強(qiáng)了就業(yè)的內(nèi)動(dòng)力和競(jìng)爭(zhēng)力。

        表1 知識(shí)、能力、素質(zhì)三方面目標(biāo)

        1.3 實(shí)踐學(xué)時(shí)安排

        建議實(shí)踐項(xiàng)目教學(xué)實(shí)施至少安排8學(xué)時(shí),其中教師用2學(xué)時(shí)講解項(xiàng)目需求與整體設(shè)計(jì)思路,學(xué)生至少需6學(xué)時(shí)上機(jī)編碼完成項(xiàng)目中的數(shù)據(jù)庫與類設(shè)計(jì)、實(shí)體類設(shè)計(jì)、工具類設(shè)計(jì)、實(shí)體操作類設(shè)計(jì)和測(cè)試類設(shè)計(jì)等。

        2 教學(xué)實(shí)施

        以“采用Java實(shí)現(xiàn)員工考勤系統(tǒng)”為例,對(duì)《Java程序設(shè)計(jì)》課程的實(shí)踐教學(xué)進(jìn)行了設(shè)計(jì)和探索。

        2.1 需求分析

        某公司固定上下班時(shí)間,規(guī)定每個(gè)工作日8點(diǎn)上班17:00下班,并使用傳統(tǒng)指紋打卡機(jī)進(jìn)行員工考勤。在互聯(lián)網(wǎng)迅速發(fā)展的今天,該公司決定使用手機(jī)軟件取代傳統(tǒng)指紋打卡機(jī),規(guī)定遲到或早退1分鐘扣x元工資且不設(shè)上限。員工僅可在以(0,0)為圓心,100個(gè)單位為半徑的圓形范圍內(nèi)打卡并寫入到employees.txt考勤信息文件中。該項(xiàng)目實(shí)現(xiàn)自動(dòng)統(tǒng)計(jì)員工出勤情況及計(jì)算員工的實(shí)發(fā)工資。

        2.2 項(xiàng)目設(shè)計(jì)

        2.2.1 系統(tǒng)功能設(shè)計(jì)

        系統(tǒng)按照功能分為三部分:

        第一部分(讀入數(shù)據(jù)):首先需要將數(shù)據(jù)從文件中讀入,然后由程序存入數(shù)據(jù)庫。具體的操作為將準(zhǔn)備好的考勤信息文件employees.txt和員工信息文件records.txt中的數(shù)據(jù)分別存入到數(shù)據(jù)庫中的EMPLOYEES表和RECORDS表。

        第二部分(添加數(shù)據(jù)):添加員工信息和考勤記錄。

        第三部分(查詢和處理數(shù)據(jù)):查詢員工信息、考勤信息和計(jì)算工資。

        2.2.2 數(shù)據(jù)庫與類的設(shè)計(jì)

        為了方便數(shù)據(jù)進(jìn)入數(shù)據(jù)庫的操作,在Oracle數(shù)據(jù)庫中創(chuàng)建表EMPLOYEES,在Eclipse中創(chuàng)建包,如org.min.bean,在此包下創(chuàng)建Employee.java,定義Employee類,Employee類與EMPLOYEES表相對(duì)應(yīng),字段的對(duì)應(yīng)關(guān)系見表2。

        表2 Employee類與EMPLOYEES表字段對(duì)應(yīng)關(guān)系

        在Oracle數(shù)據(jù)庫中創(chuàng)建表RECORDS,在Eclipse的org.min.bean包下創(chuàng)建Record.java,定義Record類,Record類與RECORDS表相對(duì)應(yīng),字段的對(duì)應(yīng)關(guān)系見表3。

        表3 Record類與RECORDS表對(duì)應(yīng)關(guān)系

        2.3 功能模塊劃分

        整個(gè)項(xiàng)目文件包、類文件結(jié)構(gòu)如圖1所示。

        圖1 項(xiàng)目結(jié)構(gòu)圖

        (1)實(shí)體類

        實(shí)體類有Employee員工信息實(shí)體類、EmployeeSalary員工工資實(shí)體類和Record考勤記錄實(shí)體類。

        Employee員工信息實(shí)體類中包含員工ID、員工姓名、員工工資及打卡記錄等信息。為增強(qiáng)數(shù)據(jù)安全性,將所有字段訪問屬性設(shè)置為private,然后用get和set方法對(duì)各個(gè)字段進(jìn)行封裝。相關(guān)字段如下。

        private int id; //員工ID

        private String name; //員工姓名

        private double salary; //員工工資

        private List records=new ArrayList(); //打卡記錄

        EmployeeSalary員工工資實(shí)體類中包含員工信息、月份、遲到總時(shí)長(單位為分鐘)、早退總時(shí)長(單位為分鐘)、實(shí)發(fā)工資等信息。為增強(qiáng)數(shù)據(jù)安全性,將所有字段訪問屬性設(shè)置為private,然后用get和set方法對(duì)各個(gè)字段進(jìn)行封裝。相關(guān)字段如下。

        private Employee employee; //員工信息

        private int month; //月份

        private int punchIn; //遲到總時(shí)長 單位為分鐘

        private int punchOut; //早退總時(shí)長 單位為分鐘

        private double actualSalary; //實(shí)發(fā)工資

        Record考勤記錄實(shí)體類中包含員工號(hào)、打卡時(shí)間、打卡類型(上班/下班)、打卡位置(橫坐標(biāo))、打卡位置(縱坐標(biāo))、打卡超時(shí)(單位為分鐘)等信息。為增強(qiáng)數(shù)據(jù)安全性,將上述字段訪問屬性設(shè)置為private,然后用get和set方法對(duì)各個(gè)字段進(jìn)行封裝。另外,定義了兩個(gè)靜態(tài)常量用來設(shè)置打卡的類型,相關(guān)字段如下。

        private int employeeId; //員工號(hào)

        private long recordTime; //打卡時(shí)間

        private int type; //打卡類型 上班/下班

        private double locationX; //打卡位置 橫坐標(biāo)

        private double locationY; //打卡位置 縱坐標(biāo)

        private int outTime; //超時(shí) 單位:分鐘

        public static final int PUNCH_IN=1; //打卡類型常量:上班打卡

        public static final int PUNCH_OUT=2; //打卡類型常量:下班打卡

        (2)工具類

        工具類中包含EmployeeUtil類、RecordUtil類和IOUtil類

        EmployeeUtil類的功能是將讀入的字符串轉(zhuǎn)為Employee對(duì)象。該類中定義了一個(gè)公有的靜態(tài)的toEmployee方法,實(shí)現(xiàn)了將傳入的字符串通過split()函數(shù)分解,然后將分解的字段存入Employee對(duì)象中。

        RecordUtil類的功能是將讀入的字符串轉(zhuǎn)為Record對(duì)象。該類中定義了一個(gè)公有的靜態(tài)的toRecord方法,實(shí)現(xiàn)將傳入的字符串通過split()函數(shù)分解,然后將分解的字段存入Record對(duì)象中。

        IOUtil類的設(shè)計(jì)中包含兩個(gè)方法,一個(gè)是readEmployees()方法,其功能是將存有員工信息的文本文件employees.txt通過FileReader文件輸入流順序地讀入,然后調(diào)用工具類EmployeeUtil將讀入的字符串存進(jìn)Employee對(duì)象中,返回Employee對(duì)象集合。另一個(gè)是readRecords()方法,其功能是將存有員工打卡記錄的文本文件records.txt通過FileReader文件輸入流順序地讀入,然后調(diào)用工具類RecordUtil將讀入的字符串存入Record對(duì)象中,返回Record對(duì)象集合。方法的定義如下。

        public static List readEmployees()

        public static List readRecords()

        (3)實(shí)體操作類

        實(shí)體操作類有EmployeeDao類和RecordDao類。

        EmployeeDao類主要用來對(duì)Employee實(shí)體類進(jìn)行操作,主要功能為:添加一個(gè)或多個(gè)員工多個(gè)員工和查詢某員工某個(gè)月的工資信息。方法的定義如下。

        public int addEmployee(Employee emp) //添加一個(gè)員工

        public boolean addAll(List employees) //添加多個(gè)員工

        public EmployeeSalary getEmployeeSalaryById(int employeeId,int year,int month)

        //查詢某員工某個(gè)月的工資信息

        RecordDao類主要用來對(duì)Record實(shí)體類進(jìn)行操作,實(shí)現(xiàn)了添加一條打卡記錄、批量添加打卡記錄和根據(jù)指定月份查詢某員工的打卡記錄的功能。方法的定義如下。

        public int addRecord(Record record) //添加打卡記錄

        public boolean addAll(List records) //批量添加打卡記錄

        public List getAllById(int id,int year,int month) //根據(jù)指定月份查詢某員工的打卡記錄

        (4)測(cè)試類

        測(cè)試類有ConnTest測(cè)試類、EmployeeDaoTest測(cè)試類和RecordDaoTest測(cè)試類。

        ConnTest測(cè)試類中主要方法有:

        public void connTest() //獲取數(shù)據(jù)庫連接測(cè)試

        EmployeeDaoTest測(cè)試類中主要方法有:

        EmployeeDaoTest //批量添加員工測(cè)試

        public void testAddEmployee() //添加一個(gè)員工測(cè)試

        public void testGetEmployeeSalary() //查詢某員工的考勤和工資信息測(cè)試

        RecordDaoTest測(cè)試類中主要方法有:

        public void testAddAllRecords() //批量添加打卡記錄測(cè)試

        public void testAddRecord() //添加一個(gè)打卡記錄測(cè)試

        public void testGetMonthRecordById() //根據(jù)員工ID查詢打卡記錄

        2.4 項(xiàng)目編碼(部分)

        (1)讀取文本文件中所有的員工信息

        public static List readEmployees(){

        FileReader fr=null;

        BufferedReader br=null;

        List emps=new ArrayList();

        try {

        fr=new FileReader (empFilePath);

        br=new BufferedReader(fr);

        String str;

        while((str=br.readLine ())!=null) {

        Employee employee=EmployeeUtil.toEmployee(str);

        emps.add (employee);

        }

        } catch (Exception e) {

        e.printStackTrace();

        }

        return emps;

        }

        (2)查詢某員工某個(gè)月的工資信息和考勤記錄

        public EmployeeSalary getEmployeeSalaryById(int employeeId,int year,int month) {

        String sql="select id,name,salary from EMPLOYEES where id=?";

        Employee employee=new ObjectUtil().getOne(sql, Employee.class, employeeId);

        //查詢考勤記錄

        List records=new RecordDao().getAllById (employeeId, year, month);

        employee.setRecords (records);

        int punchIn=0;

        int punchOut=0;

        //統(tǒng)計(jì)缺勤時(shí)間

        for(Record record:records) {

        if(record.getType ()==Record.PUNCH_IN) {

        punchIn=record.getOutTime();

        }else if(record.getType ()==Record.PUNCH_OUT) {

        punchOut=record.getOutTime();

        }

        }

        return new EmployeeSalary (employee,month, punchIn, punchOut);

        }

        3 教學(xué)效果

        通過真實(shí)案例的項(xiàng)目教學(xué)實(shí)踐,學(xué)生全程參與了項(xiàng)目的需求分析、功能設(shè)計(jì)、數(shù)據(jù)庫設(shè)計(jì)、實(shí)體類設(shè)計(jì)、工具類設(shè)計(jì)、實(shí)體操作類設(shè)計(jì)、測(cè)試類設(shè)計(jì)和編碼等,對(duì)項(xiàng)目的開發(fā)流程有了一定的了解,在理論課上所學(xué)的《Java程序設(shè)計(jì)》課程的章節(jié)知識(shí)點(diǎn)通過項(xiàng)目實(shí)踐得到綜合運(yùn)用,學(xué)生的學(xué)習(xí)積極性和自信心也得到相應(yīng)的提高,進(jìn)而增強(qiáng)了就業(yè)的內(nèi)動(dòng)力和競(jìng)爭(zhēng)力。

        猜你喜歡
        Java程序設(shè)計(jì)考勤證書
        WJCI 收錄證書
        CSCD收錄證書
        草原與草坪(2022年1期)2022-05-11 10:44:40
        收錄證書
        收錄證書
        基于人臉識(shí)別技術(shù)的考勤應(yīng)用研究
        電子制作(2019年12期)2019-07-16 08:45:28
        智能人臉識(shí)別考勤系統(tǒng)
        電子制作(2019年9期)2019-05-30 09:42:00
        便攜式指紋考勤信息管理系統(tǒng)設(shè)計(jì)
        《Java程序設(shè)計(jì)》課程網(wǎng)站的設(shè)計(jì)與實(shí)現(xiàn)
        Java程序設(shè)計(jì)基礎(chǔ)課實(shí)踐教學(xué)中的分層教學(xué)模式研究
        基于實(shí)訓(xùn)項(xiàng)目的Java程序設(shè)計(jì)實(shí)驗(yàn)教學(xué)模式改革與實(shí)踐
        国产成人久久精品一区二区三区| 国产成年无码aⅴ片在线观看| 亚洲愉拍自拍视频一区| 四季极品偷拍一区二区三区视频| 无码小电影在线观看网站免费| 人妻无码久久一区二区三区免费| 国产精品久久久一本精品| 高清不卡av在线播放| 18国产精品白浆在线观看免费| 高中生粉嫩无套第一次| 在线成人tv天堂中文字幕| 蜜臀人妻精品一区二区免费| 国产精品videossex久久发布| 欧美丰满熟妇aaaaa片| 天天射色综合| 日韩美腿丝袜三区四区| 国产老熟女网站| 亚洲av无码av在线播放| 精品人妻一区二区蜜臀av| 亚洲毛片在线免费视频| 女人被狂躁到高潮视频免费网站| 国产精品久久1024| 女女同性av一区二区三区| 久久99精品久久久久久清纯| 欧美疯狂做受xxxx高潮小说| 啊v在线视频| 日本中文字幕精品久久| 久久青青草原亚洲av无码麻豆| 精品五月天| 亚洲中文字幕高清在线视频一区 | 国产高清一区二区三区视频| 综合国产婷婷精品久久99之一| 亚洲伊人成综合网| 在线国产视频精品视频| 人妻精品久久一区二区三区 | 欧美在线a| 久久中文字幕av一区二区不卡| 婷婷综合另类小说色区| 欧美亚洲国产精品久久高清| 国产不卡一区在线视频| 国产极品少妇一区二区|