- •Ит (Гутгарц р.Д.)
- •1__Признаки группировки информации в компьютере
- •2__Программное обеспечение: понятие, структура системного и прикладного по.
- •3__Характеристики оценки прикладных программ: стандартные, технические, технологические, инструментальные, взаимодействие с другими пакетами, функциональные.
- •4__Практические рекомендации по оценке программных продуктов
- •5__Понятие информация (определение, формулы измерения информации)
- •Синтаксическая мера информации
- •Семантическая мера информация
- •Прагматическая мера информации
- •6__Информационный процесс. Его стадии и особенности
- •7__Качества или свойства информации
- •8__ Понятия данных и знаний. Взаимосвязь информации, данных и знаний (пример)
- •9__Видеоконференция. Особенности работы и области применения
- •10__Телеработа. Понятие. Преимущества для работника и работодателя. Особенности применения
- •11__Дистанционное обучение и мультимедиа системы. Особенности и направления использования
- •12__Интернет – тестирование. Плюсы и минусы. Область применения
- •13__Трудоустройство в Интернет. Структура Интернет – услуг по трудоустройству
- •По системологии(Гутгарц р.Д. )
- •14__Принципы системного подхода.
- •15__Неформализуемые этапы системного анализа.
- •16__ Формулирование и классификация проблем
- •17__ Выявление целей и формирование критериев
- •18__ Генерирование альтернатив: источники альтернатив, способы увеличения и сокращения числа альтернатив
- •19__Способы генерирования альтернатив
- •20__Методы анализа систем управления: проведение интервью (структура, советы по применению), анкетирование, обзор документов, наблюдение
- •4.1 Интервьюирование
- •4.2 Анкетирование
- •4.3. Обзор документов
- •4.4 Наблюдение
- •Информационные сети (Бахвалов с.В.)
- •21__Понятия о функциональной, структурной организации и архитектуре вм; основные характеристики вм, методы оценки
- •22__Классификация вычислительных систем (вс) по способу организации обработки. Многопроцессорные и многомашинные комплексы.
- •23__Особенности архитектуры локальных сетей ( стандарты ieee 802).
- •24__Сеть Internet, доменная организация, семейство протоколов tcp/ip. Информационно-вычислительные сети и распределенная обработка информации.
- •По Операционным системам (Скрипкин с.К. )
- •25.__Обзор современных операционных систем и операционных оболочек
- •1. Семейство Microsoft Windows.
- •4. Семейство unix
- •26.__Машинно-зависимые свойства операционных систем
- •27.__Машинно-независимые свойства операционных систем
- •28__Динамические, последовательные и параллельные структуры программ;
- •29__Способы построения операционных систем
- •По Мультимедиатехнологии (Скрипкин с.К. )
- •30__Классификации и области применения мультимедиа
- •3.1. Различные области применения мультимедиа
- •31__Звуковые файлы: музыка, речь и звуковые эффекты.
- •32__Графика (растровая, векторная, трехмерная, фрактальная и др.) и анимация
- •Растровая и векторная графика
- •33__Линейный, нелинейный и смешанный монтаж для видео.
- •34__Виртуальная и расширенная реальности.
- •Моделирование систем (Петров а.В.)
- •35__Модели и моделирование
- •36__Математическое моделирование
- •37__Имитационное моделирование
- •38__Динамическое моделирование по Дж. Форрестеру
- •39__Индивидуальное имитационное моделирование объектов
- •Надёжность, эргономика и качество асоиу, Управление проектами Засядко а.А.)
- •40__Показатели надёжности
- •41__Факторы надёжности информационных систем
- •42__Принципы управления проектами
- •43__Методология управления проектами
- •44__Автоматизация управления проектами
- •Интеллектуальные информационные системы (Массель л.В.)
- •45__Основные понятия и принципы организации хранилищ данных.
- •Data Mart (Витрины данных)
- •46__Классификация искусственных нейронных сетей. Самоорганизующиеся карты Кохонена.
- •Многослойные нейронные сети прямого распространения. Базовая архитектура.
- •47__Модель искусственного нейрона. Активационная функция.
- •49__Нечеткие множества.
- •50__Онтологии. Основные понятия и типы онтологий.
- •Представление знаний. (Массель л.В.)
- •51__Классификациям моделей представления знаний.
- •52__Архитектура экспертной системы. Типы экспертных систем.
- •53__Классификация методов извлечения знаний.
- •54__Инструментальные средства и стадии разработки эс.
- •55__Отличие данных от знаний. Формы данных и знаний.
- •Проектирование информационных систем.( Массель л.В.)
- •56__Определение и классификация информационных систем
- •57__Структурный подход к проектированию информационных систем.
- •58__Объектный подход к проектированию информационных систем.
- •59__Rad-технология разработки информационных систем.
- •60__Каскадный и спиральный жизненные циклы разработки информационных систем.
- •61__Виды обеспечения и этапы разработки автоматизированных информационных систем
- •Основы сппр(Массель л.В.)
- •62__Определение, типы и классы сппр. 63__Состав и структура сппр.
- •64__Сппр. Критерии принятия решений и их шкалы.
- •65__Сппр. Основные составляющие задачи принятия решения.
- •66__Сппр. Генерация решений: формирование когнитивной карты.
- •Психологические основы проектирования интерфейсов.( Массель л.В.)
- •67__Принципы проектирования и критерии эффективности интерфейсов.
- •Окна диалогов с закладками
- •68__Организация пространства при компоновке интерфейса. Организация пространства
- •Расположение большого числа элементов
- •Перегруженность элементами управления
- •Расположение информации на экране
- •69__Элементы дизайна при проектировании интерфейса: шрифты, эффекты, цвета.
- •Эффекты
- •Выравнивание текста
- •Рекомендуются следующие правила использования цвета:
- •Способы уменьшения видимости задержки:
- •Рекомендуются следующие правила использования цвета:
- •Управление данными (Трипутина в.В.)
- •72__Классификация моделей данных
- •73__Понятие базы данных. Основные характеристики баз данных
- •74__Методика проектирования баз данных. Этапы проектирования баз данных
- •75__Реляционная модель данных. Основные понятия
- •76__Нормальные формы отношений
- •77__Модели доступа к данных в архитектуре «клиент-сервер»
- •78__Понятие транзакций. Свойства, обработка, блокировки транзакций
- •79__Субд. Понятие, основные функции, требования к серверу баз данных
- •Анализ бизнес-процессов (Гонегер п.А.)
- •80_Процессный и функциональный подходы в управлении. Организация управления в соответствии с госТами исо 9000-2001 и исо 9001-2001.
- •81_Основные понятия процессного подхода. Виды бизнес-процессов. Схема управления бизнес-процессом. Цели описания бизнес-процессов. Информация, необходимая при описании бизнес-процессов.
- •82_Характеристика методов улучшения бизнес-процессов.
- •83_Требования к организационной структуре. Характеристика основных организационных структур. Связь процессов и структуры.
- •84_Характеристика методологий, используемых для описания бизнес-процессов.
- •Основы теории управления (Ружников г.М.)
- •85__Передаточные функции последовательного и параллельного соединения звеньев.
- •86__Передаточная функция замкнутой системы.
- •87__Устойчивость линейных систем (вывод).
- •88__Критерий устойчивости Михайлова (вывод - случай вещественных корней).
- •89__Частотная передаточная функция и частотные характеристики (определения, формы записи, графики).
58__Объектный подход к проектированию информационных систем.
Методы проектирования программных систем. Разграничим понятия «метод» и «методология». Метод - это последовательный процесс создания моделей, которые описывают вполне определенными средствами различные стороны разрабатываемой программной системы.
Методология - это совокупность методов, применяемых в жизненном цикле разработки программного обеспечения и объединенных одним общим философским подходом.
Методы появились как ответ на растущую сложность программных систем. Для первых ЭВМ создавались простые программы. В 60-70-е годы эффективность применения компьютеров резко возросла, цены на них стали падать, а возможности ЭВМ увеличились. Сложность ПО возросла, поэтому в 60-70-е годы было разработано много методов, помогающих справиться с растущей сложностью программ.
Методы разбивают на три группы:
метод структурного проектирования сверху вниз (оказалось, что структурный подход не работает, если объем программы превышает приблизительно 100000 строк);.
метод потоков данных (DFD) (структура программной системы строится как преобразование входных потоков в выходные);
объектно-ориентированное проектирование (OOD).
В основе OOD лежит представление о том, что программную систему необходимо проектировать как совокупность взаимодействующих друг с другом объектов, рассматривая каждый объект как экземпляр определенного класса, причем классы образуют иерархию.
ООD – это метод, логически приводящий нас к объектно-ориентированной декомпозиции. Применяя ООD, мы создаем открытые для изменений программы, построенные из ограниченного числа универсальных блоков (компонентов)
Модели объектно-ориентированного проектирования. Важность построения моделей при проектировании сложных систем диктует необходимость наличия нескольких типов моделей (рис.3).
Несмотря на различия в моделях, методы проектирования моделей имеют что-то общее. Их, в частности, объединяет следующее:
условные обозначения - язык для описания каждой модели;
процесс - правила проектирования модели;
инструменты - средства, которые ускоряют процесс создания моделей, определяют законы их функционирования и помогают выявлять ошибки в процессе разработки.
Рис. 3. Модели объектно-ориентированного проектирования.
Объектно-ориентированное проектирование - это методология проектирования, соединяющая в себе процесс объектной декомпозиции и приемы представления как логической и физической, так и статической и динамической моделей проектируемой системы.
Объектно-ориентированный анализ направлен на создание моделей, более близких к реальности, с использованием объектно-ориентированного подхода. Это методология, при которой требования к системе формируются на основе понятий классов и объектов, выявленных в предметной области (составляющих словарь предметной области).
Основные предпосылки создания объектно-ориентированного подхода:
прогресс в области архитектуры ЭВМ (включая системную и аппаратную часть);
развитие языков программирования, таких как Simula, Smalltalk, CLU, Ada;
развитие методологии программирования, включая принципы модульности и защиты информации (сокрытия данных)"
Три момента, оказавшие влияние на становление объектного подхода:
развитие теории баз данных (ER-модели);
исследования в области искусственного интеллекта (теория фреймов);
достижения философии и теории познания (греки – мир можно рассматривать как в терминах объектов, так и событий; Декарт _люди имеют объектный взгляд на мир; Клир – редукционизм и холизм).
Компоненты объектного подхода
Способ программирования определяется стилем программирования, включающим принципы программирования и языки программирования. Пять основных разновидностей стилей программирования:
С Т И Л Ь |
ВИД АБСТРАКЦИИ |
Процедурно-ориентированный |
Алгоритмы |
Объектно-ориентированный |
Классы и объекты |
Логико-ориентированный |
Цели (наиболее часто выраженные в терминах исчисления предикатов) |
Ориентированный на правила |
Правила "если…- то…" |
Ориентированный на ограничения |
Инвариантные соотношения |
Основные элементы объектно-ориентированного стиля. Каждый стиль программирования имеет свою концептуальную основу. Для объектно-ориентированного стиля концептуальная основа состоит в объектном подходе.
Ему соответствуют четыре главных элемента (без любого из них подход не будет ОО) |
и три дополнительных элемента:
|
|
|
1. Абстрагирование – позволяет сосредоточить внимание на существенных характеристиках объекта с точки зрения наблюдателя (пример кошка для домохозяйки и ветеринара)
Абстракция – это такие существенные характеристики некоторого объекта, отличающие его от всех других видов объектов и, таким образом, четко определяет его концептуальные границы с точки зрения дальнейшего рассмотрения и анализа.
Абстракция должна охватить лишь самую суть объекта, не больше, но и не меньше – «принцип наименьшей выразительности»
Выделяют следующие обстракции:
• Абстракция сущности объекта |
Объект представляет собой модель некой сущности (описание существенных сторон) предметной области |
• Абстракция поведения |
Объект состоит из обобщенного множества операций, каждая из которых выполняет полезную функцию |
•Абстракция в виде виртуальной машины |
Объект объединяет группы операции, которые либо используются для управления объектом (на более высоком уровне управления), либо сами используют некоторый набор операций более низкого уровня |
• Произвольная абстракция |
Объект включает в себя набор независимых по отношению друг к другу операций |
Наиболее интересны абстракции сущностей объектов, так как они соответствуют словарю предметной области.
Объект, использующий ресурсы другого объекта называется клиентом.
Полный набор операций, которые клиент может осуществлять над другим объектом, называется протоколом. Протокол отражает все возможные действия, которыми объект может подвергаться сам и которыми может оказывать влияние на другие объекты.
Понятия операция (Ada), метод (Smalltalk) и функция-элемент (C++ )- фактически обозначают одно и то же и используются как эквивалент.
Все абстракции обладают как статическими, так и динамическими свойствами.
Пример: Объект – файл. Статические свойства : объем требуемой памяти, имя, содержание. Динамические свойства: файл может изменять размеры, имя, содержание.
Пример. В Object Pascal есть абстракции: переменные объектов, методы объектов; нет: переменных классов, методов классов. Отсутствуют также метаклассы и множественное наследование – эти механизмы исключены, чтобы сделать язык простым для изучения программистам начинающим изучать О.О. методологию. Поэтому Object Pascal иногда называют «обглоданным» О.О. языком
Уже насчитывается около 2000 языков программирования, более 100 – объектных (имеющих механизмы реализации абстрактных данных и классов, например, Ada) и объектно-ориентированных языков (в которых реализован механизм наследования как средство отражения иерархии классов, например, Smalltalk, Object Pascal (в нем есть простое наследование), C++, Clos).
2. Ограничение доступа – это процесс защиты отдельных элементов объекта, не затрагивающий существенных характеристик объекта как целого, иначе говоря, выбранный способ реализации абстракций должен быть скрыт для большинства объектов-пользователей, обращающихся к данной абстракции.
Практически это означает наличие двух частей в описании класса: интерфейса и реализации. Интерфейс – отображает внешнее проявление объекта, создавая абстракцию поведения всех объектов данного класса. Внутренняя реализация – описывает механизмы достижения желаемого поведения объекта.
Пример: В Object Pascal формально нет ограничений доступа, тем не менее все поля являются обособленными, а доступ к ним осуществляется через методы класса.
3. Модульность – является элементом конструкции и позволяет осуществлять на её основе проектные решения. В таких языках ( например, Object Pascal, C++, Ada, CLOS, LISP) классы и объекты составляют логическую структуру системы, эти абстракции организуются в модули, образуя физическую структуру системы (особенно когда система состоит из сотен классов).
Иначе говоря, «модульность – это разделение программы на раздельно компилируемые фрагменты (модули) , имеющие между собой средства сообщения».
Модули выполняют роль физических контейнеров, в которые помещаются определения классов и объектов при логическом проектировании систем. Следует стремиться построить модели так, чтобы объединить логически связанные абстракции и минимизировать взаимные связи между модулями
Определение: Модульность - это свойство системы, связанное с возможностью декомпозиции ее на ряд тесно связанных модулей.
Пример: обратиться к рис. 3 на стр. 5. Выявление классов и объектов - логическое проектирование, деление на модули – физическое проектирование
4. Иерархия – это ранжированная или упорядоченная последовательность.
Пример иерархии: наследование - такое отношение между классами (отношение родитель/потомок), когда один класс заимствует структурную или функциональную часть одного или нескольких других классов (соответственно, простое или множественное наследование).
Дополнительные элементы объектно-ориентированного стиля.
1. Типизация. Концепция типизации строится на понятии типов абстрактных данных.
«Тип – это точное определение свойств строения или поведения, которое присуще некоторой совокупности объектов». «Тип» и «Класс» - эквивалентные понятия
Определение: Типизация – это ограничение, накладываемое на класс объектов и препятствующее взаимозамене различных классов (или сужающее возможности такой взаимозамены).
2. Параллелизм. Реальная параллельность достигается только на многопроцессорных системах (системы с одним процессором имитируют параллельность за счет алгоритмов разделения времени). В то время, как объектно-ориентированное программирование основано на абстракции данных, ограничении доступа и наследовании, параллелизм связан с абстрагированием и синхронизацией процессов.
Объект является основой, которая объединяет обе концепции: каждый объект (как абстракция реальности) может представлять собой отдельный канал управления (абстракцию процесса). Такой объект называется активным.
Определение: Параллелизм - это свойство объектов находиться в активном, либо пассивном состоянии.
3. Устойчивость – это свойство объекта существовать во времени (вне зависимости от процесса, породившего данный объект) и (или) в пространстве (перемещение объекта из адресного пространства, в котором он был создан {для многопроцессорных систем})
Основные принципы объектно-ориентированного подхода. Мы рассмотрели элементы объектно-ориентированного стиля. Выделяют также основные принципы объектно-ориентированного подхода, связанные с вышеперечисленными элементами: инкапсуляция, наследование и полиморфизм.
Инкапсуляция – объединение в данном элементе и данных, и способов их обработки. Можно определить данные, входящие в классы, и действия, которые могут выполняться над этими данными, как некоторую структуру–объект в системе, работающей согласно набору правил.
Наследование – сохранение, перенос атрибутов данных и выполняемых над ними операций от объекта к объекту. С помощью этого принципа строятся различные иерархии классов (простое наследование), а также смешанные классы (множественное наследование), когда некоторый новый класс одновременно наследует атрибуты и выполняемые над ними операции от нескольких базовых классов. При этом имеется возможность модифицировать «поведение» объектов.
Полиморфизм означает возможность единообразного обращения к объектам в тексте программы при сохранении уникальности их поведения. Этот принцип позволяет определять целый ряд объектов на основе одного базового класса и обращаться к ним единообразно при сохранении специфического поведения каждого из них. Так, операция сравнения различных объектов возможна только тогда, когда базовый класс определяет метод сравнения.
Преимущества объектного подхода. Объектный подход позволяет создавать системы, которые воплощают пять атрибутов (свойств) сложных (хорошо структурированных) систем (иерархия, разделение на подсистемы, внутренние и внешние связи, низший уровень абстракции, развитие от простого к сложному). Еще пять преимуществ:
Объектный подход позволяет в полной мере использовать выразительные возможности объектных и объектно-ориентированных языков программирования (их преимущества не всегда очевидны)
Использование объектного подхода существенно повышает качество разработки в целом и её фрагментов.
Использование объектного подхода приводит к построению систем на основе стабильных промежуточных описаний, что упрощает процесс внесения изменений и позволяет избегать полной переработки системы в случае существенных изменений исходных требований.
Объектный подход уменьшает риск разработки сложных систем потому что:
а) процесс интеграции растягивается во времени жизненного цикла системы;
б) объектный подход включает ряд хорошо продуманных этапов проектирования (что также уменьшает степень риска и повышает степень уверенности в правильности принимаемых решений).
Объектный подход ориентирован на человеческое восприятие мира (для многих людей является естественным ООП к системам)
Общие выводы по теме «Объектный подход»
1. Развитие программной технологии привело к созданию методов О.О. Анализа, Проектирования и Программирования, которые направлены на решение задачи программирования больших систем.
2. Существует ряд приемов (стилей) программирования: процедурно-ориентированный, объектно-ориентированный, логически-ориентированный, ориентированный на правила и ориентированный на ограничения.
3. Объектный подход образует концептуальную основу для объектно-ориентированной методологии; он включает принципы абстрагирования, ограничения доступа, модульности, иерархии, типизации, параллелизма и устойчивости.
4. Абстрагирование означает выделения таких существенных характеристик объекта, которые отличают его от всех других объектов и, таким образом, четко определяют особенности данного объекта с точки зрения дальнейшего его рассмотрения.
5. Ограничение доступа – процесс защиты отдельных элементов объекта, не затрагивающий существенных характеристик объекта как целого.
6. Модульность – свойство системы, связанное с возможностью ее декомпозиции на ряд тесно связанных модулей.
7. Иерархия – ранжированная или упорядоченная система абстракций.
8. Типизация – ограничение, предъявленное классу объектов, препятствующее взаимозамене различных классов и в большинстве случаев сильно сужающее возможность такой взаимозамены.
9. Параллелизм – свойство, отличающее активные объекты от неактивных.
10. Устойчивость – свойство объектов существовать во времени и (или) пространстве.
11. Применение объектного подхода позволяет создавать системы, обладающие пятью атрибутами хорошо структурированных систем (иерархия, разделение на подсистемы, наличие внутренних и внешних связей, низший уровень абстракции, развитие от простого к сложному).
