- •Министерство образования республики беларусь
- •Белорусский государственный университет
- •Факультет прикладной математики и информатики
- •Кафедра технологий программирования
- •Жизненный цикл проекта
- •Характеристики фаз проекта
- •Описание основных фаз проекта:
- •Инициация проекта
- •Современные процессы разработки программного обеспечения.
- •Выбор методологии
- •Характеристики жизненного цикла проекта
- •Жесткие методологии Модель водопада
- •Итеративная разработка
- •Спиральная модель
- •Гибкие методологии
- •Выбор архитектуры решения
- •Вычислительные системы
- •Операционные системы
- •Классификация операционных систем
- •Особенности областей использования
- •Менеджмент проектов
- •2. Команда менеджмента проекта
- •2.1. Команды в проекте
- •2.2. Соотношение между различными командами в проекте
- •2.3. Цели кмп в проекте
- •3. Создание и развитие кмп
- •3.1. Сущность и характеристики кмп
- •С позиции системного подхода:
- •С позиции психологическогой подхода:
- •С позиции проектного подхода:
- •Управление трудовыми ресурсами проекта и менеджмент человеческих ресурсов проекта
- •3.3. Интегрированная культура кмп
- •4. Оценка деятельности кмп
- •4.1. Что такое эффективная кмп?
- •4.2. Команда Менеджмента Проекта – критический фактор успеха проекта
- •Парадигмы программирования
- •Структурное программирование
- •1. Основные предпосылки структурного программирования
- •2. Цели и задачи структурного программирования
- •3. Реализация структурного программирования
- •Событийно-ориентированное программирование
- •Обработка событий
- •Сферы применения
- •Перспективы
- •Недостатки
- •Объектно-ориентированное программирование
- •Особенности реализации
- •Достоинства ооп
- •Функциональное программирование
- •Концепции
- •Рекурсия
- •Функции высших порядков
- •Аспектно-ориентированное программирование
- •Преимущества использования аоп
- •Недостатки аспектного подхода
- •Визуально-ориентированное программирование
- •Другие парадигмы Процедурное (императивное) программирование
- •Автоматное программирование
- •Логическое программирование.
- •Качество кода Рефакторинг
- •Разумные причины выполнения рефакторинга
- •Когда не следует выполнять рефакторинг
- •Безопасный рефакторинг
- •Документирование
- •Внешняя документация
- •Внутренняя документация
- •Комментарии Комментировать или не комментировать?
- •Виды комментариев
- •Обработка исключений
- •Некоторые предложения по реализации исключений:
- •Архитектура программного обеспечения
- •История
- •Отличие архитектуры по от детального проектирования по
- •Примеры архитектурных стилей и моделей
- •Паттерны проектирования
- •Шаблон AbstractFactory
- •Шаблон Builder
- •Шаблон Bridge
- •Паттерны проектирования классов/обьектов
- •Архитектурные системные паттерны
- •Структурные паттерны
- •Паттерны, обеспечивающие взаимодействие с базой данных
- •Структурные паттерны интеграции
- •Паттерны по методу интеграции
- •Тестирование программного обеспечения Классификация видов тестирования
- •Уровни тестирования
- •Модульное тестирование
- •Интеграционное тестирование
- •Системное тестирование программного обеспечения
- •Функциональное тестирование
- •Регрессионное тестирование
- •Верификационные тесты (Verification Test).
- •Нагрузочное тестирование
- •Тестирование «белого ящика» и «чёрного ящика»
- •Поддержка по. Контроль версий Сопровождение программного обеспечения
- •Возраст и структура программы
- •Процесс сопровождения
- •Процесс управления изменениями
- •Прогнозирование сопровождения
- •Управление изменениями
- •Управление версиями и выпусками
- •Идентификация версий
- •Нумерация версий
- •Идентификация, основанная на значениях атрибутов
- •Идентификация на основе изменений
- •Средства поддержки управления изменениями
- •Средства поддержки управления версиями
- •История
- •Немного о продуктах компании
- •О новинках Облачные вычиления
- •Новые операционные системы
- •Другие разработки
- •Интересные факты
- •Как всё начиналось
- •Настоящее время
- •Позиции на мировом рынке
- •Новые продукты Oracle Новые продукты в области субд
- •Новые продукты в области связующего программного обеспечения
- •Инновации в области управления эффективностью предприятия и бизнес-анализа
- •Новые версии бизнес-приложений и отраслевых решений
- •Разработки компании Apple
- •На чем написан mac os?
- •Особенности Mac
- •История создания Google
- •Индустрия игр.
- •Компьютерные игры. История.
- •Компьютерные игры. Тенденции.
- •Компьютерные игры. Компании.
- •Компьютерные игры. Online.
- •Стандартные приложения Android
- •Разработка программного обеспечения
- •Разработки, происходящии на данный момент
- •Уникальность Android
- •Недостатки Android
- •Позиции на мировом рынке
- •Почему мобильный Windows непопулярен?
- •“Нужно перестать делать телефон центром вашей жизни, пускай ваша жизнь станет центром для телефона”
- •Целевая аудитория:
- •Особенности интерфейса
- •Общие положения
- •Неполная многозадачность
- •Разработка игр и приложений
- •Заключение
- •Сетевые операционные системы Структура сетевой операционной системы
- •Одноранговые сетевые ос и ос с выделенными серверами
- •Примеры серверных ос
- •Роли Active Directory
- •Пользовательские unix-системы
- •Основные пользовательские unix и unix-подобные ос
- •Облачные вычисления
- •Примеры
- •Любой ли сервис по запросу есть облако?
- •Нужны ли облака?
- •Внешние и внутренние облака
- •Какие услуги предоставляются в рамках модели облачных вычислений?
- •Сколько стоят вычисления в облаках?
- •Каковы гарантии того, что облако всегда будет на связи?
- •Проблемы облачных технологий
- •Как минимизировать риски при переходе на облачные вычисления?
- •Безопасность
- •Технология
- •Перспективы
- •Технология Rich Internet Application. Платформы для разработки ria.
- •Преимущества
- •Недостатки
- •Введение в аsр.Nет
- •История asp.Net
- •Принципы asp.Net
- •Компилируемый код выполняется быстрее, большинство ошибок отлавливается ещё на стадии разработки
- •Asp.Net имеет преимущество в скорости по сравнению с другими технологиями, основанными на скриптах. Возможности asp.Net
- •Оттранслированные программы
- •Элементы управления сервера
- •Независимость кода от браузеров
- •Отделение кода от содержимого
- •Управление состоянием
- •Управление состоянием в аsр.Nет
- •Искусственный интеллект
- •Предпосылки развития науки искусственного интеллекта
- •Подходы и направления
- •Тест Тьюринга
- •Символьный подход
- •Логический подход
- •Накопление и использование знаний
- •Суть процесса искусственного мышления
- •Применение
- •Перспективы
- •Искусственный интеллект в играх
- •Нейронные сети
- •Возможные способы применения и реализации
- •Категории аппаратного обеспечения инс
- •Цифровое исполнение
- •Аналоговое исполнение
- •Гибридное исполнение
- •Области применения нейронных сетей
- •Классификация угроз безопасности Web-приложений
- •Мировой рынок экспортного программирования
- •Прогноз развития мирового и российского рынка
- •Белорусские компании
- •Каким может быть аутсорсинг
- •Авторское право по как объект авторского права
- •Права автора Личные неимущественные права:
- •Личные имущественные права:
- •Способы защиты авторского права
- •Нарушение авторских прав
- •Типы лицензий
- •Пиратское по
- •Взгляд в будущее
- •Защита от несанкционированного копирования Введение
- •Организационные меры защиты
- •Защита при помощи компьютерных компакт-дисков
- •Методы взлома/обхода технических мер защиты
- •Проблема «лучше, чем легальное»
- •Классы атак Аутентификация (Authentication)
- •Авторизация (Authorization)
- •Атаки на клиентов (Client-side Attacks)
- •Выполнение кода (Command Execution)
- •Разглашение информации (Information Disclosure)
- •Логические атаки (Logical Attacks)
- •Компьютерные вирусы
- •Классификация вирусов
- •Топ 10 вирусов
- •Антивирусные программы
- •Методы обнаружения вирусов
- •Метод соответствия определению вирусов в словаре
- •Метод обнаружения странного поведения программ
- •Метод обнаружения при помощи эмуляции
- •Метод «Белого списка»
- •Эвристический анализ
Гибридное исполнение
Как понятно из названия, эта категория представляет собой комплекс вышерассмотренных систем. Разработчики таких проектов пытаются получить от таких систем преимущества аналогового и цифрового исполнений. По большей части это достигается путем связи между устройствами и датчиками посредством цифровой составляющей, а обработка полностью или частично реализуется аналоговыми методами.
Области применения нейронных сетей
В каждой предметной области при ближайшем рассмотрении можно найти постановки задач для нейронных сетей. Вот список отдельных областей, где решение такого рода задач имеет практическое значение уже сейчас.
Экономика и бизнес: прогнозирование временных рядов (курсов валют, цен на сырьё, объемов продаж,..), автоматический трейдинг, оценка рисков невозврата кредитов, предсказание банкротств, оценка стоимости недвижимости, выявление переоцененных и недооцененных компаний, рейтингование, оптимизация товарных и денежных потоков, считывание и распознавание чеков и документов, безопасность транзакций по пластиковым картам.
Медицина: постановка диагноза, обработка медицинских изображений, мониторинг состояния пациента, анализ эффективности лечения, очистка показаний приборов от шумов.
Авионика: обучаемые автопилоты, распознавание сигналов радаров, адаптивное пилотирование сильно поврежденного самолета, беспилотные летательные аппараты.
Связь: сжатие видеоинформации, быстрое кодирование-декодирование, оптимизация сотовых сетей и схем маршрутизации пакетов.
Интернет: ассоциативный поиск информации, электронные секретари и автономные агенты в интернете, фильтрация информации, блокировка спама, автоматическая рубрикация новостевых лент, адресные реклама и маркетинг для электронной торговли.
Автоматизация производства: оптимизация режимов производственного процесса, контроль качества продукции, мониторинг и визуализация многомерной диспетчерской информации, предупреждение аварийных ситуаций, робототехника.
Политологические и социологические технологии: предсказание результатов выборов, анализ опросов, предсказание динамики рейтингов, выявление значимых факторов, кластеризация электората, исследование и визуализация социальной динамики населения.
Безопасность и охранные системы: распознавание лиц; идентификация личности по отпечаткам пальцев, голосу, подписи, лицу; распознавание автомобильных номеров, анализ аэрокосмических снимков, мониторинг информационных потоков в компьютерной сети и обнаружение вторжений, обнаружение подделок.
Ввод и обработка информации: распознавание рукописных текстов, отсканированных почтовых, платежных, финансовых и бухгалтерских документов.
Геологоразведка: анализ сейсмических данных, ассоциативные методики поиска полезных ископаемых, оценка ресурсов месторождений.
Обилие приведенных выше областей применения нейронных сетей - не рекламный трюк. Просто нейросети - это новый, гибкий и мощный инструмент решения разнообразных задач обработки и анализа данных.
Классификация угроз безопасности Web-приложений
Данная классификация представляет собой совместную попытку членов международного консорциума собрать воедино и упорядочить угрозы безопасности Web-сайтов. Члены Web Application Security Consortium создали данный проект для унификации стандартной терминологии описания угроз безопасности Web-приложений. Это даёт возможность разработчикам приложений, специалистам в области безопасности, производителям программных продуктов и аудиторам использовать единый язык при своем взаимодействии. Данный документ содержит компиляцию и квинтэссенцию известных классов атак, которые представляют угрозы для Web-приложений. Каждому классу атак присвоено стандартное название и описаны его ключевые особенности. Классы организованы в иерархическую структуру. |
Аутсорсинг
Сравнительно недавно в русском языке появилось новое заимствованное слово — аутсорсинг. На самом деле, ничего кардинально нового понятие аутсорсинга в себе не скрывает. В переводе с английского outsourcing обозначает «вынос вовне». Определений этого понятия существует множество, но мы приведем одно из самых лаконичных: аутсорсинг — это способ оптимизации деятельности предприятия за счет передачи непрофильных функций внешним специализированным компаниям.
Если присмотреться повнимательнее к мировой практике, то мы увидим, что многие компании уже давно стали прибегать к помощи аутсорсинга. Например, компании доверяют некоторые процессы, которые являются для них непрофильными, сторонним организациям. К таким процессам нередко относятся здравоохранение, уборка помещений, транспортные или юридические услуги. В настоящее время существует множество форм аутсорсинга, но самый перспективный и наиболее динамично развивающийся — это, несомненно, ИТ-аутсорсинг.
ИТ-аутсорсинг
На первый взгляд понятие «ИТ-аутсорсинг» кажется чем-то совершенно новым, неким продуктом XXI века. Но это отнюдь не так. Аутсорсинг в сфере ИТ начал повсеместно применяться еще в 1970-х годах! Стоимость процесса обработки данных в то время легла тяжким бременем на плечи предпринимателей, что и вынудило многие компании воспользоваться услугами вычислительных центров. Впоследствии предприниматели даже не думали о том, чтобы самостоятельно покупать и обслуживать дорогостоящее оборудование, которое, к тому же, не позволяло им оставаться конкурентоспособными. Соответственно, еще тогда было установлено, что ИТ-аутсорсинг способен ощутимо сэкономить деньги для любой организации. Экономия финансовых затрат — не самое главное преимущество ИТ-аутсорсинга. Благодаря нему компания также получает быстрый доступ к новейшим ИТ технологиям, повышает уровень безопасности данных , а также полностью избавляется от проблемы поиска квалифицированного персонала в сфере ИТ.
ИТ-аутсорсинг и любая современная компания
Почти любая организация сейчас может пожаловаться на то, что содержание полноценного штата сотрудников ИТ-отдела стало чересчур дорогостоящим. Это обусловлено тем, что заработная плата высококвалифированных специалистов в этой сфере постоянно увеличивается, к тому же, существует явный дефицит кадров, что, в свою очередь, тоже увеличивает уровень зарплат. Есть мнение, что в скором будущем страны СНГ столкнутся с серьезной нехваткой кадров в сфере ИТ, которая может достичь порядка 600 тысяч человек. Если эти прогнозы оправдаются, то выиграют, несомненно, те, кто воспользуется услугами ИТ-аутсорсинга и сможет сконцентрироваться исключительно на развитии своего профильного направления, а не тратить силы и средства на поддержание работоспособности ИТ-отдела. Не стоит забывать и о том, что информационные технологии постоянно развиваются и потому вовремя успеть достичь нужного уровня самостоятельно не всегда возможно. В этом случае аутсорсер сможет быстро и качественно внедрить инновации и обеспечить быстрый доступ к новейшим технологиям. Следует также отметить, что ИТ-аутсорсинг незаменим в том случае, когда существует необходимость выполнить серьезные задачи в сжатые сроки.
Таким образом, ИТ-аутсорсинг позволяет сконцентрироваться на профильных направлениях, наладить работу информационных систем, решить проблему нехватки высококвалифицированных ИТ-специалистов, снизить риск потери важных данных, уменьшить затраты на обеспечение работы ИТ-отдела. При этом компания-поставщик несет финансовую ответственность за качество предоставляемого сервиса, что является гарантией высокого уровня предоставляемых ею услуг.
