2014年7月30日水曜日

テキストで作れるUML「PlantUML」

テキストで書けるUMLを見つけた。 http://plantuml.sourceforge.net/ 最終的にはdoxygenなどに埋め込んでドキュメント化ができるみたいだけど、 書き方になれるまでは専用エディタを使ってからのがよさそうだ。 https://code.google.com/p/plantumleditor/ こういうツールってソースコードを最初に書いて、 最後にできたものが設計書になるという便利なものだが 忘れがちになるのが設計フェーズを飛ばしてコーディングからスタートして 作り直しが発生して最終成果物がアウトプットされるまでにかかる時間コストが 増えてしまいがちになるので、設計はコーディングとは別作業にすべきと思う。

2014年7月1日火曜日

XML電文の解析、作成方法

XML電文のやり取りを行う方法。 Modelクラスを作ってシリアライズ、デシリアライズを行って、 パースエラーの例外を受信エラーとすればよい。
            model obj = new model();
            obj.id = 1;
            obj.name = "test";
            obj.param = new List();
            obj.param.Add(new data() { pos = 0, vol = 0 });
            obj.param.Add(new data() { pos = 1, vol = 1 });
            XmlSerializer serializer = new XmlSerializer(typeof(model));
            using(var fs = new FileStream(@"c:\temp\test.xml", FileMode.Create, FileAccess.Write))
            using(var sw = new StreamWriter(fs, Encoding.GetEncoding(932)))
            {
                serializer.Serialize(sw, obj);
            }
            using (StreamReader sr = new StreamReader(@"c:\temp\test.xml"))
            {
                model _model = (model)(serializer.Deserialize(sr));
            }
XML電文
<?xml version="1.0" encoding="shift_jis"?>
<model xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
  <id>1</id>
  <name>test</name>
  <param>
    <data>
      <pos>0</pos>
      <vol>0</vol>
    </data>
    <data>
      <pos>1</pos>
      <vol>1</vol>
    </data>
  </param>
</model>

Androider