Ringle 的新書:「UML 團隊開發流程與管理」確定於 6/12 由「悅知文化」正式出版。 現在有活動優惠,在 6/12 前預購均享有 7 折優惠。
本書特色: 這是一本將理論與實務作完美結合的書。以案例分析的方式,告訴讀者如何透過UML正確表達軟體設計的精神,同時搭配工具軟體與Lab單元,讓讀者可以從做中學,在練習的過程中,確實瞭解軟體開發的過程。 內容簡介: 對於軟體設計的初學者來說,面對大量的資訊,往往不知從何處開始下手。本書係根據作者多年的授課經驗寫作而成,特別針對有以下需求的讀者,提供學習的指引: ■ 想要瞭解UML及其應用時機的讀者: 本書第一部份,設計了一個完整的案例,並且將UML的十三張圖應用在該案例中,利用Q&A的方式,深入淺出地說明UML 13張圖的基本精神及其應用,讓剛開始接觸UML的讀者可以透過實際案例瞭解UML。 ■ 想要知道如何在實際專案中應用UML的讀者: 本書的第二部分,設計了另一個完整的案例,並搭配工具軟體,配合UML、MDA以及實際的程式碼,讓進階的讀者可以瞭解,應該如何在實際的專案中應用UML。而且在每個章節中,都提供LAB練習,讓讀者可以「從做中學」。 ■ 想要知道軟體開發團隊如何合作的讀者: 本書的第三部分,作者設計了一個團隊合作的情境,透過一個虛擬專案的進行,讓讀者可以瞭解團隊中的各個角色,以及如何挑選適合的工具來幫助自己完成工作,以及如何善用工具,讓團隊合作能夠更簡單、更順利。 ■ 想瞭解Enterprise Architect如何使用: Enterprise Architect是一套完整的UML支援工具,完整支援UML 2.1的13張圖形,並且Support多種程式語言及資料庫,且提供了非常多的客製化空間。本書主要使用該套工具進行實作,並介紹該軟體的操作及客製化技巧。
本書特色: 這是一本將理論與實務作完美結合的書。以案例分析的方式,告訴讀者如何透過UML正確表達軟體設計的精神,同時搭配工具軟體與Lab單元,讓讀者可以從做中學,在練習的過程中,確實瞭解軟體開發的過程。
內容簡介: 對於軟體設計的初學者來說,面對大量的資訊,往往不知從何處開始下手。本書係根據作者多年的授課經驗寫作而成,特別針對有以下需求的讀者,提供學習的指引:
■ 想要瞭解UML及其應用時機的讀者: 本書第一部份,設計了一個完整的案例,並且將UML的十三張圖應用在該案例中,利用Q&A的方式,深入淺出地說明UML 13張圖的基本精神及其應用,讓剛開始接觸UML的讀者可以透過實際案例瞭解UML。
■ 想要知道如何在實際專案中應用UML的讀者: 本書的第二部分,設計了另一個完整的案例,並搭配工具軟體,配合UML、MDA以及實際的程式碼,讓進階的讀者可以瞭解,應該如何在實際的專案中應用UML。而且在每個章節中,都提供LAB練習,讓讀者可以「從做中學」。
■ 想要知道軟體開發團隊如何合作的讀者: 本書的第三部分,作者設計了一個團隊合作的情境,透過一個虛擬專案的進行,讓讀者可以瞭解團隊中的各個角色,以及如何挑選適合的工具來幫助自己完成工作,以及如何善用工具,讓團隊合作能夠更簡單、更順利。
■ 想瞭解Enterprise Architect如何使用: Enterprise Architect是一套完整的UML支援工具,完整支援UML 2.1的13張圖形,並且Support多種程式語言及資料庫,且提供了非常多的客製化空間。本書主要使用該套工具進行實作,並介紹該軟體的操作及客製化技巧。
(點擊圖片鏈接看原圖)「UML 團隊開發流程與管理」新書封面完稿
※ 延伸參考: o 「UML 協同開發管理」新書序言 Preview。 o Ringle 即將出版的新書─「UML 協同團隊合作開發」。
透過看盤軟體來接收即時性的報價資料,最便利的工具莫過於 Excel 了。 諸多交易人幾乎是利用 Excel 透過 DDE 連結方式來取得報價資料並自行撰寫程式 (如 VBA) 來分析處理。而事實上, DDE 是一種老舊的傳輸規格 (Microsoft 已制定了 RTD 規格, Real Time Data, 用來取代並不穩定的 DDE 傳輸,但國內看盤軟體似乎並未支援),不僅 .NET Framework 沒有直接支援,要處理即時性的 DDE 接收,有些實做的地方還挺麻煩的。
Java 世界中的 Value Object 其實也是「虛擬DB」的一種體現;至於在.NET Solution中,最適宜表現虛擬DB的技術就是 ADO .NET 中的「DataSet」技術。而 Business Object 與 Value Object 最大的差別在於 Business Object必須要有「企業運算邏輯(Business Logic)」。
在這一期剛結束的「系統分析設計與實作」的課程中,有位女學員問了一個問題:
「由於老師上課時都是以 "類別 (Class)" 為單位,來說明類別之間的連結關係;但是,在微軟實際的發佈(Deploy),卻是以 "DLL" 為單位,而一個 DLL 檔案,可能會包含了一到多個類別,若是被呼叫的某一個類別有經過編輯修改後,則整個 DLL 檔就必須重新編譯,相當地麻煩。 所以,到底該如何規劃這些類別的配置呢?」
先說明一下這個問題,是屬於 "相依性(Dependency)" 的設計議題。 小至以類別、套件(Package) 為單位,大至以模組 (Module)、子系統(Sub-System)、系統,都有這類相依性的設計考量。
參考我原來所寫的一篇:「談談 C#.NET 連結 DDE Server 的設計觀」。 使用 NDde 這個開放源碼,來包裹(Wrap) Win32 APIs 連結 DDE 的通訊底層,使得 .NET-based 的應用程式也可以很便利地連結 DDE Server。
利用幾天的時間,我寫了一個算是比較完整的 C# DDE 用戶端(Client)程式,可以確實連結國內券商所提供的看盤軟體(本身即是 DDE Server)。目前測過包括 "永豐金 eLeader", "元大 Yeswin", "日盛 HTS", "康合 全都賺" 等,均可以正常連結並依據連結項目(Item)持續顯示所跳動(Tick)的值(Value)。 這算是一個簡易的範本,旨在展示利用 .NET OOP 語言可以確實連結 Legacy DDE Server,並進而讓有心的程式交易人員,可以再行擴展,自行撰寫包括報表統計、技術線型分析 等應用。
我寫的這個簡單 DDE Client,基本功能如下:
o 可以同時連結多個 DDE Server。 o 可以同時顯示多個項目(Item)所持續跳動(Tick)的數值(Value)。 o 可以正確顯示傳輸項目值為中文的編碼。 o 可以任意地刪除 DDE 連線與項目 的相關資訊。
DDE 的連線
向 DDE Server 索取資料
UI 的實作問題
老實說,真正困擾我的,是關於 UI 的實作,這對我可以說是相當陌生的。 UI 要能設計的好,大概有兩個重點, 一為對 事件(Event)的控管處理,另一個就是如何讓 UI元件(Component)與所繫結(Binding)的一到多個資料源(Data Source),並保持展示與資料變動的一致性。
在 Windows Form,大概就是 .NET 的 DataGridView 這個 UI 元件最為多樣變化了,如何與 資料源 "Binding" 在一起,維護展示與資料變動的一致性更是個學問。
目前我算是用 "硬作" 的方式,並沒有採取 "Auto Binding" 的自動同步,而是自己利用 HashTable,以 "Service+Topic", "Item" 當成主要的索引鍵(key),來找出相關於 DDE Connection, DataGridView 所在變動列(或欲刪除列)的位置。
這裡我就是利用 DataGrideView 元件來展示連線與項目等相關資訊的。 一個 Connection 可以 "Hole" 住多個 Item, 所以必然是 "Master/Detail" 這樣的呈現。
※ 執行檔與原始程式碼: 我是上傳至 「聚財網」給有需要的程式交易人員參考研究。若需要該源碼,則需加入成為該網站的會員。
http://www.wearn.com/bbs/topic.asp?topic_id=139666&forum_id=5295&cat_id=19