iT邦幫忙

0

設計process

各位先進您好 :

小弟最近剛跟朋友合作稍微寫了一些web module

但是merge起來發現功能強大沒錯 但是網頁的流暢性不足 不時會頓

問了一些資深一點的人員 他們說我要做process的設計來處理這種問題

但是不知從何了解起

請問先進們有方向能給我一點嗎

感謝感謝~~

yesongow iT邦大師 1 級 ‧ 2017-05-27 20:41:20 檢舉
你還是請資深人員吃珍奶 + 雞排吧!
小魚 iT邦大師 1 級 ‧ 2017-05-28 20:42:28 檢舉
我也覺得,既然有資深人員了,你就上網找資料+問資深人員吧
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 個回答

0
bizpro
iT邦大師 1 級 ‧ 2017-05-27 23:30:02

軟體是一種工程, 也就是軟體工程(software engineering), 軟體功能只是其中的一部份. 會寫出功能很強大的軟體元件的人很多, 但能發展成為具有市場競爭力的商品的人不多. 把強大的元件兜在一起常不能成就一個普通的軟體商品. 工程化就是商品化的核心, 這也就是Process, 一步接著一步, 不能馬虎.

一些軟體工程的資料:
https://www.linkedin.com/pulse/20140702104209-232985602-5-steps-of-software-engineering-process

http://www.tutorialspoint.com/software_engineering/software_design_basics.htm

http://www.tutorialride.com/software-engineering/software-process-designing-concepts.htm

您有做Requirements Gathering and Analysis? Unit Testing? Documentation?

模組化的核心: Strong Cohesion(強凝聚) 和 Decoupling(去耦合). 如古語: 各人自掃門前雪(cohesion),莫管他人瓦上霜(decoupling). 這裡的人指的是模組.

另外, 軟體運作如同一條連續性製造(process manufacturing)生產線, 有許多工間(workshops), 模組如同這些在流程中(process)的工間, 是一個工間接著一個, 但也是同時運作(concurrency), 而這些concurrency的能力就來自專業的模組化: 強凝聚, 去耦合.

"網頁的流暢性不足 不時會頓" 常見的強凝聚, 高耦合, 低併發(low concurrency)問題.

複雜嗎? 剛好相反. 只要方法正確習慣就好.

丹尼 iT邦研究生 4 級 ‧ 2017-05-28 22:21:14 檢舉

大學課本理論

bizpro iT邦大師 1 級 ‧ 2017-05-31 11:25:19 檢舉

電腦語言是應用科學, 理論事實上是真實實務的總結, 更是勸世文, 勸世人恪遵理論以減少實務錯誤.

以最近Kotlin被Google列為官方Android語言為例, 我讀了一些對Kotlin歌功頌德的文章, 也到Kotlin官網去瞧了瞧, 很有興趣, 但是剛剛讀了一篇關於Kotlin的一篇批評文, 原來Kotlin有目的地捨棄了Java一個重要的功能: 受檢異常(Checked Exception, 有人說檢查異常,...). 也就是在函數/模組中會對特殊情況發出(throws)異常讓Java編譯器檢查. 這功能在C#中也沒有. 很多"簡化"的語言也都沒有. 批評的人說Checked Exception很繁瑣, 但Checked Exception卻很重要, 因為這是模組化強凝聚去耦合的重要功能, 讓使用模組/函數時可以知道可能的問題, 不必等到問題發生了才回頭修改程式碼, 可大量降低後期維護成本, 而高昂的維護成本往往是專案的殺手.

我要發表回答

立即登入回答