
- •Введение
- •Жизненный цикл 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
- •Мобильные ос
Исправление ошибок
Так уж сложилось, что почти все производители CAD создавали свои системы от начала до конца, включая управление памятью, драйверы устройств, интерфейс с пользователем, интерпретаторы для инструментальных языков. Результат сказывается до сих пор - ни один продукт не имеет до сих пор интерфейса полностью в стиле Windows, хотя все и стремятся приблизиться к этому. Строчный командный интерфейс сохранился и все еще остается необходимым - во многих случаях быстрее использовать именно его.
Между тем CAD-системы являются естественным полем приложения для более современного объектно-ориентированного пользовательского интерфейса, в котором сами объекты знают, какие операции к ним применимы, как операция должна выполняться для объекта данного типа и как ее результаты должны сказываться на окружении. Особенно эффектно это выглядит при моделировании с помощью типовых элементов - фичерсов. В последнее время этот вид интерфейса был реализован во многих системах, например в Euclid Quantum или Pro/Engineer.
Вообще говоря, оболочка Windows оказала наиболее важное влияние на CAD. Сама по себе медленная оболочка Windows - не слишком дружественная среда для CAD, но аппаратные средства для нее очень похожи на то, что требуется для CAD. Наличие миллионов компьютеров для Windows стимулировало разработку быстрых процессоров, больших мониторов, более емкой дисковой и оперативной памяти. В какой-то мере Windows облегчает прикладным программистам процесс создания пакетов CAD, освобождая их от забот о драйверах устройств и в определенной степени об интерфейсе с пользователем.
Одновременно увеличивается интеграция функций из CAD в базовые операционные системы, что естественным образом способствует стандартизации этих функций. Наиболее известный пример - планы включения OpenGL в Windows. Уже сейчас OpenGL - самый легкий и универсальный метод рендеринга объектов CAD, обладающий двумя неоспоримыми преимуществами: независимость от оборудования и устранение обработки дисплейных списков.
Весьма негативную роль играют недостатки в организации программного обеспечения CAD - ограниченная открытость для расширений, трудность настройки на национальные стандарты, плохая модульность. Давно известно, что любой пакет CAD прямо из коробки не слишком полезен для большей части пользователей. Поэтому существует рынок третьих производителей, которые выполняют вертикальную адаптацию для различных применений CAD-систем: архитектуры, инженерии, картографии, управления ресурсами, дизайна и т. д. Это всегда учитывалось основными производителями - в состав системы общего назначения включался инструментарий для создания и подключения приложений, а также для адаптации и расширения интерфейса с пользователем. Однако на практике все получалось не так хорошо, как хотелось бы. И этому были две причины. Во-первых, приложение приходилось создавать поверх всей базовой системы, хотя многие ее функции могли быть совершенно не нужны. Цена даже небольшой разработки в основном определялась высокой стоимостью базового пакета, что заставляло заказчиков по крайней мере хорошо подумать. Во-вторых, инструментальные средства изготовлялись производителем базовой системы самостоятельно, были нестандартными и не очень качественными.
За последнее десятилетие появились независимые продукты для разработки приложений CAD. Например, третьи разработчики получили доступ ко всем родным командам Cadvance для Windows через документированную DLL. Посредством новых функций, добавленных к среде разработки MicroStation, MDL-приложения могут обращаться к функциям Windows API. Пакет COD (CadKey Object Developer) через аппарат C++ может взаимодействовать с Windows. Отпала необходимость программировать поверх полномасштабного CAD-пакета, а можно выбрать те функции, которые нужны конкретному приложению, например доступ к файлам (DXF или DWG), вывод на дисплей, рисование, интерфейс с БД. Это очень сильная альтернатива для третьих разработчиков - издавать приложение поверх Autocad за 3750 долл. или использовать полностью совместимый с ним пакет за 500 долл.