Quantcast
Viewing all articles
Browse latest Browse all 8691

【自分用】Node.jsアプリの設計の手順

Twitterのようなアプリを設計する際

①要件定義

<機能要件>
投稿を作る。
投稿を編集する。
投稿を削除する。
投稿をお気に入りとする。
投稿に対してコメントをする。

などの基本的な機能を定義することを言います。

<非機能要件>
機能に付随する要件やセキュリティ要件

などを定義する。

②用語定義

上記の要件定義であがった用語を定義する。

用語英語表記意味    
ユーザーuser投稿の利用者
投稿tweet投稿をすること
お気に入りfavorite投稿をお気に入りに登録すること
コメント comment投稿に対してコメントをすること

用語の表す対象の意味付けをしっかりすることで、思わぬ実装ミスを防ぐことができます。

③データモデリング

ER図などを使い用語の関係性などを定義する。
用語設計をすることによって、要件に漏れがないか、仕組みに問題がないかをチェックすることができます。

ユーザー1 --------- *投稿1 ---------*お気に入り

④URL設計

内容を表示するページ構成を設計する。
同じページ上に表示できるものは一緒のページをする。

・トップページ/投稿一覧ページ
・自分の投稿/コメント/お気に入りを表示するページ
・投稿を作成するページ
・投稿を編集するページ

ページURL

パスメソッドページの内容 
/GETトップページ/投稿一覧ページ
/tweet/:tweetidGET自分の投稿/コメント/お気に入りを表示するページ
/tweet/newGET投稿を作成するページ
/tweet/:tweetid/editGET投稿を編集するページ

WEBAPIのURL

パスメソッド処理内容 方法
/tweetPOST投稿をするフォーム
/tweet/:tweetid?edit=1POST投稿を編集するフォーム
/tweet/:tweetid?delete=1POST投稿を削除するAJAX
/tweet/:tweetid/user/:userid/favoritePOST投稿をお気に入りするAJAX
/tweet/:tweetid/user/:userid/commentPOST投稿にコメントをするAJAX

④モジュール設計

Expressなどのフレームワークを使えばモジュール設計は簡単ですが、
ここではMVCに当てはめてみます。

MVC

モジュール設計はMVCフレームワークを使うと整理がしやすいです。

Model

Modelはデータモデリングのことを指し、データの管理を行うモジュールを当てはめます。
Modelモジュールはmodelsディレクトリの配下におきます。

ファイル名models/user.jsmodels/tweet.jsmodels/comment.jsmodels/favorite.js
役割ユーザーの定義と保存ツイートの定義と保存コメントの定義と保存お気に入りの定義と保存
View

Viewは見た目、HTMLなどを生成するテンプレート(pugやEJS)を当てはめます。
Viewはviewsディレクトリの中におきます。

ファイル名index.pugnew.puglayout.pugedit.pug
役割トップ/投稿一覧モジュール新規投稿モジュール基礎モジュール投稿編集モジュール
Controller

ControllerはModelとViewをコントロールする部分で、Node.jsだとルーティングを指します。

ファイル名routes/tweet.jsroutes/comment.jsroutes/fovorite.js
役割ツイートの処理コメントの処理お気に入りの処理

参考:N予備校 プログラミングコース


Viewing all articles
Browse latest Browse all 8691

Trending Articles