2007年12月31日

勘誤::寫給C++程式設計師的UML實務手冊

請您一塊幫忙找錯,目前找到的筆誤如下:

-----
[80]圖4-15,放錯圖了喔(書稿正確,編輯錯誤)。真是抱歉。正確的圖,如下:



[92]Fund.h這段裡提到,"...行號6~9...行號11~12...",請改成"...行號7~10...行號12~13..."。
[97]第一段最後一句"...至多至只能也一定要...",請改成"...至少至多只能連結到一個基金物件。"。
[105]原始碼行號25,請改成粗體。
[123]5.4.2組合關係,第二段:"因此,在C++實作上,合關係中的整件...",請改成"因此,在C++實作上,合關係中的整件..."。
[134]倒數第二行"...基金物件指標無法僅能使用...",刪除"無法"兩字。
[139]第一段最後一行圖5-65,請改成圖5-71
[147]第1~3行直接改成"父類別內部屬性、操作及靜態關係之能見度,會影響子類別的繼承情況。子類別可以直接使用公開等級的元素,但是無法繼承父類別私有等級的元素。"
[147]最後第1行直接改成"這種情況其實是不被允許的,子類別不能繼承父類別之私有等級的一切。"
[149]最後第2行直接改成"如此一來,子類別即可繼承來用了。"
[153]第1行直接改成"總之,子類別可以繼承父類別裡保護和公開等級的元素,不可以繼承私有等級的元素;"
[155]第一行句子最後,請去掉""字。
[191]倒數第二行InNavigable,請改成IsNavigable。
[233]圖7-31中的訊息序號3,請改成"setFund(myFund)",少了一個t
[242]最後一段,"循序片段與引用片段...",,後面多一個"┐"。
[245]第一行的"4. RegularBid.cpp中行號7~13",應該改成"...7~15"。
[249]圖7-52編號,多了4.。
[262]圖8-7有誤,修正如下圖。



[292]倒數第四行," ...方便迅",應為"迅速"。
[294]第一段的5號步驟下的2個次步驟都筆誤成6.1和6.2,從這裡開始後面只要是5號步驟的次步驟、替代程序等等,都筆誤成第6步驟了。
[299]請將替代流程與例外流程的編號2a、2b、2c、4a、7a,改成:2.a、2.b、2.c、4.a、7.a。
[300]請將替代流程的編號2a、2b、2c,改成:2.a、2.b、2.c。
[301]請將例外流程的編號2a、2a.1、2a.2、2a.3、2a.4,改成:2.a、2.a.1、2.a.2、2.a.3、2.a.4。
[314]圖9-28的Bid.h原始碼行號12、13和16,請改成粗體。
[315]圖9-29的Bid.cpp原始碼行號20~27,請改成粗體。
[383]第二段第二行," ...卻沒有射的流程線...",正確應為"...射..."。
[387]第一個句子,請改成"如果,行動本身有足夠的資訊可以進行決策,則可以不需要設置決策點,僅需要配合警戒條件來限制流程線的射出。 "
[397]第二行,"如圖13-45",請去掉"上"字。
[412]倒數第二行,"...放置於結帳子狀態...",請改成"...子活動..."。
[417]第二段,"...流程並透過分叉...",請改成"...並..."。
[426]步驟2,"...執行[Add .....-> Use Case Diagram...]...",請改成"...Activity Diagram..."。
[430]步驟6,"...並拖曳至申辦基金帳戶...",請改成"...並拖曳至判斷點..."。

-----
改版備忘:
1.基金class裡的fee屬性,中譯改成"手續費費率",較佳。
2.改版記得加上作者簡介。
3.致謝,第三段第一行的"...UML Blog...",改成"...UML Blog(http://www.umltw.com/)..."。
4.UML2禁止循序圖中multiobjects的表示法,而且名稱下方也沒有底線了。

-----
筆誤多的我都不好意思了,抱歉了,各位UML4C++的讀者們。特別感謝Sam和Jay,幫我抓了一堆錯誤。

9 則留言:

sam 提到...

[123],〈組合關係〉,第二段:

「因此,在C++實作上,『聚』合關係中的整件...」

應為(?):

「因此,在C++實作上,『組』合關係中的整件...」

邱郁惠 提到...

放到勘誤表了,真不好意思,筆誤還真多呢!sam,謝謝您。

小帥良 提到...
作者已經移除這則留言。
小帥良 提到...

233頁,圖7-31,第3號訊息
3:seFund(myFund)
應為
3:setFund(myFund)

邱郁惠(271080@gmail.com) 提到...

To 小帥良:

放上去了,謝謝。

guang 提到...

我是大陆的读者,最近买了本《c++程序员UML实务手册》(简体中文),觉得这本书是很好的UML入门手册。在阅读的过程中,发现有些疑问,在此提出,请指正。

p19
程序清单2-1
14. myFund = new Fund(19.84);
15. myBid = new Bid(3100.02);
...
21. myFund = new Fund(37.83);
22. myBid = new Bid(2325.02);

代码中,myFund和myBid 经过两次new操作,却没有delete操作,这会导致内存泄漏。所以需要在21.前添加
delete myFund;
delete myBid;
并且在最后重复上面的两行操作。这样可以避免内存泄漏。

简单起见,可以作如下修改
14. Fund myFund1(19.84);
15. Bid myBid1(3100.02);

21. Fund myFund2(37.83);
22. Bid myBid2(2325.02);

以上只是在栈上为对象分配内存空间,所以不会有内存泄漏问题。

谢谢郁老师为UML初学者提供这么好的入门书籍!

邱郁惠(271080@gmail.com) 提到...

guang,謝謝您的分享,也謝謝您的支持與鼓勵 :)

Sheng-kai Wang 提到...

[294]最後一段的5號步驟下的2個次步驟都筆誤成6.1和6.2,從這裡開始後面只要是5號步驟的次步驟、替代程序等等,都筆誤成第6步驟了。

改成

[294]第一段,第二行的5號步驟...

邱郁惠(271080@gmail.com) 提到...

已經修訂,謝謝 :)