開発シナリオ

 登場人物の整理
開発の状況設定で登場する人物についてまず整理する。
(XさんとYさんは問題設定のための仮想の人物で実在しない人物である)

人物 人物紹介
N君 ソフトウェア開発初心者(開発者本人)
Xさん、Yさん 開発コミュニティの先輩エンジニア

 以下の状況を仮定し、発生した問題・課題を解決する方法について検討する。

1. 開発背景


 N君はソフトウェア開発を学び始めたばかりの初心者で、現在N君を含め3人のメンバーで開発活動を行っているコミュニティに所属している。これまでメンバー同士のコミュニケーションツールとして市販のチャットアプリを使用していた。しかしチャットアプリを利用する過程で以下の問題点や要望があると明らかになった。

  1. 記述内容が曖昧になり遡って見返しにくい。
  2. 議題が複数になったときに見にくくなる。
  3. 相手の返答の内容に応じて返事を前もって書きたい。

 当然、上記項目は文章の書き方次第で解決することはできる。しかしチャットアプリでメールのような堅い文章を書くことは、手軽に使えるチャットの利点を損なうことにつながる。そのためチャットアプリの手軽さを維持しつつ、上記の問題を解決できれば、効果的にコミュニケーションを取ることができると期待される。

 N君は上記の問題・要望を解決する手段としてフローチャート機能を導入することを考えた。すなわち上記の問題に対して以下のように解決できると考えた。

  1. 議題に対してチャット内容をそれぞれ処理と捉え、一連の流れとして会話同士を連結し可視性を向上さる。曖昧な内容はメモとしてあとから追加できるようにする。
  2. チャートを並列で表示し、現在の議題数や会話の中のキーワードからそれぞれの議題に関係があるかどうかを一目で判別できるようにする。
  3. フローチャートのifブロック(ひし形)を使って、分岐先のメッセージを記述、必要に応じて内容を非表示にし、表示量を減らす。

 そこで、初心者であるN君はソフトウェア開発の経験を積むために上記の機能を搭載したチャットアプリを新規で作成することにした。
 また本アプリを識別するために、仮称を命名することにした。”flow chart” と “chat” の機能を合わせたので”FlowChat“と命名することにした。

2. 開発目的


 本プロジェクトの目的は以下のとおりである。

  1. 新規チャットアプリによるコミュニケーションの効率化。
  2. 初心者N君のソフトウェア開発技術向上。

 特に2つ目の項目を重視する。新規アプリを作成することで、設計から実装まで一通りのソフトウェア開発工程を経験することで体系的に技術を習得することを目指す。そのため開発はN君単独で行うものとする。