如何自己開發(fā)一款app小程序 想單獨(dú)一個(gè)人開發(fā)手機(jī)APP,這現(xiàn)實(shí)嗎?
想單獨(dú)一個(gè)人開發(fā)手機(jī)APP,這現(xiàn)實(shí)嗎?你是想干些什么樣的APP,知道一點(diǎn)這個(gè)很重要的是,然后你要分析,這個(gè)APP是只要完全安裝在手機(jī)上,就是可以的的運(yùn)行的單機(jī)應(yīng)用,那就說要和服務(wù)器通信的互聯(lián)網(wǎng)應(yīng)用。假
想單獨(dú)一個(gè)人開發(fā)手機(jī)APP,這現(xiàn)實(shí)嗎?
你是想干些什么樣的APP,知道一點(diǎn)這個(gè)很重要的是,然后你要分析,這個(gè)APP是只要完全安裝在手機(jī)上,就是可以的的運(yùn)行的單機(jī)應(yīng)用,那就說要和服務(wù)器通信的互聯(lián)網(wǎng)應(yīng)用。
假如是單機(jī)的,就得不怎莫省事了,先打開你的X-Code或則Eclipse又開始弄吧。
假如是互聯(lián)網(wǎng)應(yīng)用,很可能你必須投入到大把的精力了,收拾你的業(yè)務(wù)圖,流程圖,設(shè)計(jì)數(shù)據(jù)庫其他,大部分的設(shè)計(jì)都o(jì)k了,再開始弄吧,要不你很可能會(huì)突然發(fā)現(xiàn),弄到一半了,你忘了最開始寫的代碼啊,為什么要那樣寫了。
然后把呢,你可以要會(huì)服務(wù)端的技術(shù),包括一些REST也可以Socket之類的基礎(chǔ)知識(shí),不過,Java,PHP,Node.JS,C#等等等等,至多會(huì)一個(gè)吧,這樣的話,你才有法做三個(gè)服務(wù)端應(yīng)用出去。
做了APP,反正都會(huì)牽涉到到運(yùn)營的,也就是給誰用,如果沒有讓他用。
我感覺如果沒有是另一個(gè)人才能做成的APP,可能只有是從自己的一些自媒體渠道來廣告宣傳一下了。投入到很多資金進(jìn)來的可能性應(yīng)該要是太小的。
個(gè)人建議您,練練手,小打小鬧一下沒有問題,別太誠懇。
要開發(fā)一個(gè)軟件應(yīng)該考慮哪些方面?
軟件是三個(gè)系統(tǒng)化工程,業(yè)界有軟件工程一說。軟件工程都是各高中計(jì)算機(jī)系高中必修科目。開發(fā)完畢另一個(gè)軟件應(yīng)該決定都有那些方面,我們將引導(dǎo)出軟件工程中的一些概念和元素并且描述。
同樣的,另外企業(yè),客戶的或個(gè)人而言在參與軟件開發(fā)時(shí),以外要考慮到軟件工程外,還必須判斷到相關(guān)的資源。這里的資源和人,預(yù)算,開銷,時(shí)間和。而那些真包含到里面,就牽涉到項(xiàng)目管理的范疇。
接下來我就從軟件工程和項(xiàng)目管理的角度通過描述軟件開發(fā)需要特別注意的方面。
從軟件工程的角度看,軟件開發(fā)以及了前期的需求分析,模塊設(shè)計(jì),詳細(xì)點(diǎn)設(shè)計(jì),然后再會(huì)到大家常見認(rèn)為的編碼可以實(shí)行階段,下一步時(shí)測(cè)試培訓(xùn),交付登陸游戲。后來另外一個(gè)沒法看出的階段,那那是服務(wù)器維護(hù)階段。
需求分析階段:通常根據(jù)不同情況訪談(researcher),workshop,調(diào)查表等多種,由專職的應(yīng)用/業(yè)務(wù)顧問(Application Consultant/Business Consultant),向客戶所了解需求并通過確認(rèn)。初始階段的需求分析非常重要,稍有偏差,便有失之毫厘,失之毫厘的風(fēng)險(xiǎn)。也許南疆程序員朋友們都經(jīng)歷過需要變更,尤其是項(xiàng)目后期。當(dāng)你的代碼測(cè)試了一遍一遍地,胸有成竹考慮全都也沒bug了,這時(shí)候leader告訴你實(shí)在不好意思,變更他來了,你做的那一大塊要把它改成這樣,改成這樣:(。其實(shí)項(xiàng)目前期需求收集,講階段不確定性比較比較大,所以我我這里強(qiáng)調(diào)什么不需要有自身的應(yīng)用/業(yè)務(wù)顧問進(jìn)行把把關(guān)。其實(shí)都有點(diǎn)需要變更是不可避免地的。系統(tǒng)的設(shè)計(jì):需求分析行了,需要做SolutionDesign了,這時(shí)候SolutionArchitect進(jìn)場(chǎng)(專職方案架構(gòu)師)。要想后期編碼實(shí)施輕松,系統(tǒng)設(shè)計(jì)階段,假如有資深專業(yè)大牛把關(guān)后面的日子都會(huì)很好過很多。以及系統(tǒng)的基本處理流程、系統(tǒng)的組織結(jié)構(gòu)、模塊劃分、功能分配、接口設(shè)計(jì)、運(yùn)行設(shè)計(jì)、數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)和出錯(cuò)處理設(shè)計(jì)等。有時(shí)候要會(huì)用到新的技術(shù),還要接受飛快的新技術(shù)調(diào)研。當(dāng)今技術(shù)蓬勃發(fā)展的年代,有時(shí)候滿足客戶的需求必須可以使用到新的技術(shù),或許是半個(gè)團(tuán)隊(duì)前的都還沒有接近過的,這時(shí)候就是需要架構(gòu)師總體把關(guān)了。大多會(huì)有技術(shù)天分的小組成員進(jìn)行技術(shù)可行性調(diào)研。具體點(diǎn)設(shè)計(jì):大的框架結(jié)構(gòu),技術(shù)方向在系統(tǒng)設(shè)計(jì)階段成功,可以確定了以后,這對(duì)各個(gè)模塊來說并且詳細(xì)設(shè)計(jì)。好的詳細(xì)點(diǎn)設(shè)計(jì)文檔包含了模塊內(nèi)大部分業(yè)務(wù)應(yīng)用程序(usecase)的邏輯處理,在內(nèi)邏輯一次性處理涉及到的算法。大多數(shù)要資深專業(yè)的程序員接受這大多數(shù)文檔的書寫。好的文檔抄下來,后面coding的同學(xué)都會(huì)穿著快的。編碼如何實(shí)施:要是前面詳細(xì)怎么設(shè)計(jì)做的好,到了這些階段就低些輕松。只不過對(duì)于程序員的基本功應(yīng)該很有要求的。另外有一點(diǎn)那就是自己的單元測(cè)試你必須做到。測(cè)試培訓(xùn):這個(gè)階段當(dāng)然分兩個(gè)小階段。一個(gè)是測(cè)試,一個(gè)是對(duì)用戶的培訓(xùn)。測(cè)試出來和真包含于測(cè)量,壓力測(cè)試等,之后是UAT(User Acceptance Test)。如果沒有都還沒有問題,就擇良辰吉日下線了。用戶培訓(xùn)那個(gè)環(huán)節(jié)也是非常不重要,千萬小心不可忽視,真接當(dāng)然有關(guān)系到最終用戶對(duì)整個(gè)系統(tǒng)的接受程度。就像會(huì)所選種子用戶先并且功能培訓(xùn),并和種子用戶互相對(duì)全部用戶進(jìn)行雷鳴軟件的使用培訓(xùn)。實(shí)際交付下線:前面這么多的階段都完成了,大部分的測(cè)試也了,是不是登陸游戲就一帆順風(fēng)了。是吧,據(jù)筆者的經(jīng)驗(yàn),未必。上不了線的時(shí)候些微都是一些幺蛾子。新系統(tǒng)上線也算好,這對(duì)舊程序升級(jí),如果系統(tǒng)也很龐大,國內(nèi)就像也就只有是國慶/春節(jié)通過了。啊,為什么,有7天假期,也就是說有7天的時(shí)間用戶不建議使用系統(tǒng),這7天過程中如果不是直接出現(xiàn)問題也不影響用戶的操作。不過要是7天時(shí)間沒能下線,不好意思啊,不能回退,等待下一個(gè)7天的假期。維護(hù):下線了,該慶祝了,就像軟件公司上線后都有吧慶功會(huì)。歡慶后,別忘了也有軟件系統(tǒng)的維護(hù)。是需要,一丁點(diǎn)系統(tǒng)都根本無法可以保證不出bug。比如,對(duì)于換算的應(yīng)用來講,是對(duì)奇怪的系統(tǒng),每隔一天產(chǎn)生的數(shù)據(jù)量巨大,對(duì)此性能方面,是不需要有相關(guān)監(jiān)控包括或者的。在用戶使用了一段時(shí)間以后以后,會(huì)才發(fā)現(xiàn)一些問題也會(huì)產(chǎn)生一些需求。所以我,軟件系統(tǒng)的維護(hù)也是非常不重要的。
上面這么說,全是從軟件工程的角度,也也是提起了資深架構(gòu)師,資深顧問,好的詳細(xì)點(diǎn)設(shè)計(jì)等等。這些個(gè)是資源,也是不需要努力的,如果不是努力爭(zhēng)取將近,不好意思,項(xiàng)目經(jīng)理還要多不容易了。
下一步就從軟件開發(fā)那個(gè)項(xiàng)目的角度出發(fā)到達(dá),站在項(xiàng)目管理的角度上,有哪些需要注意一點(diǎn)的。項(xiàng)目管理方面我是用PMP的體系來進(jìn)行具體描述,筆者以前是從PMP認(rèn)證,感覺PMP的體系在雷鳴項(xiàng)目管理過程中確實(shí)是行之有效的。PMP中牽涉到項(xiàng)目的范圍管理,時(shí)間管理,成本管理,質(zhì)量管理,人力資源管理,溝通管理,風(fēng)險(xiǎn)管理,采購管理,干系人管理等。對(duì)此軟件開發(fā)愈見重要的是的幾個(gè)環(huán)節(jié),我這邊會(huì)接受描述。
時(shí)間管理:做軟件開發(fā),一定會(huì)會(huì)有schedule,什么時(shí)候開始,什么好時(shí)候結(jié)束后。那就這里的進(jìn)度計(jì)劃就略顯尤為重要了。當(dāng)然不需要在明確規(guī)定的時(shí)間并且未交付。成本管理:無論今天是另一個(gè)公司,或則個(gè)客戶,或者兩個(gè)獨(dú)立的自然人所擁有的資源和時(shí)間全是太遠(yuǎn)的,能動(dòng)員到軟件開發(fā)中的資源確實(shí)是最多的,怎么能夠在推導(dǎo)的資源中能夠完成軟件開發(fā),是對(duì)項(xiàng)目經(jīng)理一個(gè)要求。很可能我上面提到的一些資深顧問,資深架構(gòu)師項(xiàng)目經(jīng)理根本就不可能要不到,或者公司也可以提供不了,這時(shí)候現(xiàn)在就要另想方法。風(fēng)險(xiǎn)管理:進(jìn)行早期的風(fēng)險(xiǎn)識(shí)別,以及你所選的定性,定量分析,來制定并執(zhí)行躲避的計(jì)劃,從而能提升到對(duì)風(fēng)險(xiǎn)的控制。具體實(shí)施整體變更完全控制:絕大部分項(xiàng)目都會(huì)有變更,軟件開發(fā)也不會(huì)例外。筆者因此就很有體驗(yàn)。對(duì)于變更的管控,都是對(duì)項(xiàng)目經(jīng)理相比很有挑戰(zhàn)的一項(xiàng)任務(wù)。
上列的都考慮到,基本上這座軟件開發(fā)也不可能有什么呢大問題了。
如要進(jìn)一步交流,歡迎在下面留言或私戳。