- •Министерство образования республики беларусь
- •Белорусский государственный университет
- •Факультет прикладной математики и информатики
- •Кафедра технологий программирования
- •Жизненный цикл проекта
- •Характеристики фаз проекта
- •Описание основных фаз проекта:
- •Инициация проекта
- •Современные процессы разработки программного обеспечения.
- •Выбор методологии
- •Характеристики жизненного цикла проекта
- •Жесткие методологии Модель водопада
- •Итеративная разработка
- •Спиральная модель
- •Гибкие методологии
- •Выбор архитектуры решения
- •Вычислительные системы
- •Операционные системы
- •Классификация операционных систем
- •Особенности областей использования
- •Менеджмент проектов
- •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 вирусов
- •Антивирусные программы
- •Методы обнаружения вирусов
- •Метод соответствия определению вирусов в словаре
- •Метод обнаружения странного поведения программ
- •Метод обнаружения при помощи эмуляции
- •Метод «Белого списка»
- •Эвристический анализ
Нарушение авторских прав
Ответственность за нарушения авторских прав определяется законом. Как правило, наказание включает в себя изъятие программно обеспечения, использованного с нарушение авторских прав, и наложение штрафа. В некоторых случаях предусматривается наказание в виде лишения свободы на срок до двух лет.
В случае, когда код одной программы частично копирует код другой программы, однозначный ответ дать трудно. На практике зачастую используются программы, определяющие процент плагиата, то есть процент кода, копированного или частично измененного. Также учитывается структура программы, то есть если программы содержат одинаковый широко используемый алгоритм, то такой фрагмент кода “украденным” считать нельзя.
|
|
Типы лицензий
В настоящее время в Интернете существует большое количество программ. При этом многие знают, что программы, которые скачиваются из Интернета, бывают бесплатные (freeware), условно бесплатные (shareware) и платные (commercial). Однако не многие знают про такие экзотические варианты, как Postcardware, Careware, Homepageware. Про эти и другие типы программ и пойдет речь дальше.
Freeware
Свободно распространяемые программы. Платить за них не надо. Очень много серьезных компаний писали, пишут и, надеюсь, будут писать freeware-программы. Дело в том, что freeware — прекрасный инструмент в продвижении новых технологий и продуктов. Некоторые shareware-программы становятся бесплатными. Всем известная программа Winamp первоначально была shareware-программой стоимостью в $10. Однако после того, как сайт winamp.com стал привлекать большое количество посетителей, разработчики, получая солидные доходы от рекламы, решили сделать свой продукт бесплатным, еще больше увеличив его популярность.
Shareware
«Условно бесплатное программное обеспечение». Более официально употребляется наименование этого типа ПО — «пробное» (trial). Основное достоинство shareware — «попробуй, прежде чем купить» (try before you buy). Пользователю предоставляется продукт с некоторыми ограничениями, пока он его не приобретет. Ограничения могут быть функциональными (не все возможности доступны) и/или временными (чаще всего программа работает 30 дней или определенное количество запусков).
Public Domain Software
Очень похож на freeware — программы этого типа также распространяются бесплатно. Однако, в отличие от freeware, где автор программы имеет все права на программу, в случае с public domain у него эти права отсутствуют. Программа распространяется вместе с исходным кодом, и автор отказывается от своих прав.
Open Source
Развитие концепции public domain software, в которой учтены ошибки предыдущего варианта. Программа, как и раньше, распространяется на бесплатной основе вместе с исходным кодом. Однако автор уже не отказывается от своих прав. Существует система требований к лицензии на программный продукт, который называется The Open Source Definition (OSD), которая представлена на сайте. К программе обязательно должен быть приложен исходный код. Модифицированное ПО должно распространяться на тех же условиях, что и исходный продукт. Также здесь будет немаловажным упомянуть и об открытом лицензионном соглашении(GPL). Она предоставляет пользователю права копировать, модифицировать и распространять (в том числе на коммерческой основе) программы (что по умолчанию запрещено законом об авторских правах), а также гарантировать, что и пользователи всех производных программ получат вышеперечисленные права.
Commercial
Коммерческий тип программного обеспечения, т.е. распространяемое за плату. Оплата должна быть произведена сразу после получения копии ПО на лицензионном диске или дискете в фирменной упаковкой (часто такие программы называют «коробчатыми»). Использование такой программы без предварительной оплаты является незаконным. Стоит отметить, что на данный момент этот тип ПО приносит наибольший доход фирмам-разработчикам. По оценке журнала «Software Magazine» сумма общемировых годовых доходов компаний «списка 500» бизнеса программного обеспечения составила в 2007 $451,8 миллиарда.
Adware
К этой категории относятся программы, которые во время своей работы демонстрируют пользователю рекламу — чаще всего графические баннеры размером 468x60 точек. Adware сочетает в себе freeware и shareware
Donationware
Такое ПО также распространяются бесплатно, однако разработчик программы в лицензионном соглашении указывает, что, если пользователю программа нравится, то он может (а не обязан) выслать денежное вознаграждение. Иногда сумма указывается конкретно, а иногда пишется «кто сколько может». Встречается даже такая фраза: «Пришлите мне столько денег, чтобы их хватило на ящик пива
Postcardware
Экзотический способ распространения программ, при котором автор просит пользователей зарегистрироваться, прислав ему почтовую открытку.
Homepageware
Это очень гадкий тип программ. Чем-то похож на adware: вы также не обязаны оплачивать регистрацию, однако при каждом запуске программы вашей домашней страницей будет становиться страница программы.
Careware
Совсем уж экзотический способ. В лицензионном соглашении к программе сказано, что пользователь должен на час, день или неделю перестать жаловаться на жизнь и сказать кому-нибудь слова ободрения.
