Перейти к основному содержанию

Постановка задачи программисту

Nik
Не в сети
Зарегистрирован: 06/11/2008

Уважаемые коллеги! Требую здоровой и конструктивной критики.
Недавно проходил собеседование в одной крупной российской ИТ- компании. На собеседовании в качестве теста на профпригодность было предложено выполнить задание.

Задание: "Необходимо написать задание программисту на разработку диалогового окна копирования файлов в файловом менеджере типа Total Commander или FAR."

Что в результате сделал я:
Аннотация
Учитывая то, что формы взаимодействия программистов и аналитиков в разных компаниях разные, обусловлены разными факторами и спецификой, документация составлена согласно требованиям Руководящего документа по стандартизации РД 50-34.698-90 «Автоматизированные системы. Требования к содержанию документов». РД 50-34.698-90 является действующим российским стандартом. Область его применения охватывает круг задач, решаемых в рамках предложенного задания.
По полученным исходным данным составлены следующие документы, являющиеся заданием программисту для разработки компонента приложения.
1. Описание постановки задачи (ГОСТ 34.201-89 ТП-П4). Документ содержит описание поставленных задач.
2. Описание алгоритма (ГОСТ 34.201-89 ТП-ПБ). Документ содержит алгоритма решения поставленной задачи. Алгоритм представлен в текстовом виде.

Описание постановки задачи

Содержание
СОДЕРЖАНИЕ 1
1 ХАРАКТЕРИСТИКИ КОМПЛЕКСА ЗАДАЧ 2
1.1 НАЗНАЧЕНИЕ КОМПЛЕКСА ЗАДАЧ 2
1.2 ПЕРЕЧЕНЬ ОБЪЕКТОВ ПРИ УПРАВЛЕНИИ КОТОРЫМИ РЕШАЮТ КОМПЛЕКС ЗАДАЧ; 2
1.3 ПЕРИОДИЧНОСТЬ И ПРОДОЛЖИТЕЛЬНОСТЬ РЕШЕНИЯ; 2
1.4 УСЛОВИЯ, ПРИ КОТОРЫХ ПРЕКРАЩАЕТСЯ РЕШЕНИЕ КОМПЛЕКСА ЗАДАЧ АВТОМАТИЗИРОВАННЫМ СПОСОБОМ (ПРИ НЕОБХОДИМОСТИ); 2
2 ВЫХОДНАЯ ИНФОРМАЦИЯ 2
2.1 ПЕРЕЧЕНЬ И ОПИСАНИЕ ВЫХОДНЫХ ДАННЫХ 2
2.2 ВЫХОДНЫЕ СООБЩЕНИЯ 2
3 ВХОДНАЯ ИНФОРМАЦИЯ 3
3.1 ПЕРЕЧЕНЬ И ОПИСАНИЕ ВХОДНЫХ ДАННЫХ 3
3.2 ВХОДНЫЕ СООБЩЕНИЯ 3
4 ОПИСАНИЕ ЭКРАННОЙ ФОРМЫ МОДУЛЯ 3
4.1 ЭСКИЗ ЭКРАННОЙ ФОРМЫ МОДУЛЯ 3
4.2 ЭЛЕМЕНТЫ ЭКРАННОЙ ФОРМЫ 4

1 Характеристики комплекса задач
1.1 Назначение комплекса задач
Задачей работы диалогового окна копирования файлов в файловом менеджере типа Total Commander (далее – менеджер) является обеспечение возможности копирования объектов файловой системы на различные носители информации.
Диалоговое окно является дополнительным компонентом файлового менеджера – модулем.
Для обозначения разработки, принято решение присвоить модулю наименование «Копирование».
Модуль «Копирования» функционирует, и вызываться только из файлового менеджера.
1.2 Перечень объектов, при управлении которыми решают комплекс задач
Объектами управления являются:
• файлы;
• каталоги файловой системы носителей информации.
1.3 Периодичность и продолжительность решения
Продолжительность решения зависит от:
• размеров объекта копирования;
• параметров быстродействия технических средств.

1.4 Условия, при которых прекращается решение комплекса задач автоматизированным способом (при необходимости)
Условиями прекращения решения задачи является:
• Прекращение операции пользователем
• Закрытие файлового менеджера
2 Выходная информация
2.1 Перечень и описание выходных данных
Выходными данными модуля является информация о процессе копирования, отображаемая в виде текста на экранной форме. Информация должна содержать следующие данные:
1) Скорость копирования
2) Наименование копируемого файла
3) Обратный отсчет времени копирования в формате hh.mm.ss
4) Результат выполнения копирования в процентах.

2.2 Выходные сообщения
При работе с экранной формой (ЭФ) модуля пользователю могут выдаваться следующие сообщения:
1) Отсутствие файлов для копирования
2) Выбранный(ые) файл(ы)/каталог(и) защищены от копирования
3) Указанный каталог-получатель неверен
4) Указанный каталог-получатель недоступен
5) Недостаточно свободного места на получателе. Продолжить копирование? (ДА/НЕТ).
6) Копирование прервано
7) «Выбранный файл уже существует. Заменить?». ДА/НЕТ
3 Входная информация
3.1 Перечень и описание входных данных
Модуль получает следующие входные данные и команды:
1) Наименования выбранных для копирования файлов/каталогов и место их размещения. Информации о выделенных файлах считывается из активной панели файлового менеджера при вызове модуля.
2) Путь копирования выбранных файлов. По умолчанию данные о пути копирования поступают из неактивной панели менеджера, в которой открыт определенный каталог (каталог-получатель). Поле ввода пути копирования допускает ручной ввод каталога-получателя.
3) Команда вызова модуля. Команда выполняется после одного из следующих действий:
• Нажатие функциональной клавиши F5 на клавиатуре ПЭВМ.
• Кнопки «Copy» на панели инструментов менеджера.
4) Команда копирования. Выполняется после нажатия на кнопку «Копировать» экранной формы модуля или кнопки ДА сообщения «Выбранный файл уже существует. Заменить?».
5) Команда отмены копирования. Выполняется после нажатия на кнопку «Отмена» экранной формы модуля.
3.2 Входные сообщения
Модуль получает следующие входные сообщения
1) Об отсутствии свободного пространства на носителе информации, на который осуществляется копирование
2) О защите копируемых файлов
3) Об отсутствии доступа к каталогу-получателю
4) Об отсутствии указанного каталога-получателя
5) О существовании одноименного объекта в каталоге-приемнике.
4 Описание экранной формы модуля
4.1 Эскиз экранной формы модуля
Эскиз экранной формы модуля изображен на рис.1

Рис.1. Экранная форма модуля
4.2 Элементы экранной формы
Элементы ЭФ модуля представлены в таблице 1. ЭФ модуля является модальной, при ее открытии остальные элементы менеджера становятся недоступны.
Выходные данные, описанные в разделе 2.1., должны появляться на экранной форме при выполнении процедуры копирования. Располагать объекты на экранной форме допускается любым способом, выбранным разработчиком.
Расположение элементов экранной формы должно отвечать требованиям эргономики и технической эстетики.
Таблица 1. Элементы экранной формы модуля «Копирование»
№ п/п Наименование элемента Тип Описание
1. Информация о копируемых объектах Label Если происходит копирование одного объекта, то в метке выводится наименование объекта (например, «Тест.txt»), если больше одного, то количество объектов (например «2 файла(ов)»).
2. Путь Edit Содержит путь копирование. Допускается ручной ввод.
3. Копировать Button Кнопка запуска процедуры копирования
4. Отмена Button Кнопка закрытия экранной формы.

На работу меня не приняли, объяснив это тем, что форма соблюдена, но задача и требования учтены недостаточно четко.
Покритикуйте, пожалуйста, поясните, в чем я ошибся, в чем неправ?
PS Если потребуется, могу скинуть 2-й док-т - описание алгоритма

Гость
Постановка задачи программисту

Хочу обратится как ищуший (и кстати, успешно находяший) себе сотрудников.
Коллеги, посылайте нах, во-первых, хаэровцев, во-вторых, работодателей, предлагающих выполнить тест. Тесты - бред!!! У каждого техписа есть примеры выполненных работ. Другое дело, что очень многие боятся их представить... Почему-то... хотя я знаю почему на самом деле:)

Аватар пользователя surgeon
Не в сети
Зарегистрирован: 10/20/2004
Re: Постановка задачи программисту

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

Коллеги - это типичный случай. В течение всего прошлого года неоднократно нарывался на такую же ситуацию. "Эффективные менеджеры" просто пытаются бесплатно получить консалтинговые услуги Smile Интересны детали - дам детали по другим форумам.

Не в сети
Зарегистрирован: 08/26/2006
Re: Постановка задачи программисту

Nik написал:
Недавно проходил собеседование в одной крупной российской ИТ- компании. На собеседовании в качестве теста на профпригодность было предложено выполнить задание.

Задание: "Необходимо написать задание программисту на разработку диалогового окна копирования файлов в файловом менеджере типа Total Commander или FAR."

На работу меня не приняли, объяснив это тем, что форма соблюдена, но задача и требования учтены недостаточно четко.

Простите, но Вы не указали, для какой должности Вы проходили собеседование на профпригодность? И сколько времени дали на разработку тестового задания?

Кроме того, насколько я понял, форму задания на разработку Вам не предоставили, а предложили посочинять...

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

Тем более, что Вам сказали, что "форма соблюдена..." А какая форма-то?

Поэтому зря вы говорите "не надо черных списков". Еще как надо!

Не в сети
Зарегистрирован: 12/14/2006
Постановка задачи программисту

surgeon написал:
Не, это бесполезно. Она там все уроды в том смысле, что у них нет даже грамотной методики тестирования вновь поступающих. В этом нет ничего необычного. Что хоть за контора-то, сознайтесь, Ник? Мы ее сейчас же в черные списки работодателей определим Smile

Кстати, я на работодателей не ориентировался. Просто Ник попросил покритиковать, а я дал свои замечания. Материал действительно получился несколько суховатым, а вставить конкретику в такую постановку задачи достаточно тяжело. Базы данных нет, запрос не напишешь, формулы отсутствуют, вот и приходится изворачиваться.
А работодатели бывают разные. Черные, белые, красные ... Laughing out loud

Nik
Не в сети
Зарегистрирован: 06/11/2008
Постановка задачи программисту

DGroot написал:
ГОСТ Р 51904-2002

Цитата:
Область применения: Настоящий стандарт распространяется на процессы разработки и документирования программного обеспечения (ПО) встроенных систем реального времени. Стандарт распространяется на все действия, имеющие отношение к разработке программного обеспечения.
Настоящий стандарт применяют полностью ко всему поставляемому программному обеспечению, включая среду разработки, если контрактом не предусмотрено использование специальных стандартов для определенных заказчиком типов ПО. Стандарт не применим для аппаратных элементов программно-аппаратного обеспечения

http://www.dbases.ru/cgi-bin/catalog/catalog.cgi?c=0&i=2063&pr=1

Спасибо за информацию!

Аватар пользователя DGroot
Не в сети
Зарегистрирован: 01/27/2007
Постановка задачи программисту

ГОСТ Р 51904-2002

Цитата:
Область применения: Настоящий стандарт распространяется на процессы разработки и документирования программного обеспечения (ПО) встроенных систем реального времени. Стандарт распространяется на все действия, имеющие отношение к разработке программного обеспечения.
Настоящий стандарт применяют полностью ко всему поставляемому программному обеспечению, включая среду разработки, если контрактом не предусмотрено использование специальных стандартов для определенных заказчиком типов ПО. Стандарт не применим для аппаратных элементов программно-аппаратного обеспечения

http://www.dbases.ru/cgi-bin/catalog/catalog.cgi?c=0&i=2063&pr=1

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

Nik
Не в сети
Зарегистрирован: 06/11/2008
Постановка задачи программисту

Vadim написал:
Посмотрите ГОСТ Р 51904-2002 — Программное обеспечение встроеннных систем. Общие требования к разработке и документированию.

А он есть где-нибудь в свободном доступе?

Nik
Не в сети
Зарегистрирован: 06/11/2008
Re: Постановка задачи программисту

surgeon написал:
SrtPappers написал:
Чем можно было, на мой взгляд, дополнить постановку задачи программисту:
1. Дать перечень всех модулей файлового менеджера и указать те модули, с которыми взаимодействует модуль копирования файлов.
2. Привести описания всех входных и выходных форм модуля с указанием всех входных полей и выходных сообщений.
3. Дать рекомендации по разработке экранных форм модуля (размеры, цвет, места расположения надписей и т.д.) и т.д.

Не, это бесполезно. Она там все уроды в том смысле, что у них нет даже грамотной методики тестирования вновь поступающих. В этом нет ничего необычного. Что хоть за контора-то, сознайтесь, Ник? Мы ее сейчас же в черные списки работодателей определим Smile

Не надо черных списков. Я просто хотел выслушать советы профессионалов.
Обычно задание программисту пишу разными способами, ориентируясь на потребности конкретного проекта: бывает программисты твердолобые - приходится SQL-запросы и процедуры в постановке прописывать; бывает, что решение трудное - все надо задокументировать, вплоть до алгоритма изменения цвета шрифта, в зависимости от того или иного условия, чтобы самому не забыть. Laughing out loud

Аватар пользователя surgeon
Не в сети
Зарегистрирован: 10/20/2004
Re: Постановка задачи программисту

SrtPappers написал:
Чем можно было, на мой взгляд, дополнить постановку задачи программисту:
1. Дать перечень всех модулей файлового менеджера и указать те модули, с которыми взаимодействует модуль копирования файлов.
2. Привести описания всех входных и выходных форм модуля с указанием всех входных полей и выходных сообщений.
3. Дать рекомендации по разработке экранных форм модуля (размеры, цвет, места расположения надписей и т.д.) и т.д.

Не, это бесполезно. Она там все уроды в том смысле, что у них нет даже грамотной методики тестирования вновь поступающих. В этом нет ничего необычного. Что хоть за контора-то, сознайтесь, Ник? Мы ее сейчас же в черные списки работодателей определим Smile

Не в сети
Зарегистрирован: 01/11/2006
Постановка задачи программисту

Посмотрите ГОСТ Р 51904-2002 — Программное обеспечение встроеннных систем. Общие требования к разработке и документированию.

Когда нет знания, есть мнение.

Не в сети
Зарегистрирован: 12/14/2006
Re: Постановка задачи программисту

Nik написал:
Уважаемые коллеги! Требую здоровой и конструктивной критики.
Задание: "Необходимо написать задание программисту на разработку диалогового окна копирования файлов в файловом менеджере типа Total Commander или FAR."

На работу меня не приняли, объяснив это тем, что форма соблюдена, но задача и требования учтены недостаточно четко.
Покритикуйте, пожалуйста, поясните, в чем я ошибся, в чем неправ?
PS Если потребуется, могу скинуть 2-й док-т - описание алгоритма

Чем можно было, на мой взгляд, дополнить постановку задачи программисту:
1. Дать перечень всех модулей файлового менеджера и указать те модули, с которыми взаимодействует модуль копирования файлов.
2. Привести описания всех входных и выходных форм модуля с указанием всех входных полей и выходных сообщений.
3. Дать рекомендации по разработке экранных форм модуля (размеры, цвет, места расположения надписей и т.д.) и т.д.

Гость
Постановка задачи программисту

Хм. Я вот только не понял - с каких пор постановка задачи програмисту выполняется в соответствии с 34-ыми (19-ми)?
Вы вообще не с того края зашли...

Nik
Не в сети
Зарегистрирован: 06/11/2008
Постановка задачи программисту

surgeon написал:
На части системы можно, но на софтину - по ГОСТ 19. Поскольку диалоговое окошко - элемент пользовательского интерфейса программы, а программа - один из видов обеспечения системы, а не часть системы.

И постановку задачи как документ от Вас никто не требовал. Надо было всего лишь написать задание.

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

Аватар пользователя surgeon
Не в сети
Зарегистрирован: 10/20/2004
Постановка задачи программисту

На части системы можно, но на софтину - по ГОСТ 19. Поскольку диалоговое окошко - элемент пользовательского интерфейса программы, а программа - один из видов обеспечения системы, а не часть системы.

И постановку задачи как документ от Вас никто не требовал. Надо было всего лишь написать задание.

Nik
Не в сети
Зарегистрирован: 06/11/2008
Постановка задачи программисту

surgeon написал:
А зачем по 34 ГОСТу? Надо было по 19. Правда, уверен, что в той крупной ИТ-компании об этом никто не знает, поскольку форма соблюдена.

Цитата:
задача и требования учтены недостаточно четко

А они, опять же, соображают, что говорят? Задача... учтена. А каков критерий четкости учтения требований?

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

Я не расстраиваюсь. Хотелось бы конкретной критики, по существу.
по 34-му, потому что в 19 нет документа "Постановка задачи".
А разве нельзя разрабатывать по 34-му документацию на части системы?

Аватар пользователя surgeon
Не в сети
Зарегистрирован: 10/20/2004
Постановка задачи программисту

А зачем по 34 ГОСТу? Надо было по 19. Правда, уверен, что в той крупной ИТ-компании об этом никто не знает, поскольку форма соблюдена.

Цитата:
задача и требования учтены недостаточно четко

А они, опять же, соображают, что говорят? Задача... учтена. А каков критерий четкости учтения требований?

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


(c) Все права защищены. 2016 Форум Тех. Поддержки Author-IT.ru