フレームワークによる開発 for NET FrameWork . Lv3くまーbyやじゅ.

Slides:



Advertisements
Similar presentations
Silverlight Producer コンテンツ作成 第一回 GKB48 セミナー 「学習型クラウド共有スペース GKB コモンズは何を目指すか」 2013.oct.30.
Advertisements

1 情報基礎 A 第 9 週 プログラミング入門 VBA の基本文法 1 準備・変数・データの入出力 徳山 豪・全 眞嬉 東北大学情報科学研究科 システム情報科学専攻 情報システム評価学分野.
InstallShieldLecture InstallShield でインストーラを作成する方法 ( 初級編 ) ソニーエンジニアリング 設計 3 部 1 課 齋藤佑輔.
データベースの基礎知識 ACEESS の基本操作. データベースの基礎知識 データベース  特定のテーマや目的に毎のデータの集合体 データベースソフトウェア  データベースを作成、管理するソフトウェアの総 称 Oracle(Oracle) IBM(DB2) Microsoft(SQL Server)
New WorkFriend (AS版・PC版 概要説明) <New WorkFriend とは?> ・ネットワーク環境の上で、データベースを日常業務に活用す る。 ・WindowsのExcelとリンクした、照会・更新・分 析をするツール。 <New WorkFriend の機能> 1.データベースの照会機能.
オブジェクト指向 プログラミング 第二回 知能情報学部 新田直也. 講義計画(あくまで予定) 第 1 回 プログラミング言語の種類と歴史 第 2 回 eclipse の基本操作 第 3 回 eclipse のデバッグ機能 第 4 回 構造化プログラミングの復習 第 5 回 演習 第 6 回 構造化指向からオブジェクト指向へ.
Web アプリをユーザー毎に カスタマイズ可能にする AOP フレームワーク
TeX で数式を書くための PowerPoint アドイン Ver (2011/06/26) Ver. 0.1 (2007/5/30)
オーダー端末操作手順書 WideNet株式会社 Ver.2013/01/30.
PROCESS 14:一般情報(2) InstallShieldLecture
WagbyR6.5 Update 14 PPT版 更新情報
発生生物学特論 PowerPoint の使い方
.NET テクノロジー を利用した SAP ソリューションの拡張 (3階層化) (評価環境構築ガイド)
WEBから確認できる 駐車場管理システムについて
~ 企業内の情報共有のために~ 暗黙知を→形式知へ キッズウェイナレッジのご提案 2003年7月 24日 - 第1版 -
Web-EDI方式 シナリオ1 [実験番号] : 実験タイトル 1 :標準類の評価
WagbyR6.5 Update 10 PPT版 更新情報
S2Container.NET, S2Dao.NET コミッタ 藤井 宏明
Win32APIとMFC H107102 古田雅基 H107048 佐藤一樹 H107126 山下洋平.
Log4netを使ったロギング機能 オガシン.
Log4netを使ったロギング機能 オガシン.
TeX で数式を書くための PowerPoint アドイン Ver. 0.1 (2007/5/30)
「RnR FixLinks Pro」解説(一般公開用・無償版)
WagbyR6.5 Update 12 PPT版 更新情報
EGSに対応した粒子軌跡と 計算体系の3次元表示ソフト - CGVIEW -
オブジェクト指向プログラミング(2) OOPの三大要素 「クラス」「ポリモーフィズム」「継承」
スティックライト for USB USB-ROMの開発手順について WindowsがUSBメモリから起動します。 株式会社ロムウィン
文献管理ソフトRefWorksの利用.
Visual Studio LightSwitchの概要
MSBuild 色々出来るよ 2011/04/02 お だ.
Magicのサブフォーム上に ガントチャート表示を実現
CSP記述によるモデル設計と ツールによる検証
リファクタリングのための 変更波及解析を利用した テスト支援ツールの提案
メッセージ機能 相手にメッセージを送信する 04 送信する相手を選んでメッセージを送信します。
かぞえチャオ!でコードレビュー 2013/10/20 Ciao-ware.
プログラミング演習3 第2回 GUIの復習.
Titanium Studioを使った アプリ開発 Vol.1
2004年度 サマースクール in 稚内 JavaによるWebアプリケーション入門
XNA Framework 2.0 SESSION 01.
図書館職員のための アプリケーション開発講習会
Windows Azure (CTP) 触ってみた
XNA Framework 2.0 SESSION 01.
オブジェクト指向 プログラミング 第二回 知能情報学部 新田直也.
VBA ( Visual BASIC for Application) を使えるようにする方法
シーケンス図を用いて実行履歴を可視化するデバッグ環境の試作
オブジェクト指向 プログラミング 第十四回 知能情報学部 新田直也.
すぐできるBOOK -基本設定編-.
Microsoft Office クイックガイド ~Outlook 2013~
Microsoft Office クイックガイド ~Outlook 2013~
3.1 PowerPoint の概要 PowerPointを使ってできること
ゲーム開発モデルの基礎.
発注者側サイト操作説明書 作成日:2004年6月 Ver1.0 初版 改 訂:2005年9月 Ver1.2 株式会社 コニファ.
Windows Azure (CTP) 触ってみた
インタラクティブ・ゲーム制作 プログラミングコース 補足資料
管理画面操作マニュアル <物件情報> 第5版 改訂 株式会社アクア 1.
アスペクト指向言語のための 独立性の高いパッケージシステム
データベース設計 第6回 DBMSの機能と操作方法(3) フォームとレポート
オブジェクト指向 プログラミング 第二回 知能情報学部 新田直也.
~目次~ Ⅰ.動作環境 Ⅱ.ファイルのダウンロード Ⅲ.システムのインストール Ⅳ.初期設定 Ⅴ.アンインストール
表計算ソフトを使って 万年カレンダーを作ろう!
TeX で数式を書くための PowerPoint アドイン Ver. 0.1 (2007/5/30)
情報基礎演習I(プログラミング) 6月8日 水曜5限 江草由佳
情報基礎演習I(プログラミング) 第8回 6月8日 水曜5限 江草由佳
アスペクト指向言語のための視点に応じた編集を可能にするツール
「拝啓、さかもとと申します」 2008年6月28日 わんくま同盟 勉強会初参戦。 ※最重要 -質問はご遠慮願います-
TeX で数式を書くための PowerPoint アドイン Ver. 0.1 (2007/5/30)
vc-1. Visual Studio C++ の基本操作 (Visual Studio C++ の実用知識を学ぶシリーズ)
「拝啓、さかもとと申します」 2008年6月28日 わんくま同盟 勉強会初参戦。 ※最重要 -質問はご遠慮願います-
地理情報コンテンツ・データベースコンテンツ新規作成
プログラム理解のための 付加注釈 DocumentTag の提案
Presentation transcript:

フレームワークによる開発 for NET FrameWork . Lv3くまーbyやじゅ

はじめに 実はどのように開発するのが良いのかよく分からない これは、外部の開発者と接する機会が少ないことと、 Google先生でも教えてくれない為、独自の開発方法 となり、いわば井の中の蛙状態となってしまっている。 ともかく今の開発方法を公開した上で、みなさんの 知識の情報を収集しようという作戦です。 ※本番では印刷資料と説明内容や説明順序を変更する可能性があります。

自己紹介 やじゅ@静岡の田舎 http://blogs.wankuma.com/yaju/ SL(大井川鉄道)が通っているところに やじゅ@静岡の田舎 http://blogs.wankuma.com/yaju/ SL(大井川鉄道)が通っているところに 住んでいます。 セッション  ・「ドラえもんの世界をオブジェクト指向で」   2月23日 わんくま同盟東京勉強会#17  ・「設計時の見落とし  Google先生も教えてはくれない」   3月29日 わんくま同盟大阪勉強会#17

説明手順 1.開発仕様について 2.フレームワークについて

開発仕様 ・開発内容 (仮定)わんくま販売管理システム ・モジュール構成について ・アプリケーション・ドメインについて ・開発内容 (仮定)わんくま販売管理システム ・モジュール構成について ・アプリケーション・ドメインについて ・フォルダ構成について ・開発方法について バージョンの付け方ってどうしてます? 

開発内容 (仮定)わんくま販売管理システム ・開発規模 プログラム本数 100本 DB Oracle10g 80テーブル ・開発ツール  ・開発規模   プログラム本数 100本   DB Oracle10g   80テーブル  ・開発ツール    Microsoft Visual Studio 2005 VB.NET2005  サードパーティ製    入力コンポーネント、グリッドコンポーネント、    帳票作成コンポーネント

モジュール構成 メニュー画面(ログイン入力画面を含む)のみ EXE形式、それ以外はDLL形式とする。 1画面(機能)で1プロジェクトとはせずに サブシステム単位でプロジェクトを分割する。 ※ここで言うプロジェクトは、ソリューションファイルを指す。 ※タスクスケジューラで動作させる処理は、EXE形式 または BATファイル+SQLPlus(ストアド実行) とする。  単独で動作させたい処理は、別途EXE形式で作成し、その中で該当するDLLを  呼ぶ形式で作成する。

アプリケーション・ドメイン .NETアプリケーションでは1プロセスの 中に型やセキュリティを管理する単位として、 AppDomainという器を作成する。 EXE形式では、1プロセスとなるため、 AppDomainを作成することになり 起動コストが高くなる。 DLL形式では、AppDomain内に DLLファイルが読み込まれ実行する。 注意点  DLLのアンロードはAppDomain  単位となるため、違う種類のDLLを読み  込めば、それだけメモリが増大する。

フォルダ構成 APPフォルダの中身 wnkMenu.exe wnkMenu.exe.config wnkMitusmori.dll  wnkJuchu.dll  wnkUriage.dll  wnkSeikyu.dll wnkShire.dll wnkZaiko.dll wnkMaster.dll wnkCommon.dll clsCommon.dll clsControlLibrary.dll clsDBAccess.dll 各サードパーティ製.dll x n本

開発方法 ・開発用にdllを起動するドライバを作成 ・バージョンの付け方について 外部プログラムの設定に指定 コマンドラインに起動内容を設定   外部プログラムの設定に指定   コマンドラインに起動内容を設定 ・バージョンの付け方について    <メジャー・バージョン>.<マイナー・バージョン>.<ビルド番号>.<リビジョン>    開発時のアセンブリバージョン、ファイルバージョン  

フレームワーク ・開発目的 ・共通仕様を決める ・フォーム、入力コントロールの継承と拡張 ・抽象化を理解 ・ポリモーフィズム ・前処理・本処理・後処理  ・入力チェックの統一化

開発目的 ・共通機能を内包することによりアプリケーション側の コードの絶対量が削減され、製造者の負担を減らす。 コードの統一化により、開発者のスキルの差が少なく なり、品質をある程度均一されることにより信頼性が 向上する。 ・型にはめる方が楽 自由すぎると思わぬ不具合を引き起こす可能性が高い  型にはめてしまう事で、中身の製造に専念させる。

共通仕様を決める ・画面最上部にファンクションキーボタン表示 ・Enterキーで項目移動 ・○○時(登録など)、再度、項目移動のチェック + 全体の整合性チェック ・項目移動で内容に変更なしなら、入力チェックはしない。 ・背景黄色の項目は検索画面を呼び出し可能 (F8キー連動)  ・背景緑色の項目は表示専用  ・入力項目を編集したなら、クリア時・終了時に確認メッセージを出力 ・検索項目ならF8キーを有効化、それ以外は無効化 ・グリッドコントロールならF5~F7キーを有効化、それ以外は無効化 ・行挿入、行追加が最大行数に到達ならF5、F6キー無効化 ・行削除が最低行数ならF7キーを無効化 などなど

フォーム、入力コントロール の継承と拡張 ・ファンクションキーを配置、モード表示ラベル、 タイトル表示ラベル、ステータスバー  タイトル表示ラベル、ステータスバー ・フォームの拡張プロパティ  編集フラグ、処理モード、フォームタイプ  ファンクションキー表示、検索画面の結果受取  検索保持コントロール、グリッド保持コントロール  などなど ・入力コントロールの拡張プロパティ  拡張Enabled、検索呼出  値変更通知、全チェック、項目値保持  などなど

抽象化を理解 関係・機能を抽出し、システム化したもの ジャンケン 虫拳 へび かえる ナメクジ グー チョキ パー 3すくみ 関係を抽象化

ポリモーフィズム オーバーライド(再定義)によって、中身を書き換える。 共通サブルーチン ポリモーフィズム 呼び出す側A 呼び出す側B 呼び出す側C 呼び出される側 呼び出す側が増えても 呼び出される側を修正 する必要がない  ポリモーフィズム 呼び出される側X 呼び出される側Y 呼び出される側Z 呼び出す側 呼び出される側が増え ても、呼び出す側を 修正する必要がない  オーバーライド(再定義)によって、中身を書き換える。

前処理・本処理・後処理 例 基本の考え方 更新アクション アクション 全入力チェック 前処理 前処理 本処理 本処理 後処理 後処理 各処理で異常なら次の処理へは 進まないで、処理を抜ける。 前処理 アクション 本処理 後処理 全入力チェック 確認メッセージを出力 登録します。よろしいですか? 前処理 トランザクション開始 本処理 正常ならコミット 異常ならロールバック 完了メッセージを出力 登録が完了しました。 後処理 継承元フォームにある程度記述し 必要なら、継承先にて書き換える。 初期化処理

入力チェックの統一化 ・各入力コントロールの入力チェック処理を、統一の入力チェックメソッド InputCheck に統一する。  InputCheck に統一する。 テキスト型、マスク型、数値専用型、日付型、コンボボックス型のValidating チェックボックス型、ラジオボタン型のCheckChanged Enterキー/Tab 移動で編集あり 検索画面の戻りの タイミング 全入力チェック 各入力コントロールの 入力チェック InputCheck どこから呼ばれたのかは 引数で渡されてくる。 継承先フォームにて 入力チェック処理を記述