Руководства, Инструкции, Бланки

техническое задание образец на программное обеспечение img-1

техническое задание образец на программное обеспечение

Рейтинг: 4.3/5.0 (1862 проголосовавших)

Категория: Бланки/Образцы

Описание

Техническое задание на программное обеспечение образец - Новое в интернете

Как писать техническое задание

Техническое задание и его назначение. Большому боссу, непосредственно взаимодействующему. Главное меню. Главная. О компании образец договора вакансии карта сайта услуги и цены. Информация для менеджеров по продажам системы контроля доступа castle краткое руководство. Добрый день! Нужно сформулировать техническое задание на строительство офисного комплекса.

Техническое задание на ремонт поиск литературы, чертежей, моделей и прочих материалов. Httpwww.citforum.ru, решение прикладных задач в excel. Корпоративный сайт. Эффективный инструмент. Права на программное обеспечение чем исключительные права отличаются от.

Образец налоговой учетной политики. Приложение 1. От налоговая учетная политика тоо. Техническоезаданиена разработку программы интернет база данных. Требования к программнымсредствам, используемым программой. Требования к защите информации и программ 3.5. 1.3. Для внесения изменений или дополнений в техническоезаданиена последующих стадиях разработки программы или программного изделия выпускают дополнение к нему.

Вменяемый исполнитель всегда стремится сократить объем техническогозадания, поскольку меньше слов меньше вопросов. Документ обоснование необходимости закупки техническихсредств, программногообеспечения и лицензий на него. Косноязычие и. Описание программногообеспечения (па по гост ) интернет-портала (пример). Техническоезаданиенапрограмму ведения справочника написаний и произношений по гост. Требования к обеспечению надежного функционирования программы. Время восстановления программы после отказа. Состав программной документации должен включать в себя. Техническоезадание. Программу и методики испытаний. Техническоезаданиена разработку программы база данных документов. Г) регулярным выполнением требований гост 51188-98. Защита информации. Испытания программныхсредств на наличие компьютерных вирусов.

Другие статьи

Пишем техническое задание

Пишем техническое задание

Любая работа начинается с задания, а работа технического писателя должна начинаться с технического задания. Осталось только разобраться, что это такое и зачем оно нам нужно. Прочитайте статью Кимберли Чан, чтобы не попасть в такую же ситуацию, как разработчик из уже любимой нами серии комиксов.

Специалисты компании «ПроТекст» будут рады разработать техническое задание для Вашей компании с учётом всех нюансов. Подробности на этой странице.

Что такое техническое задание на разработку программного обеспечения?

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

  • Полное описание целей и функциональности программного обеспечения;
  • Детали того, как программа будет работать с точки зрения скорости, времени отклика, доступности, мобильности, надёжности, скорости восстановления и т.д.;
  • Варианты того, как пользователи будут использовать программное обеспечение;
  • Определение того, как приложение будет взаимодействовать с оборудованием или другими программами;
  • Нефункциональные требования (например: требования к обеспечению эффективности, стандарты качества, или проектные ограничения)

ТЗ позволяет разработчикам ясно понять цели программного обеспечения и то, на чём нужно фокусироваться. Кроме того, оно:

  • Экономит время на коммуникации;
  • Минимизирует трудоёмкость разработки;
  • Позволяет давать клиентам обратную связь;
  • Помогает избежать дублирования задач;
  • Способствует переходу к новым пользователям или новым машинам;
  • Разбивает проблему на части;
  • Служит в качестве основного документа для проверки процессов тестирования и валидации;
  • Отсылка к последним техническим заданиям помогает выявить неточности и технологические недостатки.

Как написать ТЗ на разработку программного обеспечения?

Нет стандартного метода написания ТЗ, но мы можем дать несколько советов:

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

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

Вот пример простого плана ТЗ на ПО:

  1. Цель
  2. Сфера применения
  3. Обзор системы
  4. Ссылки
  5. Определения
  6. Примеры использования
  7. Функциональные требования
  8. Нефункциональные требования

После создания плана можно писать спецификацию. Вот несколько советов:

Выберите для написания лучшего

Писатель должен иметь превосходные коммуникационные навыки. Цель спецификации в том, чтобы её мог понять каждый. Всё, что остается неясным или недопонятым, может привести к не особо приятным последствиям. Многие предполагают, что участие в процессе технического писателя помогает предотвратить непонимание. Есть писатели, более опытные, чем разработчики, с талантом вносить точность и ясность. Технические писатели знают, как собирать и обрабатывать нужную информацию; они также знают, как донести требования заказчика.

Сделайте информацию визуальной

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

Не документируйте слишком много

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

Создайте онлайн-версию ТЗ и постоянно обновляйте её

По мере выполнения задач или если произошли изменения в штате или процессах, ТЗ необходимо будет обновлять. По этой причине сохраняйте виртуальную версию­ – это поможет убедиться, что вся команда при любом изменении получит обновлённый документ.

Также вам может быть интересно:

Пример технического задания на программное обеспечение

Пример технического задания на программное обеспечение.

Никто не мог бы поделиться примерами "реального" строгого технического задания на программу?

ТЗ.
Напиши то не знаю что но только чтоб работало и то что мне нужно.

Я как-то просил подобную документацию. Могу переслать.
Но там не конкретное ТЗ а информация к размышлению.

Все об этом говорят, но мало кто видел своими глазами :-))).

>>Denis ©,Ega23 ©,Семен Сорокин ©
а мнене вышлете?

Гы-гы. Строгое и реальное. Такое бывает. Хорошо если максимум раз в месяц задание и граничные условия меняются с точностью до "наоборот"

Самым реальным ТЗ, которое я видел в свой жизни была служебка ( могу скан выложить ), содержавшая одну единственную фразу.

"Нам бы это, чтобы ну, э"

Код занял около 8000 строк ( под ДОС-ом )

Смотря какое ТЗ, если по Госту, чесно говря не видел такое, но говорят тихий ужас.
А так, могу отсканить. (67 листов формата А4) но там подразделы на исполнительную и техническую, короче куча лишнего.

Память: 0.72 MB
Время: 0.055 c

НОУ ИНТУИТ

Пример технического задания для рецензирования 6. Порядок контроля и приемки системы

Испытания Подсистемы должны проводиться в соответствии с требованиями ГОСТ 34.603-92 "Информационная технология. Виды испытаний автоматизированных систем". При реализации Подсистемы в рамках настоящего ТЗ устанавливаются предварительные испытания на стенде Исполнителя по созданию Подсистемы.

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

Приемку работ должна осуществлять приемочная комиссия, в состав которой включаются:

  • представители Заказчика;
  • представители Исполнителя.

При проведении испытаний приемочной комиссии предъявляются разработанные Исполнителем материалы (конструкторская, программная и эксплуатационная документация и программное обеспечение в исходных и исполняемых кодах). Комплектность предоставляемой документации определяется требования настоящего ТЗ.

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

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

Отдельные пункты ТЗ могут изменяться и уточняться по согласованию сторон.

В недельный срок после начала работ исполнитель предоставляет на согласование ОАО "Оргсинтез" план-график работ по данному этапу.

7. Требования к документированию 7.1. Общие требования к документированию

Документы должны быть представлены на бумажном виде (оригинал) и на магнитном носителе (копия). Исходные тексты программ - только на магнитном носителе (оригинал). Возможно предоставление комплекта документации и текстов программ на компакт-дисках.

Все документы должны быть оформлены на русском языке. Состав документов на общее программное обеспечение, поставляемое в составе АИС "Платежи и взаиморасчеты с кредиторами ", должен соответствовать комплекту поставки компании - изготовителя.

7.2. Перечень подлежащих разработке документов

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

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

Состав и содержание комплекта документации на Подсистему может быть уточнен на стадии проектирования.

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

8. Требования к составу и содержанию работ по подготовке объекта автоматизации к вводу системы в действие

В процессе cоздания Подсистемы должен быть подготовлен и передан Заказчику комплект документации в составе:

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

Состав и содержание комплекта документации на Подсистему может быть уточнен на стадии проектирования.

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

9. Порядок внесения изменений

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

Таблица 3. Перечень условных обозначений, сокращений и терминов

Пример ТЗ и ТП на небольшую доработку

Пример ТЗ и ТП на небольшую доработку

Привожу пример технического задания и технического проекта на небольшую доработку к БП. Документы делались исходя из схемы: Обследование- ТЗ - ТП - Разработка.

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

УТВЕРЖДАЮ ПРЕДСТАВЛЯЮ НА УТВЕРЖДЕНИЕ

" "______________ 2010 г. " "_______________ 2010 г.

4.1.1. Разрабатываемые в АС методы и программные модули должны содержать возможности дальнейшего развития системы.

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

5.1.2. Разрабатываемая АС должна обеспечивать простоту настройки автоматизированного рабочего места (АРМ) каждого конкретного исполнителя в соответствии со сложившейся системой учета.

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

5.1.4. Защита информации от несанкционированного доступа должна быть реализована с использованием следующих механизмов:

1. Ограничениями прав доступа на уровне платформы 1С:Предприятие 8.1.

2. Дополнительными ограничениями прав доступа на уровне среды исполнения.

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

5.1.4.2.Защита информации на уровне платформы

· Защита информации на уровне платформы обеспечивается системными средствами. При этом регулируются права на чтение и редактирование объектов системы, использование интерфейсов, системных функций и выполнение регламентных операций с данными информационной системы. · Все права доступа должны быть систематизированы в соответствующие наборы – Роли информационной системы. · Список пользователей информационной системы должен определяться администратором системы. · Права доступа каждого пользователя должны определяться набором Ролей информационной системы, доступных для него. · Наборы Ролей информационной системы, доступных для каждого пользователя должен определять администратор системы. · При начале работы в системе пользователь должен пройти процедуру авторизации, указав свое имя в системе и пароль.

5.1.4.3. Защита информации на уровне среды исполнения

Для ряда справочников в системе должны быть обеспечены дополнительные ограничения прав редактирования. Справочники, для которых необходимо установить запрет на редактирование в системе:
  • Адресные сокращения
  • Валюты
  • Виды взаиморасчетов
  • Виды деятельности контрагентов
  • Группы пользователей
  • Документы удостоверяющие личность
  • Должности организаций
  • Подразделения
  • Пользователи
  • Статьи движения денежных средств
  • Статьи затрат
  • Тарифы

5.1.5. Для обеспечения сохранности информации при авариях, должно быть предусмотрено ежедневное автоматическое архивирование данных.

5.1.6. Требования к эргономике и технической эстетике

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

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

5.2.Требования к структуре и функционированию АС "СБЫТ".

5.2.1. АС "СБЫТ" должна состоять из следующих автоматизированных подсистем:

- Подсистема ввода первичной информации об абоненте (заключения договора);

- Подсистема формирования документов на оплату;

- Подсистема связи с системой АСКУЭ;

- Подсистема связи с платежными терминалами.

5.2.2. Состав Подсистемы ввода первичной информации об абоненте (заключения договора) должен быть следующим:

- Документ «Договор с абонентом»;

5.2.3. Состав Подсистемы формирования документов на оплату должен быть следующим:

- Документ « Квитанция»»

- Документ «Начисление штрафных санкций»

- Документ «Потребленная энергия»

- Модуль проверки состояния взаиморасчетов

5.2.4. Состав Подсистемы связи с системой АСКУЭ должен быть следующим:

- модуль Связь с системой АСКУЭ.

5.2.5. Состав Подсистемы связи с платежными терминалами должен быть следующим:

- модуль Связь с с платежными терминалами.

5.3. Требования к функциям модуля Подсистемы ввода первичной информации об абоненте (заключения договора)

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

- Ввод и хранение информации об установленной мощности контрагента (в дальнейшем абонента);

- Ввод и хранение информации об установленных счетчиках абонента;

- Ввод и хранение информации о тарифах абонента;

- Ввод и хранение информации о условиях начисления штрафных санкций абонента;

- Ввод и хранение информации о сроках действия договора;

5.4. Требования к функциям Подсистемы формирования документов на оплату

5.4.1. Подсистема формирования платежных документов должна выполнять следующие функции:

- Определение состояния взаиморасчетов с абонентом и определение условий возникновения штрафных санкций.

- Формирование документов на оплату (квитанций или счетов на оплату).

5.5. Требования к функциям Подсистемы связи с системой АСКУЭ

5.5.1. Подсистемы связи с системой АСКУЭ должна выполнять следующие функции:

- Передачу данных о вновь заключенных договорах с абонентами. Ключом связи должно быть уникальность пары «ID абонента» - «Код договора абонента».

- Получение данных о потребленной электроэнергии абонентом. Ключом связи должно быть уникальность пары «ID счетчика» - «Код счетчика».

5.6. Требования к функциям Подсистемы связи с платежными терминалами

5.6.1. Подсистемы связи с системой АСКУЭ должна выполнять следующие функции:

- Получение данных о произведенных платежах абонентами за электроэнергию через платежные терминалы.

6.1.Устанавливается следующий порядок предъявления и сдачи Заказчику результатов работ:

6.1.1. Исполнитель демонстрирует работоспособность ПО на контрольном примере.

6.1.2. Данные для контрольного примера готовят представители Заказчика.

6.1.3. Исполнитель передает программное обеспечение в информационный отдел Заказчика и выполняет обучение администратора Заказчика.

6.1.4. По результатам решения контрольного примера должен быть подготовлен Акт о передаче ПО в опытную эксплуатацию.

6.1.5. В случае несоответствия функциональных возможностей ПО требованиям ТЗ Исполнитель выполняет устранение замечаний в рамках общей стоимости разработки АС.

6.1.6. При возникновении дополнительных к ТЗ требований Заказчика, составляется дополнительное ТЗ на доработку.

6.1.7. Наличие дополнительных требований Заказчика не должно являться основанием отказа от подписания Акта о передаче ПО в опытную эксплуатацию.

6.1.8. После передачи ПО в опытную эксплуатацию, по согласованному с Заказчиком Графику внедрения, Исполнитель производит краткое обучение персонала Заказчика работе с ПО и передает Инструкцию по работе с ПО на каждую подситему.

6.1.9. При внедрении ПО (опытной эксплуатации) Заказчик осуществляет:

- ввод необходимой НСИ;

- ввод фактических данных;

- формирование отчетности и проверку результатов работы.

6.1.10. В процессе внедрения Исполнитель должен оказывать помощь Заказчику в рамках Графика внедрения.

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

6.2.Порядок дальнейшего сопровождения задач АС "СБЫТ".

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

В ТЗ должна быть указана трудоемкость и стоимость работ по реализации дополнительных требований.

6.2.2. Исполнитель обязуется поддерживать телефонную "горячую линию" по сопровождению программного обеспечения.

6.2.3. По желанию Заказчика, Исполнитель может осуществлять сопровождение программного обеспечения непосредственно у Заказчика, которое должно производиться на основании дополнительного договора по сопровождению ПО.

6.2.4. Ошибки, выявленные Заказчиком в течение полугода с момента передачи ПО в эксплуатацию, должны устраняться Исполнителем оперативно и бесплатно.

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

6.2.5. Заказчик, в течении года после покупки 1С: Предприятие, имеет право на бесплатное получение всех обновлений от фирмы 1С, связанное с развитием программ 1С и изменением законодательства. Установка изменений должна производиться силами АСУ Заказчика.

6.2.6. Исполнитель гарантирует сохранение конфиденциальности содержания баз данных Заказчика и любой другой информации, полученной от Заказчика в процессе разработки, внедрения или сопровождения АС.

УТВЕРЖДАЮ ПРЕДСТАВЛЯЮ НА УТВЕРЖДЕНИЕ

" "______________ 2010 г. " "_______________ 2010 г.

Приложение к техническому заданию от «____» ________ 2010

- по регистру сведений «Показания счетчиков» куда прописывает счетчики абонента и начальные показания счетчиков;

- по регистру сведений «Тарифы абонентов» куда прописывает тариф установленный абоненту с даты начала действия договора

- по регистру сведений «Сроки действия договоров» куда прописывает договор. дата начала действия и дату окончания действия договора

Потребленная Энергия

Назначение: Предназначен для отражения показаний счетчиков на определенную дату

Документ может заполнятся двумя способами: ручным вводом и путем вызова обработки «Получение данных из системы АСКУЭ»

- по регистру сведений «Показания счетчиков» куда прописывает показания счетчиков на дату документа;

- по регистру накоплений «Потребленная энергия по следующему алгоритму:

1. Берутся показания счетчиков из регистра сведений «Показания счетчиков» на дату документа и предыдущее значения показания счетчиков.

2. Разницы значений показаний заносятся в соответствующие ресурсы регистра накопления.

Реестр показаний счетчиков

Квитанция

Назначение: Предназначен для отражения начислений абонентам

Документ может заполнятся двумя способами: ручным вводом и путем вызова обработки «начисление оплаты»

Квитанция на оплату со штрих кодом

Штрих-код формируется при помощи шрифта «Infograftbarcode»

Алгоритм формирования Строка «0000»+Код договора абонента+Начислено

Макет квитанции прилагается в файле КВ_1.mxl

Документ заполняется на основании справочника «Договора контрагентов».

  1. Из справочника выбираются договоры, у которых, согласно регистра сведений «Сроки действия договоров» ДатаНачала меньше даты документа и ДатаОкончания больше даты документа;
  2. Выбираются счетчики соответствующие этим договорам;
  3. Для счетчиков определяется потребление энергии как оборот по регистру накопления «Потребление энергии» за период между датой документа и датой предыдущего документа, если дата предыдущего документа неизвестна, то берется весь оборот по регистру. Полученное значение записывается в поле «ПотребленнаяЭнергия»
  4. Устанавливается тариф согласно договора и значение тарифа на дату документа ;
  5. Устанавливается вид начисления «По показаниям счетчика»;
  6. Рассчитывается Поле Начислено как произведение ПотребленнаяЭнергия на ЗначениеТарифа.

Для каждой строки табличной части «Показания счетчиков» должны быть сделаны следующие проводки:

Дт. 62.01 с аналитикой СубконтоДт1 – Контрагент, СубконтоДт2 - Договор контрагента

Кт. 90.01 с аналитикой СубконтоКт1 – Номенклатура.НоменклатурнаяГруппа, СубконтоКт2 – Номенклатура.СтавкаНДС.

Сумма проводки – значение реквизита «Начислено»;

Если есть Кредитовое сальдо По счету 62.02, то проводится зачет аванса с проводкой

Дт. 62.02 с аналитикой СубконтоДт1 – Контрагент, СубконтоДт2 - Договор контрагента

Кт. 62.01 с аналитикой СубконтоКт1 – Контрагент, СубконтоКт2 - Договор контрагента

Сумма проводки – минимальное значение из кредитового сальдо по счету 62.02 и значения реквизита «начислено»)

Дт. 90.03 с аналитикой СубконтоДт1 – Номенклатура.НоменклатурнаяГруппа, СубконтоДт2 – Номенклатура.СтавкаНДС

Кт. 62.01 с аналитикой СубконтоКт1 – Контрагент, СубконтоКт2 - Договор контрагента

Сумма проводки = «Начисленно»* СтавкаНДС/(100+ставкаНДС), где СтавкаНДС - «Номенклатура.СтавкаНДС»

Начисление штрафных санкций

Назначение: Предназначен для отражения начислений штрафов абонентам

Документ может заполнятся двумя способами: ручным вводом и путем вызова обработки «начисление штрафов »

Квитанция на оплату со штрих кодом

Штрих-код формируется при помощи шрифта «Infograftbarcode»

Алгоритм формирования Строка «0000»+Код договора абонента+Начислено

Макет квитанции прилагается в файле КВ_1.mxl

Для каждой строки табличной части «Показания счетчиков» должны быть сделаны следующие проводки:

Дт. 62.01 с аналитикой СубконтоДт1 – Контрагент, СубконтоДт2 - Договор контрагента

Кт. 91.01 с аналитикой СубконтоКт1 – Прочие доходы.

Сумма проводки – значение реквизита «Начислено»;

Обработки Получение данных из системы АСКУЭ
  1. Выбрать строки файла передачи данных
  2. Начать цикл по строкам файла передачи данных
  3. Прочитать строку файла передачи данных
  4. Получить из строки файла передачи данных код счетчика
  5. Найти по коду соответствующий элемент в справочнике «счетчики», если элемент не найден, то выдать сообщение « Не найден счетчик с кодом …»
  6. Если элемент найден, то добавить строку в таблицу значений, где. «счетчик» - найденный элемент, «ПоказанияДень» - «Day», «ПоказанияНочь» - «Night»
  7. После получения последний строки файла передачи данных окончить цикл
  8. Если обработка вызвана из документа «Потребленная Энергия» и число строк

в таблице значений больше 0 то записать содержимое таблицы значений в табличную часть документа и провести документ.

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

Формат файла передачи данных – DBF;

Структура файла передачи данных:

Код договора абонента в системе «Сбыт»

Номер платежа в платежной системе

Ссылка на собственное юридическое лицо

Путь к файлу передачи данных

  1. Создать таблицу значений со структурой:

Справочник Договоры Контрагентов

Ссылка на договор абонента

Номер платежа в платежной системе

  1. Выбрать строки файла передачи данных
  2. Начать цикл по строкам файла передачи данных
  3. Прочитать строку файла передачи данных
  4. Получить из строки файла передачи данных код договора
  5. Найти по коду соответствующий элемент в справочнике «Договоры контрагентов», если элемент не найден, то выдать сообщение « Не найден договор с кодом …»
  6. Если элемент найден, то добавить строку в таблицу значений, где. «Договор» - найденный элемент, «Дата» - «Data_plat», «НомерПлатежа» - «Nomer_plat», «Сумма» - «Summa_plat»
  7. После получения последний строки файла передачи данных окончить цикл
  8. Для каждой строки таблицы значения создать документ «Платежное ордер поступление денежных средств». При создании документа сделать проверку наличия в системе документа с такой датой и таким номером входящего документа. Если документ присутствует в системе, то документ не создается.
  9. Правила заполнения реквизитов документа:

Довелось как-то поднимать учет и соответственно отчетность в оптовой фирмочке, в которой была огромная текучка. В доработку УТП было на тот момент вкинуто около 30к у.е. Так вот если б было такое тз хотя бы на основные доработки то жить было бы гораздо легче. А так сначала программер сидел на самой фирме и писал со слов, потом уволился и пришёл другой и тоже работал со слов. И результат - огромные затраты на доработку и куча отчетов, документов и форм в которых никто ничего не понимает. Так что считаю, что если есть задумка на большой бюджет доработок, то такое описание просто необходимо.

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

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

Отчет по практике: Разработка программного обеспечения

Отчет по практике: Разработка программного обеспечения

Название: Разработка программного обеспечения
Раздел: Рефераты по информатике, программированию
Тип: отчет по практике Добавлен 06:03:28 07 февраля 2011 Похожие работы
Просмотров: 9176 Комментариев: 2 Оценило: 0 человек Средний балл: 0 Оценка: неизвестно Скачать

Практикум по дисциплине

«Технология разработки программного обеспечения»

Лабораторная работа 1

Разработка технического задания на создание программ

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

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

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

2. Лист утверждения и титульный лист оформляют в соответствии с ГОСТ 19.104-78. Информационную часть (аннотацию и содержание), лист регистрации изменений допускается в документ не включать.

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

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

·название программы и область применения;

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

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

·стадии и этапы разработки:

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

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

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

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

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

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

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

·наименование и (или) условное обозначение темы разработки.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Пример разработки технического задания

Работа выполняется в рамках проекта «Автоматизированная система оперативно-диспетчерского управления электро-, теплоснабжением корпусов института».

2. Основание для разработки

1.Основанием для данной работы служит договор № 1234 от 10 марта 2003 г.

«Модуль автоматизированной системы оперативно-диспетчерското управления теплоснабжением корпусов института».

3.Исполнители: ОАО «Лаборатория создания программного обеспечения».

3. Назначение разработки

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

4. Технические требования

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

4.1.1. Состав выполняемых функций. Разрабатываемое ПО должно обеспечивать:

·сбор и анализ информации о расходовании тепла, горячей и холодной воды по данным теплосчетчиков SA-94 на всех тепловых выходах.;

·сбор и анализ информации с устройств управления системами воздушного отопления и кондиционирования типа РТ1 и РТ2 (разработки кафедры СММЭ и ТЦ);

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

· выдачу рекомендаций по дальнейшей работе;

·отображение текущего состояния по набору параметров - циклически постоянно (режим работы круглосуточный), при сохранении периодичности контроля прочих параметров;

·визуализацию информации по расходу теплоносителя:

- текущую, аналогично показаниям счетчиков;

- с накоплением за прошедшие сутки, неделю, месяц - в виде почасового графика для информации за сутки и неделю;

- суточный расход - для информации за месяц.

Для устройств управления приточной вентиляцией текущая информация должна содержать номер приточной системы и все параметры, выдаваемые на собственный индикатор.

По отдельному запросу осуществляются внутренние настройки.

В конце отчетного периода система должна архивировать данные.

4.1.2. Организация входных и выходных данных.

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

Основной режим использования системы - ежедневная работа.

4.2. Требования к надежности.

Для обеспечения надежности необходимо проверять корректность получаемых данных с датчиков.

4.3. Условия эксплуатации и требования к составу и параметрам технических средств.

Для работы системы должен быть выделен ответственный оператор.

Требования к составу и параметрам технических средств уточняются на этапе эскизного проектирования системы.

4.4. Требования к информационной и программной совместимости.

Программа должна работать на платформах Windows 98/ NT/2000.

4.5. Требования к транспортировке и хранению. Программа поставляется на лазерном носителе информации.

Программная документация поставляется в электронном и печатном виде.

4.6. Специальные требования.

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

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

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

5. Требования к программной документации

Основными документами, регламентирующими разработку будущих программ, должны быть документы Единой Системы Программной Документации (ЕСПД); руководство пользователя, руководство администратора, описание применения.

6. Технико-экономические показатели

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

7. Порядок контроля и приемки

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

8. Календарный план работ.

Рнс.1. Внешний вид окна Delphi.

Memo1.lines.Add('при x=' +FloatToStrF(x,ffFixed,6,2)+ ' сумма = '+FloatToStrF(s,tfFtxed,6,2));

После отладки программы составьте тест (N=2, Х1=0, Х2=1, h=3), установите курсор на первый оператор (N:= ), нажмите клавишу F4. После этого нажимая клавишу F7, выполните пошаговую программу и проследите, как меняются все переменные в процессе выполнения.

Ниже приведено 15 вариантов задач из трёх частей. По указанию преподавателя выберите свое индивидуальное задание. Уточните условие задания, количество, наименование, типы исходных данных. В соответствии с этим установите количество окон Edit, тексты заголовков на форме, размеры шрифтов, а также типы переменных и функции преобразования при вводе и выводе результатов. С помощью инспектора объектов измените цвет формы, шрифт выводимых символов.

Часть 1. Использование ООП для программирования линейных алгоритмов.

1. Найти сумму цифр заданного четырехзначного числа.

2. Определить число, полученное в оратном порядке цифр. заданного трехзначного числа.

3. Вывести на экран 1 или 0в зависимости от того, равна ли сумма двух первых цифр заданного четырехзначного числа сумме двух его последних цифр.

4. Вывести на экран 1или 0в зависимости от того, равен ли квадрат эго трехзначного числа кубу суммы цифр этого числа.

5. Вывести на экран 1или 0в зависимости от того, есть ли среди первых дробной части заданного положительного вещественного числа цифра.

6. Вывести на экран 1 или 0в зависимости от того, есть ли среди цифр трехзначного числа одинаковые.

7. Присвоить целой переменной k третью от конца цифру в записи положительного целого числа n.

8. Присвоить целой переменной k первую цифру из дробной части положительного вещественного числа.

9. Целой переменной S присвоить сумму цифр трехзначного целого числа k.

10. Идет k-я секунда суток. Определить, сколько полных часов (h) и полных минут (m) прошло к этому моменту.

11. Определить f - угол (в градусах) между положением часовой стрелки в начале суток и ее положением в h -часов, т - минут и s - секунд (0<=Н<=11, 0<=т,s< =59).

12. Определить h - полное количество часов и m - полное количество минут, прошедших от начала суток до того момента (в первой половине дня), когда часовая стрелка повернулась на f градусов(0<=f<360, f - вещественное число ).

13. Пусть k - целое от 1 до 365. Присвоить целой переменной n значение 1,2,3. 6 или 7 в зависимости от того, на какой день недели (понедельник, вторник. суббота или воскресенье) приходится k-й день невысокосного года, в втором 1 января - понедельник.

14. Поменять местами значения целых переменных х и у, не используя дополнительные переменные.

15. Вывести на экран 1 или 0в зависимости от того, имеют три заданных числа одинаковую четность или нет.

Часть 2. Использование ООП для программирования ветвящихся алгоритмов.

1. Известно, что из четырех чисел а1,а2,а3 и а4 одно отлично от трex других, равных между собой. Присвоить номер этого числа переменной п.

2. По номеру n (n>0) некоторого года определить c - номер его столетия (учесть, что, к примеру, началом XX столетия был 1901, а не 1900 год!).

3. Значения переменных а, b и c поменять местами так, чтобы оказаль а<=b<=с.

4. Дано целое k от 1 до 180. Определить, какая цифра находится в k-й позиции последовательности 10111213. 9899. в которой выписаны подряд все двузначные числа.

5. Дано натуральное k. Определить k-ю цифру в последовательности 110100100010000100000. в которой выписаны подряд степени 10.

6. В старояпонском календаре был принят 60-летний цикл, состоявший из пяти 12-летних подциклов. Подциклы обозначались названиями цвета: green(зеленый), red (красный), yellow (желтый), white(белый) и black (черный). Внутри каждого подцикла годы носили названия животных: крысы, коровы, тигра, зайца, дракона, змеи, лошади, овцы, обезьяны, курицы, собаки и свиньи. (1984 год – годзеленой крысы -был началом очередного цикла). Разработать программу, которая вводит номер некоторого года нашей эры и выводит его название по старояпонскому календарю.

7. Если сумма трех попарно различных действительных чисел х, у, z меньше единицы, то наименьшее из этих трех чисел заменить полусуммой двух в противном случае заменить меньшее из х и у полусуммой двул оставшихся значений,

8. Для целого числа k от 1 до 99 вывести фразу "мне k лет", учитывая при этом, что при некоторых значениях kслово "лет" надо заменить на слово "год" или "года".

9. Для натурального числа k вывести фразу "мы выпили k бутылок пива", согласно окончание слова "бутылка" с числом k.

Приказ=(вперед, вправо, назад, влево);

Var К1, К2 :курс; ПР:приказ;

Корабль сначала шел по курсу К1, а затем его курс был изменен согласно прикаказу ПР1. Определить К2 - новый курс корабля.

11. Туре месяц = (январь, февраль, март, апрель, май, июнь, июль, август, сентябрь, октябрь, ноя6рь,декабрь);

Переменной tприсвоить значение 1 если дата d1, m1предшествует (в рамках года) дате d2, m2, и значение 0 в других случаях.

12. Туре нота=(до, ре, ми, фа, солmь, ля, си);

интервал=(секунда, терция, кварта, квинта, секста, септима);

Определить i-й интервал, образованный нотами п1 и п2(п1<>п2): секунда - это интервал из двух соседних (по кругу) нот (например, ре и ми, си и до), терция - интервал через ноту (например, фа и ля, си и ре) и т.д.

13. Туре единица=(дециметр, километр, метр, милиметр, санптиметр);

Значение переменной х, означающее некоторую длину в единицах р, заменить на величину этой же длины в метрах.

14. Туре сезон=(зима, весна, лето, осенъ);

Определить S-сезон, на который приходится месяц m.

Вывести значение переменной k римскими цифрами.

Часть 3. Использование ООП для программирования циклических алгоритмов.

1. Подсчитать k - количество цифр в десятичной записи целого - n неотрицательного числа n.

2. Переменной t присвоить значение 1 или 0 в зависимости от того, является ли натуральное число k степенью 3.

3. Дано n вещественных чисел. Вычислить разность между максимальным и минимальным из них.

4. Дана непустая последовательность различных натуральных чисел, за которойследует 0. Определить порядковый номер наименьшего из них.

5. Даны целое n>0 и последовательность из n вещественных чисел, среди которых есть хотя бы одно отрицательное число. Найти величину наибольшего среди отрицательных чисел этой последовательности.

6. Дано n вещественных чисел. Определить, образуют ли они возврастающую последовательность.

7. Дана последовательность из n целых чисел. Определить, со скольких отрицательных чисел она начинается.

8. Определить k - количество трехзначных натуральных чисел, сумма цифр которых равна n(1<=n<=27). Операции деления (/, div и mod) не использовать.

9. Вывести на экран в возрастающем порядке все трехзначные числа, в десятичной записи которых нет одинаковых цифр (операции деления не использовать).

10. Переменной t присвоить значение 1 или 0 в зависимости от того, можно или нет натуральное число n представить в виде трех полных квадратов.

11. Дано натуральное число n. Выяснить, входит ли цифра 3 в запись числа n<2>.

12. Дано натуральное число n. Найти сумму его цифр

13. Дано целое n>0, за которым следует n вещественных чисел. Определить, сколько среди них отрицательных.

14. Дано натуральное число n. Переставить местами первую и последнюю цифры числа n.

15. Дано натуральное число n. Заменить порядок следования цифр числа n на оборот.

Лабораторная работа 3.

Цель работы: приобретение навыков работы с визуальными компонентами.

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

Меню – один из распространенных элементов пользовательского интерфейса. Меню представляет собой список пунктов, объединенных по функциональному признаку, каждый из которых обозначает команду или вложенное меню (подменю).

Главное меню располагается в верхней части формы под ее заголовком и содержит наиболее общие команды приложения. В Delphi главное меню представлено компонентом MainMenu.

Для создания и изменения меню в процессе разработки приложения в среде Delphi предназначен Конструктор меню (MenuDesigner). Запуск Конструктора меню можно выполнить по команде MenuDesigner… контекстного меню компонента MainMenu, а также с помощью двойного щелчка кнопкой мыши на этот компонент. При конструировании меню имеет тот же вид, что и при выполнении приложения.

Наименование пункта меню задается путем присвоения нужного значения его свойству Caption. Кроме того, в Delphi у компонента MainMenu доступны такие свойства как Checked и Bitmap, определяющие соответственно:

· Checked = true/false – наличие/отсутствие отметки Ö у пункта меню (для отметки выбора);

· Bitmap = рисунок, определяющий наличие картинки перед названием пункта в меню.

Для закрепления процедуры за выбором некоторого пункта меню (событие OnClick), на этапе проектирования приложения следует выбрать этот пункт с помощью клавиатуры или мыши.

Пример написания программы

Задание. Используя компонент MainMenu создать приложение, которое при выборе определенного пункта меню обеспечивает:

- вывод на экран сообщения «Привет!»;

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

- вычисление cos, sin, tg, ctg, введенного аргумента;

- вывод формул для вычисления arccos(x), arcsin(x), actg(x),arcctg(x);

- выход из программы.

Создали новую форму и расположили на ней компоненты: MainMenu, Bevel, Label, Edit, Image, согласно рисунку 1.

Рис 1. Расположение компонент на форме

Компоненты Bevel, Label и Edit располагаем на форме в следующей последовательности: сначала Bevel, затем Label и Edit – так как Bevel должен оказаться «снизу» Label’a и Edit’a.

Четыре компонента Image располагаем на форме произвольным образом. Свойству Picture компонента Image1 (Image1.Picture) присваиваем значение arccos.bmp (загружаем рисунок из каталога e:\5381\Урок\Menu\). Соответственнов Image2.Picture загружаем arcsin.bmp, в Image3.Picture - arctg.bmp, в Image4.Picture - arcctg.bmp.

Создание главного меню происходит в следующей последовательности:

1. Помещаем на форму компонент MainMenu, двойным щелчком на компоненте вызываем Дизайнер Меню;

2. Проектируем меню согласно рисунку 2 (вставка разделителя осуществляется вводом символа ‘-’ в поле Caption):

Рис 2. Проектирование главного меню программы

3. Кроме свойств Caption элементов Главного Меню, меняем свойство Name подпунктов меню «Функция» следующим образом:

Пункт подменю «Функция»

4. Закрываем Дизайнер Меню и теперь за каждым пунктом меню закрепляем процедуру программы. Для этого просто щелкаем мышью на нужном пункте главного меню (оно уже появилось в форме).

В программу необходимо добавить следующие процедуры (закрепить за …):

· за пунктом меню (п. Меню) «Привет!»:

//выдача сообщения при выборе п.Меню "привет"

procedure TForm1.N4Click(Sender: TObject);

ShowMessage('Привет мир, Windows и пользователь!ж:)'+#13#10+'Это мы из МГВРК!');

#13#10 – символ конца строки. С его помощью осуществляется переход на другую строку в окне выдачи сообщения. ‘ ж:)’ = – символ “смешной рожицыс челочкой”

· за п. Меню «Аргумент»:

//выбор пункта меню "Аргумент"

procedure TForm1.N7Click(Sender: TObject);

· за п. Меню «Выход»:

//выбор п.Меню "Выход" - выход из приложения

procedure TForm1.N2Click(Sender: TObject);

· за пунктами Меню cos(x), sin(x), tg(x), ctg(x):

//обработка выборов п.п.Меню "Функция" до разделителя:

//cos(x), sin(x), tg(x), ctg(x) осуществляется ОДНОЙ процедурой

procedure TForm1.cosx1Click(Sender: TObject);

try //началоблока try. except..end

with Sender As TMenuItem do //будемобрабатывать Sender какпунктМеню

begin //объект Sender вызвал эту процедуру

if (Sender = cosx1) then //если sender - это cosx1 (т.е.cos(x)), тогда:

str(cos(x):1:4,ws);//сразу преобразуем значение функции в строку

Resstr:='Cos(x) = ';//и определим начало результирующей строки

if (Sender = sinx1) then

if (Sender = tgx1)then

if (TMenuItem(Sender).checked) then

На рисунке 3 изображен вид работающей программы.

Рис. 3. Работающее программное приложение.

Ниже приведено 15 вариантов задач. По указанию преподавателя выберите свое индивидуальное задание. Уточните условие задания, количество, наименование, типы исходных данных. В соответствии с этим установите количество визуальных компонент в форме.

Во всех заданиях скалярные переменные вводить с помощью компонента TEdit с соответствующим пояснением в виде компонента TLabel. Скалярный результат выводить в виде компонента TLabel. Массивы представлять на форме в виде компонентов TStringGrid, в которых 0-й столбец и 0-ю строку использовать для отображения индексов массивов. Вычисления выполнять после нажатия соответствующих кнопок визуального компонента MainMenu.

1. Задана матрица размером NxM. Получить массив В, присвоив его k-му элементу значение 0, если все элементы k-го столбца матрицы нулевые, и значение 1 в противном случае.

2. Задана матрица размером NxM. Получить массив В, присвоив его k-му элементу значение 1, если элементы k-й строки матрицы упорядочены по убыванию, и значение 0 в противном случае.

3. Задана матрица размером NxM. Получить массив В, присвоив его k-му значение 1, если k-я строка матрицы симметрична, и значение 0 в противном случае.

4. Задана матрица размером NxM. Определить k - количество "особых" элементов матрицы, считая элемент "особым", если он больше суммы остальных элементов своего столбца.

5. Задана матрица размером NxM. Определить k - количество "особых" в матрицы, считая элемент "особым", если в его строке слева от него находятся элементы, меньшие его, а справа - большие.

6. Задана символьная матрица размером NxM. Определить k - количество различных элементов матрицы (т.е. повторяющиеся элементы считать один раз).

7. Дана матрица размером NxM. Упорядочить ее строки по неубыванию их первых элементов.

8. Дана матрица размером NxM. Упорядочить ее строки по неубыванию суммы их элементов.

9. Дана матрица размером NxM. Упорядочить ее строки по неубыванию их наибольших элементов.

10. Определить, является ли заданная квадратная матрица n-го порядка симметричной относительно побочной диагонали.

11. Для матрицы размером NxM вывести на экран все ее седловые точки. Элемент матрицы называется седловой точкой, если он является наименьшим в своей строке и одновременно наибольшим в своем столбце, или наоборот.

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

13. В матрице n-го порядка найти максимальный среди элементов, лежащих ниже побочной диагонали, и минимальный среди элементов, лежащих выше главной диагонали.

14. В матрице размером NхМ поменять местами строку, содержащую элемент с наибольшим значением, со строкой, содержащей элемент с наименьшим значением.

15. Из матрицы n-го порядка получить матрицу порядка n-1 путем удаления из исходной матрицы строки и столбца, на пересечении которых расположен элемент с наибольшим по модулю значением.

Лабораторная работа 4.

ИСПОЛЬЗОВАНИЕ ТЕХНОЛОГИЙOLEИ СОМ В ВИЗУАЛЬНОМ ПРОГРАММИРОВАНИИ.

Цель работы: познакомиться на конкретных примерах с технологиями OLE и СОМ.

На протяжении многих лет программисты стремятся придумать способы, позволяющие использовать уже написанные коды. Например, если в программе нужна работа с таблицами, то зачем придумывать велосипед, если есть MicrosoftExcel. Технология, позволяющая вызвать из вашей программы Excel или даже встроить это приложение в свою систему, называется OLE. Студентам предлагается познакомиться на лабораторном занятии с этой технологией.

Еще одним шагом в эволюции программирования стала технология СОМ. По сути, именно она лежит в основе технологии OLE, и именно с помощью нее реализуется сложное взаимодействие между приложениями, написанными разными программистами и на разных языках. На этом занятии предлагается рассмотреть использование СОМ-серверов Delphi для работы с Word и Excel.

Программа 1 (OLEтехнологии).

Шаг 1. Создайте новую форму.

Шаг 2. Расположите на ней компоненты: OLEContainer (закладка System) и кнопку (Button).

Шаг 3. Создайте файл Excel. Занесите в него свои ФИО. Сохраниете его ‘H:\l.xls’.

Шаг 4. Создайте процедуру обработки сообщения о нажатии на кнопку:

procedure TForml.ButtonlClick(Sender: TObject); begin

Шаг 5. Скомпилируйте приложение. Нажмите на кнопку. Убедитесь, что в OLEContainer будет загружен созданный вами файл 1 .xls.

Шаг 6. Щелкните 2 раза на OLEConatainer, и вы увидите, что будет запущен MicrosoftExcel с загруженным в него вашим фалом. Внесите в файл изменения. Сохраните файл и закройте Excel. Нажмите в своем приложении кнопку и убедитесь, что в OLEContainer отобразились изменения файла (рис. 1).

Шаг 7. Измените процедуру обработки сообщения о нажатии на кнопку следующим образом:

procedure TForml.ButtonlClick(Sender: TObject);

OLEContainerl. CreateObj ectFromFile (' H::\l .xls '. false) ;

Шаг 8. Добавьте еще одну кнопку на форму и напишите для нее обработчик события нажатия на нее:

procedure TForml.Button2Click(Sender: TObject);

Шаг9. Скомпилируйте проект. Нажмите на кнопку «Загрузить файл». В OLEContainer'e отобразится содержимое файла.

Щелкните 2 раза на OLEContainer. Вы получите результат, показанный на рис. 2.

Excel будет встроен в ваше приложение, и в нем будет открыт ваш файл. Для того чтобы выйти из режима редактирования, нажмите кнопку «Закрыть файл».

Шаг 10. Теперь снова поменяйте процедуру для первой кнопки:

procedure TForml.ButtonlClick(Sender: TObject);

Шаг 11. Скомпилируйте проект. Теперь при нажатии на кнопку «Загрузить файл» будет появляться стандартная форма, показанная на рис. 3. В ней показаны все программы, которые вы можите встраивать или связывать со своей программой.

Рис.1. Иллюстрация шага 6.

Рис.2. Иллюстрация шага 9.

Рис.3. Иллюстрация шага 11.

Можно создать новый объект этих программ или использовать объекты из файла, также есть возможность связывать объект или внедрять в приложение (рис. 4).

Рис. 4. Иллюстрация шага 11.

Шаг 12. Поэкспериментируйте с различными приложениями.

Программа 2 (СОМ сервераDelphi). I

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

Следующая программа предназначена для записи данных из вашей программы в документ Excel и считывания информации из документа. 1

1. Найдите на закладке Servers компонент ExcelApplication и
поместите его на форму нового приложения. Установите свойство этого компонента AutoQuit=true.

2. Создайте файл 'H:\2.xls\

3. Поместите на форму одну кнопку. Дайте ей название «Записать данные». Напишите для нее обработчик события нажатия на кнопку:

procedure TForml.ButtonlClick(Sender: TObject);

//Запись в существующий файл

EmptyParam,EmptyParam, EmptyParam, EmptyParam,

EmptyParam, EmptyParam,EmptyParam, EmptyParam,

EmptyParam, EmptyParam, false, 0);

ExcelApplicationl.Range[Edit2.Text,Edit2.Text].Interior .Colorlndex := 5;

4. Добавьте на форму два компонента Label и Edit, как показано на рисунке.

5. Скомпилируйте проект. Внесите текст для вставки в Excel
и номер ячейки (он состоит из буквы - номер столбца, и цифры - номер строки) (рис. 5).

Рис.5. Иллюстрация шага 5.

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

6. Добавьте в предыдущую процедуру для наглядности следующую строку:

//Установка цвета заливки ячейки Excel

7. Скомпилируйте проект еще раз. Теперь Excel будет запущен не в фоновом режиме, как это было ранее.

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

8.Измените название элементов на форме.

procedure TFcrml.ButtonlClick(Sender: TObject);

var FileNamel: OleVariant;

Filename1: = 'D:\2.xls 1 ;

EmptyParam, EmptyParam, EmptyParam, EmptyParam,

EmptyParam, EmptyParam, EmptyParam, EmptyParam,

EmptyParam, false, 0);

10. Создайте программу для записи информации в документ Word. Для этого измените форму проекта, как показано на рис. 6 (добавьте компоненты WordApplication и WordFont) и перепишите обработчик нажатия на кнопку:

procedure TForml.ButtonlClick(Sender: TObject);

//создание нового документа

WordFontl .ConnectTo (WcrdApplicationl. Selection. Font) ;

Рис.6. Форма с компонентами WordApplication и WordFont.

Ниже приведено 15 вариантов задач. По указанию преподавателя выберите свое индивидуальное задание. Уточните условие задания, количество, наименование, типы исходных данных.

Во всех заданиях скалярные переменные вводить с помощью компонента TEdit с соответствующим пояснением в виде компонента TLabel. Скалярный результат выводить в виде компонента ExcelApplication в файл табличного процессора Excel или WordApplication в файл Word.

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

2. Дан массив, содержащий от 1 до k символов, за которым следует точка. Напечатать этот текст в файл Word в обратном порядке.

3. Дан непустой массив из цифр. Вывести в файл Excel цифру, наиболее часто встречающуюся в этом массиве.

4. Отсортировать элементы массива X по возрастанию. Результат напечатать в файл Excel.

5. Элементы массива X расположить в обратном порядке. Результат напечатать в файл Excel.

6. Элементы массива X циклически сдвинуть на k позиций влево. Результат напечатать в файл Excel.

7. Элементы массива X циклически сдвинуть на k позиций вправо. Результат напечатать в файл Excel.

8. Преобразовать массив X по следующему правилу: все отрицательные элементы массива перенести в начало, а все остальные - в конец, сохраняя исходное взаимное расположение как среди отрицательных, так и среди остальных элементов. Результат напечатать в файл Excel.

9. Элементы каждого из массивов X и Y упорядочены по неубыванию. Объединить элементы этих двух массивов в один массив Z так, чтобы они снова оказались упоряченными по неубыванию. Результат напечатать в файл Excel.

10. Дан массив из 4 символов. Определить, симметричен ли он, т.е. читается ли он одинаково слева направо и справа налево. Если симметричен, то вывести его в файл Word.

11. Дано два массива. Найти наименьшее среди тех элементов первого массива, которые не входят во второй массив. Напечатать эти наименьшие числа в файл Word.

12. Определить количество инверсий в этом массиве X (т.е. таких пар элементов, в которых большее число находится слева от меньшего: х при i<j). Напечатать эти пары в файл.

13. Дан массив из строчных латинских букв. Вывести в файл Word этот массив в алфавитном порядке все буквы, которые входят в этот текст по одному разу.

14. Вывести в файл Excelзаданный массив из k символов, удалив из него повторные вхождения каждого символа.

15. Определить, сколько различных символов входит в заданный текст (текст вводится в файл Word и открывается посредством соответствующей компоненты), содержащий не более k символов и оканчивающийся точкой (в сам текст точка не входит).

Лабораторная работа 5

Знакомство со средой проектирования программных продуктов VisualC++

Цель работы: познакомиться с принципами объектно-ориентированного программирования в средеVisualC++.

1) Создать проект программы

2) Визуально спроектировать диалоговую панель

3) Связать элементы управления с событиями

4) Сохранить и выполнить программу

Порядок выполнения работы.

Теперь рассмотрим все пункты по порядку.

1) Вначале запустим Visual C++. Зайдем в меню FILE -> NEW. выберемтам Project. Ваша панель должна выглядеть теперь так:

Затем выбираем MFCAppWizard(exe). В окне редактирования ProjectName задаем имя программы и нажимаем OK.

Шаг 1. Теперь выбираем Dialogbased, как показано на рис 2. Вы задали компилятору, что программа ваша будет основана на диалоговых окнах.

Шаг 2. В этой панели введите название программы как показано на рис 3. Рассмотримздесьгруппу "What features would you like to include".

Первое включение говорит о использовании справки (небольшой диалоговой панели, которая всплывает при нажатии на иконку).

Теперь щелкаем NEXT.

Шаг 3. Вы видите, что диалоговая панель задает два вопроса:

1) Нужно ли вставлять комментарии в исходный текст, который будет являться каркасом вашей программы?

2) Программа, которую создает для вас MFCAppWizard, будет иметь библиотеку с динамической компоновкой (DLL), а не статической? Dll дает преимущество в том, что EXE файл будет меньшего размера, а рядом к нему будет прилагаться DLL файл.

Выбираем всё как показано на рис 4.

Затем нажимаем NEXT и щелкаем FINISH, посмотрите, чтобы было выбрано все, как показано на рис. 5.

Вы закончили создание проекта программы!

Все каркасные файлы для вашей программы написал VisualC++, с помощью мастера настроек MFCAppWizard. MFC - это вещь очень полезная, с помощью нее можно быстро создавать программы, так как все дежурные файлы он пишет сам, что сильно облегчает работу программиста, ведь не писать стандартный набор текста каждый раз!

А теперь мы спроектируем диалоговую панель.

Сейчас мы визуально спроектируем диалоговую панель. Для этого вначале выберите закладку "ResourseView" и раскройте пункт HelloResource, как показано на рис. 6.

Здесь вы видите две записи:

1) - это название диалоговой панели ABOUT, а 2)- название главной диалоговой панели. Выполните щелчок по второй строчке(2) и справа появится, диалоговая панель. В этом режиме можно ее редактировать (см. рис. 7).

Удалите из диалоговой панели текст: "TODO. " и две кнопки, для этого щелкните на эти элементы и нажмите DEL. Теперь у вас чистая панель и вы можете спроектировать ее на свой вкус.

Cправа от диалоговой панели находятся элементы управления(если вы их не видите, то зайдите в TOOLS->CUSTOMIZE, в закладке TOOLBARS, CONTROLS - поставьте флажок). Вы можете редактировать панель в полном экране, для этого зайдите в VIEW->FULLSCREEN.

Сейчас выберите в элементах управления Button,

и щелкните мышкой на диалоговую панель, которая должна выглядет, как показано на рис. 8 .

Теперь выделите кнопку мышкой, для этого нажмите на нее и отбуксируйте маркеры, чтобы кнопка стала такой же, как на рис 6. После этого опять выделите кнопку левым щелчком мыши, затем нажмите правую кнопку и в расрывшемся меню выбирете Properties(настройки).

Выведется такая диалоговая панель (рис 7).

Вместо текста IDC_BUTTON1 введите IDC_SAYHELLO_BUTTON, зададим идентификатор, по которому VC будет распознавать элемент. В строке Captions(надпись), введите название кнопки SayHello.

Вставьте теперь еще одну кнопку такого же размера, cID - IDC_EXIT_BUTTON и Captions(надпись) Exit. Диалоговая панель должна выглядеть, как показано на рис. 1.8

Все свойства диалогового окна будут задавать таблицей, где будут указываться свойства элементов диалога. Свяжем элементы управления с событиями. Два элемента - это две кнопки: SayHello и Exit. Теперь воспользуемся еще одним мастером ClassWizard, он сильно облегчит нам работу. Зайдите в VIEW->ClassWizard, появится такая диалоговая панель

Рассмотрим эту панель.

1) Project- здесь вы выбираете свой проект.

2) ClassName - название класса, элементы которого вы будете связывать с событиями, проверьте, чтобы там было установлено CHelloDlg - это класс, который связан с главным диалоговым окном.

3) ObjectIDs - это идентификаторы(названия) элементов управления, в нашем случае это две кнопки. Первый идентификатор - это название самого класса, оно туда включено, так как с ним связаны многие события( это такие значения, которые возвращаются Windows, при совершении какого-нибудь действия).

4) Messages - а это как раз те самые события, которые генерирует программа. К примеру, если вы нажали на кнопку, то генерируется событие BN_CLICKED, а если два раза - то BN_DOUBLECLICKED.

5) Membersfunction - это список функций, которые вы включили, и соответствующие им события.

Теперь свяжем кнопку EXIT с событием BN_CLICKED - оно возникает при нажатие на кнопку. Для этого щелкнем в ObjectIDs на IDC_EXIT_BUTTON, справа появится события, с которыми можно связать эту кнопку. Выбираем там BN_CLICKED. И щелкаем на кнопке AddFunction. которая находится справа. Этим нажатием вы говорите VisualC++, что вам необходимо связать это событие с функцией. Выведется такая диалоговая панель, где вам предложат выбрать название функции. Оставьте все по умолчанию и нажмите кнопку OK.

В Membersfunction появилась запись о том, что связали кнопку (c итендификатором IDC_EXIT_BUTTON) с функцией OnExitButton. Теперь щелкаем по кнопке EditCode, которая находится ниже кнопки AddFucnction. При нажатии на эту кнопку мы переходим в режим редактирования исходного текста. В окошке появится тест:

// TODO: Add your control notification handler code here

Коментарий // TODO: Add your control notification handler code here говорит, что после него можно ставлять свой код.

Начало вашего кода будет обозначаться

///Здесь начинается ваш код///

А конец вашего кода -

///Здесь заканчивается ваш код///

Теперь введем код, для этого вам надо переписать его

// TODO: Add your control notification handler code here

///Здесь начинается ваш код///

///Здесь заканчивается ваш код///

Напишем OnOK();, эта функция будет выполняться при каждом нажатии на кнопку EXIT, и она предназначена для завершения программы. Проверьте, чтобы в написании OnOK, OK было написано с большой буквы, иначе, при компиляции программы, VisualC++ сообщит вам об ошибке, так символы верхнего и нижнего регистра в VC имеют распознаются по-разному.

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

Теперь свяжем кнопку SayHello с событием BN_CLICKED. Для этого зайдем в меню VIEW->ClassWizard.

Выберем в Object IDs IDC_SAYHELLO_BUTTON.

Щелкнемна BN_CLICKED в Messages (этимсвязываетекнопку Say Hello ссобытием BN_CLICKED).

Нажимаем на Addfunction, этим связываете событие BN_CLICKED с функцией.

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

Затем нажимаем на кнопку EditCode, для редактирование исходного текста.

И в раскрывшемся окне пишем следующий код:

// TODO: Add your control notification handler code here

///Здесь начинается ваш код///

///Здесь заканчивается ваш код///

Функция MessageBox("SayHello"); вызывает окно сообщений, в котором написан текст SayHello, который и является параметром этой функции.

Итак, связали кнопки SayHello и EXIT с событием BN_CLICKED. При нажатии на кнопку Exit программа завершается, а при нажатии на кнопку SayHello выводится сообщение "SayHello".

Теперь осталось построить и выполнить программу. Нажимаем Далее.

Компиляция и запуск программы

Для того, чтобы выполнить программу надо ее вначале сохранить. Зайдите в меню File и там нажмите на SaveAll. Затем надо ее построить (скомпилировать).

Зайдем в меню Build->BuildHello.exe, начнется построение программы. Если компилятор не выдал сообщение об ошибке, которые можно посмотреть в появившемся внизу окошке, то можно смело запускать программу.

Теперь осталось только выполнить программу, для этого зайдите в меню Build->ExecuteHello.exe

Ваша программа должна будет выглядеть так:

А окно сообщений при нажатии на кнопку SayHello:

Проект программы создан, визуально спроектирована диалоговая панель, элементы управления связаны с событиями с помощью мастера ClassWizard, программа выполняется.

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

С помощью инспектора объектов измените цвет формы, шрифт выводимых символов.

Задание: составить программу вычисления арифметического выражения по вариантам: