|
МИНОБРНАУКИ РОССИИ |
Федеральное государственное бюджетное образовательное учреждение высшего образования "Московский технологический университет" МИРЭА |
Институт информационных технологий (ИТ) |
Кафедра инструментального и прикладного программного обеспечения (ИППО) |
КУРСОВАЯ РАБОТА
по дисциплине
«Объектно-ориентированное программирование»
Тема курсовой работы
«Разработка баллистической игры»
|
|
|
|
|
|
|
|
|
Выполнил студент группы ИСБО-02-16 |
Волженко В.В. |
|
Руководители курсовой работы |
Зорина Н. В. Хлебников А.А |
|
Работа представлена к защите |
«___» ________ 2017 г. |
|
|
|
|
|
|
|
|
Допущен к защите |
«___» ________ 2017 г. |
|
|
|
|
|
|||
|
МИНОБРНАУКИ РОССИИ |
|||
|
Федеральное государственное бюджетное образовательное учреждение высшего образования "Московский технологический университет" МИРЭА |
|||
|
Институт информационных технологий (ИТ) |
|||
|
Кафедра инструментального и прикладного программного обеспечения (ИППО)
Протокол заседания комиссии по защите курсовой работы
От ___________________ 2017 г. №__________
Состав комиссии:
Утверждена распоряжением заведующего кафедрой «Инструментального и прикладного программного обеспечения (ИППО)» от «___» ___________ 2017 г. №___________
Слушали защиту курсовой работы «Разработка баллистической игры» по дисциплине «Объектно-ориентированное программирование»
Студента группы ИСБО-02-16 Волженко В.В.
Во время защиты курсовой работы были заданы следующие вопросы: 1. ________________________________________________________________________ 2. ________________________________________________________________________ 3. ________________________________________________________________________
Итоговая (комплексная) оценка выполнения и защиты курсовой работы _______
Члены комиссии: |
|||
Содержани
Введение 11
Область применения языка программирования С++ невероятно широка. 11
Язык C++ используется для разработки программного обеспечения, являясь одним из самых популярных языков программирования. Область его применения включает также создание операционных систем, разнообразных прикладных программ, драйверов устройств, приложений для встраиваемых систем, высокопроизводительных серверов, а также развлекательных приложений (игр). 11
В данной курсовой работе будет показано одно из многочисленных 11
применений данного языка, а именно - применение С++ в разработке игр. Будет рассмотрен пример простейшей баллистической игры. 11
1. Анализ предметной области 12
Так как разработка баллистической игры проводиласьв кроссплатформенной свободной IDE Qt Creator, вся программа основана на уже описанных классах, таких как, например, QApplication (он содержит главный цикл обработки событий, где обрабатываются и координируются все события из оконной системы и других источников). Мы подключаем их с помощью директивы #include. Данная программа также содержит такие классы, как QWidget,QPaintEvent, QPainter, QTimer, QMessageBox, QLCDNumber, QSlider, QVBoxLayout, QPushButton, QHBoxLayout, QGridLayout. 12
Имеет место и создание собственных классов. Класс CannonField, который наследуется от QWidget, занимается почти всем, что связано с игрой. Именно он отрисовывает обе баллисты, изменение угла дула каждой из них, отрисовывает выстрел, отслеживает попадание. 12
В программе присутствуют еще два собственных класса, такие как LCDRange и MyWidget. Оба класса наследуются от QWidget. 12
Класс LCDRange выполняет создание слайдера и жидкокристаллического индикатора, а также связывает их. В данной программе создается четыре объекта класса LCDRange. 12
Класс MyWidget содержит только лишь конструктор, который выполняет сборку всех элементов и добавление их на сам виджет. 12
Баллистическая игра реализована в виде приложения с графическим пользовательским интерфейсом с использованием Qt. 12
2. Анализ функциональных требований 13
2.1. Общие сведения 13
Данный документ содержит общие требования, описания и предложения в соответствии с теми характеристиками и решениями, которые могут быть использованы. Документ является отправной точкой для начала процесса утверждения проекта. 13
2.1.1. Полное наименование системы 13
Простейшая баллистическая игра 13
2.1.2. Наименования организации-заказчика и организаций-участников работ 13
Заказчик системы: 13
Разработчик системы: Волженко В.В. 13
2.1.3. Сроки начала и окончания работ 13
Плановый срок начала работ: 01 марта 2017 13
Плановый срок окончания работ: 01 июня 2017 13
2.1.4 Порядок оформления и предъявления заказчику результатов работ по созданию системы 13
Конечный продукт предоставляется в виде функционирующей системы в сроки, установленные в данном документе. Прием системы осуществляется комиссией в составе уполномоченных представителей Заказчика и Исполнителя. 13
2.1.5. Нормативно-правовые акты, технические документы и стандарты 14
ГОСТ Р1.5-2002 «Государственная система стандартизации РФ. Стандарты. Общие требования к построению, изложению, оформлению, содержанию и обозначению.» 14
34.603-92 «Информационная технология. Комплекс стандартов на автоматизированные системы. Виды испытаний автоматизированных систем.» 14
Федеральный закон об информации, информационных технологиях и о защите информации. 14
2.2. Назначение системы 14
1. Получение информации о введенном угле и введенной начальной скорости (вводятся с помощью слайдеров) 14
2. Расчет траектории с помощью стандартной формулы Ньютона для движения в гравитационном поле без учета трения воздуха 14
3. Отрисовка выстрела 14
4. Предыдущие пункты выполняются для обеих пушек 14
5. В зависимости от того, какой игрок попал в цель, выводятся окна сообщений, выводящие информацию о том, какой из игроков выиграл 14
2.3. Требования к системе 14
2.3.1. Требования к функциональности 14
В разных концах экрана расположены две баллисты, принадлежащие разным игрокам. Игроки ходят по очереди. Ход заключается в выборе начальной скорости камня и угла между вектором начальной 15
скорости и горизонтом. По этим данным программа должна произвести расчет траектории полета камня и смоделировать полет на экране. После первого игрока ходит второй и т.д. Игра заканчивается, когда один из камней попадет в баллисту противника. 15
Программа должна позволять пользователю вводить и изменять угол и начальную скорость. 15
Программа должна рассчитывать траекторию и отрисовывать выстрел. 15
Программа должна заново рассчитывать траекторию и изменять отрисовку в зависимости от изменения входных параметров. 15
Программа должна выводить окна сообщений в зависимости от того, кто из двух игроков выиграл. 15
2.3.2. Требования к надежности 15
2.3.2.1. Требования к обеспечению надежного функционирования программы 15
Надежное (устойчивое) функционирование программы должно быть обеспечено выполнением Заказчиком совокупности организационно-технических мероприятий, перечень которых приведен ниже: 15
организацией бесперебойного питания технических средств 15
использованием лицензионного программного обеспечения 16
регулярным выполнением рекомендаций Министерства труда и социального развития РФ, изложенных в Постановлении от 23 июля 1998 г. «Об утверждении межотраслевых типовых норм времени на работы по сервисному обслуживанию ПЭВМ и оргтехники и сопровождению программных средств» 16
регулярным выполнением требований ГОСТ 51188-98. Защита информации. Испытания программных средств на наличие компьютерных вирусов 16
соблюдением целостности программного кода (исходного вида) 16
2.3.2.2. Требования к организации входных данных 16
Особых требований к входным данным нет, так как все параметры вводятся посредством специально разработанных слайдеров. 16
2.3.2.3. Требования к организации выходных данных 16
Требований нет. 16
2.3.2.4. Отказы из-за некорректных действий пользовательской системы 16
Отказы программы вследствие некорректных действий пользователя при взаимодействии с программой через графический интерфейс недопустимы. 16
2.3.3. Требования к интерфейсу программы 16
При запуске программы должен выводиться виджет на котором должны располагаться: 17
Специальное поле, выделенное цветом, отличным от цвета самого виджета. В нижней правой и нижней левой частях поля должны быть расположены две отрисованные баллисты, по умолчанию нацеленные на угол 45 градусов. 17
По бокам виджета должны быть расположены в целом 4 слайдера и 4 ЖК-индикатора. Слайдеры, связанные со значением угла, должны быть выставлены на значение 45. Слайдеры, связанные со значением начальных скоростей, должны быть выставлены на значение 10. 17
В верхней части виджета должны находиться 3 кнопки: кнопка «Выход» и 2 кнопки «Стреляй» 17
2.4. Условия эксплуатации 17
2.4.1. Требования к составу и параметрам технических средств 17
В состав технических средств должен входить IВМ-совместимый 17
персональный компьютер (ПЭВМ), включающий в себя: 17
процессор Intel Core, не менее. 17
оперативную память объемом, 1 Гигабайт, не менее. 17
операционную систему macOS, не менее. 17
2.4.2. Требования к исходным кодам и языкам программирования 17
Исходные коды программы реализованы на языке С++. В качестве интегрированной среды разработки программы использована среда Qt Creator (локализованная, русская версия). 18
2.4.3. Требования к защите информации и программ 18
Требований нет. 18
2.4.4. Специальные требования 18
Специальных требований нет. 18
2.5. Требования к программной документации 18
Состав программной документации должен включать в себя: 18
техническое задание 18
UML – диаграммы 18
описание программы 18
руководство пользователя 18
2.6. Стадии и этапы разработки 18
2.6.1. Стадии разработки 18
Разработка должна быть проведена в три стадии: 18
разработка Технического задания 18
рабочее проектирование 19
внедрение 19
2.6.2. Этапы разработки 19
На стадии разработки Технического задания должен быть выполнен 19
этап разработки, согласования и утверждения настоящего технического задания. 19
На стадии рабочего проектирования должны быть выполнены перечисленные ниже этапы работ: 19
разработка программы 19
разработка программной документации 19
испытания программы 19
На стадии внедрения должен быть выполнен этап разработки подготовка и передача программы. 19
2.6.3. Содержание работ по этапам 19
На этапе разработки Технического задания должны быть выполнены 19
перечисленные ниже работы: 19
постановка задачи 19
определение и уточнение требований к техническим средствам 20
определение требований к программе 20
определение стадий, этапов и сроков разработки программы и документации на неё 20
согласование и утверждение Технического задания 20
На этапе разработки программы должна быть выполнена работа по 20
программированию (кодированию) и отладке программы. 20
На этапе разработки программной документации должна быть выполнена разработка программных документов в соответствии с требованиями к составу документации. 20
На этапе испытаний программы должны быть выполнены перечисленные ниже виды работ: 20
разработка, согласование и утверждение методики испытаний 20
проведение приемо-сдаточных испытаний 20
корректировка программы и программной документации по результатам испытаний. 20
На этапе подготовки и передачи программы должна быть выполнена 20
работа по подготовке и передаче программы и программной документации 20
в эксплуатацию на объектах Заказчика. 20
2.7. Общие требования к приемке работы 21
2.7.1. Испытания функционирующей системы 21
При приемке системы будут проведены следующие испытания: 21
Проверка функциональности всех разделов системы. 21
Проверка оформления, указанного в Техническом задании. 21
Проверка на наличие уязвимостей. 21
Передача программы малой группе людей, до этого не знакомых с ней для проверки интуитивно понятного интерфейса. 21
2.7.2. Обязанности сторон 21
Исполнитель подготовил и разработал настоящий документ, именуемый Техническое задание, который содержит перечень требований к выполняемым работам. 21
Заказчик согласен со всеми положениями настоящего Технического задания. 21
Заказчик не вправе требовать от Исполнителя в рамках текущего договора выполнения работ либо оказания услуг, прямо не описанных в настоящем техническом задании. 21
Исполнитель обязуется выполнить работы в объёме, указанном в настоящем Техническом задании. 22
Заказчик не вправе требовать от Исполнителя соблюдения каких либо форматов и стандартов, если это не указано в настоящем Техническом задании. 22
Все неоднозначности, выявленные в настоящем Техническом задании после его подписания, подлежат двухстороннему согласованию между Сторонами. В процессе согласования могут быть разработаны дополнительные требования, которые оформляются дополнительным соглашением к Договору и соответствующим образом оцениваются. 22
3. Разработка структур данных и алгоритмов работы программы 22
Рассмотрим три собственных класса, указанных в пункте 1. 22
Начнем с класса CannonField. 22
Класс наследуется также от QObject, поэтому используем макрос Q_OBJECT, чтобы избежать ошибок в работе программы. В public задаем конструктор класса, который рисует «поле битвы», а также задает значения переменных, указанных в private; задаем четыре константных функции, которые возвращают значения четырех private переменных. 22
В классе будет два типа слотов. Все слоты в public slots делаем публичными, потому что их используют не только в данном классе, но и в классе MyWidget. setAngle() и setSecAngle() устанавливают значения угла возвышения.setForce() и setSecForce()устанавливают значенияначальной скорости.Вызов слотов shoot() и SecShoot() приводит к выстрелу пушки, если снаряд еще не в воздухе. 22
Закрытые слоты moveShot(), moveSecShot() используются для перемещения снаряда пока он находится в воздухе, используя QTimer.Они также проверяют, не пересекся ли снаряд с целью. 22
Класс содержит четыре сигнала: два об изменении углов и два об изменении сил. 23
paintEvent() - виртуальная функция (поэтому указываем protected), которая вызывается Qt всякий раз, когда виджету нужно обновиться (т.е., нарисовать поверхность виджета). 23
Закрытые функции paintCannon(), paintShot() и paintSecShot() осуществляют отрисовку баллист и снарядов. Функция cannonRect() и SecCannonRect() возвращают ограждающий прямоугольник баллисты в координатах виджета. Сначала мы создаем прямоугольник с размерами 50 x 50, а затем передвигаем его так, чтобы его нижний левый/правый угол совпадал с нижним левым/правым углом виджета. Функции shotRect() и SecShotRect()вычисляют центральную точку снаряда и возвращает ограничивающий прямоугольник для снаряда. Далее в классе объявляются закрытые переменные. 23
Перейдем к классуLCDRange. 23
Как и в классе CannonField, в LCDRange используется макрос Q_OBJECT. LCDRange() - конструктор класса, value() - открытая функция для получения доступа к значению LCDRange, setValue() - слот, а valueChanged() - сигнал.setRangeдобавляет возможность установки диапазона значений LCDRange. 23
Также создаем указатель *slider на объект класса QSlider. Мы можем это сделать, потому что в заголовочном файле lcdrange.h указывам class QSlider. 23
Класс MyWidget содержит только лишь конструктор, который выполняет сборку всех элементов и добавление их на сам виджет. 23
24
4. Реализация программы 24
Данная часть представляет собой «руководство пользователя», в котором описана работа готовой системы. 24
При запуске программы появится окно (рис. 1). 27
Пользователи сами выбирают за какую из баллист будут играть и кто начинает первым. Пользователи могут как угодно изменять значения слайдеров (рис. 2). 27
Выстрел производится при нажатии кнопок «Стреляй», каждая относится к своей пушке. Реализация выстрела показана на рисунке 3. 28
При попадании появляется окно сообщение, выводящее информацию о том, кто выиграл (рис. 4). 29
Продолжить игру можно посредством нажатия кнопки «ОК» на окне сообщений. Выход из игры реализуется с помощью кнопки «Выход». 29
5. UML-диаграмма 29
6. Заключение 30
В данной курсовой работе была разработана и реализованапростейшая баллистическая игра. 31
При работе над проектом было составлено Техническое задание, по которому создавалась система. А так же были изучены элементы создания графического интерфейса с помощью классов Qt. 31
Применение объектно-ориентированного подхода к программированию и широкие возможности языка С++ позволяют создавать программы, имеющие мощную функциональность, а использование графического интерфейса позволяет стороннему пользователю без труда использовать готовую систему. 31
7. Информационные источники 31
Конспекты лекций. 31
«С++ за 21 день» Либерти Джесс 31
http://doc.crossplatform.ru/qt/ 31
https://github.com/BasePractice/cpp_oop 31
Введение 5
Анализ предметной области 6
2. Анализ функциональных требований 7
2.1. Общие сведения 7
2.1.1. Полное наименование системы 7
2.1.2. Наименования организации-заказчика и организаций-участников работ 7
2.1.3. Сроки начала и окончания работ 7
2.1.4 Порядок оформления и предъявления заказчику результатов работ по созданию системы 7
2.1.5. Нормативно-правовые акты, технические документы и стандарты 7
2.2. Назначение системы 8
2.3. Требования к системе 8
2.3.1. Требования к функциональности 8
2.3.2. Требования к надежности 9
2.3.2.1. Требования к обеспечению надежного функционирования программы 9
2.3.2.2. Требования к организации входных данных 10
2.3.2.3. Требования к организации выходных данных 10
2.3.2.4. Отказы из-за некорректных действий пользовательской системы 10
2.3.3. Требования к интерфейсу программы 10
2.4. Условия эксплуатации 10
2.4.1. Требования к составу и параметрам технических средств 10
2.4.2. Требования к исходным кодам и языкам программирования 11
2.4.3. Требования к защите информации и программ 11
2.4.4. Специальные требования 11
2.5. Требования к программной документации 11
2.6. Стадии и этапы разработки 11
2.6.1. Стадии разработки 12
2.6.2. Этапы разработки 12
2.6.3. Содержание работ по этапам 12
2.7. Общие требования к приемке работы 13
2.7.1. Испытания функционирующей системы 13
2.7.2. Обязанности сторон 14
3. Разработка структур данных и алгоритмов работы программы 15
4. Реализация программы 17
5. UML-диаграмма 19
6. Заключение 20
7. Информационные источники 20
Введение
Область применения языка программирования С++ невероятно широка.
Язык C++ используется для разработки программного обеспечения, являясь одним из самых популярных языков программирования. Область его применения включает также создание операционных систем, разнообразных прикладных программ, драйверов устройств, приложений для встраиваемых систем, высокопроизводительных серверов, а также развлекательных приложений (игр).
В данной курсовой работе будет показано одно из многочисленных
применений данного языка, а именно - применение С++ в разработке игр. Будет рассмотрен пример простейшей баллистической игры.
Анализ предметной области
Так как разработка баллистической игры проводиласьв кроссплатформенной свободной IDE Qt Creator, вся программа основана на уже описанных классах, таких как, например, QApplication (он содержит главный цикл обработки событий, где обрабатываются и координируются все события из оконной системы и других источников). Мы подключаем их с помощью директивы #include. Данная программа также содержит такие классы, как QWidget,QPaintEvent, QPainter, QTimer, QMessageBox, QLCDNumber, QSlider, QVBoxLayout, QPushButton, QHBoxLayout, QGridLayout.
Имеет место и создание собственных классов. Класс CannonField, который наследуется от QWidget, занимается почти всем, что связано с игрой. Именно он отрисовывает обе баллисты, изменение угла дула каждой из них, отрисовывает выстрел, отслеживает попадание.
В программе присутствуют еще два собственных класса, такие как LCDRange и MyWidget. Оба класса наследуются от QWidget.
Класс LCDRange выполняет создание слайдера и жидкокристаллического индикатора, а также связывает их. В данной программе создается четыре объекта класса LCDRange.
Класс MyWidget содержит только лишь конструктор, который выполняет сборку всех элементов и добавление их на сам виджет.
Баллистическая игра реализована в виде приложения с графическим пользовательским интерфейсом с использованием Qt.
2. Анализ функциональных требований
2.1. Общие сведения
Данный документ содержит общие требования, описания и предложения в соответствии с теми характеристиками и решениями, которые могут быть использованы. Документ является отправной точкой для начала процесса утверждения проекта.
2.1.1. Полное наименование системы
Простейшая баллистическая игра
2.1.2. Наименования организации-заказчика и организаций-участников работ
Заказчик системы:
Разработчик системы: Волженко В.В.
2.1.3. Сроки начала и окончания работ
Плановый срок начала работ: 01 марта 2017
Плановый срок окончания работ: 01 июня 2017
2.1.4 Порядок оформления и предъявления заказчику результатов работ по созданию системы
Конечный продукт предоставляется в виде функционирующей системы в сроки, установленные в данном документе. Прием системы осуществляется комиссией в составе уполномоченных представителей Заказчика и Исполнителя.
2.1.5. Нормативно-правовые акты, технические документы и стандарты
ГОСТ Р1.5-2002 «Государственная система стандартизации РФ. Стандарты. Общие требования к построению, изложению, оформлению, содержанию и обозначению.»
34.603-92 «Информационная технология. Комплекс стандартов на автоматизированные системы. Виды испытаний автоматизированных систем.»
Федеральный закон об информации, информационных технологиях и о защите информации.
2.2. Назначение системы
Получение информации о введенном угле и введенной начальной скорости (вводятся с помощью слайдеров)
Расчет траектории с помощью стандартной формулы Ньютона для движения в гравитационном поле без учета трения воздуха
Отрисовка выстрела
Предыдущие пункты выполняются для обеих пушек
В зависимости от того, какой игрок попал в цель, выводятся окна сообщений, выводящие информацию о том, какой из игроков выиграл
2.3. Требования к системе
2.3.1. Требования к функциональности
В разных концах экрана расположены две баллисты, принадлежащие разным игрокам. Игроки ходят по очереди. Ход заключается в выборе начальной скорости камня и угла между вектором начальной
скорости и горизонтом. По этим данным программа должна произвести расчет траектории полета камня и смоделировать полет на экране. После первого игрока ходит второй и т.д. Игра заканчивается, когда один из камней попадет в баллисту противника.
Программа должна позволять пользователю вводить и изменять угол и начальную скорость.
Программа должна рассчитывать траекторию и отрисовывать выстрел.
Программа должна заново рассчитывать траекторию и изменять отрисовку в зависимости от изменения входных параметров.
Программа должна выводить окна сообщений в зависимости от того, кто из двух игроков выиграл.
2.3.2. Требования к надежности
2.3.2.1. Требования к обеспечению надежного функционирования программы
Надежное (устойчивое) функционирование программы должно быть обеспечено выполнением Заказчиком совокупности организационно-технических мероприятий, перечень которых приведен ниже:
организацией бесперебойного питания технических средств
использованием лицензионного программного обеспечения
регулярным выполнением рекомендаций Министерства труда и социального развития РФ, изложенных в Постановлении от 23 июля 1998 г. «Об утверждении межотраслевых типовых норм времени на работы по сервисному обслуживанию ПЭВМ и оргтехники и сопровождению программных средств»
регулярным выполнением требований ГОСТ 51188-98. Защита информации. Испытания программных средств на наличие компьютерных вирусов
соблюдением целостности программного кода (исходного вида)
2.3.2.2. Требования к организации входных данных
Особых требований к входным данным нет, так как все параметры вводятся посредством специально разработанных слайдеров.
2.3.2.3. Требования к организации выходных данных
Требований нет.
2.3.2.4. Отказы из-за некорректных действий пользовательской системы
Отказы программы вследствие некорректных действий пользователя при взаимодействии с программой через графический интерфейс недопустимы.
2.3.3. Требования к интерфейсу программы
При запуске программы должен выводиться виджет на котором должны располагаться:
Специальное поле, выделенное цветом, отличным от цвета самого виджета. В нижней правой и нижней левой частях поля должны быть расположены две отрисованные баллисты, по умолчанию нацеленные на угол 45 градусов.
По бокам виджета должны быть расположены в целом 4 слайдера и 4 ЖК-индикатора. Слайдеры, связанные со значением угла, должны быть выставлены на значение 45. Слайдеры, связанные со значением начальных скоростей, должны быть выставлены на значение 10.
В верхней части виджета должны находиться 3 кнопки: кнопка «Выход» и 2 кнопки «Стреляй»
2.4. Условия эксплуатации
2.4.1. Требования к составу и параметрам технических средств
В состав технических средств должен входить IВМ-совместимый
персональный компьютер (ПЭВМ), включающий в себя:
процессор Intel Core, не менее.
оперативную память объемом, 1 Гигабайт, не менее.
операционную систему macOS, не менее.
2.4.2. Требования к исходным кодам и языкам программирования
Исходные коды программы реализованы на языке С++. В качестве интегрированной среды разработки программы использована среда Qt Creator (локализованная, русская версия).
2.4.3. Требования к защите информации и программ
Требований нет.
2.4.4. Специальные требования
Специальных требований нет.
2.5. Требования к программной документации
Состав программной документации должен включать в себя:
техническое задание
UML – диаграммы
описание программы
руководство пользователя
2.6. Стадии и этапы разработки
2.6.1. Стадии разработки
Разработка должна быть проведена в три стадии:
разработка Технического задания
рабочее проектирование
внедрение
2.6.2. Этапы разработки
На стадии разработки Технического задания должен быть выполнен
этап разработки, согласования и утверждения настоящего технического задания.
На стадии рабочего проектирования должны быть выполнены перечисленные ниже этапы работ:
разработка программы
разработка программной документации
испытания программы
На стадии внедрения должен быть выполнен этап разработки подготовка и передача программы.
2.6.3. Содержание работ по этапам
На этапе разработки Технического задания должны быть выполнены
перечисленные ниже работы:
постановка задачи
определение и уточнение требований к техническим средствам
определение требований к программе
определение стадий, этапов и сроков разработки программы и документации на неё
согласование и утверждение Технического задания
На этапе разработки программы должна быть выполнена работа по
программированию (кодированию) и отладке программы.
На этапе разработки программной документации должна быть выполнена разработка программных документов в соответствии с требованиями к составу документации.
На этапе испытаний программы должны быть выполнены перечисленные ниже виды работ:
разработка, согласование и утверждение методики испытаний
проведение приемо-сдаточных испытаний
корректировка программы и программной документации по результатам испытаний.
На этапе подготовки и передачи программы должна быть выполнена
работа по подготовке и передаче программы и программной документации
в эксплуатацию на объектах Заказчика.
2.7. Общие требования к приемке работы
2.7.1. Испытания функционирующей системы
При приемке системы будут проведены следующие испытания:
Проверка функциональности всех разделов системы.
Проверка оформления, указанного в Техническом задании.
Проверка на наличие уязвимостей.
Передача программы малой группе людей, до этого не знакомых с ней для проверки интуитивно понятного интерфейса.
2.7.2. Обязанности сторон
Исполнитель подготовил и разработал настоящий документ, именуемый Техническое задание, который содержит перечень требований к выполняемым работам.
Заказчик согласен со всеми положениями настоящего Технического задания.
Заказчик не вправе требовать от Исполнителя в рамках текущего договора выполнения работ либо оказания услуг, прямо не описанных в настоящем техническом задании.
Исполнитель обязуется выполнить работы в объёме, указанном в настоящем Техническом задании.
Заказчик не вправе требовать от Исполнителя соблюдения каких либо форматов и стандартов, если это не указано в настоящем Техническом задании.
Все неоднозначности, выявленные в настоящем Техническом задании после его подписания, подлежат двухстороннему согласованию между Сторонами. В процессе согласования могут быть разработаны дополнительные требования, которые оформляются дополнительным соглашением к Договору и соответствующим образом оцениваются.
