LoginSignup
7
2

More than 5 years have passed since last update.

コーディングする前に...

Last updated at Posted at 2019-03-13

はじめに

丁度昨日、Djangoで作ってるシステムを一部公開したら、Twitterの友達に開発過程を聞かれて、DMしても私の文章力では上手く伝わらないと思ったのでこの記事を書くことにしました。

また、内容に関しては要件定義の話ではありません
コーディング前の事でもありますのでコード書いたりはしません

itschool.PNG

需要分析

簡単に紹介します。
Django school(仮名前)は今回の記事の分析用モデルになります。
複数ITスクールが登録されて、公開授業して、生徒募集するようなシステムになります。
分類すれば、複数店舗存在するECサイトになります。
先ずこの三つの要素から分析していきます。

  • データ
  • アクション

単独分析していきます

1.役

Django School に以下の役を持つユーザーが存在します:

ゲスト —— ログインしていない者
会員 —— ログインしたユーザー
スクール運営者 —— スクールの管理者
admin —— 最高管理者

2.データ

会員—— モデル名 UserProfile, アドレスなどの基本情報が入ってます
スクール —— モデル名 school,スクールの基本情報が入ってます
コース —— モデル名courses ,例えば[Django入門編]が一つのコースになります
セッション —— モデル名 session,一つのコースに複数セッションが存在します,例えばセッション1.Djangoは何?
ビデオ —— モデル名video,一つのセッションも複数のビデオが存在します
受講したコース —— モデル名user_course,会員が何コースを勉強してる,普通のECならオーダーモデルの役割になります;
講師 —— モデル名 teacher,講師のプロフィール,スクールと関連してる場合が多い
問い合わせ —— モデル名 userask,スクールとユーザ間のコミュニケーション用

3.アクション

ユーザとデータのやりとりは基本この四つになります

作る Create
調べる Read
編集 Update
削除 Delete

具体例を見ていきます

1.ゲスト

ゲストはスクールリストや詳細を調べます
ゲストはどんなコースが公開されているのか調べます

2. 会員

会員は自分のプロフィール修正できます
会員はスクール,コース,講師などをお気に入りに追加できます
会員は公開コース視聴することができます
会員はレビューできます
会員はスクール側に問い合わせできます

3.スクール運営者

スクールは受講者確認できます
スクールはスクールプロフィール編集可能です
スクールは新しいコース追加できます
スクールはコースの内容編集可能です
スクールはコース削除可能です
スクールは講師追加可能です
スクールは会員の問い合わせに対して返信可能です

モジュールの整理

1.モジュールリスト

需要に基づいてシステムをいくつのモジュールを分けられます

  • 会員モジュール
  • スクールモジュール
  • コースモジュール
  • やり取りモジュール

2.依存関係

モジュールリストができたら、間の依存関係ついて簡単に見てみましょう。
やり取りモジュール会員モジュールスクールモジュールコースモジュールに依存します。
コースモジュールはまた会員モジュールスクールモジュールに依存します
各モジュールの依存関係は下記の画像で表せます
121.PNG

3.開発手順

下階層のモジュールは上階層に依存しますので、上から優先開発していきます
1.会員モジュール
2.スクールモジュール
3.コースモジュール
4.やり取りモジュール

おまけMVP商品

mvpとは何か?
簡単にいえば、顧客に価値を提供できる最小限の製品や、それを使ったアプローチのことをいいます。

今回のDjangoSchoolで例に挙げると:
このアプリに関しては、どんな機能が必要不可欠なのか?

オンライン教育サービスの核心は会員に良いコースを受講できること。
そのため、会員モジュール,スクールモジュール,コースモジュール,レビューアクションと問い合わせアクションが必要不可欠になってきます

他に勉強した内容をtwitterにあげて自慢する機能。可愛いマスコットキャラクター作ってるゲームする機能など、あったら面白いかもしれませんが、重要ではないです
デベロッパーとしては基幹機能完成したら、早く納品する、リリースするの方がもっと重要です

まとめ

ここまできたら、コーディングに入ってもいいでしょう

7
2
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
7
2