




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
4.1移動互聯(lián)網(wǎng)產(chǎn)品的需求分析
4.2數(shù)據(jù)庫設(shè)計
4.3移動互聯(lián)網(wǎng)產(chǎn)品功能的代碼實現(xiàn)技術(shù)
4.4移動互聯(lián)網(wǎng)產(chǎn)品的測試和上線運營4.1移動互聯(lián)網(wǎng)產(chǎn)品的需求分析4.1.1產(chǎn)品需求分析步驟移動互聯(lián)網(wǎng)產(chǎn)品需求分析分為以下九個步驟。1.需求分析整合首先分析項目的業(yè)務(wù)需求定位,包括認(rèn)識項目的服務(wù)對象、服務(wù)對象的具體業(yè)務(wù)需求,以及這些業(yè)務(wù)需求中哪些是適合用IT手段解決的。其次分析解決這些問題或需求需要通過哪些有效手段去實施,比如通過調(diào)查訪談,或者問卷評估等。在文檔中一一的羅列清楚,適當(dāng)?shù)挠脠D文并茂的方式使得需求書更加易懂。2.預(yù)算評估確認(rèn)需求分析后,技術(shù)團(tuán)隊會評估功能需求的技術(shù)難度,設(shè)計技術(shù)方案,確認(rèn)開發(fā)進(jìn)度即時間安排,并將內(nèi)容補(bǔ)充到需求文檔中。這份文檔后期會有助于產(chǎn)品經(jīng)理等技術(shù)開發(fā)人員對項目的理解,減少技術(shù)人員溝通之間的誤差。3.原型設(shè)計需求文檔建立后,接下來項目經(jīng)理將會進(jìn)行原型圖的設(shè)計,其中包含功能的結(jié)構(gòu)性布局、各分頁面的設(shè)計和頁面間業(yè)務(wù)邏輯的設(shè)計。最后生成一份能完整表達(dá)頁面所有功能的原型設(shè)計圖。在此期間可能會使用不同種類的原型設(shè)計工具,如Mockplus、axure、墨刀等。4.UI設(shè)計前面設(shè)計的原型圖會經(jīng)過反復(fù)的推敲修正,隨后,UI(用戶界面)設(shè)計師會進(jìn)行UI界面相關(guān)的配色設(shè)計、功能具象化處理、交互設(shè)計、各種機(jī)型和系統(tǒng)的適配。然后UI設(shè)計師經(jīng)過多次與項目經(jīng)理溝通修改后,最終達(dá)到定稿的高保真設(shè)計圖。對于后臺UI,大部分的移動互聯(lián)網(wǎng)產(chǎn)品項目都會有相應(yīng)的Web管理后臺,其功能設(shè)計與APP的功能是一一對照的,合理的設(shè)計能讓后臺管理人員快速上手。5.開發(fā)以上流程結(jié)束即可進(jìn)入開發(fā)階段,一款優(yōu)質(zhì)的移動互聯(lián)網(wǎng)產(chǎn)品項目包含以下幾個部分:(1)服務(wù)器端:編寫接口協(xié)議文檔、服務(wù)器環(huán)境架設(shè)、設(shè)計數(shù)據(jù)庫和編寫API接口。其中,國內(nèi)阿里云服務(wù)器占主要市場,國外亞馬遜云占主要市場。(2)?APP端:根據(jù)UI設(shè)計圖進(jìn)行界面開發(fā),UI開發(fā)完成后即可進(jìn)入和服務(wù)端接口對接環(huán)節(jié),通過服務(wù)端的接口獲取數(shù)據(jù),編寫功能上的邏輯代碼。(3)?Web管理端:根據(jù)前端的業(yè)務(wù)邏輯,后臺會有相應(yīng)的功能與之匹配,同樣也需要編寫功能上的邏輯代碼。6.測試調(diào)試移動互聯(lián)網(wǎng)產(chǎn)品功能開發(fā)完成之后,測試人員會對整個項目進(jìn)行系統(tǒng)的測試,這個環(huán)節(jié)會調(diào)動項目組內(nèi)部所有的相關(guān)人員。測試這個環(huán)節(jié)的重要性不亞于前期功能的規(guī)劃。一個正規(guī)優(yōu)質(zhì)的專業(yè)團(tuán)隊不應(yīng)該缺失專業(yè)的測試人員。7.市場檢驗在經(jīng)過至少兩輪的內(nèi)部測試以及完成修改要求后,即可進(jìn)行最終版本的確認(rèn)上架,當(dāng)然分為安卓市場和蘋果市場,或者是微信小程序,或者是微網(wǎng)站,還得編寫后臺操作及客戶使用說明文檔,并對運營人員進(jìn)行系統(tǒng)培訓(xùn)。8.迭代在產(chǎn)品正式投放到市場后,就會得到市場的大量反饋,從而了解該如何修正或者調(diào)整運營策略。若當(dāng)前系統(tǒng)的功能無法滿足項目需求時,就需要去規(guī)劃新的版本功能的迭代問題了。9.日常維護(hù)當(dāng)項目正常運作后,就算是已經(jīng)進(jìn)入了相對穩(wěn)定的階段。也可能會有一些小問題的出現(xiàn),或者一些隱藏的比較深的bug,此時就需要相關(guān)的市場人員進(jìn)行問題的收集以及技術(shù)人員對問題做出及時的修復(fù)。4.1.2產(chǎn)品需求分析方法為了保證項目的正常實施和順利完成,必須加強(qiáng)項目管理和重視項目分析工作。只有從實際出發(fā),切切實實地把握用戶需求,才能保證開發(fā)工作向正確方向前進(jìn)。1.常見需求分析問題及應(yīng)對由于軟件項目的特殊性和行業(yè)覆蓋的廣闊性,以及需求分析的高風(fēng)險性,軟件需求分析的重要性是不言而喻的。但需求分析確實非常難做,主要難點來自如下因素。1)客戶說不清楚需求有些客戶對需求只有朦朧的感覺,說不清楚具體的需求。此時,用戶就會要求軟件系統(tǒng)分析人員替他們設(shè)想需求。在這種情況下,工程的需求就存在一定的主觀性,為項目未來建設(shè)埋下了潛在的風(fēng)險。2)需求自身經(jīng)常變動根據(jù)以往的歷史經(jīng)驗,隨著客戶方對信息化建設(shè)的認(rèn)識和自己業(yè)務(wù)水平的提高,他們會在不同的階段和時期對項目的需求提出新的要求和需求變更。在進(jìn)行需求分析時要懂得防患于未然,盡可能地分析清楚哪些是穩(wěn)定的需求,哪些是易變的需求,以便在進(jìn)行系統(tǒng)設(shè)計時,將軟件的核心建筑在穩(wěn)定的需求上,同時留出變更空間。同時,項目監(jiān)理方在需求分析的功能界定上也必須擔(dān)任一個中間、公平、公正的角色,所以也應(yīng)該積極參與到需求分析的準(zhǔn)備中來,以便協(xié)助客戶方和承建方來界定“做什么”“不做什么”的系統(tǒng)功能界限。3)分析人員或客戶理解有誤軟件系統(tǒng)分析人員不可能都是全才,更不可能是行業(yè)方面的專家。不同的分析人員對客戶表達(dá)的需求可能有不同的理解。如果分析人員理解錯了,可能會導(dǎo)致以后的開發(fā)工作勞而無功。項目的技術(shù)承建方必須加強(qiáng)業(yè)務(wù)了解程度,同時加強(qiáng)溝通技巧,以便從客戶那里獲得準(zhǔn)確的需求。2.有效性軟件需求分析三步法根據(jù)以往的工程經(jīng)驗,需求分析工作方法應(yīng)該定位在三個階段(也稱三步法)。1)訪談階段這一階段是和具體用戶方的領(lǐng)導(dǎo)層、業(yè)務(wù)層人員的訪談式溝通,主要目的是從宏觀上把握用戶的具體需求方向和趨勢,了解現(xiàn)有的組織架構(gòu)、業(yè)務(wù)流程、硬件環(huán)境、軟件環(huán)境、運行系統(tǒng)等具體情況和客觀的信息。建立起良好的溝通渠道和方式,聯(lián)系具體的職能部門以及各委辦局,最好能指定本次項目的接口人。實現(xiàn)手段:訪談、調(diào)查表格。輸出成果:調(diào)查報告、業(yè)務(wù)流程報告。2)誘導(dǎo)階段這一階段是在承建方已經(jīng)了解了用戶方實際和客觀的信息基礎(chǔ)上,結(jié)合現(xiàn)有的硬件、軟件,做出簡單的用戶流程頁面,同時結(jié)合以往的項目經(jīng)驗對用戶采用誘導(dǎo)式、啟發(fā)式的調(diào)研方法和手段,和用戶一起探討業(yè)務(wù)流程設(shè)計的合理性、準(zhǔn)確性、便易性、習(xí)慣性。用戶可以操作簡單演示的DEMO,來感受一下整個業(yè)務(wù)流程的設(shè)計是否合理和準(zhǔn)確,以便及時地提出改進(jìn)意見和方法。實現(xiàn)手段:拜訪(誘導(dǎo))、原型演示。輸出成果:調(diào)研分析報告、原型反饋報告、業(yè)務(wù)流程報告。3)確認(rèn)階段這一階段是在上述兩個階段成果的基礎(chǔ)上,進(jìn)行具體的流程細(xì)化、數(shù)據(jù)項的確認(rèn)。在這個階段,承建方必須提供原型系統(tǒng)和明確的業(yè)務(wù)流程報告、數(shù)據(jù)項表,并能清晰地向用戶描述系統(tǒng)的業(yè)務(wù)流程設(shè)計目標(biāo)。用戶方可以通過審查業(yè)務(wù)流程報告、數(shù)據(jù)項表以及操作承建方提供的DEMO,來提出反饋意見,并對已經(jīng)可接受的報告、文檔簽字確認(rèn)。實現(xiàn)手段:拜訪(回顧、確認(rèn)),提交業(yè)務(wù)流程報告、數(shù)據(jù)項,原型演示系統(tǒng)。輸出成果:需求分析報告、數(shù)據(jù)項、業(yè)務(wù)流程報告、原型系統(tǒng)反饋意見(后三者可以統(tǒng)一歸入需求分析報告中,提交用戶方、監(jiān)理方進(jìn)行確認(rèn)和存檔)。整體來講,需求分析的三個階段是需求調(diào)研中不可忽視的重要部分,三個階段或者說三步法的實施和采用,對用戶和承建方都同樣提供了項目成功的保證。當(dāng)然,在系統(tǒng)建設(shè)的過程中,特別在采用迭代法的開發(fā)模式時,需求分析的工作應(yīng)該持續(xù)進(jìn)行下去,而在后期的需求改進(jìn)中,工作則基本集中在后兩個階段上。4.1.3軟件需求分析工具根據(jù)用戶要求,通過反復(fù)討論、分析,最終明確一個唯一性的用戶需求,這個結(jié)果其實就是軟件需求分析報告。一般采用Word、PowerPoint、Visio、ProntPage、Excel等Office工具,同時可能采用一些開發(fā)工具,如VC或BC等,同樣也會使用一些圖形工具,如Mockplus、axure、墨刀、Photoshop、調(diào)色板等。使用各種工具表達(dá)軟件需求分析,其具體表達(dá)手段可以分為以下幾種。效果圖描述:主要是用戶界面的描述,反映用戶需求功能;邏輯圖描述:根據(jù)用戶需求功能,使用抽象化理論以及需求分析理論,對用戶需求功能進(jìn)行全面的分析,建立功能性邏輯關(guān)系圖、流程邏輯關(guān)系圖等;關(guān)系圖表描述:主要是對信息關(guān)系、數(shù)據(jù)庫表格、接口函數(shù)等的描述;工程數(shù)學(xué)描述:包括分析用戶需求、分析用戶需求信息、運用工程數(shù)學(xué)進(jìn)行算法推導(dǎo)、進(jìn)行合理化需求分析推導(dǎo);甘特圖描述:主要是軟件項目工作安排,開發(fā)周期預(yù)估;其他方法描述:保證完整性、合理性的有效描述。4.1.4軟件需求分析評估軟件需求分析評估階段的目標(biāo)是檢查軟件需求分析工作的質(zhì)量是否合格。只有保證軟件需求分析工作的正確性、完整性、有效性、合理性、可確認(rèn)性、可實施性,才能保證用戶所需求的功能能被正確地開發(fā)出來,主要從如下幾個維度進(jìn)行分析評估。1.組織結(jié)構(gòu)與責(zé)任管理對組織結(jié)構(gòu)與責(zé)任管理的評估主要有參與人員任務(wù)和責(zé)任界面的明確、安排計劃按時完成狀況、相互間的協(xié)調(diào)能力狀況。2.滿足用戶需求的功能進(jìn)行需求分析的目的是要求完整、準(zhǔn)確地描述用戶的需求,跟蹤用戶需求的變化,將用戶的需求準(zhǔn)確地反映到系統(tǒng)的分析和設(shè)計中,并使系統(tǒng)的分析、設(shè)計和用戶的需求保持一致。需求分析的特點是需求的完整性、一致性和可追溯性。(1)完整性是準(zhǔn)確、全面地描述用戶的需求。(2)一致性是通過分析整理,剔除用戶需求矛盾的方面,規(guī)范用戶需求。(3)可追溯性有兩個方面的含義:其一,需要不斷的和用戶進(jìn)一步交流,保持和用戶最新的需求一致;其二,和系統(tǒng)分析(設(shè)計)保持一致。因此,在需求分析之前必須建立需求分析技術(shù)層面的基本框架,從技術(shù)上保證需求分析的正確性,在此基礎(chǔ)上進(jìn)行的需求分析才能滿足項目對需求分析的要求。3.保證可實施性若要保證產(chǎn)品的可實施性,必須以用戶軟件需求為依據(jù),以求實的態(tài)度詳細(xì)的、準(zhǔn)確的、完整的編寫軟件需求分析,避免空中樓閣的想法;避免無邏輯、無核心的描述;避免無量化思維,無實際空間概念。4.需求分析評價指標(biāo)需求分析評價指標(biāo)主要有功能性、完整性、正確性、邏輯性、表現(xiàn)性、合理性、可實施性等。5.工作周期評價人員投入以及費用支出的合理性問題,正確制定工作周期,保證軟件項目的順利完成。6.內(nèi)容確定內(nèi)容清楚明了是實現(xiàn)用戶需求正確性的基本保證。如果需求分析報告中還有不確定的內(nèi)容,將會阻礙軟件實現(xiàn),或者導(dǎo)致軟件設(shè)計存在著不完整性缺陷,甚至導(dǎo)致項目不可實施。我們必須對這些還不確定的內(nèi)容進(jìn)行分析,其中那些因為工作遺漏或其他可克服的因素導(dǎo)致的問題,就要采取措施予以解決;對于那些確實是客戶暫時無法予以明確的問題,承建方要積極提出替代方案,并和客戶一起分析可行性,進(jìn)而給出采用替代方案或者是暫不予以實施該功能點的結(jié)論。4.2數(shù)?據(jù)?庫?設(shè)?計4.2.1數(shù)據(jù)庫設(shè)計的幾個步驟1.需求分析階段進(jìn)行數(shù)據(jù)庫設(shè)計首先必須準(zhǔn)確了解和分析用戶需求(包括數(shù)據(jù)與處理)。需求分析是整個設(shè)計過程的基礎(chǔ),也是最困難、最耗時的一步。需求分析的具體方法已經(jīng)在4.1節(jié)中予以了充分說明。2.邏輯結(jié)構(gòu)設(shè)計階段(E-R圖)邏輯結(jié)構(gòu)設(shè)計是將需求中的數(shù)據(jù)存儲要求轉(zhuǎn)換為邏輯數(shù)據(jù)模型,并將其進(jìn)行優(yōu)化。在這階段,E-R圖(Entity-RelationshipDigram,實體-關(guān)系圖)顯得異常重要。E-R圖是有總分結(jié)構(gòu)的,在總體圖框架下,還對其中各個細(xì)節(jié)有分支E-R圖。學(xué)會用各個實體定義的屬性來畫出總體的E-R圖。各分支E-R圖之間的沖突主要有三類:屬性沖突、命名沖突和結(jié)構(gòu)沖突。E-R圖向關(guān)系模型的轉(zhuǎn)換要解決的問題是如何將實體型和實體間的聯(lián)系轉(zhuǎn)換為關(guān)系模式,如何確定這些關(guān)系模式的屬性和碼。3.物理設(shè)計階段物理設(shè)計是為邏輯數(shù)據(jù)結(jié)構(gòu)模型選取一個最適合應(yīng)用環(huán)境的物理結(jié)構(gòu)(包括存儲結(jié)構(gòu)和存取方法)。首先要對運行的事務(wù)詳細(xì)分析,獲得選擇物理數(shù)據(jù)庫設(shè)計所需要的參數(shù)。其次要充分了解所用的數(shù)據(jù)庫軟件的內(nèi)部特征,特別是系統(tǒng)提供的存取方法和存儲結(jié)構(gòu)。4.2.2概念模型設(shè)計技術(shù)概念模型設(shè)計技術(shù)主要是利用E-R圖將需求文檔中體現(xiàn)的概念模型映射為實體關(guān)系圖,并完善其中的值和碼,以及實體與實體之間的關(guān)系。E-R圖是描述現(xiàn)實世界概念模型的有效方法。其中,矩形表示實體型;橢圓表示實體屬性;菱形表示實體型之間的聯(lián)系。構(gòu)成E-R圖的基本要素是實體型、屬性和聯(lián)系,其表示方法如下所述。(1)實體型(Entity):相同屬性的實體具有相同的特征和性質(zhì),用實體名及其屬性名集合來抽象和刻畫同類實體。在E-R圖中用矩形表示,矩形框內(nèi)寫明實體名。(2)屬性(Attribute):實體所具有的某一特性。一個實體可由若干個屬性來刻畫,在E-R圖中用橢圓形表示,并用無向邊將其與相應(yīng)的實體連接起來。(3)聯(lián)系(Relationship):聯(lián)系也稱關(guān)系,信息世界中反映實體內(nèi)部或?qū)嶓w之間的聯(lián)系。實體內(nèi)部的聯(lián)系通常是指組成實體的各屬性之間的聯(lián)系;實體之間的聯(lián)系通常是指不同實體集之間的聯(lián)系。在E-R圖中用菱形表示,菱形框內(nèi)寫明聯(lián)系名,并用無向邊分別與有關(guān)的實體連接起來,同時在無向邊旁標(biāo)上聯(lián)系的類型(1∶1、1∶n或m∶n)。4.2.3物理模型設(shè)計技術(shù)物理模型設(shè)計的第一步是進(jìn)行物理數(shù)據(jù)庫表的設(shè)計,它不僅考慮功能性需求,還要考慮非功能性需求—響應(yīng)時間和事務(wù)吞吐量。物理表的設(shè)計基于之前分析的E-R圖。物理數(shù)據(jù)庫設(shè)計包括設(shè)計域(其中包括它們的數(shù)據(jù)類型和約束)、對實像的有效訪問(可能需要分割類或者合并類)、增強(qiáng)性能的技術(shù)(比如索引)。一個關(guān)系數(shù)據(jù)庫是一組相關(guān)的表,一個表可以表示一個實體類的數(shù)據(jù)部分。一般將E-R圖中的一個實體類對應(yīng)一張物理表,但是也有很多例外。1.設(shè)計域域是由系統(tǒng)軟件(比如編程語言或數(shù)據(jù)庫管理系統(tǒng))識別的應(yīng)用數(shù)據(jù)的最小單位。在邏輯數(shù)據(jù)庫設(shè)計(E-R圖)期間一般使用術(shù)語“屬性”,在物理數(shù)據(jù)庫設(shè)計期間一般使用術(shù)語“域”。一個屬性通常映射到一個域。然而,也有例外,有時一個屬性需要映射為多個域。如姓名可以映射成“姓”和“名”;邏輯數(shù)據(jù)庫模型中的一個組合屬性一般也映射成若干個域。在不同的物理模型(如MSSQL-Server)中可以把上述每個域分別做成一個字段,而在對象關(guān)系數(shù)據(jù)庫(如Oracle9i/10g)中,組合屬性可以單獨定義為一個類型,例如NAME和ADDRESS各自可以被定義為類型??梢钥闯?,在不同的數(shù)據(jù)庫軟件上,物理模型是有差異的。2.選擇數(shù)據(jù)類型數(shù)據(jù)類型是由系統(tǒng)軟件識別的、表示數(shù)據(jù)的一種編碼模式。編碼模式對系統(tǒng)分析員通常無關(guān)緊要,但是存儲數(shù)據(jù)的空間和訪問數(shù)據(jù)所需的速度在數(shù)據(jù)庫設(shè)計中很重要。系統(tǒng)設(shè)計員需要熟悉軟件可用的數(shù)據(jù)類型。如果Java和Oracle交互,它們兩個中的數(shù)據(jù)類型有所不同,如果沒有明確的處理,會導(dǎo)致不匹配錯誤。選擇一個數(shù)據(jù)類型要均衡下面4個目標(biāo),它們的重要程度將根據(jù)應(yīng)用的不同而不同:(1)最小化存儲空間。(2)表示域的所有可能值。(3)提高域的數(shù)據(jù)完整性。(4)支持域上想要的所有數(shù)據(jù)操作。3.控制數(shù)據(jù)完整性通過限制一個域的值的可能范圍來幫助控制數(shù)據(jù)完整性。普遍的數(shù)據(jù)完整性控制方法是默認(rèn)值、格式控制、范圍控制、參照完整性和空值控制五種。(1)默認(rèn)值:默認(rèn)值是沒有明確輸入一個域的值時,該域?qū)⒉捎玫闹?初值)。(2)格式控制:有些數(shù)據(jù)必須遵從規(guī)定的格式。格式是一種代碼模式,它限制了一個域中的各個位置的寬度和可能值。其他類型的格式控制可以用于格式化貨幣值、指明如何顯示負(fù)數(shù)、消除前導(dǎo)零,或?qū)R顯示域空間中的值等。(3)范圍控制:數(shù)字和字母數(shù)據(jù)具有一個有限集合的允許值。例如一個售出產(chǎn)品域,其單位數(shù)量有一個下界0。(4)參照完整性:參照完整性最常見的關(guān)系是由外鍵維護(hù)時的對象關(guān)系之間的交叉引用。(5)空值控制:空值是一個特殊的域值,不同于0、空白或任何其他值,它表明缺少,或者不知道該域的值。4.3移動互聯(lián)網(wǎng)產(chǎn)品功能的代碼實現(xiàn)技術(shù)4.3.1移動端開發(fā)技術(shù)1.概念介紹1)原生APPAPP(application,應(yīng)用程序)一般指手機(jī)軟件,主要指安裝在智能手機(jī)上的軟件,完善原始系統(tǒng)的不足與個性化,是手機(jī)完善其功能,為用戶提供更豐富的使用體驗的主要手段。手機(jī)軟件的運行需要有相應(yīng)的手機(jī)系統(tǒng)。目前原生APP是指:使用OC或Swift語言開發(fā),運行在蘋果公司的iOS系統(tǒng)上的移動應(yīng)用程序。使用Java或Kotlin語言開發(fā),運行在谷歌公司的Android(安卓)系統(tǒng)上的移動應(yīng)用程序。2)?H5HTML(HyperTextMarkupLanguage,超文本標(biāo)記語言)是描述網(wǎng)頁的標(biāo)準(zhǔn)語言,HTML5是第5個版本的HTML。我們上網(wǎng)所看到的網(wǎng)頁多數(shù)都是由HTML寫成的?!俺谋尽笔侵疙撁鎯?nèi)可以包含圖片、鏈接,甚至音樂、程序等非文字元素。而“標(biāo)記”指的是這些超文本必須由包含屬性的開頭與結(jié)尾標(biāo)志來標(biāo)記。瀏覽器通過解碼HTML,就可以把網(wǎng)頁內(nèi)容顯示出來,它也構(gòu)成了互聯(lián)網(wǎng)興起的基礎(chǔ)。3)小程序此處專指微信小程序,簡稱小程序(MiniProgram),是一種不需要下載安裝即可使用的應(yīng)用,它實現(xiàn)了應(yīng)用“觸手可及”的夢想,用戶掃一掃或搜一下即可打開應(yīng)用。4)?UniappUniapp是一個使用Vue.js開發(fā)跨平臺應(yīng)用的前端框架,開發(fā)者編寫一套代碼,可編譯到iOS、Android、H5、小程序等多個平臺。5)?WeexWeex是一個使用Web開發(fā)體驗來開發(fā)高性能原生應(yīng)用的框架。6)?RNRN(ReactNative)是Facebook于2015年4月開源的跨平臺移動應(yīng)用開發(fā)框架,是Facebook早先開源的JS框架React在原生移動應(yīng)用平臺的衍生產(chǎn)物,目前支持iOS和安卓兩大平臺。RN使用JavaScript語言,類似于HTML的JSX以及CSS來開發(fā)移動應(yīng)用,因此熟悉Web前端開發(fā)的技術(shù)人員只需簡單的學(xué)習(xí)就可以進(jìn)入移動應(yīng)用開發(fā)領(lǐng)域。7)?FlutterFlutter是谷歌的移動UI框架,可以快速在iOS和Android上構(gòu)建高質(zhì)量的原生用戶界面。Flutter可以與現(xiàn)有的代碼一起工作。2.比較下面通過開發(fā)、產(chǎn)品、運營三個維度對各項常見移動應(yīng)用程序開發(fā)技術(shù)進(jìn)行比較,標(biāo)準(zhǔn)分為該項指標(biāo)開發(fā)成本或者用戶體驗效果,對比結(jié)果如表4.1所示。3.移動端常用開發(fā)技術(shù)優(yōu)劣勢下面對移動端常用開發(fā)技術(shù)優(yōu)劣勢進(jìn)行總結(jié),如表4.2所示。4.3.2Web應(yīng)用程序開發(fā)技術(shù)1.概述Web是一種典型的分布式應(yīng)用結(jié)構(gòu)。Web應(yīng)用中的每一次信息交換都要涉及客戶端和服務(wù)端。因此,Web開發(fā)技術(shù)大體上也可以被分為客戶端技術(shù)和服務(wù)端技術(shù)兩大類。這里對這些技術(shù)做簡要介紹,以使讀者對Web技術(shù)有一個總體的認(rèn)識。2.?Web客戶端技術(shù)Web客戶端的主要任務(wù)是展現(xiàn)信息內(nèi)容。Web客戶端設(shè)計技術(shù)主要包括HTML語言、JavaApplets、腳本程序、CSS、DHTML、插件技術(shù)以及VRML技術(shù)。1)?HTML語言HTML是構(gòu)成Web頁面的主要工具。2)?JavaAppletsJavaApplets即Java小應(yīng)用程序。使用Java語言創(chuàng)建小應(yīng)用程序,瀏覽器可以將JavaApplets從服務(wù)器下載到瀏覽器,在瀏覽器所在的機(jī)器上運行。JavaApplets可提供動畫、音頻和音樂等多媒體服務(wù)。1996年,著名的Netscape瀏覽器在其2.0版本中率先提供了對JavaApplets的支持,隨后,Microsoft的IE3.0也在這一年開始支持Java技術(shù)。JavaApplets使得Web頁面從只能展現(xiàn)靜態(tài)的文本或圖像信息,發(fā)展到可以動態(tài)展現(xiàn)豐富多樣的信息。動態(tài)Web頁面不僅僅表現(xiàn)在網(wǎng)頁的視覺展示方式上,更重要的是它可以對網(wǎng)頁中的內(nèi)容進(jìn)行控制與修改。3)腳本程序腳本程序是嵌入在HTML文檔中的程序。使用腳本程序可以創(chuàng)建動態(tài)頁面,大大提高交互性。用于編寫腳本程序的語言主要有JavaScript和VBScript。JavaScript由Netscape公司開發(fā),具有易于使用、變量類型靈活和無須編譯等特點。VBScript由Microsoft公司開發(fā),與JavaScript一樣,可用于設(shè)計交互的Web頁面。要說明的是,雖然JavaScript和VBScript語言最初都是為創(chuàng)建客戶端動態(tài)頁面而設(shè)計的,但它們都可以用于服務(wù)端腳本程序的編寫。客戶端腳本與服務(wù)端腳本程序的區(qū)別在于執(zhí)行的位置不同,前者在客戶端機(jī)器執(zhí)行,而后者是在Web服務(wù)端機(jī)器執(zhí)行。目前主要流行JavaScript。4)?CSS(CascadingStyleSheets)CSS即級聯(lián)樣式表。通過在HTML文檔中設(shè)立樣式表,可以統(tǒng)一控制HTML中各標(biāo)志顯示屬性。1996年底,W3C提出了CSS的建議標(biāo)準(zhǔn),同年,IE3.0引入了對CSS的支持。CSS大大提高了開發(fā)者對信息展現(xiàn)格式的控制能力。1997年的Netscape4.0不但支持CSS,而且增加了許多Netscape公司自定義的動態(tài)HTML標(biāo)記,這些標(biāo)記在CSS的基礎(chǔ)上讓HTML頁面中的各種要素“活動”了起來。5)?DHTML(DynamicHTML)DHTML即動態(tài)HTML。1997年,Microsoft發(fā)布了IE4.0,并將動態(tài)HTML標(biāo)記、CSS和動態(tài)對象(DynamicObjectModel)發(fā)展成為一套完整、實用、高效的客戶端開發(fā)技術(shù)體系,Microsoft稱其為DHTML。同樣是實現(xiàn)HTML頁面的動態(tài)效果,DHTML技術(shù)無須啟動Java虛擬機(jī)或其他腳本環(huán)境,可以在瀏覽器的支持下獲得更好的展現(xiàn)效果和更高的執(zhí)行效率。6)插件技術(shù)插件技術(shù)大大豐富了瀏覽器的多媒體信息展示功能,常見的插件包括QuickTime、Realplayer、MediaPlayer和Flash等。為了在HTML頁面中實現(xiàn)音頻、視頻等更為復(fù)雜的多媒體應(yīng)用,1996年的Netscape2.0成功地引入了對QuickTime插件的支持,插件這種開發(fā)方式也迅速風(fēng)靡了瀏覽器的世界。同年,在Windows平臺上,Microsoft將COM和ActiveX技術(shù)應(yīng)用于IE瀏覽器中,其推出的IE3.0正式支持在HTML頁面中插入ActiveX控件,這為其他廠商擴(kuò)展Web客戶端的信息展現(xiàn)方式提供了方便的途徑。1999年,Realplayer插件先后在Netscape和IE瀏覽器中取得了成功,與此同時,Microsoft自己的媒體播放插件MediaPlayer也被預(yù)裝到了各種Windows版本之中。同樣具有重要意義的還有Flash插件的問世:20世紀(jì)90年代初期,JonathanGayde在FutureWave公司開發(fā)了一種名為FutureSplashAnimator的二維矢量動畫展示工具,1996年,Macromedia公司收購了FutureWave,并將JonathanGayde的發(fā)明改名為我們熟悉的Flash。從此,F(xiàn)lash動畫成了Web開發(fā)者表現(xiàn)自我、展示個性的最佳方式。7)?VRML技術(shù)Web已經(jīng)由靜態(tài)步入動態(tài),并正在逐漸由二維走向三維,將用戶帶入五彩繽紛的虛擬現(xiàn)實世界。VRML是創(chuàng)建三維對象最重要的工具,它是一種基于文本的語言,并可運行于任何平臺。3.?Web服務(wù)端技術(shù)與Web客戶端技術(shù)從靜態(tài)向動態(tài)的演進(jìn)過程類似,Web服務(wù)端的開發(fā)技術(shù)也是由靜態(tài)向動態(tài)逐漸發(fā)展并完善起來的。Web服務(wù)端技術(shù)主要包括服務(wù)器、CGI、PHP、ASP、ASP.NET、Servlet、JSP和J2EE等。1)服務(wù)器技術(shù)服務(wù)器技術(shù)主要指有關(guān)Web服務(wù)器構(gòu)建的基本技術(shù),包括服務(wù)器策略與結(jié)構(gòu)設(shè)計、服務(wù)器軟/硬件的選擇及其他有關(guān)服務(wù)器構(gòu)建的問題。2)?CGI(CommonGatewayInterface)技術(shù)CGI即公共網(wǎng)關(guān)接口技術(shù)。最早的Web服務(wù)器簡單地響應(yīng)瀏覽器發(fā)來的HTTP請求,并將存儲在服務(wù)器上的HTML文件返回給瀏覽器。CGI是第一種使服務(wù)器能根據(jù)運行時的具體情況,動態(tài)生成HTML頁面的技術(shù)。1993年,NCSA提出CGI1.0的標(biāo)準(zhǔn)草案,之后分別在1995年和1997年制定了CGI1.1和1.2標(biāo)準(zhǔn)。CGI技術(shù)允許服務(wù)端的應(yīng)用程序根據(jù)客戶端的請求,動態(tài)生成HTML頁面,這使客戶端和服務(wù)端的動態(tài)信息交換成為了可能。隨著CGI技術(shù)的普及,聊天室、論壇、電子商務(wù)、信息查詢、全文檢索等各式各樣的Web應(yīng)用蓬勃興起,人們可以享受到信息檢索、信息交換、信息處理等更為便捷的信息服務(wù)了。3)?PHP(PersonalHomePage)技術(shù)1994年,RasmusLerdorf發(fā)明了專用于Web服務(wù)端編程的PHP語言。與以往的CGI程序不同,PHP語言將HTML代碼和PHP指令合成為完整的服務(wù)端動態(tài)頁面,Web應(yīng)用的開發(fā)者可以用一種更加簡便、快捷的方式實現(xiàn)動態(tài)Web功能。4)?ASP(ActiveServerPages)技術(shù)ASP即活動服務(wù)器頁面技術(shù)。1996年,Microsoft借鑒PHP的思想,在其Web服務(wù)器IIS3.0中引入了ASP技術(shù)。ASP使用的腳本語言是我們熟悉的VBScript和JavaScript。借助MicrosoftVisualStudio等開發(fā)工具在市場上的成功,ASP迅速成為Windows系統(tǒng)下Web服務(wù)端的主流開發(fā)技術(shù)。5)?ASP.NET技術(shù)由于ASP.NET使用C#語言代替ASP技術(shù)的JavaScript腳本語言,用編譯代替了逐句解釋,提高了運行效率。ASP.NET是建立在.NETFramework的公共語言運行庫上的編程框架,可用于在服務(wù)器上生成功能強(qiáng)大的Web應(yīng)用程序,代替以前在Web網(wǎng)頁中加入ASP腳本代碼,使界面設(shè)計與程序設(shè)計以不同的文件分離,復(fù)用性和維護(hù)性得到提高,已經(jīng)成為面向下一代企業(yè)級網(wǎng)絡(luò)計算的Web平臺,是對傳統(tǒng)ASP技術(shù)的重大升級和更新。6)?Servlet、JSP、J2EE技術(shù)以Sun公司為首的Java陣營于1997和1998年分別推出了Servlet和JSP技術(shù),并在隨后推出了JDK的J2EE版本。JSP的組合讓Java開發(fā)者同時擁有了類似CGI程序的集中處理功能和類似PHP的HTML嵌入功能。此外,Java運行時的編譯技術(shù)也大大提高了Servlet和JSP的執(zhí)行效率。Servlet和JSP被后來的J2EE平臺吸納為核心技術(shù)。4.4移動互聯(lián)網(wǎng)產(chǎn)品的測試和上線運營4.4.1測試計劃1.測試編寫目的產(chǎn)品開發(fā)出來后需要執(zhí)行嚴(yán)格的系統(tǒng)測試,才能進(jìn)行上線運營。產(chǎn)品測試的第一步就是編寫測試計劃,確定系統(tǒng)測試的內(nèi)容和范圍,為評價系統(tǒng)提供依據(jù)。這就需要合理安排現(xiàn)有的各種資源,順利進(jìn)行該項目的軟件測試,盡可能多地發(fā)現(xiàn)潛在的錯誤,以完成預(yù)期的功能。2.測試策略1)功能測試測試目標(biāo):確保測試對象的功能正常,其中包括導(dǎo)航、數(shù)據(jù)輸入、處理和檢索等功能。方法:利用有效的和無效的數(shù)據(jù)來執(zhí)行各個用例、用例流或功能,以核實以下內(nèi)容:在使用有效數(shù)據(jù)時得到預(yù)期的結(jié)果;在使用無效數(shù)據(jù)時顯示相應(yīng)的錯誤消息或警告消息;各業(yè)務(wù)規(guī)則都得到了正確的應(yīng)用。完成標(biāo)準(zhǔn):所計劃的測試已全部執(zhí)行,所發(fā)現(xiàn)的缺陷已全部解決。需考慮的特殊事項:無。2)用戶界面測試用戶界面測試常用的檢查維度如表4.3所示。3)性能測試性能測試主要是對響應(yīng)時間、事務(wù)處理速率和其他與時間相關(guān)的需求進(jìn)行評測和評估,分為單元測試、組裝測試、確認(rèn)測試、系統(tǒng)測試四個階段。3.測試計劃案例1)制定測試計劃的步驟分析產(chǎn)品需求;定義測試策略;定義測試環(huán)境;定義測試管理;編寫和審核測試計劃。2)選擇測試手段常用測試手段如表4.4所示。3)測試進(jìn)度安排測試進(jìn)度安排樣例如表4.5所示。4.4.2測試過程1.搭建測試環(huán)境測試環(huán)境是測試人員為進(jìn)行產(chǎn)品測試而搭建的環(huán)境,一般情況下包括了多種典型的用戶環(huán)境。用戶環(huán)境是用戶實際使用產(chǎn)品時的環(huán)境,當(dāng)一個產(chǎn)品給不同的用戶使用時,他們可能在不同的環(huán)境下使用這個軟件。在很多情況下,這幾個環(huán)境并不相同,但一個規(guī)劃良好的測試環(huán)境總是很接近于用戶環(huán)境(這里所說的“環(huán)境”指的是被測試產(chǎn)品所運行的軟件環(huán)境和硬件環(huán)境)。一般來說,除被測試產(chǎn)品本身外,還包括產(chǎn)品運行的操作系統(tǒng)(如WindowsXP、Linux),其他支持軟件(如Java虛擬機(jī)、數(shù)據(jù)庫軟件、中間件軟件),計算機(jī)平臺(如PC、小型機(jī)),系統(tǒng)數(shù)據(jù),外部設(shè)備(如打印機(jī)),專用的硬件設(shè)備(如工業(yè)控制軟件所涉及的一系列輸入、輸出設(shè)備)。在開始進(jìn)行測試前,要建立測試環(huán)境,而在很多時候,建立測試環(huán)境并不是一件容易的事情,需要花費人力、時間和經(jīng)費才能建立起來能夠滿足測試要求的環(huán)境。因此,在測試計劃階段,就需要對建立什么樣的測試環(huán)境進(jìn)行規(guī)劃。建立測試環(huán)境是實施測試過程中的一個比較重要且有一定復(fù)雜度的工作。在實際的產(chǎn)品測試過程中,常常會發(fā)生在公司的測試環(huán)境下發(fā)現(xiàn)不了軟件錯誤,到用戶手里卻發(fā)現(xiàn)了缺陷,以及用戶反映了軟件錯誤而在公司的測試環(huán)境中卻無法重現(xiàn)的問題。理想的測試環(huán)境是和用戶環(huán)境完全一樣的,但實際上,由于不同的用戶往往使用不同的環(huán)境,用戶環(huán)境的數(shù)量可能相當(dāng)大,因此在公司搭建的這個理想的測試環(huán)境并不能實現(xiàn)所有的用戶場景。因此,要分析在用戶環(huán)境中哪些配置可能對產(chǎn)品有影響,并在這個分析的基礎(chǔ)上建立測試環(huán)境。2.測試用例每個測試用例,就是由前提條件和操作步驟、預(yù)期結(jié)果、實際結(jié)果,這三個要素構(gòu)成的描述。在編寫測試用例時,要以軟件需求為依據(jù),其三個要素都需要在軟件需求中找到相應(yīng)的依據(jù),而不能憑著想象去寫。3.測試發(fā)現(xiàn)的錯誤的分類及原因可以從如下幾種方式來定義產(chǎn)品錯誤的分類:按照錯誤等級分類;按照錯誤修復(fù)優(yōu)先級分類;按照錯誤原因分類。1)軟件錯誤等級按照錯誤的嚴(yán)重程度、影響程度的不同,軟件錯誤可以被分為不同的等級(有時人們也稱之為錯誤嚴(yán)重程度、錯誤嚴(yán)重等級)。在不同的公司,對于軟件錯誤的分級方法也不同。所謂嚴(yán)重性,指的是在測試條件下,一個錯誤在系統(tǒng)中的絕對影響,忽略了在最終用戶條件下發(fā)生事情的可能性。嚴(yán)重性錯誤主要包括以下兩種:(1)致命錯誤。致命錯誤一般指影響全局的死機(jī)、通信中斷、重要業(yè)務(wù)不能完成。例如運行過程中的死機(jī)、非法退出、死循環(huán)、數(shù)據(jù)庫發(fā)生死鎖、功能錯誤等。(2)嚴(yán)重錯誤。嚴(yán)重錯誤一般指規(guī)定的功能沒有實現(xiàn)、或不完整、或產(chǎn)生錯誤結(jié)果,設(shè)計不合理造成性能低下,影響系統(tǒng)的運營,使系統(tǒng)不穩(wěn)定或破壞數(shù)據(jù)等。2)錯誤修復(fù)優(yōu)先級錯誤的修復(fù)通??梢苑譃橐韵?種優(yōu)先級:(1)立即解決。此錯誤阻止進(jìn)一步測試,需要立即修復(fù),否則會導(dǎo)致測試的停滯。(2)高優(yōu)先級。此錯誤在產(chǎn)品發(fā)布前必須修復(fù),否則會影響軟件的發(fā)布和使用。(3)正常排隊。如果時間允許,應(yīng)修復(fù)該錯誤。(4)低優(yōu)先級。此錯誤即使不修復(fù),也可以發(fā)布。優(yōu)先級與嚴(yán)重程度有一定關(guān)系,但也不完全相同(如果完全相同,就不需要按照優(yōu)先等級進(jìn)行分類了)。有可能某個嚴(yán)重錯誤的修復(fù)優(yōu)先級很低,也有可能某個輕微錯誤的修復(fù)優(yōu)先級更高。優(yōu)先級抓住了在嚴(yán)重程度中沒有考慮的重要程度因素。測試人員、項目經(jīng)理及項目組其他成員常常會對個別錯誤有不同意見。在實際操作中用嚴(yán)重性和優(yōu)先級來處理,嚴(yán)重性等級由測試人員決定,而優(yōu)先級則由項目經(jīng)理設(shè)置。3)錯誤原因軟件錯誤產(chǎn)生的原因主要包括以下幾點:(1)需求分析不完善,造成軟件不滿足用戶要求。(2)軟件設(shè)計錯誤,造成運行錯誤。(3)程序員編寫代碼過程中引入錯誤。4.4.3上線運營1.開發(fā)與運營的關(guān)系當(dāng)移動互聯(lián)網(wǎng)產(chǎn)品經(jīng)過一系列的測試,并將bug修復(fù)之后,公司會推出上線運營。互聯(lián)網(wǎng)產(chǎn)品開發(fā)從流程上看上線運營是最后一棒。然而,產(chǎn)品上線后,依然有大量的修改完善工作要做。因為在運營過程中,會不斷地發(fā)現(xiàn)新的bug,甚至是產(chǎn)品的邏輯性錯誤。所以產(chǎn)品開發(fā)思路必須貫穿整個研發(fā)及后期運營過程。需要注意的有以下幾個要點。1)數(shù)據(jù)驅(qū)動下的運營需求不管是哪種產(chǎn)品,在運營的過程中都離不開產(chǎn)品數(shù)據(jù)分析。數(shù)據(jù)是反饋運營活動、產(chǎn)品用戶體驗,以及用戶使用焦點的重要支撐,它能幫助決策者不斷更新產(chǎn)品的定位以及特有功能。運營人員要提前預(yù)判進(jìn)行運營后有哪些數(shù)據(jù)會起到關(guān)鍵作用,然后把數(shù)據(jù)采集需求提前提供給后端負(fù)責(zé)產(chǎn)品開發(fā)的同事,提早進(jìn)行支撐,便于后期進(jìn)行數(shù)據(jù)的統(tǒng)計分析。2)用戶驅(qū)動下的運營需求這里提到的用戶驅(qū)動主要體現(xiàn)在通過客戶積分等規(guī)則進(jìn)行的客戶內(nèi)部等級制度體系上(包含客戶簽到送積分)。通常,在最初的產(chǎn)品研發(fā)階段,這種非核心功能的排期會滯后。但運營必須要提前準(zhǔn)備好方案,并將業(yè)務(wù)需求提交給研發(fā)。另外,產(chǎn)品在出完原型之后,關(guān)于原型中不合理的地方,
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 《交通安全伴我行:3 發(fā)生交通事故后》教學(xué)設(shè)計-2023-2024學(xué)年六年級下冊綜合實踐活動滬科黔科版
- 《包裝的學(xué)問》(教學(xué)設(shè)計)-2023-2024學(xué)年五年級下冊數(shù)學(xué)北師大版
- 血栓后遺癥的護(hù)理措施
- 14《我要的是葫蘆》(教學(xué)設(shè)計)2024-2025學(xué)年統(tǒng)編版語文二年級上冊
- 血液科基礎(chǔ)知識
- Unit 2 My week Part B Read and write Part C Story time(教學(xué)設(shè)計)-2024-2025學(xué)年人教PEP版英語五年級上冊
- Starter Section 3 Saying Hello (教學(xué)設(shè)計)-2024-2025學(xué)年北師大版(2024)初中英語七年級上冊
- 2018年春人教版九年級歷史上冊教學(xué)設(shè)計:第15課 血腥的資本積累
- 九年級歷史下冊 第二單元 第二次工業(yè)革命和近代科學(xué)文化 第7課 近代科學(xué)與文化教學(xué)設(shè)計3 新人教版
- 九年級歷史下冊 第一單元 蘇聯(lián)社會主義道路的探索 第2課 對社會主義道路的探索教學(xué)設(shè)計 新人教版
- 自身免疫性肝病的診治進(jìn)展
- 管道溝槽開挖專項施工方案
- 廣州新華學(xué)院
- 部編版七年級下冊道法期中試卷1
- 知識圖譜-課件
- 百年戰(zhàn)爭簡史
- 2023年托幼機(jī)構(gòu)幼兒園衛(wèi)生保健人員考試題庫及參考答案
- 2023年IDSA念珠菌病指南中文翻譯
- 天生為鹵人生為鹽 課件
- 中醫(yī)護(hù)理耳穴壓豆課件
- YS/T 713-2009干式變壓器用鋁帶、箔材
評論
0/150
提交評論