<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Yukun&#039;s Blog &#187; Note of the Day</title>
	<atom:link href="http://www.yukun.info/blog/category/note-of-the-day/feed" rel="self" type="application/rss+xml" />
	<link>http://www.yukun.info</link>
	<description>難しいことは分かりやすく、簡単なことは面白く紹介</description>
	<lastBuildDate>Thu, 26 Jan 2012 03:33:59 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Note of the Day &#8211; 2009-03-22</title>
		<link>http://www.yukun.info/blog/2009/03/note-of-the-day-2009-03-22.html</link>
		<comments>http://www.yukun.info/blog/2009/03/note-of-the-day-2009-03-22.html#comments</comments>
		<pubDate>Sun, 22 Mar 2009 14:30:02 +0000</pubDate>
		<dc:creator>yukun</dc:creator>
				<category><![CDATA[Note of the Day]]></category>
		<category><![CDATA[Design Pattern]]></category>
		<category><![CDATA[List]]></category>
		<category><![CDATA[Multithread]]></category>
		<category><![CDATA[Note]]></category>
		<category><![CDATA[Stack]]></category>

		<guid isPermaLink="false">http://www.yukun.info/?p=1411</guid>
		<description><![CDATA[1. 主なデータの管理・取り出し方法 LIFO (Last-In First-Out): キューなどに使われる。 FIFO (First-In First-Out): スタック。再帰的な処理をする際、実行中の状態を保存し &#8230; <a href="http://www.yukun.info/blog/2009/03/note-of-the-day-2009-03-22.html">Continue reading <span class="meta-nav">&#8594;</span></a><p><a href="http://www.yukun.info/blog/2009/03/note-of-the-day-2009-03-22.html">Note of the Day &#8211; 2009-03-22</a> is a post from: <a href="http://www.yukun.info">Yukun&#039;s Blog</a></p>
]]></description>
			<content:encoded><![CDATA[<p>1. 主なデータの管理・取り出し方法</p>
<ol>
<li>LIFO (Last-In First-Out): キューなどに使われる。</li>
<li>FIFO (First-In First-Out): スタック。再帰的な処理をする際、実行中の状態を保存しておく為にも使われる。</li>
<li>LFU (Least <strong>F</strong>requently Used): 参照頻度が最も少ないものを取り出す。</li>
<li>LRU (Least <strong>R</strong>ecently Used): 未使用時間が最も長いものを取り出す。</li>
</ol>
<p>2. 多態性 (<strong>Poly</strong>morphism ⇔ Mono-morphism: 単態性) : <strong>同じ名前</strong>のクラス(型変数)でも格納されているインスタンスによって<strong>違う振る舞い</strong>をすること。Java記述言語仕様で具体的に実現する場合は、以下の3通りが考えられる。</p>
<ol>
<li>抽象メソッドAが定義されたインターフェイスを実装した二つのクラスは、そのインターフェイス型の変数にインスタンスを格納し、それぞれ実装されたメソッドAを実行すること。</li>
<li>基底クラスIのメソッドBを派生クラスJでオーバーライドし、基底クラス型の変数に派生クラス型のインスタンスを格納し、IのメソッドB経由でJでオーバーライドされたメソッドを実行すること。</li>
<li>↑のを抽象クラスに置き換えても可。</li>
</ol>
<p>例：　<a href="http://www.yukun.info/blog/2009/03/java-design-pattern-simple-factory.html" title="Java, デザインパターン: Simple Factory - インスタンスの生成方法を任せる - Yukun's Blog">Simple Factory &#8211; インスタンスの生成方法を任せる &#8211; Yukun&#8217;s Blog</a></p>
<p>3. OSI (Open Source Initiative)はOpen Sourse の定義としてOSD (Open Source Definition)を定めている。派生著作物に元のソフトウェアとは異なる名前やバージョンをつけるように要請することができる。</p>
<blockquote><p>
オープンソースの定義 (<a href="http://www.opensource.jp/osd/osd-japanese.html" target="_blank">http://www.opensource.jp/osd/osd-japanese.html</a>)</p>
<ol>
<li>再頒布の自由</li>
<li>ソースコード（を含んでいなければならない）</li>
<li>派生ソフトウェア（を元のソフトウェアと同じライセンスで頒布することを許可しなければならない）</li>
<li>作者のソースコードの完全性(integrity)</li>
<li>個人やグループに対する差別の禁止</li>
<li>利用する分野に対する差別の禁止</li>
<li>ライセンスの分配</li>
<li>特定製品でのみ有効なライセンスの禁止</li>
<li>他のソフトウェアを制限するライセンスの禁止</li>
<li>ライセンスは技術中立的でなければならない。</li>
</ol>
</blockquote>
<p>4. 主なシステム開発手法</p>
<ul>
<li><em>ウォータフォールモデル</em>: 上流→下流工程順。進捗管理と資源分配は簡単だが、工程の後戻りと仕様変更が困難。頻繁に後戻りが発生する欠点もあり。</li>
<li><em>エボリューショナルモデル</em>: 最初にシステム全体のプロトタイプモデルを作成して、それをバージョンアップさせていくモデル。レビューと仕様変更は容易だが進捗管理が困難。</li>
<li><em>スパイラルモデル</em>: ウォータフォールモデルとエボリューショナルモデルを融合したモデル。システムをいつかに分割し、その部分ごとに設計→プロトタイプ作成→評価を繰り返す。仕様変更はしやすい。</li>
<li><em>インクリメンタルモデル</em>: 共同開発可能でかつ独立したサブシステムに機能を分割し、それぞれを同時に開発、段階的にリリースしていく。利点は全ての機能がそろっていなくても最初のリリースから<strong>システム全体の動作を確認</strong>できる。</li>
</ul>
<p>5. DFD (Data Flow Diagram)で用いられる図形要素は、データの源泉（と吸収)、プロセス、データストア、データフローなどがある。ERD (Entity Relationship Diagram: E-R図)は関連、実態、属性などがある。<br />
参考: <a href="http://ja.wikipedia.org/wiki/%E3%83%87%E3%83%BC%E3%82%BF%E3%83%95%E3%83%AD%E3%83%BC%E3%83%80%E3%82%A4%E3%82%A2%E3%82%B0%E3%83%A9%E3%83%A0" title="データフロー図 - Wikipedia" target="_blank">データフロー図 &#8211; Wikipedia</a>、<a href="http://ja.wikipedia.org/wiki/%E5%AE%9F%E4%BD%93%E9%96%A2%E9%80%A3%E3%83%A2%E3%83%87%E3%83%AB" title="実体関連モデル - Wikipedia" target="_blank">実体関連モデル &#8211; Wikipedia</a></p>
<p>6. ホワイトボックステストでの4つの網羅</p>
<ol>
<li>命令網羅</li>
<li>判定条件網羅</li>
<li>分岐網羅</li>
<li>複数条件網羅</li>
</ol>
<p>7. <em>多重プログラミング</em>では<strong>演算処理が中心</strong>のプログラム同士だと、CPUの使用率が上がるためシステム全体の<strong>スループットは低下</strong>する。</p>
<p>8. ある作業工程Aの<strong>最遅開始日</strong>はクリティカルパスから工程Aの所要日数分だけ前倒しした日程である。それ以降は全体の日程に影響を与える（クリティカルパス自体が伸びる）。</p>
<p>9. ガントチャートは縦軸：人員、作業内容で横軸：時間の図で、工程管理に用いられる。各作業の開始・終了納期や進捗状況の把握が容易。しかし、作業の遅延による影響はわかりずらく、将来の予測も立て難い。作業の相互関係やマイルストーンの把握には向かない。<br />
<a href="http://ja.wikipedia.org/wiki/%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB:GanttChartAnatomy.png"><img alt="Gantt Chart" src="http://upload.wikimedia.org/wikipedia/commons/e/e2/GanttChartAnatomy.png" title="Gantt Chart" width="320" height="240" /></a><br />
参考：<a href="http://ja.wikipedia.org/wiki/%E3%82%AC%E3%83%B3%E3%83%88%E3%83%81%E3%83%A3%E3%83%BC%E3%83%88" title="ガントチャート - Wikipedia" target="_blank">ガントチャート &#8211; Wikipedia</a><br />
<h4>関連すると思われる記事：</h4>
<ul class="similar-posts">
<li><a href="http://www.yukun.info/blog/2009/03/java-observe-event-model-view.html" rel="bookmark" title="2009年3月17日">Java: イベント駆動によるModelとViewの分離 &#8211; Observer パターン</a></li>
<li><a href="http://www.yukun.info/blog/2008/09/cause-java-io-stream-corrupted-exception.html" rel="bookmark" title="2008年9月4日">java.io.StreamCorruptedExceptionが発生した原因とその解決策の一例</a></li>
<li><a href="http://www.yukun.info/blog/2008/07/boost-thread-mutex-condition.html" rel="bookmark" title="2008年7月25日">C++, boost::thread : スレッドの同期と排他制御 &#8211; mutex、conditionクラス</a></li>
<li><a href="http://www.yukun.info/blog/2008/06/python-list2.html" rel="bookmark" title="2008年6月12日">Python: リストの要素の追加と削除、取出し &#8211; append()、extend()、pop()、remove()メソッド</a></li>
<li><a href="http://www.yukun.info/blog/2009/03/java-design-pattern-simple-factory.html" rel="bookmark" title="2009年3月15日">Java, デザインパターン: Simple Factory &#8211; インスタンスの生成方法を任せる</a></li>
</ul>
<p><!-- Similar Posts took 10.987 ms --></p>
<p><a href="http://www.yukun.info/blog/2009/03/note-of-the-day-2009-03-22.html">Note of the Day &#8211; 2009-03-22</a> is a post from: <a href="http://www.yukun.info">Yukun&#039;s Blog</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.yukun.info/blog/2009/03/note-of-the-day-2009-03-22.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

