軟體開發與程式設計
- 撰文者:
- 2016/03/10 瀏覽數:5776
對於「軟體開發」與「程式設計」這兩個名詞在涵義上有很大的不同的,軟體開發包含了專案的規劃,人力、資源的配置、工作項目執行與時程的掌控,最後還有品質測試與軟體部署,程式設計只能算是其中一個工作項目而已。但是在大多數人的眼中,大多都會認為「軟體開發就是程式設計」,「程式設計就是軟體開發」,甚至許多從事軟體開發行業的人也都對這兩者有著「這兩個是一樣的」,這樣的誤解。因此,便會認為在開發團隊中,只要找了一些知道如何寫程式、或是很擅長寫程式的人,就可以順利地,把軟體開發出來。即使軟體開發中的各個環節需要其他的角色,也不過只是跑龍套的角色而已。真正的主角還是撰寫程式,其他環節其實並不重要,只要搞定程式撰寫,就大概可以搞定整個軟體的開發了。
會有這樣的想法,大多是因為看到程式設計產出了實際的原始碼,而這些原始碼就是軟體運作的根本,因此產生了「做好程式設計,就是軟體開發的全部」這樣的迷思。如果把軟體開發比喻成籃球賽,程式設計就是球員把球投入籃框。但是要把球投入籃框,除了球員本身的天賦和不斷地練習之外,還需要球探先收集對手的資料、習性等,然後教練針對這些資訊來設計相對應的戰術,看是要投三分球,還是切入禁區投籃,而這些戰術也需要其他隊友的配合,幫忙阻擋或是吸引防守球員,紀錄員要記下每次投籃的命中與否,作為日後訓練的統計資料依據,全部綜合起來,才能在每一次的進攻中得分,進而贏得比賽。如果在籃球場上有五位明星球員,每個都是投籃高手,但是彼此之間沒有任何默契,不懂得傳球,卡位掩護隊友,執行教練下達的戰術,只知道自己拼命投籃,這樣的球隊是不可能獲勝的。想打好一場籃球賽,個別球員的球技固然扮演重要的角色,但是像是作戰策略的擬定、或是融入於比賽之中的各種觀念,默契搭配方式,其重要性也不亞於球技,甚至更在那之上。
軟體開發的工作包含許多流程、步驟,首先收集使用者需求,接著進行需求分析,再根據分析的結果,設計使用者操作畫面,資料儲存的方式等等,然後才進入程式設計階段,最後,軟體產生出來了,還要經過測試工作的檢查,確認無誤後,才能算是完成軟體開發。如果我們把籃球比賽對比到軟體開發整個過程中,就可以發現,收集需求就像是球探收集資訊,需求分析與設計就是教練根據收集到的資訊設計戰術,程式設計就是球員們協力執行戰術,將球投入籃框中,測試工作則像是場邊的紀錄員一樣,紀錄並檢視整個戰術執行過程是否有不妥之處。因此,若是把軟體開發認為是只要做好程式設計的工作,而對於使用者的需求,並沒有做好明確的劃分,訂立階段性目標,依序的完成它,而是把所有想做的事都混在一起,在沒有明確的需求的情況下,就開始撰寫程式,同時,又放任需求不時地改變、調整,沒有任何管控需求變更的程序或手段。如此一來,就很容易導致需求不斷地擴大,無法收斂、或是持續變化的需求,進而影響到整個開發。
過去在學校時有一門課是系統專題,由同學們組成一個4~5人的小組,共同來完成一套專案系統。當時的指導教授告訴我們:「沒有寫不出來的系統,系統寫不出來,是因為系統分析沒有做好」。當時剛剛開始接觸程式設計,在技術至上的觀念下,總認為系統寫不出來是因為自己寫程式的功力不夠,所以系統寫不出來,再加上指導教授的專長是系統分析,並非程式設計,對教授的能力有所質疑,想當然對教授所講的話是嗤之以鼻。等到進入了職場後才發現,收集需求與系統分析是程式設計的根本,沒有做好這兩件事該做的事,就算是寫程式的功力再高強,也會因為不知要從何寫起,而變得毫無用武之地。所以,軟體開發應該是一門獨立的學問,和程式設計相關,雖然程式設計是最直接產出軟體的手段,但是兩者之間不能畫上等號。
球員不論是投籃或是切入上籃,都是得分重要手段,但是配合戰術,協調隊友來選擇出手的時機與方式也是不可忽視的。
採購商情搜集與資料整合應用 - 南科班
上課時間 2026/08/05 ~ 2026/08/05
固定式起重機操作暨吊掛作業人員在職教育訓練 - 台南夜間班 - 請上傳原始證書
上課時間 2026/05/21 ~ 2026/05/21
防火管理人訓練複訓班第2926期 - (臺中班)請先mail前次防火證書影本 - 【免費停車,因車位有限,採先到優先停車】 - 附中午便當
上課時間 2026/05/19 ~ 2026/05/19
露天開挖作業主管安全衛生教育訓練 - 夜間班(每週二三四) - 預計115年7月底電腦測驗
上課時間 2026/06/16 ~ 2026/06/25
專案採購管理一日特訓班
上課時間 2026/10/06 ~ 2026/10/06
獲客、留客到熟客:SEO與自動化行銷一次學懂 - LINE@ID:@274aywrg - 實體+遠距同步 - 林特豐老師
上課時間 2026/08/19 ~ 2026/08/19
如何看懂現金流量表及營運資金規劃
上課時間 2026/09/17 ~ 2026/09/17
AI數據決策力革命:高效分析實戰-從資料到洞察的高效分析法 - AI數據決策力革命:高效分析實戰 - 自備筆電
上課時間 2026/10/05 ~ 2026/10/05
吊升荷重在三公噸以上之固定式起重機(架空型─地面操作)操作人員安全衛生教育訓練 - 課程費用優惠中 - 免費提供術科考前複習乙次 - 平日日間班
上課時間 2026/09/02 ~ 2026/09/08
AI賦能:Gemini x NotebookLM 全方位效能實戰班 - 視訊教學
上課時間 2026/10/03 ~ 2026/10/03