Смекни!
smekni.com

Методические указания к курсовой работе по дисциплине «Объектно-ориентированное программирование» по направлению 230200 Информационные системы (стр. 3 из 12)

Управляющие элементы составляют основу при формировании пользовательского интерфейса приложения. Элементы управления, такие как нажимаемые или селективные кнопки, панели списков, панели редактирования и другие, широко используются разработчиками Windows–приложений. Они значительно облегчают интерфейс между пользователем и Windows -приложением.

Из множества классов управляющих элементов наиболее часто применяются два класса: Button и TextBox.

Из класса Button(кнопка) создаётся так называемая нажимаемая кнопка.

Из класса TextBox (текстовый редактор) языка C# и класса TextField языка Java создаётся панель редактирования, которая представляет собой простейший редактор с возможностью ввода и редактирования текста.

Объекты, классы и язык UML

Приступая к созданию какой-либо программной системы, разработчикам желательно воспользоваться языком более высокого уровня, чем языки программирования, чтобы обсудить структуру как всей системы в целом, так и её частей и взаимосвязь этих частей в пространстве (статически) и во времени (динамически) безотносительно к языку программирования. Желательно, чтобы этот язык оперировал такими понятиями объектно-ориентированных систем как класс, объект, устанавливал бы связи между ними статически и динамически.

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

Для графического представления объектно-ориентированных систем в настоящее время используется язык UML.

Унифицированный язык моделирования UML (Unified Modeling Language) предназначен для описания объектно-ориентированных систем в виде совокупности диаграмм, раскрывая статическую и динамическую суть системы как модели, состоящей из взаимодействующих объектов.

Перед применением языка UML необходимо проанализировать проектируемую систему, выявить основные сущности и понятия, образовать набор классов, из которых будет создаваться всё множество объектов системы. Затем приступают к разработке диаграмм языка UML: диаграмм вариантов использования, представляющих систему с точки зрения пользователя, диаграмм классов, представляющих классы и их статическую взаимосвязь, диаграмм последовательности, изображающих динамическое функционирование объектов во времени, и др.

На рис. 2.1 изображен класс на языке UML. Класс представляется в виде прямоугольника, разделённого на три части, в которых размещается имя класса, перечень атрибутов и, наконец, перечень функций класса. Перед именами данных и функций ставятся символы “– “ и “+”, указывающие на доступ private и public соответственно.

Рис. 2.1. Класс CBall

Из рис. 2.1 видно, что на языке UML представлен класс, имеющий имя CBall, закрытые данные х и у и открытые функции Set, Move и Show. Важно, что это представление класса не зависит от языков программирования и, в частности, от С++, С++.NET, Java, J# и С#.

Рис. 2.2. Объекты класса CBall

На рис. 2.2 изображены объекты класса CBall на языке UML. В прямоугольнике помещается имя объекта, отделённое от класса этого объекта двоеточием. Если объект безымянный, то ставится двоеточие перед именем класса. Имя объекта и класса подчёркиваются.

Рис. 2.3. Класс MyClass наследует класс BaseClass, содержит объект класса OtherClass и использует класс UsedClass

Нотация на рисунке 2.3 показывает наследование одного класса из другого класса, обладание объектом другого класса и использование в одном классе другого класса.

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

О многогранности описания разрабатываемой системы на этом языке можно судить по перечню описывающих её диаграмм языка UML: диаграмма взаимодействия (interaction diagram), диаграмма деятельности (activity diagram), диаграмма использования (use case diagram), диаграмма классов (class diagram), диаграмма компонентов (component diagram), диаграмма кооперации (collaboration diagram), диаграмма объектов (object diagram), диаграмма последовательности (sequence diagram), диаграмма развёртывания (deployment diagram), диаграмма состояний (statechart diagram).

В задачи книги не входит подробное изложение языка UML. Познакомиться с нотацией этого языка можно по книге Рамбо Дж., Якобсона А. и Буча Г. “UML: специальный справочник”.

Диаграммы класса языка UML должны использоваться при описании поэтапной разработки программ.

1. ЦЕЛИ И ЗАДАЧИ КУРСОВОЙ РАБОТЫ

Целью курсовой работы является приобретение практических навыков поэтапной разработки нераспределённых объектно-ориентированных программ, разработки собственных классов и применения классов библиотеки .NET Framework и пакетов языка Java, создания из них объектов и обеспечении требуемого совместного функционирования этих объектов как объектно-ориентированной модели, реализующей поставленную задачу, а также описания разработанного программного продукта как с точки зрения его пользователя, так и с точки зрения разработчика.

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

1. изучить и применить принципы поэтапной разработки и отладки программ средней сложности.

2. уметь разрабатывать собственные классы, создавать из них разнообразные объекты и применять их совместно для реализации требуемых алгоритмов функционирования программы.

3. уметь применять необходимые классы библиотеки NET Framework, создавать из них требуемые объекты и употреблять их в программе.

4. уметь применять необходимые классы пакетов Java, создавать из них требуемые объекты и употреблять их в программе.

5. уметь разрабатывать собственный интерфейс программы, применив необходимые интерфейсные элементы на базе классов библиотеки NET Framework и пакетов Java.

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

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

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

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

Необходимо выделить особые объекты – источники событий и определить объекты – приёмники этих событий, разработать необходимые делегаты событий, обеспечить связь источников с их приёмниками.

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

После анализа совокупности предполагаемых объектов и их взаимодействия и разработки соответствующих им классов надлежит перейти к поэтапной разработке создаваемой программной системы. Перед переходом к созданию программы на компьютере желательно на бумаге прикинуть поэтапную разработку программы, при которой программа из основного ядра будет обрастать объектами добавляемых классов, приближая своё функционирование к требуемому по заданию.

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

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

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

Тематика курсовых работ должна быть связана с разработкой программ, реализующих модель, состоящую из разнотипных объектов с потоками, взаимодействующих между собой с помощью событий. Программный интерфейс должен включать интерфейсные элементы типа кнопок, текстовых редакторов, списков и т.д., объекты которых создаются из соответствующих классов библиотеки NET Framework.

Задание на курсовую работу описывает поведение некоторого множества объектов, подлежащих реализации в виде программной системы.

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

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