This page looks plain and unstyled because you're using a non-standard compliant browser. To see it in its best form, please visit upgrade to a browser that supports web standards. It's free and painless.

Kenming's 軟體設計思維 會員登入 會員註冊

前言

嵌入式系統(Embedded System),簡單的說,就是把軟體 “放入” 硬體設備內,然後寫簡單的程式來控制硬體,一般稱之為 “韌體(Firmware)” 設計。諸如從主機板的 BIOS 設計、光碟燒錄機的控制程式、乃至於至行動電話、PDA、影音家電產品等,均可見其嵌入式系統的蹤影,可說是無處不在,應用範圍非常之廣泛。

以往寫嵌入式系統的程式,受限於記憶容量過小,只能以如 C 語言以比較低階的語法層次,來直接連結與控制硬體的操作,程式要求的是 “輕薄短小” 與 “效能佳”,而多樣化的應用層面,並不容易。而如今,硬體設備的兩個最重要與軟體開發相關的裝置:整合式晶片 (Soc, System on Chip) 與 快閃記憶體 (Flash Memory),前者如同主機板的 CPU,以更小的體積、更佳的效能來控制硬體其它的 I/O 裝置;後者有如資料庫,可以塞更多的資料與應用程式於其內,如此嵌入一個小型的作業系統(OS),如 Embedded Linux、Windows CE、Java Virtual Machine …等,由 OS 負責與更底層、低階的硬體裝置溝通、然後 OS 提供了高階的 APIs(Application Programming Interfaces)甚至系統框架(System Framework,如 .NET)供軟體開發者用更簡單、具彈性的高階程式語言的特性,來達成更豐富的功能。

所以,嵌入式系統的應用範圍,可就更行廣泛與活躍,軟體應用程式的地位,從以往是陪襯於硬體,現在反而是極有可能翻身,反而是 “以軟御硬”,透過軟體,讓競爭性激烈、毛利低的同質性硬體產品可以脫穎而出,能更有特色、更多的變化性。

嵌入性系統如何作需求分析與設計?

那麼,嵌入性系統的軟體設計,是否有別於 “純” 軟體應用系統的設計? 筆者不以為然,尤其筆者教授 UML 軟體設計課程,對多家硬體製造業內的軟體開發部門與 PDA、手機等應用程式開發廠商,就近的觀察,發現到,一個比較顯明的問題是,軟體開發人員的規模,甚至比一般中型 “純” 軟體開發廠商的人員還多,但,開發人員的角色,卻連最基本的 SA/SD (系統分析/系統設計) 都沒有區分,資深的開發人員或經理擔任需求分析,幾乎沒有所謂的結構分析或設計,就是依照需求,直接下去 Coding,所以軟體開發人員的要求是會“寫程式”,能“寫出來” 最重要,資深經理比較煩惱的反而是需求的不明確。

嗯,好吧,那麼如何釐清有效的需求? 本篇先針對這個議題來作一些說明,筆者以為,嵌入式系統的需求分析與設計,比起“純”軟體如 ERP 系統等,簡單得很多,理由為何? 因為,系統範圍就是被“硬體”給確實“框住”,形成最有效的封裝效果,也就是用“眼睛”就可以看到,待開發的系統就是一個黑箱 (Black Box);而“純”軟體應用系統,系統分析人員要能有較高度抽象的能力,才能以“心眼”看到與界定系統的範圍。要能在嵌入式系統做好有效的需求分析與設計,只有一個關鍵:

“找出那一個黑盒子(界定系統範圍),瞭解該黑盒子在硬體產品內的角色與定位”。

這裡所謂的黑盒子,是指在硬體產品內一定會有一個放置軟體應用程式的控制系統(否則哪叫嵌入式系統?) 。看起來好像很簡單,不是嗎? 但團隊成員往往就是對那一個黑盒子很模糊,沒有共識,何以見得? 只要問每一個成員,那個黑盒子的系統名稱為何,就知道了,問 10 個可能有 8 個不同的答案,這樣就有問題了。☆註1

問題在哪裡呢? 沒有確實把整體“Whole Map”給有效表達出來!
在嵌入式系統中,我們可以把硬體產品視為是一整個“Whole Map”,例如 IP 分享器、MP3 播放器、手機 …等。然後,找出該硬體產品與外界溝通的“介面(Interfaces)”,例如,MP3 播放器的介面包括了“Line-in”、“Line-out”、“Control UI”、“USB” …等。再來,就是就是檢視這個硬體產品內“塞”了哪些重要的組件(Parts),而其中,有一個組件就是嵌入式系統的黑盒子所在,我們要先能釐清這些組件之間的關連、哪些組件負責與外部介面的溝通等。

有了這一張架構視圖,才能讓我們釐清,所要加值軟體應用程式所在的那一個黑盒子,在整個硬體產品內,所承擔的角色與責任為何,然後才有可能“聚焦”,團隊才能有共識,有共識後才能對該黑盒子進行更進一步的需求分析,包括找出“誰來使用系統”、“使用系統的目的”、“系統是否需要外部系統的服務”等系統外部功能面的觀點。

筆者發現到,用來表達硬體產品“整體”觀的架構視圖,可以利用 UML 的“合成結構圖(Composite Structure Diagram)”;而表達那一個黑盒子的功能需求,可以利用“使用案例圖 (Use Case Diagram)”,兩者可以達成非常好的互補:“合成結構圖”可以表達黑盒子(設計中的系統)位於硬體產品的那一個部位,以及與硬體內的其它的組件的關係;再由此可以很平順地利用使用案例圖來表達,找出使用該黑盒子的主要參與者(Primary Actor),以及外部的支援性參與者(Supporting Actor),且由於系統範圍明確、與外部溝通的參與者也很清楚,所以要漸增與漸進的找出該黑盒子的系統功能,也就是使用案例 (Use Case),那就不是難事了;找出使用案例,在先不考量系統內部結構設計的前提下,要寫出程式碼,外加確保程式碼正確性的功能測試碼,那根本是輕而易舉的事了。

對比企業層級的資訊系統 (Enterprise Information System),表達整體企業流程(Business Process)所利用的設計圖是活動圖(Activity Diagram);而表達嵌入式系統硬體產品的全貌,包括對外溝通的介面(Interfaces),以及內部的組件(Parts),利用合成結構圖,可說是最為恰當的整體架構視圖,而無論是活動圖或者合成結構圖,均可以透過簡單的對應步驟,將焦點更能聚焦到表達資訊系統層級的使用案例圖,用以表達待開發的資訊系統,應該提供哪些的功能性服務(亦即,使用案例),以及,"誰(主要參與者,Primary Actor)" 會來使用系統,系統又是需要哪些外部系統(支援性參與者, Supporting Actor)的服務。

★註1、界定系統範圍,必然會命名該系統,系統的名稱其實反應的就是該專業領域內最常用的術語(terminology),術語就是一種概念(concept),若概念是模糊、沒有一致性,團隊開發的過程中,必然會出現嚴重的認知差距與溝通不良問題。

合成結構圖 – 表達硬體產品的介面與內部的組件

圖1、範例–寬頻路由分享器的複合結構圖概觀
(點擊圖片鏈接看原圖)圖1、範例–寬頻路由分享器的複合結構圖概觀

圖1是 “寬頻路由器” 的 “想像” 概觀視圖,因為筆者並非該領域的專家,無法畫出正確詳細的內部組件結構關係,但未來只要藉由與領域專家的溝通合作,在後續的開發循環 (Iteration),要修正之,其實是很容易的。請記得,筆者從來都是假設需求不明確、流程有問題的情況下,只要確定了一個框架目標,就可以馬上實踐之,可千萬不要等到規格都很清楚的情況下才開始動工,這會很容易陷入 “分析癱瘓” 的。

圖1,是 UML 2.0 所新增的 “合成結構圖”,畫出該圖的主要步驟為:

  1. 觀察並分析寬頻分享器所提供(support)與需要(required)的介面(Interface)。
  2. 觀察並分析寬頻分享器內部結構是由哪些主要的組件(part) 所組成。
  3. 找出組件之間的關連(connector)、以及組件與介面之間的 “委託連接器(delegating connector)”。

從圖1,筆者關心的是,應用軟體的核心是位於哪一個 “黑盒子” 組件,以及,該黑盒子是否有與其它的組件連結。若是站在 ODM(Original Design Manufacturing) 軟體廠商的角度來看時,未來得以讓他們加以發揮的加值軟體應用程式會是位於 “RCS (Router Control System)” 組件內,所以,RCS 成為整個寬頻分享器應用軟體的核心。

使用案例圖 – 表達 RCS 系統的功能觀點

圖2、範例–表達寬頻路由分享器內 RCS 系統的使用案例模型
(點擊圖片鏈接看原圖)圖2、範例–表達寬頻路由分享器內 RCS 系統的使用案例模型

RCS 確定應用程式的核心所在,當確立共識後,再來就是將焦點轉移至 RCS,並且 “放大”,分析檢視出 RCS 會提供哪些 “系統功能 (System Functions)” 供外部的參與者 (Actor)來使用,這些 “系統功能”,在使用案例圖中,稱之為 “使用案例(Use Case)”。

誰來使用系統,就會成為該系統的 “主要參與者 (Primary Actor)”,圖2 的案例中,網路管理員其實是外部寬頻分享器的主要參與者,但網管人員透過寬頻分享器的介面所連進來的系統就是由 RCS 負責,所以,網管人員同時就會成為 RCS 的主要參與者。

RCS 是否需要其它系統的服務支援,若是,其它系統就成為 RCS 的 “支援性參與者 (Supporting Actor)”。從圖1 可以看出,主要與 RCS 連結的組件有微處理器、快閃記憶體 (Falsh Memory) 等,所以兩者都可以成為 RCS 的支援性參與者。其中,”Flash Memory” 的角色蠻有趣,它如同企業資訊系統的資料庫,若是,筆者會傾向看成是 RCS 系統的 “私有倉儲 (private storage)”,而不會將之視為是外部的系統,圖2 特別把它畫出來是反應圖1的合成結構圖中,”Flash Memory” 是明確獨立的硬體組件。

結語 – 發掘潛在獲利的需求,實現在嵌入式系統內

確認了硬體產品的整體(寬頻分享器)與核心焦點(RCS 嵌入軟體系統)後,團隊就有容易有一致性的共識與全貌,然後才是實現(Realize)核心系統所提供的功能,甚至,團隊可以據此集思廣益,來發掘出潛在的需求。例如,A 牌的寬頻分享器就發掘出分享器同時可以提供 Web 與 FTP、甚至提供個論壇(Forum)系統(未嘗不可!)的服務,更賦予了分享器多功能的面貌與價值。

不過圖2 是看不出 RCS 系統的內部平台為何,例如,是使用“Embedded Linux”、“Windows CE”,還是“RTOS (Real Time OS)”的作業系統,以及 OS 所提供的應用程式介面(APIs),與系統的框架(Framework)為何,這是屬於系統內部的結構分析與設計的範疇。其實,筆者更為關心另一個議題,筆者常以為,嵌入式系統的應用軟體產品的開發理當建立“一致性模型”,也就是與平台獨立的軟體模型 (PIM, Platform Independent Model),如此經濟效益當然能發揮到最高。不過,那又是另外一段故事了 …。

建立“合成結構圖”,由此導出“使用案例圖”,從整體看局部的焦點,從低精確度逐漸地至高精密的細節,在需求分析的階段過程中,用最少的精力,找出最重要的精華與本質,一開始把焦點集中在對的目標(Goal)上,勝過於忙忙碌碌,結果花在太多沒有必要的工作與細節上。

延伸參考
從企業流程(活動)圖找出資訊系統的使用案例」。

東大特訓班
 東大特訓班
 -----------------------------------
 作者/三田紀房/作
 出版社/臺灣東販
 ISBN/9574737578

騙肖仔!!上大學有什麼難的?我就讓笨蛋也能在一年中考上最高學府。原本是律師的─櫻木建二,本來只是為了讓龍山高中的財務危機能夠解決,沒想到竟然成了特訓班的老師,看搖身一變的櫻木老師,如何讓笨蛋學生在一年之內考上日本最高學府─東大。考試是靠技巧的,就讓櫻木老師來教導你各科目的準備方式,一起朝最高學府邁進吧!!

最早看到這部漫畫是在「蘋果日報」副刊所推薦的,然後也知道有同名日劇的播出,不過當時是覺得漫畫人物的畫風並不佳,所以也沒有特別注意。

結果後來看到日劇的播出,阿部寬主演漫畫內的主角人物,櫻木,相當有型,可說是演活了這部漫畫的主角,然後,耶... 劇情還挺特別有趣的,從阿部寬口中說出 "笨蛋" 的學生們,要把他們在一年內從幾乎不到國中程度,然後要能讓其考上日本首屈一指的東大,東京帝國大學,這個看似不可能的任務,要如何教導與訓練才能達成呢?

看了兩三集的日劇後,就趕緊到租書店借了這部漫畫,先借了三本,還真是好看,欲罷不能,又馬上去借了 4~11 集來看。前三集還好,是大概敘述著一個本來是三流學校聘用的律師,因為該學校幾乎要招不到學生了,而該位律師,想透過一些極端的手段,來拯救瀕臨破產的學校,所以刺激了兩位原本是叛逆的少男與少女,由該位律師擔任升學班的導師(因為他找不到老師有意願來擔任),保證能讓他們經過一連串有效的學習方式後,就能考得上日本第一流學府,東大,而且,很限定只能考最棒的學校,其它大學,一律不填,只為了當有金字招牌後,就能讓本來是三流的私立高中,成為升學的名校。

我覺得最精彩的,莫過於從第四集開始,導師櫻木,從開始請出昔日補習班名師的傳說人物,柳老先生,從數學開始登場,施以斯巴達式的填鴨教學法,卻又能不忘數學的本質,甚而從中找出學習數學的樂趣、把數學當成是一門藝術來欣賞。然後再由柳老師推薦介紹,陸續登場了教導英文的川口;教導國文的芥山;教導理科的阿院修太郎等,每一位名師各有其教學的特色,而在他們具個性化的指導過程中,也就帶出了學習所應該具備的心態、基本功夫與技巧了。

例如,英文老師川口,是以趣味教學的方式,化解了兩位學生對英文的偏見(他們認為日本能很難學得好英文),從開始動起身體,以搖滾的暖身操運動方式來聽披頭四的歌曲,進而學習從其過程來瞭解學習英文所需具備的基礎功夫與技巧。這裡的英文學習秘訣,總結有:

  • 不一定要說最完美的英語!拿出信心積極的使用英文!
    完美主義會害英語無用武之地。別怕丟臉,大大方方的說英文吧!
  • 別從單字或文法開始學英文!先從背誦開始吧!
    與其被動的閱讀英語,倒不如硬著頭皮寫作文。
  • 應考時不可以馬上就看題目!先做個深呼吸,然後環顧四周!
    先調成平常心,在審慎的面對問題。
  • 英文作文的計分基本原則是扣分制。
    東大的自由英文作文題,最忌諱哪些簡單的基本錯誤!!
  • 忘記是當然的,但是基礎要打好。
    勉強是不能持久的,所以聯考只是一時的勝負!

然後,國文老師芥山的登場,可真具有日本古時文人的氣質。他說了,國文才是所有教科的基礎,所以他在答應至該校教導的條件就是需要保留了比較大量的國文授課時間。理由何在呢? 因為,考試的題目,主要是以本國語言來去理解的,所以,若是學生的解讀力不夠,無法判讀出題者的意向,就提不出正確的解答了。這可有意思啦,這也是我個人在最近幾年一直認為,擔任專業職的顧問,就是要能 "讀出" 提問者的 "假設點",知道這個問題背後的本質與其論點,站在對方的觀點看問題時,自然而然,你就能很容易地抓出問題的茫點之所在了。再來,芥山老師說的這段真正就是我對學習有了突飛猛進的 "頓悟" 後的心得:

要能培養自己「正確的閱讀」能力,就是常常在心裡自問「為什麼」。走在街上也好,讀書時也好,你們必須把我機會自我訓練,不是漫無目的的走,也不只是讓目光追著文章的字面,而是學著設問。讀書的時候,就假想自己對筆者設問,像是在和他討論。 ...

實在是句句說到我的心坎裡,這一些學習的根本道理,沒有一個老師,有在學校教導過我瞭解這些箇中根本,學生時代,根本是以填鴨的方式來學習。是到了這幾年,個人從持續思考與摸索中所悟出而來的。可真羨慕,漫畫內的兩位學生,能在學生時代就能遇到像芥山老師這種通曉學習本質論的偉大導師!

芥山老師的學習秘訣,茲列出如下:

  • 「讀了會臉紅心跳」,先從這一步體驗開始!
    國學基礎要靠多讀書來培養,這雖然是老生常談,卻是真話。不道德的作品也無妨,只管讀就是了!!
  • 培養出讀出弦外之音的「閱讀力」!
    讀出弦外之音,那樣才能正確的掌握內容和筆者的意圖。
  • 讀書時也好,走在街上時也好,養成設問「為什麼」的習慣!!
    經常對周遭事物抱持好奇心,你不該停止思考!!
  • 熟記模式,讓自己擁有客觀思索事理的能力!
    常常問為什麼,再用自己的思維模式去設想反論。先學會這麼問答的模式!
  • 常問「為什麼」,以磨練孩子的思考能力!!
    可以培養出深思熟慮的習慣,鍛鍊思考力!

而最後登場的老師,就是負責理化的阿院修太郎,呼,漫畫把他畫成好像是愛因斯坦,相當逗趣。阿院老師先從「其實理化是很有趣的」的心理建設開始,所以揭露出「阿院式的分隔漫畫理解術」,藉由圖像式的漫畫來解釋物理的現象。因為是圖解的方式,所以很能讓學生加強記憶力,不容易忘記;然後,阿院又揭露出這幾年最為炙手可熱、最貼近與符合人們綜合左腦與右腦的思考模式:記憶樹!! 其實,也正是我幾年最常使用的筆記與整理學習技巧:心智圖(Mind Map)!! 而心智圖,就是畫個圖使各項知識之間產生關連,能幫助大腦動得更快更靈活,簡單的說,就是活用 關連與關鍵字,但卻足以讓你的思考能力提升原來只以左腦邏輯思考的好幾倍之多!!

這部漫畫,絕對不只是單純的漫畫而已,在日本,因為受該漫畫的影響,使得報考東大的人數,提升了二倍之多。 個人絕對極為強烈推薦!想瞭解學習的本質與技巧的人,應該要租或買來參考的,它絕對不是只有一般漫畫在描述人物互動談情說愛或誇張怪力亂神的劇情,而是藉由漫畫人物之間的互動,來說明甚麼才是學習的本質。

從 OOP 學習物件導向(Object-oriented)觀念時,你就不太容易去對一些基本的 "術語 (terminology)",下功夫來去 "參透" 其本質的意涵。例如,我雖然已經許久沒有教授基本物件觀念的課程,但在教授類別圖(Class Diagram)與物件圖(Object Diagram)時,多少就需要複習與說明什麼是類別,什麼又是物件。尤其,我最喜歡 "考" 程式設計的老手們,一個他們認為再基本與簡單不過的問題了: 物件是由誰誕生的?

嘿,如我預料,十個有九個回答:是由其所屬的類別誕生的。 是嗎? 我再請他們反思一個問題: 到底類別與物件的區別是什麼? 有人會回答:類別是死的;物件是活的。 這更有趣了,既然類別是死的,那麼,死的類別怎又能如何誕生出活的物件呢?

物件是有機的生命體,但類別卻不是,事實上,世界上根本就沒有 "類別" 這種有機體;而若是類別不是有機的生命體,那麼,物件就絕對不可能是由其誕生的!

為何會有公司、部門、員工等類別? 因為容易讓組織的層次分明,這是一種 "人工" 的分類;為什麼從狒狒的角度看人,就知道 "非我族類"? 因為這就是一種與生俱來的 "本能",沒有任何理由,是再自然不過、也不用說明的道理了。所以,將 "物件" 分門別類,可以是 "人為判斷",也可能是一種再自然不過的 "本能",沒有絕對的標準,要將物件歸為那一類,只能說,要將物件分屬為某一類,你要能作比較 "合理化" 的說明而已。

看似再簡單不過的問題,其實才真正是蘊含極為深奧的哲理,要能具體說明類別與物件的區別,這其實比想像得還困難。首先,你可必須先徹底思考,到底什麼是類別,為什麼需要有類別,要如何分類 ...等。關於類別,我會就我個人幾年來持續思考的體悟與認知,另外著文說明。"類別" 這個主題,絕對是在物件導向觀念中,最為關鍵的核心,因為,決定資訊系統因應需求變動而所能承受的震盪程度,取決於類別圖的設計,真正的軟體行家,如 Peter Coad 與 Martin Fowler,非常擅長將問題領域(Problem Domain)的概念(Concepts),抽象(abstract)化並依其本質與特性 "分門別類",具化並組成為軟體內部的靜態結構,得以支撐系統的穩定、彈性與延展度。

回歸主題,到底物件是由誰誕生的呢?
我們先看底下一行程式碼,試著想想看,這一行程式碼的意思是什麼。

 Employee e = new Employee();

我在某討論區看到有人是作類似這樣的解釋: 用 Employee "類別" 造出一個 "物件實體" e ,這樣的回答,其實仍與物件是由其所屬的類別所誕生的意思是一樣的。

"Thinking in Java" 一書中,起碼還作了比較合理的說明:
You must create all the objects (所有物件都必須由你建立)

那個 "你" 是程式設計者? 我寧願作這樣的解釋:
程式設計者(Programmer)透過 new 關鍵字來要求「請給我一個新物件」。

既然是 "請",也就代表了,程式設計者只是作宣告(Declare)而已,真正 "誕生" 物件者,其實就是 "系統"!,再說得白一點,就是應用伺服器(Application Server),或者,我個人蠻喜歡用 "Container" 這個術語,來說明應用程式其實就是透過它來取得系統層次的服務(System-level services),包括誕生物件等。

透過上述的說明,上面那一行程式碼比較合理的解釋應該像是這樣:
"個體(Instance) e 透過 new 關鍵字宣告,請系統(System)建立一個新物件,並將其分屬於 Employee 類別 (也就是具備了 Employee 類別所應有的 "本能")。"

至於 "Instance" 一詞,本質就是物件,國內一般書籍翻譯為 "實例",我很不喜歡,覺得不自然,也不夠貼近英文原意;翻譯成 "個體" 或 "實體",應該是比較恰當的,而個體代表的就是,一個個的物件是可以獨立運作、為有機的生命體,瞭解(know) "something" 以及做(do) "something"。

對了,"系統(System)" 這個字眼,若以比較 "擬人化" 的術語,那未,我覺得「駭客任務」電影中,那個 "母體(Martix)" 應該會是最佳的代名詞了。 :-)

延伸閱讀
不要從程式語言學習物件導向!

報名與詳細講座資訊請至:
http://www.hsdc.com.tw/modules/eguide/event.php?eid=23

第二場次(7/22)的研討會,由於學員的熱烈踴躍參加,到場率有已報名人數的9成滿(原計以8成計算座位),尚有現場報名的學員,致使原訂 60 人座位的教室大爆滿,造成許多學員們的不便,實在很抱歉。同時我們也希望,若已有報名卻因事無法前來者,請記得務必線上取消報名,好讓我們可以確實依報名人數來預訂研討會教室的大小。

第三次的研討會,也確定於九月份的第四個星期六,9/23 舉辦。

本次的研討主題,探討的是,當 CMMI 既然已經是國內既定且認定所要走的大方向後,那麼,軟體開發人員也沒有必要去抗拒或認定它是一個高度儀式化且為重型的開發製程。因為,CMMI 是個指導的綱要,它並非給予軟體開發公司具體的手段,它制訂了軟體開發的方向與目標,來引領軟體人員往 "對的方向" 走。那麼,我們所要作的只是,如何在這一個框架體制內,找出可以達成目標的手段,而這個 "手段",其實是可以透過主流的軟體開發流程,包括 RUP/Agile 等,並依據專案的規模與性質,來對開發流程與產出(Artifacts),作適當的裁適(Tailor),

我們可以利用倒推式的目標設定與規劃(Backward Planning)的方式,來找出如何達成目標的手段。所以,若 CMMI 為目標(Goal),那麼,RUP/Agile 就是可以達成目標的手段(How-to),兩者是互補,而非衝突。再則,回到最本質的一面,"人" 才是影響專案開發最關鍵的因子,我們更需要知道的是,在團隊開發人員的角色裡,應該具備的素養與修練是什麼,而要學習的技能與技術,又是那些,然後,才來找出適合軟體開發人員的 "利器(Tool)"。專案管理者,切莫本末倒置,先從工具與製程著手,而忘掉根本。

本次研討會的主要目的,就是:
  檢視目標與方向 → 找出手段(how-to) → 瞭解技能與技術/心理素養 → 善用利器

***
1. 請注意,由於需要保留及計算報名學員們的座位,請確定會前來參加後才填寫報名單,若不克前來,也請於報名表單或來信取消報名。若報名人數尚未滿額(每場人數以 75 人為限),不及報名者,若尚有名額,仍可以現場報名。
2. 基於成本問題,我們需要擔負包括大型會議室租借、光碟製作、點心茶水 ...等費用支出,不得已需要向報名學員,酌收少於電影票一半的研討費用 NT$150,我們的回饋會是講師群們的用心,將其專業的見解與體會,分享給研討會的學員們,當然,參加學員們也會拿到光碟片,內含了收集歷屆講座的內容與 EA 試用軟體及操作範例等,絕對是物超所值的。
3. 關於倒推式的目標設定與規劃,可以參考:「從孔明的「隆中對」看 Backward Planning
  

§講座主題:
 o 從主流開發流程找出對 CMMI level-2/3 實現的手段 -- 王克明(Kenming Wang)
  ˙1.檢視 CMMI level 2/3 幾個主要達成的目標
   ˙四大範疇(Category)/Process Area
   ˙General/Specific Goals and Practices
  ˙2.從主流軟體工程找出達成主要目標的手段
   ˙RUP to CMMI mapping
   ˙Agile to CMMI mapping
  ˙3.具體的實踐方案
   ˙合理且符合人性的流程(Process)裁適(Tailor)
   ˙檢視開發人員應具備的修練(Discipline) — 技能、技術與心理素養
   ˙評估可以協助涵蓋整個開發生命週期的利器 — 協同開發與管理的工具

 o 利用 EA (Enterprise Architect)實現 CMMI -- 賴信仁(Ringle Lai)
  1.EA 對 RUP to CMMI Mapping 的支援
   ˙EA 對 Project Management 的支援
   ˙EA 對 Process Management 的支援
   ˙EA 對 Engineering. 的支援
   ˙EA 對 Support. 的支援
  2.實機展示
   ˙實機展示 EA 對於 CMMI 專案的 Support

§時間:2006/09/23 (星期六) PM13:10 ~ PM 17:00 (三小時的講座時間,並留半小時供學員提問)
§對象:對軟體設計有興趣者,包括在職軟體開發人員及相關資訊科系講師及學生等。
§地點:開羅會議中心,台北市光復南路65號B2 (光復南路、市民大道交接口)。 請參考交通與地圖
§主辦單位:HSDc 軟體設計顧問中心。
§講師:賴信仁(Ringle Lai)、王克明(Kenming Wang)。
§報名方式:請填寫報名活動內的表格內容,包括姓名、公司/職稱、聯絡電話、Email、等,採現場繳費方式。
§備註:
 o 本次講座預計開放 75 個名額。(額滿即停止報名)
 o 因上課人數眾多,恕不直接提供列印教材,本次講座會直接附送「講座教材及示範操作光碟」等。教材內容並於講座前兩日公布於 HSDc. 網站,學員可自行列印講座教材。

---------------------------------------------------------------------
High-quality Software Design Consultant.
TEL: 02-27227179
service.hsdc@gmail.com
軟體專業設計論壇: http://www.hsdc.com.tw