王東洋
(渤海大學(xué) 外語教研部,遼寧 錦州 121013)
iOS平臺英語等級考試成績查詢系統(tǒng)設(shè)計
王東洋
(渤海大學(xué) 外語教研部,遼寧 錦州121013)
全國大學(xué)英語等級考試是全國性的教學(xué)考試,本文基于iOS設(shè)計的成績查詢系統(tǒng)為考生提供最先進(jìn)的移動信息化服務(wù)。在闡明iOS平臺層次結(jié)構(gòu)的基礎(chǔ)上,研究主要從四個方面展開,設(shè)計了由3個子系統(tǒng)12個模塊構(gòu)成的功能框架、基于MySQL數(shù)據(jù)庫管理系統(tǒng)設(shè)計了數(shù)據(jù)邏輯結(jié)構(gòu)、使用AppCode開發(fā)工具設(shè)計了軟件核心功能、采用修正系數(shù)法設(shè)計了屏幕適配方案。以本文研究內(nèi)容開發(fā)的軟件系統(tǒng)具有使用方便、易于維護(hù)、易于擴展等優(yōu)點。
iOS平臺;英語等級考試;成績查詢;系統(tǒng)設(shè)計;CET-4;CET-6
全國大學(xué)英語等級考試(CET,College English Test)是教育部主管的一項全國性教學(xué)綜合考試,目的是對大學(xué)生實際英語能力進(jìn)行客觀、準(zhǔn)確的測量,為大學(xué)英語教學(xué)提供服務(wù)?,F(xiàn)行的大學(xué)英語等級考試分為大學(xué)英語四級考試(CET-4)和大學(xué)英語六級考試(CET-6)兩種[1]??荚嚱Y(jié)束后,考生迫切想知道自己的考試成績。傳統(tǒng)的紙制方式公布成績或互聯(lián)網(wǎng)方式查詢成績手段單一,受環(huán)境影響且不夠及時。在移動通信時代大學(xué)生每人都隨身攜帶手機,使用手機查詢成績是最簡單快捷的方式,深受廣大考生歡迎。
iOS(i Operating System)是蘋果公司開發(fā)的移動操作系統(tǒng),屬于Unix類的商業(yè)操作系統(tǒng),最初是為iPhone設(shè)計開發(fā)的,后來陸續(xù)應(yīng)用到蘋果公司的iPod touch、iPad以及Apple TV等產(chǎn)品上。iOS編程的接口、工具以及資源全部包含于iOS SDK,通過集成開發(fā)環(huán)境完成應(yīng)用程序開發(fā)[2-3]。蘋果公司的iPad、iPhone等移動產(chǎn)品具有極高的市場占有率,在當(dāng)代大學(xué)生中使用更是非常普遍。文中基于iOS平臺設(shè)計英語等級考試成績查詢系統(tǒng),為軟件開發(fā)提供解決方案和技術(shù)支持,為廣大考生提供最先進(jìn)的移動信息化服務(wù)。
iOS平臺由4層構(gòu)成,每個層包含若干組件,通過組件完成相應(yīng)功能。平臺層次結(jié)構(gòu)如圖1所示。各層簡要描述如下[4-5]:
1)可觸摸層(Cocoa Touch)。通過界面控制、多任務(wù)、多點觸控等關(guān)鍵技術(shù),提供實現(xiàn)人機交互、觸摸操作的應(yīng)用,為開發(fā)各類智能終端軟件提供了便捷的方法和技術(shù)支撐。UIKit框架是最核心部分,包含Objective-C程序接口,提供實現(xiàn)程序界面的各種組件,事件驅(qū)動的iPhone應(yīng)用的關(guān)鍵架構(gòu),還負(fù)責(zé)處理屏幕上的多點觸摸事件、文字輸出、圖片和網(wǎng)頁顯示、相機或文件存取,以及加速感應(yīng)等。
2)媒體應(yīng)用層(Media Application)。提供相互結(jié)合可以完成各種圖像、音視頻等多媒體服務(wù)的應(yīng)用和相關(guān)開發(fā)技術(shù),為移動設(shè)備帶來完美的多媒體體驗。應(yīng)用程序中使用各種媒體文件,進(jìn)行音頻與視頻錄制,圖形繪制,以及制作簡單的動畫效果,也可以通過底層框架訪問必要的音頻設(shè)備硬件。主要包括圖像技術(shù) (Quartz、Core Animation和OpenGL ES),音頻技術(shù)(Core Audio和OpenAL)和視頻技術(shù)。
圖1 iOS平臺層次結(jié)構(gòu)Fig.1 Hierarchy on iOS platform
3)核心服務(wù)層(CoreService)。核心服務(wù)層位于Core OS層之上,為所有應(yīng)用程序提供基礎(chǔ)系統(tǒng)服務(wù),提供的主要框架包括:CoreFoundation框架為iOS程序開發(fā)基本數(shù)據(jù)管理和服務(wù)功能;CFNetwork框架提供網(wǎng)絡(luò)協(xié)議的面向?qū)ο蟮某橄?。CoreLocation框架利用附近的GPS、蜂窩基站或Wi-Fi信號信息測量用戶的當(dāng)前位置;Security框架提供了管理證書、公鑰/私鑰對和信任策略等接口確保應(yīng)用數(shù)據(jù)安全。
4)核心操作系統(tǒng)層(Core OS)。位于iOS層次結(jié)構(gòu)的最底層,包括操作系統(tǒng)的內(nèi)核環(huán)境、驅(qū)動和基本接口,通過C語言提供的API函數(shù)完成與硬件設(shè)備交互及其他一些操作任務(wù),包括Bonjour和DNS服務(wù)、硬件驅(qū)動、區(qū)域語言信息、內(nèi)存分配、程序管理、線程管理、數(shù)學(xué)計算、文件訪問、網(wǎng)絡(luò)管理、電源按理、標(biāo)準(zhǔn)輸入輸出等。內(nèi)核基于Mac操作系統(tǒng),負(fù)責(zé)操作系統(tǒng)的各個方面。
功能設(shè)計最常用的方法是模擬化,功能框架結(jié)構(gòu)是模塊化的結(jié)果。功能框架結(jié)構(gòu)是將系統(tǒng)功能進(jìn)行分解,按功能從屬關(guān)系表示的圖形,圖中的每一個矩形框都稱為一個功能模塊。功能分解過程從大到小,從粗到細(xì),從上到下。從概念上講,上層功能控制下層功能,愈上層功能愈籠統(tǒng),愈下層功能愈具體。功能分解的過程就是一個由抽象到具體、由復(fù)雜到簡單的過程。功能模塊可以根據(jù)具體情況分的大一些或小一些,分解得最小的功能模塊可以是一個程序中的每個處理過程,而較大的功能模塊可以是完成某一個任務(wù)的一組程序。英語等級考試成績查詢系統(tǒng)的用戶主要包括考生用戶、成績管理用戶和系統(tǒng)管理用戶等3類,其中核心用戶是考生用戶。通過分析與綜合,參照其他人的研究成果[6-8],將3類用戶功能歸納為3個子系統(tǒng)12個模塊,功能框架結(jié)構(gòu)如圖2所示。
圖2 系統(tǒng)功能框架Fig.2 Functional framework of system
對圖2所示的子系統(tǒng)及功能模塊簡要描述如下:成績查詢子系統(tǒng)用于考生進(jìn)行成績查詢。其中,“準(zhǔn)考證號碼姓名查詢”是系統(tǒng)推薦的查詢方式,考生輸入準(zhǔn)考證號和姓名后即可得到最近一次英語等級考試的各項成績。如果考生忘記準(zhǔn)考證號還可使用“證件號碼姓名查詢”或“考生組合條件查詢”。以上查詢功能都是查詢成績信息,如果查詢自己的考試其他信息可使用“考生詳細(xì)信息查詢”;成績管理子系統(tǒng)用于成績管理用戶進(jìn)行成績管理。最常使用的是 “單人成績錄入”,根據(jù)準(zhǔn)考證號錄入考生英語等級考試的各分項成績。對于操作比較熟練的用戶,使用“批量成績錄入”,可在一個界面通過滾動屏幕的方式錄入多人的各分項成績,提高錄入速度?!俺煽兎诸惥S護(hù)”和“成績統(tǒng)計分析”提供了對考生成績進(jìn)行維護(hù)與分析的手段;維護(hù)管理子系統(tǒng)用于系統(tǒng)管理員用戶進(jìn)行系統(tǒng)管理。為了保證系統(tǒng)的安全性,使用“用戶權(quán)限管理”,按角色授予權(quán)限,將用戶分配到具體的角色中,用戶只能操作所屬角色的功能?!皵?shù)據(jù)備份恢復(fù)”可實現(xiàn)對數(shù)據(jù)的多種備份方式,如定期備份、增量備份等,如果數(shù)據(jù)庫發(fā)生意外事故可自動恢復(fù)?!坝脩粜畔⒕S護(hù)”和“代碼信息維護(hù)”提供了對相關(guān)信息的維護(hù)功能。
數(shù)據(jù)結(jié)構(gòu)是指相互之間存在一種或多種特定關(guān)系的數(shù)據(jù)元素的集合,是計算機存儲、組織數(shù)據(jù)的方式。由于英語等級考試參加人數(shù)眾多,為了提高數(shù)據(jù)的存儲效率和運行效率,采用數(shù)據(jù)庫表的方式存儲數(shù)據(jù)。數(shù)據(jù)庫由兩個表構(gòu)成,考生信息表(Examinee Information Table)存儲所有考生的基本信息;成績信息表(Score Information Table)存儲英語等級考試每個考生的各分項成績和總成績。數(shù)據(jù)庫完整性(Database Integrity)是指數(shù)據(jù)庫中數(shù)據(jù)在邏輯上的一致性,通過兩個表之間的關(guān)系實現(xiàn)[9]。兩個表之間是一對多的聯(lián)系,即“考生信息表”里的一條記錄對應(yīng)“成績信息表”中的多條記錄。一個考生存在多次考試的成績,一個準(zhǔn)考證號一次考試成績只能對應(yīng)一個考生。“考生信息表”主鍵為“準(zhǔn)考證號”字段?!俺煽冃畔⒈怼钡闹麈I為“準(zhǔn)考證號+考試日期”字段,“準(zhǔn)考證號”字段為與“電源大類表”一對多聯(lián)系相對應(yīng)的外鍵(FK_Examinee_Score)。基于MySQL數(shù)據(jù)庫管理系統(tǒng)(DBMS,Database Management System)[10]設(shè)計的數(shù)據(jù)結(jié)構(gòu)及關(guān)系如圖3所示。
圖3 系統(tǒng)數(shù)據(jù)結(jié)構(gòu)及關(guān)系圖Fig.3 Data Structure and Relationship Diagram of System
常用的iOS開發(fā)工具包括CodeRunner、AppCode、Chocolat、Alcatraz、Mou等。其中,CodeRunner是一款輕量級,可以編寫和運行多種語言的編輯器,不需要安裝額外的語言環(huán)境就可以執(zhí)行多種語言代碼;AppCode是全新的Objective-C的IDE集成開發(fā)環(huán)境,旨在幫助開發(fā)者開發(fā)Mac OS X和iOS系統(tǒng)的相關(guān)應(yīng)用程序;hocolat是iOS系統(tǒng)上最新出現(xiàn)的一款強大的文本編輯器,支持vim模式、多種編程語言、窗口分割、標(biāo)簽頁、色彩主題等功能;Alcatraz是一個開源的Xcode管理器,可讓你更快捷地發(fā)現(xiàn)和安裝插件、模版和顏色方案;Mou為開發(fā)者提供一系列的快速輸入Markdown既定語法元素,減少開發(fā)者編寫代碼消耗的時間。
本系統(tǒng)選擇AppCode開發(fā)工具,具有代碼補全功能、代碼檢查和修改功能、快速跳轉(zhuǎn)功能等優(yōu)點。在英語等級考試成績查詢系統(tǒng)中,使用最多的是“準(zhǔn)考證號碼姓名查詢”功能。以該模塊為例來說明軟件設(shè)計方法。屏幕設(shè)計如下:3個窗口類控件,用于容納輸入信息、按鈕和輸出信息,用CACollectionView容器類控件實現(xiàn);8個標(biāo)簽類提示信息控件,分別顯示“準(zhǔn)考證號、姓名、寫作成績、聽力理解成績、閱讀理解成績、翻譯成績、總成績、備注”,用CALabel標(biāo)簽類控件實現(xiàn);2個輸入信息控件,分別輸入準(zhǔn)考證號和姓名,用CALabel標(biāo)簽類控件實現(xiàn);3個操作按鈕控件,分別是“查詢、重置、返回”,用CAButton按鈕類控件實現(xiàn);6個輸出信息控件,分別輸出寫作成績、聽力理解成績、閱讀理解成績、翻譯成績、總成績和備注,用CALabel標(biāo)簽類控件實現(xiàn);為了屏幕界面美觀,加入若干圖片,用CAImageView顯示圖片控件實現(xiàn);為了界面的交互性,通過進(jìn)程條顯示當(dāng)前的查詢進(jìn)度,用CAProgress類進(jìn)度條控件實現(xiàn)[11]。
屏幕適配沒有絕對完美的方案,不可能做到一套適配方案適用所有設(shè)備。當(dāng)一個應(yīng)用程序運行在不同設(shè)備時,由于設(shè)備的物理尺寸和分辨率不盡相同,某個界面里的一些UI元素可能會發(fā)生變化,很多情況下需要開發(fā)者去控制,并且在程序中盡量使用相對坐標(biāo)。
CrossApp輔助方案適配的原則是盡量保持UI的物理尺寸相近,但仍舊可能會有細(xì)微變化,具體變化值由系統(tǒng)決定。在不同設(shè)備下,像素值會有所不同,在保持UI物理尺寸不變的情況下,在不同設(shè)備上顯示效果會有所差別。屏幕尺寸大的設(shè)備,顯示的內(nèi)容會相對較多,像素值越高,則畫面越精細(xì)。常見的Apple設(shè)備適配方案如表1所示。
表1 適配器解決方案示例Tab.1 Sample on adapter solution
適配解決方案采用修正系數(shù)的概念,以iphone4為基準(zhǔn),令修正系數(shù)為1,但對于其他設(shè)備,這個系數(shù)是個近似值,當(dāng)設(shè)置UIsize時,如果需要保持其在不同設(shè)備上的顯示大小一樣,需要乘以修正系數(shù),CrossApp會根據(jù)不同設(shè)備的規(guī)格自動計算這個修正系數(shù)的值。使用時只需要把需要設(shè)定的數(shù)值傳遞給內(nèi)聯(lián)函數(shù)可以保證在不同設(shè)備上的UI物理尺寸不變。
從2013年12月份開始的大學(xué)英語四、六級考試的試卷結(jié)構(gòu)和測試題型都進(jìn)行了局部調(diào)整,本軟件是按調(diào)整之后的要求設(shè)計開發(fā)的。大學(xué)英語等級考試是全國性的考試,成績查詢系統(tǒng)具有廣闊的市場發(fā)展空間。系統(tǒng)基于iOS平臺,使用AppCode開發(fā),主要特性是完整的Xcode的兼容性;即時的代碼轉(zhuǎn)換,支持i18n;及時的代碼分析、搜索、轉(zhuǎn)換功能;可直接在iOS設(shè)備和模擬器上運行。但也存在一些不足之處。AppCode在某些情況下需要依賴Xcode,沒有集成Nib編輯器,在打開Nib文件時會自動去開Xcode,Instrument工具也要調(diào)用Xcode。另外,該軟件系統(tǒng)適用于iOS系統(tǒng)設(shè)備,但目前很多學(xué)生使用Android系統(tǒng)手機,本系統(tǒng)的使用具有局限性。因此,可以在本系統(tǒng)設(shè)計思想和方法的基礎(chǔ)上,開發(fā)Android系統(tǒng)的英語等級考試成績查詢系統(tǒng),才能使軟件系統(tǒng)的應(yīng)用更具有普遍性。
[1]百度百科.大學(xué)英語等級考試[EB/OL].(2015-06-05)http: //baike.baidu.com/link?url=ueaX0F2uo9yZOXu2pkUs473b XLQaVfH_rSbm0MEL3_x1FJcnEpjcP2WBQYEUo28gMU8D uR9OM7Czw4gJLNG46Gzg8H3MVRgpjpzEq8Z-AEW.
[2]Charanjeet Singh,A.J.Roy,Sinchita Roy-Chowdhuri.Imagebased Cytopathology Reference App on iOS Plat-form[J]. Journal of the American Society of Cytopathology,2014,38 (7):11-12.
[3]李蕾,李曉麗.基于iOS手持終端的移動學(xué)習(xí)資源設(shè)計研究[J].中國電化教育,2014,35(12):93-97.
[4]Liu C,Zhu Q,Kenneth A.Holroyd,Elizabeth K.Seng.Status and trends of mobile-health applications for iOS devices:A developer's perspective[J].Journal of Systems and Software,2011,84(11):2022-2033.
[5]Jonathan Zdziarski.Identifying back doors,attack points,and surveillance mechanisms in iOS devices[J].Digital Investigation,2014,11(4):3-19.
[6]唐秀忠,劉浩平,蘭曉俐.基于ASP.NET環(huán)境下成績查詢系統(tǒng)開發(fā)實踐的思考[J].信息系統(tǒng)工程,2015,28(4):28.
[7]臧強,程立.基于ASP技術(shù)和SQL數(shù)據(jù)庫的成績查詢系統(tǒng)的設(shè)計與實現(xiàn)[J].電子設(shè)計工程,2014,22(3):45-51.
[8]李倩.基于Android的移動客戶端成績查詢系統(tǒng)設(shè)計與實現(xiàn)[J].軟件導(dǎo)刊,2014,7(6):89-91.
[9]Sergio Flesca,F(xiàn)ilippo Furfaro,F(xiàn)rancesco Parisi.Consistency checking and querying in probabilistic databases under integrity constraints[J].Journal of Computer and System Sciences,2014,80(7):1448-1489.
[10]黃莉,劉丁酉.利用MySQL研究公共自行車服務(wù)系統(tǒng)[J].湖北民族學(xué)院學(xué)報:自然科學(xué)版,2014,32(1):78-80.
[11]CrossApp中文官方網(wǎng)站.CrossApp類結(jié)構(gòu)圖[EB/OL].(2015-06-05)http://crossapp.9miao.com/Articledetail_1009.html.
Design on scores query system of college english test based on iOS platform
WANG Dong-yang
(Teaching and Research Institute of Foreign Languages,Bohai University,Jinzhou 121013,China)
National college English test is a national learning test,the scores query system designed in this article based on iOS provides candidates with the most advanced mobile information services.On the basis of explaining the hierarchical structure of iOS platform,the research mainly begins with four aspects,designed the functional framework composed of 3 subsystems and 12 modules,designed the data logical structure based on MySQL database management system,and designed core functions for software using AppCode development tool,moreover,designed the screen adaptation scheme using correction coefficient method.The software system developed in this research has the advantage of easy to use,easy to maintain,easy to expand and others.
iOS platform;college English test;scores query;system design;CET-4;CET-6
TN929.5
A
1674-6236(2016)05-0005-03
2015-06-07稿件編號:201506075
遼寧省教育科學(xué)“十二五”規(guī)劃2012年度一般項目(JG12DB243)
王東洋(1968—),女,遼寧錦州人,副教授。研究方向:信息技術(shù)與英語教育。