討論區快速選單
知識庫快速選單
傑米的攝影旅遊筆記 網路投保旅行平安險
[ 回上頁 ] [ 討論區發言規則 ]
還是想問, 軟體工程至少須包含的開發/規劃文件
更改我的閱讀文章字型大小
作者 : rollboy(roller) 貼文超過200則人氣指數超過10000點
[ 貼文 396 | 人氣 24176 | 評價 370 | 評價/貼文 0.93 | 送出評價 62 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2013/5/25 上午 01:13:10
大家好:

抱歉又來問蠢問題了, 還記得前陣子才來抱怨過軟體工程沒有落實一事,
過了幾個月, 這件事似乎開始被重視了 ...
不過我想真正落實的方法看來還有得學習 ...

目前先著重在文件撰寫方面 ...
想請問從一個project的分析規劃開始, 到真正的程式設計甚至系統驗證 ...
有哪些至少建議的文件該寫呢?

我有看過IEEE列出的基本樣板 ... 知道大致可分為
SQAP – Software Quality Assurance Plan IEEE 730
SCMP – Software Configuration Management Plan IEEE 828
STD – Software Test Documentation IEEE 829
SRS – Software requirements specification IEEE 830
SVVP – Software Validation & Verification Plan IEEE 1012
SDD – Software Design Description IEEE 1016
SPMP – Software Project Management Plan IEEE 1058
SUD – Software User Documentation IEEE 1063

但實在是不是那麼清楚每種文件的使用定義跟實際適用時機 ...
是否可以請大家分享一下自身的經驗呢?

另外我想知道大家是否有採用什麼折衷的方式來落實軟體工程?
例如文件的簡化, 利用反覆的開發review代替一開始過多的事前規劃 (好像有點敏捷式開發的感覺?)
其實重點就是, 針對於一個有點剛想實行軟體工程的團隊, 有無其較適用於新手的方案?

以上, 若是蠢問題請多多包函, 謝謝.
作者 : fcwang(fortran) 程式設計甘苦談優秀好手貼文超過200則
[ 貼文 231 | 人氣 2831 | 評價 2440 | 評價/貼文 10.56 | 送出評價 6 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2013/5/25 上午 10:28:54
To rollboy :

軟體工程是一種非常需要經驗傳承(實際上可以說是學徒制加上公司的管理制度)的專業.
軟體工程的落實並不是一個 PM 或 Team Leader就能搞定, 專案需要有人負責 QA 與 負責 Solution, 還要有人管理文件.當然需要一些額外的成本.

文件的用途 是為了達到與專案團隊(包含用戶或客戶)溝通的目的, 文件的多寡與內容的詳細程度跟專案的規模有關.
文件並不是寫出來就可以, 它是需要被落實(implementation)與被管理的.
參與的專案人數越多, 文件的功能與管理就越顯得重要.

如果是 one man project, 理論上是可以不需要文件的. 可是人的記憶往往是靠不住的, 文件還是有必要, 工作的傳承交接也是需要文件的.

文件的多寡與內容是要以達到溝通的效果為考量, 換句話說, 只有當事人來決定. 同樣的程序每個公司有不同的做法, 你是可以創造出適合你公司情況的做法. 專案管理的術語稱之為程序資產(Process Asset), 是每個公司的智慧財產.

不過, 一個組織如果要由空白到有軟體工程成效, 不借助外力是非常辛苦, 而且毫無效率可言. 貴公司可能需要合適的顧問諮詢來建立貴公司的程序資產, 網站上可以獲得的幫助, 是非常有限.
作者 : ozzy123(ozzy) 資訊類作業求救卓越專家C++卓越專家貼文超過4000則人氣指數超過30000點
[ 貼文 4467 | 人氣 37262 | 評價 10860 | 評價/貼文 2.43 | 送出評價 49 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2013/5/25 下午 12:12:28
台灣軟體工程只會淪為paper work , 沒有很大的效用
作者 : rollboy(roller) 貼文超過200則人氣指數超過10000點
[ 貼文 396 | 人氣 24176 | 評價 370 | 評價/貼文 0.93 | 送出評價 62 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2013/5/27 下午 03:54:31
顧問? 啊 ... 像夢一樣 ..

還是想問, Ozzy前輩公司有缺人嗎? 呵!


先謝謝兩位回答 ...
作者 : rollboy(roller) 貼文超過200則人氣指數超過10000點
[ 貼文 396 | 人氣 24176 | 評價 370 | 評價/貼文 0.93 | 送出評價 62 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2013/5/27 下午 04:14:30
抱歉, 請問一下關於 SDD – Software Design Description ..
這個是單純講設計概念, 還是亦包含實際程式實做!?
整體的精神是? 讓別人清楚知道設計概念跟實現方式對吧?



To Ozzy前輩:

我覺得寫文件的其中一個問題在於, 寫了也沒人要看 ...
我甚至聽說過Engineer抱怨過: 文件寫一堆字, 你也不會一行一行讀, 還不如貼幾張圖上去就好了啊 ...
作者 : ozzy123(ozzy) 資訊類作業求救卓越專家C++卓越專家貼文超過4000則人氣指數超過30000點
[ 貼文 4467 | 人氣 37262 | 評價 10860 | 評價/貼文 2.43 | 送出評價 49 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2013/5/27 下午 04:40:26

>抱歉, 請問一下關於 SDD – Software Design Description ..
>這個是單純講設計概念, 還是亦包含實際程式實做!?
>整體的精神是? 讓別人清楚知道設計概念跟實現方式對吧?

the outline of it
The Document should contain at least the following chapters

INTRODUCTION
 Design Overview
 Requirements Traceability Matrix

SYSTEM ARCHITECTURAL DESIGN
 Chosen System Architecture
 Discussion of Alternative Designs

System Interface Description
  DETAIL DESCRIPTION OF COMPONENTS
    Component n
    Component n+1

USER INTERFACE DESIGN
  Description of the User Interface
Screen Image
Objects and Actions
ADDITIONAL MATERIAL

it is an architecture design specification. Writing it is an essential activity .
>>
>
>To Ozzy前輩:
>
>我覺得寫文件的其中一個問題在於, 寫了也沒人要看 ...
>我甚至聽說過Engineer抱怨過: 文件寫一堆字, 你也不會一行一行讀, 還不如貼幾張圖上去就好了啊 ...
>> this is a culture in tw
作者 : ozzy123(ozzy) 資訊類作業求救卓越專家C++卓越專家貼文超過4000則人氣指數超過30000點
[ 貼文 4467 | 人氣 37262 | 評價 10860 | 評價/貼文 2.43 | 送出評價 49 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2013/5/27 下午 04:52:48
http://www.iso-architecture.org/ieee-p1016/IEEE-P1016-d5.0b.pdf
作者 : fcwang(fortran) 程式設計甘苦談優秀好手貼文超過200則
[ 貼文 231 | 人氣 2831 | 評價 2440 | 評價/貼文 10.56 | 送出評價 6 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2013/5/27 下午 08:51:55

>
>我覺得寫文件的其中一個問題在於, 寫了也沒人要看 ...
>我甚至聽說過Engineer抱怨過: 文件寫一堆字, 你也不會一行一行讀, 還不如貼幾張圖上去就好了啊 ...

To Rollboy(roller) :

如果上述的情況屬實的話, 而且你無法改變它 或是不想改變它, 那你想推動 "軟體工程" 就像在作夢一般, 不要白費力氣了.

文件並不是寫出來就可以, 它是需要被落實(implementation)與被管理的.

如果真的去執行軟體工程的實務, 軟體的開發主要的產出是文件, 軟體Coding 的成本僅佔總成本的三分之一或更少.

作者 : rollboy(roller) 貼文超過200則人氣指數超過10000點
[ 貼文 396 | 人氣 24176 | 評價 370 | 評價/貼文 0.93 | 送出評價 62 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2013/5/28 上午 12:22:10
前景提要 ... 我是當初那個抱怨沒有實踐軟體工程, 變成現在這件事又跟我有些責任了 LOL
我只有coding熱情, 卻毫無相關軟工經驗, 只想努力試著把這些東西補足 ...
所以才來請教各位是否有 "新手入門" 級去實踐基本軟體工程的建議及方法 ...

很抱歉我可能又問了些蠢問題 ... 再次感謝兩位指教.
作者 : rollboy(roller) 貼文超過200則人氣指數超過10000點
[ 貼文 396 | 人氣 24176 | 評價 370 | 評價/貼文 0.93 | 送出評價 62 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2013/5/28 上午 12:25:03
>文件並不是寫出來就可以, 它是需要被落實(implementation)與被管理的.


可否請fortran舉個例子來說明這裡的落實與管理是什麼呢? 謝謝
作者 : jasper(Jasper)討論區板主 程式設計甘苦談頂尖高手上班族的哈拉園地優秀好手貼文超過1000則人氣指數超過70000點
[ 貼文 1403 | 人氣 96053 | 評價 6980 | 評價/貼文 4.98 | 送出評價 42 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2013/5/28 上午 10:16:51
>我覺得寫文件的其中一個問題在於, 寫了也沒人要看 ...
>我甚至聽說過Engineer抱怨過: 文件寫一堆字, 你也不會一行一行讀, 還不如貼幾張圖上去就好了啊 ..

如果一圖能表千文,何苦要求用文字敘述?

軟體工程的目的是什麼?如果清楚的知道這目的,那麼尋找合理、有效達成目的的方法就是好方法,一定要有那麼多的文件嗎?一定要控管的那麼細嗎?

一個系統的開發,在一開始會做系統需求分析,這期間的相關想法都要記載下來,當然一些訪談記錄也得保存。從這些資料中去思考如何設計系統,才能滿足這些需求?

系統需求分析與系統規劃常交互進行,系統需求分析要用條列式的檢查表來呈現,因為它將來是檢查系統是否符合需求的依據。

在系統規劃期間,你可能會有 N 種想法,最後會確定其中的一種,此時得有文件記載這 N 種想法,然後為什麼你會選擇其中的一種?這份文件的好處是避免後人想推翻你的決定,然後又從頭思考、提出一個你之前就想過的想法。

系統規劃完後,架構就清楚了,這時就得排施工流程,最短工時或最少人力?不同的考慮,有不同的排好,但初期的人力時程安排只是個參考,進行中常會有變動,施工流程圖會讓你對因果關係有個明朗的認知,也能藉此知道如何調配人力。

從系統需求分析與系統規劃的文件中去產生測試文件,該如何證明這個系統規劃是符合系統的需求?該如何證明這樣的系統規劃是安全的?所以要有一個測試列表,有那些測試要做?測試時就一條一條的檢測,並把怎麼測試的、結果如何?等等記錄下來。系統測試簡單分為程式設計者的測試、測試者的測試及目標環境中使用者的模擬測試,最後這一階段稱為上線測試。上線測試是否能得完整的測試回饋?這就看那些使用者是否願意配合了!

系統完成後就得寫系統維護文件,程式碼本身就是一個很好的文件,除非寫得很爛、很亂,否則不用重新翻譯一次 (把程式碼翻成文章)。系統規劃文件也是提供系統維護的文件之一,因為系統是如何架構的、採用何種解決方案,在規劃文件中都有明文記載。不過有一種狀況,在商言商的狀況之下,有時點到為止。

能讓整個開發過程及將來維護工作變得清晰、沒盲點,這些方法、這些文件就足夠了,不用去追求太多制式化的東西,殺雞焉用牛刀?
作者 : fcwang(fortran) 程式設計甘苦談優秀好手貼文超過200則
[ 貼文 231 | 人氣 2831 | 評價 2440 | 評價/貼文 10.56 | 送出評價 6 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2013/5/28 下午 02:47:56

>>文件並不是寫出來就可以, 它是需要被落實(implementation)與被管理的.
>
>
>可否請fortran舉個例子來說明這裡的落實與管理是什麼呢? 謝謝

所謂"被落實"就是 "照章行事", 任何人必須依照文件內容去執行軟體開發, 建立文件的權威性.

例如"測試計劃書" 寫下要如何測試軟體系統 (資源配置), 包括哪些的測試案例. 測視團隊必須依此 規範來測試, 沒有在規劃中的測案例 不必 也不能去執行,
規劃內的測試案例 必須完全執行, 不得省略. 如果規劃的測試案例, 無法執行或有瑕疵, 應依 文件的"變更管理程序" 提出修正後再執行.
至於測試的案例有哪些, 必須是針對規範書的功能內容 與 系統分析與設計書 的 內容來規劃的, 以確保 設計的功能與 品質.

所謂"被管理的", 文件要相關的人員或代表認同與簽字. 由文件管理者執行 版本控管, 收發與簽核跟催. 文件是試經過相關的人員多次開會討論, 集思廣益的結果而產出, 所以要相關的人員或代表認同與簽字.
文件並不是不能變更, 文件變更程序必須嚴謹, 必須說明緣由明及建議的修改內容, 經由 "變更管理程序"(就是要相關的人員或代表重新審閱與與簽字) 完成.

實務上 是有許多楣角 需要磨練, 才會讓整個軟體開發團隊 生產力達到水準.

作者 : ozzy123(ozzy) 資訊類作業求救卓越專家C++卓越專家貼文超過4000則人氣指數超過30000點
[ 貼文 4467 | 人氣 37262 | 評價 10860 | 評價/貼文 2.43 | 送出評價 49 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2013/5/28 下午 07:57:08
basically , SE is an engineering which covers all activities about software products. documents is a method .
作者 : rollboy(roller) 貼文超過200則人氣指數超過10000點
[ 貼文 396 | 人氣 24176 | 評價 370 | 評價/貼文 0.93 | 送出評價 62 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2013/5/29 上午 12:42:05
簡單說就是白紙黑字, 照章行事, 按表操課就對了 ...
看來這種事要透徹執行必須全民動員 ... 真的像夢一樣 ...
尤其是頭都已經洗一半的. 好像更難去改變模式了 ...

我怎麼每次來請教, 結果都打擊好大 :D


謝謝三位的指教 ...
作者 : fcwang(fortran) 程式設計甘苦談優秀好手貼文超過200則
[ 貼文 231 | 人氣 2831 | 評價 2440 | 評價/貼文 10.56 | 送出評價 6 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2013/5/30 下午 06:14:19

>簡單說就是白紙黑字, 照章行事, 按表操課就對了 ...
>看來這種事要透徹執行必須全民動員 ... 真的像夢一樣 ...
>尤其是頭都已經洗一半的. 好像更難去改變模式了 ...
>
>我怎麼每次來請教, 結果都打擊好大 :D
>

To Rollboy(roller) :


通常是你有幸參與了一個正規執行軟體工程與專案管理的軟體開發專案或環境後, 才會知道正確的軟體開發方法實務.

加油吧 ! 把你只有coding的熱情 轉向軟體工程, UML2, OOAD, MDA (Model Driven Architecture) ... 等 附加價值高的方面發展, 才是正確的方向.
作者 : ozzy123(ozzy) 資訊類作業求救卓越專家C++卓越專家貼文超過4000則人氣指數超過30000點
[ 貼文 4467 | 人氣 37262 | 評價 10860 | 評價/貼文 2.43 | 送出評價 49 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2013/5/30 下午 06:26:39
http://www.omg.org/mda/
http://www.drdobbs.com/a-special-guide-mda-and-uml-tools-case-2/184415500
作者 : rollboy(roller) 貼文超過200則人氣指數超過10000點
[ 貼文 396 | 人氣 24176 | 評價 370 | 評價/貼文 0.93 | 送出評價 62 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2013/5/31 上午 02:47:11
請問一下像是UML這類的描述工具, 是否仍適用於非物件導向式的程式專案呢?

謝謝.
作者 : fcwang(fortran) 程式設計甘苦談優秀好手貼文超過200則
[ 貼文 231 | 人氣 2831 | 評價 2440 | 評價/貼文 10.56 | 送出評價 6 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2013/5/31 上午 07:47:59

>請問一下像是UML這類的描述工具, 是否仍適用於非物件導向式的程式專案呢?
>
物件導向早已是主流, UML與物件導向是密不可分, 正確的方向是把設計的方法改成物件導向模式.

你"每次來請教, 結果都打擊好大 "是 因為你無法擺脫舊包袱的思維. 希望這是對你最後一次的打擊.
作者 : ozzy123(ozzy) 資訊類作業求救卓越專家C++卓越專家貼文超過4000則人氣指數超過30000點
[ 貼文 4467 | 人氣 37262 | 評價 10860 | 評價/貼文 2.43 | 送出評價 49 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2013/5/31 上午 09:26:59
http://en.wikipedia.org/wiki/Unified_Modeling_Language
overview
 板主 : Jammy , Jasper
 > 程式設計甘苦談 - 討論區
 - 最近熱門問答精華集
 - 全部歷史問答精華集
 - 程式設計甘苦談 - 知識庫
  ■ 全站最新Post列表
  ■ 我的文章收藏
  ■ 我最愛的作者
  ■ 全站文章收藏排行榜
  ■ 全站最愛作者排行榜
  ■  月熱門主題
  ■  季熱門主題
  ■  熱門主題Top 20
  ■  本區Post排行榜
  ■  本區評價排行榜
  ■  全站專家名人榜
  ■  全站Post排行榜
  ■  全站評價排行榜
  ■  全站人氣排行榜
 請輸入關鍵字 
  開始搜尋
 
Top 10
評價排行
程式設計甘苦談
1 Jasper 3690 
2 長長 1520 
3 青衫 1300 
4 fortran 1220 
5 weber 1080 
6 HKLN.net 950 
7 冷眼 690 
8 臭蟲 610 
9 Peter.huang 600 
10 Clier 570 
程式設計甘苦談
  專家等級 評價  
  一代宗師 10000  
  曠世奇才 5000  
  頂尖高手 3000  
  卓越專家 1500  
  優秀好手 750  
Microsoft Internet Explorer 6.0. Screen 1024x768 pixel. High Color (16 bit).
2000-2018 程式設計俱樂部 http://www.programmer-club.com.tw/
0.078125