Смекни!
smekni.com

Разработка электронного учебника Криминалистика (стр. 2 из 3)

Шириной называется максимальное число элементов в иерархическом уровне.

Ширина и высота нашего электронного учебника:

Ширина продукта = «4».

Высота продукта = «2».

Сильная сторона данной структуры в том, что здесь не очень большая ширина. Увеличение ширины ведет к повышению связности (изолированности) при одновременном увеличении не вязкости (зависимости).

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

Принципы объектно-ориентированного проектирования

Задача:

Как реализуются принципы объектно-ориентированного проектирования. В чем преимущества?

Решение:

В электронном учебнике используются принципы объектно-ориентированного проектирования.

Визуальную технологию конструирования программ (например, систему программирования Delphi) можно отнести к технологиям пятого поколения. Она, во-первых, полностью поддерживает объектно-ориентированную технологию, во-вторых, идеи модульного программирования получают логическое завершение, в-третьих, и это принципиально новое в данной технологии — создан инструментарий (автоматизация) программирования реакции на события (любая программа в процессе своей работы с чем-то или кем-то взаимодействует). Структура программного кода вероятностная. Не все маршруты, трассы кодов жестко определены. Элементы программного кода взаимодействуют, начинают работать при возникновении определенных событий. А главное — процесс разработки носит не каскадный, последовательный характер, он развивается по спирали.

Примером объектно-ориентированного проектирования являются кнопки управления:

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

Основные преимущества объектно-ориентированного проектирования:

1) Инкапсуляция. Данные объекта недоступны его клиентам непосредственно, они инкапсулируются, скрываются от прямого доступа извне. Клиент имеет доступ к данным объекта только через методы интерфейсов этого объекта.

2) Полиморфизм. Возможность работы с объектами разных типов, каждый из которых поддерживает данный набор интерфейсов, но реализует их по-разному.

3) Наследование. Идея проста: имея некоторый объект, можно создавать новый, автоматически поддерживающий все или некоторые «способности» старого. Различают наследование реализации и наследование интерфейса. В первом случае объект наследует от своего родителя код. Когда клиент дочернего объекта вызывает один из унаследованных методов, на самом деле выполняется код метода родителя. Таким образом, это механизм повторного использования кода (языки C++, Smalltalk). Наследование интерфейса означает повторное использование спецификаций – определение методов, поддерживаемых объектом, облегчает решение задач полиморфизма. Определение нового интерфейса путем наследования от существующего гарантирует, что объект, поддерживающий новый интерфейс, можно рассматривать как объект, который поддерживает старый интерфейс.

4) Высокая связанность. Максимально связанным является объект, в котором представляется единая сущность и в который включены все операции над этой сущностью. Каждая операция обеспечивает функциональность, которая предусматривает, что все свойства объекта будут модифицироваться, отображаться и использоваться как базис для предоставления услуг.Высокая связность – желательная характеристика, так как она означает, что объект представляет единую часть в проблемной области, существует в едином пространстве. При изменении системы все действия над частью инкапсулируются в едином компоненте. Поэтому для производства изменения нет нужды модифицировать много компонентов. Если функциональность в объектно-ориентированной системе обеспечивается наследованием от суперклассов, то связность объекта, который наследует свойства и операции, уменьшается. В этом случае нельзя рассматривать объект как отдельный модуль – должны учитываться все его суперклассы. Системные средства просмотра содействуют такому учету. Однако понимание элемента, который наследует свойства от нескольких суперклассов, резко усложняется.

Проектирование потока данных

1 этап.

Задача:

Определить входящий поток и процедуру преобразований.

А) Описать формат исходных данных.

Б) Описать процедуру преобразования (спецификацию) и взаимодействие этой процедуры с управляющим контроллером.

В) Описать формат информационного потока на выходе перед его поступлением на этап преобразования.

Решение:

Заказчиком были предоставлены тексты, набранные в текстовом редакторе «Microsoft Word» офисного пакета «Microsoft Office».

В текстовом документе, предоставленном заказчиком, были видимые грамматические ошибки. Наша задача была в том, чтобы исправить эти ошибки и отформатировать документ в тот вид, который был необходим для создания электронного учебника и для последующего использования этого документа. Далее нам надо было этот текст преобразовать в формат гипертекстовой разметки «HTML», необходимый для пользователя. В итоге работы, результат нам надо было скомпоновать в 1 файл, для удобства в пользовании электронным учебником.

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

2 этап.

Задача:

А) Описать способ преобразования информационного потока и методы преобразования.

Б) Описать формат преобразованного потока после завершения преобразования.

Решение:

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

В учебнике присутствует фрейм «Содержание», в котором можно будет перейти в любую часть учебника, который состоит из гиперссылок. В содержании учебника, весь основной материал разбит на отдельные части, которые в свою очередь разбиты на главы, а главы разбиты на более мелкие части учебника.

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


3 этап.

Задача:

А) Описать пользовательский выходной формат.

Б) Описать способ преобразования данных из внутреннего формата программы в формат, необходимый для пользователя.

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

Решение:

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

2. Практическая часть

Программирование.

Верстка страниц в формат гипертекстовой разметки HTML.

Разработка модулей – Java-Scripts.

А) «ЗАПРЕТ ПРАВОЙ КЛАВИШИ МЫШИ» - защита от «дурака». Этот модуль присутствует на всех страницах. Если бы его не было, то пользователь мог бы при нажатии правой клавиши мыши вывести контекстное меню, в котором присутствует пункт «В формате HTML”. Это привело бы к тому, что каждый пользователь мог бы скопировать этот код и применять его в своих целях, а это противоречит закону об авторских правах.

Б) «Снежок». Этот модуль присутствует на главной странице. Все снежинки имеют разные размеры и формы. Также они все падают с разной скоростью. Модуль использован всего лишь для того, чтобы учебник, при открытии пользователем показался не статичным, а динамичным, т.е. это сразу бросается в глаза. Даже при создании сайтов это очень часто применяется, т.к. пользователь, зайдя на этот сайт увидит все эти эффекты (самое главное, чтобы они все были в «тему» и не мешали работе), зайдет скорее всего на этот сайт вновь, т.к. ему это очень понравится скорее всего.

В) «Муха». Этот модуль присутствует на странице – «Тематический план и программа по курсу «Криминалистика»». Муха бегает за указателем мыши. Создается такое впечатление, как будто муха сидит на мониторе в реальности и можно до нее дотронуться (это первое впечатление, если конечно не вглядываться внимательно на монитор). Если муха достигла указателя мыши, то она начинает двигаться не по какой-то траектории, а сама выбирает путь, но при этом далеко не удаляется от указателя мыши. Также в этом модуле присутствует кнопка, расположенная справа внизу экрана монитора. При нажатии на эту кнопку, муха исчезает с экрана. Если вновь нажать на эту кнопку муха появится на том же месте, где она исчезла и начнет свое движение. Эта кнопка также двигается от перемещения ползунка, с помощью которого можно перемещаться по фрейму вниз и вверх. Этот эффект для удобства.