Студопедия

Главная страница Случайная страница

КАТЕГОРИИ:

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Программный документооборот. Виды документов. Состав. Правила построения






Докуме́ нт (от лат. documentum — «образец, свидетельство, доказательство») — материальный объект, содержащий информацию в зафиксированном виде и специально предназначенный для её передачи во времени и пространстве.

Классификация документов

Документы различают:

· По назначению:

· организационные документы (Устав, Должностная инструкция, Положение, Штатное расписание, Структура и штатная численность);

· распорядительные документы (Приказ, Выписка из приказа, Распоряжение, Указание, Постановление, Решение);

· информационно-справочные документы (Акт, Протокол, Докладная записка, Объяснительная записка, Служебная записка, Письмо, Справка);

· учётно-расчетные (бухгалтерские) документы (Платёжное поручение, Счёт-фактура, Накладная, Акт и т. п.);

· нормативные документы с позиции правовых норм регламентируют общие принципы, правила или характеристики. Охватывают такие понятия, как Стандарты, Нормы, Правила, Своды правил, Регламенты и другие подобные документы;

· и др.

· По времени создания — первичные и вторичные (реферат, аннотация, обзор и т. д.);

· По способу изготовления — черновой, беловой, электронный, изобразительный, рукописный документ, машинописный, печатный (брошюра, книга, журнал);

· По типу содержания — текстовые, иконические (графические), идеографические (схемы, карты, ноты), аудиальные, мультимедийные;

· По способу представления — электронный, на бумажных носителях;

· По месту издания — внутренние, внешние;

· По направлению отправки — входящие, исходящие;

· По распространению — опубликованные, неопубликованные, непубликуемые, промежуточные;

· По необходимости технических средств — человекочитаемые, машиночитаемые;

· По уровню секретности — несекретные, секретные, с разным уровнем секретности, конфиденциальные и т. д.

 

Объектно-ориентированный подход к программированию. Особенности. Термины и понятия. Стиль программирования. Виртуальные правила программирования. Векторное свойство. Поля и записи. Процедурный тип

При объектно-ориентированном подходе программа представляет собой описание объектов, их свойств (или атрибутов), совокупностей (или классов), отношений между ними, способов их взаимодействия и операций над объектами (или методов).

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

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

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

Использование ранее разработанных (возможно, другими коллективами программистов) библиотек объектов и методов позволяет значительно сэкономить трудозатраты при производстве программного обеспечения, в особенности, типичного.

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

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

Наиболее известным примером объектно-ориентированного языка программирования является язык C++, развившийся из императивного языка С. Его прямым потомком и логическим продолжением является язык С#, который изучается в данном курсе. Другие примеры объектно-ориентированных языков программирования: Visual Basic, Java, Eiffel, Oberon.

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

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

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

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

Рассмотрим более подробно такой фундаментальный принцип объектно-ориентированного подхода к программированию как абстракция.

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

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

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

Как мы уже отмечали, концепция абстракции в объектно-ориентированном программировании адекватно моделируется посредством ламбда-исчисления. Точнее говоря, операция абстракции в полной мере является моделью одноименного понятия ООП.

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

Запись – это структурированный тип данных, состоящий из определенного числа компонентов, называемых полями записи.

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

 

В программировании часто встречается ситуация, когда в алгоритме используется результат вычисления некоторой функции, но сам алгоритм не зависит от того, какая именно функция вычисляется. В языке Turbo Pascal можно описать и использовать так называемый процедурный тип данных. Описание процедурного типа состоит из словаprocedure или function, за которым в круглых скобках записывается список формальных параметров. Для функции после списка формальных параметров через двоеточие указывается тип функции. После того, как определен процедурный тип, можно описать переменные процедурного типа. Переменным процедурного типа можно присваивать значения конкретных процедур и функций. Естественно, что процедурная переменная и та процедура, которая присваивается ей в качестве значения, должны иметь одинаковое число формальных параметров, совпадающих по типам. Если переменная имеет тип функции, то для функций кроме формальных параметров должны совпадать типы функций.


Поделиться с друзьями:

mylektsii.su - Мои Лекции - 2015-2024 год. (0.005 сек.)Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав Пожаловаться на материал