2009年7月20日 星期一

CMMI流程領域

CMMI流程領域可分為四類,分別為:支援、工程、專案管理、流程管理。
支援類:
原因分析與解決方案、決策分析與解決方案、度量與分析、流程與產品品質保證、建構管理。
工程類:
確認、驗證、產品整合、技術解決方案、需求發展、需求管理。
專案管理:
量化專案管理、風險管理、整合的專案管理、供應商協議管理、專案監控、專案規劃。
流程管理:
組織訓練、組織流程績效、組織流程定義、組織創新與推展、組織流程專注。

若以階段來分,可區分如下:
階段二:
需求管理、專案規劃、專案監控、供應商協議管理、度量與分析、流程與產品品質保證、建構管理。
階段三:
需求發展、技術解決方案、產品整合、驗證、確認、組織流程專注、組織流程定義、組織訓練、整合的專案管理、風險管理、決策分析與解決方案。
階段四:
組織流程績效、量化專案管理。
階段五:
組織創新與推展、組織創新與推展。

2009年7月17日 星期五

Unit Test Tool - .NET

Reference:
首先在Project->properties中加入Microsoft.VisualStudio.QualityTools.UnitTestFramework這個reference。
Class:
常用的Class為Microsoft.VisualStudio.TestTools.UnitTesting.Assert。
Links:
UnitTesting的介紹為:http://msdn.microsoft.com/zh-tw/library/microsoft.visualstudio.testtools.unittesting.aspx
Assert的方法介紹為:http://msdn.microsoft.com/zh-tw/library/microsoft.visualstudio.testtools.unittesting.assert_methods.aspx
範例:
(1)比較兩個數字
double firstnumber = 10.0;
double secondnumber = 20.0;
double delta = 9.0;///兩個數字的差異大於此數字即判為不同
Microsoft::VisualStudio::TestTools::UnitTesting::Assert::AreEqual
(firstnumber,secondnumber,delta);
(2)比較兩個物件
Microsoft::VisualStudio::TestTools::UnitTesting::Assert::AreEqual
(this->label1,this->label2);

2009年7月16日 星期四

CMMI流程領域組件

CMMI流程領域組件可以分為三大類:
(1)必要的組件 (成果):
說明一個組織要滿足某一個流程領域所需要達成的成果。
(2)期望的組件 (作法):
說明一個組織要達成某一個必要的組件所需要執行的作法。
(3)助益的組件 (細部描述):
提供細部描述以協助組織開始著手思考,如何達成必要的組件與期望的組件。

每個相關組件描述如下:
流程領域:
一個領域下相關執行方法的集合,當它們共同執行時,滿足一系列被視為對改善該領域是重要的目標。例如:建構管理(CM)、組織訓練(OT)。
目的:
說明流程領域的目的。
前言:
說明流程領域所涵蓋的主要觀念。
相關流程領域:
列出與流程領域有關的流程領域參考資料,並反映流程領域間高層級的關係。
特定目標 (SG):
描述必須用來滿足該流程領域唯一的特徵。
一般目標 (GG):
必須能夠呈現執行流程領域流程制度化的特徵。
特定目標與執行方法摘要:
提供特定目標高層的摘要。
特定執行方法 (SP):
一種活動的說明,它對達成相關的特定目標是重要的。
典型的工作產品:
列出特定執行方法所產出的範例。
細部執行方法:
一個詳細說明,提供解釋與執行特定或一般執行方法的指引。
一般執行方法 (GP):
達成相關的一般目標之重要活動。
一般執行方法的詳細說明:
提供指引以說明一般執行方法要如何應用於流程領域。
註釋:
緊密附帶在任何其它模式組件的文字。它可能提供細節、背景或原由。
範例:
包含文字與項目清單的組件,通常用框線加以區隔。
強化:
一個與特定專業領域有關的註釋或範例。
參考資料:
指相關流程中附加或是更詳細的資訊。

CMMI 表述

CMMI表述可分為連續式表述與階段式表述。連續式表述為一組織可以選擇改善單一流程的績效,因此可能多個流程改善至不同等級。等級的描述為能力度等級。階段式表述為組織選擇系統化的方式,一次一階段改善流程。等級的描述為成熟度等級。
能力度等級的各等級描述如下:
0,不完整級:
一個沒有執行或部分執行的流程。
1,執行級:
已執行流程是滿足流程領域特定目標的流程,它支援並使所需工作能夠產出工作產品。
2,管理級:
它會根據政策規劃與執行流程;任用具備技能的人員,並給予足夠的資源以產出可控制的產品;納入相關的關鍵人員;監督、控制及審查;並評估遵循流程說明的程度。
3,調適級:
流程根據組織的調適指引調適組織標準流程,並納入工作產品、度量與其他流程改善資訊至組織流程資產。
4,量化管理級:
使用適當的統計和其它量化的技術進行控制。建立品質和流程績效的量化目標,並以該目標為管理流程的準則。
5,最佳化級:
利用瞭解流程中的共同變異原因,改善流程。最佳化流程以漸進與創新的改善,專注於持續改善流程績效。
成熟度等級的各等級描述如下:
1,初始級:
過度承諾的傾向、在緊急關頭放棄流程,以及沒有能力複製成功經驗。
2,管理級:
工作產品的狀況及服務的交付情形,在已定義的時間點是可以透明管理的。承諾是由相關的關鍵人員所建立,並視需求修訂。
3,已定義級:
一個已調適流程清楚地說明目的、輸入、允入準則、活動、角色、度量、驗證步驟、輸出,允出準則。
4,量化管理級:
組織與專案針對品質與流程績效建立量化目標,並使用它們當做管理流程的準則。
5,最佳化級:
透過漸增與創新流程及技術改進,專注於持續改善流程績效。

2009年7月15日 星期三

Unit Test Tool-JUNIT

下載:
可以從官方網站去下載(http://junit.org)
classpath:
將下載的jar檔解壓縮,把junit.jar的路徑設在Classpath環境變數。
例如:C:\java\junit4.6\junit-4.6.jar;
測試method:
底下為相加的method。

package Pingchi.Test;

public class MathTool {

public static int Add(int num1, int num2)

{

int r = num1 + num2;

return r;

}

}

Test Case:
底下為測試範例

package Pingchi.Test.UnitTest;

import Pingchi.Test.MathTool;

import junit.framework.TestCase;

public class MathToolTest extends TestCase

{

public void testAdd()

{

assertEquals(15, MathTool.Add(10,5));

}

public void testAdd2()

{

assertEquals(13, MathTool.Add(3,6));

}

public static void main(String[] args)

{

junit.textui.TestRunner.run(MathToolTest.class);

}

}

上面的範例,輸出的結果為第一個PASS(15 = 10 + 5),第二個Fail(13 != 3 + 6)

2009年7月14日 星期二

Compile NSIS Script file

使用C:\Program Files\NSIS\makensis.exe這個執行檔。
使用方法如下:
Dos:
"C:\Program Files\NSIS\makensis.exe" Test.nsi
Cygwin:
/cygdrive/c/Program\ Files/NSIS/makensis.exe Test.nsi