ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 28.07.2021
Просмотров: 232
Скачиваний: 1
-
Модульное программирование: особенности, преимущества, реализация в различных языках программирования [16 с.143-146].
Модульное программирование является особым способом разработки программы, которая строится при этом из нескольких относительно независимых друг от друга частей – модулей. Модули задачи могут писаться как на одном языке программирования, например, на Ассемблере, так и на разных языках, в этом случае говорят, что используется многоязыковая система программирования. Перечислим сначала те преимущества, которые предоставляет модульное программирование. Во-первых, как уже отмечалось, это возможность писать модули на разных языках программирования. Во-вторых, модуль является естественной единицей локализации имен: как уже говорилось, внутри модуля все имена должны быть различны (уникальны),1 что не очень удобно, особенно когда модуль большой по объему или совместно пишется разными программистами. А вот в разных модулях имена могут совпадать, так как имена локализованы в модуле и не видны из другого модуля, если только это не указано явно с помощью специальных директив. Следующим преимуществом модульного программирования является локализация места ошибки: обычно исправление ошибки внутри одного модуля не влечет за собой исправление других модулей.
Следует отметить и такое хорошее свойство модульного программирования, как возможность повторного использования (reuse) разработанных модулей в других программах.
Разумеется, за все надо платить, у модульного программирования есть и свои слабые стороны, перечислим основные из них.
Во-первых, модули не являются совсем уж независимыми друг от друга: между ними существуют связи, то есть один модуль иногда может использовать переменные, константы и программный код другого модуля.
Во-вторых, теперь перед счетом программы необходим особый этап сборки программы из составляющих её модулей. Этот процесс достаточно сложен, так как кроме собственно объединения всех модулей в одну программу, необходимо проконтролировать и установить все связи между этими модулями.
В-третьих, так как теперь компилятор не видит всей исходной программы одновременно, то, следовательно, и не может получить полностью готовый к счету модуль на машинном языке. Более того, так как в каждый момент времени он видит только один модуль, он не может проконтролировать, правильно ли установлены связи между модулями.
для оценки приемлемости программного модуля использовать более конструктивные его характеристики:
-
размер модуля;
Размер модуля измеряется числом содержащихся в нем операторов или строк. Модуль не должен быть слишком маленьким или слишком большим.
-
прочность модуля;
Прочность модуля - это мера его внутренних связей. Чем выше прочность модуля, тем больше связей он может спрятать от внешней по отношению к нему части программы и, следовательно, тем больший вклад в упрощение программы он может внести.
-
сцепление с другими модулями;
Сцепление модуля - это мера его зависимости по данным от других модулей. Характеризуется способом передачи данных. Чем слабее сцепление модуля с другими модулями, тем сильнее его независимость от других модулей.
-
рутинность модуля (независимость от предыстории обращений к нему).
Рутинность модуля - это его независимость от предыстории обращений к нему. Модуль называется рутинным, если результат (эффект) обращения к нему зависит только от значений его параметров (и не зависит от предыстории обращений к нему). Модуль называется зависящим от предыстории, если результат (эффект) обращения к нему зависит от внутреннего состояния этого модуля, изменяемого в результате предыдущих обращений к нему.
Реализация – например модули в CMS-системах (например модуль магазин не связан с модулем новости, тем самым обеспечивая модульность системы).
-
Базовые принципы объектно-ориентированного программирования [16 с.203-248, 16 с.100, 152, 172].
Объе́ктно-ориенти́рованное, или объектное, программи́рование (в дальнейшем ООП) — парадигма программирования, в которой основными концепциями являются понятия объектов и классов. Объектно-ориентированное программирование основывается на трех основных концепциях: инкапсуляции, полиморфизме и наследовании.
Инкапсуляция (пакетирование) представляет собой механизм, связывающий вместе данные и код, обрабатывающий эти данные, и сохраняющий их от внешнего воздействия и ошибочного использования. Инкапсуляция позволяет создавать объект, являющийся логическим целым, включающим данные и код для работы с этими данными. Полиморфизм - принцип (подход), обеспечивающий возможность использования одного и того же кода для решения разных задач. Полиморфизм позволяет уменьшить сложность программы посредством использования одного и того же интерфейса для задания целого класса действий. Наследование представляет собой процесс, благодаря которому один объект может наследовать (приобретать) свойства от другого объекта. Объект, используя наследование, нуждается только в определении специфичных только для этого объекта свойств, отличающих его от других объектов этого класса. При построении объектно-ориентированной программы одним из основных является вопрос иерархии классов. Пусть имеется некоторая иерархия (структура, взаимосвязь) классов. В этом случае можно:
- определить объект для заданного класса;
- построить новый класс, наследуя его из существующего класса;
- изменить поведение нового класса (изменить существующие и добавить новые функции).
Построение нового класса, наследуя его из существующего, предполагает:
- добавление в новый класс новых компонент-данных;
- добавление в новый класс новых компонент-функций;
- замену в новом классе наследуемых из старого класса компонент-функций;
Таким образом, объектно-ориентированное программирование – метод построения программ в виде множества взаимодействующих объектов, структура и поведение которых описаны соответствующими классами. Все эти классы образуют иерархию классов, выражающую отношение наследования.
-
Библиотеки классов (типов) в программировании: назначение, преимущества, возможности [16 с.203-212, 17 с.172-183].
Библиотека классов представляет собой набор классов, упрощающих программирование. Библиотеки классов предназначены для хранения созданных классов.
Доступность важных и полезных библиотек классов обеспечивает максимальные преимущества повторного использования кодов посредством наследования. Создание и продажа библиотек классов становится такой же бы-строразвивающейся индустрией, как и производимое независимыми продавцами компактное программное обеспечение в эпоху появления первых персональных компьютеров. Разработчики приложений будут строить свои приложения с помощью этих библиотек, а разработчики библиотек будут вознаграждены тем, что их библиотеки широко используются в приложениях. Библиотеки, непрерывно пополняемые с помощью компиляторов C, имеют тенденцию становиться направленными на определенные сферы применения.
Ниже перечислены основные преимущества использования библиотек классов:
-
устраняются конфликты, связанные с совпадением имен стандартных и программных функций, а также переменных;
-
код и данные инкапсулируются в классах, и доступ к ним может быть ограничен;
-
обеспечивается наследование кода;
-
размер кода значительно сокращается.
Библиотека классов .NET Framework Class Library содержит классы, обеспечивающие следующие функции:
-
поддержку базовых и определяемых пользователями типов;
-
поддержку обработки исключительных ситуаций;
-
операции ввода/вывода и работу с потоками;
-
обращение к функциям операционной системы;
-
доступ к данным;
-
возможность создания Windows-приложений;
-
возможность создания клиентских и серверных Web-приложений;
-
возможность создания Web-сервисов.
-
Технологии обеспечения доступа программного приложения к различным источникам данных [17 с.246-270].
Формирование наборов данных с помощью адаптеров данных
Обмен данными между источниками и наборами данных (объекты DataSet в концепции ADO .NET) предполагает считывание данных из источника в набор и запись изменений, произведенных в наборе данных, в источник. Эти процессы осуществляются адаптером данных (объект DataAdapter в концепции ADO .NET). Адаптер данных обеспечивает обмен не только между набором данных и базой данных, но также между набором данных и другими источниками, такими, например, как Microsoft Exchange Server.
Один адаптер данных образует информационный канал для обмена между таблицей источника данных и объектом DataTable. Адаптеру данных должна быть задана конфигурация либо при его создании, либо на более поздних стадиях, но до его использования. В конфигурации указываются данные для обмена и содержатся ссылки на SQL-операторы (или хранимые процедуры), предназначенные для выполнения чтения/записи источника данных. Перечисленные операции представлены следующими свойствами адаптера:
-
SelectCommand – чтение данных из источника;
-
InsertCommand – добавление данных к источнику;
-
UpdateCommand – перезапись существующих данных;
-
DeleteCommand – удаление данных.
-
Визуальное программирование: назначение, принципы организации, достижения в развитии направления [16 с. 751-802].
Визуальное программирование — способ создания программы для ЭВМ путём манипулирования графическими объектами вместо написания её текста.
Необходимо различать:
-
графический язык программирования — который прежде всего язык программирования (со своим синтаксисом)
-
визуальные средства разработки — как правило, под ними подразумевают средства проектирования интерфейсов или какую либо CASE-систему для быстрой разработки приложений или SCADA-систему для программирования микроконтроллеров.
Языки визуального программирования могут быть дополнительно классифицированы в зависимости от типа и степени визуального выражения, на следующие типы:
-
языки на основе объектов, когда визуальная среда программирования предоставляет графические или символьные элементы, которыми можно манипулировать интерактивным образом в соответствии с некоторыми правилами;
-
языки, в интегрированной среде разработки которых на этапе проектирования интерфейса применяются формы, с возможностью настройкой их свойств. Примеры: Delphi и C++ Builder фирмы Borland, С#
-
языки схем, основанные на идее «фигур и линий», где фигуры (прямоугольники, овалы и т. п.) рассматриваются как субъекты и соединяются линиями (стрелками, дугами и др.), которые представляют собой отношения. Пример: UML.
Визуальное программирование, бесспорно, обладает достоинством наглядного представления информации и гораздо лучше соответствует природе человеческого восприятия, чем методы традиционного, текстового программирования. Однако практически все визуальные средства нуждаются в дополнении функциями, которые не могут быть представлены в виде графических конструкций и требуют текстового выражения. Концепция визуального программирования реализована во многих современных средах разработки программных систем. Все ведущие фирмы, создающие средства для программирования и конструирования имеют системы, поддерживающие технологию визуального программирования.
Основы визуального программирования
Визуализация – это процесс графического отображения сложных процессов или понятий на экране компьютера в виде графических примитивов. Визуализировать можно многие процессы: управления, построения, рисования и т.д.
Сегодня принято визуализировать интерфейсы программного обеспечения. Визуализация снимает проблемы "общения" пользователем с программным продуктом. Кроме элементов управления, как правило, в интерфейсе приложения присутствуют и другие стандартные компоненты, реализация которых также поддержана средствами визуального программирования, например, стандартные диалоговые окна.
Концепция .NET Framework и Visual Studio .NET предоставляют в распоряжение программистов огромную библиотеку объектов, ускоряющую процесс разработки приложений. Многие объекты в этой библиотеке имеют визуальное представление и дают возможность назначения свойств объекта в режиме конструирования с помощью окна Properties или диалогов с мастером-построителем.
-
Сетевое программирование: основные принципы, технологии, особенности реализации в современных языках программирования [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 определенных типов.
-
Организация и средства человеко-машинного интерфейса[16 с.803-858].
изучает, как люди используют
компьютерные системы, чтобы решить
поставленные задачи. HCI обеспечивает
нас знаниями о компьютере и человеке
для того, чтобы взаимодействие между
ними было более эффективным и более
удобным.
HCI включает в себя несколько
различных дисциплин. Это требуется для
того, чтобы разработчики программного
обеспечения понимали основы деятельности,
поведения и ментальной специфики
человека в соответствии с проектируемой
системой. Человеко-машинный интерфейс
обеспечивает связь между пользователем
и компьютером - он позволяет достигать
поставленных целей, успешно находить
решение поставленной задачи. Взаимодействие
- обмен действиями и реакциями на эти
действия между компьютером и пользователем.
Несколько лет назад основным видом
взаимодействия был текст (так называемые
терминальные или командные системы). В
настоящее время, взаимодействие может
также включать графику и иконки (знаки)
вместо текста, но для описания процесса
взаимодействия все равно еще используется
текст.