Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Общие вопросы по программированию, компьютерный форум
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 23.09.2015, 00:08   #1
Алексей_2012
t45t
Участник клуба
 
Аватар для Алексей_2012
 
Регистрация: 20.03.2012
Сообщений: 1,849
По умолчанию Как не запутаться на этапе программирования задачи?

Ребят, давно задавался вопросом, собственно сначала мои рассуждения....

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

Есть ли какие-нибудь спец.прогаммы для моделирования задачи?

Ручку и листок бумаги никто не отменил, конечно, но все же хочется интерактивности...

Извините, старался доступно объяснить, я надеюсь меня поняли)
from dark to light)
Алексей_2012 вне форума Ответить с цитированием
Старый 23.09.2015, 00:45   #2
f.hump
C/C++, Asm
Участник клуба
 
Аватар для f.hump
 
Регистрация: 02.03.2010
Сообщений: 1,323
По умолчанию

Цитата:
захотел сделать одно, сделал, добавил другое - нужно переделывать первое.
по личному опыту, выполнение задач, за которые полагаются деньги, ограничено во времени, поэтому делаешь только то, что необходимо для достижения цели, а на хотелки ложишь большой и толстый. никогда не запутаешься.
f.hump вне форума Ответить с цитированием
Старый 23.09.2015, 00:49   #3
Алексей_2012
t45t
Участник клуба
 
Аватар для Алексей_2012
 
Регистрация: 20.03.2012
Сообщений: 1,849
По умолчанию

Отлично сказано, вот интересно, а системные аналитики так же рассуждают? Если я не ошибаюсь, то они тоже заняты программированием своей же задачи+распределение ролей в команде)

Так что мой вопрос вполне легален и имеет право на жизнь.

Про "хотелки" - немного не так высказался. Тут имеется ввиду то, что все продумать сидя за компьютером, до мельчайших деталей - нельзя, особенно в большом проекте и всегда приходится что-то дорабатывать.
from dark to light)

Последний раз редактировалось Алексей_2012; 23.09.2015 в 00:51.
Алексей_2012 вне форума Ответить с цитированием
Старый 23.09.2015, 05:44   #4
Utkin
Старожил
 
Аватар для Utkin
 
Регистрация: 04.02.2009
Сообщений: 17,351
По умолчанию

Цитата:
вот интересно, а системные аналитики так же рассуждают?
Нет, у них есть хитрый план, строгое выполнение которого и должно приводить к успеху.
Цитата:
Если я не ошибаюсь, то они тоже заняты программированием своей же задачи+распределение ролей в команде)
Чистая профессия исключает программирование. Это уже совмещение ролей.
Цитата:
Тут имеется ввиду то, что все продумать сидя за компьютером, до мельчайших деталей - нельзя,
В проекте можно применять разные методологии, например, от общего к частному. Это когда в плане указаны основные детали, например, интерфейс функций/классов/методов, а реализация уже на совести программиста. Вообще большинство проектов типовые и там уже сто раз до Вас все продумывали. Осталось только написать реализацию под конкретную задачу.
Цитата:
и всегда приходится что-то дорабатывать.
Если проект требуется дорабатывать не после эксплуатации, а во время сборки/программирования значит Вы не составили план проекта и/или не занимаетесь его управлением.
Маньяк-самоучка
Utkin появился в результате деления на нуль.
Осторожно! Альтернативная логика
Utkin вне форума Ответить с цитированием
Старый 23.09.2015, 06:32   #5
Smitt&Wesson
Старожил
 
Аватар для Smitt&Wesson
 
Регистрация: 31.05.2010
Сообщений: 13,543
По умолчанию

Цитата:
Сообщение от Алексей_2012 Посмотреть сообщение
Допустим вы пишите какую-нибудь мега сложную программу, цель у вас, конечно, не меняется, но у меня всегда возникают проблемы, например, захотел сделать одно, сделал, добавил другое - нужно переделывать первое.
Не было, нет и не будет. А если взять ручку и бумажку западло, бери метлу. Дворники, во все времена нужны. Не прогадаешь.
Пиши пьяным, редактируй трезвым.
Справочник по алгоритмам С++ Builder

Последний раз редактировалось Smitt&Wesson; 23.09.2015 в 06:34.
Smitt&Wesson вне форума Ответить с цитированием
Старый 23.09.2015, 07:36   #6
MihalNik
МегаМодератор
СуперМодератор
 
Регистрация: 27.11.2012
Сообщений: 5,657
По умолчанию

Цитата:
Сообщение от Алексей_2012 Посмотреть сообщение
Допустим вы пишите какую-нибудь мега сложную программу, цель у вас, конечно, не меняется, но у меня всегда возникают проблемы, например, захотел сделать одно, сделал, добавил другое - нужно переделывать первое.
М.Фаулер - Рефакторинг.
И всякие "гибкие методологии".

Цитата:
Сообщение от Алексей_2012 Посмотреть сообщение
Есть ли какие-нибудь спец.прогаммы для моделирования задачи?
См. UML
Благими намерениями устлана дорога на programmersforum.ru
MihalNik вне форума Ответить с цитированием
Старый 23.09.2015, 07:44   #7
Алексей_2012
t45t
Участник клуба
 
Аватар для Алексей_2012
 
Регистрация: 20.03.2012
Сообщений: 1,849
По умолчанию

Ms Visio или bpwin проще на ваш взгляд?
from dark to light)
Алексей_2012 вне форума Ответить с цитированием
Старый 23.09.2015, 07:55   #8
Utkin
Старожил
 
Аватар для Utkin
 
Регистрация: 04.02.2009
Сообщений: 17,351
По умолчанию

Цитата:
Ms Visio или bpwin проще на ваш взгляд?
Не проще - это очень общий взгляд на систему.
Для проекта - UML (бесплатно ArgoUML)
По UML пишите ТЗ и спецификацию (дополнительно вся документация, что не вошла в ТЗ, например, правила именования переменных/методов/классов, виды нотаций, оформления кода, правила/порядки/инструкции, методика работы с системой контроля версий и пр.).
для управления проектом - Project Expert (бесплатно - Project Libre)
Маньяк-самоучка
Utkin появился в результате деления на нуль.
Осторожно! Альтернативная логика
Utkin вне форума Ответить с цитированием
Старый 23.09.2015, 09:16   #9
Pavia
Лис
Старожил
 
Аватар для Pavia
 
Регистрация: 18.09.2015
Сообщений: 2,409
По умолчанию

ISO 9000
ГОСТ

Оба стандарта говорят что проект проходит несколько стадий. И на каждой стадии проект переписывается. Так что с этим надо смериться.

В программировании часто приходится поддерживать проект, дорабатывать развивать его. Поэтому подходы описанные в ISO и ГОСТ не годятся.

Тут всё просто надо научиться планировать своё время.
Не спешите выполнять задачу. Выписываете все новые задачи в список.
Раз в день, неделю, месяц, четверть года. Вы пробегаетесь по списку дел и выбираете те, которые надо выполнить в ближайшее время. А есть те на которые не нужно тратить своё время.

Задачи лучше выписывать ручкой. И зачёркивать выполненные задачи. Так будет наглядно видно сколько и каких задач вы решили.


Как определить нужные задачи? Основной критерий это деньги. Их легко перевести в трудозатраты (человеко/часы). Но в любом случае нужно ТЗ. Которому надо следовать и не делать того что выходит за рамки ТЗ.

А вот что-бы не запутаться в проекте нужно его документировать. Для этого придумано множество различных схем. Все схемы можно найти в стандарте UML.
"Гради Буч, Джеймс Рамбо, Ивар Якобсон-Язык UML. Руководство пользователя-ДМК Пресс (2006)"
"Гради Буч-Объектно-ориентированный анализ и проектирование с примерами на С++-Невский Диалект (2000)"
Вторая книга-честно не очень удачная.
А рисовать схемы лучше в Ms Visio 2012 и более новых версиях.

А для того что-бы не переделывать программы есть хороший подход использовать патерны.
(Библиотека программиста) Э. Гамма, Р. Хелм, Р. Джонсон, Д. Влиссидес-Приемы объектно-ориентированного проектирования. Паттерны проектирования-ДМК Пресс (2010)
Если в них поверить, то они значительно облегчат вашу работу.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
У дзен программиста программа делает то что он хотел, а не то что он написал .

Последний раз редактировалось Pavia; 23.09.2015 в 09:21.
Pavia вне форума Ответить с цитированием
Старый 23.09.2015, 10:00   #10
Utkin
Старожил
 
Аватар для Utkin
 
Регистрация: 04.02.2009
Сообщений: 17,351
По умолчанию

Цитата:
Оба стандарта говорят что проект проходит несколько стадий. И на каждой стадии проект переписывается. Так что с этим надо смериться.
Это только вариант. Вы не обязаны его придерживаться. Но чего-то придерживаться все равно надо
Цитата:
Если в них поверить, то они значительно облегчат вашу работу.
В них нужно не верить, а иметь опыт использования. Только потом уже можно будет на них опираться в работе.
Маньяк-самоучка
Utkin появился в результате деления на нуль.
Осторожно! Альтернативная логика
Utkin вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Решение задачи линейного программирования Дмитрий Корсаков Фриланс 5 16.04.2015 13:15
Составить математическую модель задачи задачи линейного программирования DemonXZ Помощь студентам 0 15.06.2013 12:02
2 задачи (Язык программирования Си) Спасибо :) boyfromsun Помощь студентам 1 11.04.2012 21:14
Большой проект, как не запутаться? Casper-SC Общие вопросы по программированию, компьютерный форум 78 11.12.2009 23:45
Задачи целочисленного линейного программирования tipok Помощь студентам 4 19.02.2009 12:24