КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
Конспект лекций по курсу
Системный подход как метод сформировался в связи с изучением объектов и явлений как систем и базируется на ряде специфических принципов: системности, иерархичности познания, интеграции и формализации. Тема 6. Роль процессов в обеспечении качества.
Процессный подход Понятия «системный подход» и «процессный подход» Принцип системности означает, что метод связан с исследованием и проектированием объектов как систем и относится только к системам. Принцип иерархичности требует трехуровневого анализа объекта: собственно его самого, как подсистемы более широкой системы и, наконец, в соотношении с составляющими его подсистемами. Принцип интеграции подразумевает, что метод направлен на изучение интегративных свойств систем, принцип формализации – что метод нацелен на выявление количественных характеристик систем. Системы исследуются на макроскопическом и микроскопическом уровнях. На макроскопическом уровне оценивают общее поведение системы как единого целого без учета ее детальной структуры. Цель такого изучения – создание модели системы в ее взаимодействии с окружающей средой, выявление её интегративных свойств. На микроскопическом уровне детально исследуют структуру системы, свойства элементов, взаимосвязи между ними и т.д. Под системой понимают некое множество элементов, взаимосвязанных структурно и функционально. Основной смысл данного положения заключается в установлении качественной специфики того класса множеств, элементы которых образуют устойчивое единство и обеспечивают их целостное функционирование. Главные характеристики системы представлены на рис. 6.1. Рисунок 6.1 Схема системы
I. Структура S = {E, P, R}: а) элементы E={e1, e2,…, en}, n – число элементов; б) свойства P={P(ei)}; в) отношения R={(ei, ej)}; II. Входы {x}, выходы {y}; III. Функция {x} ® {y}. Структура системы характеризует её внутреннюю организацию и определяется рядом ее элементов Е, соответствующими свойствами элементов Р и связями элементов, устанавливаемыми как отношения между ними R. С системных позиций значение имеют лишь наиболее существенные связи, определяющие свойства системы и её функционирование. Связь между элементами рассматривают как физический канал, по которому происходит обмен между элементами веществом, энергией или информацией. Структура системы, таким образом, представляет собой множество S={E, P, R}. Для системы свойственно не только наличие связей и отношений между её элементами, но и неразрывное единство с окружающей средой, включающей все, что не входит в данную систему: атмосферу, биосферу (например, людей) и т.д. Каждая система может быть отделена от окружающей среды гипотетической оболочкой. Связи между системой и окружающей средой, пересекаемые оболочкой, разделяют на входы {x} и выходы {y}. Совокупность всех входов составляет обобщенный вход, представляемый в виде вектора. Некоторую способность системы к определенным действиям, т.е. её целенаправленное поведение, называют функцией системы. Функция системы состоит в преобразовании входов {x}в выходы {y}. Такое преобразование можно описать математическими уравнениями, физическим аналогом, словесно. Функционирование системы во многом определяется её структурой, причем одну и ту же функцию реализуют различные структуры. Всякая система, как уже отмечалось, представляет собой в то же самое время часть другой, более обширной системы, в свою очередь, отдельные ее части и подсистемы могут рассматриваться как самостоятельные системы. Одним из признаков систем, в отличие от множеств суммативного характера, является наличие интегративных качеств (свойств), т.е. таких качеств, которые присущи системе в целом и не свойственны ни одному из её элементов в отдельности. Таким образом, изучение каждой из частей системы в отдельности может оказаться недостаточным для познания всех ее свойств в целом. При исследовании систем необходимо учитывать, что в большинстве своем они обладают структурой и функцией динамических систем, т.е. таких систем, у которых структура, взаимосвязи и свойства элементов изменяются во времени с последующим изменением их функционального поведения. Системный анализ является технологией системного подхода. Его основа – построение моделей систем на базе широкого использования вычислительной техники. При этом применяют практически все математические методы исследования операций, «чёрного ящика», теории графов, теории информации и др. Для исследования сложных систем данные методы оказываются неэффективными. В этой связи широкое распространение получают, в частности, методы эвристического программирования и имитационного моделирования. Общая методика системного подхода включает обычно следующие этапы: 1. Определение функции системы: а) отделение системы от её окружения путем выбора оболочки (располагая ее как можно ближе к главным элементам системы); б) перечисление всех входов и выходов; в) описание функциональных соотношений между входами и выходами, дополненное изучением их изменений во времени. 2. Определение структуры системы: а) идентификация элементов системы; б) выявление взаимосвязей между элементами; в) установление свойств элементов. Системный подход к исследованию сложных объектов часто имеет форму представления их в виде блок-схем, карт системного описания, а также в виде математических моделей. Системный подход к менеджменту – выявление, понимание и менеджмент взаимосвязанных процессов как систем для содействия результативности и эффективности организации при достижении ее целей. Систему можно определить, как совокупности взаимосвязанных, зависящих друг от друга процессов, протекающих последовательно или параллельно, которые совместно составляют программу, проект, продукт или целую организацию. В соответствии с официальным определением, применение в организации системы процессов, наряду с их идентификацией и взаимодействием, а также менеджмент процессов могут считаться «процессным подходом». Ключевыми моментами при внедрении процессного подхода в организации являются: - определение и описание существующих бизнес-процессов и порядка их взаимодействия в общей сети процессов организации; - чёткое распределение ответственности руководителей за каждый сегмент всей сети бизнес-процессов организации; - определение показателей эффективности и методик их измерения (например, статистических); - разработка и утверждение регламентов, формализующих работу системы; - управление ресурсами и регламентами при обнаружении отклонений, несоответствий в процессе или продукте или изменений во внешней среде (в том числе изменение требований заказчика), на основе спирали улучшений (цикла Шухарта – Деминга) (рис. 6.2).
Рисунок 6.2. Спираль улучшений (Цикл Шухарта-Деминга): 1 – планирование; 2 – осуществление; 3 – проверка (изучение); 4 – действие Цикл Шухарта-Деминга (PDCA/PDSA) представляет собой повторяющуюся последовательность действий, направленных на постоянное совершенствование и внедрение инноваций: планирование-осуществление-проверка (изучение) - действие (табл. 6.1). Таблица 6.1 Описание достигаемых результатов при реализации цикла Шухарта - Деминга
Системный подход к менеджменту и процессный подход – два базовых принципа (четвертый и пятый) менеджмента качества из восьми, включающих также такие принципы, как «ориентация на потребителя», «лидерство руководителя», «вовлечение работников», «постоянное улучшение», «принятие решений на основе фактов», «взаимовыгодные отношения с поставщиками». Руководствуясь ими, сотрудники организации могут обеспечить её эффективное функционирование и повышение конкурентоспособности на внутреннем и внешнем рынках. «Объектно-ориентированное программирование»
Литература: 1. Б.Страуструп. Язык программирования C++, 3-е изд./Пер. с англ. – СПб.; М.: «Невский диалект» – «Издательство БИНОМ», 1999 г. – 991 с., ил. 2. А. Пол. Объектно-ориентированное программирование на C++, 2-е изд./Пер. с англ. – СПб.; М.: «Невский диалект» – «Издательство БИНОМ», 1999 г. – 462 с., ил. 3. C/C++. Программирование на языке высокого уровня/ Т.А. Павловская. – СПб.: Питер, 2001. – 464 с.: ил. 4. Г. Буч. Объектно-ориентированный анализ и проектирование с примерами приложений на C++, 2-е изд./Пер. с англ. – М.: «Издательство «Бином», СПб: «Невский диалект», 1998 г. – 560 с., ил. 5. Мейерс С. Эффективное использование C++. 50 рекомендаций по улучшению ваших программ и проектов: Пер. с англ. – М.: ДМК, 2000. – 240 с.: ил. (Серия «Для программистов»). 6. Гамма Э., Хелм Р., Джонсон Р., Влиссидес Дж. Приемы объектно-ориентированного проектирования. Паттерны проектирования. – СПб: Питер, 2001. – 368 с.: ил. (Серия «Библиотека программиста») 7. По UML.
1. Введение
1.1. История развития C++. (Язык C был спроектирован Деннисом Ритчи в начале 70-х для создания UNIX). Создатель C++ – Бьерн Страуструп (Bjarne Stroustrup), AT&T. 1980 г. «C с классами» 1998. Ратифицирован стандарт C++
1.2. Использование C++
На C++ написаны операционные системы (полностью или частично). Эффективность позволяет использовать C++ для написания драйверов и других программ, предназначенных для работы в реальном времени. Малый объем требуемой памяти. Связь с ассемблером. Как правило, ключевыми аспектами являются удобство сопровождения, расширяемость и простота тестирования. Эти свойства C++ привели к его широкому использованию в областях, где совершенно необходима надежность, а также там, где требования к программам значительно меняются со временем (банковское дело, торговля, страхование, телекоммуникации, военные приложения). На C++ решается множество численных, научных и инженерных задач. (Причина этого в том, что традиционные численные задачи должны совмещаться с графикой и вычислениями, связанными со структурами данных, которые не укладываются в традиционный Фортран.) Графика и пользовательские интерфейсы – области интенсивного использования C++. С++ возможно эффективно использовать в программах, предназначенных для широкого диапазона прикладных областей. (Так, приложение, включающее в себя доступ к локальной и глобальной сетям, численные расчеты, графику, интерактивное взаимодействие с пользователем и обращение к базе данных, может быть написано целиком на С++. Традиционно эти области считались раздельными и обслуживались с использованием разных языков программирования.) С++ может сосуществовать с фрагментами кода и программами, написанными на других языках. C++ широко используется для обучения и исследований (моделирующие программы), т.к. он: Реализация C++: Для PC, Windows: Microsoft Visual C++ 6.0, 7.0, Borland C++. Для UNIX-систем это – системный компилятор GNU v3.XX.
1.3. ООП
[Павловская] В окончательном виде любая программа представляет собой набор инструкций процессора. Все, что написано на любом языке программирования, – более удобная, упрощенная запись этого набора инструкций, облегчающая написание, отладку и последующую модификацию программы. Чем выше уровень языка, тем в более простой форме записываются одни и те же действия. Например, для реализации цикла на ассемблере нужно записать несколько инструкций, позаботившись о размещении переменных в регистрах, а в C или Паскале для этого достаточно одного оператора. С ростом объема программы становится невозможным удерживать в памяти все детали, и становится необходимым структурировать информацию, выделять главное и отбрасывать несущественное. Этот процесс называется повышением степени абстракции программы. Первым шагом к повышению абстракции является использование функций, позволяющее после написания и отладки функции отвлечься от деталей ее реализации, поскольку для вызова функции требуется знать только ее интерфейс. Следующий шаг – использование модулей. Модуль – это набор связанных процедур вместе с данными, которые они обрабатывают. При этом программа структурируется и информация группируется. Извне модуля информация видна в более естественном виде. Например, можно представлять в одном модуле все разнородные сведения, относящиеся к фигуре, вычерчиваемой на экране (положение, размер, ориентация (угол поворота), цвет). Для работы с этими данными требуются специальные функции (напрмер переместить, повернуть, сменить цвет, прочертить). Они помещаются вместе с данными в модуль. При этом для использования этих данных и функций не требуется полного знания того, как именно они написаны – необходимы только описания интерфейсов. Эти методы повышения абстракции преследуют цель упростить структуру программы, то есть представить ее в виде меньшего количества более крупных блоков и минимизировать связи между ними. Это позволяет управлять большим объемом информации и, следовательно, успешно отлаживать более сложные программы. Введение понятия класса является развитием идей модульности. В отличие от модуля, где описываются данные, в классе описыватся тип данных. Тот, кто использует модуль, работает с одной копией данных (одна фигура). Тот, кто использует класс, сам создает столько копий данных (фигур), сколько ему требуется. В классе описания структур данных и функции их обработки объединяются. Класс используется только через его интерфейс – детали реализации для пользователя класса несущественны. Идея классов отражает строение объектов реального мира – ведь каждый предмет обладает свойствами (данные) и поведением (функции). Программы часто предназначены для моделирования предметов, процессов и являений реального мира, поэтому в языке программирования удобно иметь адекватный инструмент для представления моделей. Даже если программа и не предназначена для моделирования объектов реального мира, все равно особенность человеческого мышления такова, что человеку удобно мыслить понятиями (объектами), а не действиями (функции). Поэтому ООП более приспособлено к особенности мышления человека, чем процедурное программирование. Класс является типом данных, определяемым пользователем. Тип задает внутреннее представление данных в памяти компьютера, множество значений, которое могут принимать величины этого типа, а также операции и функции, применяемые к этим величинам. Все это можно задать и в классе. Например, тип int определяет, что величина этого типа (int i) занимает 4 байта, принимает значения от -231 до 231-1 и ее можно складывать, вычитать, и т.д. Создаваемый тип данных (квадрат) определяет, что объект этого типа (конкретный квадрат) будет занимать столько байт, сколько необходимо для размещения отдельных данных (положение, размер, ориентация (угол поворота), цвет). Размещение и размер квадрата ограничены пределами экрана, угол поворота – от 0 до 90 градусов. Квадрат можно переместить, повернуть, сменить цвет, прочертить. Существенным свойством класса является то, что детали его реализации скрыты от пользователей класса за интерфейсом (ведь и в реальном мире можно, например, управлять автомобилем, не имея представления о принципе внутреннего сгорания и устройстве двигателя).
Объектно-ориентированное программирование (ООП) – основная методология программирования 90-х. Она берет начало в Simula 67 и продолжается в (ранних) Smalltalk, LISP, Clu и (более поздних) Actor, Eiffel, Objective C, Java и C++. [Буч]: ООП – это методология программирования, основанная на представлении программы в виде совокупности объектов, каждый из которых является экземпляром определенного класса, а классы образуют иерархию наследования. В данном определении можно выделить три высказывания: 1) ООП использует в качестве базовых элементов объекты, а не алгоритмы; 2) каждый объект является экземпляром какого-либо определенного класса; 3) классы организованы иерархически.
[Пол]: Концепции ООП - Моделирование действий из реального мира - Наличие типов данных, определяемых пользователем - Сокрытие деталей реализации - Возможность многократного использования кода благодаря наследованию - Интерпретация вызовов функций на этапе выполнения
[Буч]: (Инкапсуляция – маскировка всех внутренних деталей, не влияющих на внешнее поведение.) Инкапсуляция – это процесс отделения друг от друга элементов объекта, определяющих его устройство и поведение; инкапсуляция служит для того, чтобы изолировать контрактные обязательства абстракции от их реализации. Inheritance – наследование.
Дата добавления: 2014-01-11; Просмотров: 430; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |