ウェブサイトのワークフローを設計する方法は?


18

私は、最適な答えに達することなく、これについて本当に長い間考えてきました。

まず第一に、私はプログラミングを愛する医師ですが、家庭学習と何年もの間自由な時間にコードをいじる以外は、実際に勉強したことはありません。

現在、私は自分のクリニックを管理するための小さなプロジェクトを構築しようとしています。それを行うために、私ができるようにしたいオプションのリストを作成することから始めました。

例:

  1. アクティブな患者記録。
  2. さまざまな役割による認証(例:patient、nurse、dr)
  3. 予定表(予定表に予定の予防接種/手術などを含む)
  4. 医師が独自のプラグインを作成できるようにします。
  5. 医師が統計を表示するためのダッシュボード

それから、codeigniter / mysql / php / jqueryでコーディングを開始しました。

開発中の私のステップ:-

  1. 最初のデータベース。

ここに画像の説明を入力してください

まず、必要なすべてのテーブルを作成しました。

  1. これらのテーブルを処理するためにすべてのモデルを作成しました(テーブルの関係も考慮しながら、基本的な読み取り/書き込み/更新/検証を処理する1つのマスターモデル

その後、ビューとコントローラーのコーディングを開始します。最初にビューHTMLを作成してから、このビューを処理するコントローラーを作成し、ビューの相互作用を機能させるためのコーディング関数を開始しました。

予約ビューをコーディングする場合の例(controller booking.php):

ここに画像の説明を入力してください

ユーザーがクリックすると、このレイアウトが作成され、テーブルtdがクリック可能になります:jquery get(booking / add_patient_form)and pop up

ユーザーが保存するとき:予約/保存に投稿-予定を保存してからindex()関数を再読み込みします

など。そして、ビュー全体とプロジェクト全体を達成するために、このビューに必要なすべてのロジックを含むビューとそのコントローラーを作成する同じステップを続けました。

最後にすべてのターゲット機能が正常に機能しましたが、最初から計画がなく、プロジェクト全体がこれまでに何の計画もなくブレインストーミングとデバッグのパンチであったため、このプロジェクトに行った後、保守性と柔軟性にこだわっています!そしてそれらを一緒にリンクすることはできません。

私は、ウェブサイトのすべてのページが他のページから完全に分離されていると感じています。各ページがどのように読み込まれ、どの機能が内部にあるのかを覗き見ることさえ思い出せません!

とにかくこれを回復してデザインを出すことができますか?


5
私は通常、大きな紙(A3以上)とペンを取り出し、Webサイト上の機能の完全な「ワークフロー」とデータベース構造を把握するまでフローチャートの描画を開始します。その後、別の紙を入手して、基本的なワイヤーフレームをいくつか作成します。そこからは、「ジャスト」コーディングと少しのグラフィックデザインです。それがすべて完了したら、最後の仕上げと詳細を追加します。フローチャートを使用すると、どの関数をどこに配置するのか、つまりどの場所からどの変数を取得するのかを簡単に把握できます。

3
大きな幅の広いホワイトボードでさらに良くなります;)+1 @LuudJacobs。クリックプロセスの実行方法、毎回どのエンティティと機能が来るか、最も頻繁に検索するデータ、必要のないデータ(まれに)など、誰よりもよく知っています。履歴を保持するかどうか、どこで何をするか。エンティティダイアグラムをいくつか作成すると、気分が良くなり、選択したツール(db。フロントエンド)が今日のニーズだけでなく明日も多くの変更要求なしにサポートできることを確認できます:)
bonCodigo

よくありがとう:) 私はフローチャートがどのように見えるべきかわからないと思います。私は例のためにグーグルで検索しようとします。実際のプロジェクトのフローチャートがある場合、私はそれを見たいと思います
ザラボーザ

+1 @bonCodigo:ホワイトボードは、a)作業するスペースがより多く、b)ものを簡単に消去できるため、より良いオプションです。フローチャートの例を使用したGoogle検索を次に示します。フローチャートを作成するための優れたソフトウェアには、MS VisioやMac OmniGraffleが含まれます

特に、プログラミング言語ニッケルバックを使用することを選択したことを考えると、医師にとってこれで素晴らしい仕事をしたことになります。
ロバートハーベイ

回答:


6

あなたの質問-ソフトウェアを開発するプロセスは何ですか-は、活発に議論されているトピックです。「ソフトウェアの方法論」をグーグルで検索して、このワームの可能性を確認してください...

一般的に受け入れられている答えはありません。実際、5人のプログラマーに尋ねると、私の経験では7つの答えが得られます。

スティーブマッコネルの「コードコンプリート」を購入して、コードのレイアウト方法、コメント方法、テスト方法など、低レベルのコーディングプラクティスを確認することをお勧めします。アーキテクチャレベルでアプリケーションを構成する方法の概要については、Eric Evansの「ドメイン駆動設計」をお勧めします。品質を維持しながらソフトウェアを長期的に「成長」させる方法の概要として、Robert Martinの「アジャイルソフトウェア開発:原則、パターン、および実践」をお勧めします。

別の開発者がこれらの本をすべて拒否し、UML、Rational Unified Process、およびコード生成を指摘する可能性があります。正解はありません!


Neville Kがさまざまな答えについて述べていることを説明するために、彼はエンドユーザーとの対話を設計するための優れたリソースを省略しました。;-)
エリックG

1

0

データベース構造を維持し、SQL Maestro社が作成したPHP Generator for MySQLを使用して新しいPHPコードを生成することをお勧めします。それは本当に役立った。私はそれを頻繁に使用し、特にPHPコードを自分のニーズに合わせて調整する可能性に満足しています。さらに、彼らはあなたの要求された新機能をアップデートに組み込み、コードを微調整する素晴らしいチュートリアルを持っています。よりよく理解するには、このデモプロジェクトをご覧ください

彼らのウェブサイトでは、次の製品説明が提供されています。

PHP Generator for MySQLは、選択したテーブル、ビュー、クエリ用の高品質のPHPスクリプトを生成し、Webを介してこれらのオブジェクトをさらに操作するためのMySQL GUIフロントエンドです。主な機能は次のとおりです。

  • データ管理:レコードの追加、編集、削除、コピー
  • HTMLの外観のカスタマイズ
  • フィルタリングおよびソート機能
  • 多くのセキュリティ設定によるデータ保護
  • マスターディテールプレゼンテーション
  • イベント駆動型のコンテンツ管理
  • PDF、XML、CVS、Excel、Wordへのデータエクスポート

PHP Generator for MySQLは、そのまま使用したり、必要に応じて変更したりできる、明確で理解しやすいコードを生成します。

プログラマーの雇用、プログラミング言語の学習、または高価なソフトウェアの購入にかかる膨大な費用を節約しましょう-すべてのコードは自動的に生成されます!

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.