Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Software Engineering2011.docx
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
1.12 Mб
Скачать

МИНИСТЕРСТВО ОБРАЗОВАНИЯ РЕСПУБЛИКИ БЕЛАРУСЬ

БЕЛОРУССКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ

Факультет прикладной математики и информатики

Кафедра технологий программирования

Software

Engineering

Минск 2011

Рабочая группа 8а ФПМИ БГУ, кафедра ТП 2011:

  • Беличенко Алексей

  • Визгалова Елена

  • Конколович Дмитрий

  • Кошман Екатерина

  • Микита Алексей

  • Мищенчук Владимир

  • Монич Елена

  • Петкун Павел

  • Трухан Станислав

  • Халупко Алексей

  • Хомякова Екатерина

  • Шеповалов Артём

Contents

Введение 8

Жизненный цикл IT-проекта 10

Концепция проекта 10

Определение проекта 11

Выполнение проекта 12

Завершение проекта 12

Стандарты жизненного цикла 13

Выбор методологии 13

Жесткие и гибкие методологии 14

Модель водопада 14

Итеративная разработка 14

Спиральная модель 15

XP 16

Scrum 18

Lean 19

Архитектура 20

Вычислительные системы 20

Операционные системы 21

Выбор языка и среды программирования 22

Краткий обзор распространенныхпромышленных языков программирования и программных платформ 25

Java 25

C# 26

Ruby 27

Python 28

PHP 29

Scala 30

C++ 31

Разработка программного обеспечения 33

Парадигмы программирования 33

Структурное программирование 33

Процедурное программирование 34

Функциональное программирование 34

Событийно-ориентированное программирование 35

Объектно-ориентированное программирование 35

Аспектно-ориентированное программирование 37

Визуально-ориентированное программирование 38

Метапрограммирование 38

Качество кода. Критерии качества кода 39

Форматирование и оформление 39

Комментарии 40

Читаемость 40

Обработка исключений 40

Документирование 41

Рефакторинг 41

Архитектура программного обеспечения 42

Отличие архитектуры ПО от детального проектирования ПО 44

Примеры архитектурных стилей и моделей 44

Паттерны проектирования 45

Адаптер (adapter, wrapper) 45

Абстрактная фабрика (abstractfactory, kit) 46

Стратегия (strategy, policy) 46

Менеджмент Проекта 48

Проектный менеджмент 48

Команда менеджмента проекта 48

Команды в проекте 48

Соотношение между различными командами в проекте 49

Цели КМП в проекте 49

Создание и развитие КМП 49

Сущность и характеристики КМП 49

Управление трудовыми ресурсами проекта и менеджмент человеческих ресурсов проекта 50

Интегрированная культура КМП 51

Оценка деятельности КМП 51

Что такое эффективная КМП? 51

Команда Менеджмента Проекта – критический фактор успеха проекта 51

Структура проекта 52

Определение проекта 52

Основные признаки проекта 52

Направленность на достижение целей 52

Координированное выполнение взаимосвязанных действий 53

Ограниченная протяженность во времени 53

Уникальность 54

Структура проекта 54

Разработка программного обеспечения 57

Виртуальная реальность 57

Виртуальная реальность в играх. 58

Виртуальная реальность и 3D. 58

История виртуальной реальности. 60

Что такое виртуальная реальность? 61

Миры с различными потенциально-возможными сценариями хода событий 62

Студии виртуальной реальности на телевидении 67

Имитационное моделирование 68

Искусственный интеллект 78

Предпосылки развития науки искусственного интеллекта 78

Подходы и направления 78

Тест Тьюринга 79

Суть процесса искусственного мышления 80

Применение 80

Перспективы 81

Искусственный интеллект в играх 81

Этика 81

Распределённые и облачные вычисления 82

Распределённые вычисления 82

Участие в проектах распределенных вычислений 82

Облачные вычисления 86

Нейронные сети 91

Этапы решения задач 91

Классификация нейронных сетей 91

Возможные способы применения и реализации 92

Категории аппаратного обеспечения ИНС 93

Аутсорсинг 96

ИТ-аутсорсинг 96

ИТ-аутсорсинг и любая современная компания 96

Мировой рынок экспортного программирования 97

Прогноз развития мирового и российского рынка 97

Белорусскиекомпании 98

Типы аутсорсинга 98

САПР 100

Развитие CAD технологий 101

Исправление ошибок 102

Системы старшего класса 104

Большие сборки 106

Зачем нужны сборки 106

Стратегии упрощения 107

Моделирование 109

Параметризация 109

Гибридное моделирование 110

Практические результаты 111

Проектная база: технология моделирования 111

Переход к гибридному моделированию 111

Электронная сборка 112

Модель акторов 113

История 113

Фундаментальные концепции 113

Формальные системы 114

Применения 114

Семантика передачи сообщений 114

Локальность 115

Безопасность 115

Актуальность в настоящий момент 116

Социальный компьютинг 117

IdeaManagement 118

Сферы применения 119

С чего начать 120

Тестирование программного обеспечения 123

Уровни тестирования 123

Модульное тестирование 123

Интеграционное тестирование 124

Системное тестирование программного обеспечения 125

Функциональное тестирование 126

Регрессионное тестирование 127

Нагрузочное тестирование 129

Тестирование «белого ящика» и «чёрного ящика» 130

Серый ящик. Комбинация предыдущих. 130

Информационная безопасность 132

Авторское право и его защита 132

Авторское право 132

Типы лицензий 137

Взлом информации и защита от взлома 141

Классы атак 141

Компьютерные вирусы 147

Антивирусные программы 149

Жизненный цикл вируса. 152

Стратегии развития крупнейших IT-компаний 153

Microsoft 153

Перспективы развития Microsoft 153

Секреты успеха 153

IBM 156

Крупнейшие производители современных операционных систем и их продукты 158

Apple/Mac OS X 159

Linux 163

FreeBSD 169

Преимущества FreeBSD 172

Мобильные ОС 175

Symbian OS 175

Windows Mobile 176

Android 178

Введение

Изменения, происходящие в деловом мире в последние десятилетия, характеризуются постоянным ужесточением конкуренции. Стремление компаний выжить и преуспеть в новых условиях приводит к целенаправленным попыткам получить конкурентное преимущество с помощью современных информационных технологий.

Согласно появившейся в 1980-м и развивающейся по настоящее время концепции стратегической роли информационных систем, ИС являются не просто инструментом, обеспечивающим обработку информации для конечных пользователей внутри фирмы. Они становятся “генератором” новых продуктов и услуг, которые должны обеспечить фирме конкурентную позицию на рынке, а также играют решающую роль в реализации стратегических планов организации.

Эффективное использование информации не означает, что необходимо механически повышать скорость и объемы ее переработки. На первый план выходят такие проблемы, как:

  • адекватность собираемой, хранимой, обрабатываемой и предоставляемой пользователям информации их реальным потребностям;

  • четкое представление об информационных потребностях участников процессов;

  • понимание соответствия процессов стратегическим целям организации;

  • видение перспектив развития организации и возможное влияние развития информационных технологий на них

Для динамичного развития бизнеса в целом информационная инфраструктура не менее важна, чем любая другая инфраструктура.Особую роль при повышении уровня информатизации производственных и управленческих процессов играют информационные системы.

Под информационной системой (ИС) понимается система, предназначенная для хранения, обработки, поиска, распространения, передачи и предоставления информации.

В этой книге описываются все основные этапы создания информационных систем.

Сначала читателю предлагается ознакомиться с основами проектирования информационных систем. В первых главах подробно описывается алгоритм построения плана работ по созданию проекта. Далее ведётся описание основных моделей и паттернов проектирования, которые применяются при реализации поставленных задач. В заключение приводятся примеры стратегий развития крупнейших на данный момент лидеров рынка IT.

Книга будет полезна и начинающему программисту, которому требуется сформировать представления о возможных методах реализации задач, и опытному разработчику, который хочет систематизировать свои знания о структуре проекта и отдельных его элементах.

Жизненный цикл it-проекта

Одним из ключевых понятий управления проектами, в том числе в приложении к индустрии программного обеспечения, является жизненный цикл проекта. Жизненный цикл проекта включает все фазы от момента инициации до момента завершения. Как влияет размер проекта на жизненный цикл? Логично, что чем больше проект – тем больше его жизненный цикл. Например, существует корпорация, которая хочет сделать некий проект базы данных всей материальной базы организации. Проект глобальный, а цикл не завершится пока данный проект не перестанет функционировать.

Переходы от одного этапа к другому редко четко определены, за исключением тех случаев, когда они формально разделяются принятием предложения или получением разрешения на продолжение работы.

Принято разделять жизненный цикл проекта на 5 фаз:

  1. Инициация

  2. Планирование

  3. Выполнение

  4. Контроль и мониторинг

  5. Завершение

При создании IT-проекта все эти фазы проходятся последовательно, за исключением контроля и мониторинга. Его элементы, такие как сбор отчетности о ходе работ по проекту, анализ текущего состояния проекта относительно базовых показателей (результаты, стоимость, время), прогнозирование достижения целей проекта, подготовку и анализ последствий корректирующих воздействий, принятие решений о воздействиях и изменениях используются на всех стадиях разработки ПО, поэтому у IT-проекта принято выделять следующие обобщенные фазы жизненного цикла (в скобках приведены используемые в различных источниках альтернативные термины):

  1. Концепция (инициация, идентификация, отбор)

  2. Определение (анализ, планирование)

  3. Выполнение (практическая реализация или внедрение, производство и развертывание, проектирование или конструирование, сдача в эксплуатацию, инсталляция, тестирование и т.п.)

  4. Закрытие (завершение, включая оценивание после завершения)

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]