新聞中心

EEPW首頁(yè) > CTIMES/產(chǎn)業(yè)評(píng)析 > 培養(yǎng)Android軟件人才:從落實(shí)軟件工程教育開(kāi)始

培養(yǎng)Android軟件人才:從落實(shí)軟件工程教育開(kāi)始

作者:陳俊宏 時(shí)間:2011-06-07 來(lái)源:CTIMES 收藏

「開(kāi)發(fā) 」是臺(tái)灣科技業(yè)的全民運(yùn)動(dòng)了。未來(lái)幾年,如果要尋求更大的突破,并提升整體軟件開(kāi)發(fā)能力,根本的做法與策略為何?個(gè)人看法是「落實(shí)軟件工程的基本教育」。

本文引用地址:http://m.butianyuan.cn/article/184494.htm

 

提升 軟件能量,當(dāng)務(wù)之急是培養(yǎng)一批「架構(gòu)分析」的工程師。架構(gòu)分析需要考慮的層面較廣,包括技術(shù)面與產(chǎn)品面。軟硬整合的工作,幾年前訴求的是硬件驅(qū)動(dòng)程序與系統(tǒng)軟件,主要工作是效能的提升與優(yōu)化,這是從硬件層面思考的軟硬整合。從產(chǎn)品層面重新思考軟硬整合,涉及的層面會(huì)放大至中間軟件(Middleware、Application Framework)、應(yīng)用程序(Application)以及網(wǎng)絡(luò)服務(wù)等。

 

架構(gòu)分析的重點(diǎn)工作之一,在于了解 Application Framework 與驅(qū)動(dòng)程序(硬件)間的關(guān)系,使用各種現(xiàn)有的技術(shù)來(lái)整合系統(tǒng),并提出更好的架構(gòu)設(shè)計(jì)方案。架構(gòu)分析的技術(shù)屬于「軟件工程」領(lǐng)域,而不是硬件或系統(tǒng)程序領(lǐng)域。但具備驅(qū)動(dòng)程序與硬件經(jīng)驗(yàn),可以幫助工程師找出更好的架構(gòu)設(shè)計(jì)方法。

 

的技術(shù)。臺(tái)灣廠商得天獨(dú)厚的優(yōu)勢(shì)在于,過(guò)去積累大量的IC設(shè)計(jì)、硬件主板、驅(qū)動(dòng)程序與系統(tǒng)軟件經(jīng)驗(yàn),若能補(bǔ)足的分析與設(shè)計(jì)能力,未來(lái)競(jìng)爭(zhēng)力將有很大的想象空間。因此,導(dǎo)入架構(gòu)分析技術(shù),培養(yǎng)架構(gòu)分析工程師,理論上能發(fā)揮這項(xiàng)得天獨(dú)厚的能力,建立獨(dú)特的競(jìng)爭(zhēng)力。這也是三星(Samsung)正在積極進(jìn)行的工作。

 

落實(shí)軟件工程教育是根本,必須從教育做起。軟件工程所討論的「」就像信息科學(xué)的「位運(yùn)算」一樣,屬于通識(shí)學(xué)科。軟件框架技術(shù),重度依賴這些基礎(chǔ)學(xué)科:面向?qū)ο螅∣O)、面向?qū)ο笳Z(yǔ)言(OOP)、面向?qū)ο蠓治雠c設(shè)計(jì)(OOAD)、分層架構(gòu)設(shè)計(jì)、設(shè)計(jì)模式(Design Patterns)等,這些知識(shí)缺一不可。

 

軟件框架具備四項(xiàng)特性。第一、控制點(diǎn)反轉(zhuǎn)(Inverse of control),整體來(lái)看,控制應(yīng)用程序執(zhí)行流程的人,是軟件框架,而不是應(yīng)用程序本身的函數(shù)呼叫關(guān)系。這與一般循序式的結(jié)構(gòu)化語(yǔ)言(如:C語(yǔ)言)很不同。

 

第二、默認(rèn)行為(default behavior),軟件框架本身都有預(yù)先設(shè)定好的行為。這些行為通常都是預(yù)先定義好后,才釋出軟件框架。所謂的「行為」范圍廣大,例如同步呼叫、異步呼叫、阻塞式I/O等。

 

第三、不可修改性,這是軟件框架相當(dāng)重要的觀念。以 Android 為例,其 Application Framework 的程序代碼「不能」修改,開(kāi)發(fā)者「不能直接改 Code」。意思是下載 AOSP(Android Open Source Project)程序代碼后,不能直接修改框架層的程序代碼。若直接修改 Android 應(yīng)用框架程序代碼,在編譯時(shí)期便會(huì)出現(xiàn)警告訊息。直接修改 Android 應(yīng)用框架程序代碼也會(huì)造成 API 兼容性的問(wèn)題,可能無(wú)法通過(guò) CTS,導(dǎo)致產(chǎn)品無(wú)法上市,不可不重視。

 

最后是擴(kuò)充性,在不能直接修改軟件框架的前提下,如何「加入自已的功能」至 Android 框架呢?正確的方法是以覆載(override)方式進(jìn)行擴(kuò)充(extend)。覆載是面向?qū)ο箢I(lǐng)域的基本知識(shí),也是開(kāi)發(fā) Android 應(yīng)用框架的重要技術(shù)。撰寫(xiě)「應(yīng)用程序」補(bǔ)上軟件框架所沒(méi)有的功能,也是「擴(kuò)充性」的另外一個(gè)做法。從以上的介紹便能發(fā)現(xiàn),未來(lái)如果要在 Android 應(yīng)用框架開(kāi)發(fā)上有所突破,軟件工程教育就必須要落實(shí),畢竟這是軟件開(kāi)發(fā)的基本學(xué)科。

本文由 CTIMES 同意轉(zhuǎn)載,原文鏈接: http://www.ctimes.com.tw/DispCols/cn/Android/1106071506S1.shtml



關(guān)鍵詞: Android 軟件框架

評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉