イケダの独り言
イケダが日々思うことをつらつらと書いています
「カレンダー」プログラミング(その1) - イケダ的 システム開発入門 Vol.9
2007/11/11 - 22:43
今回から実際にプログラミングをしてみます。

今回はプログラムの概要とクラス設計をします。

設計?と思われるかもしれません。
本来だったら「プログラム(クラス)設計」は詳細設計の段階で設計者が行うべきです。
でも今回のカレンダーの開発では「プログラム(クラス)設計」はプログラマが行い処理をイメージしたままコーディングを行う事とします。

前回までの詳細設計で決めたプログラム(ページ)は「1ヶ月カレンダー表示」の1つだけです。

プログラムの概要は次の様になります。

◇プログラム名◇
1ヶ月カレンダー表示

◇処理◇
1.初期処理
2.URLリクエストの取得
3.指定月カレンダー情報作成
4.カレンダー表示
5.後処理

上記処理を元に今回は次の様なクラスの構成にします。

「カレンダー表示」クラス
1.URLリクエストを取得する。
2.URLリクエストから表示月を求める。
3.表示月を「カレンダー情報」クラスに与えオブジェクトを作成する。
4.作成したオブジェクトを元にカレンダーページの表示を行う。

「カレンダー情報」クラス
1.指定された月を取得。
2.月始から月末までの日付を求める。
3.求めた日付の曜日を求める。
4.求めた日付が何週目かを求める。

実際にクラス定義にすると次の様になります。

「カレンダー表示」クラス
◇メンバ変数
・表示月
・カレンダー情報オブジェクト

◇メソッド
・初期処理
・URLリクエスト取得
・カレンダー情報オブジェクト生成
・カレンダーページ表示
・後処理

「カレンダー情報」クラス
◇メンバ変数
・表示月
・日付情報(配列)

◇メソッド
・初期処理
・日付取得
・曜日取得
・週取得
・後処理


こんな感じです。
まだまだプログラミング言語が出てこないねぇ。
「カレンダー」ページ(プログラム)設計 - イケダ的 システム開発入門 Vol.8
2007/11/04 - 11:23
今回はカレンダーシステムのページ(プログラム)構成を設計します。

※以降はシステムのページ(プログラム)をページとします。

ページ構成を設計するに当たって次を作成します。

・ページ構成図
・ページ詳細

今回は1か月分のカレンダーを表示するのみなのでスゴク簡単です。

「1か月分のカレンダーを表示」の詳細をまとめると次の様になります。

◇システム名◇
カレンダー

◇ページ名◇
1ヶ月カレンダー表示

◇バージョン◇
1.0.0

◇概要◇
指定された月の1か月分のカレンダーを表示する。

◇アクション◇
1.表示月切り替え

前月,次月を表示するリンクを用意してユーザーにクリックしてもらう事により指定された月を表示する様にする。

ただし、過去12ヶ月,未来3ヶ月以外は表示出来ない様にする。


こんな程度です。
「カレンダー」データ要素設計 - イケダ的 システム開発入門 Vol.7
2007/10/23 - 23:22
今回は機能が扱うデータ要素を設計します。

データ要素を設計するに当たって次を作成します。

・データ関連図
・データベース定義(テーブル,インデックス等)
・データベース作成スクリプト

表示するカレンダーの1ヶ月分の日付は演算で表示させます。
今回は表示可能な過去12ヶ月と未来3ヶ月の月情報を管理するデータ要素を定義します。

月情報を管理するデータ要素は次の様になります。

◇システム名◇
カレンダー

◇データ名◇
月情報

◇バージョン◇
1.0.0

◇要素◇
1.月ID (数値) プライマリキー
2.対象年 (数値)
3.対象月 (数値)
4.有効フラグ (数値)

この月情報を簡単に説明すると、
対象となる年と月の有効フラグの状態で表示可能か判断します。
有効フラグの状態は現在日付の表示可能な対象年月を有効にしそれ以外は無効にします。
月IDはRDBで必要なプライマリキーとします。

これを元にデータベースのテーブル定義やテーブル作成スクリプトを作成します。

テーブル作成スクリプトはSQLのDDL(Data Definition Language)を利用します。
今回はテーブルの作成なので「CREATE TABLE」のSQLを作成します。

データ関連図はテーブルが1つしかありませんが画像の様になります。
※DBDesignerを使用しています。

今回はちょっと意味不明だったかな?
「カレンダー」機能定義設計 - イケダ的 システム開発入門 Vol.6
2007/10/03 - 23:50
今回は詳細設計の機能定義を作成します。

と言っても簡単なものですが。


◇システム名◇
カレンダー

◇バージョン◇
1.0.0

◇機能◇
1.カレンダー表示
・指定した月のカレンダーを表示する。

2.表示月変更
・表示月を変える事が出来るリンクを表示して、ユーザーがクリックする事で指定月を変更できる。


こんな程度です。
簡単だねぇ。
「カレンダー」詳細設計 - イケダ的 システム開発入門 Vol.5
2007/10/01 - 22:13
今回から詳細設計を作成します。

詳細設計では以下の内容を定義し実際にプログラムが作れる様な状態にします。

1.機能
システムで行う事が出来る機能を定義します。

◇作成物
・機能定義


2.データ要素
機能が扱うデータを定義します。

◇作成物
・データ関連図
・データベース定義(テーブル,インデックス等)
・データベース作成スクリプト


3.ページ設計(プログラム設計)
機能を構成するページ(プログラム)、またそれらの動作を定義します。

※今回はプログラムをページと呼ぶ事にします。

◇作成物
・ページ構成
・ページ詳細設計


とりあえずこの程度です。


今気づいたけどイケダ的システム開発だと情報処理技術者試験は合格できないね・・・。
ゴメンナサイ。
「カレンダー」概要設計 - イケダ的 システム開発入門 Vol.4
2007/09/30 - 14:14
イケダ的システム開発の始めの題材としてカレンダーを作ります。

どこにでもある教科書の題材みたいだけど許して下さい。

前回までの工程計画を踏まえて今回は概要設計を作成します。
と言ってもスゴク簡単なものだけど。


◇システム名◇
カレンダー

◇バージョン◇
1.0.0

◇概要◇
カレンダーを表示する。
1ページに1ヵ月分を表示する。
ユーザーにより表示月を変える事が出来る。
表示可能期間は過去12ヶ月から未来3ヶ月。

◇システム形態◇
Webシステム:Webブラウザによりシステムを利用できる。

データベース:RDB(リレーショナルデータベース)を使用する。


こんな程度です。
<
2025 / 05
>
    
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31