狠狠撸

狠狠撸Share a Scribd company logo
T字形ER手法×Oracle APEX
=超高速開発
APEX User Group - 第1回Meetup@東京
2017/04/26
岩村 琢
自己紹介
沖電グローバルシステムズ株式会社??
?ソリューション事業部 システム開発課?岩村 琢(いわむら たく)
ハッカーズチャンプルーという沖縄県内のITコミュニティイベントで?
Oracle APEXのことを適当に話していたところ?
オラクルの人に見つかってしまい、本日ここに出頭しました。
会社紹介
沖電グローバルシステムズ株式会社(OGS)は、?
沖縄電力を中心とした会社の集まり「おきでんグループ」の一員です。
電力という生活に欠かせない?
社会基盤をITで支えています
Oracle APEX 開発実績①
社内の情報を一元管理するシステム。?
(案件管理、作業見積り?実績、進捗管理、勤怠、出張申請、etc.)
2013年4月?
2013年10月?
2014年2月?
2015年4月?
体制の発足、T字形ER手法で業務分析を始める。並行して技術要素の検証を実施。?
実装モデルの検討(システムのコア部分の実装)?
本格的な実装の着手。?
運用開始。システムを改善しながら継続リリース中。
社内情報システム(G:Hive)
Oracle APEX 開発実績②
親会社向け 情報連携システム
2015年4月?
2015年8月?
2016年4月?
仕様検討開始。?
実装開始。途中での仕様変更にもAPEXで柔軟に対応。?
運用開始。現在も機能追加しつつリリース中。
既存システムと他機関?他部署との間で情報連携するシステム。?
情報はOracleデータベースに保管し、APEXで表示?編集。?
他システムとの連携はXMLやCSVで送受信。
T字形ER手法(TM)とは
T字形ER手法(TM)とは?
株式会社SDI代表佐藤正美氏が提示するビジネス解析技法であり、
データ分析(DOA+)技法を用いて事業の事実を解析するビジネス
モデリング技法である。
株式会社SDI社ホームページ?http://www.sdi-net.co.jp/
ざっくり言うと、?
「事業解析 = データ の正規形 = アルゴリズム の I/O 化」?
を同時に実現する手法
つまり?
「事業解析ができたらDB設計が完了している」?
ということ。
「resource」と「event」という概念を使って?
事業(ビジネスモデル)を記述する。
T字形ER図の基本
実際に事業(ビジネスモデル)解析したT字形ER図(ごく一部)
T字形ER図の実例
これをどうやって実装するの?
T字形ER図と画面実装のパターン化
T字形ER手法におけるエンティティの関係を?
どのような画面として実装するか?
あらかじめ決めておく。
①エンティティ単体、リソース?イベント(1:1)?
②イベント?イベント/VE/MO、HDR?DTL(1:N)?
③イベント間の対応(N:N)?
④エンティティ間の対照表?対応表(N:N)?
⑤みなしエンティティ(VE)?
⑥サブセット?
⑦再帰
画面実装のルール①
A(リソース/イベント)
個体指定子A 項目A1
項目A2
項目A3
R(リソース)
個体指定子R 項目R1
項目R2
項目R3
E(イベント)
個体指定子E
個体指定子R
項目E1
項目E2
項目E3
画面実装のルール②
E1(イベント)
個体指定子E1 項目E11
項目E12
項目E13
E2(イベント)
個体指定子E2
個体指定子E1
項目E21
項目E22
項目E23
A(MA)
個体指定子A
AH(HDR)
個体指定子AH 項目AH1
項目AH2
項目AH3
AL(DTL)
個体指定子AL
個体指定子AH
項目AL1
項目AL2
項目AL3
画面実装のルール③
E1(イベント)
個体指定子E1 項目E11
項目E12
項目E13
E2(イベント)
個体指定子E2 項目E21
項目E22
項目E23
EE(対応表)
個体指定子E1
個体指定子E2
項目EE1
画面実装のルール④
A(リソース/イベント)
個体指定子A 項目A1
項目A2
項目A3
B(リソース/イベント)
個体指定子B 項目B1
項目B2
項目B3
AB(対応表)
個体指定子A
個体指定子B
項目AB
画面実装のルール⑤
A(リソース/イベント)
個体指定子A 項目A1
項目A2
項目A3
AVE(VE)
個体指定子AVE
個体指定子A
項目AVE1
項目AVE2
項目AVE3
画面実装のルール⑥
A(リソース/イベント)
個体指定子A 項目A1
項目A2
区分Aコード
ASA(サブセット)
個体指定子A 項目ASA1
項目ASA2
項目ASA3
ASB(サブセット)
個体指定子A 項目ASB1
項目ASB2
項目ASB3
画面実装のルール⑦
A(リソース/イベント)
個体指定子A 項目A1
項目A2
R(再帰表)
個体指定子A
個体指定子A'
項目R1
項目R2
お題:超シンプルなチャットアプリ
T字形ER図 DDL文
CREATE TABLE CHAT_USER
(
CHAT_USER# VARCHAR2(12) NOT NULL,
CHAT_USER_NAME VARCHAR2(50) NOT NULL,
PRIMARY KEY (CHAT_USER#)
);
CREATE TABLE CHAT_GROUP
(
CHAT_GROUP# VARCHAR2(12) NOT NULL,
CHAT_GROUP_NAME VARCHAR2(50) NOT NULL,
PRIMARY KEY (CHAT_GROUP#)
);
CREATE TABLE CHAT_MEMBER
(
CHAT_MEMBER$ NUMBER(10,0) NOT NULL,
CHAT_USER# VARCHAR2(12) NOT NULL,
CHAT_GROUP# VARCHAR2(12) NOT NULL,
ADMIN NUMBER(1,0) NOT NULL,
PRIMARY KEY (CHAT_MEMBER$)
);
CREATE TABLE CHAT_TALK
(
CHAT_TALK# VARCHAR2(12) NOT NULL,
CHAT_MEMBER$ NUMBER(10,0) NOT NULL,
TALK_TS TIMESTAMP NOT NULL,
TALK_TEXT VARCHAR2(1000) NOT NULL,
PRIMARY KEY (CHAT_TALK#)
);
?自動?生成?
(TMD-Maker)
お題:超シンプルなチャットアプリ
実際に作ったOracle APEXアプリをご覧ください
最後に
?T字形ER手法はシンプルですが非常に奥が深く、?
?まだまだ勉強中です。?
??→興味ある方、ぜひ一緒に勉強しましょう。
?現状、APEX 4.2.6で作り、そのままになっている。?
?バージョンアップしたいがやってない(調べてない)?
??→安全にバージョンアップする手順を教えてください。?
?
?まだまだクラウド利用不可という制約の中で?
?システムを作らないといけないことが多いです。?
??→オンプレミスを見捨てないでください。
?沖縄という遠隔地ではありますが、今後も積極的に?
?APEXユーザ会に関わっていきたいです。?
??→ゆたしくうにげーさびら
岩村 琢
ご清聴ありがとうございました

More Related Content

T字形ER手法とOracle APEXで超高速開発