<?xml version="1.0" encoding="UTF-8" ?><rdf:RDF 
  xmlns="http://purl.org/rss/1.0/"
  xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
  xmlns:atom="http://www.w3.org/2005/Atom"
  xmlns:dc="http://purl.org/dc/elements/1.1/"
  xml:lang="ja">
  <channel rdf:about="http://w.atwiki.jp/ohtaman/">
    <title>雑多なメモ @ ウィキ</title>
    <link>http://w.atwiki.jp/ohtaman/</link>
    <atom:link href="https://w.atwiki.jp/ohtaman/rss10.xml" rel="self" type="application/rss+xml" />
    <atom:link rel="hub" href="https://pubsubhubbub.appspot.com" />
    <description>雑多なメモ @ ウィキ</description>

    <dc:language>ja</dc:language>
    <dc:date>2010-08-09T12:11:43+09:00</dc:date>
    <utime>1281323503</utime>

    <items>
      <rdf:Seq>
                <rdf:li rdf:resource="https://w.atwiki.jp/ohtaman/pages/24.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/ohtaman/pages/23.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/ohtaman/pages/22.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/ohtaman/pages/16.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/ohtaman/pages/21.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/ohtaman/pages/1.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/ohtaman/pages/14.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/ohtaman/pages/19.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/ohtaman/pages/20.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/ohtaman/pages/17.html" />
              </rdf:Seq>
    </items>
	
		
    
  </channel>
    <item rdf:about="https://w.atwiki.jp/ohtaman/pages/24.html">
    <title>設計の対象</title>
    <link>https://w.atwiki.jp/ohtaman/pages/24.html</link>
    <description>
      一言で設計と言っても

+システム設計
+ソフトウェア設計
+アプリケーション設計
+ネットワーク設計
+データベース設計
+アーキテクチャ設計
+移行設計
+運用設計

など様々な粒度・種類がある。


***システム設計

システムとは、ネットワーク、ハードウェア、ソフトウェアを含めた、「価値を提供する仕組み全体」のことである。
システムをスタックのような形で表現すると一般に

|アプリケーション|
|ミドルウェア|
|データベース|
|OS|
|ハードウェア|
|ネットワーク|

という形になる。
下層の3つ(OS、ハードウェア、ネットワーク)に関する設計をまとめて、インフラ設計と呼ぶ。
上層の3つ(アプリケーション、ミドルウェア、データベース)に関する設計をまとめて、ソフトウェア設計と呼ぶ。

以下、ソフトウェア設計に関連する設計を見ていく。

***アプリケーション設計

アプリケーションを設計することをアプリケーション設計と呼ぶ。

***アーキテクチャ設計
アーキテクチャとは、&amp;bold(){「設計の基本構造」}という意味であり、
アーキテクチャを設計することをアーキテクチャ設計と呼ぶ。

どのレベルでもアーキテクチャは存在するが、アプリケーション開発者にとって重要なものは、

+アプリケーションアーキテクチャ
+ソフトウェアアーキテクチャ
+システムアーキテクチャ

の3つである。

***移行設計
移行設計とは、開発が完了したシステムを既存のシステムに変わって本番環境で動作するように配置し、データなどを準備するための設計のことである。

特にデータの移行作業は、非常に難しい作業であるが、

-データ移行プログラムを作成する
-データベースのレプリケーションを作成する
-既存システムに新旧療法のデータベースに書き込みを行わせる

などの手段によって解決する。

***運用設計
運用方法、障害への対処方法の設計のことである。
ソフトウェア設計と関連する事柄として

-ログ出力やヘルスチェック
-フェールオーバーのためのクラスタリングなどのシステム構成
-バックアップやリカバリのためのミドルウェア・データベースの選定
-簡単な起動・停止方法の提供

などが挙げられる。


----    </description>
    <dc:date>2010-08-09T12:11:43+09:00</dc:date>
    <utime>1281323503</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/ohtaman/pages/23.html">
    <title>システム開発の流れ</title>
    <link>https://w.atwiki.jp/ohtaman/pages/23.html</link>
    <description>
      一般的にシステム開発は

+IT戦略の策定
+業務分析および改善
+システム企画
+要件定義
+設計
+実装
+テスト
+移行
+運用

という流れで進む。
[IT戦略の策定] から [要件定義] あたりまでを上流、それ以降を下流と言うことがある。


----    </description>
    <dc:date>2010-08-09T12:00:51+09:00</dc:date>
    <utime>1281322851</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/ohtaman/pages/22.html">
    <title>設計の目的</title>
    <link>https://w.atwiki.jp/ohtaman/pages/22.html</link>
    <description>
      設計をする目的として

+要件定義の内容の実現方法を検討する
+要件定義で明確になっていない外部仕様を定義する
+-要件定義の目的は「ステークスホルダーに対して、システムが必要とする機能や特性を明確に定義する」ことであるが、大前提として&amp;bold(){「開発工数を見積もる」}ためのものでる。外部仕様すべてが要件定義で定義されるわけではない。
+開発の関係者間で情報を共有する
+システムの品質を向上させる
+メンテナンスのための情報を残す

----    </description>
    <dc:date>2010-08-09T11:57:45+09:00</dc:date>
    <utime>1281322665</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/ohtaman/pages/16.html">
    <title>設計技法</title>
    <link>https://w.atwiki.jp/ohtaman/pages/16.html</link>
    <description>
      -[[はじめての設計をやり抜くための本]]を読む


----

[[目的&gt;設計の目的]]
[[工程&gt;設計の工程]]


**POA(Process Oriented Approach)

業務プロセスと実現する機能を中心にプログラムを設計する技法のこと
**OOAD(Object Oriented Analysis and Design)
***OOA(Object Oriented Analysis)
***OOD(Object Oriented Design)
**SOA(Service Oriented Approach)
**DOA(Data Oriented Approach)
***DFD(Data Flow Diagram)

**DB設計
***ER図


----    </description>
    <dc:date>2010-08-09T11:52:01+09:00</dc:date>
    <utime>1281322321</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/ohtaman/pages/21.html">
    <title>LSH</title>
    <link>https://w.atwiki.jp/ohtaman/pages/21.html</link>
    <description>
      Locality Sensitive Hash の略

二つのデータが似ていれば似ているほど高確率で衝突を起こすようなハッシュを用い、クラスタリング/次元圧縮などに利用する手法のこと。
類似度によってアルゴリズムが異なる。
Google News Personalization では [[MinHash]] が利用されている。

----    </description>
    <dc:date>2010-08-09T11:50:15+09:00</dc:date>
    <utime>1281322215</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/ohtaman/pages/1.html">
    <title>トップページ</title>
    <link>https://w.atwiki.jp/ohtaman/pages/1.html</link>
    <description>
      統計・解析、確率論、数理計画法、プログラミング技法 etc について、日々メモっていきます。

*サイトマップ

**統計・解析
-[[最小二乗法]]
-[[最尤法]]
-[[回帰]]
-[[主成分分析]]
-[[パス解析]]
-[[共分散]]
-[[共分散構造分析]]
-[[ロジスティック回帰]]

-[[ビタビアルゴリズム]]
-[[隠れマルコフモデル]]
-[[LSH]](Locality Sensitive Hash)
-[[MapReduce]]
-[[GPGPU]]

[[勝手にLink]]

[[興味のある論文達]]

[[設計技法]]

[[開発に便利なツール達]]

----    </description>
    <dc:date>2010-08-09T11:46:57+09:00</dc:date>
    <utime>1281322017</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/ohtaman/pages/14.html">
    <title>勝手にLink</title>
    <link>https://w.atwiki.jp/ohtaman/pages/14.html</link>
    <description>
      *統計・解析

朱雀の杜 (機械学習についてまとめたWiki)
http://ibisforest.org/index.php?FrontPage

RjpWiki (RについてまとめたWiki)
http://www.okada.jp.org/RWiki/

umekoumeda.net (機械学習・統計などについてまとめたノート・ソースコードがある)
http://www.cs.dis.titech.ac.jp/~umeda07/

*数理計画法

*プログラミング
**設計技法
**アルゴリズム

Hadoopで、かんたん分散処理 (MapReduceの簡単な解説)
http://techblog.yahoo.co.jp/cat207/cat209/hadoop/

いま再注目の分散処理技術 @IT
http://www.atmarkit.co.jp/fjava/index/index_distributed.html
-[[GoogleのMapReduceアルゴリズムをJavaで理解する:http://www.atmarkit.co.jp/fjava/special/distributed01/distributed01_1.html]]
-[[イロイロな分散処理技術とイマドキのWebサービス:http://www.atmarkit.co.jp/fjava/special/distributed02/distributed02_1.html]]
-[[MapReduceのJava実装Apache Hadoopを使ってみた:http://www.atmarkit.co.jp/fjava/special/distributed03/distributed03_1.html]]

クラウド技術の理解を深める Think &#039;IT
http://thinkit.co.jp/book/2009/09/01/76

クラウド、台頭! ITpro
http://itpro.nikkeibp.co.jp/article/COLUMN/20081007/316261/?ST=itproexpo

T.Kouya&#039;s Webpage 数値計算に関する授業ノートなどが載っている
http://na-inet.jp/
-[[Numerical Computation as Software:http://na-inet.jp/nasoft/]]

spring入門
-[[https://www.myeclipseide.jp/modules/contents04/index.php?id=32]]

----    </description>
    <dc:date>2010-08-02T19:58:49+09:00</dc:date>
    <utime>1280746729</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/ohtaman/pages/19.html">
    <title>RUP</title>
    <link>https://w.atwiki.jp/ohtaman/pages/19.html</link>
    <description>
      *RUP

IBM社ラショナルブランドのオブジェクト指向型ソフトウェア開発プロセス、およびその製品のこと

[[Wikipedia&gt;http://ja.wikipedia.org/wiki/%E3%83%A9%E3%82%B7%E3%83%A7%E3%83%8A%E3%83%AB%E7%B5%B1%E4%B8%80%E3%83%97%E3%83%AD%E3%82%BB%E3%82%B9]]

----    </description>
    <dc:date>2010-07-30T10:40:29+09:00</dc:date>
    <utime>1280454029</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/ohtaman/pages/20.html">
    <title>最尤法</title>
    <link>https://w.atwiki.jp/ohtaman/pages/20.html</link>
    <description>
      -[[EMアルゴリズム]]    </description>
    <dc:date>2010-07-28T12:17:35+09:00</dc:date>
    <utime>1280287055</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/ohtaman/pages/17.html">
    <title>はじめての設計をやり抜くための本</title>
    <link>https://w.atwiki.jp/ohtaman/pages/17.html</link>
    <description>
          </description>
    <dc:date>2010-07-26T16:17:06+09:00</dc:date>
    <utime>1280128626</utime>
  </item>
  </rdf:RDF>
