
- •Введение
- •Жизненный цикл it-проекта
- •Концепция проекта
- •Определение проекта
- •Выполнение проекта
- •Завершение проекта
- •Стандарты жизненного цикла
- •Выбор методологии
- •Жесткие и гибкие методологии Модель водопада
- •Итеративная разработка
- •Спиральная модель
- •Архитектура Вычислительные системы
- •Операционные системы
- •Выбор языка и среды программирования
- •Краткий обзор распространенныхпромышленных языков программирования и программных платформ
- •Разработка программного обеспечения Парадигмы программирования
- •Структурное программирование
- •Процедурное программирование
- •Функциональное программирование
- •Событийно-ориентированное программирование
- •Объектно-ориентированное программирование
- •Аспектно-ориентированное программирование
- •Визуально-ориентированное программирование
- •Метапрограммирование
- •Качество кода. Критерии качества кода
- •Форматирование и оформление
- •Комментарии
- •Читаемость
- •Обработка исключений
- •Документирование
- •Рефакторинг
- •Архитектура программного обеспечения
- •Отличие архитектуры по от детального проектирования по
- •Примеры архитектурных стилей и моделей
- •Паттерны проектирования
- •Адаптер (adapter, wrapper)
- •Абстрактная фабрика (abstractfactory, kit)
- •Стратегия (strategy, policy)
- •Менеджмент Проекта
- •Проектный менеджмент
- •Команда менеджмента проекта Команды в проекте
- •Соотношение между различными командами в проекте
- •Цели кмп в проекте
- •Создание и развитие кмп Сущность и характеристики кмп
- •Управление трудовыми ресурсами проекта и менеджмент человеческих ресурсов проекта
- •Интегрированная культура кмп
- •Оценка деятельности кмп Что такое эффективная кмп?
- •Команда Менеджмента Проекта – критический фактор успеха проекта
- •Структура проекта Определение проекта
- •Основные признаки проекта
- •Направленность на достижение целей
- •Координированное выполнение взаимосвязанных действий
- •Ограниченная протяженность во времени
- •Уникальность
- •Структура проекта
- •Разработка программного обеспечения Виртуальная реальность
- •Виртуальная реальность в играх.
- •Виртуальная реальность и 3d.
- •История виртуальной реальности.
- •Что такое виртуальная реальность?
- •Миры с различными потенциально-возможными сценариями хода событий
- •Студии виртуальной реальности на телевидении
- •Имитационное моделирование
- •Искусственный интеллект
- •Предпосылки развития науки искусственного интеллекта
- •Подходы и направления
- •Тест Тьюринга
- •Символьный подход
- •Логический подход
- •Накопление и использование знаний
- •Суть процесса искусственного мышления
- •Применение
- •Перспективы
- •Искусственный интеллект в играх
- •Распределённые и облачные вычисления Распределённые вычисления
- •История
- •Участие в проектах распределенных вычислений Общая схема участия
- •Привлечение и мотивация участников
- •Критика проектов распределенных вычислений
- •Организации, участвующие в проектах распределенных вычислений
- •Список проектов распределённых вычислений
- •Биология и медицина
- •Математика и криптография
- •Естественные науки
- •По для организации распределённых вычислений
- •Облачные вычисления
- •Терминология
- •Критика
- •Примеры
- •Потребность
- •Внешние и внутренние облака
- •Стоимость
- •Надёжность
- •Проблемы облачных технологий
- •Нейронные сети
- •Возможные способы применения и реализации
- •Категории аппаратного обеспечения инс
- •Цифровое исполнение
- •Аналоговое исполнение
- •Гибридное исполнение
- •Области применения нейронных сетей
- •Аутсорсинг
- •Мировой рынок экспортного программирования
- •Прогноз развития мирового и российского рынка
- •Белорусскиекомпании
- •Типы аутсорсинга
- •Развитие cad технологий
- •Исправление ошибок
- •Системы старшего класса
- •Большие сборки
- •Зачем нужны сборки
- •Стратегии упрощения
- •Моделирование
- •Параметризация
- •Гибридное моделирование
- •Практические результаты
- •Проектная база: технология моделирования
- •Переход к гибридному моделированию
- •Электронная сборка
- •Модель акторов
- •История
- •Фундаментальные концепции
- •Формальные системы
- •Применения
- •Семантика передачи сообщений
- •Локальность
- •Безопасность
- •Актуальность в настоящий момент
- •Социальный компьютинг
- •Сферы применения
- •С чего начать
- •Тестирование программного обеспечения Уровни тестирования
- •Модульное тестирование
- •Интеграционное тестирование
- •Системы непрерывной интеграции
- •Системное тестирование программного обеспечения
- •Функциональное тестирование
- •Регрессионное тестирование
- •Виды тестов регрессии
- •Нагрузочное тестирование
- •Тестирование «белого ящика» и «чёрного ящика»
- •Серый ящик. Комбинация предыдущих.
- •Права автора Личные неимущественные права:
- •Личные имущественные права:
- •Способы защиты авторского права
- •Защита при помощи компьютерных компакт-дисков
- •Методы взлома/обхода технических мер защиты
- •Нарушение авторских прав
- •Типы лицензий
- •Проприетарные лицензии
- •Свободные и открытые лицензии
- •Пиратское по
- •Взгляд в будущее
- •Взлом информации и защита от взлома Классы атак Аутентификация (Authentication)
- •Авторизация (Authorization)
- •Атакинаклиентов (Client-side Attacks)
- •Выполнение кода (Command Execution)
- •Разглашение информации (Information Disclosure)
- •Логические атаки (Logical Attacks)
- •Компьютерные вирусы
- •Классификация вирусов
- •Антивирусные программы
- •Методы обнаружения вирусов
- •Метод соответствия определению вирусов в словаре
- •Метод обнаружения странного поведения программ
- •Метод обнаружения при помощи эмуляции
- •Метод «Белого списка»
- •Эвристический анализ
- •Классические hips
- •Экспертные hips
- •Жизненный цикл вируса.
- •Стратегии развития крупнейших it-компаний
- •Перспективы развития Microsoft
- •Секреты успеха
- •Крупнейшие производители современных операционных систем и их продукты
- •Основные заблуждения по поводу Macintosh
- •Технические подробности операционной системы
- •Причины успеха и будущее компании
- •История создания Linux
- •Свободное программное обеспечение
- •Графические интерфейсы Linux
- •Дистрибутивы Linux
- •Безопасность Linux
- •Краткая история FreeBsd и unix
- •Рождение системы bsd
- •Bsd на платформах Intel х86
- •Рождение FreeBsd
- •Преимущества FreeBsd
- •Различия между FreeBsd и Windows
- •Мобильные ос
Мобильные ос
Symbian OS
Symbian OS — это операционная система для сотовых телефонов, смартфонов и коммуникаторов, разрабатываемая консорциумом Symbian, основанным в июне 1998 года компаниями: Psion, Nokia, Ericsson и Motorola. Позже к консорциуму присоединились компании: Sony Ericsson, Siemens, Panasonic, Fujitsu, Samsung, Sony, Sharp и Sanyo.
24 июня 2008 года компании Nokia, Sony Ericsson, Motorola и NTT DOCOMO официально заявили об объединении Symbian OS,S60, UIQ и MOAP(S) с целью создания единой открытой мобильной платформы. Вместе с компаниями AT&T, LG Electronics,Samsung Electronics, STMicroelectronics, Texas Instruments и Vodafone была создана некоммерческая организация Symbian Foundation.
На данный момент Symbian Foundation насчитывает 40 компаний.
Symbian OS является преемником операционной системы EPOC32, разработанной компанией Psion для своих карманных компьютеров. В 1998—2000 гг. значительная часть системы была переписана с целью оптимизации кода для работы на устройствах с ограниченными ресурсами.
Начиная с версии системы 9.x появился серьёзный механизм защиты — разграничение API в соответствии с правами приложений (capabilities). Основной язык разработки приложений — С++, имеется поддержка Java. Также существуют библиотеки PIPS для портирования приложений с других ОС.
В 2005 году вышла Symbian OS Series 60 3rd Edition, основанная на новом ядре EKA2, что привело к нарушению обратной совместимости с программами, написанными для предыдущих версий.
На данный момент наиболее распространённой (по количеству устройств) версией является Symbian OS Series 60 3rd Edition и 5th Edition(Symbian^1).
Кроме этого существует несколько отдельно стоящих устройств, использующих нестандартные модификации Symbian OS. К ним относятся смартфоны Nokia 7700, Nokia 7710(Series 90) и SGH L870
Windows Mobile
Windows Mobile (также известна как Windows Phone для ветки 6.5.x) — мобильная операционная система, разработаннаяMicrosoft для собственных аппаратных платформ Pocket PC (коммуникатор) и Smartphone. В настоящее время переживает постепенный отказ от поддержки и разработки.
Текущая версия — Windows Mobile 6.5 — основана на Windows CE 5.2, имеет базовый набор приложений, разработанных с использованием Microsoft Win32 API (программы могут приобретаться через сервис Windows Marketplace for Mobile или устанавливаться вручную пользователем; доступна свободная разработка программ для третьих лиц), функционально и визуально пытается быть похожим на настольную версию Windows. В отличие от Windows Mobile 6 и предыдущих версий, управляемых стилусом, WM 6.5 для сенсорных устройств рассчитана на пальцевое управление.
Windows Phone 7 — мобильная операционная система, разработанная Microsoft, вышла 11 октября 2010 года.
Данная операционная система является полностью новой, с полностью новым интерфейсом и — впервые — с интеграцией сервисов Microsoft Xbox Live и Zune.
Разработка игр и приложений.
WP7 поддерживает Silverlight (вне браузера) и XNA.
В состав нового инструментария входит специальная версия среды разработки Microsoft Visual Studio 2010 Express for Windows Phone, Expression Blend 4 for Windows Phone (ориентированный на дизайн интерфейсов для мобильных приложений), среда конструирования игр XNA Game Studio for Windows Phone, эмулятор мобильных устройств Windows Phone 7 Series Emulator для тестирования, а также технология Silverlight for Windows Phone.
Mozilla Foundation и Skype Limited решили отказаться от поддержки ОС Windows Phone 7 в пользу открытых и удобных для разработки платформ. Но, несмотря на предыдущие заявления об отказе, Microsoft на конференции MIX11 объявила о том, что Skype появится на Windows Phone 7 уже осенью 2011 года. Electronic Arts заявила о намерении разрабатывать игры под WP7, в скором времени появятся Need for Speed Undercover, Tetris, The Sims 3 и Monopoly.
Установка приложений на Windows Phone 7 стандартными средствами (без платного аккаунта разработчика) возможна только из магазина Windows Marketplace, однако, 26 ноября 2010 года стало известно о взломе платформы
Windows Phone 7 по данным на март 2011 года является самой быстрорастущей мобильной платформой по базе программ. Уже доступно более 12 тыс. приложений, появившихся менее, чем за 5 месяцев. Это рост быстрее Google Android и Apple iOS.
Microsoft официально разрешила устанавливать на Windows Phone 7 приложение под названием ChevronWP7 за определенную плату, которое позволяет устанавливать приложения из сторонних источников. (Подобно джейлбрейку на iPhone).
Android
Android — операционная система для коммуникаторов, планшетных компьютеров, цифровых проигрывателей, цифровых фоторамок, наручных часов, нетбуков и смартбуков, основанная на ядре Linux. Изначально разрабатывалась компанией Android Inc., которую затем купила Google. Впоследствии Google инициировала создание альянса Open Handset Alliance (OHA), который сейчас и занимается поддержкой и дальнейшим развитием платформы. Android позволяет создавать Java-приложения, управляющие устройством через разработанные Google библиотеки. Android Native Development Kit создаёт приложения, написанные на Си и других языках.
Приложения для Android являются программами в нестандартном байт-коде для виртуальной машины Dalvik.
Google предлагает для свободного скачивания инструментарий для разработки (Software Development Kit), который предназначен для x86-машин под операционными системами Linux, Mac OS X (10.4.8 или выше), Windows XP и Windows Vista. Для разработки требуется JDK 5 или более новый.
Разработку приложений для Android можно вести на языке Java (не ниже Java 1.5). Существует плагин для Eclipse — «Android Development Tools» (ADT), предназначенный для Eclipse версий 3.3-3.6. Для IntelliJ IDEA также существует плагин, облегчающий разработку Android-приложений. Сообщается, что для среды разработки NetBeans IDEразработан экспериментальный плагин. Кроме того существует Motodev Studio for Android, которая представляет собой комплексную среду разработки, основанную на базе Eclipse и позволяет работать непосредственно с Google SDK.
22 октября 2008 года Google объявила об открытии онлайн-магазина приложений для Android — Android Market; разработчики получат 70 % прибыли, операторы сотовой связи — 30 %.
21 октября 2008 года альянс OHA опубликовал исходный код платформы Android.[27] В релиз вошёл весь стек Android: и операционная система, и промежуточное ПО (middleware), и основные конечные приложения, написанные на Java. Общий объём исходного кода Android составил 2,1 Гб.
Специально для платформы Android было создано семейство шрифтов Droid.
Интересные факты:
Название каждой очередной версии ОС Android представляет собой название какого-либо десерта. Первые буквы наименований в порядке версий соответствуют буквам латинского алфавита: Applebread, Bender, Cupcake, Donut, Eclair, Froyo, Gingerbread, Honeycomb, Ice Cream Sandwich, Jelly Bean.
По данным на февраль 2011 года устройства с ОС Android уверенно лидируют в списке самых популярных смартфонов Великобритании, оставив позади iPhone 4 c Apple iOS.
Еженедельно Android-армия пользователей растет на 4,4 %. И если в 2010 году показатель активаций составлял 160 тыс. ежедневно[51], то в июле 2011 года он уже достиг 550 тыс. новых устройств, активируемых каждый день, что говорит о том, что мобильная Google-экосистема стремительно развивается.
Apple iOS (до 2010 года известная как iPhone OS) — мобильная операционная система, разработанная компанией Apple на основе Mac OS X первоначально для iPhone, а затем расширена для поддержки таких мобильных устройств, как Apple iPod Touch, iPad и Apple TV. Apple не лицензирует iOS для установки на стороннее оборудование.
iOS имеет четыре слоя абстракции: ядро ОС, сервисы ядра, Media и API (программный интерфейс) Cocoa Touch .
До версии 3.0 ОС iPhone OS официально не имела поддержки многоядерных процессоров, хотя в ядре Darwin, используемом ОС — эта возможность реализована.
По сведениям издания ZDNet, 4-я версия ОС iPhone OS, которая используется в планшетном компьютере iPad, работающем на процессоре Apple A4, — получит поддержку 4-ядерных процессоров.
Приложения могут быть разработаны с помощью Xcode для Mac и опубликованы в App Store, онлайн-магазин, который поставляется с самим iPhone/iPod touch начиная с версии iPhone OS 2.0 и является крупнейшим магазином мобильных приложений.(Более 500 000 приложений)
Xcode — инструментарий разработки приложений под Mac OS X и Apple iOS, разработанный компанией Apple.
Пакет Xcode включает в себя изменённую версию свободного набора компиляторов GNU Compiler Collection (GCC, apple-darwin9-gcc-4.0.1) и поддерживает языки C, C++, Objective-C, Objective-C++, Java, AppleScript, Python и Ruby с различными моделями программирования, включая (но не ограничиваясь) Cocoa, Carbon и Java. Сторонними разработчиками реализована поддержка GNU Pascal, Free Pascal, Ada, C#, Perl, Haskell и D. Пакет XCode использует GDB в качестве back-end’а для своего отладчика.
По состоянию на 31 мая 2011 года магазин приложений Apple App Store содержит более 500 тысяч iOS-приложений, которые все вместе были загружены более чем 15 миллиардов раз.
Palm OS — операционная система для наладонных компьютеров и коммуникаторов, разрабатываемая компанией Palm и её преемниками по линии ОС.
Под управлением Palm OS работают около 39 млн устройств, произведённых начиная с 1996 года компанией Palm и другими, включая Handspring, Samsung, Lenovo, Aceeca, AlphaSmart, Fossil, Garmin, GSPDA, Kyocera, PiTech, Sony и Symbol.
Интересная особенность Palm OS — то, что ядро ОС, лицензированное у компании Kadak, многозадачное, а для пользователя ОС однозадачная, хотя и с возможностью фонового проигрывания музыки, MP3 и т. п. (проще говоря — одновременно на экране может отображаться лишь одно приложение). Более того, условия лицензионного соглашения запрещают Palm раскрывать сторонним разработчикам API для создания фоновых задач на уровне ядра.
Наиболее популярная версия — Palm OS Garnet (5.4.x), на этой версии строятся все современные КПК Palm.
11 февраля 2009 года на конференции инвесторов Эд Коллиган отметил, что Palm больше не будет выпускать продуктов на основе Palm OS — усилия компании будут направлены на Palm webOS.
HP webOS — встраиваемая операционная система, основанная на ядре Linux, разработаная компанией Palm для мобильных устройств и интернет-планшетов. С 2010 года разрабатывается и поддерживается компанией Hewlett-Packard (в результатепоглощения Palm, Inc.).
В webOS особое внимание уделено интеграции с социальными сетями и Web 2.0, а также многозадачности.
HP webOS оптимизирована для работы с устройствами, которые оснащены сенсорным экраном. ОС включает стандартноепрограммное обеспечение для организации работы с личной информацией.
Основными отличными от конкурентов особенностями ОС HP webOS являются способность программ, написанных на HTML иJavaScript, обращаться к системным функциям операционной системы и очень удобное оповещение о новых сообщениях
Разработчики программного обеспечения для HP webOS используют среду разработки webOS SDK и API-интерфейс для Веб-приложений.
Для программирования широко используется технологии HTML 5, JavaScript и CSS. Доступ к аппаратной части устройства обеспечивается с использованием скриптового языка JavaScript.
Также существует официальная среда PDK, которая позволяет портировать (переносить) программы, отдельные компоненты и целые компьютерные игры написанные на языках C или C++.
HTML/CSS-разработчикам важно знать, что HP webOS во встроенном веб-браузере использует движок WebKit, и V8 JavaScript-движок.