- •Министерство образования республики беларусь
- •Белорусский государственный университет
- •Факультет прикладной математики и информатики
- •Кафедра технологий программирования
- •Жизненный цикл проекта
- •Характеристики фаз проекта
- •Описание основных фаз проекта:
- •Инициация проекта
- •Современные процессы разработки программного обеспечения.
- •Выбор методологии
- •Характеристики жизненного цикла проекта
- •Жесткие методологии Модель водопада
- •Итеративная разработка
- •Спиральная модель
- •Гибкие методологии
- •Выбор архитектуры решения
- •Вычислительные системы
- •Операционные системы
- •Классификация операционных систем
- •Особенности областей использования
- •Менеджмент проектов
- •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 вирусов
- •Антивирусные программы
- •Методы обнаружения вирусов
- •Метод соответствия определению вирусов в словаре
- •Метод обнаружения странного поведения программ
- •Метод обнаружения при помощи эмуляции
- •Метод «Белого списка»
- •Эвристический анализ
Компьютерные игры. Компании.
1-е место – Nintendo.
Blizzard: Warcraft,Starcraft, Diablo.
Valve: Half-Life, Counter-Strike, DotA.
EA SPORTS: спортивные игры, SIMS.
Компьютерные игры. Online.
Многопользовательская ролевая онлайн-игра (MMORPG)(браузерная–игра,не требующая установки дополнительного программного обеспечения, в отличии от сетевых игр) — жанр онлайновых компьютерных ролевых игр (ORPG), в которой большое количество игроков взаимодействуют друг с другом в виртуальном мире (в основном, в жанре фэнтези).
Как и в большинстве RPG, игроку предлагается роль вымышленного героя, и возможность управлять его действиями.MMORPG отличаются от однопользовательских и небольших сетевых ролевых игр множеством игроков, а также виртуальным миром, который продолжает существовать и в отсутствие игрока. Виртуальный мир поддерживается издателем игры после её выхода.
За рубежом проводятся так называемые LAN party. Снимают зал, в нём проводится локальная сеть, и участники приносят туда свои компьютеры. В первую очередь LAN party является ареной для соревнований и местом общения любителей игр.
Мобильные операционные системы
Android
Android — операционная система для мобильных телефонов и смартбуков, ноутбуков, десктопов, основанная на ядре Linux.
Изначально разрабатывалась компанией Android Inc, которую затем купила компания Google в 2005 году, ОС назвали в честь этой компании. Рождением данной платформы принято считать 5 ноября 2007 года, в этот день Google официально объявила о создании группы компаний Open Handset Alliance (OHA), целью которой является разработка для мобильных устройств открытых стандартов ПО. Одновременно с официальной презентацией бизнес-альянса OHA, была анонсирована основанная на ядре Linux открытая платформа Google Android. Немного позже была представлена первая версия пакета для разработчиков Android «Early Look» SDK (Software Development Kit), которую можно было скачать из интернета. Таким образом, группа компаний Open Handset Alliance дала возможность программистам со всего мира в течение пары недель протестировать новую среду.
Последней версией является 2.2 (Froyo), которая была выпущена 20 мая. Версия Android 3.0 близка к завершению и с декабря текущего года появятся первые образцы планшетов на базе новой версии ОС.
Стандартные приложения Android
Стандартные приложения Android включают в себя браузер WebKit, календарь Google, клиент Gmail, приложение Gmaps, SMS-мессенджер и e-mail клиент. Приложения для Android написаны на Java, и вы всегда можете загрузить дополнительные приложения из магазина Android.
Разработка программного обеспечения
Приложения для Android являются программами в нестандартном байт-коде для виртуальной машины Dalvik. Google предлагает для свободного скачивания инструментарий для разработки (Software Development Kit), который предназначен для x86-машин под операционными системами Windows XP, Windows Vista, Mac OS X (10.4.8 или выше) и Linux. Для разработки требуется JDK 5 либо JDK 6. Разработку приложений для Android можно вести на языке Java (не ниже Java 1.5). Существует плагин для Eclipse — «Android Development Tools» (ADT), предназначенный для Eclipse версий 3.3-3.5. Так как "Андроид" основан на ядре Linux, то для этой мобильной операционной системы есть возможность писать код на языках СИ, СИ++ с помощью специального пакета Android Native Development Kit. Это позволяет создавать программы или библиотеки, требующие большей производительности, чем предоставляет Dalvik. Однако за скорость NDK приходится платить возросшей сложностью реализации программы. Компания Google выпустила язык программирования, который упрощает процесс создания приложений для платформы Android. Он называется Simple и построен на базе языка программирования BASIC. Simple основан на наборах модулей, благодаря которым программировать на Simple может даже неспециалист. Впрочем, это не означает, что Simple не будет интересен профессионалам. Представители Google подчеркивают, что при работе с Simple существует вероятность появления ошибок. Неопытным пользователям рекомендуется сообщать о них в службу поддержки Google. Опытные программисты, при желании, могут самостоятельно исправить обнаруженную ошибку.
MonoDroid — это платформа, с помощью которой разработчики могут писать приложения на базе Mono (открытая реализация .NET) для мобильной платформы Android. Ниже представлено видео, в котором по шагам рассказывается как настроить среду MonoDroid с интеграцией в Visual Studio 2010 и написать первое android-приложение на Mono. Набор инструментов MonoDroid будет доступен разработчикам как под Windows, так и под Linux и MacOS X. MonoDroid позволит писать для Android'а на C# и других CIL языках. Будет поддержка LINQ и других интересных возможностей платформы .Net. Сам продукт будет коммерческим, как и MonoTouch. C помощью MonoDroid уже была продемонстрирована возможность написания программ на языке Delphi для платформы Android.
Интерес к платформе Android у разработчиков стремительно растёт. Это объясняется не только ее растущей популярностью и перспективностью, но и тем, что система основана на ядре Linux, а следовательно имеет достаточно широкий и доступный инструментарий для разработки.
