[請益] 一個令我與PM爭論的的問題

看板Soft_Job (軟體人)作者 (風雲變色)時間11年前 (2014/12/10 23:07), 11年前編輯推噓15(15038)
留言53則, 17人參與, 最新討論串1/5 (看更多)
各位前輩好 小弟遇到了一個問題 想向版大們請教 希望不吝指導 兩個程式A & B 各自在兩台電腦上跑 兩者透過內網互相溝通 當內網上還有其他通訊在共用 A發出指令 請B做計算的動作(跑演算法) 倘若A要求B在一定時間內要回報計算出來的結果 是合理的要求嗎!? 我個人是認為 A請B計算 1. B依據自身演算法 有權利不在固定時間內算出 A應當在時限內收不到B的結果時 有自身處理機制 不應去要求B去保證在一定的時間內回報結果 2. 又或者 B 應有權利在晚回報的情況下 給予一個姑且的結果 回報A 3. 再不就是要去評估最多用了幾個machine cycle, 把maximum時間確定 或是其他的作法? 各位覺得應該是如何比較合理? -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 218.67.53.38 ※ 文章網址: http://www.ptt.cc/bbs/Soft_Job/M.1418224070.A.B35.html ※ 編輯: ando5566 (218.67.53.38), 12/10/2014 23:11:39

12/10 23:18, , 1F
PM是老大!
12/10 23:18, 1F

12/10 23:18, , 2F
時間內完成這個要求是合理的,但是這個時間的長短
12/10 23:18, 2F

12/10 23:19, , 3F
幾秒,幾分鐘,是可以討論的。
12/10 23:19, 3F

12/10 23:19, , 4F
或許著重的地方不是,限定時間這件事,而是要限定在
12/10 23:19, 4F

12/10 23:20, , 5F
多長的時間內,才是重點。
12/10 23:20, 5F

12/10 23:32, , 6F
看B要給A多高的優先權啊 要限時間應該就要給到最高了
12/10 23:32, 6F

12/10 23:33, , 7F
應該要整體來看B的設計概念 A對於B屬於什麼角色
12/10 23:33, 7F

12/10 23:34, , 8F
A要求的時限 = A的timeout 有時限很正常不是嗎
12/10 23:34, 8F

12/10 23:35, , 9F
A自己要設多長的timeout是他的自由啊
12/10 23:35, 9F

12/10 23:36, , 10F
問題是B有沒有義務保證滿足A
12/10 23:36, 10F

12/10 23:37, , 11F
演算法的 時間有哪幾種種類
12/10 23:37, 11F

12/10 23:49, , 12F
這完全要看你這系統是怎樣的系統吧,通常AI類的計算會
12/10 23:49, 12F

12/10 23:50, , 13F
網路通訊是一個部分要考量的 先不論這部分
12/10 23:50, 13F

12/10 23:50, , 14F
要在特定時間就取得當下計算的最佳解。如果是及時系統
12/10 23:50, 14F

12/10 23:51, , 15F
那就會要求B一定要算完,不然A就要做例外緊急處置
12/10 23:51, 15F

12/10 23:54, , 16F
回Blue哥: 到底B有沒權利拒絕被要求一定要有算出結果
12/10 23:54, 16F

12/10 23:56, , 17F
就是ianlin45哥所提的B有沒義務滿足A
12/10 23:56, 17F

12/10 23:57, , 18F
B有沒有權利義務,就是看你"整個"系統是幹嘛的啊...如
12/10 23:57, 18F

12/10 23:58, , 19F
整個系統是下棋的AI,那固定時間把當下最佳棋步丟出來
12/10 23:58, 19F

12/10 23:58, , 20F
感謝Blue哥提出即時系統做例外處理這個經驗
12/10 23:58, 20F

12/10 23:59, , 21F
這個case比較像即時系統
12/10 23:59, 21F

12/10 23:59, , 22F
就好。如果是計算例如核電廠反應爐散熱來不來的及的,
12/10 23:59, 22F

12/10 23:59, , 23F
那只要B時限內沒傳回算好的結果,A就要趕快閃燈叫人跑
12/10 23:59, 23F

12/10 23:59, , 24F
12/10 23:59, 24F

12/11 00:54, , 25F
沒錯 除非你保證做得完 不然一定要有例外處理
12/11 00:54, 25F

12/11 00:56, , 26F
設計理念怎麼定都行 但物理上能不能保證做到 那是物理法
12/11 00:56, 26F

12/11 00:56, , 27F
12/11 00:56, 27F

12/11 00:56, , 28F
PM再大也改不了物理法則 當然只能做例外處理
12/11 00:56, 28F

12/11 00:58, , 29F
PM要求即時 那就盡量滿足他 做不到的地方就跟他說做不
12/11 00:58, 29F

12/11 00:58, , 30F
到 該怎麼處理
12/11 00:58, 30F

12/11 00:59, , 31F
至於這個系統這個部分該不該用即時處理 那是你們設計者
12/11 00:59, 31F

12/11 00:59, , 32F
才知道的事
12/11 00:59, 32F

12/11 01:04, , 33F
這就好像A請B幫忙估算工程時間和成本~工程大當然要評估久
12/11 01:04, 33F

12/11 01:06, , 34F
一點~A不能等的話~就要協調是要先丟什麼樣的結果~可能成
12/11 01:06, 34F

12/11 01:07, , 35F
本太高~不用等B算完~A就不想要了~又可能告知A進度到哪~讓
12/11 01:07, 35F

12/11 01:08, , 36F
A知道~就像百分比進度會比轉圈圈來得讓使用者安心一樣...
12/11 01:08, 36F

12/11 07:37, , 37F
RTOS的設計就有這種要求的樣子,只是有分Hard跟Soft
12/11 07:37, 37F

12/11 13:30, , 38F
恐龍本後面有一章有討論這個 也是有分HARD SOFT
12/11 13:30, 38F

12/11 15:45, , 39F
可以先花很少時間算approximate的解(保證時限內算得完
12/11 15:45, 39F

12/11 15:45, , 40F
),再用剩下的時間算精確解,來不及算完就吐大概的那
12/11 15:45, 40F

12/11 15:45, , 41F
個回去
12/11 15:45, 41F

12/11 17:12, , 42F
演算法又不是你要他多快就可以多快XD 只能timeout阿
12/11 17:12, 42F

12/11 17:13, , 43F
能做的是評估這個演算法需要多久時間 當成timeout參考值
12/11 17:13, 43F

12/11 19:18, , 44F
就 1 吧,這樣權責切得比較乾淨
12/11 19:18, 44F

12/11 20:36, , 45F
跑演算法還要有量的多寡以及演算法的好壞,你這樣的描述會變
12/11 20:36, 45F

12/11 20:37, , 46F
成,PM的要求時間是不可能的,若不能詳細列出細節,無法判斷
12/11 20:37, 46F

12/12 08:00, , 47F
倒時候一直timeout就整天一直叫人跑 這系統誰要用阿(P
12/12 08:00, 47F

12/12 08:00, , 48F
M翻桌
12/12 08:00, 48F

12/12 08:41, , 49F
就把B運算的時間都紀錄下來, 看數據跟想的一不一樣再說
12/12 08:41, 49F

12/12 08:42, , 50F
就怕是理論都講的很好, 放到機器上去, 疑?做錯了~
12/12 08:42, 50F

12/12 08:43, , 51F
B有紀錄跟數據才可以跟PM談, 啥種情況速度是如何
12/12 08:43, 51F

12/12 08:44, , 52F
有狀況有數字, 才好溝通
12/12 08:44, 52F

02/05 09:36, , 53F
太多的bug都發生在保證上了 A要做time out處理
02/05 09:36, 53F
文章代碼(AID): #1KY676ir (Soft_Job)
文章代碼(AID): #1KY676ir (Soft_Job)