2008年8月24日 星期日

您的體重過胖或過瘦嗎 ?計算您的實際年齡?

網路找到的.........
(1) 您的體重過胖或過瘦嗎 ?
(2) 計算您的實際年齡‧以及已經生活了多少日子。

2008年8月14日 星期四

輕鬆輸出 ASCII 藝術畫

Ascgen dotNET - 輕鬆輸出 ASCII 藝術畫

在許多的說明檔裡常可以見到漂亮的 ASCII Art 作品,這些神奇的圖案到底是怎麼做出來的呢?其實只要有 ASCII Generator dotNET ,你也能夠自己輕鬆動手做喔。

官方網站:http://ascgendotnet.jmsoftware.co.uk/

下載網址:http://sourceforge.net/project/showfiles.php?group_id=133786&package_id=146945&release_id=577709

Tutorials : http://ascgendotnet.jmsoftware.co.uk/tutorials

淺談UML

資料來源:http://www.iiiedu.org.tw/knowledge/knowledge20031231_2.htm



UML是什麼?
UML是Unified Modeling Language的簡稱,中譯為「統一塑模語言」。其中:
Unified:UML是一種標準語言,廣泛運用於全世界。
Modeling:UML用途在於塑模(Modeling),也就是畫軟體藍圖。
Language:UML是一種塑模語言,而非程式語言或標示語言。
也就是說,UML是軟體系統發展人員用以建造模型,而這些模型使得工作團隊能夠:將系統具象化(Visualization)、將系統結構及行為規格化 (Specification)、建構(Construction)系統、以及記錄(Documentation)發展系統過程中之各項決策。

什麼是塑模?
作曲家會將其腦袋中的旋律譜成樂曲,建築師會將其設計之建築物畫成藍圖,行銷廣告人員會將其創意製作成簡報;這些樂曲藍圖簡報就是模型(Model),而建構這些模型的過程就稱為塑模(Modeling)。
軟體開發如同音樂譜曲及建築設計,其過程中也必須將需求、分析、設計、實作、佈署等各項工作流程之構想與結果予以呈現,這就是軟體系統之塑模。

為什麼要塑模?
絕大部份的音樂演奏都需要樂譜(除了少數即性式表演外)!
絕大部份的建築施工都需要藍圖(除非要蓋的是一間狗屋)!
同樣的,所有軟體系統的建構最好都有適當的分析設計藍圖,因為軟體開發的過程絕對不是任意的、隨性的、且戰且走的、天馬行空的。
UML在軟體塑模中所扮演的角色是什麼?
軟體發展之方法論中包含了程序(Process)及表示法(Notation)兩個部份,其中:
程序指的是系統開發的流程,例:瀑布模式、漸增模式、擴展模式、雛型模式、螺旋模式等。
表示法指的是建構軟體模型中所會用到之符號及規則。
UML所涵蓋的內容是表式法而非程序,UML是與程序無關的(Process Independent),也就是說,無論以任何程序來開發軟體系統,都可以使用UML來建構軟體模型。
UML與物件導向方法之關係
UML之訂定與物件導向方法的確有非常密切之關係。
UML中的各種符號及規則與物件導向語言(Java,C++)之結構有完整對應。
但是,UML絕對不僅限用在物件導向軟體開發,UML中有些概念與圖形甚至可說是與物件導向無關,
例:Use Case Diagram及Statechart Diagram
因此,軟體開發時無論是否採用物件導向方法,UML都是適用的。

UML的重要性
UML是OMG公佈的官方標準。
UML已為全世界軟體業者所廣泛採用,各大軟體公司(Microsoft、IBM、Oracle等)
在其產品中均支援UML。
UML的應用領域越來越廣(資料庫設計、韌體設計、資訊管理等)。

UML的現行版本
UML現行版本為1.5版(http://www.omg.org/technology/documents/formal/uml.htm),但2.0版將近完成,應會在短期內正式公佈(http://www.omg.org/uml)。

UML的內容到底是什麼?
UML對於軟體開發相關人員而言,其實就只是一組符號及規則,其中包括:
1.Basic Building Blocks(都有其相對的符號)
(1) Things
Structura˙Things:Class、Interface、Collaboration、Use Case、Active Class、Component、Node
Behaviora˙Things:Interaction、State Machine
Grouping Things:Package
Annotation Things:Note
(2) Relationships:Association、Generalization、Dependence、Realization
(3) Diagrams
Structural:Class、Object、Component、Deployment
Behavior:Use Case、Activity、Statechart、Sequence、Collaboration
2.Rules(符號的使用規則)
Name、Scope、Visibility、Integrity、Execution
3.Common Mechanisms(各類符號及圖形通用的機制)
Specification、Adornments、Common Division、Extensibility Mechanisms

如何學習UML?
找本淺顯易懂的入門書籍,先掌握UML的全貌,千萬不要被過多抽象的軟體工程專有名詞所絆住。記住:UML只是一組符號而已!
先學習讀圖,讓自己先習慣於UML之各種符號,尤其注意UML中以擴充機制(Extensibility Mechanisms)所產生之符號,此部份最容易使初學者迷惑。
練習畫圖,訓練自已將心中之構想以UML符號呈現出來,注意各類符號之正確表示法,不要隨意更改之。
選用適當之CASE工具,Rationa˙Rose,Microsoft Visio,Borland Together都是很好的軟體工具。
如何應用UML於軟體開發?
選擇一個適當之開發程序(Process),例:RUP
選擇一個適當之UML發展工具,例:Rationa˙Rose
相關人員接受完整之訓練

2008年8月13日 星期三

QT視窗程式設計

C++ GUI Programming with Qt 4, Second Edition
by Jasmin Blanchette; Mark Summerfield

Publisher: Prentice Hall
Pub Date: February 04, 2008
Print ISBN-10: 0-13-235416-0
Print ISBN-13: 978-0-13-235416-5
eText ISBN-10: 0-13-714397-4
eText ISBN-13: 978-0-13-714397-9
Pages: 752



UML簡介

第一章 概論
第二章 類別圖與物件圖
第三章 使用案例圖
第四章 活動圖
第五章 順序圖與合作圖
第六章 狀態圖
第七章 其他圖形與機制

ARM Developer Suite Linker and Utilities Guide

作業環境.... NET-Start! User’s Guide
上課時數: 三 整天 (18 hours)

ARM組合語言程式設計

ARM微處理器指令優點
�� 小晶片的面積低功耗
�� ARM架構還採用了一些特別的技術,在性能的前提下儘量縮小晶片的面積,並降低功耗。
�� 條件式指令
�� 所有的指令都可根據前面的執行結果決定是否被執行,從而提高指令的執行效率。
�� 連續存取資料
�� 可用載入/存儲指令連續傳輸資料,以提高資料的傳輸效率。
�� 同時完成邏輯處理和移位元
�� 可在一條資料處理指令中同時完成邏輯處理和移位處理。
�� 自動增減迴圈
�� 在迴圈處理中使用位址的自動增減來提高執行效率。

ARM處理器模式
�� ARM架構支援7種處理器模式。
�� 模式改變
�� 在軟體控制下可以改變模式
�� 外部中斷或例外處理也可以引起模式發生改變。
�� 大多數應用程式在使用者模式下執行。
�� 當處理器工作在使用者模式時,正在執行的程式不能存取某些被保護的系統資源,也不能改
變模式,除非例外(exception)發生。

ARM支援的7種工作模式
處理器模式 說明
System (sys) 執行特權作業系統工作
Undefined (und) 支援硬體輔助運算器的軟體仿真
Abort mode (abt) 實現虛擬記憶體和/或記憶體保護
Supervisor (svc) 作業系統保護模式
IRQ (irq) 用於通用中斷處理
FIQ (fiq) 支援高速資料傳送或通道處理
User (usr) 正常程式執行模式

how to use keyboard for mouse functions in linux X window system.

how to use keyboard for mouse functions in linux X window system.
You enable and disable it by hitting control-shift-numberlock.
Apparently the speaker should beep but mine never does.

Then you use the number pad to move around:

/ * - select mouse buttons: first, second, third in that order
. 8 . becomes . up .
4 . 6 becomes left . right
. 2 . becomes . down .

Holding one of 2,4,6,8 down and pressing number 5 down speeds the mouse
up.
Pressing 5 down on its own does a mouse click with the current button.
Pressing + down on its own does a double-click with the current button.
0 clicks and holds down the current button.
. releases the button that 0 held down.

資料來源:http://www.topology.org/linux/xcursor.html
本來在找其他資料,不小心找到好玩的功能.......
大概是說:如何使用鍵盤來控制滑鼠的功能,
當你按下 control-shift-numberlock 可以啟動此功能
其他功能自己看吧.....