公告資訊

未經授權,禁止轉載網站文章與內容。如有需要可以跟我聯絡,謝謝!!




2010年7月18日 星期日

如何學習UML ?

最近,或許是跟微軟一直在倡導跟軟體品質、軟體生命週期有關的一些理論有關,很多朋友都對UML(Unified Modeling Language)有興趣,也來跟我討論了一些問題。比較有趣的是,這些朋友大多上過一些UML的課,卻還是不清楚,究竟要怎樣將UML應用在實務上。還有一些書籍,自己創造了一些翻譯的名詞(Use case diagram –> 用例圖 ??),讓想好好學UML的人一開始接觸就一頭霧水…

如何學習UML,必須要先從 "你希望UML可以為你做甚麼 ?" 開始看起。UML 大致上分成兩個部分:Notation 與 Metadata。所謂的Notation,指的就是在繪製UML圖表的時候,所使用的 "標記",像是最簡單的Actor (動作項目):

Actor Notation

而在UML的定義中,所有的Notation都有特定的Attributes,彼此之間也都有特別的關連與限制,這些就是在UML模型後面的Metadata。然而,對於90%以上的UML使用者來說,學會正確的使用Notation表達系統的設計,會比去搞懂Metadata來得重要。Metadata主要是給研究UML的大師們討論,以及開發UML工具的廠商使用的;對於一般使用者而言,深入了解像是”Classifier”的定義為何,不會是學習UML的重點。

"我該使用甚麼工具好 ?"

自從UML被神化之後,很多人一開始接觸UML,就開始先比較這個工具支援多少種UML模型圖、可不可以產生程式碼或是反向工程等等的課題 ---- 忽略掉原本UML的初衷,是要用來幫助專案開發團隊溝通的一種模型。

理論上,UML模型是系統的藍圖,藍圖做好了,根據藍圖來產生程式碼,應該是沒有太大問題。但就像是建築學發展了幾千年,到目前為止,藍圖畫好了,也沒有辦法直接變成大樓一樣;你永遠不要期望任何UML工具,可以在模型建置好之後,可以直接建立系統出來。就算你所使用的工具有這樣的能力,但是在這個很多PM連使用案例圖(Use case diagram)都畫不好的情況下,你又如何能確保你的模型是完整的 ?

雖然在UML 2當中,定義了十多種的圖形,然而在實務上,通常使用其中的4、5種模型圖就可以將系統描述得很清楚。若是各位有興趣學習UML,請記得學習如何建立基本的UML模型圖,遠比學習UML工具來的重要 -- 沒有人規定不可以用小畫家繪製UML模型圖,不是嗎 ?

因此,要學習UML,只需要使用容易上手,具親合力的工具即可。簡單、容易上手的工具,可以讓UML更容易導入專案當中;而過於複雜的工具,雖然看起來很厲害,但往往因為加了太多東西而導致不容易使用,反而增加專案與開發團隊的困擾…

另外,因為UML模型不可能脫離系統文件與專案的程式而獨立存在,因此你所選用的UML模型工具,最好還要支援專案團隊所使用的專案管理平台(ex: Team Foundation Server),以及開發團隊所使用的開發工具(ex: Visual Studio),以確保在專案開發的過程中,任何的角色都可以在任何時候存取或是修正UML模型。

我在新書<<Visual C# 2010與UML 開發實戰>>的最後一章,介紹了如何使用Visual Studio 2010 在解決方案當中建立UML模型,其中也包含了UML基本圖形的介紹。如果各位有使用Visual Studio 2010開發工具,或是對於UML模型有興趣的,不妨參考看看。

2010年7月17日 星期六

悅知文化 Visual Studio 2010 書系出版!!

最近真的是忙到不可開交,連自己寫的書正在預購中都沒有打廣告....

悅知文化針對Visual Studio 2010以及.NET Framework 4.0的應用程式開發技術,邀請了國內各方面學有專精的專家,出版了一系列的技術書籍。有興趣的朋友可以參考下面的DM,或是在天瓏網路書局(http://tlsj.tenlong.com.tw/WebModule/News/newsDispAction.do?sid=329) 以75折預購 !

2010年7月4日 星期日

總統府網站分析 -- 全民驗收(4)

沒想到到今天(2010.07.04) 還有這麼多defects … 居然第3頁開始了…

21. 月曆格式不一樣 (感謝仁哥提供)

這問題可以看出開發流程是有問題的…

image (日曆格式 - 1)

image (日曆格式 - 2)

image (日曆格式 - 3)

22. 無法查詢 (未完全修正)

某些操作下,選好日期之後,無法正常執行查詢功能:

image

[2010.07.04 15:19] 修改之後,變成不用輸入,或是隨便輸入都可以執行:[安全漏洞]

下面是輸入"22",然後按下 "查詢" 之後的結果:

image

23. 部分內容來源未通過無障礙網頁A+等級 –> 是否有弊端 ?

感謝Jerry網友分享的資料,根據行政院研考會的測試報告,這一個網站上線迄今仍有頁面未通過合約中所規範的無障礙網頁A+等級標準。檢驗報告連結網址:http://www.webguide.nat.gov.tw/enable/Servlet1?inputURL=http://media.president.gov.tw/MediaTotalView.aspx&analyzingGrade=APlus&isOnlyText=yes

image

而總統府的首頁也很巧妙的把"無障礙網頁A+等級" 的Logo拿掉:

這是6/29號的首頁文字,可以看到無障礙Logo

通過A+等級無障礙網頁檢測, 另開視窗. <-- 無障礙 Logo長這樣

image 這是7/4的首頁文字,無障礙Logo 已拿掉

感謝朋友的建議,有了圖片的證據,這些驗收的弊端都一覽無遺…

*********************************************************************************************************

另外一件很令人生氣的事,就是關於行政院研考會測試無障礙的網站,居然無法連結到總統府的網站提供測試報告;難道是有內神通外鬼,想要防堵民眾知的權利嗎?

證據如下:

監察院網站的無障礙測試報告結果:

image

總統府的無障礙測試報告結果:

image

我很確定我輸入的網址沒問題,各位網友也可以自己到研考會上試試:http://www.webguide.nat.gov.tw/wSite/sp?xdUrl=/wSite/enable/senseSinglePage.jsp&mp=1

很不可思議的,只有總統府的網站沒辦法測 !?

[有朋友使用IP位置可以測,但整件事還是很詭異]

**********************************************************************************************************

24. 出現無效的錯誤訊息

image

25. 錯誤日期送出後無錯誤訊息

image

26. 這是一個Bug,一般寫程式的人不會注意到。

當我在關鍵字欄位中,輸入"關鍵字"三個字的時候,查詢的結果必須是要和"關鍵字"三個字有關的,而不是傳回所有的資料。

image

27. 某些操作下,會出現下面頁面 :

image

這不是查詢沒有資料的結果,正常查不到資料是顯示這一頁:

image

28. 消失的網頁內容

某些操作下,網頁內容就會消失…

image

29. 中文版的調整好了,英文版也該檢查一下吧? (2010.07.07)

國際的門面,該注意一下….

image

[2010.07.04 23:00] 發現把今天日期搞錯了,已更正。

[2010.07.07] 上線一星期多了,還是一堆問題....唉

2010年7月3日 星期六

總統府網站分析 -- 全民驗收(3)

繼續編號下去:

11. 版面錯亂

某些操作之下,版面會亂掉:

image

12. 消失的兒童版內容:

兒童版的網頁內容某些操作下會消失,如:

image 這是原本頁面。

image 頁面內容不見了。

13. 網頁停止回應

某些操作下,網頁會停止回應,然後看到下面錯誤訊息:

image

14. 總統手稿

沒想到總統會親手回覆這種問題;頁面中也出現HTML標籤。

image

15. 網頁內容消失

在某些操作下,網頁內容會完全消失不見。

下面是清空的總統府建築歷史網頁:

image

正常的總統府看板:

image

清空的總統府看板:

image

16. 停用JavaScript之後,網頁亂掉,並且表單按鈕失效

提示訊息就這樣顯示在網頁外:

image

Banner 整個格式跑掉,字也擠在一堆:

image

更慘的是,表單的按鈕沒反應:

image

17.

某些操作下,系統會出現無法服務的錯誤訊息(系統沒有掛,但出現錯誤的頁面)

image

image

18. 安全漏洞

某些操作下,網站的內容會消失,同時出現 "登入" 按鈕:

image

19. 總統出訪專輯送輓聯

image

 

20. 模組無法載入? (安全漏洞)

某些操作下,網頁會出現下面錯誤:

image

英文版也有:

image

 

有空再繼續更新,不過這些問題也反映了程式開發與測試流程有許多問題。我也很想知道,花了納稅人700萬,到底UAT是怎樣驗收的?

(註:標題旁邊沒有加上"已解決"的都是未解決的問題。)

總統府網站分析 -- 全民驗收(2)

總統府網站上線迄今,發現許多的問題;花納稅人的錢,這樣也可以驗收…

1. XSS 安全漏洞 (未完全解決)

解決了一個error參數的問題,但是還有一些其他未解決的問題也都跟XSS算是有關連。

2. 手機版格式 (已解決)

總統府不是第一個提供手機版的政府網站,我不知道為什麼可以這樣上線。

要看圖請參考魚夫先生的網站(http://yufuhome.blogspot.com/2010/06/blog-post_1136.html)

3. 瀏覽器相容性測試沒做 (已解決)

首頁的日期,在Chrome中顯示如圖:

4. 信件表單格式與錯誤訊息 (已解決)

可以接收這種表單的業主不多....按鈕還跑到字上面,把字遮住

image

[2010.07.06] 最下面的錯誤訊息,應該是因為在改後台程式吧…

上線一星期就說要改版,明明就是還沒做好…

image 

[2010.07.07] 終於調整字體了… 唉

image

5. 無法直接回首頁 (已解決)

一般網站無論你在瀏覽哪一頁,按下網頁上網站的Logo,就可以回首頁。這網站到今天才有這功能。

6. 改善建議表單不見了

在某些操作下,會出現這樣的畫面

image

7. 兒童版網頁出現英文

只能說我們國家程度好 !

image

8. 兒童版出現"成人" 內容

總統與自由時報不合,不用跟小朋友說吧…

image

9. 治國周記

干發言人啥事?

image

10. 手機版網頁出現叉燒包

在某些操作下,手機版網頁全部的圖片都無法顯示:

image

(未完待續 …)

總統府網站分析 -- 全民驗收(1)

最近拜讀了某網友的三篇 "總統府網站分析" 的文章,不知所云 …

基本上,這個網站應該算是驗收了,所以才會上線。其實我不care這網站要花多少錢,反正不是我可以決定的(做案子的錢當然越多越好,資訊業才有前途);但因為這是一個國家對外很重要的形象網站,因此若是沒有做好,也等於是把臉丟到國外。

我相信專案團隊一定很辛苦,但以這樣的案子來說,既然要標,也應該事先做過評估;等到事後再把做不好的責任推給客戶,算是不負責任的。某網友的文章中提到,

"這個專案應該是成功的, 因為就專案而言, 就是讓業主非常滿意的交付尾款"

我不覺得業主會喜歡看到,付了尾款之後,得到一個一堆問題的網站之後,還要被廠商幹譙,然後每年還要付錢簽維護合約。

"這幾天就 Alexa 的觀點來看, 從 3000 名外進到 3000 名內 (見右圖), 流量也瞬間多了四倍, 也可以當作是一個小型的壓力測試了"

"至少這段時間也超過內政部與法務部, 感覺起來似乎有點全民網站的味道了"

網站在沒有預期的清況之下,流量瞬間多了四倍,就安全性來說,是令人擔心的事,不知道有甚麼好高興的。而網站所謂的 "壓力測試",或是其他安全性的測試,都是必須要在可以被控制的環境或是時間中執行。網站上線才用使用者流量做壓力測試 ? 我沒在任何QA 的書上看過。

另外,系統的安全性往往跟開發的架構與使用的技術與流程有關,但是不能把問題都丟給開發的架構與使用的技術。

"就正式與非正式的小道消息知道, 總統府網站的確有做過 Solid Code Analysis, 也就是所謂的 SCA, 這個至少避免了許多常見的問題, 包含 XSS, SQL injection, BOF, ... 等等的基本問題都被測試過了, 甚至小道消息是也不少人做了不少嘗試, 最後目前 "只" 發現這個 Explicit Parameters 的 Error Text Handling (ErrTxt) 錯誤訊息處理問題的問題."

請參閱 ITHome 的連結(http://www.ithome.com.tw/itadm/article.php?c=62025),這就是XSS的一種漏洞。如果像該網友所說,網站有做過SCA,也安全測過了,那上線半天不到就被發現XSS漏洞,那看不見的漏洞豈不是更多 ?

下一篇我會把迄今我所看到的已解決跟未解決的問題貼上來,跟大家分享。

最新回應

Loading...

即時與版主對話


(若狀態顯示"忙碌"時,我可能無法馬上回應。你可以留下Email,我會盡快跟你聯絡,謝謝喔!!)