WWW.DISS.SELUK.RU

БЕСПЛАТНАЯ ЭЛЕКТРОННАЯ БИБЛИОТЕКА
(Авторефераты, диссертации, методички, учебные программы, монографии)

 

ФЕДЕРАЛЬНОЕ АГЕНТСТВО ПО ОБРАЗОВАНИЮ

Государственное образовательное учреждение высшего профессионального образования

«ТОМСКИЙ ПОЛИТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ»

УТВЕРЖДАЮ

Директор ИДО

С.И. Качин

«»_2009г.

ОБЪЕКТНО-ОРИЕНТИРОВАННОЕ

ПРОГРАММИРОВАНИЕ

Методические указания к выполнению курсовой работы для студентов специальности 230105 «Программное обеспечение вычислительной техники и автоматизированных систем»

Института дистанционного образования Составитель Ф.Е. Татарский Издательство Томского политехнического университета УДК 004.432. Объектно-ориентированное программирование: методические указания к выполнению курсовой работы для студентов спец. «Программное обеспечение вычислительной техники и автоматизированных систем» ИДО / сост. Ф.Е. Татарский. – Томск: Издво Томского политехнического университета, 2009. – 19 с.

Методические указания к выполнению курсовой работы рассмотрены и рекомендованы к изданию методическим семинаром кафедры автоматики и компьютерных систем «» _2009 г., протокол № _.

Зав. кафедрой АиКС профессор, доктор технических наук Г. П. Цапко Аннотация Методические указания к выполнению курсовой работы по дисциплине «Объектно-ориентированное программирование»

предназначены для студентов специальности 230105 «Программное обеспечение вычислительной техники и автоматизированных систем» ИДО. Курсовая работа выполняется в седьмом семестре.

Форма отчетности – дифференцированный зачёт.

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

1. ЦЕЛЬ КУРСОВОЙ РАБОТЫ

Курсовая работа по дисциплине «Объектно-ориентированное программирование» ставит своей целью закрепление и углубление навыков использования объектно-ориентированного подхода к программированию, полученных в процессе изучения дисциплины «Объектно-ориентированное программирование».

2. ЗАДАЧИ КУРСОВОЙ РАБОТЫ

Для достижения поставленной выше цели, студентам предлагается, пользуясь средствами объектно-ориентированного языка С++, разработать программу – компьютерную логическую игру (по варианту). В результате выполнения данной работы студенты осваивают приемы практического использования объектноориентированного подхода в создании законченного программного продукта:

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

3. ТЕМАТИКА И ВАРИАНТЫ ЗАДАНИЙ

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

Тем не менее, все программы должны предоставлять следующие возможности:

• начало игры на чистом поле, сброс предыдущей игры;

• выбор противника (человек, компьютер) (если применимо);

• сохранение текущей игры в любой момент игры в файл, восстановление состояния игры из файла;

• отмену ходов;

• подсказку следующего хода;

• контроль правильности ходов игрока(ов);

• определение конца игры, отслеживание патовых ситуаций;

возможность задания произвольного размера поля (если применимо);

• возможность визуального редактирования уровней (если применимо);

• управление как с клавиатуры так и мышью;

• настройку клавиш управления;

• использование горячих клавиш;

• возможность задания настроек в конфигурационном файле или реестре Windows;

• индикацию текущего счета (если применимо);

• ведение списка чемпионов для каждого размера поля;

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

1. Логическая игра “Крестики-нолики” на неограниченном поле Приложение является реализацией известной логической игры “Крестики-нолики” В данной реализации предусматривается игра двух игроков на неограниченном поле. Цель игры. построить непрерывную линию из пяти или более фишек (крестиков или ноликов) по горизонтали, вертикали или диагонали. Возможны два режима игры, когда выигрывает тот, кто первым построит линию, или кто больше наберет очков за определенное количество времени. Во втором случае количество построенных линий не ограничено, каждая фишка в линии приносит игроку одно очко. Приложение должно обеспечивать начало новой игры на чистом поле, а также проверку соответствия действий игроков правилам игры и условия окончания игры. Роль одного из игроков (по выбору пользователя) может выполнять компьютер. Для исключения возможности образования изолированных игр на одном поле и неоправданного увеличения размера поля следует установить максимально допустимое расстояние (не более пяти) от уже существующих фишек до новой, размещаемой игроком.



2. Логическая игра “Цепь” Данное приложение является реализацией известной логической игры. В данной реализации предусматривается игра двух игроков на квадратном поле фиксированного размера. Цель игры - построить непрерывную линию, соединяющую горизонтальные или вертикальные (для каждого из игроков соответственно) стороны игрового поля, причем линия считается непрерывной, если фишки граничат друг с другом по горизонтали, вертикали или диагонали. Выигрывает тот игрок, который первым построит свою линию. Приложение должно обеспечивать начало новой игры на чистом поле, а также проверку соответствия действий игроков правилам игры и условия окончания игры. Роль одного из игроков (по выбору пользователя) может выполнять компьютер.

3. Логическая игра “Точки” Данное приложение является реализацией известной логической игры. В данной реализации предусматривается игра двух игроков на квадратном поле фиксированного размера. Цель игры. заполнить максимальное количество клеток игрового поля своими фишками. Игроки выполняют ходы по очереди. Ход игрока заключается в произвольной установке линии на границе двух ячеек, причем, если какая-либо ячейка оказывается со всех четырех сторон обрамлена линиями, то она отмечается фишкой данного игрока, а самому игроку предоставляется дополнительный ход, и т.д. Игра заканчивается, когда все игровое поле оказывается заполнено фишками. Выигрывает тот игрок, чьих фишек на поле больше на момент окончания игры. Приложение должно обеспечивать начало новой игры на чистом поле, а также проверку соответствия действий игроков правилам игры и условия окончания игры. Роль одного из игроков (по выбору пользователя) может выполнять компьютер.

4. Логическая игра “Мозаика” Разрабатываемое приложение представляет собой программную реализацию популярной игры.Мозаика. (.Puzzle.), цель которой заключается в создании игроком полного изображения путем упорядочивания его фрагментов последовательным перемещением и соединением соответствующих сторон. Приложение должно обеспечивать:

4.1. Просмотр исходного изображения во время игры, а также поиск подходящих друг к другу фрагментов (функция подсказки).

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

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

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

5. Логическая игра “Шарики” Разрабатываемое приложение представляет собой программную реализацию известной логической игры. Цель игры состоит в том чтобы набрать максимальное количество очков. Суть игры состоит в следующем: на игровом поле отображаются круги разного цвета, игроку предлагается создать линию из кругов одинакового цвета, расположенных по горизонтали или по вертикали, созданная линия.сгорает.. Причем линия может.сгореть., только в том случае если количество элементов в ней равно 3. После этой процедуры пустые места на игровом поле заполняются новыми элементами. Линию можно создать путем перестановки по горизонтали или по вертикали соседних элементов. Игра заканчивается тогда когда не возможно создать ни одной линии. Приложение должно обеспечивать возможность задания количества цветов элементов (кругов). Следует учесть что цвета кругов выбираются произвольным образом исходя из заданного количества. Кроме того, линии (3 и более элементов) получаемые при произвольной расстановки элементов “сгорают”.

6. Логическая игра “Морской бой” Разрабатываемое приложение представляет собой программную реализацию известной логической игры. Приложение должно обеспечивать:

6.1. Расстановку.кораблей. на игровом поле 10х 6.2. Выбор противника (человек, компьютер).

6.3. Изменение интерфейса в зависимости от выбора противника.

6.4. Фиксацию имен противников и число побед.

7. Логическая игра “Реверси” Разрабатываемое приложение представляет собой программную реализацию логической игры “Реверси”. Игра идет на поле произвольного размера. Два игроки по очереди устанавливают фишки своего цвета на поле. Фишку можно ставить только на те клетки, рядом с которыми уже стоят фишки. Если между установленной фишкой и какой либо другой фишкой того же цвета находятся фишки другого цвета, все они меняют свой цвет.

8. Логическая игра “Водопроводчик” Суть игры заключается в постройке трубопровода от одного края игрового поля к другому за определенное время. Играет один игрок. Компьютер предлагает очередной узел трубопровода, игрок может присоединить его к концу трубопровода, предварительно повернув его нужной стороной. В определенный момент времени с начала игры, в трубопровод начинает подаваться вода, которая медленно заполняет трубопровод. Если трубопровод будет заполнен до того, как игрок закончит строительство - игрок проиграл.

9. Логическая игра “Сокобан” Разрабатываемое приложение представляет собой программную реализацию известной логической игры “Сокобан”. Играет один игрок. Игрок последовательно переходит от одного уровня к другому, по мере выполнения заданий. Уровень представляет собой лабиринт, в котором в беспорядке расставлены ящики. Игрок должен толкая ящики человечком расположить их на своих местах (места отмечены на лабиринте). Человечек может толкать только один ящик. Если ящик упирается в стену, то дальше его толкать нельзя.

10.Логическая игра “Тетрис” Программа представляет собой Тетрис на поле произвольного размера. Программа должна предоставлять возможность выбирать размер фигур (4, 5, 6, 7 клеток).

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

11.Логическая игра “Break House” Широко распространенная во времена БК-0010-01 и Spectrum игра. Игрок переходит от уровня к уровню. Каждый уровень представляет собой клеточное игровое поле лабиринт. Клетка может быть проходной, или на ней может стоять блок.

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

12.Логическая игра “Рикошет” Игровое поле содержит источник лазера, набор целей, набор зеркал. Зеркала и цели выставляются на поле случайным образом в начале игры. Каждое зеркало может проворачиваться в любом направлении с шагом 30гр. Игрок должен поворачивая зеркала по очереди сжечь все цели.

13.Логическая игра “Авеле” Разрабатываемое приложение представляет собой программную реализацию африканской игры “Авеле” (другое название “Манкала”). Игровое поле состоит из двух рядов, по 6 лунок в каждом. Каждая лунка в начале игры содержит камня. Нижний ряд принадлежит игроку, верхний - его противнику.

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

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

14.Игра “Шадоки” Великий колдун сказал, что шадокские ракеты терпят неудачу потому, что не хватает транзисторов в системах безопасности. Транзисторы нужного типа собирают с растений, произрастающих на огородах Гиби. Вы должны отправиться на планету Гиби и привести нужные транзисторы. Будьте осторожны, Гиби очень умны. Они позволяют Шадокам забираться в свои огороды, но окружают огород со всех сторон. Всякий раз, когда растение зацветает и дает транзистор, они мчатся, чтобы собрать урожай раньше шадока.

Обратите внимание, что растения обладают разной плодоносностью.

15.Логическая игра “Обратный тетрис” Тетрис наоборот. Игрок выбирает фигуру и бросает, компьютер пытается установить ее в стакан. Цель игры - завалить компьютер.

16.Логическая игра “Шашки” Разрабатываемое приложение представляет собой программную реализацию логической игры “Шашки”. Необходимо реализовать подмножество правил классических шашек на доске 8x8.

17.Логическая игра “Уголки” Известная игра на шашечном поле.

Противники расставляют свои шашки симметрично в противоположных углах доски в виде прямоугольников 3x4. Ходы осуществляются по очереди. За один ход можно двинуть одну шашку на одну свободную клетку. Если к шашке примыкает шашка противника, а за ней есть свободное поле, можно «прыгнуть» через шашку противника на это свободное поле. За один ход можно делать несколько последовательных прыжков одной шашкой. Выигрывает тот, кто быстрее выстроит свои шашки на позиции противника.

18.Логическая игра “Шахматы” Известная игра. Необходимо реализовать разумное подмножество международных шахматных правил, как они определены FIDE. Учить игре в шахматы компьютер не нужно, достаточно реализовать игру двух человек за одним компьютером.

19.Игра-аркада “Bounce” В KBounce играют на поле, окруженном стеной, с двумя или более мячами, которые отскакивают от стен. Размер поля уменьшается, если вы создаете стену и при этом никакой шар не оказывается попавшим в ловушку. Чтобы пройти уровень, игроку за данное время нужно уменьшить размер поля по крайней мере на 75%.

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

20.Игра-аркада “Snake” Правила игры: Чтобы выиграть в KSnake, вам нужно съесть все яблоки в комнате и выйти через дверь, которая откроется вверху. С каждым съеденным яблоком вы становитесь длиннее. Если вы врежетесь в стену, вы умрете. Если вы врежетесь в себя, вы умрете. Если вам в голову попадет мяч, вы умрете. Если вы слишком долго не будете есть яблоки, появятся новые.

21.Игра-аркада “Космическая дуэль” Каждый игрок управляет одним кораблем. Корабль может поворачиваться, ускоряться, стрелять и закладывать мины. У каждого корабля есть определенное количество энергии. Кораблю требуется энергия для поворотов, ускорения, стрельбы и закладывания мин. Корабль получает ее при помощи своих солнечных батарей. Количество энергии, которую корабль получает, зависит от расстояния и направления, в котором находится солнце.

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

Столкновение со своими или чужими снарядами и минами уменьшает здоровье корабля. Если столкнутся два корабля, то более слабый корабль будет уничтожен, и здоровье более сильного уменьшится на значение здоровья слабого корабля, плюс некоторое значение (Ущерб при аварии). Корабль уничтожается, когда он влетает в солнце. Снаряды летают вокруг солнца как корабли. У мин есть некоторое количество энергии, чтобы оставаться на одном месте. Когда энергия заканчивается, мина падает на солнце. Минам, расположенным около солнца, требуется больше энергии, чем расположенным вдали от него.

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

22.Игра-аркада “Tron” Цель игры прожить дольше, чем противник. Поэтому нельзя врезаться в стены, себя и противника. После начала раунда игроки уже не могут остановить свое движение (если не нажата пауза). Вы можете только пытаться избегать столкновения, постоянно меняя направление движения. Кроме того, вы можете мешать своему противнику. Вы можете увеличивать скорость своего движения, нажимая на клавишу ускорения. Раунд начинается, когда все игроки нажмут на какую-нибудь клавишу направления движения. Первое движение будет совершаться в эту сторону.

4. МЕТОДИЧЕСКИЕ УКАЗАНИЯ

К ВЫПОЛНЕНИЮ КУРСОВОЙ РАБОТЫ

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

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

Правильно разработанное техническое задание позволяет студенту:

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

Со своей стороны, на основании ТЗ преподаватель может:

• убедиться, что студент правильно понял задание, • требовать от студента соответствия программы всем условиям, оговоренным в ТЗ.

Техническое задание пишется в свободной форме и может, например, содержать такие разделы:

1. Обзор. Здесь можно рассмотреть назначение программы;

требования к программе; ограничения, накладываемые на реализацию;

выбрать платформу, язык программирования и т.п.

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

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

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

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

5. Тестирование. Для каждого разрабатываемого модуля программы должны быть приведены тесты, которыми будет проверяться корректность работы этого модуля.

6. План работы. Здесь должен быть по пунктам расписан порядок выполнения работы. Какие компоненты программы в каком порядке будут реализованы и т.п.

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

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

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

К ПРОГРАММНОЙ РЕАЛИЗАЦИИ И ДОКУМЕНТАЦИИ

Основным требованием к программной реализации является обязательное использование объектно-ориентированного подхода при написании программы. Критериями использования объектноориентированного подхода являются использование:

• классов;

механизма исключений;

механизма наследования и множественного наследования;

инкапсуляции;

полиморфизма;

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

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

Выбранная для реализации курсовой работы среда разработки должна удовлетворять следующим требованиям:

• поддержка современных 32-битных операционных систем;

• отсутствие лицензионных отчислений за право использовать систему (бесплатность);

• кроссплатформенность (возможность установить и использовать среду не только в Windows но и в UNIX-подобных ОС).

Существует широкий выбор систем, удовлетворяющих этим требованиям. Среди наиболее развитых можно назвать систему Eclipse, KDevelop, Code::Blocks. Допустимо, также, вместо интегрированной среды использование основанных на скриптах утилит управления проектами, таких как GNU Make, Apache Ant, Autotools, Apache Maven и т.п.

5.2. Требования к оформлению исходных кодов и Для контроля за процессом написания программы, возможности отката к предыдущим версиям, возможности совместной работы над программным кодом все исходные коды программы и вся сопутствующая документация (ТЗ, отчет и т.п.) должны храниться в репозитарии под управлением системы контроля версий Subversion [1] (далее, SVN).

Документацию по системе Subversion можно найти в [2].

Оффлайн-версию книги можно получить у преподавателя.

Перед защитой выполненной курсовой работы преподавателю сдается весь SVN репозитарий (а не рабочая копия работы!), упакованный в архив формата ZIP.

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

Рассмотрим пример. Пусть, мы разрабатываем программу "Морской бой". Логично назвать SVN модуль (а значит и корневой каталог исходных кодов программы) по названию программы:

seabattle. Внутри этого каталога могли бы размещаться такие файлы и каталоги:

README

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

AUTHORS

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

INSTALL

Файл, содержащий инструкции по компиляции и инсталляции программы в систему.

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

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

COPYRIGHT

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

VERSION

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

src Каталог, в котором находятся исходные тексты программы.

doc В этом каталоге можно разместить документация на программу:

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

contrib Здесь размещают сторонние модули. Библиотеки сторонних разработчиков, которые вы использовали в своей работе и т.п.

share В этом каталоге можно поместить различные системнонезависимые файлы: иконки, спрайты, игровые уровни, карты и т.п.

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

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

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

Обеспечение переносимости средствами языка По мере разработки программа тестируется во всех поддерживаемых операционных системах. Переносимость достигается встроенными средствами языка программирования. Например, средствами условной компиляции в языках C/C++ (#ifdef).

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

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

Использование кроссплатформенной библиотеки предпочтительно тогда, когда программа должна иметь развитый графический интерфейс пользователя. В качестве такой кроссплатформенной библиотеки рекомендуется воспользоваться библиотекой wxWidgets[3] или Qt[4].

Эти библиотеки прекрасно документированы, имеют большое количество примеров разного уровня сложности и реализованы для многих языков программирования, в частности, для языков программирования C++, Python, Perl.

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

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

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

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

Обеспечение переносимости средствами веб-технологий Программа реализуется как веб-сервис, работающий под управлением какого либо сервера приложений. Пользовательский интерфейс создается средствами веб-технологий, такими как XML, HTML, CSS, SVG, JavaScript, что, собственно и обеспечивает переносимость.

Этот подход обеспечит самую высокую степень переносимости (с точки зрения пользователя), однако, реализация программы таким способом может оказаться неоправданно трудоемкой. С другой стороны, создание веб-приложения даст вам дополнительный ценный опыт программирования. В качестве среды разработки веб-приложения рекомендуется рассмотреть такие системы, как Jakarta Tomcat, Apache Cocoon, eXist. Языком разработки при выборе этих серверов приложений будет язык программирования Java. Графический интерфейс пользователя нужно будет создавать на языке HTML, возможно, с использованием технологий CSS и JavaScript.

Исходный код программы необходимо оформлять правильно:

• как можно чаще пользуйтесь комментариями;

• выносите константы в #define;

• тщательно проверяйте параметры и возвращаемые значения на возможные ошибки.

В [5] даются советы, следование которым значительно облегчит отладку программного кода и его проверку преподавателем.

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

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

Используемые в программе изображения (иконки, логотипы и т.п.) тоже должны быть лицензионно чистыми. Для оформления пользовательского интерфейса можно воспользоваться какой либо свободной библиотекой изображений. Мы рекомендуем библиотеку «Tango!» [6].

6. ОРГАНИЗАЦИЯ ВЫПОЛНЕНИЯ И

ЗАЩИТЫ КУРСОВОЙ РАБОТЫ

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

1. Техническое задание.

2. Исходный код программы.

3. Руководство пользователя.

4. Руководство программиста.

5. Отчет.

Кроме репозитария необходимо предоставить распечатанный отчет. Другие документы распечатывать не надо.

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

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

Формально, за выполнение работы можно получить максимум баллов. Оценке “отлично” соответствует 800 баллов и более. Оценке “хорошо” соответствует 700-799 баллов. Оценке “удовлетворительно” соответствует 600-699 баллов.

Баллы выставляются за каждый вовремя выполненный этап работы. Цена этапов следующая:

• черновик технического задания - 200 баллов;

• техническое задание - 200 баллов;

• программная реализация - 200 баллов;

• отладка, тестирование - 100 баллов;

• документация, защита - 300 баллов.

На каждый этап отводится время:

• черновик технического задания - 2 недели;

• техническое задание - 3 недели;

• программная реализация - 5 недель;

• тестирование программной реализации - 1 неделя;

• документация, защита - 3 недели.

Результаты выполнения каждого этапа высылаются преподавателю по электронной почте. Почтовый адрес и правила оформления писем можно найти в [7]. В случае невозможности высылать результаты по электронной почте в течение семестра, результаты каждого этапа, сразу после его выполнения, помещаются в SVN репозитарий и помечаются уникальной меткой. Наличии и верная дата установки метки в репозитарии будет служить доказательством того, что этап выполнен вовремя.

Защита работы проводится в форме собеседования, во время сессии. Позднее выполнение этапа влечет за собой снижение балла на 60 баллов в неделю. Небрежность в оформлении технического задания, документации, программного кода, влечет за собой снижение баллов на 10%-30%.

За все нестандартные решения (использование нового для вас объектно-ориентированного языка программирования; добавление в программу поддержки работы по сети и т.п.) будут начисляться дополнительные баллы. Количество зарабатываемых таким образом баллов оговаривается с преподавателем и назначается индивидуально.

ЛИТЕРАТУРА

1. Tigris.org : Open Source Software Engineering Tools // CollabNet, Inc.– Режим доступа: http://subversion.tigris.org, вход свободный (2009Коллинз-Сассман, Бен. Управление версиями в Subversion : Для Subversion 1.4 / Б. Коллинз-Сассман, Б. Фитцпатрик, М. Пилато.– Режим доступа: http://svnbook.red-bean.com/index.ru.html, вход свободный (2009-01-04).

3. wxWidgets : Cross-Platform GUI Library / wxWidgets community.– Режим доступа: http://wxwidgets.org, вход свободный (2009-01-04).

4. QT : Cross-Platform Application Framework / Nokia Corporation.– Режим доступа: http://trolltech.com/products, вход свободный (2009-01Вогел, Джефф. Шесть советов по написанию более понятного http://www.ibm.com/developerworks/ru/library/l-clear-code/index.html, вход свободный (2009-01-04).

6. Tango! : Tango Desktop Project // Tango Desktop Project.– Режим доступа: http://tango.freedesktop.org, вход свободный (2009-01-04).

7. Татарский, Федор. Персональная страница / Ф. Е. Татарский.– Режим доступа: http://fet.aics.ru, вход свободный (2009-01-05).

ОБЪЕКТНО-ОРИЕНТИРОВАННОЕ ПРОГРАММИРОВАНИЕ

Методические указания к выполнению курсовой работы Рецензент кандидат технических наук, доцент кафедры АиКС АВТФ Е.А. Дмитриева Печать RISO. Усл.печ.л. 1,1. Уч.-изд.л. 1,0.

Томский политехнический университет Томского политехнического университета

NATIONAL QUALITY ASSURANCE





Похожие работы:

«ФЕДЕРАЛЬНОЕ АГЕНТСТВО ВОЗДУШНОГО ТРАНСПОРТА ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ МОСКОВСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ ГРАЖДАНСКОЙ АВИАЦИИ Кафедра аэродинамики, конструкции и прочности летательных аппаратов М.С. КУБЛАНОВ МАТЕМАТИЧЕСКОЕ МОДЕЛИРОВАНИЕ МЕТОДОЛОГИЯ И МЕТОДЫ РАЗРАБОТКИ МАТЕМАТИЧЕСКИХ МОДЕЛЕЙ МЕХАНИЧЕСКИХ СИСТЕМ И ПРОЦЕССОВ Часть II Планирование экспериментов и обработка результатов измерений Издание третье,...»

«Новые поступления литературы в библиотеку. Ноябрь 2013 Контролинг: учебник / А.М. Карминский, С.Г. Фалько, А.А. Жевага, Н.Ю. Иванова. — М: ИД ФОРУМ; ИНФРА-М, 2013. — 336 с. — (Высшее образование). Макроэкономика. Практикум / Г.А. Резник, С. Г. Чувакова. — М.: Финансы и статистика; ИНФРА-М, 2012. — 216 с. Базилевич, О.И. Налоги и налогообложение. Практикум: учебное пособие / О.И. Базилевич, А.З. Дадашев. — М.: ИНФРА-М, 2013. — 285 с. Кибанов, А.Я.Основы управления персоналом: учебник / под ред....»

«МЕТОДИЧЕСКИЕ РЕКОМЕНДАЦИИ ПО РАЗРАБОТКЕ БИЗНЕС-ПЛАНА, ПРИКЛАДЫВАЕМОГО К ЗАЯВКЕ НА ОСУЩЕСТВЛЕНИЕ ДЕЯТЕЛЬНОСТИ В ПОРТОВОЙ ОСОБОЙ ЭКОНОМИЧЕСКОЙ ЗОНЫ НА ТЕРРИТОРИИ МО ЧЕРДАКЛИНСКИЙ РАЙОН УЛЬЯНОВСКОЙ ОБЛАСТИ г. Ульяновск, 2011 Филиал ОАО ОЭЗ в Ульяновской области СОДЕРЖАНИЕ 1. Общие положения 2. Общие рекомендации по разработке бизнес-плана 3. Критерии оценки бизнес-плана экспертным советом 4. Раздел бизнес-плана Титульный лист 5. Раздел бизнес-плана 1. Резюме проекта. 6. Раздел бизнес-плана 2....»

«ЦЕНТР ПОМОЩИ ЖЕНЩИНАМ Методическое пособие ГЕНДЕР И ВЫБОРЫ-2004 Бишкек-2004 1 Данное пособие предназначено для тренеров и активистов гражданского общества, занимающихся вопросами гендера и выборов. По структуре пособие состоит из двух частей: методической части и модуля тренинга по вопросам гендера и выборов. Оно написано в рамках проектов Гендер, права женщин и местные выборы и Политические права и продвижение женщин в выборные органы, в партнерстве Norwegian Church Aid (Норвегия) и программой...»

«МИНИСТЕРСТВО ОБРАЗОВАНИЯ РОССИЙСКОЙ ФЕДЕРАЦИИ НАЦИОНАЛЬНЫЙ ФОНД ПОДГОТОВКИ КАДРОВ ИННОВАЦИОННЫЙ ПРОЕКТ РАЗВИТИЯ ОБРАЗОВАНИЯ Программа Совершенствование преподавания социально-экономических дисциплин в вузах НОВОСИБИРСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ Экономический факультет Синявская Эмилия Григорьевна Голубева Наталья Васильевна ТЕОРИЯ И ПРАКТИКА РЕШЕНИЯ ЗАДАЧ ПО МИКРОЭКОНОМИКЕ Учебное пособие Новосибирск 2003 1 ПРЕДИСЛОВИЕ В настоящее время на русском языке издано большое количество учебников...»

«МИНИСТЕРСТВО СЕЛЬСКОГО ХОЗЯЙСТВА РФ Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования Пермская государственная сельскохозяйственная академия имени академика Д. Н. Прянишникова Факультет почвоведения, агрохимии, экологии и товароведения Дьяков В.П. ВЫПОЛНЕНИЕ КУРСОВОЙ РАБОТЫ ПО ДИСЦИПЛИНЕ ОСНОВЫ ПОЧВОВЕДЕНИЯ Методические указания Пермь ФГБОУ ВПО Пермская ГСХА 2013 Методические указания для выполнения курсовой работы по дисциплине Основы...»

«Министерство образования и науки Российской Федерации Негосударственное образовательное учреждение высшего профессионального образования Томский экономико-юридический институт УЧЕБНО-МЕТОДИЧЕСКИЙ КОМПЛЕКС по дисциплине Бизнес-планирование для направления подготовки 030500.62 Юриспруденция Томск - 2010 СОДЕРЖАНИЕ РАЗДЕЛ 1. ОРГАНИЗАЦИОННО-МЕТОДИЧЕСКИЙ 1.1 Цели и задачи учебной дисциплины 1.2 Требования к уровню освоения дисциплины 1.3 Виды и формы контроля 1.4 Виды активных методов и форм...»

«- 2009 Федеральное агентство по образованию ГОУ ВПО Уральский государственный технический университет – УПИ имени первого Президента России Б.Н. Ельцина ГОУ ВПО Уральский государственный университет им. А.М.Горького ГОУ ВПО Уральская государственная архитектурно-художественная академия ГОУ ВПО Уральская государственная юридическая академия ГОУ ВПО Уральский государственный экономический университет ГОУ ВПО Российский государственный профессионально-педагогический университет Новые...»

«260807 Технология продукции общественного питания. Морозова Н.А. Русский язык: Рабочая программа для специальности среднего профессионального образования 260807 Технология продукции общественного п Волгоград,2012.-19 с. Морозова Н.А. Русский язык: Календарно-тематический план на 2013 – 2014 уче (260807 Технология продукции общественного питания). - Волгоград,2013.-14 с. Морозова Н.А. Русский язык: Методические рекомендации по проведению практ занятий для специальности 260807 Технология...»

«ФЕДЕРАЛЬНОЕ АГЕНТСТВО ПО ОБРАЗОВАНИЮ ГОСУДАРСТВЕННОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ ЛИПЕЦКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ Кафедра металлических конструкций МЕТОДИЧЕСКИЕ УКАЗАНИЯ к выполнению раздела Особенности монтажа металлических конструкций при реконструкции зданий и сооружений в курсовых дипломных проектах и Составитель О.П.Якимец Липецк -2005 ФЕДЕРАЛЬНОЕ АГЕНТСТВО ПО ОБРАЗОВАНИЮ ГОСУДАРСТВЕННОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО...»

«Министерство образования Республики Беларусь Учреждение образования Полоцкий государственный университет НАЧЕРТАТЕЛЬНАЯ ГЕОМЕТРИЯ И ИНЖЕНЕРНАЯ ГРАФИКА УЧЕБНО-МЕТОДИЧЕСКИЙ КОМПЛЕКС для студентов специальностей 1-70 02 01, 1-70 04 02, 1-70 04 03 Часть I Начертательная геометрия Составители: Т.Я. Артемьева, В.А. Лубченок, Т.С. Махова, С.В. Ярмолович Под общ. ред С.В. Ярмоловича Новополоцк 2004 УДК 514.18 (075.8) ББК 22.151.3 (4 Беи) я73 Н 36 РЕЦЕНЗЕНТЫ: А.А. Селицкий, канд. искусствоведения, доц....»

«Санкт-Петербургский государственный университет В.Г.Горбацкий Лекции по истории астрономии Учебное пособие Издательство Санкт-Петербургского университета 2002 УДК ВВК Г 67 Р е ц е н з е н т ы : член-корреспондент РАН В.К. Абалакин (ГАО РАН) профессор В.В. Иванов (С.-Петерб. гос. ун-т) Печатается по постановлению Редакционно-издательского совета С.-Петербургского государственного университета УДК Го р б а ц к и й В. Г. Лекции по истории астрономии: Учеб. пособие. Г 67 СПб Изд. С.-Петерб. ун-та,...»

«1 Московский государственный университет геодезии и картографии МИИГАиК Кафедра высшей геодезии Шануров Геннадий Анатольевич Атмосфера и ее влияние на результаты измерения расстояний Учебное пособие по курсам Высшая геодезия, Геотроника и Физика Земли и атмосферы для студентов и аспирантов геодезических специальностей Москва 2013 год 2 Содержание Введение... 2 1. Основные понятия.. 3 2. Стратификация атмосферы.. 5 3. Учёт влияния нейтральной атмосферы на результат измерения расстояния.. 7...»

«Храпов Ю.Т. ПРАВО Учебное пособие для учащихся 10–11 классов общеобразовательных школ, лицеев, гимназий г. Новосибирск 2014 год Главный редактор учебника Мухарыцин Александр Михайлович – председатель фонда социально-правового содействия населению Добрый город г. Новосибирска Содержание Предисловие. Глава I. Государство Глава II. Теория права Глава III. Конституционное право Всеобщая декларация прав человека Федеральный закон Об образовании в Российской Федерации Декларация прав ребенка Глава...»

«Оформление выпускной квалификационной работы ОСЭН, ЧЗО-3 (4 этаж), ОУЛ (1 этаж) Уважаемые выпускники! В перечисленных ниже изданиях содержатся методические рекомендации, которые помогут должным образом подготовить, оформить и успешно защитить выпускную квалификационную работу. Рыжков, И. Б. Основы научных исследований и изобретательства [Электронный ресурс] : [учебное пособие для студентов вузов, обучающихся по направлению подготовки (специальностям) 280400 — Природообустройство, 280300 —...»

«Министерство образования и науки Российской Федерации Международный образовательный консорциум Открытое образование Московский государственный университет экономики, статистики и информатики АНО Евразийский открытый институт Моисеев С.Р. Международные финансовые рынки и международные финансовые институты Учебное пособие Практикум по курсу Москва 2004 УДК 339.7 ББК 65.268 М 748 Моисеев С.Р. МЕЖДУНАРОДНЫЕ ФИНАНСОВЫЕ РЫНКИ И МЕЖДУНАРОДНЫЕ ФИНАНСОВЫЕ ИНСТИТУТЫ: Учебное пособие, практикум по курсу /...»

«Книгообеспеченность кафедры социально-гуманитарных и естественнонаучных дисциплин 2013/2014 учебный год Кол-во Кол-во Дисциплина Литература Кол-во книг книг/студент а студентов Английский 231 1 231 язык 1,2д 1,2з 1с К М 1д 1,2з 1с МОТ Агабекян, И.П. Английский для менеджеров: учеб. пособие / И. П. Агабекян. 1,2д 1,2з 1с БУ - 2-е изд., доп.и перераб. - Ростов-н/Д : Феникс, ЭП 1д 1оз МЭ Шевелева, С.А. Основы экономики и бизнеса: учеб. пособие / С. А. Шевелева, В. Е. Стогов. - 2-е изд.,.и доп. -...»

«МИНИСТЕРСТВО ЗДРАВООХРАНЕНИЯ РЕСПУБЛИКИ БЕЛАРУСЬ БЕЛОРУССКАЯ МЕДИЦИНСКАЯ АКАДЕМИЯ ПОСЛЕДИПЛОМНОГО ОБРАЗОВАНИЯ КАФЕДРА ПОЛИКЛИНИЧЕСКОЙ ПЕДИАТРИИ А.П. РУБАН ИММУНОРЕАБИЛИТАЦИЯ ЧАСТО И ДЛИТЕЛЬНО БОЛЕЮЩИХ ДЕТЕЙ Учебно-методическое пособие Минск БелМАПО 2013 УДК 616-053.2:612.017-036.8(075.9) ББК 52.54я73 Р 82 Рекомендовано в качестве учебно-методического пособия УМС Белорусской медицинской академии последипломного образования протокол № 5 от 25.06. 2013 г. Автор: канд. мед. наук, доцент кафедры...»

«РАССМОТРЕНО УТВЕРЖДЕНО на заседании педагогического совета Директор ГАОУ СПО ВПТТ ГАОУ СПО ВПТТ _А.И. Савельев Протокол № 1 от 2сентября 2013г. Введено в действие Приказ № 145/1 от 3сентября 2013г МЕТОДИЧЕСКИЕ УКАЗАНИЯ ПО ОФОРМЛЕНИЮ КУРСОВЫХ И ДИПЛОМНЫХ РАБОТ (ПРОЕКТОВ) ГОСУДАРСТВЕННОГО АВТОНОМНОГО ОБРАЗОВАТЕЛЬНОГО УЧРЕЖДЕНИЯ СРЕДНЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ ВОЛЖСКИЙ ПРОМЫШЛЕННО - ТЕХНОЛОГИЧЕСКИЙ ТЕХНИКУМ 2 СОДЕРЖАНИЕ 1 Область применения 2 Нормативные ссылки 3 Термины и определения 4...»

«Аннотация на учебные программы по ФГОС для 1 класса Рабочая программа по литературному чтению составлена в соответствии с основными положениями Федерального государственного образовательного стандарта начального общего образования, требованиями Примерной основной образовательной программы ОУ, авторской программы Л. Ф. Климановой, В. Г. Горецкого, М. В. Головановой. Рабочая программа Литературное чтение разработана на основе учебно-методического комплекта Школа России, а именно авторской...»






 
2014 www.av.disus.ru - «Бесплатная электронная библиотека - Авторефераты, Диссертации, Монографии, Программы»

Материалы этого сайта размещены для ознакомления, все права принадлежат их авторам.
Если Вы не согласны с тем, что Ваш материал размещён на этом сайте, пожалуйста, напишите нам, мы в течении 1-2 рабочих дней удалим его.