- •Постановка задачи.
- •Моделирование.
- •Построение алгоритма.
- •Программирование.
- •Отладка и тестирование программы.
- •Анализ результатов. Уточнение модели.
- •1_4. Анализ алгоритмов
- •§2. Размещения с повторениями
- •§3. Размещения без повторений
- •§4. Сочетания
- •Оценка алгоритма сортировки
- •Грамматика языков программирования
- •1_7. Яп
- •1_11. Разработка объектно-ориентированного по
- •Поколения эвм
- •Архитектура процессора
- •Команды
- •Форматы команд
- •Понятие ассемблера
- •Система прерываний
- •Порты ввода/вывода
- •Устройства памяти эвм
- •Реляционная алгебра
- •Этапы разработки базы данных
- •Критерии оценки качества логической модели данных
- •Адекватность базы данных предметной области
- •Легкость разработки и сопровождения базы данных
- •Скорость операций обновления данных (вставка, обновление, удаление)
- •Скорость операций выборки данных
- •1Нф (Первая Нормальная Форма)
- •3Нф (Третья Нормальная Форма)
- •Типы параллелизма Параллелизм на уровне битов
- •Параллелизм на уровне инструкций
- •Стандарты mpi
- •Ключевые элементы
- •1.1 Основные понятия искусственного интеллекта.
- •1.2 История развития искусственного интеллекта
- •1.3 Задачи искусственного интеллекта
- •Направления исследований
- •Символьное моделирование мыслительных процессов
- •Работа с естественными языками
- •Накопление и использование знаний
- •Биологическое моделирование
- •Робототехника
- •Машинное творчество
- •Другие области исследований
- •1.4 Экспертные системы - направление исследований по искусственному интеллекту
- •2.6 Механизм логического вывода
- •2.7 Объяснение решений
- •23. Нейронные сети. Виды нейронных сетей. Алгоритмы обучения нейронных сетей. Применение нейронных сетей для задач распознавания образов.
- •24. Администрирование операционных систем Windows и Unix. Установка и настройка. Типовые задачи администрирования. Язык командного интерпретатора. Сетевые возможности Windows и Unix.
- •Установка и начальная настройка системы
- •Выбор режима установки
- •Выбор носителя дистрибутива системы
- •Командные языки и командные интерпретаторы
- •Базовые возможности семейства командных интерпретаторов
- •11. Протоколы прикладного уровня http, ftp, почтовые протоколы (smtp, pop3, imap-4), telnet .
- •Гипертекстовый документ
1_11. Разработка объектно-ориентированного по
Итеративная модель разработки (развитие водопадной модели)
Анализ – проектирование – кодирование - тестирование
Моделирование
Модель – абстракция физической системы, рассматриваемая с определенной точки зрения и представления на некотором языке или в графической форме.
Модель программной системы должна быть понятна заказчику и специалистам, участвующих в разработке (программистам, аналитикам).
Анализ и проектирование
Предметная область (domain) – часть реального мира, которая имеет существенное значение или непосредственное отношение к функционированию программы.
Объектно-ориентированный анализ – выделение в предметной области классов и объектов, формулирование требований к программной системе
Объектно-ориентированное проектирование – проектирование программы, основанное на объектно-ориентированной декомпозиции, определение интерфейсов классов, описание их взаимодействия.
Унифицированный язык моделирования UML
Для ОО анализа и проектирования используется язык визуального моделирования UML (Unified Modeling Language). Диаграммы и спецификации языка UML связали исходный текст программы с характеристиками объекта автоматизации. Существует возможность автоматической генерации исходного кода программы по диаграммам UML и обратное преобразование (рефакторинг).
История UML
Предки:
метод Грэди Буча (Booch 91);
метод Джеймса Румбаха (OMT);
метод Айвара Джекобсона (OOSE).
Rational Software, OMG (Object Management Group) выпускают в 1997 UML 1.0
2003 г. UML 1.5
Идет принятие стандарта UML 2.0
Идеология ООП с использованием UML
Модель – совокупность взаимосвязанных представлений (views), отражающих аспект поведения или структуры системы.
Уровень представления – способ рассмотрения модели на одном уровне абстракции.
ООАП – последовательный переход от наиболее общего концептуального уровня представления модели к детальным представлениям логического и физического уровня.
Диаграммы UML
Диаграмма - графическое представление элементов модели в форме графа, вершинам и ребрам которого приписывается определенная семантика.
Диаграммы
концептуальный уровень
вариантов использования (прецедентов) – use case
статический логический уровень
классов – class
динамический логический уровень
кооперации – collaboration; последовательности – sequence
моделирование поведения системы
состояний – statechart; деятельности – activity
физический уровень
компонентов –component
развертывания - deployment
Варианты использования (прецеденты)
На этапе анализа для создания концептуальной модели изучаются варианты использования (use case) или прецеденты.
Диаграмма прецедентов содержит две основных сущности – действующие субъекты (актеры) и собственно прецеденты.
Актер – некоторая роль, которую играет пользователь (внешняя сущность) по отношению к системе.
Вариант использования – специальная задача, обычно инициируемая актером, описывающая некоторую цель. Вариант использования состоит из набора сценариев, описывающих способы достижения цели.
Использование диаграммы прецедентов для спецификации требований
Требование – желательное свойство, характеристика системы.
Требования: функциональные, надежность, производительность, удобство (usability).
Диаграммы прецедентов определяют функциональные требования. Они могут быть дополнены текстовыми сценариями.
Диаграммы классов
После того, как определены все актеры и прецеденты, процесс разработки переходит в фазу выделения объектов и классов. Классы соответствуют сущностям, определенным в описании прецедентов. Методы соответствуют действиям актеров. Классы и их взаимосвязь изображаются на диаграмме классов.
Класс изображается прямоугольником, содержащим имя класса, имена атрибутов и методов.
Объе́ктно-ориенти́рованное проектирование (ООП) — это часть объектно-ориентированной методологии, которая предоставляет возможность программистам оперировать понятием «объект», нежели понятием «процедура» при разработке своего кода. Объекты содержат инкапсулированные данные и процедуры, сгруппированные вместе, отображая т.о. сущность объекта. «Интерфейс объекта», описывает взаимодействие с объектом, то, как он определен. Программа, полученная при реализации объектно-ориентированного исходного кода, описывает взаимодействие этих объектов.
UML (сокр. от англ. Unified Modeling Language — унифицированный язык моделирования) — язык графического описания для объектного моделирования в области разработки программного обеспечения. UML является языком широкого профиля, это открытый стандарт, использующий графические обозначения для создания абстрактной модели системы, называемой UML моделью. UML был создан для определения, визуализации, проектирования и документирования в основном программных систем.
Использование UML не ограничивается моделированием программного обеспечения. Его также используют для моделирования бизнес-процессов, системного проектирования и отображения организационных структур.
UML позволяет разработчикам ПО достигнуть соглашения в графических обозначениях для представления общих понятий (таких как класс, компонент, обобщение (generalization), объединение (aggregation) и поведение) и больше сконцентрироваться на проектировании и архитектуре.
Структурные диаграммы:
Классов - статическая структурная диаграмма, описывающая структуру системы, она демонстрирует классы системы, их атрибуты, методы и зависимости между классами.
Компонентов - статическая структурная диаграмма, показывает разбиение программной системы на структурные компоненты и связи (зависимости) между компонентами. В качестве физических компонент могут выступать файлы, библиотеки, модули, исполняемые файлы, пакеты и т. п.
Композитной/составной структуры — статическая структурная диаграмма, демонстрирует внутреннюю структуру классов и, по возможности, взаимодействие элементов (частей) внутренней структуры класса.
Подвидом диаграмм композитной структуры являются диаграммы кооперации (Collaboration diagram, введены в UML 2.0), которые показывают роли и взаимодействие классов в рамках кооперации. Кооперации удобны при моделировании шаблонов проектирования. Диаграммы композитной структуры могут использоваться совместно с диаграммами классов.
Развёртывания — служит для моделирования работающих узлов (аппаратных средств, англ. node) и артефактов, развёрнутых на них. В UML 2 на узлах разворачиваются артефакты (англ. artifact), в то время как в UML 1 на узлах разворачивались компоненты. Между артефактом и логическим элементом (компонентом), который он реализует, устанавливается зависимость манифестации.
Объектов — демонстрирует полный или частичный снимок моделируемой системы в заданный момент времени. На диаграмме объектов отображаются экземпляры классов (объекты) системы с указанием текущих значений их атрибутов и связей между объектами.
Пакетов — структурная диаграмма, основным содержанием которой являются пакеты и отношения
между ними. Жёсткого разделения между разными структурными диаграммами не проводится, поэтому данное название предлагается исключительно для удобства и не имеет семантического значения (пакеты и диаграммы пакетов могут присутствовать на других структурных диаграммах). Диаграммы пакетов служат, в первую очередь, для организации элементов в группы по какому-либо признаку с целью упрощения структуры и организации работы с моделью системы.
Диаграммы поведения:
Деятельности — диаграмма, на которой показано разложение некоторой деятельности на её составные части. Под деятельностью (англ. activity) понимается спецификация исполняемого поведения в виде координированного последовательного и параллельного выполнения подчинённых элементов — вложенных видов деятельности и отдельных действий (англ. action), соединённых между собой потоками, которые идут от выходов одного узла ко входам другого.
Диаграммы деятельности используются при моделировании бизнес-процессов, технологических процессов, последовательных и параллельных вычислений.
Аналогом диаграмм деятельности являются схемы алгоритмов по ГОСТ 19.701-90.
Состояний — диаграмма, на которой представлен конечный автомат с простыми состояниями, переходами и композитными состояниями.
Конечный автомат (англ. State machine) — спецификация последовательности состояний, через которые проходит объект или взаимодействие в ответ на события своей жизни, а также ответные действия объекта на эти события. Конечный автомат прикреплён к исходному элементу (классу, кооперации или методу) и служит для определения поведения его экземпляров.
Вариантов использования — диаграмма, на которой отражены отношения, существующие между актерами и прецедентами. Основная задача - представлять собой единое средство, дающее возможность заказчику, конечному пользователю и разработчику совместно обсуждать функциональность и поведение системы.
Диаграммы взаимодействия:
Коммуникации (UML2.0) / Кооперации (UML1.x) - спецификация множества объектов, совместно взаимодействующих с целью реализации отдельных вариантов использования в общем контексте моделируемой системы.
На диаграмме кооперации изображаются необходимые объекты (экземпляры классов), статические связи между ними и динамические связи – потоки сообщений в форме стрелок с указанием направления, имени сообщения и порядкового номера в реализации варианта использования.
Обзора взаимодействия (UML2.0)
Последовательности - Описывают взаимодействие объектов во времени. Объекты – прямоугольники, вертикальные линии – линии жизни. прямоугольники – периоды активности объектов (фокус управления)
Сообщения – горизонтальные стрелки
Синхронизации (UML2.0)
Преимущества UML
UML объектно-ориентированный, в результате чего методы описания результатов анализа и проектирования семантически близки к методам программированияна современныхОО-языках;
UML позволяет описать систему практически со всех возможных точек зрения и разные аспекты поведения системы;
Диаграммы UML сравнительно просты для чтения после достаточно быстрого ознакомления с его синтаксисом;
UML расширяет и позволяет вводить собственные текстовые и графические стереотипы, что способствует его применению не только в сфере программной инженерии;
UML получил широкое распространение и динамично развивается.
Этапы моделирования: постановка цели моделирования, анализ моделирования объекта и выделение всех его известных свойств, анализ его выделенных свойств с точки зрения цели моделирования и определение, какие из них следует считать существенными, выбор формы представления модели, формализация, анализ полученной модели на непротиворечивость, анализ адекватности полученной модели объекты и цели моделирования .
1_12. Архитектура ЭВМ - это общее описание структуры и функций ЭВМ на уровне, достаточном для понимания принципов работы и системы команд ЭВМ, не включающее деталей технического и физического устройства компьютера.
К архитектуре относятся следующие принципы построения ЭВМ:
1. структура памяти ЭВМ;
2. способы доступа к памяти и внешним устройствам;
3. возможность изменения конфигурации;
4. система команд;
5. форматы данных;
6. организация интерфейса.