Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

домашнее-задание

.pdf
Скачиваний:
15
Добавлен:
12.02.2015
Размер:
379.21 Кб
Скачать

Домашнее задание для студентов факультета компьютерных наук (Омский Государственный Университет им. Ф.М. Достоевского (ОмГУ)) по дисциплине «Технология про-

граммирования», 2013 – 2014 год.

Преподаватель: Гусс Святослав Владимирович.

Задание 1

Проанализируйте приведенные ниже требования заказчика и сформулируйте систе-

му требований к программе «Налоговый калькулятор».

Требования заказчика к программе «Налоговый калькулятор»

1. Программа предназначена для расчета величины налога на доходы физических лиц (НДФЛ) за 1 месяц. Программа должна работать в операционной системе Windows (или Linux), как автономный модуль, не требующий инсталляции и установки дополнительных библиотек (допускается работа системы в рамках виртуальной среды с еѐ компонентами).

2. Входной информацией для программы являются следующие величины:

а) доход физического лица за 1 месяц (Д), с которого надо удержать подоходный налог;

б) доход физического лица, уже полученный им с начала года до месяца, для которого производится расчет (ДСУММ);

в) количество детей до 18 лет, имеющихся на иждивении у физического лица (ДЕТИ);

г) сведения о том, является ли семья физического лица полной.

3. Алгоритм расчета налога следующий:

Если доход, полученный с начала года, не превышает сумму в 40000 руб., то величина налога составляет 13% от величины дохода за месяц, уменьшенного на величину налоговых вычетов (ВЫЧ):

НАЛОГ = 0,13 • (Д – ВЫЧ).

Налоговые вычеты равны:

а) для физического лица, не имеющего детей младше 18 лет, 600 руб.

б) для физического лица, имеющего детей младше 18 лет, в случае, если семья является полной, 600 руб. плюс 600 руб. на каждого имеющегося ребенка:

ВЫЧ = 600 + 600 • ДЕТИ [руб.]

1

в) для физического лица, имеющего детей младше 18 лет, в случае, если семья является неполной, 600 руб. плюс 1200 руб. на каждого имеющегося ребенка:

ВЫЧ = 600 + 1200 • ДЕТИ [руб.].

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

Если доход, полученный с начала года, превышает 40000 руб., то налоговые вычеты не предоставляются и величина налога составляет 13% от величины дохода за месяц:

НАЛОГ = 0,13 • Д.

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

5. Поле для ввода дохода физического лица за 1 месяц должно позволять вводить максимальную сумму до 999999999 руб. 99 коп.

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

7. Каждая из выходных величин должна быть представлена в двух форматах – в виде числа и в виде суммы прописью. При выводе суммы прописью все числительные и обозначения денежных единиц должны быть в нужных падежах.

Задание 2

Выберите модель жизненного цикла и адаптируйте стандартный процесс разработки для программы «Налоговый калькулятор». На их основе разработайте календарный график реализации программы.

В качестве типовых этапов реализации можно использовать этапы: «Разработка техни-

ческого задания», «Программная реализация», «Тестирование», «Регистрация программы» и «Защита проекта».

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

При построении календарного графика можно использовать любую доступную програм- му-планировщик.

2

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

Определите сроки реализации проекта и общую трудоемкость проекта.

Сформируйте отчеты: «Общие сведения о проекте», «Календарный план» и «График загрузки исполнителей».

Задание 3

Составьте техническое задание на разработку программы «Налоговый калькуля-

тор». Техническое задание должно соответствовать требованиям ГОСТ 19.201-78 «Тех-

ническое задание. Требования к содержанию и оформлению».

Ниже приведены основные требования ГОСТ 19.201-78 к техническому заданию и комментарии по применению этих требований.

1. Общие положения

1.1. Техническое задание оформляют в соответствии с ГОСТ 19.106-78 на листах формата 11 и 12 по ГОСТ 2.301-68, как правило, без заполнения полей листа. Номера листов (страниц) проставляются в верхней части листа над текстом.

1.2. Лист утверждения и титульный лист оформляют в соответствии с ГОСТ 19.104-78.

1.3. Техническое задание должно содержать следующие разделы:

а) введение;

б) основания для разработки;

в) назначение разработки;

г) требования к программе или программному изделию;

д) требования к программной документации;

е) технико-экономические показатели;

ж) стадии и этапы разработки;

з) порядок контроля и приемки;

и) в техническое задание допускается включать приложения.

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

3

2. Содержание разделов

2.1. В разделе «Введение» указывают наименование, краткую характеристику области применения программы или программного изделия и объекта, в котором используют программу или программное изделие.

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

2.2. В разделе «Основания для разработки» должны быть указаны:

а) документ (документы), на основании которого ведется разработка;

б) организация, утвердившая этот документ, и дата его утверждения;

в) наименование и (или) условное обозначение темы разработки. В нашем случае основание разработки – учебный план и задание преподавателя.

2.3. В разделе «Назначение разработки» должно быть указано функциональное и эксплуатационное назначение программы или программного изделия.

Функциональное назначение программы – функции, для выполнения которых она ис-

пользуется. Например, налоговый калькулятор предназначен для расчета налога.

Эксплуатационное назначение – процесс, в котором планируется использовать программы. Например, налоговый калькулятор предназначен для организации консультации граждан по вопросам налогового законодательства.

2.4. Раздел «Требования к программе или программному изделию» должен содержать следующие подразделы:

а) требования к функциональным характеристикам;

б) требования к надежности;

в) условия эксплуатации;

г) требования к составу и параметрам технических средств;

д) требования к информационной и программной совместимости;

е) требования к маркировке и упаковке;

ж) требования к транспортированию и хранению;

з) специальные требования.

4

2.4.1. В подразделе «Требования к функциональным характеристикам» должны быть указаны требования к составу выполняемых функций, организации входных и выходных данных, временным характеристикам и т.п.

2.4.2. В подразделе «Требования к надежности» должны быть указаны требования к обеспечению надежного функционирования (обеспечения устойчивого функционирования, контроль входной и выходной информации, время восстановления после отказа и т.п.).

При формировании требований к надежности следует уточнить понятие «надежность» применительно к данному случаю. Например, надежность налогового калькулятора – соответствие результатов расчета действующему законодательству.

2.4.3. В подразделе «Условия эксплуатации» должны быть указаны условия эксплуатации (температура окружающего воздуха, относительная влажность и т.п. для выбранных типов носителей данных), при которых должны обеспечиваться заданные характеристики, а также вид обслуживания, необходимое количество и квалификация персонала.

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

2.4.4. В подразделе «Требования к составу и параметрам технических средств» ука-

зывают необходимый состав технических средств с указанием их основных технических характеристик.

Каждое требование технического задания должно проверяться, поэтому не следует формулировать неоправданно широкие требования. Например, требование «Программа должна работать на любом компьютере» никогда не может быть выполнено. Более правильно указывать требования к составу и параметрам технических средств, на которых планируется эксплуатация программы.

2.4.5. В подразделе «Требования к информационной и программной совместимости»

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

При необходимости должна обеспечиваться защита информации и программ.

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

5

2.4.6. В подразделе «Требования к маркировке и упаковке» в общем случае указывают требования к маркировке программного изделия, варианты и способы упаковки.

В соответствии с Законом РФ «О защите прав потребителя» на упаковке программы должны помещаться: название программы, реквизиты изготовителя и вся информация о программе, необходимая покупателю. Кроме того, на упаковке принято размещать краткую инструкцию по установке и использованию программы.

2.4.7. В подразделе «Требования к транспортированию и хранению» должны быть указаны для программного изделия условия транспортирования, места хранения, условия хранения, условия складирования, сроки хранения в различных условиях.

В нашем случае требования к транспортировке и хранению можно опустить.

2.5. В разделе «Требования к программной документации» должен быть указан пред-

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

При определении перечня программных документов удобно придерживаться какой-либо системы стандартов. Например, в стандарте ЕСПД ГОСТ 19.101-77 приведен следующий перечень документов.

Спецификация: состав программы и документации на нее.

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

Текст программы: запись программы с необходимыми комментариями.

Описание программы: сведения о логической структуре и функционировании программы.

Программа и методика испытаний: требования, подлежащие проверке при испытании программы, а также порядок и методы их контроля.

Техническое задание: назначение и область применения программы, технические, тех- нико-экономические и специальные требования, предъявляемые к программе, необходимые стадии и сроки разработки, виды испытаний.

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

Эксплуатационные документы: сведения для обеспечения функционирования и эксплуатации программы.

6

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

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

Для формирования оценки экономической эффективности ответьте на следующие вопросы:

а) Для чего предназначена программа, какие задачи она решает?

б) Какое предприятие является объектом внедрения?

в) Какие проблемы предприятия призвана решать программа?

г) Готово ли предприятие к внедрению программы, какие мероприятия следует провести для обеспечения эффективности использования программы?

д) Какие положительные изменения в работе предприятия ожидаются в связи с внедрением программы?

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

2.7. В разделе «Стадии и этапы разработки» устанавливают необходимые стадии разработки, этапы и содержание работ (перечень программных документов, которые должны быть разработаны и утверждены), а также сроки разработки.

2.8. В разделе «Порядок контроля и приемки» должны быть указаны виды испытаний и общие требования к приемке работы.

Типовая процедура контроля и приемки выглядит так: создается комиссия из представителей заказчика и разработчика, которая на основании результатов испытаний принимает решение о готовности программы. Если в разделе «Требования к программной документации» указана разработка «Программы и методики испытаний», в данном разделе достаточно указать [Испытания проводятся в соответствии с требованиями «Про-

граммы и методики испытаний»].

2.9. В приложениях к техническому заданию при необходимости приводят:

а) перечень научно-исследовательских и других работ, обосновывающих разработку;

7

б) схемы алгоритмов, таблицы, описания, обоснования, расчеты и другие документы, которые могут быть использованы при разработке;

в) другие источники разработки.

Задание 4

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

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

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

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

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

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

8

Задание 5

Организуйте тестирование программы. Разработайте программу и методику испытаний программы на соответствие требованиям «Технического задания». Обменяйтесь исполняемыми модулями с введенными в них искусственными ошибками с коллегой и проведите тестирование чужой программы. По результатам испытаний составьте протокол тестирования. По методу Миллса оцените число оставшихся в программе ошибок. При необходимости программа передается автору для доработки.

Проведите работу над ошибками. Для этого составьте таблицу интенсивности появления и обнаружения ошибок по этапам. Объясните результаты. Что, по вашему мнению, следует изменить в организации работы, чтобы повысить ее эффективность?

Задание 6

Подготовьте комплект документов для регистрации программы «Налоговый калькулятор» как объекта интеллектуальной собственности. Требования к комплекту документов и бланки документов можно получить на сайте:

http://www1.fips.ru/wps/wcm/connect/content_ru/ru/soft/oba_za.

Задание 7

После завершения разработки подведите итоги. Выясните:

а) что удалось и что не удалось сделать в данном проекте;

б) какой опыт вы получили в ходе его реализации;

в) какие трудности встречались при разработке;

г) на что было потрачено время, что вызвало самые большие затраты;

д) насколько реалистичен был сетевой график, чем вызваны серьезные отклонения от начального графика.

Результаты анализа оформите в виде итогового документа, который поможет вам при планировании и реализации будущих проектов.

Примечание: пример задания взят из книги:

Стандартизация и разработка программных систем»: учебное пособие / В.Н. Гу-

сятников, А.И. Безруков. – М.: Финансы и статистика; ИНФРА-М, 2010. – 288 с.: ил.]

9