傅佳晨
摘要:隨著蘋果產(chǎn)品的普及,越來越多的人開始使用iPhone和iPad,iOS系統(tǒng)下的移動軟件早已走進人類的生活。該課題來源于基于考研類手機軟件在移動終端便捷使用的需求?!胞}巴”是基于iOS平臺和SWIFT語言開發(fā)的一個考研資訊+數(shù)據(jù)挖掘應用,該課題主要完成軟件的整體設計以及各個功能的基本實現(xiàn)。在OSX操作系統(tǒng)平臺下,搭載Xcode開發(fā)環(huán)境,采用SWIFT語言作為主要開發(fā)語言,使用Xcode和Parse完成后臺數(shù)據(jù)庫代碼的編寫,運用多線程技術保證程序性能,結合Sketch和墨刀為界面UI美化,從而完成的一個iOS手機客戶端。
關鍵詞:SWIFT;iOS;考研;手機軟件
中圖分類號:TP311 文獻標識碼:A 文章編號:1009-3044(2016)29-0083-04
1概述
1.1課題研究背景
現(xiàn)在社會進入了E時代,移動網(wǎng)絡給我們的生活帶來了便捷和舒適。其中,以Apple公司為代表的iOS操作系統(tǒng)的用戶體驗更佳,此課題所研究的軟件應用就是基于iOS平臺設計的,能夠實現(xiàn)考研資訊收集、考研能力評估、考研交流論壇、考研私人訂制等功能;資源占用率小,運行效率高,操作簡潔,擴展能力強。軟件界面簡潔,風格清新,具有很好的用戶體驗。此款手機軟件采用基于swift語言和parse云數(shù)據(jù)庫的i0S編程開發(fā)。
1.2國內(nèi)研究現(xiàn)狀
目前國內(nèi)市場在考研app方面魚龍混雜,各種考研類軟件層出不窮。
據(jù)不完全統(tǒng)計,每年考研人數(shù)占高校應屆畢業(yè)生人數(shù)的20%-30%。以下是近幾年的數(shù)據(jù):
可以說考研潮流愈發(fā)激烈。隨著考研人群的不斷壯大,大量準備考研的學生對于考研信息的獲取以及資源的渴求也越來越多。在智能移動設備占主導的時代,考研類APP無疑占有很大的市場需求。
通過考察手機軟件市場發(fā)現(xiàn),目前市面上已經(jīng)有不少關于考研類的APP應用,常見的APP有考研幫、口袋題庫、粉筆考研以及類似百詞斬這種背英語的APP應用。但是,這些APP的功能是否都能夠被學生們接受并且經(jīng)常使用?是否可以研發(fā)一種權威的考研類APP,集合目前市場上這種考研類APP的特點功能,還可以防范考研虛假信息等問題。
2軟件設計方案
2.1需求分析
調(diào)研結果顯示:
在使用考研APP的頻率中,25%的被調(diào)查者經(jīng)常使用考研APP,55%的被調(diào)查者偶爾使用考研APP,但還有22%的人沒使用過考研APP。軟件使用的男女比例相差還不大,但總數(shù)上女性偏多,由此可見考研APP目前還有較大的市場空間。
2.2功能設計
綜合以上結論,設計方案擬定以資訊傳播為主、能力測試為輔;以分析探討為主,以刷題工具為輔,并且引入大數(shù)據(jù)分析和學校入駐的一款新型考研APP——鹽巴。其主要功能為資訊速遞、能力雷達圖、智能題庫、考研工具箱、鹽巴論壇、個人空間。
3模型設計
3.1設計思想
1)將軟件分成幾個相對獨立的模塊。
2)分層的模塊化程序設計思想,整個軟件采用模塊化結構設計。作為應用程序有較強的可操作性和擴展性。
3)合理的數(shù)據(jù)流設計,在應用軟件設計中,相對獨立的模塊間以數(shù)據(jù)流相互連接,使各模塊間的耦合性較低,方便系統(tǒng)運行,提高系統(tǒng)安全性。
根據(jù)系統(tǒng)需求特點采用了MVC的設計模式。
MVC(Model-View-Controllerl設計模式被廣泛應用于系統(tǒng)開發(fā)中。Model指的是模型層,View指的是視圖層,Controller指的是控制層。MVC設計模式將模型層和視圖層分開,使得在軟件設計過程中分工明確,降低了各個模塊之間的耦合度??刂茖拥闹饕饔檬潜WC視圖層與模型層之間的更新保持同步,起到了領導作用。MVC狀態(tài)轉換示意圖如圖3所示。
此軟件的設計就是使用MVC的設計思想,MVC的設計思想在iOS軟件設計中也是最實用的。
3.2軟件主要功能模塊設計圖
軟件主要功能結構圖:如圖4所示。
3.3軟件特色
1)考研資訊大數(shù)據(jù)挖掘
按科目類別分類、按關鍵詞索引、按學校分類、按發(fā)布時間排列、按熱度排序五個子功能鍵??筛鶕?jù)用戶選定的專業(yè)和學校進行二次篩選。
2)能力測試評估
通過對用戶每一次的測試結果進行分析和記錄,并且和歷史記錄相對比,進行一個科學計算,讓每個用戶的自身變化以曲線圖方式呈現(xiàn)出來,能夠讓用戶更直觀地了解到自身的優(yōu)勢科目和劣勢科目,讓用戶更有針對性的備考。測試的數(shù)據(jù)還會錄入綜合數(shù)據(jù)庫進行對比,呈現(xiàn)出所有使用鹽巴APP進行測試的用戶進行該科目測試的分值排名。
3)智能題庫
通過對用戶的個人數(shù)據(jù)收集,使用者不斷在題庫中答題,產(chǎn)生的數(shù)據(jù)被后臺進行整理和統(tǒng)計,將易錯題進行對比分析,有針對性的刷新題庫內(nèi)容,提高“鹽巴”的個性化使用。
4)軟件可擴展性
在考研工具板塊可以針對不同的使用者進行小功能的添加和修改,讓每個用戶的“鹽巴”都更符合自己下私人定制。
5)鹽巴論壇
提供一個專門討論考研相關話題的平臺。
3.4開發(fā)工具和技術簡介
3.4.1iOS的系統(tǒng)架構
iOS的系統(tǒng)架構分為四個層次:核心操作系統(tǒng)層(Core OSlayer)、核心服務層(Core Services layer)、媒體層(Media layer)和可觸摸層(Cocoa Touchlayer)。如圖5是iOS系統(tǒng)結構圖。
3.4.2Swift
鹽巴APP的框架全部使用Apple公司推出的新型編程語言Swift進行編寫。
Swift,蘋果于2014年WWDC(蘋果開發(fā)者大會)發(fā)布的新開發(fā)語言,可與Objective-C共同運行于Mac OS和iOS平臺,用于搭建基于蘋果平臺的應用程序。
Swift是供iOS和OS x應用編程的新編程語言,基于C和Objective-C,而卻沒有C的一些兼容約束。Swift采用了安全的編程模式和添加現(xiàn)代的功能來使得編程更加簡單、靈活和有趣。界面則基于廣受人民群眾愛戴的Cocoa和CocoaTouch框架,展示了軟件開發(fā)的新方向。
3.4.3 Xcode開發(fā)工具
Xcode是蘋果應用程序開發(fā)的必備開發(fā)環(huán)境,自從4.0開始,蘋果系統(tǒng)開發(fā)人員就利用Xcode開發(fā)基于iOS的iPad、iPhone、iPad touch設備應用程序。Xcode是運行在操作系統(tǒng)Mac OS X上的集成開發(fā)工具(IDE),由蘋果公司開發(fā)。Xcode是開發(fā)OS X和iOS應用程序的最快捷的方式。Xcode具有統(tǒng)一的用戶界面設計,編碼、測試、調(diào)試都在一個簡單的窗口內(nèi)完成。
3.4.4軟件框架基礎界面
在鹽巴APP的軟件基礎界面上,我們采用TabBar的經(jīng)典模式。TabBar是iOS上最經(jīng)典的基礎界面,導航結構都進行了扁平化(Flat)處理,用戶可以在主界面底部通過不同的功能Tab來高效的選擇他們需要的功能板塊。微信、QQ、淘寶以及iOS自帶的音樂APP都采用了這種方式,多個Tab在底部對功能進行了分割,使用不同的icon表示不同的板塊功能,為了降低使用難度,鹽巴在每個icon下面用文字標注含義,當然這種標注是可以用代碼隱藏的。如圖7。
4軟件模塊設計
4.1注冊登錄
為了簡化注冊步驟,鹽巴app設計的注冊僅需兩步,第一步輸入手機號,獲取驗證碼;第二步填寫驗證碼和設置密碼。
4.2資訊板塊
資訊板塊為收集考研相關方面的資訊。旗下設立按科目類別分類、按關鍵詞索引、按學校分類、按發(fā)布時間排列、按熱度排序五個子功能鍵。
備考者往往要登陸各種網(wǎng)站查找一些信息,比如各種考研網(wǎng)站,在所報考院校bbs的考研版面及相關院系版面,在精華區(qū)尋找一些與該學校該專業(yè)的考試有關的情況,發(fā)文詢問有關試題情況,打電話,托該校該專業(yè)的同學朋友以及考區(qū)的往屆師兄師姐打聽,一般來說,通過以上途徑才能知道一個大概。但是,只要用戶在鹽巴的“我的空間”里設置所需報考的學校和專業(yè),以上的步驟統(tǒng)統(tǒng)交給鹽巴來操作,用戶只要刷新一下資訊板塊,想要的資訊就將呈現(xiàn)在眼前。
此版塊主要應用到的技術為UITableView和xib,配合關鍵詞索引UISearchBar和云數(shù)據(jù)庫Bmob,后期還可以加入了授權學校的資訊接口,方便授權學校進行資訊更新和數(shù)據(jù)處理。
4.3測試板塊
APP將通過每一次用戶的測試結果進行采集,從而得出一份能力指數(shù)圖,再次測試將與歷史測試結果進行比對。此能力指數(shù)圖是隨著測試次數(shù)越來越精確的雷達指數(shù)圖。該指數(shù)圖可顯示學生個人用戶對研究生考試的外語、政治、專業(yè)課和綜合課程的相關指數(shù),供用戶進行參考。針對考研的多科目特性,模型選用雷達圖進行數(shù)值顯示。雷達圖常用于多項指標的全面分析,具有完整、清晰和直觀的優(yōu)點。使用雷達圖,可對用數(shù)值無法表現(xiàn)的傾向性和印象性進行把握,為擬定戰(zhàn)術是的信息分析提供良好的協(xié)助。
用戶在手機端可通過雷達圖非常直觀地了解到自己當前的科目長處和短板,從而進行有針對性的復習,達到事半功倍的效果。此外,針對雷達圖中數(shù)值較少的科目,資訊版塊和題庫板塊會著重推送相關考試的內(nèi)容和試題,達到更加到個性化和人性化的用戶體驗。
采用數(shù)據(jù)一圖標的方式進行直觀展示,針對考研的特性,鹽巴APP選用雷達圖進行數(shù)值顯示。雷達圖為UIWebView嵌入HTML雷達圖,因為目前我還是沒有辦法只是用swift編出雷達圖,所以用Web嵌入的方法來代替。點擊測試出現(xiàn)的題庫為本地數(shù)據(jù)庫,swift目前還沒有很好的解決云數(shù)據(jù)庫的連接問題。每一道題都是手動輸入,再加入switch語句進行判斷。
4.4擴展板塊
此版塊是一個可擴充板塊,目前有鹽巴論壇、考試提醒功能。此版塊可以添加類似考試倒計時提醒、究生考試報名時間提醒推送、考研工具書集錦等小功能,后期預計加入更多功能?!皵U展板塊”的存在就是為了讓鹽巴有無限的可擴充性,讓用戶只下載一款考研APP就可以享受到所有的考研APP優(yōu)點。
4.5題庫板塊
因為仍有60%的被調(diào)查者希望有題庫功能,所以鹽巴APP將通過與專業(yè)的培訓公司進行聯(lián)合方式,打通各高校數(shù)據(jù)接口。從而可以獲取全國大部分高校的研究生考試歷年真題及復習題庫,并對這些題目給出答案和相關思路解析。該功能的要點在于題目采集的廣泛性和解題方案的專業(yè)性,為考生節(jié)省了更多的時間,并且針對不同大學不同專業(yè)有不同的側重點,通過學校下發(fā)的模擬試題,更能確保刷題的準確和高效。
4.6我的空間
此處為個人空間板塊,每一個用戶都有一個獨立的私人空間,可以在這里修改個人信息,子版塊包括我的收藏、我的試題、我的消息、資料修改、系統(tǒng)設置。
5總結
“鹽巴”考研應用軟件在設計上采用了蘋果的sdk-api和iOS設備進行交互,這樣可以減少開發(fā)成本和時間。此軟件是為了統(tǒng)合目前考研應用的優(yōu)點,并在其基礎上創(chuàng)新出新概念的一款軟件?!胞}巴”嚴格按照軟件工程流暢進行軟件的開發(fā),首先對軟件進行了嚴格準確的需求分析,確定系統(tǒng)的基本模塊和功能,并進行了可行性研究,然后進行了詳細的需求分析,將軟件大致分為資訊、能力測試、考研工具、個人空間等主要模塊,并確定了各個模塊需要實現(xiàn)的功能,設計出軟件結構,之后進行了軟件的詳細設計,確定了軟件使用的數(shù)據(jù)結構、算法以及各模塊的處理流程,并設計了簡潔實用的用戶界面。
具體完成的任務如下:
1)完成了軟件生命周期各個階段的文檔。在軟件開發(fā)的過程中,編寫了需求分析、概要設計、詳細設計、運行及測試文檔。
2)按照軟件生命周期進行軟件的開發(fā),并最終取得成功,基礎性能穩(wěn)定,達到了我預期的目標。
3)界面做到了簡潔清晰、便于使用。
這次項目在暴露出我不足的同時也讓我的技術有了很大提高,讓我加深了對iOS開發(fā)設計基礎的理解,強化了軟件設計思想,增強了自己的編程的能力。同時也提升了個人的自學能力。