討論區快速選單
知識庫快速選單
網路投保旅行平安險 最完整AWS雲端解決方案培訓 政府補助!學嵌入式+物聯網
[ 回上頁 ] [ 討論區發言規則 ]
請問各位是如何掌握專案程式的品質呢?
更改我的閱讀文章字型大小
作者 : rollboy(roller) 貼文超過200則人氣指數超過10000點
[ 貼文 396 | 人氣 24176 | 評價 370 | 評價/貼文 0.93 | 送出評價 62 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2012/8/26 下午 09:35:16
Hi all:

在此分類問這種問題不知道會不會不妥當?

寫程式寫了幾年, 從業餘到變成工作, 從一人戰隊變成了多人團隊 ...
一個人寫程式很容易, 風格, 架構都自己定, 好code爛code沒關係 ... (這裡是指工作之餘)
但在我開始工作之後, 發覺事情就變的複雜了 ... (我很菜, 我知道)

也許很多觀念跟規範都可以在事前溝通,
coding style該怎樣, 架構會是怎樣, 執行結果應該怎樣 ...
可以要求大家準時上下班, 要求大家準時提出交出東西 ...

但, 真正的專案程式品質呢? (或許這又牽涉到如何評斷什麼樣的程式是好程式, 又或者怎樣的是壞程式)

也許同時3個人一起寫code, 10個人, 50人 ...
大家都在寫code 改code, 每天總會有不一樣的東西 ...
管理者是如何追蹤程式, 確認始終維持良好品質 ...
確認沒有浪費記憶體, 確認沒有濫用CPU, 確認夠快夠好 (當然這裡不是要談 "如何寫出精湛的高效能程式" )

又或許說沒有這種"深入監控"必要 ...
能動的程式就是好程式? 測試結果就能證明品質?

請有經驗的各位, 來分享一下自己的看法, 或者是不錯的管理方法 ...
謝謝.

(先跟各位說聲抱歉, 如果我的描述沒辦法明確表達出發問重點的話 ... )
作者 : etiol(老妖)
[ 貼文 63 | 人氣 5 | 評價 360 | 評價/貼文 5.71 | 送出評價 0 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
主題發起人rollboy註記此篇回應為很有道理 2012/8/27 上午 08:32:41
專案,從接案開始,都是控管的重要環節,
業主對於需求若不明確(專案初次展示,他才知道規格該怎麼開),
軟體品質只是奢談,
若只專注在特定領域的專案,對於產業KNOW HOW精熟,比較容易掌控 .....
作者 : ozzy123(ozzy) 資訊類作業求救卓越專家C++卓越專家貼文超過4000則人氣指數超過30000點
[ 貼文 4464 | 人氣 37262 | 評價 10860 | 評價/貼文 2.43 | 送出評價 49 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2012/8/27 上午 11:55:32
To verify the requirements of system meet the requirements of customers. You may use many and mature software testing methods ,such like System test plan. here is a link that provide a doc about planning a software test plan , http://www.computing.dcu.ie/~davids/courses/CA267/ieee829mtp.pdf

and the following is some testing methods , http://en.wikipedia.org/wiki/Black-box_testing
http://agile.csc.ncsu.edu/SEMaterials/BlackBox.pdf
or visit software test expert - Cem Kaner's site - http://kaner.com/ find more software testing methods.

software test is an infinite tasks if you really improve software quality
and how to achieve the goal of quality ? Basically , just meets customer's requirements. This is an essential goal.
if you have been achieve the goal of quality , you may examine other software testing levels , such like integration test , white box testing methods , .e.g. test driver/stub construction , or some open source unit test frameworks , such like cppunit - http://sourceforge.net/apps/mediawiki/cppunit/index.php?title=Main_Page
and its cookbook as below link - http://cppunit.sourceforge.net/doc/lastest/cppunit_cookbook.html
or other unit test frameworks if you think it is not good enough . enjoy it :-)
作者 : ozzy123(ozzy) 資訊類作業求救卓越專家C++卓越專家貼文超過4000則人氣指數超過30000點
[ 貼文 4464 | 人氣 37262 | 評價 10860 | 評價/貼文 2.43 | 送出評價 49 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2012/8/28 下午 12:45:05
System test just validates those functionality are corrector not. It can't improve the quality of codes. The best way is to verify the codes by unit test (white box). But this activity will be depend on the schedule, budget and the criteria of software quality.
Writing a formal SRS is a good start . IEEE provides a good template for writing SRS - software requirement specification - IEEE 830 STD, SRS . Many Software requirement specifications followed its documentation architecture and omitted or modified some
sections. There are some principles of writing SRS in the guideline , e.g. complete , traceable , ambiguous , consistent , ... .
All requirement items of srs should give an identifier and use a requirement track matrix (RTM) to trace their status.
The action is a necessary and basic for a software development activity.

作者 : ozzy123(ozzy) 資訊類作業求救卓越專家C++卓越專家貼文超過4000則人氣指數超過30000點
[ 貼文 4464 | 人氣 37262 | 評價 10860 | 評價/貼文 2.43 | 送出評價 49 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2012/8/28 下午 05:26:09
SQA and SCM can improve the quality of projects. But you must spend more manpower and time to complete them.
Basically , SCM is a complex process , it must monitor many various items in development during , such as SQA ( software quality assurance ) , software project management , version control , SRS, SDD ( architecture description document ) , maintenance plan , requirement change management , .... of course , those items or activities depend on your project's scale and you may omitted or modified some unnecessary items. More seriously speaking , a good project should be involve in software v&v .
this is a formal software development process framework. it maybe make sure whole project's status and verified and validated via some activities.
作者 : rollboy(roller) 貼文超過200則人氣指數超過10000點
[ 貼文 396 | 人氣 24176 | 評價 370 | 評價/貼文 0.93 | 送出評價 62 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2012/8/29 上午 12:25:52
看起來專業的作法, 像是需要有個專門負責驗證的人員, 這正常來說應該落在QA部門?
但有時開發deadline會來的又急又趕, 有時候似乎很難會有時間去做完整測試 (或許這是藉口) ...

上述的block box方法感覺很容易會有盲點,
而white box又似乎需要花費相當多的人力和時間 ...

誰該負責這些監督工作呢?

我不知道各位如何處理這些問題, 尤其當你才剛逐漸從engineer變成一個小小leader,
在這樣的情況下, 你還是必許寫code, 但又必須對底下的成員負責,
感覺上有些工作會間接的又轉移回自己身上 ...
要除自己的bug, 又要負責別人的bug ....

話說這些測試方法, 如果對於embedded system這種比較封閉一點的系統, 是否仍然適用?
(例如沒有很直覺的interface, 或者很難容許在過程中加入額外的runtime 保護或檢查, 分析function)

原諒我 ... 如果我問了蠢問題 ...

另外想請問各位是如何管理 "文件:", 例如spec, standard, 或甚至test report, 開發日誌 或 meeting 紀錄 ...
總覺得這些東西不是mail 來mail去, 不然就是直接存在自己電腦或者很單純的檔案系統, 檔案伺服器 ... 等等
在這種方式下, 很難很明確的去紀錄這些文件說明, 條例式清楚的紀錄來源, 更改日期或者是檔案類型(總不能每次都從檔案名稱去猜測吧?)


有時你會期望利用一些文件或相關管理系統, 但又擔心會把工作稿的很複雜 (例如每天花了很多時間在搞document, 搞report 之類的)

或者有一些比較籠統或入門的工作管理書籍可以參考?

先謝謝兩位的回答, 尤其是Ozzy回了那麼多的文字..
作者 : ozzy123(ozzy) 資訊類作業求救卓越專家C++卓越專家貼文超過4000則人氣指數超過30000點
[ 貼文 4464 | 人氣 37262 | 評價 10860 | 評價/貼文 2.43 | 送出評價 49 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2012/8/29 上午 12:35:35
in other hands, TDD is a good way to improve programs' quality in practice . You may refer to following link about TDD related information.
http://c2.com/cgi/wiki?TestDrivenDevelopment

These methods are available and executable. Maybe it is a culture issue , but they can still improve and enhance the productivity and quality of programs. Quality improvement is a continuous activity. it is a goal.


作者 : rollboy(roller) 貼文超過200則人氣指數超過10000點
[ 貼文 396 | 人氣 24176 | 評價 370 | 評價/貼文 0.93 | 送出評價 62 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2012/8/29 上午 12:51:40
而另外一個問題是, ' 當你開始要求團隊成員提出證明function正確性或測試結果時,.
有時你可能會處在不是那麼了解真正的規格或標準的情況下(你專精在A領域, 他人專精在B領域), 又如何能正確給予測試方法和建議呢?
就算designer給出很完整的test report, 你也不見得每次都很有sense, 看出測試結果的意義.

我必須說有時engineer和manager看事情的角度會是不一樣的 ...
有些潛在的問題可能只有是designer本身才會發現 ...
但若沒被提出來, 又或者designer自己忽略了 ... manager也可能很難真正的去看透整個設計方法, 然後提出檢討跟方法 ...

系統漏洞可能就這樣產生了 ...
作者 : rollboy(roller) 貼文超過200則人氣指數超過10000點
[ 貼文 396 | 人氣 24176 | 評價 370 | 評價/貼文 0.93 | 送出評價 62 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2012/8/29 上午 01:22:30

>in other hands, TDD is a good way to improve programs' quality in practice . You may refer to following link about TDD related information.
>http://c2.com/cgi/wiki?TestDrivenDevelopment
>
>These methods are available and executable. Maybe it is a culture issue , but they can still improve and enhance the productivity and quality of programs. Quality improvement is a continuous activity. it is a goal.
>
>
>

Hello, Ozzy ...

這裡有些問題 ...

1. 你是建議可以先以 TDD 的方法當成實踐系統測試的第一步?
2. culture issue的明確意思是 ?
3. TDD的精神似乎是 "先搞清楚你要的, 然後建立系統需求和測試環境" ...
    這聽起來意味著 在你開始開發之前, 你就已經必須真正而且清楚的搞懂需求, 期望的執行結果" ... 這是否真的很容易達到呢?
    如我所說的, 有時候, 你必須在真正開發之後才會發現真正的問題, 在這種前提之下, 你給自己設定的驗證環境或期許是否本身就可能已經有缺陷了呢?
    然後真正發現系統問題時, 會不會反而無法釐清到底是 主要系統有問題, 還是驗證方法有問題?

再次感謝你的資料和建議 ...
作者 : ozzy123(ozzy) 資訊類作業求救卓越專家C++卓越專家貼文超過4000則人氣指數超過30000點
[ 貼文 4464 | 人氣 37262 | 評價 10860 | 評價/貼文 2.43 | 送出評價 49 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2012/8/29 上午 09:34:04

>
>>in other hands, TDD is a good way to improve programs' quality in practice . You may refer to following link about TDD related information.
>>http://c2.com/cgi/wiki?TestDrivenDevelopment
>>
>>These methods are available and executable. Maybe it is a culture issue , but they can still improve and enhance the productivity and quality of programs. Quality improvement is a continuous activity. it is a goal.
>>
>>
>>
>
>Hello, Ozzy ...
>
>這裡有些問題 ...
>
>1. 你是建議可以先以 TDD 的方法當成實踐系統測試的第一步?
>2. culture issue的明確意思是 ?
>3. TDD的精神似乎是 '先搞清楚你要的, 然後建立系統需求和測試環境' ...
> 這聽起來意味著 在你開始開發之前, 你就已經必須真正而且清楚的搞懂需求, 期望的執行結果' ... 這是否真的很容易達到呢?
To understand the requirements of system is not difficult , especially software developers.

> 如我所說的, 有時候, 你必須在真正開發之後才會發現真正的問題, 在這種前提之下, 你給自己設定的驗證環境或期許是否本身就可能已經有缺陷了呢?

> Not really . this is not an issue . if developers encounter problems , they should verify the test bed or environment is correct or not , and check srs's correctness and completion.It is necessary action to discuss with srs's writer or pm if developers discovery some problems and launch a meeting to resolve this problem.

  
> 然後真正發現系統問題時, 會不會反而無法釐清到底是 主要系統有問題, 還是驗證方法有問題?
> Maybe. if testers make sure test cases and specification are correct , then the result of testing is verified ; otherwise , they must check test cases or test bed.
>再次感謝你的資料和建議 ...
作者 : ozzy123(ozzy) 資訊類作業求救卓越專家C++卓越專家貼文超過4000則人氣指數超過30000點
[ 貼文 4464 | 人氣 37262 | 評價 10860 | 評價/貼文 2.43 | 送出評價 49 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2012/8/29 上午 09:47:17

>而另外一個問題是, ' 當你開始要求團隊成員提出證明function正確性或測試結果時,.
>有時你可能會處在不是那麼了解真正的規格或標準的情況下(你專精在A領域, 他人專精在B領域), 又如何能正確給予測試方法和建議呢?
A good software test department should own many testers who specialize in specific domains. So this is not an issue, unless ..... you can't hire test experts. :-)
 
>就算designer給出很完整的test report, 你也不見得每次都很有sense, 看出測試結果的意義.
>
>我必須說有時engineer和manager看事情的角度會是不一樣的 ...
> of course. so the goal of test is to make sure it is consistent

>有些潛在的問題可能只有是designer本身才會發現 ...
>但若沒被提出來, 又或者designer自己忽略了 ... manager也可能很難真正的去看透整個設計方法, 然後提出檢討跟方法 ...
> So must use various test levels , system test , integration test , unit test , automated test , .....
    they maybe cause test activity is an infinite tasks . :-)
>系統漏洞可能就這樣產生了 ...
>
作者 : ozzy123(ozzy) 資訊類作業求救卓越專家C++卓越專家貼文超過4000則人氣指數超過30000點
[ 貼文 4464 | 人氣 37262 | 評價 10860 | 評價/貼文 2.43 | 送出評價 49 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2012/8/29 上午 10:02:18
你是建議可以先以 TDD 的方法當成實踐系統測試的第一步?

> No. TDD is a good way that can improve the quality of codes. it is not system test level. Usually , TDD will associate with unit test framework . and the following link for you reference - http://www.dotblogs.com.tw/bda/archive/2010/02/03/13461.aspx
how to use TDD in VS2010

>2. culture issue的明確意思是 ?

Every member must obey the principles of quality and methods ; otherwise , any good practices are useless.
作者 : ozzy123(ozzy) 資訊類作業求救卓越專家C++卓越專家貼文超過4000則人氣指數超過30000點
[ 貼文 4464 | 人氣 37262 | 評價 10860 | 評價/貼文 2.43 | 送出評價 49 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2012/8/29 上午 10:55:04

>看起來專業的作法, 像是需要有個專門負責驗證的人員, 這正常來說應該落在QA部門?
>但有時開發deadline會來的又急又趕, 有時候似乎很難會有時間去做完整測試 (或許這是藉口) ...
>
>上述的block box方法感覺很容易會有盲點,
>而white box又似乎需要花費相當多的人力和時間 ...
>
>誰該負責這些監督工作呢?

> Basically , this is software test manager's responsibility. Software test manager is the leader of software test team. His responsibilities are lead software test team , manage them , and plan test activity. A major principle of test is what to be tested
if you haven't enough time to test.


>我不知道各位如何處理這些問題, 尤其當你才剛逐漸從engineer變成一個小小leader,
>在這樣的情況下, 你還是必許寫code, 但又必須對底下的成員負責,
>感覺上有些工作會間接的又轉移回自己身上 ...
>要除自己的bug, 又要負責別人的bug ....
>
>話說這些測試方法, 如果對於embedded system這種比較封閉一點的系統, 是否仍然適用?
>(例如沒有很直覺的interface, 或者很難容許在過程中加入額外的runtime 保護或檢查, 分析function)

> Embedded systems is not closed software systems. please see the citation from following link - http://zh.wikipedia.org/wiki/%E5%B5%8C%E5%85%A5%E5%BC%8F%E7%B3%BB%E7%BB%9F
Software test is a method that can validate the correctness of functionality. it owns many practices and theories .
they don't limit to specific software systems.
 don't be serious. :-)
>原諒我 ... 如果我問了蠢問題 ...
>
>另外想請問各位是如何管理 '文件:', 例如spec, standard, 或甚至test report, 開發日誌 或 meeting 紀錄 ...
>總覺得這些東西不是mail 來mail去, 不然就是直接存在自己電腦或者很單純的檔案系統, 檔案伺服器 ... 等等
>在這種方式下, 很難很明確的去紀錄這些文件說明, 條例式清楚的紀錄來源, 更改日期或者是檔案類型(總不能每次都從檔案名稱去猜測吧?)

> SCM can help to manage above documents. the following link is some SCM tools link
> http://www.daveeaton.com/scm/CMTools.html , most of them are commercial
 
>有時你會期望利用一些文件或相關管理系統, 但又擔心會把工作稿的很複雜 (例如每天花了很多時間在搞document, 搞report 之類的)
>
>或者有一些比較籠統或入門的工作管理書籍可以參考?
> http://www.scmwise.com/
http://www.sqa.net/

>先謝謝兩位的回答, 尤其是Ozzy回了那麼多的文字..
作者 : ozzy123(ozzy) 資訊類作業求救卓越專家C++卓越專家貼文超過4000則人氣指數超過30000點
[ 貼文 4464 | 人氣 37262 | 評價 10860 | 評價/貼文 2.43 | 送出評價 49 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2012/8/29 下午 03:53:32
google code university - SCM
http://code.google.com/intl/zh-TW/edu/tools101/scm.html

the above link introduces SCM's concepts and SVC tool ( software version control )
作者 : ozzy123(ozzy) 資訊類作業求救卓越專家C++卓越專家貼文超過4000則人氣指數超過30000點
[ 貼文 4464 | 人氣 37262 | 評價 10860 | 評價/貼文 2.43 | 送出評價 49 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2012/8/29 下午 04:10:10
a article that shows defense programming in VB - http://word.mvps.org/FAQs/MacrosVBA/MaintainableCode.htm
作者 : ozzy123(ozzy) 資訊類作業求救卓越專家C++卓越專家貼文超過4000則人氣指數超過30000點
[ 貼文 4464 | 人氣 37262 | 評價 10860 | 評價/貼文 2.43 | 送出評價 49 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2012/8/29 下午 09:26:32
http://msdn.microsoft.com/en-us/devlabs/dd491992.aspx
http://www.eiffel.com/developers/presentations/dbc/partone/player.html?slide=
http://www.dotblogs.com.tw/larrynung/archive/2010/08/30/17503.aspx

a programming skill and quality design principle - DBC . it is also improve the quality of codes .
作者 : ozzy123(ozzy) 資訊類作業求救卓越專家C++卓越專家貼文超過4000則人氣指數超過30000點
[ 貼文 4464 | 人氣 37262 | 評價 10860 | 評價/貼文 2.43 | 送出評價 49 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2012/8/30 上午 11:43:24
Finally , various test levels can arrive good quality of codes. This is a core concept.
作者 : fcwang(fortran) 程式設計甘苦談優秀好手貼文超過200則
[ 貼文 231 | 人氣 2831 | 評價 2440 | 評價/貼文 10.56 | 送出評價 6 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
主題發起人rollboy註記此篇回應為最佳解答 2012/8/30 下午 11:50:35
看來 roller兄 公司是尚未有軟體專案管理與軟體品管制的制度, 所以會有此疑惑. "專案管理" 是屬於管理的範疇. 管理的通用法則 不外乎 P D C A (Plan, Do, Check, Action)的循環.

計劃 (Plan) -- 謀定而後動
     先有書面計劃 (文件), 專案執行必須有"專案計劃書", 軟體開發必須有 "軟體需求規格書", "軟體規範書", "細部設計文件", "軟體測試計劃書", ......

執行 (Do) -- 依計劃執行
     需求訪談 -- 依據專案設定之"工作範圍"(Scope of work) 產生"軟體需求規格書",
     高階設計 依據 "軟體需求規格書" 產生"軟體規範書",
     細部設計 依據 "軟體規範書" 產生 "細部設計文件",
     程式設計 依據 "細部設計文件" 產生 "程式",
     軟體測試規劃 依據 "專案計劃書" 產生 "軟體測試計劃書" "細部設計文件"; 依據 產生 "軟體測試內容"(Test Cases & Test Scenario),
     軟體測試 依據 "軟體測試計劃" 執行
     ...................

考核 (Check) -- 各項軟體開發活動 應定期開會檢討與 提出書面報告 及早發現失誤

矯正措施 (Action) -- 發現失誤時, 應增加矯正計劃 或變更原先計劃來 彌補缺失, 並列入追蹤考核.

------------------------

正規的軟體公司必須有一套管理的方法 (Methodology)與制度來執行 "專案管理". 它是軟體技術之外的另一類專業.

"專案管理"與"軟體工程"專業人員除了有 適宜的軟體開發經驗, 更重要的是有管理實務的經驗. 所以是屬於資深的人力, 也就是成本較高的人力.
這些人力的投入當然會有成本的 負擔. 它的成效, 除了品質確保, 效率提昇, 信譽也會提昇.

以上經驗提供您一些概念, 希望有助於您解惑.
作者 : rollboy(roller) 貼文超過200則人氣指數超過10000點
[ 貼文 396 | 人氣 24176 | 評價 370 | 評價/貼文 0.93 | 送出評價 62 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2012/8/31 上午 12:52:52
謝謝fcwang與Ozzy所給予的資料與建議 ... 看來各位都是這方面的好手
我現在才剛開始學習這類知識, 頓時無法立即消化各位所說的,
我會花時間研究各位給予的資料 ...


>看來 roller兄 公司是尚未有軟體專案管理與軟體品管制的制度, 所以會有此疑惑. '專案管理' 是屬於管理的範疇. 管理的通用法則 不外乎 P D C A (Plan, Do, Check, Action)的循環.

我不是什麼"兄"字輩的啦, 菜鳥小夥子罷了.
這真是一刀斃命, 直接點出了問題,
說真的我也真不知道自己是否有這必要或者資格來執行這些事 ...
我的身分其實是engineer, 只是單純有點希望能嘗試改變什麼 ...
但 .. 這會是我該做或者可以做的嗎?



>計劃 (Plan) -- 謀定而後動
> 先有書面計劃 (文件), 專案執行必須有'專案計劃書', 軟體開發必須有 '軟體需求規格書', '軟體規範書', '細部設計文件', '軟體測試計劃書', ......

這個似乎又讓我陷入疑惑, 有些時候, 身為manager或leader, 其實也不見得專精在每個領域, 在這種情況下如何能面面俱到給出正確的規格書?
又或者, 有時在初進行專案時, 你對某事的認知上可能是這種狀況, 實際動手之後又才會意示到狀況的不同 ... (你認為架構是這樣, 做了之後發現某些部份行不通)



>考核 (Check) -- 各項軟體開發活動 應定期開會檢討與 提出書面報告 及早發現失誤
這個如何拿捏分寸, 而不讓人感到厭煩? (meeting, meeting, meeting ... )
我也很希望能夠讓team member能夠主動的提出報告, 提出問題, 剩自提出自我檢討 ...




>正規的軟體公司必須有一套管理的方法 (Methodology)與制度來執行 "專案管理". 它是軟體技術之外的另一類專業
這句話真棒, 讓我想起別人曾經跟我說過 "寫程式不只是寫程式" ...


對不起, 我完全沒有這方面經驗, 只是認為想自己做點什麼 ...
的確, 我所處的環境沒有什麼這方面的制度,
尷尬的是我是一個菜鳥小leader, 夢想著能導入這些方法 (當然也有可能一個月後我可能自己開始覺得麻煩, 打退堂鼓, 然後不了了之) ...


不過各位的回覆, 怎麼越來越讓我覺得這似乎是QA部門該做的事, 而不是寫coder的人該操心的?
或者其實開發部門也確實該實行這些制度?

再次謝謝各位的分享.
作者 : ozzy123(ozzy) 資訊類作業求救卓越專家C++卓越專家貼文超過4000則人氣指數超過30000點
[ 貼文 4464 | 人氣 37262 | 評價 10860 | 評價/貼文 2.43 | 送出評價 49 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
主題發起人rollboy註記此篇回應為最佳解答 2012/9/1 下午 11:32:20

>
>
>
>>計劃 (Plan) -- 謀定而後動
>> 先有書面計劃 (文件), 專案執行必須有'專案計劃書', 軟體開發必須有 '軟體需求規格書', '軟體規範書', '細部設計文件', '軟體測試計劃書', ......
>
>這個似乎又讓我陷入疑惑, 有些時候, 身為manager或leader, 其實也不見得專精在每個領域, 在這種情況下如何能面面俱到給出正確的規格書?
>又或者, 有時在初進行專案時, 你對某事的認知上可能是這種狀況, 實際動手之後又才會意示到狀況的不同 ... (你認為架構是這樣, 做了之後發現某些部份行不通)
>
>
>
>>考核 (Check) -- 各項軟體開發活動 應定期開會檢討與 提出書面報告 及早發現失誤
>這個如何拿捏分寸, 而不讓人感到厭煩? (meeting, meeting, meeting ... )
>我也很希望能夠讓team member能夠主動的提出報告, 提出問題, 剩自提出自我檢討 ...
>
>
>
>
>>正規的軟體公司必須有一套管理的方法 (Methodology)與制度來執行 '專案管理'. 它是軟體技術之外的另一類專業
>這句話真棒, 讓我想起別人曾經跟我說過 '寫程式不只是寫程式' ...
>
>
>對不起, 我完全沒有這方面經驗, 只是認為想自己做點什麼 ...
>的確, 我所處的環境沒有什麼這方面的制度,
>尷尬的是我是一個菜鳥小leader, 夢想著能導入這些方法 (當然也有可能一個月後我可能自己開始覺得麻煩, 打退堂鼓, 然後不了了之) ...
>
>
>不過各位的回覆, 怎麼越來越讓我覺得這似乎是QA部門該做的事, 而不是寫coder的人該操心的?
>或者其實開發部門也確實該實行這些制度?
> software engineering is a systematic and disciplined methodology and process. It is a practice , not theory. All departments must obey principles or methods and responsible for their duties.

   
>再次謝謝各位的分享.
作者 : ozzy123(ozzy) 資訊類作業求救卓越專家C++卓越專家貼文超過4000則人氣指數超過30000點
[ 貼文 4464 | 人氣 37262 | 評價 10860 | 評價/貼文 2.43 | 送出評價 49 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2012/9/1 下午 11:44:25
http://www.balancedscorecard.org/TheDemingCycle/tabid/112/Default.aspx - Deming Cycle in balanced score card
作者 : ozzy123(ozzy) 資訊類作業求救卓越專家C++卓越專家貼文超過4000則人氣指數超過30000點
[ 貼文 4464 | 人氣 37262 | 評價 10860 | 評價/貼文 2.43 | 送出評價 49 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2012/9/3 上午 08:35:44
this is a Chinese site about SE - http://sea-taiwan.blogspot.tw/
作者 : ozzy123(ozzy) 資訊類作業求救卓越專家C++卓越專家貼文超過4000則人氣指數超過30000點
[ 貼文 4464 | 人氣 37262 | 評價 10860 | 評價/貼文 2.43 | 送出評價 49 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2012/9/3 下午 04:29:31
http://users.csc.calpoly.edu/~jdalbey/205/Mgmt/SPMP.html
http://www.soldance.com.ar/nqi/nqifiles/The%20Art%20of%20Software%20Testing%20-%20Second%20Edition.pdf - a classical & famous about software testing book
http://www.sroga.com/school/cs8263/Software%20verification%20and%20validation.pdf
http://www.google.com.tw/url?sa=t&rct=j&q=&esrc=s&source=web&cd=4&ved=0CEYQFjAD&url=http%3A%2F%2Fwww.cs.ucf.edu%2F~turgut%2FCOURSES%2FEEL6883_SEII_Spr07%2FPaperPresentations%2FFujii-p33.ppt&ei=kmlEUMzOuWDmQX6w4HwDg&usg=AFQjCNH5QZxyVrJc3C4Z4ql7junm9wZ0Ag&sig2=lC1aUfjkGnaHw4T0skT2uQ - Software V&V
http://bmeimage.be.cycu.edu.tw/Draft/%E6%9C%83%E8%AD%B0%E8%B3%87%E6%96%99/96%E5%B9%B4%E5%BA%A6%E7%A0%94%E8%A8%8E%E6%9C%83%E8%B3%87%E6%96%99/%E9%86%AB%E7%99%82%E5%99%A8%E6%9D%90%E8%BB%9F%E9%AB%94%E7%A2%BA%E6%95%88%E6%B3%95%E8%A6%8F%E8%A6%81%E6%B1%82%E4%BB%8B%E7%B4%B9_%E6%9E%97%E4%BB%B2%E5%BF%97.pdf
作者 : ozzy123(ozzy) 資訊類作業求救卓越專家C++卓越專家貼文超過4000則人氣指數超過30000點
[ 貼文 4464 | 人氣 37262 | 評價 10860 | 評價/貼文 2.43 | 送出評價 49 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2012/9/3 下午 04:37:33
this an another way of unit test for android app
http://pivotal.github.com/robolectric/
作者 : ozzy123(ozzy) 資訊類作業求救卓越專家C++卓越專家貼文超過4000則人氣指數超過30000點
[ 貼文 4464 | 人氣 37262 | 評價 10860 | 評價/貼文 2.43 | 送出評價 49 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2012/9/3 下午 08:25:21
http://www.on-time.com/ddj0011.htm
http://www.freetype.org/david/reliable-c.html
http://en.wikibooks.org/wiki/C_Programming/Error_handling
http://software-testing-zone.blogspot.tw/2007/01/top-50-sofware-testingsqa-faqs-you-may.html
http://sqa.fyicenter.com/
作者 : ozzy123(ozzy) 資訊類作業求救卓越專家C++卓越專家貼文超過4000則人氣指數超過30000點
[ 貼文 4464 | 人氣 37262 | 評價 10860 | 評價/貼文 2.43 | 送出評價 49 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2012/9/4 下午 11:25:44
http://research.microsoft.com/en-us/news/features/nagappan-100609.aspx
http://www.exforsys.com/tutorials/testing/software-testing-myths.html
http://se-thoughtograph.blogspot.tw/2011/12/agile-myths-and-misunderstandings.html
http://software-testing-zone.blogspot.tw/2012/04/top-5-common-myths-in-software-testing.html
http://softwaretestingfundamentals.com/software-testing-myths/
http://blog.bughuntress.com/software-testing-services/inspecting-software-testing-myths
http://www.iseb-istqbsoftwaretesting.co.uk/10-common-software-testing-myths/
作者 : rollboy(roller) 貼文超過200則人氣指數超過10000點
[ 貼文 396 | 人氣 24176 | 評價 370 | 評價/貼文 0.93 | 送出評價 62 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2012/9/5 上午 02:31:07
給我20年, 我可以學完這些技術 ... :D
不過些都是方法, 真正困難的問題在於如何開始將方發導入並實踐之, 對吧 :P
突然覺得眼前的世界變的好大 ...
再次謝謝Ozzy提供的資訊 ... 高手 ... 高手 ...
作者 : ozzy123(ozzy) 資訊類作業求救卓越專家C++卓越專家貼文超過4000則人氣指數超過30000點
[ 貼文 4464 | 人氣 37262 | 評價 10860 | 評價/貼文 2.43 | 送出評價 49 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2012/9/5 上午 08:07:15
i am not an expert. just need to take some time finding them. software engineering will encounter some hindrances. 知易行難
execution is a major issue.
作者 : rollboy(roller) 貼文超過200則人氣指數超過10000點
[ 貼文 396 | 人氣 24176 | 評價 370 | 評價/貼文 0.93 | 送出評價 62 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2012/9/6 上午 02:28:29
知易行難! 這句話是重點 ...

可否請教Ozzy目前於職場上是扮演何種角色? 為何如此專注於專案管理上? 是否確實實行了種種的專案管理方法?
sorry, 這樣問可能很沒有禮貌, 只是想知道自己是幾兩重 :-)

若這不是恰當的問題請原諒我, 謝謝.


>i am not an expert. just need to take some time finding them. software engineering will encounter some hindrances. 知易行難
>execution is a major issue.
作者 : chiuinan2(青衫)討論區板主 Visual C++ .NET卓越專家VC++一代宗師Visual Basic優秀好手資訊類作業求救卓越專家一般曠世奇才程式設計甘苦談優秀好手C++ Builder優秀好手上班族的哈拉園地優秀好手C++頂尖高手Assembly優秀好手貼文超過3000則人氣指數超過150000點
[ 貼文 3732 | 人氣 170106 | 評價 34520 | 評價/貼文 9.25 | 送出評價 125 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
主題發起人rollboy註記此篇回應為最佳解答 2012/9/6 上午 06:23:56
很久沒回來了, 看了你的詢問, 忍不住多言了幾句. 不過話說在前面, 每家公司都不一樣, 不是聽了就全盤接收.

做專案也有20多年了, 有成功, 也有失敗的, 其實跟專案程式的品質, 一點關係都沒有. 以下是個人幾個失敗專案的情況, 提供你參考:

1. 第一次訪談就找不到真正的負青人, 每次要簽約都某個成員寫個"代". 回公司我就反應, 這家不好搞, 最後的規格一定會被全部翻盤, 能不做最好別做. 但上面因為策略關係, 非做不可, 但個人堅持不能做, 最後轉給其他人負責. 結果2年後仍無法結案, 規格一翻再翻, 投入了n倍人力, 結果什麼都沒得到 (其實個人超不爽的).

2. 某家公司專案完成驗收時, 才發現兩派人馬鬥得很厲害. 只要對對方有利的規格, 一律不驗收. 最後只好交給業務去協調, 據說最後還是沒有驗收... @@|||

你跟我一樣, 都是從基層程設做起. 唯一不同的, 可能是我很早就看過軟工的書籍 (在民國70-80年代算是極少數的). 不過真的就業後, 這些根本無用武之地. 企業主只在乎目前賺不賺錢, 而不在乎後續的維護費用有多少. 所以當時我每進一家公司, 都是在對企業主做"觀念教育". 實在講不通, 直接就換老闆了. 第一次找到賞識我的人, 很高興, 把全副精神都投進去, 後來升到經理時, 自覺對管理學完全不懂, 還去上課來補足. 雖然原先那家老闆最後因為很摳 (賺錢不分享), 我最後選擇離開 (至少幫他賺了不少), 但上這些管理課程, 對個人後來的發展真的助益很大 (當你成為管理者後).

如果不管外在需求, 單以一個軟體研發部經理而言, 就是收到什麼需求, 做什麼事. 如何去控制程式的品質, 其實是有很多方法的.

1.coding style

程設的共同原則, 包括變數或函數的命名原則. 這個應該不必說明了吧?! 不然每個人都用自己的方式寫, 最後每個接手的人, 連看懂都有問題了. 這個採共同決, 簡單就能搞定.

個人會在這個階段加入自我偵錯 (Assert之類的) 與容錯的概念, 其實還蠻有用的.

2. 文件&文件...

太多的programmer都疏於文件. 個人每次都要求, 文件先行, 不對還可以隨時改. 確定後, 才寫成程式. 一旦寫成程式, 如果要改動, 牽涉就太多了. 只是個人要求多年, 仍然有很多人自行其是 (人員來來去去, 教不勝教). 每次拿到一堆只有原始碼, 卻無說明文件時, 一股火就上來了.... ~"~

3. code review

這是正式測試前的品管機制. 藉由code review, 可以找出90%以上的潛在錯誤 (很多是測試時找不出來的). 當然, 這項工作是要交給老手做的, 因為他們最知道容易出錯的地方. 如果交給新手做, 那就幾乎沒什麼效果了. 老手的價值, 至少在這裡是可以顯現的.

4. 測試

這個應該不用說明了, 程式品質的最後一道關卡. 分成函數測試, 模組測試, 單元測試, 整合測試, 驗證測試等多種階段, 軟工的書提到很多, 自行參考吧. 比較少人注意到的, 大概是"自我測試"的概念吧.

希望以上一些說明對你有所助益.

高言闊論無用, 能在現實社會存活下去, 並成為眾人搶著要的人材, 才是最重要的. 最後會變成是你在挑老闆, 而不是老闆在挑你. 無可取代性的人才, 薪水永遠不可能低的.
作者 : ozzy123(ozzy) 資訊類作業求救卓越專家C++卓越專家貼文超過4000則人氣指數超過30000點
[ 貼文 4464 | 人氣 37262 | 評價 10860 | 評價/貼文 2.43 | 送出評價 49 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2012/9/6 下午 07:24:07
http://www.cognizant.com/
作者 : ozzy123(ozzy) 資訊類作業求救卓越專家C++卓越專家貼文超過4000則人氣指數超過30000點
[ 貼文 4464 | 人氣 37262 | 評價 10860 | 評價/貼文 2.43 | 送出評價 49 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2012/9/6 下午 11:05:19
http://www.pettichord.com/
http://www.dorothygraham.co.uk/index.html
http://www.reifer.com/index.php
作者 : ozzy123(ozzy) 資訊類作業求救卓越專家C++卓越專家貼文超過4000則人氣指數超過30000點
[ 貼文 4464 | 人氣 37262 | 評價 10860 | 評價/貼文 2.43 | 送出評價 49 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2012/9/6 下午 11:35:27
http://staf.sourceforge.net/
a famous testing automation framework (STAF)
作者 : ozzy123(ozzy) 資訊類作業求救卓越專家C++卓越專家貼文超過4000則人氣指數超過30000點
[ 貼文 4464 | 人氣 37262 | 評價 10860 | 評價/貼文 2.43 | 送出評價 49 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2012/9/6 下午 11:44:34
http://ttcn-3.net/
http://www.ttcn-3.org/
http://ttcn3testing.com/

A formal language - TTCN-3
and its compiler tools
http://www.irisa.fr/tipi/wiki/doku.php/t3devkit - T3DevKit (open source )
作者 : ozzy123(ozzy) 資訊類作業求救卓越專家C++卓越專家貼文超過4000則人氣指數超過30000點
[ 貼文 4464 | 人氣 37262 | 評價 10860 | 評價/貼文 2.43 | 送出評價 49 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2012/9/6 下午 11:47:52
http://www.openttcn.com/
And this is a commercial product , fast TTCN compiler tools chain
作者 : ozzy123(ozzy) 資訊類作業求救卓越專家C++卓越專家貼文超過4000則人氣指數超過30000點
[ 貼文 4464 | 人氣 37262 | 評價 10860 | 評價/貼文 2.43 | 送出評價 49 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2012/9/6 下午 11:57:04
http://www.kc.com/
A famous software engineering tools vendor - Kennedy Carter . The MDA/UML tools vendor for F16 MMS .
作者 : ozzy123(ozzy) 資訊類作業求救卓越專家C++卓越專家貼文超過4000則人氣指數超過30000點
[ 貼文 4464 | 人氣 37262 | 評價 10860 | 評價/貼文 2.43 | 送出評價 49 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2012/9/7 上午 12:42:12

知易行難! 這句話是重點 ...

可否請教Ozzy目前於職場上是扮演何種角色? 為何如此專注於專案管理上? 是否確實實行了種種的專案管理方法?
sorry, 這樣問可能很沒有禮貌, 只是想知道自己是幾兩重 :-)
> those don't belong to project management's scope , they are software engineering.
I have worked overseas for a long time and my firm is a 25+ yrs ago IT firm and their major client is Merrill lynch.
our department have many programmers and testers ..... , they attach great importance to software engineering.
Of course, almost all programmers don't like those rules , but they knew software engineering is useful for their development.
their testers who owns good testing skills , such like white box , unit test, integration , system , .... automation ,... they also are familiar to programming languages . From software requirement specification , architecture documentation , test plan , SCM , release plan , ..... they have complete and detailed documents.
Software engineering is a disciplined process , especially large scale software systems.
If you join to develop some large scale software systems , you will understand its importance.
    
若這不是恰當的問題請原諒我, 謝謝.
Don't be serious . just discussing ....
 software engineering consortium - http://www.sec.org.tw/
作者 : rollboy(roller) 貼文超過200則人氣指數超過10000點
[ 貼文 396 | 人氣 24176 | 評價 370 | 評價/貼文 0.93 | 送出評價 62 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2012/9/7 上午 01:52:35
謝謝Ozzy及青杉大前輩的回覆, 各位都是有經驗老手 ...=b

現在的我覺得龐徨無助跟壓力, 其實我剛投入職場沒多久,
只是很幸運的靠著一點點coding skill, 現在讓我分擔到一點責任了 ...
我們的環境沒有這些完善的方法, 以前的我就是扮演那個不滿意現狀的programmer ...
現在我剛剛變成一個小leader, 不能只是幹樵了, 該做點事(知易行難就是這樣?)了 ....
但如我説的, 這幾年我不是在那樣的環境被磨練出來的, 現在我卻必須自己想辦法鑽出出路, 或者方法 ...
我是個小leader, 也還是個engineer, 情況變成我必須對自己的code負責, 也必須對別人的code負責 ...
這很難取平衡點, 雖然人總是說你必須信任你的夥伴, 但有時你不得不主動做點事來保護這個project跟自己(別人造成的問題你也是有責任的)
sorry, 我意思是說, 平常自己就要忙著維護自己的code品質了, 現在還要維護team的code品質 ... 不管怎樣, 一定會有盲點



anyway, 我現在真的一頭霧水, 所以才會批哩趴啦的問了各位好多問題, 請原諒我的無知 ...
也謝謝各位的分享跟鼓勵 ...

另外回應青杉前輩的建議 ...

>1.coding style
>
>程設的共同原則, 包括變數或函數的命名原則. 這個應該不必說明了吧?! 不然每個人都用自己的方式寫, 最後每個接手的人, 連看懂都有問題了. 這個採共同決, 簡單就能搞定.
>
>個人會在這個階段加入自我偵錯 (Assert之類的) 與容錯的概念, 其實還蠻有用的.

這個在個人coding潔癖的驅使下, 幹樵了好一陣子總算有點樣子了 ... (我那時才加入公司半年一年吧, 正所謂初生之犢不畏虎?)



>2. 文件&文件...
>
>太多的programmer都疏於文件. 個人每次都要求, 文件先行, 不對還可以隨時改. 確定後, 才寫成程式. 一旦寫成程式, 如果要改動, 牽涉就太多了. 只是個人要求多年, 仍然有很多人自行其是 (人員來來去去, 教不勝教). 每次拿到一堆只有原始碼, 卻無說明文件時, 一股火就上來了.... ~'~

請問是指規格書之類的嗎?
糟糕, 這個連我自己都會覺得寫code都寫不完了, document實在很難產出來 ... 我知道, 我是錯的!



>3. code review
>
>這是正式測試前的品管機制. 藉由code review, 可以找出90%以上的潛在錯誤 (很多是測試時找不出來的). 當然, 這項工作是要交給老手做的, 因為他們最知道容易出錯的地方. 如果交給新手做, 那就幾乎沒什麼效果了. 老手的價值, 至少在這裡是可以顯現的.

我確信code review的重要, 但感覺很難實行, 老手可能也有自己的code要寫, 整個project code每天又改來改去的, 不知道如何能確實的即時追終品質!?
尤其到了每個區塊程式成長到 1000行, 2000行, 5000行之後 ... (反而似乎都是發生問題之後才回頭去瞧瞧哪裡做錯了!?)
我們曾經嘗試這樣做, 但最終還是不了了之 ...



>4. 測試
>
>這個應該不用說明了, 程式品質的最後一道關卡. 分成函數測試, 模組測試, 單元測試, 整合測試, 驗證測試等多種階段, 軟工的書提到很多, 自行參考吧. 比較少人注意到的, 大概是'自我測試'的概念吧.

'自我測試' ... 這真的是重點, 但人有百百款, 很難培養主動測試的習慣, 亦或者是容易會有認知上的問題 (例如對方: 我確實有測試啊! 然後code release出去馬上出現問題) ... (亦或者說不定我就是那個自我感覺良好的那一個!?)

作者 : rollboy(roller) 貼文超過200則人氣指數超過10000點
[ 貼文 396 | 人氣 24176 | 評價 370 | 評價/貼文 0.93 | 送出評價 62 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2012/9/7 上午 01:54:32
還有, 現在的考驗不只是IQ了, 變成個人EQ大考驗了 ... :D
作者 : ozzy123(ozzy) 資訊類作業求救卓越專家C++卓越專家貼文超過4000則人氣指數超過30000點
[ 貼文 4464 | 人氣 37262 | 評價 10860 | 評價/貼文 2.43 | 送出評價 49 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
主題發起人rollboy註記此篇回應為很有道理 2012/9/7 上午 09:56:02
我確信code review的重要, 但感覺很難實行, 老手可能也有自己的code要寫, 整個project code每天又改來改去的, 不知道如何能確實的即時追終品質!?

> please use DDT , Oh no ! is TDD


http://ithelp.ithome.com.tw/question/10081081
http://www.agiledata.org/essays/tdd.html
http://www.methodsandtools.com/archive/archive.php?id=20
http://www.eiffel.com/general/column/2004/september.html - DBC's creator said
作者 : ozzy123(ozzy) 資訊類作業求救卓越專家C++卓越專家貼文超過4000則人氣指數超過30000點
[ 貼文 4464 | 人氣 37262 | 評價 10860 | 評價/貼文 2.43 | 送出評價 49 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2012/9/7 上午 10:03:55
http://coolshell.cn/articles/3649.html
作者 : ozzy123(ozzy) 資訊類作業求救卓越專家C++卓越專家貼文超過4000則人氣指數超過30000點
[ 貼文 4464 | 人氣 37262 | 評價 10860 | 評價/貼文 2.43 | 送出評價 49 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2012/9/7 上午 10:06:05
http://www.tdd-django-tutorial.com/
TDD's tutorial
作者 : ozzy123(ozzy) 資訊類作業求救卓越專家C++卓越專家貼文超過4000則人氣指數超過30000點
[ 貼文 4464 | 人氣 37262 | 評價 10860 | 評價/貼文 2.43 | 送出評價 49 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2012/9/7 上午 10:29:50
http://net.tutsplus.com/tutorials/php/the-newbies-guide-to-test-driven-development/
作者 : ozzy123(ozzy) 資訊類作業求救卓越專家C++卓越專家貼文超過4000則人氣指數超過30000點
[ 貼文 4464 | 人氣 37262 | 評價 10860 | 評價/貼文 2.43 | 送出評價 49 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2012/9/7 上午 10:43:14
http://epf.eclipse.org/wikis/xp/xp/guidances/guidelines/test_driven_development_tdd_D7F1F440.html
tdd & eclipse & java
作者 : ozzy123(ozzy) 資訊類作業求救卓越專家C++卓越專家貼文超過4000則人氣指數超過30000點
[ 貼文 4464 | 人氣 37262 | 評價 10860 | 評價/貼文 2.43 | 送出評價 49 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2012/9/7 上午 10:49:39
http://vimeo.com/24758886
a video that explains why and how to do TDD - simple example ,but it is an ruby example
作者 : ozzy123(ozzy) 資訊類作業求救卓越專家C++卓越專家貼文超過4000則人氣指數超過30000點
[ 貼文 4464 | 人氣 37262 | 評價 10860 | 評價/貼文 2.43 | 送出評價 49 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2012/9/7 上午 10:57:16
http://stackoverflow.com/questions/4399256/learning-tdd-with-a-simple-example
stack overflow's TDD with Java
作者 : ozzy123(ozzy) 資訊類作業求救卓越專家C++卓越專家貼文超過4000則人氣指數超過30000點
[ 貼文 4464 | 人氣 37262 | 評價 10860 | 評價/貼文 2.43 | 送出評價 49 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2012/9/7 上午 11:08:17
http://testobsessed.com/wp-content/uploads/2011/04/atddexample.pdf
作者 : ozzy123(ozzy) 資訊類作業求救卓越專家C++卓越專家貼文超過4000則人氣指數超過30000點
[ 貼文 4464 | 人氣 37262 | 評價 10860 | 評價/貼文 2.43 | 送出評價 49 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2012/9/7 下午 12:32:32
http://research.microsoft.com/en-us/groups/ese/nagappan_tdd.pdf
http://www.agile-itea.org/public/deliverables/ITEA-AGILE-D2.7_v1.0.pdf
http://www.peter.com.au/programming/assertions.html
http://sunnyday.mit.edu/16.355/Hoare-CACM-69.pdf
https://softech.informatik.uni-kl.de/twiki/pub/Homepage/SVHOL12/slides8a.pdf
http://www.eschertech.com/papers/sefmpaper.pdf
http://www.zuser.org/
http://www.vdmportal.org/twiki/bin/view
作者 : ozzy123(ozzy) 資訊類作業求救卓越專家C++卓越專家貼文超過4000則人氣指數超過30000點
[ 貼文 4464 | 人氣 37262 | 評價 10860 | 評價/貼文 2.43 | 送出評價 49 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2012/9/7 下午 12:39:52
http://www.bmethod.com/ a famous formal verification methodology - B
作者 : chiuinan2(青衫)討論區板主 Visual C++ .NET卓越專家VC++一代宗師Visual Basic優秀好手資訊類作業求救卓越專家一般曠世奇才程式設計甘苦談優秀好手C++ Builder優秀好手上班族的哈拉園地優秀好手C++頂尖高手Assembly優秀好手貼文超過3000則人氣指數超過150000點
[ 貼文 3732 | 人氣 170106 | 評價 34520 | 評價/貼文 9.25 | 送出評價 125 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
主題發起人rollboy註記此篇回應為很有道理 2012/9/7 下午 05:05:07
>我確信code review的重要, 但感覺很難實行, 老手可能也有自己的code要寫, 整個project code每天又改來改去的, 不知道如何能確實的即時追終品質!?
>尤其到了每個區塊程式成長到 1000行, 2000行, 5000行之後 ... (反而似乎都是發生問題之後才回頭去瞧瞧哪裡做錯了!?)
>我們曾經嘗試這樣做, 但最終還是不了了之 ...

如果有做過sa/sd, 確認各模組的功能/界面/資料結構都已定義清楚, 然後再交付programmer寫成code, 基本上寫完後就不會再改來改去. code review必須建立在此一機制上, 否則不斷變動的code, review就變得沒太大意義了. 若是客戶規格變更, 就必須啟動一連串規格變更的機制, 從sa文件一路往下修正, 找出所有會被影響到的模組, 重新改code, 重新code review, 重新測試, 這個變動的代價其實是很高的. 因此需求收集與分析階段才是最重要的一部份, 開頭不完整或不正確, 後面就會一團亂.

不過我想, 貴公司應該都沒做sa/sd吧? 這樣要維持專案程式的品質, 確實會很困難. 但這也不是你一人之力能改變的, 老闆如果沒有那種sense, 只會要求加班趕工以便結案賺錢, 這種惡性循環會不斷下去. 老手會不斷地卡在舊案的維護上, 而無力去改變現況, 新案只好交給新手來做, 最後結果又是一樣. 想要徹底改變此一情況, 只能用2倍人力, 一批維護舊案, 一批用正規方法重新改造該舊案(要找有經驗的老手帶領), 完成後再取代該舊案. 這樣等於是兩次開發, 成本很高, 老闆幾乎都不會同意的...

>'自我測試' ... 這真的是重點, 但人有百百款, 很難培養主動測試的習慣, 亦或者是容易會有認知上的問題 (例如對方: 我確實有測試啊! 然後code release出去馬上出現問題) ... (亦或者說不定我就是那個自我感覺良好的那一個!?)

這裡講的"自我測試", 指的是"軟體自我測試", 當然也變相地要求各自寫的程式要自己測.

每個模組都必須自備一個自我測試的函數, 每當模組要release前, 必須跑一遍該自我測試的函數, 確認沒有問題. 將來在正式測試或release後發現有錯誤時, 便回頭檢討該自我測試的函數為何沒檢測出, 然後再強化自我測試的程序. 這樣才能減少維護階段的測試時間. 當然, 人機操作界面之類的部份是無法自我測試的.

最後, 個人想問的是, 公司既然賦予你管理的任務, 那有沒有給你相對應的權力? 有責無權, 根本無法管理. 例如軟體錯誤率 (即通過自我測試函數後, 仍被檢測出的錯誤數), 直接列入考績, 影響年終獎金或月薪等. 這樣才能避免有人打混, 亂寫一個交差了事. 徵人/開除下屬的權力也都是必要的, 不過這已是管理學的範圍了 (其實專案管理本來就包含了管"人"與管"事").
作者 : ozzy123(ozzy) 資訊類作業求救卓越專家C++卓越專家貼文超過4000則人氣指數超過30000點
[ 貼文 4464 | 人氣 37262 | 評價 10860 | 評價/貼文 2.43 | 送出評價 49 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2012/9/7 下午 06:59:14
http://code.google.com/p/googletest/
作者 : fcwang(fortran) 程式設計甘苦談優秀好手貼文超過200則
[ 貼文 231 | 人氣 2831 | 評價 2440 | 評價/貼文 10.56 | 送出評價 6 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
主題發起人rollboy註記此篇回應為很有道理 2012/9/7 下午 08:55:51

>給我20年, 我可以學完這些技術 ... :D
>不過些都是方法, 真正困難的問題在於如何開始將方發導入並實踐之, 對吧 :P
>突然覺得眼前的世界變的好大 ...

當初公司由國外顧問協助獲得一個大型軟體開發專案, 公司人員並未有管理這種大型軟體專案的經驗, 必須從無到有地建立管理大型軟體開發專案的團隊.

從無到有的方法是先由國外聘請軟體顧問群, 組成一個專案管理團隊. 顧問群成員來自世界各國, 說是 八國聯軍並不為過.

台灣本地由有經驗的軟體人員建立了影子團隊, 一對一當學徒. 換句話說, 正職的 PM 是老外, 本土的 PM Trainee 當副手; 正職的 QA Manager 是老外, 本土的 QA Manager 當副手; 正職的 SA 是老外 本土的 SA Trainee 當副手; ........

老實說, 老外總會留一手, 不主動告訴你. 公司過去的影子團隊很爭氣, 一個專案還未結束, 總算可以擔綱執行工作了, 並由該影子團隊成員拓展成數個大型軟體開發專案組.

我認為 如果軟體公司願意花錢, 現在在台灣可以找到有經驗的顧問群, 不必像當初由國外引進專家.
作者 : ozzy123(ozzy) 資訊類作業求救卓越專家C++卓越專家貼文超過4000則人氣指數超過30000點
[ 貼文 4464 | 人氣 37262 | 評價 10860 | 評價/貼文 2.43 | 送出評價 49 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2012/9/7 下午 09:05:58
https://users.cs.jmu.edu/bernstdh/web/common/help/stubs-and-drivers.php
drivers& stubs in Java
作者 : ozzy123(ozzy) 資訊類作業求救卓越專家C++卓越專家貼文超過4000則人氣指數超過30000點
[ 貼文 4464 | 人氣 37262 | 評價 10860 | 評價/貼文 2.43 | 送出評價 49 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2012/9/7 下午 09:17:20
http://www.cs.gmu.edu/~mcjunkin/cs112lectures/Stubs.htm
an easy drivers & stubs example in c++
作者 : ozzy123(ozzy) 資訊類作業求救卓越專家C++卓越專家貼文超過4000則人氣指數超過30000點
[ 貼文 4464 | 人氣 37262 | 評價 10860 | 評價/貼文 2.43 | 送出評價 49 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2012/9/7 下午 10:13:45
http://www.cs.odu.edu/~cs333/website-latest/Lectures/unittest/page/unittest.html
作者 : rollboy(roller) 貼文超過200則人氣指數超過10000點
[ 貼文 396 | 人氣 24176 | 評價 370 | 評價/貼文 0.93 | 送出評價 62 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2012/9/8 下午 04:39:20
再次謝謝三位的回應 ...




> please use DDT , Oh no ! is TDD

我是著去品嚐DDT的藥性, ....
說錯了, 是TDD的精神 ...
似乎是 ... 計畫(分析) ... 然後開始設想(實作)例外狀況的處理, 最後才完成主體?
不過這感覺比較像是程式自我保護function, 而非"自動測試"? (或者是換個角度看, 這其實就是一種自動測試的方式?)
而 ... TDD跟code reivew是否有直接關聯?
sorry, 在這幾天我只是急促的試著消化這些概念, 若是我觀念不正確請指正!

> 如果有做過sa/sd, 確認各模組的功能/界面/資料結構都已定義清楚, 然後再交付programmer寫成code, 基本上寫完後就不會再改來改
>去. code review必須建立在此一機制上, 否則不斷變動的code, review就變得沒太大意義了. 若是客戶規格
>變更, 就必須啟動一連串規格變更的機制, 從sa文件一路往下修正, 找出所有會被影響到的模組, 重新改code, 重新code review, 重新測試, 這個變動的代價其實>是很高的. 因此需求收集與分析階段才是最重要的一部份, 開頭不完整或不正確, 後面就會一團亂.

sorry ... 我猜我一開始就沒把情況說清楚(而我也是在拿捏如何發問才不會過度暴露公司狀況) ...
我們在一開始開發的東西比較偏向是 預測性的, 市場還沒到就開始著手研發 ...
在那時期, 我們面對的是對 技術規格/標準 的不清楚, 在懵懵懂懂的狀態下就進行開發 ...
沒有很完整全盤的規劃與分析 ...

而如今看似市場開始有點反應了, 我們變成被市場 schedule 推著走 ...




>不過我想, 貴公司應該都沒做sa/sd吧? 這樣要維持專案程式的品質, 確實會很困難. 但這也不是你一人之力能改變的, 老闆如果沒有那種
>sense, 只會要求加班趕工以便結案賺錢, 這種惡性循環會不斷下去. 老手會不斷地卡在舊案的維護上, 而無力去改變現況, 新案只好交給新
>手來做, 最後結果又是一樣. 想要徹底改變此一情況, 只能用2倍人力, 一批維護舊案, 一批用正規方法重新改造該舊案(要找有經驗的老手
>帶領), 完成後再取代該舊案. 這樣等於是兩次開發, 成本很高, 老闆幾乎都不會同意的...

如我上述的, 現在的壓力已經不是單純自我工作進度的要求了, 我們開始要滿足市場的需求 ...
我猜我老闆不屬於那種只想賺錢不看過程的管理者,
我相信他心中也是在跟 市場壓力 跟 工作改善 之間再做拔河 ...
倒是不管如何, 困擾的應該是頭都洗到一半了 ... 要攻要退都很困擾 ...

另外, 如我所言, 在這種新舊方法交替, 你嘗試去push完整流程時, 是否很容易被拿來做比較 ...
我確信在這過渡時期時, 你可能必須先拿一些"產出"去換一點 "工作方法改善" ...




>每個模組都必須自備一個自我測試的函數, 每當模組要release前, 必須跑一遍該自我測試的函數, 確認沒有問題. 將來在正式測試或
>release後發現有錯誤時, 便回頭檢討該自我測試的函數為何沒檢測出, 然後再強化自我測試的程序. 這樣才能減少維護階段的測試時間
>. 當然, 人機操作界面之類的部份是無法自我測試的.

這一塊我一直搞不清楚, 想請問這裡的工作到底是 ... RD需自己負責, 還是應該要有專門的 "軟體驗證" 人員負責, 或者是 "產品測試" 人員負責?
還是說各自有負責的部份及實行的方法?




>最後, 個人想問的是, 公司既然賦予你管理的任務, 那有沒有給你相對應的權力? 有責無權, 根本無法管理. 例如軟體錯誤率 (即通過自我測
>試函數後, 仍被檢測出的錯誤數), 直接列入考績, 影響年終獎金或月薪等. 這樣才能避免有人打混, 亂寫一個交差了事. 徵人/開除下屬的權
>力也都是必要的, 不過這已是管理學的範圍了 (其實專案管理本來就包含了管"人"與管"事").

權力部分我覺得不是問題, 不過我自認很菜, 對管理實在是沒有什麼經驗,
說出來不怕大家笑, 我其實也剛被分配到帶領不到5人的team霸了 ...
但在我行使這些管理權力之前, 我覺得我應該先同時著手進行方法改善, 讓人感到有說服力/有改善 ...
sorry, 我意思是說, 我大可直接fire人, hire更多人, 但若是團隊內部自身的工作方法沒有改善, 問題等於沒解 ...
不過我猜青杉前輩的重點應該是 "有沒有真正的權力去嚇唬嚇唬member" ?





另外, 在我回應各位的建議時, 突然想到 ...

當各位在初導入這些方法時, 是否可能會無法拿捏平衡點, 造成負面效果?

例如 ..
造成Programmer寫code之前就是一定要先想好99%的例外處理, worst case才願意動手 ... (然後在你發現事情不對時, 出面制止又被反吐槽 O_o? )
又花者花了太多時間在討論系統架構, 在分析系統 ... (在大家搞清楚之前, 大家都不要動手?)
又或者花了太多時間在編寫精美的規格書, 企劃書 ...

又或者變成開發者跟市場, sales, 或者 上層管理者 之間的一個代溝 ... 無法體會或追趕市場的需求或變化, 改變策略 ...

我覺得我好像太囉唆了, 應該要停一下, 好好的回去讀幾本書(或各位提的方法) ... 然後真正開始動手去做!
再次謝謝各位的經驗分享與指導 ...
作者 : ozzy123(ozzy) 資訊類作業求救卓越專家C++卓越專家貼文超過4000則人氣指數超過30000點
[ 貼文 4464 | 人氣 37262 | 評價 10860 | 評價/貼文 2.43 | 送出評價 49 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2012/9/8 下午 05:49:15
似乎是 ... 計畫(分析) ... 然後開始設想(實作)例外狀況的處理, 最後才完成主體?
不過這感覺比較像是程式自我保護function, 而非"自動測試"? (或者是換個角度看, 這其實就是一種自動測試的方式?)
而 ... TDD跟code reivew是否有直接關聯?
sorry, 在這幾天我只是急促的試著消化這些概念, 若是我觀念不正確請指正!

TDD means Test driven development , please refer to this link - http://en.wikipedia.org/wiki/Test-driven_development
作者 : ozzy123(ozzy) 資訊類作業求救卓越專家C++卓越專家貼文超過4000則人氣指數超過30000點
[ 貼文 4464 | 人氣 37262 | 評價 10860 | 評價/貼文 2.43 | 送出評價 49 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2012/9/8 下午 07:20:43
http://www.concordion.org/
automated testing fwk for TDD
作者 : ozzy123(ozzy) 資訊類作業求救卓越專家C++卓越專家貼文超過4000則人氣指數超過30000點
[ 貼文 4464 | 人氣 37262 | 評價 10860 | 評價/貼文 2.43 | 送出評價 49 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2012/9/8 下午 07:31:51
https://github.com/sebastianbergmann/phpunit/

a tdd fwk - phpunit in git
作者 : ozzy123(ozzy) 資訊類作業求救卓越專家C++卓越專家貼文超過4000則人氣指數超過30000點
[ 貼文 4464 | 人氣 37262 | 評價 10860 | 評價/貼文 2.43 | 送出評價 49 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2012/9/8 下午 07:39:39
and this is an article that gives a simple example about how to set up fixure and tear down it . Check it out !
http://phpmaster.com/getting-started-with-phpunit/
作者 : ozzy123(ozzy) 資訊類作業求救卓越專家C++卓越專家貼文超過4000則人氣指數超過30000點
[ 貼文 4464 | 人氣 37262 | 評價 10860 | 評價/貼文 2.43 | 送出評價 49 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2012/9/8 下午 09:25:01
or this is a lecture that introduces android testing (TDD) .
http://dtmilano.blogspot.tw/2011/08/linuxcon-2011-north-america.html
作者 : ozzy123(ozzy) 資訊類作業求救卓越專家C++卓越專家貼文超過4000則人氣指數超過30000點
[ 貼文 4464 | 人氣 37262 | 評價 10860 | 評價/貼文 2.43 | 送出評價 49 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2012/9/8 下午 09:58:23
>每個模組都必須自備一個自我測試的函數, 每當模組要release前, 必須跑一遍該自我測試的函數, 確認沒有問題. 將來在正式測試或
>release後發現有錯誤時, 便回頭檢討該自我測試的函數為何沒檢測出, 然後再強化自我測試的程序. 這樣才能減少維護階段的測試時間
>. 當然, 人機操作界面之類的部份是無法自我測試的.

這一塊我一直搞不清楚, 想請問這裡的工作到底是 ... RD需自己負責, 還是應該要有專門的 "軟體驗證" 人員負責, 或者是 "產品測試" 人員負責?
還是說各自有負責的部份及實行的方法?

> Basically , a well-organized software development firm should owns SQA department. Its responsibilities are to validate the quality of software products. SQA's tasks include inspection , walk through , audit , test , CM , change control , contract review , ...
Software test should be an independent department , but it still communicate with other departments. In general , software test team should define various software test levels , such as system test , acceptance test , integration test , unit test , white box test , load test , stress test , automated test , ..... these are some tests that make sure the quality of software.
作者 : fcwang(fortran) 程式設計甘苦談優秀好手貼文超過200則
[ 貼文 231 | 人氣 2831 | 評價 2440 | 評價/貼文 10.56 | 送出評價 6 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2012/9/9 下午 10:07:27

>
>這一塊我一直搞不清楚, 想請問這裡的工作到底是 ... RD需自己負責, 還是應該要有專門的 '軟體驗證' 人員負責, 或者是 '產品測試' 人員負責?
>還是說各自有負責的部份及實行的方法?

依你所提供的資訊, 貴公司似乎是製造業. 生產線上的 QA 部門 與 軟體開發的 QA, 技術上是不同的領域. 所以讓你一直困惑.

個人的經驗所經歷的情況, 可供你參考.

軟體開發專案的管理者 PM 底下應有一至數個 開發小組 {SW Developing Team) 向 PM 負責, 另外有 一個 QA Team 也向 PM 負責.

QA Team 在專案 一開始 就參與開會, 瞭解功能需求, 系統設計接近完成時, QA Team 依據各種功能與非功能(例如安全性)的特點 (Aspect) 開始 設計 Test Case 與 Test Scenario.

開發小組產出的程式 必須自行做 Unit Test, Whitebox Test .. , 然後交給 QA Team 執行功能測試與整合測試, 依據執行 Test Case 的結果認定 Pass 或 Fail, 做成測試報告交給 PM.

如果 開發小組產出的程式交由 QA Team 測試結果不理想時, 對開發小組的績效, 當然有影響. 所以開發小組對自己產出的程式要有一定程度的品質.

QA Team 必須將所有的 Bug列入追蹤, 並要求開發小組限期完成, 必要時兩天開一次會, 討論除錯的進度與下一個 版本(Version for testing) 的完成時程.

開發小組的壓力必須等到發現 Bug 的速率遠低於除去 Bug 的速率時, 才能 喘一口氣. 這時候開發小組的軟體才有資格談正式 Release (Version for release)的時程.

QA Team 的 member (tester 除外) 必須有相當的 軟體設計經驗才會設計Test Case 與 Test Scenario. 這不是一般生產線上的 QA 部門所擁有的技能.

TDD 其實就是 先依據功能規範書, 以程式設計出每個功能的 Test Case.

另外以個人的經驗, 給你一個建議. 開發小組的 Leader 必須能頂得住壓力(必要時要你的老板替你頂), 依自己訂定的時程幹活(但是必須建立自己的信譽如期完成) , 否則工作會亂無章法, 反而一事無成.
作者 : ozzy123(ozzy) 資訊類作業求救卓越專家C++卓越專家貼文超過4000則人氣指數超過30000點
[ 貼文 4464 | 人氣 37262 | 評價 10860 | 評價/貼文 2.43 | 送出評價 49 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2012/9/9 下午 10:21:24
造成Programmer寫code之前就是一定要先想好99%的例外處理, worst case才願意動手 ... (然後在你發現事情不對時, 出面制止又被反吐槽 O_o? )
又花者花了太多時間在討論系統架構, 在分析系統 ... (在大家搞清楚之前, 大家都不要動手?)
又或者花了太多時間在編寫精美的規格書, 企劃書 ...

> if your team is a mature & disciplined software development , those are necessary & important.
According to survey , many errors have been occurred in software requirement analysis , architecture & system design phases.
Many software team don't like to write specification even they don't know how to write a good enough specification. I can tell it is a serious problem and it will prone a fault. Writing specification is a very good training and it can train you how to analysis. This is important for you in the future. If there is someone said : writing specification is unless and waste time , he maybe just do some very small "programs" , not systems. Software engineering is very important if you want to develop a large and good systems; otherwise, why can Microsoft develop windows ? just several programmers , analysts , architects .... Now Microsoft uses agile development process - http://www.microsoft.com/security/sdl/discover/sdlagile.aspx
作者 : ozzy123(ozzy) 資訊類作業求救卓越專家C++卓越專家貼文超過4000則人氣指數超過30000點
[ 貼文 4464 | 人氣 37262 | 評價 10860 | 評價/貼文 2.43 | 送出評價 49 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2012/9/9 下午 10:42:34
http://agile.csc.ncsu.edu/SEMaterials/UseCaseRequirements.pdf
http://www.ibm.com/developerworks/rational/library/dec04/behrens/
http://www.usability.gov/methods/usecases.html
http://alistair.cockburn.us/Basic+use+case+template - Use case's expert
作者 : ozzy123(ozzy) 資訊類作業求救卓越專家C++卓越專家貼文超過4000則人氣指數超過30000點
[ 貼文 4464 | 人氣 37262 | 評價 10860 | 評價/貼文 2.43 | 送出評價 49 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2012/9/11 上午 01:08:05
http://cs.pugetsound.edu/~jross/courses/csci240/resources/IEEE%20Std%20829-2008.pdf
revised version
作者 : rollboy(roller) 貼文超過200則人氣指數超過10000點
[ 貼文 396 | 人氣 24176 | 評價 370 | 評價/貼文 0.93 | 送出評價 62 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2012/9/11 上午 01:34:07
>> if your team is a mature & disciplined software development , those are necessary & important.
>According to survey , many errors have been occurred in software requirement analysis , architecture & system design phases.
>Many software team don't like to write specification even they don't know how to write a good enough specification. I can tell it is a serious problem and it will prone a fault. Writing specification is a very good training and it can train you how to analysis. This is important for you in the future. If there is someone said : writing specification is unless and waste time , he maybe just do some very small 'programs' , not systems. Software engineering is very important if you want to develop a large and good systems; otherwise, why can Microsoft develop windows ? just several programmers , analysts , architects .... Now Microsoft uses agile development process - http://www.microsoft.com/security/sdl/discover/sdlagile.aspx
>

Hi Ozzy, 現在我又疑惑了 ...

我們才在講文件及流程的重要性 ... 結果現在又蹦出 敏捷式開發 了 ...
為什麼我覺得敏捷式開發的重點像是 "不要廢話, 趕快做就對了(但要做對)" !?
而且感覺team內都是要高手的感覺 ...

那還搞不搞事前架構分析和document呢?

還有, 請問針對文件方面, 該具備哪些呢? 文件分類又有哪些 ...
我只知道軟體規格書, 但不知道其重點應該包括哪些?
是否應完全包含, 開發構想, 架構圖, 系統/程式流程, 驗證方法, 及系統關鍵function的闡明之類的?
或者是上述的項目都有其各自的document該寫?

有任何關鍵字或不錯的sample可以參考呢?

先謝謝你的回覆, 也謝謝你讓我從你身上挖寶 ...
作者 : ozzy123(ozzy) 資訊類作業求救卓越專家C++卓越專家貼文超過4000則人氣指數超過30000點
[ 貼文 4464 | 人氣 37262 | 評價 10860 | 評價/貼文 2.43 | 送出評價 49 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2012/9/11 下午 12:56:33

>還有, 請問針對文件方面, 該具備哪些呢? 文件分類又有哪些 ...
SRS , pls visit his site , http://www.processimpact.com/
>我只知道軟體規格書, 但不知道其重點應該包括哪些?
>是否應完全包含, 開發構想, 架構圖, 系統/程式流程, 驗證方法, 及系統關鍵function的闡明之類的?
>或者是上述的項目都有其各自的document該寫?
> sure , SRS (requirements) , STD ( test ) , SCM ( Configuration Management ) , SDD ( architecture ) , SMP ( maintenance ) , software reviews , requirement change , ....
>有任何關鍵字或不錯的sample可以參考呢?
> find related resources via searching above words
IEEE - SRS , 830
http://www.math.uaa.alaska.edu/~afkjm/cs401/IEEE830.pdf
http://www.processimpact.com/ or buy his book on amazon , http://www.amazon.com/Software-Requirements-2-Karl-Wiegers/dp/0735618798/ref=sr_1_2?ie=UTF8&qid=1347338568&sr=8-2&keywords=write+srs
IEEE - STD , 829
http://www.the-software-tester.com/TemplateDownloads/Software%20Test%20Plan%20Template.pdf
http://www.shellmethod.com/projs/bots/architecture/cust/4-development/BOTS-CUST-STP.pdf
http://www.computing.dcu.ie/~davids/courses/CA267/ieee829mtp.pdf
http://bazman.tripod.com/frame.html
http://wwwis.win.tue.nl/2R690/projects/spingrid/itp.pdf - ITP , you may see this is a top down test plan (driver)
http://www.cs.ucr.edu/~ciardo/teaching/CS179K/TestPlan.pdf
IEEE - SCM , 828
finding it by searching word "SCM"
IEEE - SPMP , 1058
same as above
IEEE - SDD , 1016
http://userfs.cec.wustl.edu/~cse528/SPMPReport05.pdf
http://blogs.microsoft.co.il/blogs/eranruso/archive/2010/04/25/how-to-do-a-software-design-description-sdd-with-architecture-tools-in-visual-studio-2010.aspx
http://www.bradapp.com/docs/sdd.html - SDD template
http://senior.ceng.metu.edu.tr/2011/groupteaplet/docs/Software-Design-Descriptions-Detailed.pdf
and other documents ... but
作者 : ozzy123(ozzy) 資訊類作業求救卓越專家C++卓越專家貼文超過4000則人氣指數超過30000點
[ 貼文 4464 | 人氣 37262 | 評價 10860 | 評價/貼文 2.43 | 送出評價 49 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2012/9/12 下午 12:15:24
造成Programmer寫code之前就是一定要先想好99%的例外處理, worst case才願意動手 ... (然後在你發現事情不對時, 出面制止又被反吐槽 O_o? )

> this is the system analysis phase - you may refer to his site for use case template , http://alistair.cockburn.us/Basic+use+case+template
http://tynerblain.com/blog/2007/04/09/sample-use-case-example/
http://epf.eclipse.org/wikis/openup/practice.tech.use_case_driven_dev.base/guidances/practices/use_case_driven_dev_practice_64D20777.html

alternative flows means once any exception occurs , how system works ( actor is system )

Use case writing can help you analysis system's requirements and you may use them design test cases for system test
http://www.computer.org/csdl/trans/ts/2006/03/e0140-abs.html
作者 : ozzy123(ozzy) 資訊類作業求救卓越專家C++卓越專家貼文超過4000則人氣指數超過30000點
[ 貼文 4464 | 人氣 37262 | 評價 10860 | 評價/貼文 2.43 | 送出評價 49 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2012/9/13 上午 10:40:35
http://www.ibm.com/developerworks/rational/library/04/r-3217/
作者 : ozzy123(ozzy) 資訊類作業求救卓越專家C++卓越專家貼文超過4000則人氣指數超過30000點
[ 貼文 4464 | 人氣 37262 | 評價 10860 | 評價/貼文 2.43 | 送出評價 49 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2012/9/13 上午 10:47:32
http://www.allaboutrequirements.com/2011/10/test-cases-based-on-use-cases.html
作者 : rollboy(roller) 貼文超過200則人氣指數超過10000點
[ 貼文 396 | 人氣 24176 | 評價 370 | 評價/貼文 0.93 | 送出評價 62 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2012/9/18 上午 12:19:12
感覺Ozzy前輩似乎偏向 敏捷式 開發的方式!?

這幾一天一直研究敏捷式開發的概念(與其說是研究, 說穿了只是google一些資料罷了)

只是還是抓不太注敏捷式開發的精隨 ...

且執行上又細分很多種方式 ...

目前列入敏捷方法的有:
軟體開發之韻,Software Development Rhythms
敏捷數據庫技術,AD/Agile Database Techniques
敏捷建模,AM/Agile Modeling
自適應軟體開發,ASD/Adaptive Software Development
水晶方法,Crystal
特性驅動開發,FDD/Feature Driven Development
動態系統開發方法,DSDM/Dynamic Systems Development Method
精益軟體開發,Lean Software Development
AUP(Agile Unified Process)
Scrum
XBreed
極限編程,XP Extreme Programming
探索性測試

這些是Wiki來的, 其中好像Scrum特別盛行?
看的我霧煞煞!


個人覺得敏捷式開發好像很容易導入, 尤其針對小團隊!?
不過我還是懵懵懂懂就是了 ...

Scrum 那個 Task Board(工作版)概念真不錯, 直接了當!把該做的事簡單扼要的就直接列下來!



不知道 Ozzy 前輩是否熟敏捷式開發呢!?
想知道就敏捷式開發的方式, 一些軟體開發的文件不知道該做到什麼程度?

再次謝謝指教!
作者 : ozzy123(ozzy) 資訊類作業求救卓越專家C++卓越專家貼文超過4000則人氣指數超過30000點
[ 貼文 4464 | 人氣 37262 | 評價 10860 | 評價/貼文 2.43 | 送出評價 49 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2012/9/18 上午 10:16:32
pls refer to following blogs about agile development
http://ihower.tw/blog/
http://terenceleu.blog.ithome.com.tw/post/213/1004
http://takeshi-experience.blogspot.tw/2012/01/blog-post.html
http://fannys23.pixnet.net/blog/post/26471018-%5Bconf.%5D-%E5%BE%9E%E9%80%99%E8%A3%A1%E9%96%8B%E5%A7%8B%E8%AA%8D%E8%AD%98%E6%95%8F%E6%8D%B7%E9%96%8B%E7%99%BC%EF%BC%9Aezscrum - a tool which utilizes scrum concepts
 
no. I am not familiar to agile development process.
Writing a good and complete specification is very important for a good software team ; otherwise , the cost of maintaining and developing software is high and wast time .

作者 : ozzy123(ozzy) 資訊類作業求救卓越專家C++卓越專家貼文超過4000則人氣指數超過30000點
[ 貼文 4464 | 人氣 37262 | 評價 10860 | 評價/貼文 2.43 | 送出評價 49 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2012/9/18 下午 07:25:14
http://en.wikipedia.org/wiki/List_of_software_development_philosophies
various software development processes and methodologies

http://en.wikipedia.org/wiki/Microsoft_Solutions_Framework
MSF agile
one of agile development process characteristics is replacing specification by use cases or storytelling.
if you don't want to write specification , maybe it is a good way for you.
how many docs are enough for you ? Who knows ? Maybe it will depend on your requirements.
if you want to write formal software documents , you may visit the site learn more information about software engineering related documents , http://standards.ieee.org/
But I may tell you any software documents just define those principles and processes or development methodologies . If you don't follow and execute their rules , they will be useless.
作者 : ozzy123(ozzy) 資訊類作業求救卓越專家C++卓越專家貼文超過4000則人氣指數超過30000點
[ 貼文 4464 | 人氣 37262 | 評價 10860 | 評價/貼文 2.43 | 送出評價 49 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2012/9/20 上午 11:15:50
an article about waterfall & agile -http://www.cmswire.com/cms/web-cms/web-development-methodologies-agile-vs-waterfall-012266.php
作者 : ozzy123(ozzy) 資訊類作業求救卓越專家C++卓越專家貼文超過4000則人氣指數超過30000點
[ 貼文 4464 | 人氣 37262 | 評價 10860 | 評價/貼文 2.43 | 送出評價 49 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2012/9/20 下午 02:24:55
http://www.coleyconsulting.co.uk/from-waterfall-to-v-model.htm V&V
作者 : ozzy123(ozzy) 資訊類作業求救卓越專家C++卓越專家貼文超過4000則人氣指數超過30000點
[ 貼文 4464 | 人氣 37262 | 評價 10860 | 評價/貼文 2.43 | 送出評價 49 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2012/9/21 下午 10:19:06
A quest , how to write a function that accepts two parameters , e.g. a , b and returns their sum. But you can't use arithmetic operators ( + , - ,*, / ) to evaluate their result.
Query , how to design this routine ?
作者 : rollboy(roller) 貼文超過200則人氣指數超過10000點
[ 貼文 396 | 人氣 24176 | 評價 370 | 評價/貼文 0.93 | 送出評價 62 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2012/9/23 下午 07:59:45
Hi Ozzy

不好意思, 不懂為何突然問這問題??
是要我回答嗎!?

不過覺得挺有趣, 所以也乾脆嘗試了一下 ...

unsigned int sum(unsigned int a, unsigned int b)
{
    unsigned int carry;
    unsigned int accumulate;

    while(a & b){
     carry = ((a & b) << 1);
     accumulate = (a ^ b);
     a = carry;
     b = accumulate;
    };

    return (a | b);
}


>A quest , how to write a function that accepts two parameters , e.g. a , b and returns their sum. But you can't use arithmetic operators ( + , - ,*, / ) to evaluate their result.
>Query , how to design this routine ?
作者 : rollboy(roller) 貼文超過200則人氣指數超過10000點
[ 貼文 396 | 人氣 24176 | 評價 370 | 評價/貼文 0.93 | 送出評價 62 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2012/9/23 下午 08:01:36
不過上式只考慮正整數情況下就是了 ...
作者 : ozzy123(ozzy) 資訊類作業求救卓越專家C++卓越專家貼文超過4000則人氣指數超過30000點
[ 貼文 4464 | 人氣 37262 | 評價 10860 | 評價/貼文 2.43 | 送出評價 49 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2012/9/23 下午 09:17:05
just a question . This is an interview question from a famous IT firm. you should think about any integral numbers.
作者 : ozzy123(ozzy) 資訊類作業求救卓越專家C++卓越專家貼文超過4000則人氣指數超過30000點
[ 貼文 4464 | 人氣 37262 | 評價 10860 | 評價/貼文 2.43 | 送出評價 49 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2012/9/23 下午 09:31:50
if you want to understand software engineering , i suggest you should work abroad ( some big IT firms ). You should understand and learn more software development processes and methodologies. it is useful if you wan to manage big and complex software development projects. because it is a practice .
作者 : rollboy(roller) 貼文超過200則人氣指數超過10000點
[ 貼文 396 | 人氣 24176 | 評價 370 | 評價/貼文 0.93 | 送出評價 62 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2012/9/23 下午 10:12:02
to Ozzy:

所以我沒有通過測驗了嗎? ~_~
哈 ...


出國工作這件事啊, 以前完全沒有過這種念頭
一是因為成長環境, 二是因為我過去實在不是那種品學兼優的學生.
讀書讀不贏別人, coding又比不上那些真正的高手 ...

自認離頂尖還很遠, 只是憑藉著一點興趣霸了 ...
作者 : rollboy(roller) 貼文超過200則人氣指數超過10000點
[ 貼文 396 | 人氣 24176 | 評價 370 | 評價/貼文 0.93 | 送出評價 62 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2012/9/23 下午 10:14:05
oh, sorry, 上面回覆的重點在於 ...
像我這種程度/學歷的, 很難進的了大公司 ..
更別說到國外的大公司了 ....
作者 : ozzy123(ozzy) 資訊類作業求救卓越專家C++卓越專家貼文超過4000則人氣指數超過30000點
[ 貼文 4464 | 人氣 37262 | 評價 10860 | 評價/貼文 2.43 | 送出評價 49 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2012/9/23 下午 10:41:42
if you can work abroad , I think you can learn more software development processes and skills. they are helpful. Because taiwan IT firms don't care formal software engineering or development processes , you can't understand their benefits. Almost taiwan firms just undertake ODM/OEM businesses . those systems have been implemented and those employees just modify the codes . they don't understand how to implement and construct a complex software systems. Software engineering is a practice. if you want to design a good software system , it is very important. But you are hard to understand it in tw's high tech firms. Because you just modify those codes , not implement and construct it . For an example , software test is a profession , but tw's software testers don't know how to test a software system and a few guys know test plan writing. this my opinion.
作者 : rollboy(roller) 貼文超過200則人氣指數超過10000點
[ 貼文 396 | 人氣 24176 | 評價 370 | 評價/貼文 0.93 | 送出評價 62 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2012/9/23 下午 10:50:35
Hi Ozzy:

我行李打包好了, 請問什麼時候開始上班!?

呵, just kidding ...
再次謝謝你的分享.
作者 : rollboy(roller) 貼文超過200則人氣指數超過10000點
[ 貼文 396 | 人氣 24176 | 評價 370 | 評價/貼文 0.93 | 送出評價 62 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2012/9/24 上午 11:09:55
話說上面的code, 多打了一個 ; 符號了 ... lol
作者 : rollboy(roller) 貼文超過200則人氣指數超過10000點
[ 貼文 396 | 人氣 24176 | 評價 370 | 評價/貼文 0.93 | 送出評價 62 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2012/9/24 下午 11:34:22
int sum(int a, int b)
{
    int carry;
    int accumulate;

    while(a & b){
     carry = ((a & b) << 1);
     accumulate = (a ^ b);
     a = carry;
     b = accumulate;
    };

    return (a | b);
}

直接改成signed integer也可以耶! 賺到! =b
但不考慮溢位問題! ...
作者 : rollboy(roller) 貼文超過200則人氣指數超過10000點
[ 貼文 396 | 人氣 24176 | 評價 370 | 評價/貼文 0.93 | 送出評價 62 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2012/9/24 下午 11:38:21
那個多出來的 "; "符號還是忘記移除了 ...
作者 : ozzy123(ozzy) 資訊類作業求救卓越專家C++卓越專家貼文超過4000則人氣指數超過30000點
[ 貼文 4464 | 人氣 37262 | 評價 10860 | 評價/貼文 2.43 | 送出評價 49 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2012/9/25 下午 04:29:38
and another question , write a function that convert integer A to integer B by changing several bits
作者 : rollboy(roller) 貼文超過200則人氣指數超過10000點
[ 貼文 396 | 人氣 24176 | 評價 370 | 評價/貼文 0.93 | 送出評價 62 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2012/9/25 下午 06:18:40
糟糕, 這題連題目都看不懂了 ~_~
作者 : ozzy123(ozzy) 資訊類作業求救卓越專家C++卓越專家貼文超過4000則人氣指數超過30000點
[ 貼文 4464 | 人氣 37262 | 評價 10860 | 評價/貼文 2.43 | 送出評價 49 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2012/9/25 下午 07:01:24
for an example, given two numbers a and b , a = 5 , b = 7 . The binary representations of them are 0101 and 0111 . how to convert a to b by changing several bits ? that means we just need to change bit a1. ( 0 to 1 )
作者 : rollboy(roller) 貼文超過200則人氣指數超過10000點
[ 貼文 396 | 人氣 24176 | 評價 370 | 評價/貼文 0.93 | 送出評價 62 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2012/9/25 下午 07:18:17
重點應該是我不清楚這裡的"convert"的意思.

直接a = b;好了 ... :D
作者 : fcwang(fortran) 程式設計甘苦談優秀好手貼文超過200則
[ 貼文 231 | 人氣 2831 | 評價 2440 | 評價/貼文 10.56 | 送出評價 6 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2012/9/25 下午 07:43:52
a .XOR. b .XOR. a
作者 : ozzy123(ozzy) 資訊類作業求救卓越專家C++卓越專家貼文超過4000則人氣指數超過30000點
[ 貼文 4464 | 人氣 37262 | 評價 10860 | 評價/貼文 2.43 | 送出評價 49 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2012/9/25 下午 09:36:22
Question , see the following codes .
int a =1 ;
void foo(void) {

from:
 if ( a ==1) goto from ;
 else
 break ;

}

it causes a infinite loop ( execute forever ... ) how can we use a little skill to resolve it ? (ps. the above is C codes )
作者 : rollboy(roller) 貼文超過200則人氣指數超過10000點
[ 貼文 396 | 人氣 24176 | 評價 370 | 評價/貼文 0.93 | 送出評價 62 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2012/9/25 下午 10:29:54
題目怎麼越來越惡搞了!?
我的compiler告訴我必須要在loop或switch case內才可使用 "break"!


>Question , see the following codes .
>int a =1 ;
>void foo(void) {
>
>from:
> if ( a ==1) goto from ;
> else
> break ;
>
>}
>
>it causes a infinite loop ( execute forever ... ) how can we use a little skill to resolve it ? (ps. the above is C codes )
作者 : ozzy123(ozzy) 資訊類作業求救卓越專家C++卓越專家貼文超過4000則人氣指數超過30000點
[ 貼文 4464 | 人氣 37262 | 評價 10860 | 評價/貼文 2.43 | 送出評價 49 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2012/9/26 下午 08:38:39
hint : the above codes cause an infinite loop. you watch assembly codes after enabling optimization function and you will know how to handle this issue. :-)
作者 : rollboy(roller) 貼文超過200則人氣指數超過10000點
[ 貼文 396 | 人氣 24176 | 評價 370 | 評價/貼文 0.93 | 送出評價 62 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2012/9/27 上午 12:08:04
但是第一個問題是語法錯誤!?
還是我幹了什麼蠢事了@_@?

那我先假設Compiler可能會把 if(a==1) goto from:
變成 from: jmp from ... 那直接改成nop nop 好了 ... :D
不然把jmp from的address offset改掉?

換我在惡搞了 ...

>hint : the above codes cause an infinite loop. you watch assembly codes after enabling optimization function and you will know how to handle this issue. :-)
作者 : rollboy(roller) 貼文超過200則人氣指數超過10000點
[ 貼文 396 | 人氣 24176 | 評價 370 | 評價/貼文 0.93 | 送出評價 62 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2012/9/27 上午 01:23:19
關於上述問題,
第一個是語法怪怪的 ...
第二個是, 應該要直接把C code改正才對
第三個, 如果只拿到binary, 那就靠OllyDbg或IDA直接改instruction或opcode ...
第四個, 也許我想太多了, 完全會錯意了 ... lol
作者 : ozzy123(ozzy) 資訊類作業求救卓越專家C++卓越專家貼文超過4000則人氣指數超過30000點
[ 貼文 4464 | 人氣 37262 | 評價 10860 | 評價/貼文 2.43 | 送出評價 49 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2012/9/27 上午 08:07:13
the above codes cause an infinite loop. you watch assembly codes after enabling optimization function , this is a hint.
You may check two versions , one is disabling optimization and the other is enabling optimization. Then you may watch their differences between them . But you must compile the above codes successfully. Basically , the above codes hasn't any syntax errors. So you should find a compiler which complies them successfully then follow above hints and observe their differences between in assembly codes . that's that
作者 : rollboy(roller) 貼文超過200則人氣指數超過10000點
[ 貼文 396 | 人氣 24176 | 評價 370 | 評價/貼文 0.93 | 送出評價 62 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2012/9/27 下午 12:04:48
Break is used within loops and switch statements to jump to the end of the code block.

我糊塗了 ... :(
作者 : ozzy123(ozzy) 資訊類作業求救卓越專家C++卓越專家貼文超過4000則人氣指數超過30000點
[ 貼文 4464 | 人氣 37262 | 評價 10860 | 評價/貼文 2.43 | 送出評價 49 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2012/9/27 下午 02:04:17
so your compiler has been told the issue. try to disable the optimization function and obverse its codes .
作者 : rollboy(roller) 貼文超過200則人氣指數超過10000點
[ 貼文 396 | 人氣 24176 | 評價 370 | 評價/貼文 0.93 | 送出評價 62 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2012/9/27 下午 05:05:25
Hi Ozzy:

先讓我說明清楚 ...

第一個是在標準C語法下, 這樣的syntax應該是不正確的!?
我使用的是gcc compiler, 我只是很單純打上gcc xxx.c 就無法通過編繹了!

雖然說這應該是個 "考題", 但我實在無法了解原始 程式碼 的語法.

nt a =1 ;
void foo(void) {

from:
 if ( a ==1) goto from ;
 else
 break ;

}

http://c.comsci.us/syntax/statement/break.html
break
The break statement skips the remaining statements in the body of a switch statement, and continues with the statement following the switch statement.
The break statement skips the remaining statements in the body of a loop, and continues with the statement following the loop.

我提的不是因為compiler告訴我該這樣做, 而是C語法本身就不允許這樣做.

如果觀念有錯, 請指正, 謝謝:D

>so your compiler has been told the issue. try to disable the optimization function and obverse its codes .
作者 : ozzy123(ozzy) 資訊類作業求救卓越專家C++卓越專家貼文超過4000則人氣指數超過30000點
[ 貼文 4464 | 人氣 37262 | 評價 10860 | 評價/貼文 2.43 | 送出評價 49 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2012/9/28 上午 12:04:13
http://gcc.gnu.org/onlinedocs/gcc-3.2/gcc/Optimize-Options.html
gcc optimization option levels
作者 : rollboy(roller) 貼文超過200則人氣指數超過10000點
[ 貼文 396 | 人氣 24176 | 評價 370 | 評價/貼文 0.93 | 送出評價 62 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2012/9/28 上午 12:13:47
Hi Ozzy:

Yes, 我試過使用-O0 或 -O3, 但第一個問題還是一樣是syntax錯誤!
難道其中有詐!?

話說現在怎麼又變成compiler研究討論了 lol


>http://gcc.gnu.org/onlinedocs/gcc-3.2/gcc/Optimize-Options.html
>gcc optimization option levels
作者 : ozzy123(ozzy) 資訊類作業求救卓越專家C++卓越專家貼文超過4000則人氣指數超過30000點
[ 貼文 4464 | 人氣 37262 | 評價 10860 | 評價/貼文 2.43 | 送出評價 49 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2012/9/28 上午 10:47:30
find other compilers and compile it successfully , then adjust its optimization option . try and think again :-)
作者 : rollboy(roller) 貼文超過200則人氣指數超過10000點
[ 貼文 396 | 人氣 24176 | 評價 370 | 評價/貼文 0.93 | 送出評價 62 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2012/9/29 上午 02:21:21
to Ozzy:

from:
 if ( a ==1) goto from ;
 else
 break

我試過gcc, visual c, turbo c, 一樣會因語法問題無法完成編譯.
不知道你的原意會不會應該只是 from: if ( a ==1) goto from ;
而你多打了else break; ? ... :-(

如我所說, C語法本身就應該不允許這樣使用break了!?
作者 : rollboy(roller) 貼文超過200則人氣指數超過10000點
[ 貼文 396 | 人氣 24176 | 評價 370 | 評價/貼文 0.93 | 送出評價 62 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2012/9/29 上午 02:38:18
然後必須更正我之前錯誤的說法!

礙於int a = 1; 並非是 "常數", 所以compiler並不會直接把他編譯成xxx: jmp xxx
但若是開啟了optimize選項時, 且變數a宣告成const int a = 1, 就真的會直接xxx: jmp xxx了

不過我還是搞不懂問題重點!?

by the way, 不知道在這又問又答的不知道會不會造成 討論區資源浪費 !?
作者 : rollboy(roller) 貼文超過200則人氣指數超過10000點
[ 貼文 396 | 人氣 24176 | 評價 370 | 評價/貼文 0.93 | 送出評價 62 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2012/10/1 下午 03:21:47
To Ozzy:

sorry, 怕造成你誤會, 以為我在抗議你問的問題 ...

我這樣講是怕大家認為我們 不該在這展開 這些 "coding skill問答集"

thanks

>by the way, 不知道在這又問又答的不知道會不會造成 討論區資源浪費 !?
作者 : ozzy123(ozzy) 資訊類作業求救卓越專家C++卓越專家貼文超過4000則人氣指數超過30000點
[ 貼文 4464 | 人氣 37262 | 評價 10860 | 評價/貼文 2.43 | 送出評價 49 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2012/10/1 下午 07:31:38
okay. in order to avoid waste resources . the goal of codes is test how to use the keyword - violate. that's that
作者 : rollboy(roller) 貼文超過200則人氣指數超過10000點
[ 貼文 396 | 人氣 24176 | 評價 370 | 評價/貼文 0.93 | 送出評價 62 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2012/10/1 下午 08:12:06
所以你只是要說在optimize情況下, 如何避免compiler把C code變成 xxx: jmp xxx? :D

然後所以我是在 第三關 被刷掉面試了嗎!? 嘿 ...

>okay. in order to avoid waste resources . the goal of codes is test how to use the keyword - violate. that's that
作者 : rollboy(roller) 貼文超過200則人氣指數超過10000點
[ 貼文 396 | 人氣 24176 | 評價 370 | 評價/貼文 0.93 | 送出評價 62 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2012/10/2 上午 04:26:15
還有, 我猜Ozzy前輩要提的重點是, 有時int a這變數可能會被外部access, 又例如HW本身的改變, 所以需宣告volatile來告訴compiler不要自己為該變數永遠都不會改變! :D
作者 : ozzy123(ozzy) 資訊類作業求救卓越專家C++卓越專家貼文超過4000則人氣指數超過30000點
[ 貼文 4464 | 人氣 37262 | 評價 10860 | 評價/貼文 2.43 | 送出評價 49 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2012/10/4 下午 02:25:33
when you enable optimization option of compiler , the above codes will generate an optimal codes ( IR , intermediate representational form ). It maybe causes an infinite loop

from:
if (true) goto from ;
else
 break ;
if we want to stop the infinite loop issue and use a very easy to resolve this issue ,that is , using violate keyword. that's that



作者 : rollboy(roller) 貼文超過200則人氣指數超過10000點
[ 貼文 396 | 人氣 24176 | 評價 370 | 評價/貼文 0.93 | 送出評價 62 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2012/10/4 下午 09:17:24
是的, 我了解你問的問題了!
我曾犯過這種錯:D

所以下一步是!? :D


>when you enable optimization option of compiler , the above codes will generate an optimal codes ( IR , intermediate representational form ). It maybe causes an infinite loop
>
>from:
>if (true) goto from ;
>else
> break ;
>if we want to stop the infinite loop issue and use a very easy to resolve this issue ,that is , using violate keyword. that's that
>
>
>
>
作者 : ozzy123(ozzy) 資訊類作業求救卓越專家C++卓越專家貼文超過4000則人氣指數超過30000點
[ 貼文 4464 | 人氣 37262 | 評價 10860 | 評價/貼文 2.43 | 送出評價 49 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2012/10/6 上午 10:34:36
A good quality software system that should come from a good software configuration management.
SCM provides the means to manage software processes in a structured , orderly and productive manager.
Basically , SCM provides various functionality for support , control , and service to the organization.
SCM consists of some components , such as managing changes request , compile and build process , tracking and bugs fixing , distribution of changes , ... .
作者 : rollboy(roller) 貼文超過200則人氣指數超過10000點
[ 貼文 396 | 人氣 24176 | 評價 370 | 評價/貼文 0.93 | 送出評價 62 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2012/10/7 上午 02:31:16
我怎麼快要有一夜白髮的感覺!?

想請問為什麼又突然提到SCM了 ...
又 ... SCM感覺實在描述的很籠統, 跟 軟體工程 又有何差異?

>A good quality software system that should come from a good software configuration management.
>SCM provides the means to manage software processes in a structured , orderly and productive manager.
>Basically , SCM provides various functionality for support , control , and service to the organization.
>SCM consists of some components , such as managing changes request , compile and build process , tracking and bugs fixing , distribution of changes , ... .
作者 : ozzy123(ozzy) 資訊類作業求救卓越專家C++卓越專家貼文超過4000則人氣指數超過30000點
[ 貼文 4464 | 人氣 37262 | 評價 10860 | 評價/貼文 2.43 | 送出評價 49 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2012/10/7 下午 01:17:14
scm is a domain in software engineering. it is an important part in software engineering. When a system is a very highly quality , huge and complex , its functionality become very important. SCM doesn't mean SVC ( Source version Control ). it includes many parts and exists closed relationships among them.
作者 : rollboy(roller) 貼文超過200則人氣指數超過10000點
[ 貼文 396 | 人氣 24176 | 評價 370 | 評價/貼文 0.93 | 送出評價 62 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2012/10/8 上午 12:54:22
最近滿腦子都在想這些專案管理的方法, 以及閱讀一些書 ...
真的是一個頭兩個大 ... 說穿了似乎就是 "知易行難" ...
要一個人遵守這些規則應該不難, 要一票人遵守的話就快要變天方夜譚 :D

不好意思, 發發牢騷了 ...


>scm is a domain in software engineering. it is an important part in software engineering. When a system is a very highly quality , huge and complex , its functionality become very important. SCM doesn't mean SVC ( Source version Control ). it includes many parts and exists closed relationships among them.
作者 : ozzy123(ozzy) 資訊類作業求救卓越專家C++卓越專家貼文超過4000則人氣指數超過30000點
[ 貼文 4464 | 人氣 37262 | 評價 10860 | 評價/貼文 2.43 | 送出評價 49 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2012/10/8 上午 10:39:47
http://www.ibiblio.org/gferg/ldp/SCM-OpenSource/
作者 : ozzy123(ozzy) 資訊類作業求救卓越專家C++卓越專家貼文超過4000則人氣指數超過30000點
[ 貼文 4464 | 人氣 37262 | 評價 10860 | 評價/貼文 2.43 | 送出評價 49 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2012/10/8 上午 11:14:59
http://www.rspa.com/spi/scm.html
作者 : ozzy123(ozzy) 資訊類作業求救卓越專家C++卓越專家貼文超過4000則人氣指數超過30000點
[ 貼文 4464 | 人氣 37262 | 評價 10860 | 評價/貼文 2.43 | 送出評價 49 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2012/10/9 上午 10:36:19
http://www.processdash.com/
作者 : rollboy(roller) 貼文超過200則人氣指數超過10000點
[ 貼文 396 | 人氣 24176 | 評價 370 | 評價/貼文 0.93 | 送出評價 62 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2012/10/10 上午 04:14:56
現在其實很疑懷, 內心動盪阿 ...
想改變什麼, 但卻著實缺乏這方面經驗 ...
又牢騷了 ...
作者 : ozzy123(ozzy) 資訊類作業求救卓越專家C++卓越專家貼文超過4000則人氣指數超過30000點
[ 貼文 4464 | 人氣 37262 | 評價 10860 | 評價/貼文 2.43 | 送出評價 49 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2012/10/10 下午 02:12:11
forget them , just doing
作者 : rollboy(roller) 貼文超過200則人氣指數超過10000點
[ 貼文 396 | 人氣 24176 | 評價 370 | 評價/貼文 0.93 | 送出評價 62 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2012/10/10 下午 09:36:00
實在不知道該留下來繼續戰, 還是出去闖一闖
瓶頸了 ... :(
作者 : ozzy123(ozzy) 資訊類作業求救卓越專家C++卓越專家貼文超過4000則人氣指數超過30000點
[ 貼文 4464 | 人氣 37262 | 評價 10860 | 評價/貼文 2.43 | 送出評價 49 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2012/10/11 上午 10:25:03
work abroad , In Taiwan , software industry never rises. you may see above in some outstanding and famous IT firms ,but not in Taiwan.
作者 : rollboy(roller) 貼文超過200則人氣指數超過10000點
[ 貼文 396 | 人氣 24176 | 評價 370 | 評價/貼文 0.93 | 送出評價 62 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2012/10/11 上午 11:33:36
貴公司有缺人嗎?
還是有誰認識google員工的?

hehe ...
作者 : ozzy123(ozzy) 資訊類作業求救卓越專家C++卓越專家貼文超過4000則人氣指數超過30000點
[ 貼文 4464 | 人氣 37262 | 評價 10860 | 評價/貼文 2.43 | 送出評價 49 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2012/10/14 下午 07:51:28
Question : how to write a routine that can faster than C standard library routine , pow ? how do you prove your answer ?
作者 : rollboy(roller) 貼文超過200則人氣指數超過10000點
[ 貼文 396 | 人氣 24176 | 評價 370 | 評價/貼文 0.93 | 送出評價 62 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2012/10/15 上午 03:09:00
哈, 我原以為C standard library(非針對embedded system)對這方面的處理速度並不會太注重,
但今天做了一些測試, 似乎並非如此 ...

我只是先著重在 2 的 正整數 N 次方這部份, 我也試著去實做我自己的POW函式...
一樣的input, 不過執行時間還真懸殊 ...

測量方式是靠clock()這function去測量開始跟結束時間 (可能不是那麼精準) ...

然後話說standard pow function, 量測出來的值幾乎都為0 (小於1ms?) (CLOCKS_PER_SEC = 1000)
而我的呢 ... 最佳也只到31左右 (31ms?)

當然我不知道這樣的測量方法準不準就是了 ...

然後我目前的方法有點像是動態建立base ^ N, base ^ N ^ N, base ^ N ^ N ^ N ..........
然後再依據user的實際input parameter, 盡快的做查表動作 ... 當然查表完還要自己補上一些差值 ...

該來研究一下LIBC了 ... 獻醜了|o|

>Question : how to write a routine that can faster than C standard library routine , pow ? how do you prove your answer ?
>
作者 : rollboy(roller) 貼文超過200則人氣指數超過10000點
[ 貼文 396 | 人氣 24176 | 評價 370 | 評價/貼文 0.93 | 送出評價 62 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2012/10/15 上午 03:24:50
唉呦 ... 剛把compiler的 optimize選項開起來, 我的pow function就有機會跑到0 ms以下了.
但有時候還是會需要1x ms. 跟cache有關!?
作者 : rollboy(roller) 貼文超過200則人氣指數超過10000點
[ 貼文 396 | 人氣 24176 | 評價 370 | 評價/貼文 0.93 | 送出評價 62 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2012/10/15 上午 03:30:49
by the way, 上述測試方法是每個function都執行 0x100000 次的結果 ..
作者 : ozzy123(ozzy) 資訊類作業求救卓越專家C++卓越專家貼文超過4000則人氣指數超過30000點
[ 貼文 4464 | 人氣 37262 | 評價 10860 | 評價/貼文 2.43 | 送出評價 49 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2012/10/15 上午 09:14:57
not the way. think again
作者 : rollboy(roller) 貼文超過200則人氣指數超過10000點
[ 貼文 396 | 人氣 24176 | 評價 370 | 評價/貼文 0.93 | 送出評價 62 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2012/10/15 下午 02:25:57
to Ozzy:

你是指我的pow速度不夠快是嗎?
這題有難度, 讓我來研究研究 ...
thanks


>not the way. think again
作者 : rollboy(roller) 貼文超過200則人氣指數超過10000點
[ 貼文 396 | 人氣 24176 | 評價 370 | 評價/貼文 0.93 | 送出評價 62 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2012/10/15 下午 06:27:24
在我打開 __ieee754_pow 的source code那一瞬間 ...
發現自己輸了, 裡面好像一點while loop都沒有 ... :-(
再讓我研究研究 ...
作者 : ozzy123(ozzy) 資訊類作業求救卓越專家C++卓越專家貼文超過4000則人氣指數超過30000點
[ 貼文 4464 | 人氣 37262 | 評價 10860 | 評價/貼文 2.43 | 送出評價 49 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2012/10/15 下午 10:50:11
please consider a new algorithm
作者 : rollboy(roller) 貼文超過200則人氣指數超過10000點
[ 貼文 396 | 人氣 24176 | 評價 370 | 評價/貼文 0.93 | 送出評價 62 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2012/10/15 下午 11:04:46
__complex__ long double
__cpowl (__complex__ long double x, __complex__ long double c)
{
  return __cexpl (c * __clogl (x));
}


__ieee754_pow這好像是比較特殊一點的方式, 上述應該才是比較基本的方法,
我是看glibc的sample的 ...


不過, 怎麼會跑出 指數與對數函數 來了 ...
打開 __cexpl 和 __clogl 又是一堆數值運算 ...
必須承認我數學不好, 先趕快去把微積分課本找出來 ...


(這是整人遊戲嗎 ...? :D)

>在我打開 __ieee754_pow 的source code那一瞬間 ...
>發現自己輸了, 裡面好像一點while loop都沒有 ... :-(
>再讓我研究研究 ...
作者 : rollboy(roller) 貼文超過200則人氣指數超過10000點
[ 貼文 396 | 人氣 24176 | 評價 370 | 評價/貼文 0.93 | 送出評價 62 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2012/10/15 下午 11:23:59
感覺 X^Y 的運算都是建立在 e ^ (y * ln(x)) 這方法上...
我不知道普通c standard的exp 和 log function是怎麼運算出來的 ...
但 ... 不知道能不能針對這兩個function, 先建立一些預先運算過的值當 "查表" (跟微積分課本最後幾頁一樣?) ...
然後最才依最後的 X^ Y 需求去拆解, 拼拼湊湊靠快速查表然後一些+-*/來算出答案 ...

前面提到IEEE_POW的方式好像就是會先進行一些拆解才運算?



我好像在做白日夢 ... 殺了我算了 ...
作者 : ozzy123(ozzy) 資訊類作業求救卓越專家C++卓越專家貼文超過4000則人氣指數超過30000點
[ 貼文 4464 | 人氣 37262 | 評價 10860 | 評價/貼文 2.43 | 送出評價 49 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2012/10/16 上午 08:50:33
hint : pow(x,y) means x^y , it can expressed as x*x*x*...*x , using y times multiplication.
but it need many multiplications that cause time consumption.
作者 : rollboy(roller) 貼文超過200則人氣指數超過10000點
[ 貼文 396 | 人氣 24176 | 評價 370 | 評價/貼文 0.93 | 送出評價 62 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2012/10/16 下午 09:03:33
Hi Ozzy:

因為我不知道問題的深度到多深 ...
但如果就單純你說的 it can expressed as x*x*x*...*x ...
改成 N = (x * x * x), 然後才 N * N * N算不算一種 optimization 呢?


>hint : pow(x,y) means x^y , it can expressed as x*x*x*...*x , using y times multiplication.
>but it need many multiplications that cause time consumption.
作者 : ozzy123(ozzy) 資訊類作業求救卓越專家C++卓越專家貼文超過4000則人氣指數超過30000點
[ 貼文 4464 | 人氣 37262 | 評價 10860 | 評價/貼文 2.43 | 送出評價 49 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2012/10/16 下午 09:53:14
what do you think ? can you show your ideal ?
作者 : rollboy(roller) 貼文超過200則人氣指數超過10000點
[ 貼文 396 | 人氣 24176 | 評價 370 | 評價/貼文 0.93 | 送出評價 62 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2012/10/17 上午 05:10:26
阿哈, 搞懂了, 我猜Ozzy想說的重點就是這樣 ...
假設要計算X ^ Y, 就可以假想成是 (X ^ 2) ^ (Y / 2) ... (X ^ 2 ^ 2) ^ (Y / 2 / 2) 然後一直循環 ...
X ^ 2 ^ 2 存放在變數A
重點是Y / 2 可能會是 = N.5 ... 這時候就另外把這0.5的次方值累乘在另一個變數B

最後的答案 就等於 A * B ... 有點像 2^5 = 2 * 2 * 2 * 2 * 2 = (2^2)^2 * 2 這概念.

當然我必須承認我ㄧ開始想法不是這樣, 比較像是預先先建立一些表格 2 ^ 8, 2 ^16, 2 ^ 128 ...
然後要計算 2 ^ 100 就直接 查表慢慢化簡 ...
2 ^ 100 = (2 ^ 32) * (2 ^ 64) * (2 ^ 4)

前者方式是我在google "GLIBC的pow為何速度如此快" 時, 偶然看到別人提的方式 ...

1. GLIBC的pow, 速度莫名的快, 超級快, us等級 (有人知道原因嗎?)
2. 直接靠while loop一個一個算要 14s
2. fast_pow 這方法大概還要 300 ms
3. 我ㄧ開始my_pow的方法大概要 2s :-(

上述的測試都是用這條件來的 ...
while(loop_idx++ < 0x1000000)
     pow(3.5, 500);


double fast_pow(double base, unsigned int exp)
{
    double base_tmp;
    double base_tmp2;
    unsigned int etmp;

    base_tmp = 1;
    base_tmp2 = base;
    etmp = exp;

    while(exp >> 1){
     if(exp & 1)
     base_tmp *= base;

     base = base * base;

     exp >>= 1;
    }

    return base * base_tmp;
}



==================================================
double my_pow(double base, int exp)
{
    unsigned int ans = 1;
    unsigned int base_idx;
    int base_cache[5];
    static int base_cache2[5] = {8, 16, 32, 64, 128};

    base_cache[0] = base;

    if(exp > 8){
     base_cache[0] = base_cache[0] * base_cache[0]; /* N ^ 2 */
     base_cache[0] = base_cache[0] * base_cache[0]; /* N ^ 4 */
     base_cache[0] = base_cache[0] * base_cache[0]; /* N ^ 8 */
     base_cache[1] = base_cache[0] * base_cache[0]; /* N ^ 16 */
     base_cache[2] = base_cache[1] * base_cache[1]; /* N ^ 32 */
     base_cache[3] = base_cache[2] * base_cache[2]; /* N ^ 64 */
     base_cache[4] = base_cache[3] * base_cache[3]; /* N ^ 128 */

     while(exp > 8){

     if(exp > 128)
     base_idx = 4;
     else if(exp > 64)
     base_idx = 3;
     else if(exp > 32)
     base_idx = 2;
     else if(exp > 16)
     base_idx = 1;
     else
     base_idx = 0;

     ans *= base_cache[base_idx];
     exp -= base_cache2[base_idx];
     }
    }

    while(exp--)
     ans *= base;

    return ans;
}



>what do you think ? can you show your ideal ?
作者 : ozzy123(ozzy) 資訊類作業求救卓越專家C++卓越專家貼文超過4000則人氣指數超過30000點
[ 貼文 4464 | 人氣 37262 | 評價 10860 | 評價/貼文 2.43 | 送出評價 49 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2012/10/21 上午 11:39:59
The following journals for you reference
DDJ Dr. Dobb's Journal
ACCU overload
JOT , Journal of Object techniques
SDM , Software Development Magazine
these are common & commercial journals , and you can find other more and more ....

作者 : rollboy(roller) 貼文超過200則人氣指數超過10000點
[ 貼文 396 | 人氣 24176 | 評價 370 | 評價/貼文 0.93 | 送出評價 62 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2012/10/21 下午 09:08:26
Hi Ozzy:

再次謝謝你的分享 ...
不過想知道上述的回答是不是你期望得到的?

謝謝

>The following journals for you reference
>DDJ Dr. Dobb's Journal
>ACCU overload
>JOT , Journal of Object techniques
>SDM , Software Development Magazine
>these are common & commercial journals , and you can find other more and more ....
>
>
作者 : rollboy(roller) 貼文超過200則人氣指數超過10000點
[ 貼文 396 | 人氣 24176 | 評價 370 | 評價/貼文 0.93 | 送出評價 62 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2012/10/23 上午 01:21:40
還是又一次我又沒通過考驗了 :-(

by the way, 想請問各位在進行所謂 軟體工程 或 開發規劃 時 ...
會有計畫永遠趕不上變化的感覺嗎?

我是說, 我自己是code monkey, 都很清楚知道有時寫code可能不是預想中的3天5天就可以搞定的 ...
有時候缺靈感, 有時候缺手感, 有時候要解莫名的bug (當然一開始都自己的bug), 或者會有人跑來討論, 或者你跑去找人討論 ...
會者想請假, 或者別人請假, 或者會有客戶端來的急件要求 ... blah blah blah

似乎, 整個計畫很容易就被破壞了? ...


請原諒我的無知, 如果這是個蠢問題的話 ...


>Hi Ozzy:
>
>再次謝謝你的分享 ...
>不過想知道上述的回答是不是你期望得到的?
>
>謝謝
>
>>The following journals for you reference
>>DDJ Dr. Dobb's Journal
>>ACCU overload
>>JOT , Journal of Object techniques
>>SDM , Software Development Magazine
>>these are common & commercial journals , and you can find other more and more ....
>>
>>
>
作者 : ozzy123(ozzy) 資訊類作業求救卓越專家C++卓越專家貼文超過4000則人氣指數超過30000點
[ 貼文 4464 | 人氣 37262 | 評價 10860 | 評價/貼文 2.43 | 送出評價 49 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2012/10/23 上午 09:12:58
http://en.wikipedia.org/wiki/Personal_software_process
take a look
作者 : rollboy(roller) 貼文超過200則人氣指數超過10000點
[ 貼文 396 | 人氣 24176 | 評價 370 | 評價/貼文 0.93 | 送出評價 62 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2012/10/25 上午 02:17:29
謝謝Ozzy解答 ...

這 軟體工程 似乎們來個5年10年是學不完的~_~

Ozzy前輩還有沒有趣的考題要來考一下阿:D
作者 : ozzy123(ozzy) 資訊類作業求救卓越專家C++卓越專家貼文超過4000則人氣指數超過30000點
[ 貼文 4464 | 人氣 37262 | 評價 10860 | 評價/貼文 2.43 | 送出評價 49 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2012/10/25 下午 08:07:59
you should regard any programming language as a tool. a good programmer who should understand the attributes of programming languages. a programming language is a key that takes you enter any professional domains . if you want to construct large scale software system , you should learn software engineering , e.g. software architecture design , software test , SQA , software configuration management , ... and professions and knowledge of other domains. These are good for you.
作者 : rollboy(roller) 貼文超過200則人氣指數超過10000點
[ 貼文 396 | 人氣 24176 | 評價 370 | 評價/貼文 0.93 | 送出評價 62 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2012/10/25 下午 10:50:11
Hi Ozzy:

Ya, 我知道, 程式設計只是工具霸了, 如你所說的, 重要的是Know-How ... 針對不同領域的Know-How ...
其實自從我於此發問之後, 我就越來越覺得迷惘 ...
光是針對軟體工程這點, 我真的是毫無經驗,
雖然這陣子我都會上網或讀點相關的書 ...
但覺得對於實際實行的方法, 還是沒有什麼概念 ...
在這種無經驗, 又無環境情況下, 真的是不知所措 ...

當然其實我可以只詢著原本的環境, 也不要想什麼改善軟體工程這件事 ... :-P

我是不是應該來去補習一下?
還是Ozzy前輩要發個offer讓我實習一下:-P

by the way, 我記得我在唸書的時候, 那時候正在修 系統分析 這門課, 還上來這發問, 問題大概是 遇到真正狀況, 如何實際去實施之類的 ...

>you should regard any programming language as a tool. a good programmer who should understand the attributes of programming languages. a programming language is a key that takes you enter any professional domains . if you want to construct large scale software system , you should learn software engineering , e.g. software architecture design , software test , SQA , software configuration management , ... and professions and knowledge of other domains. These are good for you.
作者 : ozzy123(ozzy) 資訊類作業求救卓越專家C++卓越專家貼文超過4000則人氣指數超過30000點
[ 貼文 4464 | 人氣 37262 | 評價 10860 | 評價/貼文 2.43 | 送出評價 49 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2012/10/25 下午 11:58:39
although programming language is a tool , it belongs to software engineering. As a good programmer , you must understand the attributes of them and write highly maintainable and effective codes. Any domain know how is same , they just are some experiences . it impossible that you can know them all. But they were implemented by various programming languages. Software engineering can help you resolve many problems during your development and can improve your capabilities and the way of resolving problems. Many engineers or programmers think software engineering is useless , maybe they develop software systems are small ( KLOC or FPT ) http://en.wikipedia.org/wiki/Function_point . Software engineering is a practices and profession , it focuses software systems development and research. of course , various software systems or products need some relevant domain know how , but they don't belong to it. in fact , software engineering is a practice or science ( this is a big argue till now ). many software engineering practices or methodologies were applied and obtain good results , e.g. agile , TDD , MVC , design pattern , SQA , SCM , UML , SSADM , MDA , .... of course , you can't understand them all , but may learn them sequentially.
if you want to develop a large scale system or your department is mature and formal software team , it will be important .
作者 : rollboy(roller) 貼文超過200則人氣指數超過10000點
[ 貼文 396 | 人氣 24176 | 評價 370 | 評價/貼文 0.93 | 送出評價 62 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2012/10/26 上午 02:39:10
唉, 說穿了就是我的環境不是那麼完整或正規吧 ...
然後我自己沒經驗, 團隊也可能沒什麼正規軟體工程方法 ...
然後我想要去改善它? 卻也不知道怎麼改善它 ....
作者 : rollboy(roller) 貼文超過200則人氣指數超過10000點
[ 貼文 396 | 人氣 24176 | 評價 370 | 評價/貼文 0.93 | 送出評價 62 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2012/10/26 上午 02:44:28
話說, 寫code跟進行專案管理是不是不該是同一個人做的?
變小leader之後發現會比較有人常跑來跟你報告或討論了 ...
然後自己一直想著改善軟體工程的美夢 ...

阿, 糟糕 ... 自己code都還沒寫好 ... :-P

原諒我一直牢騷跟問蠢問題 ...
事實上我還有1000個為什麼可以問! :D
作者 : ozzy123(ozzy) 資訊類作業求救卓越專家C++卓越專家貼文超過4000則人氣指數超過30000點
[ 貼文 4464 | 人氣 37262 | 評價 10860 | 評價/貼文 2.43 | 送出評價 49 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2012/10/27 上午 09:50:16
2012/10/26 上午 02:44:28
話說, 寫code跟進行專案管理是不是不該是同一個人做的?
> depends on your department or organization . software project management and programming are different responsibilities . if you can do they all , your firm will appreciate you.

作者 : ozzy123(ozzy) 資訊類作業求救卓越專家C++卓越專家貼文超過4000則人氣指數超過30000點
[ 貼文 4464 | 人氣 37262 | 評價 10860 | 評價/貼文 2.43 | 送出評價 49 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2012/10/28 上午 10:58:46
the rsult od following expression is
(x-0)(x-1)(x-2)(x-3)....(x-999)(x-1000)(x-a)(x-b)(x-c)...(x-z)(x-aa)(x-ab)(x-ac)....(x-az)(x-ba)...(x-bz)....(x-zz)
作者 : rollboy(roller) 貼文超過200則人氣指數超過10000點
[ 貼文 396 | 人氣 24176 | 評價 370 | 評價/貼文 0.93 | 送出評價 62 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2012/10/28 下午 04:29:18
不懂? 這題是要問化簡?



To Ozzy前輩, 提出這看法可能有點怪 ...
因為我一直怕在這展開問答真的會讓人覺得厭煩或是浪費資源?
是否改為其他方式會比較合宜?

例如mail或即時通訊軟體之類的? ...
當然我只是建議啦 ...
作者 : rollboy(roller) 貼文超過200則人氣指數超過10000點
[ 貼文 396 | 人氣 24176 | 評價 370 | 評價/貼文 0.93 | 送出評價 62 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2012/10/28 下午 10:25:23
by the way, 我剛剛才意識到當初 "write a function that convert integer A to integer B by changing several bits" 這題的重點 ...
原意是如何交換a 和 b兩變數值, 但不透過第三個變數來暫存對吧?

所以簡單的方式是 ...
a += b;
b = a - b;
a -=b;

進階方式就
a ^= b;
b ^= a;
a ^= b;

受教了 ... :D
作者 : rollboy(roller) 貼文超過200則人氣指數超過10000點
[ 貼文 396 | 人氣 24176 | 評價 370 | 評價/貼文 0.93 | 送出評價 62 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2012/11/17 上午 12:18:09
to Ozzy前輩:

發現你已停止回覆, 對於我之前的建議, 希望你不會覺得沒禮貌.
Anyway, 謝謝你前陣子的分享 ...
作者 : ozzy123(ozzy) 資訊類作業求救卓越專家C++卓越專家貼文超過4000則人氣指數超過30000點
[ 貼文 4464 | 人氣 37262 | 評價 10860 | 評價/貼文 2.43 | 送出評價 49 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2012/11/19 下午 01:14:04
it seems that the discussion is too long. As you mentioned , it will cause some issues. if you will discuss other topics , you also post different topics .
作者 : ozzy123(ozzy) 資訊類作業求救卓越專家C++卓越專家貼文超過4000則人氣指數超過30000點
[ 貼文 4464 | 人氣 37262 | 評價 10860 | 評價/貼文 2.43 | 送出評價 49 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2012/12/18 下午 04:10:56
http://entropymine.com/imageworsener/slowpow/
作者 : ozzy123(ozzy) 資訊類作業求救卓越專家C++卓越專家貼文超過4000則人氣指數超過30000點
[ 貼文 4464 | 人氣 37262 | 評價 10860 | 評價/貼文 2.43 | 送出評價 49 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2012/12/25 下午 04:08:15
http://www.osix.net/modules/article/?id=696
作者 : rollboy(roller) 貼文超過200則人氣指數超過10000點
[ 貼文 396 | 人氣 24176 | 評價 370 | 評價/貼文 0.93 | 送出評價 62 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2013/1/7 下午 11:53:14
兩個月後又突然想起當初這段討論, 現在算是冷靜多了 ...
不過還是忍不住上來感嘆一下 ...
正所謂好的管理者帶你上天堂, 壞的就 ...

不過這些事似乎最近比較被受重視一點, 雖然我已覺得我心已死 ... ~_~

再次謝謝各位
作者 : ozzy123(ozzy) 資訊類作業求救卓越專家C++卓越專家貼文超過4000則人氣指數超過30000點
[ 貼文 4464 | 人氣 37262 | 評價 10860 | 評價/貼文 2.43 | 送出評價 49 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2013/1/8 上午 09:23:37
Software engineering is the core of software industry. Software engineering is Taiwan is very poor , so software industry is never rise.
 板主 : 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.453125