С чего начать разрабатывать программу? [требует правки]

298
28 июля 2017, 00:47

Еще ни разу не смог написать полноценно крупную программу и по этому не знаю с чего начать (Еще нет опыта в реальной работе). Изучаю java уже порядка 2 лет и за это время хорошо понял основы, но теперь когда я захотел заняться реальными проектами то возникает такая ситуация. Разработку программ я всегда начинал с написание программы(это работает только с простыми программами но НЕ с проектами). где то читал что программу надо начинать с изучения предметной области, выделение главной задачи и разбор по мелким, проектирование(в UML) а после написание самой программы, но так ли это? подскажите как и с чего начинать писать программу(пример заметки(пустое поле где размещены заметки разных типов)) в наше время?(тот метод который я описал работал лет так 10 назад)

Answer 1
1 - Что будет делать программа ?
2 - Зачем она будет это делать ?
3 - Стоит ли тратить на это время ? 

Если с этим определился то идешь дальше.

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

1 - Имя программы / Основной Модуль

2 - Делишь Основной модуль на другие модули которые отвечают за различные задачи

3 - Начинаешь Проектирование модулей, берешь тетрадь и ручку. Рисуешь что и как должно работать, откуда берется имя пользователя. Как рабатает формы забыли пароль, что куда отправляется и тд.

4 - После проектирования и после того как поймешь как это все должно работать начинаешь разработку, пишешь код.

5 - После разработки всех модулей соединяешь это все вместе и получается хорошо структурированная программа.

Вот Пример :

1 - Программа Example / Чат
2 - Основной Модуль Чат 
3 - Подмодуль Регистрация
4 - Подмодуль Вход
5 - Подмодуль Забыли Пароль
6 - Подмодуль Отправить Сообщение
7 - Подмодуль Принять Сообщение

И ВОТ ОНА ! Думаешь Программа уже готова к использованию и к релизу ?

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

Answer 2

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

  • Анализ требований → Спецификация программного обеспечения
  • Проектирование программного обеспечения
  • Программирование
  • Тестирование программного обеспечения
  • Системная интеграция (System integration)
  • Внедрение программного обеспечения (или Установка программного обеспечения)
  • Сопровождение программного обеспечения

Взято из статьи в википедии.

Рекомендую почитать статьи и книги по современным гибким методологиям разработки (Scrum, Kanban, etc.), изучить ПО которое используется в тех или иных методологиях(JIRA, Trello, YouTrack, etc.), и системы контроля версий (Git, Mercurial, SVN).

READ ALSO
NullPointerException в Android 7.0

NullPointerException в Android 7.0

Данная ошибка появляется в Android 70

433
Анализ реактивного приложения на spring-webflux

Анализ реактивного приложения на spring-webflux

Добрый день! Прошу сделать код-ревью: https://githubcom/Generalus/spring-webflux-rss-aggregator (создан в учебных целях)

311
Парсинг xml с помощью Jackson

Парсинг xml с помощью Jackson

Есть задача и ее надо строго выполнить с помощью Jackson для JavaИмеется List<> содержащий объекты, которые имеют свои поля

227
SharedPreferences.открытие Activity после Login и Logout

SharedPreferences.открытие Activity после Login и Logout

Есть MainActivity с логин формой, кнопка с таким кодом и переходом в следующее окно

238