Skip to content

system-sekkei/library

master
Switch branches/tags
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
 
 
src
 
 
 
 
 
 
 
 
 
 
 
 
 
 

図書館の司書業務を支援するソフトウェア

司書業務とアプリケーションの対象範囲

このアプリケーションは、公立図書館の司書業務をサポートするソフトウェアです。

主な対象業務

  • 貸出と返却 ◎
  • 書架の整理 △
  • 選書と受入 〇

このアプリケーションでは対象としない司書の業務

司書の役割や関心事を理解するための参考情報です。 アプリケーションの仕様を検討する時に、司書の業務の全体を理解することが役に立ちます。

  • レファレンスサービス(相談) △
  • リファレンスサービス(記録) -
  • イベント(企画・運営・評価) -

図書館業務の課題

サンプルアプリケーションの使い方

利用方法

  • RDRA 2.0 ハンドブックを入手
  • このリポジトリーをクローン
  • Gradleタスク bootRunを実行(アプリケーションの起動)
  • Gradleタスク jigReportを実行(設計ドキュメントの出力)

この実装例の内容を学ぶためのチュートリアルが公開されました。
図書館サンプルのチュートリアル

アプリケーションの内容

RDRA 2.0 ハンドブックのサンプル「図書館システム」の以下の業務を実装しています。

business-usecase

アプリケーションは、http://localhost:8080でトップ画面を表示できます。

RDRA 2.0 ハンドブックの図書館システムの実装例

モデルベースの要件定義手法 RDRA2.0 ハンドブックのサンプル「図書館システム」の実装です。

設計ドキュメント

JIGを使ってソースコードから設計ドキュメントを自動生成します。ドキュメントはbuild/jig に出力されます。
JIGドキュメントの生成には、 Graphviz のインストールが必要です。

実装の範囲

ビジネスルールを中心に実装しています。

RDRA 2.0で可視化した以下のビジネスルールと関連するユースケース、画面、テーブルを実装しています。

  • 貸出制限ルール
  • 予約の状態遷移

貸出業務と貸出制限ルール

composit-usecase-loan

restriction

予約の状態遷移

reservatoin-state

以下の業務は未実装です。

  • 蔵書管理(資料の注文と蔵書として登録する)
  • 会員管理(会員の登録)

要件定義・仕様化・実装の継ぎ目をなくす開発手法

この図書館サンプルは、以下の考え方とやり方で実装しています。

  • 三層構造 + ビジネスロジック
  • 仕様の記述にプログラミング言語(Java,SQL,HTML)を使う
  • 仕様の可視化にツール(JIG)を使う

三層構造+ビジネスロジック

layers ビジネスロジックを独立させるドメイン駆動設計のアプローチを採用しています。

ドメインオブジェクトを中心にしたアプリケーション構造

mapping RDRAの要件定義モデルと実装を、以下のように対応させています。

Spring MVCとMyBatisを使い、ドメインオブジェクトを中心に周辺の外部形式との双方向のマッピングを実現するアプリケーション構造を採用しています。

ドメインオブジェクトのモデル(ビジネスロジックの表現)

model

ソースコードから、JIGで自動生成したドメインモデルのパッケージ構成図です。
このモデルを中心に図書館アプリケーションを組み立てています。

CCSR: Continuous Concurrent Stepwise Refinment

開発手法として、要件定義・仕様化・実装の継ぎ目をなくすCCSR手法を採用しています。

この図書館サンプル実装は、CCSR手法の実践例として開発しています。

ccsr

参考記事: 要件定義・仕様化・実装の継ぎ目をなくすCCSR開発手法

RDRAアドイン

RDRA手法のモデリングツールとして、Enterprise ArchitectのRDRAアドインを使っています。

JIG (設計可視化ツール)

Javaで記述した内容を、俯瞰したり、一覧するためのツールです。

プログラミング言語で仕様を記述するCCSR手法を実践するために必須のツールです。

RDRA - CCSR - JIG 関係図

RDRA-CCSR-JIG

RDRAのモデル要素(左)、三層+ビジネスロジックの構造(中央)、JIGの出力ドキュメント(右)の対応関係です。

ビジネスルール駆動

図の青背景でしめした、RDRAで可視化したビジネスルールをドメインモデルとして実装することが、このアプリケーションの中核です。

RDRA 2.0で可視化された内容と、実装された内容の対応は、以下のJIGドキュメントで確認できます。

  • ユースケース複合図
  • パッケージ関係図(depth4, depth5)
  • 区分図と区分使用図
  • メソッド呼び出し関係図

参考情報

About

図書館の司書業務を支援するソフトウェア

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •