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





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

«К.А ПАШКОВ, А.В. БЕЛОЛАПОТКОВА, Г.Н. ТРОЯНСКИЙ, УЧЕБНО-МЕТОДИЧЕСКОЕ ПОСОБИЕ К СЕМИНАРСКИМ ЗАНЯТИЯМ ПО ИСТОРИИ МЕДИЦИНЫ для студентов стоматологического факультета К.А ПАШКОВ, А.В. БЕЛОЛАПОТКОВА, Г.Н. ТРОЯНСКИЙ УЧЕБНО-МЕТОДИЧЕСКОЕ ПОСОБИЕ К СЕМИНАРСКИМ ЗАНЯТИЯМ ПО ИСТОРИИ МЕДИЦИНЫ для студентов стоматологического факультета Рекомендуется Учебно-методическим объединением по медицинскому и фармацевтическому образованию вузов России в качестве учебного пособия для студентов стоматологического...»

«Федеральное агентство по образованию Государственное образовательное учреждение высшего профессионального образования Саратовский государственный социально - экономический университет (СГСЭУ) Балаковский институт экономики и бизнеса (филиал) Кафедра общих гуманитарных дисциплин Методические указания к выполнению курсовой работы по дисциплине Отечественная история для студентов всех специальностей Балаково 2010 1 ББК 74+63.3 (2Рос) М 54 Составитель: кандидат соц. наук Н.И. Усанов Рецензент:...»

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

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

«ФГБОУ ВПО Воронежский государственный университет инженерных технологий 1 ФГБОУ ВПО Воронежский государственный университет инженерных технологий 2 ФГБОУ ВПО Воронежский государственный университет инженерных технологий СОДЕРЖАНИЕ Общие сведения о направлении. Организационно-правовое 2 1 обеспечение образовательной деятельности Структура подготовки бакалавров. Сведения по основной 4 2 образовательной программе Содержание подготовки бакалавров 6 3 Учебный план 3.1 Учебные программы дисциплин и...»

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

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

«Комитет по молодежной политике Администрации Ростовской области Лаборатория исследования проблем молодежи и региональной безопасности ИППК ЮФУ и Института социологии РАН Донской союз молодежи Молодая Европа – Ростов ИНТЕРКЛУБ Методическое пособие по работе с иностранными студентами Ростов-на-Дону 2007 ИНТЕРКЛУБ: Методическое пособие по работе с иностранными студентами / Сост. Резванов А.А., Бесхлебнова Е.В., Кротов Д.В., Литвинова В.Л., Баранов К.А. – Ростов-на-Дону: Донской союз молодежи,...»

«ГЕМОДИНАМИЧЕСКАЯ ПОДДЕРЖКА ПРИ СЕПТИЧЕСКОМ ШОКЕ Методическое пособие Екатеринбург 2012 Авторы: Зав.кафедрой анестезиологии и реаниматологии Уральской государственной медицинской академии, член президиума правления Федерации анестезиологов и реаниматологов д.м.н., профессор В.А. Руднов. Ассистент кафедры анестезиологии и реаниматологии Уральской государственной медицинской академии, к.м.н. Ф.Н. Брезгин. Екатеринбург 2012 Список сокращений АКТГ – адренокортикотропный гормон ГКС –...»

«Учреждение образования Белорусский государственный технологический университет УТВЕРЖДЕНА Ректором БГТУ профессором И. М. Жарский 30 ноября 2013 г. Регистрационный № УД-678/баз. ОРГАНИЧЕСКАЯ ХИМИЯ Учебная программа для специальностей: 1-08 01 01 Профессиональное обучение (по направлениям), направление 1-08 01 01-04 Профессиональное обучение (деревообработка); 1-36 01 08 Конструирование и производство изделий из композиционных материалов Минск, БГТУ 2013 УДК 547(073) ББК 24.2я73 О 6...»

«Библиотека слушателей Европейского учебного института при МГИМО (У) МИД России ПРАВО ЕВРОПЕЙСКОГО СОЮЗА. НОВЫЙ ЭТАП ЭВОЛЮЦИИ: 2009–2017 ГОДЫ Серия Общие пространства России — ЕС: право, политика, экономика ВЫПУСК 5 Л. М. ЭНТИН ПРАВО ЕВРОПЕЙСКОГО СОЮЗА. НОВЫЙ ЭТАП ЭВОЛЮЦИИ: 2009–2017 ГОДЫ МОСКВА 2009 УДК 321, 327 ББК 67.5 Э 67 Редакционный совет: Энтин М. Л. — Европейский учебный институт при МГИМО (У) МИД России (главный редактор серии) Шашихина Т. В. — Институт европейского права МГИМО (У) МИД...»

«Кариес зубов: [учебное пособие по специальности 06010565 Стоматология], 2012, 157 страниц, 5917020825, 9785917020822, СГМУ, 2012. В книгу вошли программные материала по данному разделу, соответствующие ФГОС дисциплины Стоматология, рассмотрены вопросы диагностики и лечения кариеса зубов. Для студентов стоматологического факультета Опубликовано: 11th September 2010 Кариес зубов: [учебное пособие по специальности 06010565 Стоматология] СКАЧАТЬ http://bit.ly/1cCNwT,,,,. Для гостей открываются...»

«МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ Московский государственный университет геодезии и картографии (МИИГАиК) Факультет дистанционных форм обучения Заочное отделение МЕТОДИЧЕСКИЕ УКАЗАНИЯ, ПРОГРАММА И КОНТРОЛЬНАЯ РАБОТА по курсам: Общая картография Для студентов 3 курса специальности 120401.65 - прикладная геодезия Картография Для студентов 3 курса специальности 120700.62 – землеустройство и кадастры Подлежит возврату в деканат заочного отделения факультета дистанционных форм...»

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

«Муниципальное бюджетное общеобразовательное учреждение – лицей №18 г. Орла Рассмотрено Руководитель Согласовано Утверждено методического Заместитель директора по Директор МБОУ лицея объединения учителей УВР №18 г. Орла истории и _ Н.В.Музыченко Т.В.Мартынова обществознания Приказ № _ Н.В.Бондаренко от августа 2013г. Протокол № от августа 2013г. РАБОЧАЯ ПРОГРАММА по экономике 5-6 классы Составил: учитель истории и обществознания Турбина С.В., высшая квалификационная категория г. Орел 2013-2014...»

«МИНОБРНАУКИ РОССИИ ФГБОУ ВПО УДМУРТСКИЙ ГОСУДАРСТВЕННЫЙ УНИРЕРСИТЕТ ФИЛИАЛ В ГОРОДЕ НИЖНЯЯ ТУРА МЕТОДИЧЕСКИЕ УКАЗАНИЯ ПО ВЫПОЛНЕНИЮ КУРСОВОЙ РАБОТЫ учебной дисциплины Управление инфраструктурой организации для студентов заочной формы обучения специальности Экономика и управление на предприятии городского хозяйства Нижняя Тура – 2012 СОДЕРЖАНИЕ Предисловие.. 1.Указания к самостоятельной работе. 2.Этапы выполнения работы.. 3. Содержание и структура курсовой работы. 4. Требования к оформлению.. 5....»

«Учреждение образования Белорусский государственный технологический университет УТВЕРЖДЕНА Ректором БГТУ Профессором И.М. Жарским 24.06.2010 г. Регистрационный № УД-410/баз. ТЕХНОЛОГИЧЕСКИЕ ПРОЦЕССЫ В ПРОИЗВОДСТВЕ ТЕХНИЧЕСКОГО СТЕКЛА Учебная программа для специальности 1-48 01 01 Химическая технология неорганических веществ, материалов и изделий специализаций 1-48 01 01 06 Технология стекла и ситаллов и 1-48 01 01 10 Технология эмалей и защитных покрытий 2010 г. УДК 666.117(073) ББК 35.41я Т...»

«Смоленский гуманитарный университет А. В. Панкратова Пропедевтика: теория композиции для графических дизайнеров Учебное пособие к курсу Пропедевтика (основы композиции) Смоленск 2010 1 Утверждено на заседании кафедры дизайна Смоленского гуманитарного университета Рецензент: к.к.н., доцент Пастухова З. И. А. В. Панкратова. Пропедевтика: теория композиции для графических дизайнеров: методическое пособие к курсу Пропедевтика (основы композиции) Пособие освещает теоретические вопросы композиции в...»

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

«Юрий Борев Эстетика Рекомендовано Научно-методическим советом по философии Министерства образования Российской Федерации в качестве учебника по курсу Эстетика для студентов высших учебных заведений Москва Высшая школа 2002 УДК 7.01 БК 87.8 Б82 Рецензенты: действительный член Академии художеств, доктор искусствознания, профессор В.В. Ванслов; доктор филологических наук, профессор ИЛ. Ильин (ГИТИС); доктор философских наук Г.В. Гриненко (Всероссийская Академия внешней торговли); кандидат...»






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

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