質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.33%
Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

SQL

SQL(Structured Query Language)は、リレーショナルデータベース管理システム (RDBMS)のデータベース言語です。大きく分けて、データ定義言語(DDL)、データ操作言語(DML)、データ制御言語(DCL)の3つで構成されており、プログラム上でSQL文を生成して、RDBMSに命令を出し、RDBに必要なデータを格納できます。また、格納したデータを引き出すことも可能です。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Q&A

解決済

2回答

388閲覧

自作プログラム開発の計画方法について

One123456

総合スコア4

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

SQL

SQL(Structured Query Language)は、リレーショナルデータベース管理システム (RDBMS)のデータベース言語です。大きく分けて、データ定義言語(DDL)、データ操作言語(DML)、データ制御言語(DCL)の3つで構成されており、プログラム上でSQL文を生成して、RDBMSに命令を出し、RDBに必要なデータを格納できます。また、格納したデータを引き出すことも可能です。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

0グッド

1クリップ

投稿2025/02/19 04:44

編集2025/02/19 11:13

実現したいこと

自作のボードゲームアプリを開発するにあたり、以下の3点を実現したいと考えています。

  • 開発計画の確立:自作プログラムを開発する際の機能の洗い出しを行い、計画的に開発を進めたい。
  • 進捗管理の工夫:数日間作業を中断してもスムーズに再開できる方法を確立したい。
  • 失敗の記録と活用:試行錯誤の過程を記録し、同じミスを繰り返さないようにしたい。

発生している問題・分からないこと

1.ワイヤーフレームの作成(Figmaを使用)
画面遷移を整理したが、機能の具体的な洗い出しには至らなかった。
2.TODOリストの作成
一部の機能を書き出したが、詳細なタスクに分解できず、結局使わなくなった。
3.作業ログの記録
日々の作業内容をメモしたが、情報が整理されておらず再活用できなかった。

試したこと・調べたこと

  • teratailやGoogle等で検索した
  • ソースコードを自分なりに変更した
  • 知人に聞いた
  • その他
上記の詳細・結果

1.Figmaを使ったワイヤーフレーム作成:
画面遷移のみ確定しましたが、機能の洗い出しが出来ておらず設計が抽象的になり具体的な開発管理に繋がりませんでした。

2.TODOリストの作成:
曖昧なままのタスクが多く、実際の作業には使えなかった。

3.作業ログの記録:
日々の作業内容をメモしましたが、情報が整理されていないため、復帰時にすぐに活用できませんでした。
結果として、進捗状況を思い出すのに時間がかかり作業効率が低下しました。

補足

特になし

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

fana

2025/02/19 10:53

> 自作プログラム これを何か適当な物として仮定すると話がし易い可能性とかないですか? 「仮に××を作るとしたら~」みたいな.
One123456

2025/02/19 11:12

コメントありがとうございます! アドバイスいただいた通り、仮にボードゲームアプリの開発を前提にした内容に更新しました。
utm.

2025/02/19 14:24

投稿内容からおおよそ質問と呼べる文章が存在しません。 あなたはどのようなクエスチョンを抱えていて、どのようなアンサーが理想的か、明確にしましょう。 そもそもとして、作るソフト(アプリ)が決まっているのに、何をすればいいのか分からないというのは作るものそのものが決まっていないのと同義です。 また、あなたの記載する内容は アプリ開発をしたいのか、進捗管理をしたいのか、定型的なミスを防止/洗い出したいのか、はたまた最終的な目的があるのか、推測するのが困難です。 一度に複数の個別無関係の問題を立てて、一度に解決しようとするのは慣れている人ですら解決がかなり困難なスタイルです。 まずは、どう言った回答が理想的な答えなのかを明記してください。それが不可能であれば解決は諦めて別のことを考える時間にすることをおすすめします。 無駄な問いを存在しない答えを求め時間を無駄に過ごすのはあるあるです また、どういった意図で計画的な作業を目的にしているかなども明らかにすると良いでしょう。 良く考えれば不要な機能なのに、発想段階で整理出来ておらず使わないのに実装だけしようとして時間を食うことだってあります。 あなたが開発の計画を立てて、その計画が開発との結び付きとしてなんの意味もなかったなんてことになるかもしれないので、計画を立てることで何を得たいのかをはっきりさせた方が良いでしょう。 自分の脳みそを使ってください。
guest

回答2

0

アプリ開発は趣味ですか?何かの課題ですか?
まずは一日で作れる簡単なものにトライしてはどうでしょうか?そうすれば2と3は解決です。

そして、「曖昧なままのタスク」や「情報が整理されていない」というのが真の課題かと思います。

コーディングに入る前の作業に時間をかけてはどうでしょうか?しっかり設計できれば1機能の作成に1日を割り当てることで作業の中断そのものを無くせるかと思います。頭の整理をするためにもフローチャートなどの図表を書き起こすことをおススメします。手書きで十分です。

「失敗の記録と活用:試行錯誤の過程を記録し、同じミスを繰り返さないようにしたい。」については、他の人に迷惑をかけるレベルの失敗であれば再発防止が必要ですが、そうでないなら経験を積むことで自然と解決していくかと思われます。少なくとも「同じミスを繰り返さないようにしたい」と思っているということは「同じミスを繰り返」しているということを認識しているということなのであと一歩なのでは、と思います。

投稿2025/02/19 17:03

編集2025/02/20 09:43
meg_

総合スコア10823

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

One123456

2025/02/21 01:33

回答ありがとうございます。 ベストアンサーは別の方を選ばせていただきましたが、こちらの回答も非常に参考になりました。 >「失敗の記録と活用:試行錯誤の過程を記録し、同じミスを繰り返さないようにしたい。」については、他の人に迷惑をかけるレベルの失敗であれば再発防止が必要ですが、そうでないなら経験を積むことで自然と解決していくかと思われます。 特に個人開発の失敗について、マインドも参考になりました。 貴重なアドバイス、本当にありがとうございました!
guest

0

ベストアンサー

お仕事ではなくて趣味である 且つ 初心者的な状況 なのだとして想定して回答します.


開発計画の確立:自作プログラムを開発する際の機能の洗い出しを行い、計画的に開発を進めたい。

最初から必要な事柄を全て事細かに洗い出そうとかしなくても良いと思います.
(最初から全貌が見えていないからこそ困っているのでしょうから,無理な話です)

最初は 明らかにわかっているような 大まかな事柄だけの TODO リストでも作ればいいです.
ものすごーくざっくりしていて良いです.
で,以降は,実際に作業をしていると「ああ,これも必要だなぁ」とかいうのが出てくるので,その段階でそれを項目として TODO に追加していってください.

  • TODO リストは入れ子状にでもすると見やすいでしょう.項目をどんどん細分化なりしていけば良いです.
  • テキストファイルで十分です.
    最も編集しやすく,スピーディに閲覧でき,データの持ち運び方法も自明です.ファイルを小分けにしたり逆に統合したりするのに困ることもありません.
    ソースコードと一緒にリポジトリの管理物に加えても良いでしょう.
  • 記述フォーマットとかに過度に拘らないようにしましょう.【「自分が」見てわかること】だけが目的の物です.
    markdown みたいな形で書いておくと「何かのソフトに食わせると より見やすい表示が得られる」という利点があったりしますが,Optional な話です.

以下は,すごろくみたいなのを作りかけている状況での TODOリストのようなもの のイメージです.

* タイトル画面 * ※未定:プレイヤーの人数をここで決定? →とりあえず現在は仮実装として定数にしている. * ゲームプレイ * 盤面とコマの表示 * (仮)とりあえず十分小さい盤面なら表示できている. * ※課題:盤面が大きい場合はスクロール処理が必要そう. * さいころをふる処理 * [Done] 乱数で 1~6 を決める * さいころを振るアニメーションをつける * 指定した歩数だけ進む処理 * [Done] 指定された歩数分だけ座標データを更新 * 進んでいくのをアニメーション表示する * 止まったマス次第で何かが起こる * (仮) とりあえず「振り出しに戻る」だけを簡易的に実装 * ゴール判定 * [Done] 手番を次の人に回す処理 * ゲーム終了後(誰かがゴールした後)の状態 * その他 * アプリケーションにアイコンをつける * コマや盤面の絵をちゃんと描いたものに差し替える * (要らないかも?)盤面データを外部ファイルから読込む

とりあえず中核であろう ゲームプレイ の部分から作っていっている状況をイメージしました.
以下のような状況です.どうでしょう? 上記の TODO(のようなもの) の例から想像つくでしょうか?

  • タイトル画面とか無いので,起動するといきなりゲームが開始される.
  • さいころを振ってマスを移動していく,という基礎の部分はできていそう.
    • ただしアニメーション表示関係が無さそうなので,「一瞬で」出目が決定されたり,コマが移動先にワープしたりしている感じ.
  • ゴール判定が無いので,コマをどんどん進めていくとどこかで問題がおきるかも?

タイトル画面ゲーム終了後 については,考えること自体を保留しています.すなわち「そういうのがいずれ必要だろう.中身は知らんけど」という状態ですが,ゲームプレイ の部分を作っていくことには何の支障もありません.
「未定」は立派な進捗状態のひとつです.「未定」だということが示されていることに意味があるでしょう.きっと.
(「曖昧になっている部分をちゃんと考えること」自体も TODO 項目の1つなのだ,と捉えてはどうでしょう)


進捗管理の工夫:数日間作業を中断してもスムーズに再開できる方法を確立したい。

上記の TODO のようなもの に加えて「コミットログに中断状況を分かるように書く」くらいでどうにかなると思います.
※世の中にはコミットログの書き方に一家言お持ちの方々がおられる様子ですが,その人たちのために書くわけじゃないので「コミットログとはこうあるべき」みたいな話は考えなくてよいです.自分のための記録なのですから,自分の記憶の助けになる文章を好きなだけ書きましょう.

あとは,コード内に「ここの処理がまだない」みたいなコメントを書いておくとかしていれば,そんなに迷子にならないのではないでしょうか.


失敗の記録と活用:試行錯誤の過程を記録し、同じミスを繰り返さないようにしたい。

これはもう,開発日記でも書くとかすればどうでしょう.
「こんなことしてたら こんなことになっちゃいましたw で,仕方ないからこうしておいたけども,どうのこうの…」みたいなやつ.


※補足:「リポジトリ」とか「コミットログ」とかいうのは,バージョン管理ソフトの用語です.

投稿2025/02/20 02:26

編集2025/02/20 02:53
fana

総合スコア12079

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

fana

2025/02/20 03:06 編集

「事前にしっかりと設計」だとか「事前にちゃんと計画」だとか,言うだけなら簡単ですが,実際やれるのか?…っていうと,まぁ,相応の技量が無いと無理だと思うんですよね. 「今の自分には無理」であれば,そういう完璧な(?)やり方を求めていても仕方ないので, 完璧なやり方とは程遠くとも,「自分の困り事をいくらかでも軽減できる方法であって,且つ,自分で実践できる方法」を模索するしかないです. で,回答内で「テキストファイル」を推している理由は,個人的にその方法というのが「自分にとってめんどくさくない」ことが何よりも重要だろうと思うからです. (わざわざ何かをインストールしてその使い方を覚えて… みたいなのはその時点でうんざりする)
One123456

2025/02/21 01:30

回答ありがとうございます。 ベストアンサーに選ばせていただきました。 具体的なToDoの活用例と解説がとても分かりやすく参考になりました。 おっしゃる通り、最初から細かく洗い出そうとせず、大まかなリストを作りながら進めていく方が無理なく開発を進められそうだと思いました。また、コミットログやコメントを活用することで、中断後のスムーズな再開がしやすくなるという点も納得しました。 いただいたご提案を取り入れて進めてみようと思います!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.33%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問