LoginSignup
7
4

More than 5 years have passed since last update.

なろうリーダー(仮) 1日目: 要件定義

Posted at

前書き

スマホでネット小説(主に小説家になろう)を読むのが好きなのですが、なろう小説APIなるものが公式で存在していることを知りました。

興が乗ったので、小説をスマホにダウンロードする(接続が途切れた場合でも小説が読める)ツールを自身の勉強を兼ねて作りたいと思います(むかーし作ったアプリの改修だったり。)
似たようなアプリが星の数ほどある点は気にしない方針とします。

今後、当該Androidアプリが完成するまでのTIPSなどを記載していきたいと思います。
なお、本日の記事にはコーディング要素はありません。
(筆者のAndroid知識はICSから停滞している為、)

アプリ開発時に無駄に利用してみたいライブラリ/機能など

先行調査時に気になった機能/記事をスクリーニングしてみました。
ここら辺の技術を利用したいと思います。

1日目: 要件定義

ということで、まずはアプリでやりたいことを要件定義の形でまとめてみます。
- 以下の欲望要件を満たすこと。

機能要件

小説検索機能

  • 本家の検索と類似の検索ができること。
    • フリーワード検索/除外検索
    • キーワード検索
    • ジャンル選択
    • 読了時間/文字数
    • 総合評価ポイント
  • 本家のランキングと類似の検索ができること。
    • 日間/週間/月間/四半期/年間ごとのランキングが表示できること
    • ジャンル別にランキングが表示できること
  • 本家の特殊検索と類似の検索ができること。
    • 未評価作品一覧
    • 未感想作品一覧
    • 平均点順作者一覧
  • 表示結果から単一および複数の小説を選択してダウンロード機能に引渡しできること。
    • Gmailみたいに選択できること。
  • 各小説の更新頻度が確認できること(更新頻度が低くて完結が遠い小説は個人的に読む気が起きない…)

小説ダウンロード機能

  • 指定された小説をストレージに保存できること。
  • ダウンロード中はNotificationに進捗を表示すること。
  • ダウンロード結果はToastで表示すること。
  • ストレージの保存先は内部ストレージとSDカードを選択できること[TBD]
  • ダウンロード時の保存形式はHTML+CSSとすること[TBD]
  • SDカード保存時はダウンロードファイルをブラウザで表示できること。

小説ビューアー機能

  • 保存済みの小説内容を1話単位で画面に表示できること(WebViewを想定)。
  • 文字だけでなく挿絵画像も表示できること。
  • 文字色、背景色、文字の大きさを変更できること(CSSを想定)
  • 音量ボタンでスクロールできること(これ最も重要)
  • 広告は表示しないこと。
  • スワイプで前話・次話に移動できること。
  • 1画面で複数話の表示に対応すること[TBD]
    • 一番下まで表示したら次の話を読みこむ…実装をするかどうかは未定。

小説更新機能

  • 保存済みの小説の更新有無を確認し、更新があった場合はダウンロードできること。
  • 手動更新および自動更新の両方に対応すること。
  • 更新中はNotificationに進捗を表示すること。
  • 手動更新時はToastで更新結果を表示すること。
  • 自動更新時はNotificationに更新結果を通知できること。
    • 更新結果のNotificationが重複した場合の動作はTBD
      • 「案1: 複数のNotificationを表示」
      • 「案2: 後発優先で先発Notificationは削除」
      • 「案3: 先発と後発の結果をマージしてNotificationを表示」

小説管理機能

  • 保存済みの小説の一覧を表示できること。
  • 小説を選択して削除、および更新ができること。
  • ダウンロード済みの全小説の手動更新ができること。
  • ソートに対応すること。
    • 最終更新日時
    • 作者名
    • ダウンロード順
    • タイトル名
  • フィルタリングに対応すること。
    • ジャンル
    • フリーワード

小説目次表示機能

  • 保存済みの小説の目次を表示できること。
  • 作者として同一作者の別の作品を検索できること。
  • 章節表示に対応すること。
  • 1話ごとに最終更新日時が表示できること
  • 「未読」「既読」「既読だけど改稿された」が区別できること。

設定機能

  • 上記の各機能における設定項目を管理する機能(PreferenceFragmentを想定)
  • 回線状況によって小説を更新するかどうか
    • Wi-Fi
    • モバイル回線(ホーム網)
    • モバイル回線(ローミング利用時)
  • 小説更新を確認する頻度
  • ビューア用項目
    • フォントサイズ
    • フォントカラー (作者推奨値優先とか)
    • 背景色 (作者推奨値優先とか)
  • 対象サイト選択
    • ノクターン/ミッドナイト

チュートリアル機能

  • 使い方を表示+プロビジョニング初期設定

今後の進め方

今後は画面構成/クラス設計を検討していきたいと思います。

7
4
0

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
4