一個網站或者一個軟體開發流程是什麼樣子呢?

我在小公司,做網站兩年了,基本就是我圖片設計,框架設計,上線,測試,修改。很累。經常有客戶說,給做一個網站吧,又不知道從哪裡下手。

大公司開發一個網站或者一個軟體,應該有的流程是什麼?需要什麼崗位,幾個人?具體的崗位是做什麼的?

我們小公司,又應該怎麼高效開發網站?


謝邀

我是做WEB開發的,一般做網站的流程如下:

1、團隊會議確定網站架構方案(比如網站功能,資料庫所需的欄位等)。

2、WEB設計師負責做頁面效果,一般在PS或AI裡面做。

3、前端負責把WEB設計師做好的效果寫成HTML,當然,JS交互也需要前端做。

4、後端程序員編程寫功能,然後把前端寫好的交互和HTML用模板引擎的方式套進去。

現在寫網站基本會使用到模板引擎技術,所以整個流程里2和4是可以同時進行的,也就是說只要會議確定好了方案後(所以項目前的會議是很重要的,不要忽視。),WEB設計師在設計頁面的時候,程序員也同時在寫功能了。最後只要和前端交接一下就ok了,能很大程度的提高效率。

不過現在很多公司WEB設計師和前端是一回事,不會分開,他們眼中的前端就是會設計效果,也會HTML和js。

當然,如果大公司,也會有專門的資料庫架構師和伺服器維護人員,還有專門的找Bug的人員。

如果小網站,如果你全套都會,那就按2、3、4的流程來。

軟體開發沒涉及過,但應該流程不會相差到哪裡去。


一般的軟體開發,從類型上看,可分為2種:

  1. 外包軟體開發
  2. 自有產品研發

軟體的研發流程,不管是大公司,還是小公司,核心流程基本一致,只是在流程的執行上會有側重點,或者在某個流程進行拆分和細化。

核心流程如下:

  1. 軟體需求分析:用來明確產品目標和用戶需求。需求可來自客戶(外包軟體)、來自用戶(自有產品)。其中客戶/用戶,根據不同類型又可細分為個人用戶、企業用戶等。這裡面主要解決做什麼的問題,配對的人員有項目經理 or 產品經理 或者更高一級的戰略規劃。

  2. 產品功能定義用來明確功能規格和內容,通過對軟體需求的分析,pm可以提取出需要落地的功能點,不一定非常細緻,但是可通過這些功能來達到產品目標和滿足用戶需求,這個階段主要是pm負責,同時會參考研發的一些建議。
  3. 軟體原型設計用來描述這個軟體的樣子和與用戶交互的方式。是對產品功能點的一個細緻定義,具體到每一個功能點的用戶交互流程和使用路徑。所達到的目標是軟體可用和易用,這個階段仍然是pm負責,可能包括交互設計師、UI設計師。
  4. 軟體開發與測試:這裡研發可以開始設計框架,同時如果有測試人員,可以開始設計測試用例。
  5. 軟體試用與發布:通過小範圍的試用或者灰度發布,可驗證功能的完整性、穩定性,及時收集反饋,並進行優化。
  6. 軟體上線:觀察數據,並收集用戶反饋和為下一版本改進提供依據。

以上6個流程,實際在執行的時候,根據不同的公司規模,可靈活調整,比如小公司,可能在需求分析、產品功能定義和軟體原型上面,就統一歸為需求分析,由項目經理全部搞定。而在一些大公司,在軟體需求分析上面可能包括數據分析、用戶調研等等,用於挖掘靠譜的用戶需求,對於一些大型的功能,還包括市場調研等等,當然所投入的人力也是不小。

小公司的作戰方法,不一定是正規軍的方式,野戰軍有時候效率會更高,在一些未明確的功能上面,通過小成本的快速開發和改進,效果會更好。


我們分公司性質來說一個軟體的開發流程,

軟體公司和非軟體公司

非軟體公司

需求分析-概要設計-程序編碼-程序測試-軟體交付-客戶驗收-碼農維護

軟體公司

需求分析-概要設計-詳細設計-程序編碼-程序測試-軟體交付-客戶驗收-碼農維護

需求分析

一個軟體沒有出現之前,只是有一部分人有一個想法,我需要一個這樣的東西(想要一個孩子了)用來管理我的什麼什麼,這個時候一個想法出現了,就會有這個需求,他會找軟體公司需求分析師來商量,這個時候一個軟體就懷孕了,相當於開始發育了.需求分析是聽完要求以後會將大概的功能描述一下,用Word或者Axure畫出一個簡單的Demo給用戶看,經過幾次確認以後需求分析師會最後確認功能是不是完善的,確認了以後進行我們的下一步,概要設計

概要設計

這個功能主要是幹嘛的呢?很多的公司覺得沒必要,其實是很有必要的,這個就是相當於先規劃一下怎麼平安度過懷孕期,對於軟體來說就是軟體的處理邏輯,大概的一個流程是怎麼走的,大概需要哪些模塊,怎麼運行,需要大概多少介面,後期怎麼維護等問題,做這些干呢嗎?為了下一步-詳細設計

詳細設計

有人說,詳細設計是很麻煩的一步,其實不是很麻煩的一步,我覺得是最難的一步,詳細設計主要是用來確認細節的,介面的名字啊,控制器的名字啊,多少個控制器,誰來調用誰,這個不可以有錯,因為後期碼農是需要看這個開發的,你怎麼起名字,他們就怎麼寫,所以這裡出錯也就意味著編碼的時候也會錯,最後會有一份詳細設計書出現,這個就是告訴孕婦具體吃什麼,怎麼吃,多少量。

碼農編碼

很多人覺得這個就是搬磚,看著設計書就直接寫就可以了,理論是這樣的,但是為什麼還有很多的bug出現呢?很大一部分原因並不是設計的原因(當然也有可能),很大原因是不規範造成的,還有就是是不是一個項目組的人可以協作處理代碼,怎麼做可可以提高編碼的效率,這些問題都是在編碼的時候出現的問題。這個是相當於孕婦實施那一套套餐的時候具體是不是按規範來吃的。

程序測試

這一步是裡面很重要的一步,測試,我們不可能說寫好直接就給用戶用了,這個是不現實的,我們需要做的是先給測試部門進行系統的測試,當然這個測試不是按照用戶的想法來的,他們會很暴力,舉個栗子,一個按鈕,正常的用戶使用的時候會直接點擊一次,看到效果就可以了,但是測試的時候不是,他們會瘋狂的點擊,知道他們覺得這個世界上不會有人比他們暴力的時候他們會停止,當然這是一個好的測試人員,很多的測試不會是這樣的,他們覺得正常使用沒問題就是沒事的,其實一個軟體好不好,很大一部分在於測試人員的測試力度。最後寫一份測試報告就可以了。

軟體交付

測試結束以後沒有任何的問題的話,就可以寫安裝手冊了,這個其實就是用戶使用指南。

客戶驗收

交付後客戶簡單的測試以後覺得是和自己想的一樣的,就收貨,交錢.

碼農維護

是不是驗收以後就沒事了呢?當然不是,一個軟體很多時候是在用一段時間以後才會出問題的,所以會一直需要人來維護他們,當然不是說只是出問題才會維護的,主要的原因是軟體會根據不同的需要更改功能,這樣的過程也是維護的過程,QQ已經更新多少代了,是不是,這也是一個維護的過程。

項目重構

這個是一個項目如果出現了新的技術,功能沒有改變的時候,為了用戶體驗,例如之前是SSH寫的,但是運行的速度很低,用SpringBoot,大家都在用,用戶反映很好,那麼這個時候就需要項目重構了,用新的技術將之前的功能重新實現。

基本那就是這些了,另外細心的人也看到了非軟體公司是沒有詳細設計的,這個解釋一下,為什麼呢?很簡單,其實詳細設計是和耗費時間的,非軟體公司的人不會花費這個時間在設計上,他們就是直接告訴你需求,碼農只需要直接編碼就可以了,一般這樣的對你用什麼技術,什麼框架是沒有要求的。


1. 網站域名空間

一個網站的建設首先要有一個好的域名,我們常見的網站後綴一般都是選擇.com和.cn的較多,.com是國際域名後綴,.cn是中國的域名,域名的主體一般和你的網站主題,或者企業的名稱全拼來做域名的主體,域名空間。網站空間是用來存放您的網站內容和程序文件,比如網頁、圖片、視頻資料等等。

2. 網站設計布局

對於訪問網站的大多數用戶來說,進入網站後給他的第一眼就是網站結構布局。不同類型的網站設計業不一樣,在建站前期我們需要做一個合理的規劃,想好需要實現的功能,想要的板式類型和主要的面對用戶群,但是不管怎麼設計,網站的作用都是為了能直接吸引用戶,讓用戶能更快的了解企業產品及技術。這時候我們要收集好素材,包括網站中需要的內容,文字,圖片等信息。

3. 製作建設

當做好以上內容準備的時候,就可以開始建站了,建站主要分前台和後台。前台是網站的板式,根據網站類型及面向人群來設計網站的版面,版面不宜太過雜亂,一定要簡潔,保證用戶體驗,才能讓訪問者有好感。建設後台就較為複雜了,就要用程序整合前台,並且完成需要的功能,這個需要較為複雜的程序編寫。網站建設歸終於一點就是網站布局,只有合理布局每一個板塊,把最直接最有效的信息展示在用戶面前,而且用戶查找信息也比較快捷方面,用戶獲得的有效信息當然也會更快更多,可以大大提高網站轉化率。


一、討論分析需求。

一般有十來個人的網路公司,在開發程序之前,都會有一位需求對接人。跟甲方深入溝通了解整個系統的難點和細節。需求分析做出詳細的功能列表,做出思維導圖,並且製作像墨刀,axure的原型圖。與程序員和設計師開會溝通。前端和後端會溝通好api返回格式,如果是規範的公司,為了提升效率,會把介面文檔寫好。

二、設計師設計ui

拿到了需求的原型圖,就可以先根據產品實際業務來設計符合產品基調的ui圖,現在流行扁平化設計。設計師把設計圖搞定之後,會把設計的素材切出來,整理起來給到前端開發者。

三、後端開發

拿到了需求的原型圖和介面文檔,後端開發程序員開始後端開發。可能在剛開始對並發量的需求比較低,會以最低可行性來製作,以效率為第一因素,儘快的開發出第一版可用產品。

四、前端開發

有了設計師的ui圖和已經約定好的api文檔。前端可以使用mock來模擬後端的介面,同時把設計圖的ui製作好。這個過程可以後端開發同步進行。

五、測試

等到前端和後端都已經完成了開發,把介面接通,開始調試。通常有一到兩名測試人員。他們會把功能都測試個邊,把已存在的bug記錄下來,並且做成文檔提交。這是歸屬於誰的bug就會讓誰來修復。重複幾次這個過程,軟體就會變得穩定可靠了。

六、上線交付

讓甲方爸爸來測試和使用整個軟體。並正式上線。

七、點個讚唄!

如有定製開發需求,請私信

火貓網路-高端定製開發小程序?

firecat-web.com圖標


謝邀。想了想還是匿了...等我跳槽了再取消吧

大公司開發軟體是由很詳細的流程的,而且開發周期相當的長,我現在所在的公司算是金融保險類國內的龍頭企業了,就目前來說主要組的產品還是java EE的項目,一般接到需求後會與客戶先開會,了解到詳細需要開發的要求和細節,這邊主要與會的是部門經理、承擔項目經理、主要參與開發的工程師,類同的會議還會有很多次,因為實際對接還會有很多複雜的麻煩。

接下來就要分配開發組了,根據不同項目的大小會分配不同數量的項目組,最多的我見過一個產品有十幾號項目組幾百人存在,分別負責不同的模塊開發,最後再做對接。在每個項目組中幾人到幾十人都不等,由一個項目經理帶領完成開發,可能還存在美工、前端、後端之類的分工,完成模塊開發一般需要好幾個月,項目經理不斷跟進開發進度,開發完成後進行整體項目模塊的對接和聯調,這時候基本就是甩鍋的節奏了,核心介面組一般會是大夥甩鍋的對象,也是甩鍋給別人的重災地。一般這個甩鍋的時間也會長達幾個月之久很是正常。甩完鍋基本也就能上線了,接下來會派專門的運維組過來進行運維,此時大多數開發組就陸續撤了,主要交給運維來完成接下來的工作。

最後,時不時的還會有開發組過去調整一些bug之類的,有時候能遠程聯調的就遠程了,不能的只有跑腿過去調試了,權當溜北京城了233333

作為小公司要想高效的完成開發千萬不能學這麼玩,否則悔死你。說實話大公司這樣子的開發過程實在是煎熬,很多人並沒有開發效率混日子的不在少數,甚至每天像我這樣子給你們發知乎沒在幹活的多得是,所以以下是一點個人意見,僅作參考。

小公司開發項目依然要看項目大小,如果項目較大還是推薦分組進行分工承擔,但這是要有一個度的,不能分太多導致一群打醬油的出現,一顆老鼠屎壞啥啥啥來著,一樣的道理,有人打醬油,其他人也不會有幹勁的。一般不是做國際性的大項目小組數不推薦超過5個,每個組4-5個人就足夠了,人的潛力是逼出來的不要怕人少做不了。

生活方面,項目組長一定要發揮出自己的人格魅力來,不斷關心著自己的成員,有什麼問題儘管提,沒事組織組織聚餐啦喝個酒啦唱個歌啦什麼的,一般公司有團建費用就更好了,要讓組員覺得對著你啥話都能說是最好的,解決了組員遇到的困難組員才能有精力給你幹活。

工作方面,不斷跟進,尊重每個成員的意見和建議,儘可能讓他們的想法融入產品中去,想要讓做開發的有成就感,就要讓他們開發的產品像自己親兒子一樣去看,那麼勢必就需要讓他們的建議和意見加入到產品中去,每個人能提出意見一般想法都是為產品或團隊好,不會是去毀產品呢,此時作為經理最好都能聽取這些意見,哪怕加以修改和完善也要將產品做好,當然了,經理更要有幹勁哦。

好的產品當然需要一群充滿活力和幹勁的人才能做的出來,隨時剔除團隊中的不穩定因素,解決遇到的困難,不斷跟進才能帶好團隊,一旦出現裂痕想要補上就不是一時半會的事情了。

好像扯遠了,說說流程,一般在我看來一個小組需要的也就是產品經理1枚、程序猿3-4名、設計獅x1,程序猿鼓勵師若干(選配),如果有選配的歡迎聯繫我哈(開玩笑的)。

程序猿不必多,夠用就行,主要分擔開發中不同模塊,主要還是靠經理進行調控的,所以產品經理領導著整個產品的走向,對一個產品的開發也是十分重要。

以上。


網站方面基本的流程應該是,確定整體路線-&>設計效果-&>前端+後端代碼實現-&>測試-&>上線。

程序設計流程方面倒是有很多分歧的不能一概而論。

如果要高效開發網站,那麼後端和對應那部分功能的前端都由一個人寫,按功能分工。其他應該也快不起來了吧。


一個設計師 一個程序員 一個項目跟進吧


推薦閱讀:

TAG:前端開發 | 軟體開發 | 網站 | 軟體設計 |