Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: 1 [2]  Все   Вниз
  Печать  
Автор Тема: Предложите ТЗ программы на С++ для новичка.  (Прочитано 38237 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Finch
Спокойный
Администратор

il
Offline Offline
Пол: Мужской
Пролетал мимо


« Ответ #30 : 19-07-2010 19:18 » 

Когда то мне нужны были контрольные суммы Улыбаюсь Вот исходники, для расчета контрольной суммы. Как использовать, пример есть в коментариях h файлов. Исходники честно скомуниздил, насколько я помню на algolist. Просто чуть чуть их причесал.

* crc32.h (0.64 Кб - загружено 952 раз.)
* crc32.cpp (3.88 Кб - загружено 1034 раз.)
* md5.h (0.75 Кб - загружено 952 раз.)
* md5.cpp (7.26 Кб - загружено 954 раз.)
* base.h (0.25 Кб - загружено 920 раз.)
« Последнее редактирование: 19-07-2010 19:31 от Finch » Записан

Не будите спашяго дракона.
             Джаффар (Коша)
Fealeron
Интересующийся

ua
Offline Offline

« Ответ #31 : 19-07-2010 19:26 » 

Finch спасибо! Улыбаюсь
Записан
Dale
Блюзмен
Команда клуба

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #32 : 19-07-2010 19:29 » 

Попытался составить некоторое подобие задания на разработку.
...
С удовольствием выслушаю конструктивную критику. Улыбаюсь

"Это вы удачно зашли!" (С)

Я и на работе частенько рецензирую проекты коллег. Они считают, что если проект выдержал все мои придирки, его можно пускать дальше. Так что критики будет сколько угодно, дело привычное.

Но сперва рекомендация. Проект планируется как кроссплатформенный и с открытым кодом. А документация изначально ведется средствами MS Office, который, во-первых, привязан к MS Windows, во-вторых, имеет проприетарный формат (конечно, есть конверторы в другие форматы, но они обычно привязаны к конкретной версии). Я бы рекомендовал перейти на OpenOffice. При необходимости можно будет корректировать документацию, например, в Linux'е.

И еще OpenOffice имеет такое преимущество как средство ведения проектной документации. Я в своих домашних проектах пробовал заносить документы в систему управления версиями Subversion, и они обрабатывались весьма корректно: при сравнении версий явно указывается, какие строки добавлены, какие удалены, какие изменены. Документ MS Word ввиду закрытого формата воспринимается как двоичный файл, и в результате правок я получаю лишь перечень измененных байтов, от которого мне никакого прока. А поскольку на сайте вроде бы функционирует репозиторий и наверняка можно в него попроситься со своим проектом, такой аспект тоже немаловажен.
Записан

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

Ходить по воде и разрабатывать программное обеспечение по спецификациям очень просто, когда и то, и другое заморожено. - Edward V. Berard

Любые проблемы в информатике решаются добавлением еще одного уровня косвенности – кроме, разумеется, проблемы переизбытка уровней косвенности. — Дэвид Уилер.
Fealeron
Интересующийся

ua
Offline Offline

« Ответ #33 : 19-07-2010 19:34 » 

Dale. Кхм, я сижу, сейчас, в Linux и использовал OpenOffice, просто, сохранил в .doc формате, в расчёте на то, что док можно прочитать как на Linux, так и на Windows, в то же время под Windows я никогда не пользовался OpenOffice.
« Последнее редактирование: 19-07-2010 19:36 от Fealeron » Записан
Dale
Блюзмен
Команда клуба

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #34 : 19-07-2010 19:41 » 

А я специально поставил OpenOffice под Windows, чтобы иметь возможность работать с версиями, кроссплатформенность пока меньше волнует. Если вдруг появятся еще желающие поучаствовать в проекте (всякое бывает), без управления версиями не обойтись, да и одному это тоже полезно, а в формате .doc это вряд ли получится.
Записан

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

Ходить по воде и разрабатывать программное обеспечение по спецификациям очень просто, когда и то, и другое заморожено. - Edward V. Berard

Любые проблемы в информатике решаются добавлением еще одного уровня косвенности – кроме, разумеется, проблемы переизбытка уровней косвенности. — Дэвид Уилер.
Fealeron
Интересующийся

ua
Offline Offline

« Ответ #35 : 19-07-2010 19:46 » 

Dale. В общем, это я уже учёл и далее буду сохранят в формате OpenOffice.
Записан
Dale
Блюзмен
Команда клуба

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #36 : 19-07-2010 19:49 » 

Исходники честно скомуниздил, насколько я помню на algolist. Просто чуть чуть их причесал.

При необходимости свериться можно здесь: http://www.ietf.org/rfc/rfc1321

Вроде бы максимально приближено к первоисточнику, документ написан самим автором алгоритма.
Записан

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

Ходить по воде и разрабатывать программное обеспечение по спецификациям очень просто, когда и то, и другое заморожено. - Edward V. Berard

Любые проблемы в информатике решаются добавлением еще одного уровня косвенности – кроме, разумеется, проблемы переизбытка уровней косвенности. — Дэвид Уилер.
Dale
Блюзмен
Команда клуба

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #37 : 19-07-2010 20:26 » 

Ну а теперь - обещанная критика. Буду столь же беспощаден, как компилятор, который к каждой запятой придирается.

Начать мы решили, как обычно, с обзора проекта. Это самый первый документ, после чтения которого каждое заинтересованное лицо должно прояснить интересующие его вопросы: руководитель проекта - во что же он ввязался на этот раз; потенциальный потребитель - какие проблемы решает программа и нужно ли ему это вообще; спонсор проекта - на что пойдут его кровные; и т.д.

Итак, по пунктам:

Цитата
Цель:

Разработка программы, которая будет выполнять роль сортировки


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

Цитата
и синхронизации файлов


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

Цитата
(архивы книг, статей, текстов с возможностью развития для работы в видео и аудио архивами).

Сразу возникает вопрос: почему программа, способная синхронизировать книги, не справится с фильмами? В чем именно будет состоять ее дальнейшее развитие?

Цитата
Функциональность программы:
...
Детали реализации:
...

Рано пока. Функциональность программы и детали должны определяться решаемой задачей, а мы с ней еще не разобрались.

Цитата
Кроссплатформенность: один из инструментов обеспечения кроссплатформенности — использование C++ + Qt.

Тоже рано. В этом месте уместнее упомянуть, что мы хотим получить программу, работающую, как уже упоминалось, в Windows, Linux и, возможно, Windows Mobile. Выбор языков, библиотек, инструментария и т.д. архитектор проекта сделает позднее, определившись с задачей. Может, это будет C++ + Qt? а может, и Java, или Mono, или... В общем, всему свое время.

Лучше все же следовать шаблону ReadySET, он неплохо продуман. Согласно ему, на первом этапе мы должны описать:

1. В чем состоит суть проблемы, которую мы взялись решать.
2. Какую цель мы ставим перед собой в ходе проекта.
3. Границы проекта.

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

Ну вот пока вся критика...
Записан

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

Ходить по воде и разрабатывать программное обеспечение по спецификациям очень просто, когда и то, и другое заморожено. - Edward V. Berard

Любые проблемы в информатике решаются добавлением еще одного уровня косвенности – кроме, разумеется, проблемы переизбытка уровней косвенности. — Дэвид Уилер.
Fealeron
Интересующийся

ua
Offline Offline

« Ответ #38 : 19-07-2010 21:14 » 

Dale
Критика понятна. Значит завтра буду приводить всё это в порядок.
Записан
Kivals
Команда клуба

ca
Offline Offline
Пол: Мужской

WWW
« Ответ #39 : 21-07-2010 13:35 » new

Вставлю свои пару копеек:
Для универсальности документации ее хорошо бы вести в чем-то, типа DocBook - из него при необходимости генерится в один клик любой формат: набор HTML страниц, все в одну HTML, PDF, .... Ну а поскольку это xml - то и с системами контроля версий проблем нет априори.
Что касается контрольных сумм: есть идея (предложение) для продвинутого режима сравнения контрольные суммы считать по блокам файла, а не по всему файлу целиком. Если правильно придумать разбивку на блоки (возможно разбивка будет зависеть от формата) то это даст возможность найти различные версии одного и того же файла, даже если он был переименован. Например: есть аудио файл, в котором блоком считаем фрейм. Предположим мы "обрезали" начало и конец файла, или же подняли громкость в начале звучания - программа выдаст "вероятность совпадения файлов 1.mp3 и MyNewFile.mp3 - 75%. Что дальше с ним делать?"
Записан
Страниц: 1 [2]  Все   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines