ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 28.07.2021

Просмотров: 224

Скачиваний: 1

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
  1. Модульное программирование: особенности, преимущества, реализация в различных языках программирования [16 с.143-146].

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

Следует отметить и такое хорошее свойство модульного программирования, как возможность повторного использования (reuse) разработанных модулей в других программах.

Разумеется, за все надо платить, у модульного программирования есть и свои слабые стороны, перечислим основные из них.

Во-первых, модули не являются совсем уж независимыми друг от друга: между ними существуют связи, то есть один модуль иногда может использовать переменные, константы и программный код другого модуля.

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

В-третьих, так как теперь компилятор не видит всей исходной программы одновременно, то, следовательно, и не может получить полностью готовый к счету модуль на машинном языке. Более того, так как в каждый момент времени он видит только один модуль, он не может проконтролировать, правильно ли установлены связи между модулями.

для оценки приемлемости программного модуля использовать более конструктивные его характеристики:

  • размер модуля;

Размер модуля измеряется числом содержащихся в нем операторов или строк. Модуль не должен быть слишком маленьким или слишком большим.

  • прочность модуля;

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


  • сцепление с другими модулями;

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

  • рутинность модуля (независимость от предыстории обращений к нему).

Рутинность модуля - это его независимость от предыстории обращений к нему. Модуль называется рутинным, если результат (эффект) обращения к нему зависит только от значений его параметров (и не зависит от предыстории обращений к нему). Модуль называется зависящим от предыстории, если результат (эффект) обращения к нему зависит от внутреннего состояния этого модуля, изменяемого в результате предыдущих обращений к нему.


Реализация – например модули в CMS-системах (например модуль магазин не связан с модулем новости, тем самым обеспечивая модульность системы).






  1. Базовые принципы объектно-ориентированного программирования [16 с.203-248, 16 с.100, 152, 172].

Объе́ктно-ориенти́рованное, или объектное, программи́рование (в дальнейшем ООП) — парадигма программирования, в которой основными концепциями являются понятия объектов и классов. Объектно-ориентированное программирование основывается на трех основных концепциях: инкапсуляции, полиморфизме и наследовании.

Инкапсуляция (пакетирование) представляет собой механизм, связывающий вместе данные и код, обрабатывающий эти данные, и сохраняющий их от внешнего воздействия и ошибочного использования. Инкапсуляция позволяет создавать объект, являющийся логическим целым, включающим данные и код для работы с этими данными. Полиморфизм - принцип (подход), обеспечивающий возможность использования одного и того же кода для решения разных задач. Полиморфизм позволяет уменьшить сложность программы посредством использования одного и того же интерфейса для задания целого класса действий. Наследование представляет собой процесс, благодаря которому один объект может наследовать (приобретать) свойства от другого объекта. Объект, используя наследование, нуждается только в определении специфичных только для этого объекта свойств, отличающих его от других объектов этого класса. При построении объектно-ориентированной программы одним из основных является вопрос иерархии классов. Пусть имеется некоторая иерархия (структура, взаимосвязь) классов. В этом случае можно:

- определить объект для заданного класса;

- построить новый класс, наследуя его из существующего класса;

- изменить поведение нового класса (изменить существующие и добавить новые функции).

Построение нового класса, наследуя его из существующего, предполагает:

- добавление в новый класс новых компонент-данных;

- добавление в новый класс новых компонент-функций;

- замену в новом классе наследуемых из старого класса компонент-функций;


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



  1. Библиотеки классов (типов) в программировании: назначение, преимущества, возможности [16 с.203-212, 17 с.172-183].

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

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

Ниже перечислены основные преимущества использования библиотек классов:

  • устраняются конфликты, связанные с совпадением имен стандартных и программных функций, а также переменных;

  • код и данные инкапсулируются в классах, и доступ к ним может быть ограничен;

  • обеспечивается наследование кода;

  • размер кода значительно сокращается.

Библиотека классов .NET Framework Class Library содержит классы, обеспечивающие следующие функции:

  • поддержку базовых и определяемых пользователями типов;

  • поддержку обработки исключительных ситуаций;

  • операции ввода/вывода и работу с потоками;

  • обращение к функциям операционной системы;

  • доступ к данным;

  • возможность создания Windows-приложений;

  • возможность создания клиентских и серверных Web-приложений;

  • возможность создания Web-сервисов.


  1. Технологии обеспечения доступа программного приложения к различным источникам данных [17 с.246-270].


Формирование наборов данных с помощью адаптеров данных

Обмен данными между источниками и наборами данных (объекты DataSet в концепции ADO .NET) предполагает считывание данных из источника в набор и запись изменений, произведенных в наборе данных, в источник. Эти процессы осуществляются адаптером данных (объект DataAdapter в концепции ADO .NET). Адаптер данных обеспечивает обмен не только между набором данных и базой данных, но также между набором данных и другими источниками, такими, например, как Microsoft Exchange Server.

Один адаптер данных образует информационный канал для обмена между таблицей источника данных и объектом DataTable. Адаптеру данных должна быть задана конфигурация либо при его создании, либо на более поздних стадиях, но до его использования. В конфигурации указываются данные для обмена и содержатся ссылки на SQL-операторы (или хранимые процедуры), предназначенные для выполнения чтения/записи источника данных. Перечисленные операции представлены следующими свойствами адаптера:


  • SelectCommand – чтение данных из источника;

  • InsertCommand – добавление данных к источнику;

  • UpdateCommand – перезапись существующих данных;

  • DeleteCommand – удаление данных.




  1. Визуальное программирование: назначение, принципы организации, достижения в развитии направления [16 с. 751-802].


Визуальное программирование — способ создания программы для ЭВМ путём манипулирования графическими объектами вместо написания её текста.

Необходимо различать:

  • графический язык программирования — который прежде всего язык программирования (со своим синтаксисом)

  • визуальные средства разработки — как правило, под ними подразумевают средства проектирования интерфейсов или какую либо CASE-систему для быстрой разработки приложений или SCADA-систему для программирования микроконтроллеров.

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

  • языки на основе объектов, когда визуальная среда программирования предоставляет графические или символьные элементы, которыми можно манипулировать интерактивным образом в соответствии с некоторыми правилами;

  • языки, в интегрированной среде разработки которых на этапе проектирования интерфейса применяются формы, с возможностью настройкой их свойств. Примеры: Delphi и C++ Builder фирмы BorlandС#

  • языки схем, основанные на идее «фигур и линий», где фигуры (прямоугольники, овалы и т. п.) рассматриваются как субъекты и соединяются линиями (стрелками, дугами и др.), которые представляют собой отношения. Пример: UML.

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

Основы визуального программирования

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

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


Концепция .NET Framework и Visual Studio .NET предоставляют в распоряжение программистов огромную библиотеку объектов, ускоряющую процесс разработки приложений. Многие объекты в этой библиотеке имеют визуальное представление и дают возможность назначения свойств объекта в режиме конструирования с помощью окна Properties или диалогов с мастером-построителем.


  1. Сетевое программирование: основные принципы, технологии, особенности реализации в современных языках программирования [16 с.1007-1079].

Расширяемый язык разметки (eXtensible Markup Language–XML) предоставляет способ описания структурированных данных. В отличие от HTML-тэгов, которые применяются в основном для управления отображением данных, XML-тэги используются для определения структуры и типов самих данных.

XML — это простой, независимый от платформы и широко принятый стандарт. Преимущество языка XML по сравнению с HTML заключается в том, что он отделяет интерфейс пользователя от структурированных данных.

Перечислим некоторые преимущества XML по сравнению с другими форматами в отношении хранения информации:

  • XML-форматы основываются на тексте, что облегчает их чтение, документирование и в некоторых случаях отладку.

  • Документы XML могут использовать большую часть инфраструктуры, созданной для HTML, включая протокол http, что позволяет передавать XML через брандмауэр.

  • XML-разбор хорошо описан и широко реализован, что делает возможным извлечение информации из документов XML в различных средах.

  • XML создан на основе Юникода, что упрощает создание интернациональных документов.

Однако XML подходит не в каждой ситуации.


На платформе .NET язык XML применяется для повышения производительности, совместимости с открытыми стандартами и интеграции с ADO .NET.

Язык XML является форматом устойчивого хранения объекта DataSet, то есть, при сохранении на жестком диске объекта DataSet используется универсальный формат XML, а не двоичный или какой-то другой специализированный формат. Аналогично, при обмене объектами DataSet между разными процессами или компьютерами данные передаются в потоке формата XML.

XML-схемы

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

XML-схема определяет и описывает отдельные типы данных XML, используя язык определения схем XML (XSD). Элементы XML-схемы (элементы, атрибуты, типы и группы) используются для определения допустимой структуры, допустимого содержимого и отношений данных XML определенных типов.


  1. Организация и средства человеко-машинного интерфейса[16 с.803-858].

изучает, как люди используют компьютерные системы, чтобы решить поставленные задачи. HCI обеспечивает нас знаниями о компьютере и человеке для того, чтобы взаимодействие между ними было более эффективным и более удобным.
HCI включает в себя несколько различных дисциплин. Это требуется для того, чтобы разработчики программного обеспечения понимали основы деятельности, поведения и ментальной специфики человека в соответствии с проектируемой системой. Человеко-машинный интерфейс обеспечивает связь между пользователем и компьютером - он позволяет достигать поставленных целей, успешно находить решение поставленной задачи. Взаимодействие - обмен действиями и реакциями на эти действия между компьютером и пользователем. Несколько лет назад основным видом взаимодействия был текст (так называемые терминальные или командные системы). В настоящее время, взаимодействие может также включать графику и иконки (знаки) вместо текста, но для описания процесса взаимодействия все равно еще используется текст.


Смотрите также файлы