Как разработать рабочий процесс сайта?


18

Я очень долго думал об этом, не достигнув оптимального ответа.

Прежде всего, я врач, который любит программирование, но никогда не изучал его, за исключением домашнего обучения и многих лет игры с кодом в свободное время.

В настоящее время я пытаюсь создать небольшой проект для управления моей клиникой, для этого я начал с создания списка опций, которые я хочу иметь.

Пример:

  1. Активная запись пациента.
  2. аутентификация с различными ролями (например, пациент, медсестра, доктор)
  3. расписание встреч (включите календарь в график отпусков / операций и т. д. с напоминанием)
  4. разрешить врачу создавать свои собственные плагины.
  5. панель для доктора, чтобы просмотреть его статистику

Затем я начал с codeigniter / mysql / php / jquery и начал кодировать.

Мои шаги в процессе разработки: -

  1. 1-я база данных.

введите описание изображения здесь

Я начал с создания всех моих таблиц, которые мне понадобятся.

  1. Созданы все мои модели для обработки этих таблиц (1 основная модель, которая обрабатывает базовые операции чтения / записи / обновления / проверки, а также учитывает мои отношения в таблицах

После этого я начинаю кодировать свои представления и контроллеры. Сначала я создал представление HTML, затем создал контроллер, который будет обрабатывать это представление, и запустил функции кодирования, чтобы заставить взаимодействия представлений работать.

Пример при кодировании вида встречи (контроллер booking.php):

введите описание изображения здесь

создал этот макет и сделал клик таблицы td, когда пользователь нажимает: jquery get (booking / add_patient_form) и выдает его

когда пользователь сохраняет: опубликовать в резервирование / сохранить - сохранить запись, затем перезагрузить функцию index ()

и т. д., и я продолжил те же этапы создания представления, затем его контроллера - который содержит всю логику, необходимую для этого представления - для выполнения всего проекта.

В конце у меня все мои целевые функции работали нормально, но поскольку с самого начала не было никакого PLAN, а весь проект представлял собой «мозговой штурм» и отладку без каких-либо планов, после того, как я зашел так далеко в этом проекте, я обнаружил, что Я застрял с ремонтопригодностью и гибкостью! и не в состоянии связать их вместе.

Я чувствую, что каждая страница на сайте полностью изолирована от других, и я даже не могу вспомнить, как каждая страница загружается и какие функции находятся внутри, не заглядывая!

В любом случае я могу восстановить это и получить дизайн?


5
Я обычно достаю большой лист бумаги (A3 или больше) и ручку и начинаю рисовать блок-схемы, пока не выясню полный «рабочий процесс» функциональности на веб-сайте, а также структуры базы данных. После этого я возьму еще один лист бумаги и проработаю некоторые действительно базовые схемы. С этого момента это «просто» кодирование и немного графического дизайна. Я добавлю последние штрихи и детали после того, как все это будет сделано. Блок-схемы позволяют очень легко определить, куда вы помещаете какую функцию и, следовательно, какие переменные она получает из какого места.

3
Еще лучше с большой широкой белой доской;) +1 @ LuudJacobs. Вы лучше, чем кто-либо, знаете, как должен выполняться процесс клика, из каких объектов и функций должен приходить каждый раз и какие данные вы хотите искать чаще всего, какие данные вам не нужны (очень редко). Если вы хотите сохранить историю или нет, и где что. Нарисовав пару диаграмм сущностей, вы попадете в то место, где вы чувствуете себя хорошо, и убедитесь, что
выбранные вами

@ LuudJacobs хорошо, спасибо :), но я попытался сделать это, взял доску и распечатал мою схему БД и ... не смог ничего нарисовать! Я думаю, я не знаю, как должна выглядеть блок-схема. Я постараюсь погуглить вокруг для примеров. если у вас есть блок-схемы реального проекта, я бы очень хотел это увидеть
Zalaboza

+1 @bonCodigo: белая доска - лучший вариант, так как у вас а) есть больше места для работы и б) вещи легко стирать. Вот поиск Google с некоторыми примерами блок-схем. Хорошее программное обеспечение для создания блок-схем включает в себя MS Visio и для Mac OmniGraffle

Для доктора вы проделали замечательную работу с этим, особенно если учесть, что для работы вы выбрали Nickleback of Programming Languages .
Роберт Харви

Ответы:


6

Ваш вопрос - каков процесс разработки программного обеспечения - тема горячо обсуждаемая; просто Google "методология программного обеспечения", чтобы увидеть, как глубоко эта банка червей идет ...

Там нет общепринятого ответа. На самом деле, если вы спросите 5 программистов, вы получите 7 ответов, по моему опыту.

Я бы порекомендовал купить «Выполнение кода» Стива Макконнелла, чтобы увидеть практики кодирования более низкого уровня - такие как, как выложить код, как его комментировать, как его протестировать. Я бы порекомендовал Эрик Эванс «Дизайн, управляемый доменом», для обзора того, как структурировать приложения на архитектурном уровне. Я бы порекомендовал «Гибкую разработку программного обеспечения: принципы, шаблоны и практики» Роберта Мартина как обзор того, как «наращивать» программное обеспечение с течением времени, сохраняя при этом качество.

Другой разработчик может отказаться от всех этих книг и указать вам на UML, Rational Unified Process и генерацию кода. Там нет правильного ответа!


Чтобы проиллюстрировать мнение Невилла К. о разных ответах, он упустил хороший ресурс для разработки взаимодействия с конечным пользователем, с которого я и хотел бы начать. ;-)
Eric G

1

0

Я бы посоветовал вам сохранить структуру базы данных и генерировать новый код PHP с помощью PHP Generator для MySQL, созданного компанией SQL Maestro . Это действительно сработало для меня. Я часто его использую, и я действительно доволен этим, особенно возможностью настроить PHP-код под свои нужды. Кроме того, они включают запрошенные вами новые функции в свои обновления и имеют хорошие учебные пособия по настройке кода. Чтобы лучше понять, взгляните на этот демонстрационный проект .

На их сайте приведено следующее описание продукта:

PHP Generator для MySQL - это интерфейс MySQL GUI, который позволяет генерировать высококачественные сценарии PHP для выбранных таблиц, представлений и запросов для дальнейшей работы с этими объектами через Интернет. Ключевые особенности включают в себя:

  • Управление данными: добавление, редактирование, удаление и копирование записей
  • Настройка внешнего вида HTML
  • Фильтрация и сортировка способностей
  • Защита данных с множеством настроек безопасности
  • Мастер-презентации
  • Управляемое событиями управление контентом
  • Экспорт данных в PDF, XML, CVS, Excel и Word

PHP Generator для MySQL создает понятный и простой для понимания код, который можно использовать как есть или изменять любым способом, который вам нужен.

Сэкономьте на огромных расходах на наем программиста, изучение любого языка программирования или покупку дорогостоящего программного обеспечения - весь код генерируется автоматически для вас!

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.