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





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

«Общая методика преподавания информатики 119 5. Кабинет информатики Информатизация общества и образования выступает в качестве средства интенсификации процесса обучения, совершенствования его форм и методов, перехода к новым технологиям обучения, ориентированным на овладение умением самостоятельно приобретать новые знания. В связи с реализацией государственных программ компьютеризации сельских (2001 г.) и городских и поселковых общеобразовательных учреждений (2002 г.), практически все школы...»

«1. Методические указания по выполнению курсовых работ по дисциплине Гражданское право Курсовая работа способствует формированию у студента навыков самостоятельного научного творчества, повышению его теоретической и профессиональной подготовки, лучшему освоению учебного материала. В процессе написания курсовой работы студент получает опыт самостоятельного изучения научной литературы, нормативно-правовых актов, судебной практики. Работа должна отвечать ряду обязательных требований: актуальность...»

«1 Create PDF files without this message by purchasing novaPDF printer (http://www.novapdf.com) A.H. ASAUL, V.N. STARINSKIY, A.G. BEZDUDNAY, P.J. EROFEEV ESTIMATE OF MACHINES, THE EQUIPMENT AND VEHICLES EDUCATIONAL REFERENCE TEXTBOOK Under the editorship of Doc. Econ. Sci. Prof. A. N. Asaul Saint-Petersburg Humanistica 2007 Create PDF files without this message by purchasing novaPDF printer (http://www.novapdf.com) Государственное образовательное учреждение высшего профессионального образования...»

«УТВЕРЖДЕНА Решением Совета директоров АО КазАгроФинанс № 21 от 17 июня 2011 г. СТРАТЕГИЯ РАЗВИТИЯ Акционерного Общества КазАгроФинанс на 2011-2020 годы г. Астана 2011 г. Содержание: Введение 3 Раздел 1. Анализ текущего состояния 3 1.1. Анализ внешней среды 1.1.1. Анализ развития сферы животноводства 4 1.1.2. Анализ технико-технологического обновления агропромышленного комплекса 1.1.3.Анализ потребителей услуг Общества 1.1.4.Анализ конкурентной среды Общества 1.1.5. Влияние глобальных факторов...»

«2 Структура отчета о результатах самообследования обособленного подразделения (филиала) ФГБОУ ВПО АГТУ 1. Описание текущего положения и условий функционирования обособленного 3 подразделения (филиала) 2. Система управления обособленным подразделением (филиалом) 5 2.1. Структура обособленного подразделения (филиала) 5 2.2. Характеристика системы управления качеством образования. Система менедж- 8 мента качества 3. Структура подготовки и переподготовки обучающихся 24 3.1. Среднее профессиональное...»

«Список опубликованных работ проф. Шермухамедова Аббас Таировича, д.ф-м.н. за 2009 учебный год 1. Совершенствование корпоративного управления в Узбекистане. // В тезисах докладов Двадцать вторые международные Плехановские чтения, 10 апреля 2009 г. РЭА им.Г.В.Плеханова. _М.: РЭА им.Г.В.Плеханова, 2009. – 159-160 с. 2. Информационная безопасность в банках // В материалах научно – практической конференции Хукукий информатика ва ахборот хавсизлиги сохаларини такомиллаштиришнинг долзарб масалалари...»

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

«УДК 669:519.216 ББК 34.3-02 Я60 Электронный учебно-методический комплекс по дисциплине Моделирование процессов и объектов в металлургии подготовлен в рамках инновационной образовательной программы Многоуровневая подготовка специалистов и инновационное обеспечение горно-металлургических предприятий по сертификации, управлению качеством, технологической и экономической оценке минерального, вторичного и техногенного сырья, реализованной в ФГОУ ВПО СФУ в 2007 г. Рецензенты: Красноярский краевой...»

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

«МОСКОВСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ ГРАЖДАНСКОЙ АВИАЦИИ Кафедра аэродинамики, конструкции и прочности летательных аппаратов Ефимов В.В. КОНСТРУКЦИЯ И ПРОЧНОСТЬ ЛА ПОСОБИЕ по выполнению курсового проекта Часть II для студентов IV курса специальности 160901 всех форм обучения Москва – 2009 2 Рецензент д-р техн. наук, профессор Ципенко В.Г. Ефимов В.В. Конструкция и прочность ЛА: Пособие по выполнению курсового проекта. Часть II. Методика выполнения курсового проекта. – М.: МГТУ ГА,...»

«МИНИСТЕРСТВО ОБРАЗОВАНИЯ РЕСПУБЛИКИ БЕЛАРУСЬ УЧРЕЖДЕНИЕ ОБРАЗОВАНИЯ БРЕСТСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ КАФЕДРА МЕНЕДЖМЕНТА И МАРКЕТИНГА МЕТОДИЧЕСКИЕ УКАЗАНИЯ по выполнению курсовой работы по дисциплине: УПРАВЛЕНИЕ И ОРГАНИЗАЦИЯ СТРОИТЕЛЬНОГО ПРОИЗВОДСТВА для студентов специальности Э 02.01.05 Коммерческая деятельность в строительстве Брест 2001 УДК У725 (07) Методические указания разработаны в соответствии с образовательным стандартом, действующими учебными планами, утвержденными...»

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

«Министерство образования Республики Беларусь Учреждение образования Витебский государственный университет имени П.М. Машерова ЛОГОПСИХОЛОГИЯ Учебно-методическое пособие Витебск Издательство УО ВГУ им. П.М. Машерова 2007 УДК 159:616(075) ББК 88.482я73 Л69 Печатается по решению научно-методического совета учреждения образования Витебский государственный университет имени П.М. Машерова. Протокол № 1 от 27.09.2007 г. Автор-составитель: старший преподаватель кафедры коррекционной работы УО ВГУ им....»

«Г. Ф. ЧЕКМАРЁВ ПРОБЛЕМЫ ТЕОРИИ ГОСУДАРСТВА И ПРАВА Учебно-методическое пособие по изучению дисциплины Для студентов юридического факультета очного, очно-заочного и заочного отделений. Специальность: Юриспруденция Москва – 2011 2 Р е ц е н з е н т: кандидат юридических наук И. Л. Лёзов, заведующий кафедрой государственно-правовых дисциплин ИНЭП; Чекмарёв, Геннадий Федорович. Проблемы теории государства и права. Учебно-методическое пособие по изучению дисциплины. — М.: Институт экономики и...»

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

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

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

«В.В. Фаронов уЧебный курс Рекомендовано Учебно-методическим центром Классический учебник в качестве учебного пособия для студентов высших учебных заведений УДК 681.3.06(095) ББК 32.973я7 Ф24 Фаронов В.В. Ф24 TurboPascal 7.0. Учебный курс : учебное пособие / В.В. Фаронов. — М. : КНОРУС, 2011. — 368 с. ISBN 978-5-406-01516-2 В книге содержится исчерпывающее руководство по программированию в среде TurboPascal 7.0 корпорации Borland. Изложение ведется от простого к сложному, позволяя изучить...»

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

«ОБЯЗАТЕЛЬНАЯ ДИСЦИПЛИНА 14.01.26 – Сердечно – сосудистая хирургия (Медицинские науки) Цикл дисциплин (по учебному плану) ОД.А.03 – Специальные дисциплины отрасли науки и научной специальности Курс 2 Трудоемкость в ЗЕТ 2 Трудоемкость в часах 72 Количество аудиторных часов на 30 дисциплину В том числе: Лекции (часов) 12 Практические занятия (часов) 18 Количество часов на 42 самостоятельную работу Рабочая программа дисциплины СЕРДЕЧНО-СОСУДИСТАЯ ХИРУРГИЯ (ОД.А.03) составлена на основании...»






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

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