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





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

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

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

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

«Министерство здравоохранения Республики Беларусь УО Витебский государственный медицинский университет Белорусское научно- практическое общественное объединение Ассоциация акушеров-гинекологов и неонатологов Охрана материнства и детства Рецензируемый научно-практический медицинский журнал № 1 (21) 2013 г. Министерство здравоохранения Республики Беларусь УО Витебский государственный медицинский университет Белорусское научно- практическое общественное объединение Ассоциация акушеров-гинекологов и...»

«Сведения об обеспеченности образовательного процесса учебной литературой или иными информационными ресурсами и материально-техническим оснащением Дальневосточный государственный гуманитарно-технический колледж_ наименование лицензиата 270802 Строительство и эксплуатация зданий и сооружений код, наименование образовательной программы Количество Автор, название, место издания, издательство, год издания № КолиНаименование дисциплин, входящих в обучающихся, учебной литературы, вид и характеристика...»

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

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

«Международные стандарты финансовой отчетности. Учебное пособие. © Бровкина Н.Д., 2012 Н.Д. Бровкина Международные стандарты финансовой отчетности Учебное пособие Об авторе. Бровкина Наталья Дмитриевна, доцент кафедры Аудит и контроль Финансового университета при Правительстве РФ. Практикующий аудитор (аттестат Министерства финансов с 1994 года). Имеет многолетний опыт работы по трансформации отчетности компаний в формат МСФО и аудиторских проверок отчетности в формате МСФО. Квалификация по...»

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

«Пивоваров Ю.П. ГИГИЕНА И ЭКОЛОГИЯ ЧЕЛОВЕКА (Курс лекций) Рекомендовано центральными координационно-методическими советами Российского государственного медицинского университета и Московского института медико-социальной реабилитологии в качестве учебного пособия для студентов Издание первое Москва 1999 Курс лекций Гигиена и экология человека подготовлен коллективом кафедры гигиены и основ экологии человека Российского государственного медицинского университета и Московского института...»

«Федеральное государственное образовательное учреждение высшего профессионального образования Сибирская академия государственной службы ВЫПОЛНЕНИЕ И ЗАЩИТА ВЫПУСКНЫХ КВАЛИФИКАЦИОННЫХ (ДИПЛОМНЫХ) РАБОТ ПО СПЕЦИАЛЬНОСТИ ЮРИСПРУДЕНЦИЯ (гражданско-правовая и государственно-правовая специализации) Методические рекомендации Составители А. В. Годованный, Е. А. Дорожинская Второе издание, переработанное и дополненное НОВОСИБИРСК 2011 1 ББК 74.580я В92-7 Издается в соответствии с планом...»

«Министерство образования и науки Российской Федерации Утверждаю: _ 20 г. Примерная основная образовательная программа высшего профессионального образования Направление подготовки 150700 Машиностроение, утверждено приказом Минобрнауки России от 17 сентября 2009 г. № 337 Квалификация (степень) выпускника - бакалавр Нормативный срок освоения программы - 4 года Форма обучения — очная ФГОС ВПО утвержден приказом Минобрнауки России от 9 ноября 2009 г. № 538 Москва - 2011 1. Общие положения Примерная...»

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

«Пояснительная записка Календарно-тематическое планирование составлено на основе: Федерального компонента государственного стандарта общего образования, примерной программы основного общего образования по экономике (профильный уровень) и авторской программы под редакцией: Программа: 1. С.И. Иванов, М.А. Скляр. Экономика. Основы экономической теории. Программа для 10-11 классов (профильный уровень). Сборник программно-методических материалов по экономике для общеобразовательных учреждений / Сост....»

«Перечень доступных книг партнерской коллекции издательства ЮНИТИ-ДАНА на платформе ЭБС ZNANIUM.COM Учеб. Адвокат в уголовном ЮНИТИ 2012 375 Под ред. Н.А. пособие. процессе. 2-е изд., перераб. ДАНА г. Колоколова и доп. Гриф УМЦ Профессиональный 668 учебник Учеб. Адвокатура в России. 4-е Под ред. Н.А. ЮНИТИ 2012 375 пособие. изд., перераб. и доп. Колоколова ДАНА г. Учебное пособие. Гриф МО РФ. Гриф МВД РФ. Гриф УМЦ Профессиональный учебник. Учебное Административная Под ред. Г.Б. ЮНИТИ 2012...»

«ПОРЯДОК оформления материалов и представления работ на соискание премий Губернатора Оренбургской области в сфере науки и техники за 2013 год 1. Выдвижение работ 1.1 Выдвижение работ проходит в соответствии с пунктами 7 и 8 приложения к указу Губернатора Оренбургской области от 12.11.2012 № 781ук Об учреждении премий Губернатора Оренбургской области в сфере науки и техники. 1.2. Выдвижение кандидатов в авторский коллектив из общего числа исполнителей работы производится исходя из оценки...»

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

«Литература Pamatizgltbas mcbu priekmeta programmas paraugs Satura rdtjs Введение Цель учебного предмета Задачи учебного предмета Учебное содержание Порядок и время освоения учебного содержания 4 КЛАСС 5 КЛАСС 6 КЛАСС 7 КЛАСС 8 КЛАСС 9 КЛАСС Формы и методические приемы оценивания учебных достижений учащихся Предварительное оценивание Текущее оценивание Итоговое оценивание Учебные пособия, используемые для освоения учебного содержания Методы Введение Программа Литература разработана в...»

«З.М. СЕЛИВАНОВА, А.В. ПЕТРОВ ТЕХНОЛОГИЯ РАДИОЭЛЕКТРОННЫХ СРЕДСТВ • ИЗДАТЕЛЬСТВО ТГТУ • Министерство образования и науки Российской Федерации ГОУ ВПО Тамбовский государственный технический университет З.М. Селиванова, А.В. Петров ТЕХНОЛОГИЯ РАДИОЭЛЕКТРОННЫХ СРЕДСТВ Лабораторные работы для студентов 5, 6 курсов дневного и заочного отделений, экстерната и дистанционного обучения специальности 210201 Проектирование и технология радиоэлектронных средств Тамбов Издательство ТГТУ УДК 621.396. ББК...»

«ФЕДЕРАЛЬНОЕ АГЕНТСТВО ПО ОБРАЗОВАНИЮ ГОСУДАРСТВЕННОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ АЛТАЙСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ ХИМИЧЕСКИЙ ФАКУЛЬТЕТ КУРСОВЫЕ И ВЫПУСКНЫЕ КВАЛИФИКАЦИОННЫЕ РАБОТЫ ПО СПЕЦИАЛЬНОСТИ ХИМИЯ методические рекомендации БАРНАУЛ • 2005 УДК 54(079) ББК 74.580.286р30 + 24р30 К 937 Р е ц е н з е н т ы : Н.Г. Базарнова, докт. хим. наук, профессор В.С. Смородинов, канд. хим. наук, доцент Катраков И. Б. Курсовые и выпускные квалификационные работы по...»






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

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