iT邦幫忙

2019 iT 邦幫忙鐵人賽

DAY 12
0
Cloud Native

Cloud Native Startups:一個簡單的垃圾分類器與計算平台系列 第 12

[Day 12] 軟體循環經濟 (Continuous Auto Monitoring Systems)

在這個「循環工廠 (Circular Factory)」中,我們會需要一個軟體,它是一個雲原生架構,因為它就像是這個工廠的靈魂,指揮著這座工廠進行高效率的運作。以下我們就秉持著「需求、測試、設計」的精神來實現它,並以軟體循環經濟為目標。

值得注意的是,接下來的測試代碼更貼近於驗收測試,驗收測試不是單元測試。我們區分這兩者是因為它們著重的價值與內涵不同;驗收測試是寫給業務方的,單元測試是寫給程式設計師的;驗收測試更著重於介面的層級,如 API 或 UI,這正是我們軟體循環經濟想要做的。而兩者確實有共同性,共同性是它們的主要功能其實不是測試,而是文件與規格,它們描述並驗證了系統的設計、行為與結構是否達到指定的規格,這一點有其使用價值。

監測設施之種類及量測項目


  • 在這個做垃圾集中與分類的工廠中,需要一個連續自動監測設施 (Continuous Auto Monitoring Systems,簡稱 CAMS),它可以連續自動「採樣 (Sampling)」、「分析 (Analyzing)」 與「記錄 (Recording)」。監測設施有許多種類,例如:粒狀污染物、氣狀污染物、稀釋氣體、排放流率等。
  • 粒狀污染物監測設施 (CAMS_ParticulateMatters),其量測項目為:不透光率 (Opacity)
  • 氣狀污染物監測設施 (CAMS_GaseousPollutants),其量測項目為:二氧化硫 (SulfurDioxide)氮氧化物 (NitrogenOxides)一氧化碳 (CarbonMonoxide)總還原硫 (TotalReducedSulfur)氯化氫 (HydrogenChloride)揮發性有機物 (VolatileOrganicLiquid)
  • 稀釋氣體監測設施 (CAMS_DilutionGas),其量測項目為:氧氣 (Oxygen)
  • 排放流率監測設施 (CAMS_FlowRate),其量測項目為:排放流率 (FlowRate)溫度 (Temperature)
  • 各種監測設施之量測項目 (SamplingItem),將隨現實演進增減。
[TestMethod]
public void TestNewCAMS_ParticulateMatters()
{
    CAMS_ParticulateMatters CAMS_PM = new CAMS_ParticulateMatters();
    CAMS_PM.SamplingItemList.Add(new Opacity());
    Assert.IsNotNull(CAMS_PM);
}

[TestMethod]
public void TestSamplingItemFactory()
{
    CAMS_ParticulateMatters CAMS_PM = new CAMS_ParticulateMatters();
    XDocument doc = XDocument.Load("CAMS_SamplingItemList.xml");
    var query =
        from c in doc.Descendants("CAMS_SamplingItem")
        where (string)c.Attribute("CAMS") == "CAMS_ParticulateMatters"
        select c;
    foreach (XElement e in query)
    {
        SamplingItemBase item = SamplingItemFactory.CreateSamplingItem(
            (string)e.Attribute("SamplingItem"));
        CAMS_PM.SamplingItemList.Add(item);
    }
    Assert.IsNotNull(CAMS_PM);
}

https://ithelp.ithome.com.tw/upload/images/20181022/20107753BQ2hIkZ1Od.png


上一篇
[Day 11] 軟體循環經濟 (Unit Operation and Unit Testing)
下一篇
[Day 13] 軟體循環經濟 (Monitoring Data and Computing Regulations)
系列文
Cloud Native Startups:一個簡單的垃圾分類器與計算平台22

尚未有邦友留言

立即登入留言