Arduino 學習筆記-建構電子實驗平台

利用 Arduino 主板作電子實驗時,與麵包板的連接是必然的;又為了防止靜電損壞電子零件的風險,在桌面上準備一個固定的絕緣工作板也幾乎是必要的。

原廠的 Arduino 初學者套件內就包含了一組 Arduino UNO R3 主板、壓克力底板、小麵包板所組成的實驗平台;不過,大陸對岸的商家更有巧思,除了把原廠實驗平台的麵包板增大外 (可接上更多線材與電子零件),再加上了一塊 I2C 1602 LCD 液晶顯示模組,方便偵錯與顯示相關接口的傳輸訊息。
Arduino 實驗平台

組件只有三個-Arduino 主板 (UNO R3)、加長型 (指與原廠的標準配送麵包板比較) 麵包板、I2C 1602 LCD 液晶顯示模組 (接腳大幅精簡富彈性),以及一片壓克力底板 (16.5 x 11.5 cm)加上接腳的螺絲與銅柱等配件。
Arduino 實驗平台

閱讀全文 »

[烏龜訂購系統開發與實作-10]-從 EA 工具建立資料模型,並產出 DDL SQL敘述

下列步驟主要目地在於建立資料庫的資料表格,並實現由中間層控制物件連結至資料庫,以達成實際存取資料的目地。

十、從 EA 工具建立資料模型,並產出 DDL SQL敘述

  • 透過 EA 建立資料模型 (Data Model)的原因,在於 EA 具備了視覺化的資料塑模機制。且透過其轉換 (transform)功能,可以產出支援多達十數種資料庫的 DDL (Data Definition Language) SQL敘述。
  • 當然也可以使用如 eclipse 插件 (plugin)的資料庫管理工具,來規劃與建立資料表格。
  1. 在 [Logical View] 套件內,新增子套件 (sub-package)名為「Data Model」。
  2. 在該套件內新增一設計圖名為「Order Model」,設計圖類型為「Data Modeling」。
  3. 打開設計圖,從工具箱 (toolbox)中將「Table」圖形元件拖曳至設計圖內。本例會使用到兩個表格,其表格名稱與資料欄位參考如下:
    CREATE TABLE ORDER
    (
    	id INTEGER AUTO_INCREMENT,
    	item_no VARCHAR(3) NOT NULL,
    	order_date DATE,
    	PRIMARY KEY (id)
    )
    CREATE TABLE Item
    (
    	id VARCHAR(3) NOT NULL,
    	name VARCHAR(24),
    	price INTEGER,
    	PRIMARY KEY (id)
    )
  4. 閱讀全文 »

[案例研討] 烏龜訂購系統開發與實作 by UML and Java-09

九、撰寫控制類別的功能測試程式碼框架

** 至本實作步驟可以先把 EA Model 檔與 Eclipse Java 專案存檔。將整個專案目錄備份至 /Stage-1_1 目錄下,視為第一個開發階段的版本。 **
 o 下載 Java 專案與 Model 檔Stage1_1.rar

在 eclipse 環境下要撰寫測試程式碼是非常簡單的一件事,原因是 eclipse 已內建了 JUnit 測試框架 (JUnit Test Framework),作為一位程式撰寫人員,最起碼要為每一個控制性的功能(服務)類別撰寫功能測試程式碼 (functional test code),可以說是軟體品質的最基本保障,也是應該要具備的責任與良心了

  1. 在 Eclipse 內的 [Project Explorer],選擇 「訂購烏龜_Control.java」,按下滑鼠右鍵,選擇 [New] → [Other…],然後在 Wizard 對話框內,選擇 [Java] → [JUnit] → [JUnit Test Case] ,然後點擊 【Next】,在出現的對話框內,填入以下資訊:
    • 點選 「New JUnit 4 Test」。 (新版本的測試框架可以根據 Java 5.0 以上版本的新特徵特性來建構;更簡單、易於使用,以及更敏捷的初始化與清理等工作)
    • Package: com.order.test (端看開發人員的習慣,這裡是採用將測試程式碼均放置於原始程式碼所在位置的子目錄下)
    • Name:訂購烏龜_Control_Test (測試類別命名的建議為 原類別名稱 + _Test)
    • 勾選 setUp() method (讓測試類別可進行初始化的工作)。

    圖 13、新增 JUnit 測試程式碼的對話框
    (點擊圖片鏈接看原圖)圖 13、新增 JUnit 測試程式碼的對話框

  2. 閱讀全文 »

[案例研討] 烏龜訂購系統開發與實作 by UML and Java-08

八、新增 Java Model 專案,撰寫控制類別程式碼

 

1. 新增 Java Model 專案:
    (1) 將 Eclipse 切至「Java Perspective」。
    (2) 新增「Java Project」專案,專案名稱為「烏龜Model」。

圖 12、在 Eclipse 下新增 Java 專案
(點擊圖片鏈接看原圖)圖 12、在 Eclipse 下新增 Java 專案

2. 撰寫控制 (control)類別與資料傳遞 (data transfer)類別的程式碼框架 (skeleton)

訂購烏龜_Control.java:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
package com.order.control;
 
import java.util.*;
import com.order.dto.*;
 
public class 訂購烏龜_Control {
	public ArrayList<vo_ 烏龜資訊> list烏龜清單() {
		return null;
	}
 
	public VO_訂購確認資訊 結帳(VO_結帳資訊 m_結帳) {
		return null;
	}
 
	public boolean SaveOrder() {
		return false;
	}
}
</vo_>

閱讀全文 »

[案例研討] 烏龜訂購系統開發與實作 by UML and Java-07

七、Java 開發環境平台與建置

 

1. 下載與安裝所需 Java 開發工具
  • Tomcat 的角色如同在 Visual Studio .NET IDE 的 IIS,均是充當在 Web 專案開發下的 Web Container 機制。
  • VS.NET 幾乎無可選擇地,均是採用 IIS 作為 Web Container;而 Java Eclipse IDE,則可以選擇多種類型的 Web Container。本實作案例,以採用最普遍的 Tomcat 作為 Eclipse IDE 的主要 Web Container。
  • 除了 Web Container,當然也需要有開發 (兼測試)用的資料庫。相較於 VS.NET 採用自家 SQL Express 作為開發用的資料庫,Java Eclipse 則從以往所常用的 hsqldb,如今更多開發人員推薦的是更為開放、輕巧的 apache derby、可被內嵌於 eclipse 的輕量級 (lightweight)資料庫系統,且亦可以利用 eclipse DTP (Data Tools Platform) 輕易地操作存取 derby 資料庫。本實作案例,即採用 apache derby 作為開發與測試用的資料庫系統。

閱讀全文 »

[案例研討] 烏龜訂購系統開發與實作 by UML and Java-06

六、利用循序圖表達系統內部物件的互動

對每一個要實現的使用案例,開發人員可以利用一到多張的循序圖 (包括正常劇本、例外處理與擴展性的劇本),表達未來程式碼在系統執行期間 (Run‐time)的物件互動情形。

  1. 在循序圖內,大致列出主要參與的物件角色 (較偏 開發人員 所設計的物件,而非系統面的物件)。
    請注意,循序圖內主要表達的是物件之間的互動,所以在如 EA 工具中,將位於 「Project Browser」視窗內所拖曳至畫面內的 UML 圖形元素時,需要設定為「物件 ( instance)」,而非用連結 (link)。參考如下圖 5所示。

    圖 5、循序圖內的元素主要為物件
    (點擊圖片鏈接看原圖)圖 5、循序圖內的元素主要為物件

  2. 閱讀全文 »

軟體思維顧問

專職軟體輔導與教育訓練的獨立顧問。輔導企業資訊單位如何有效組織系統開發與維護;輔導開發人員達成有效的專業分工。傳授如何把軟體作軟 (Keeping Software Soft)的技能,得以提昇系統的彈性/延展,並進而創造系統的再利用價值。

Personal