3. Современные модели
К середине 1990-х годов индустрия ПО стала достаточно развитой, сложные проекты успешно реализовывались с помощью приобретающей популярность объектно-ориентированной методологии, а команды разработчиков стали применять подходы, основанные на использовании наиболее значимых преимуществ предыдущих моделей.
3.1. Объектно-ориентированная модель. Данная методология предполагает конструирование программного решения из готовых объектов, для которых определяются правила их взаимодействия, переводящие объекты из одного состояния в другое. Такая модель, предусматривающая полное соответствие процесса разработки положениям объектно-ориентированной методологии (объектно-ориентированный анализ, проектирование, программирование), эффективна в крупных проектах, а также там, где применяются так называемые средства быстрой разработки (RAD, Rapid Application Development), основанные на этих технологиях и содержащие готовые библиотеки классов.
Однако сами по себе RAD-системы не располагают к созданию объектно-ориентированных решений. Программисты, избалованные инструментарием, позволяющим в считанные часы создавать из готовых компонентов продукты, на которые ранее уходили дни и месяцы работы, считают лишним утруждать себя детальным изучением методологии и UML, а уж тем более не стремятся оформлять свои решения в виде классов, пригодных для повторного использования.
Таким образом, объектно-ориентированная модель применяется преимущественно в очень крупных проектах, где уделяется должное внимание этапам анализа и проектирования, а также жестко контролируется соблюдение разработчиками установленных правил.
3.2. Итеративная модель.Впервые предложенная Филиппом Крачтеном в 1995 г., данная модель объединяет главные преимущества спиральной, инкрементной, каскадной моделей, а также методов разработки на основе создания прототипов и объектно-ориентированного подхода (рис. 4). Она завоевала большую популярность и в том или ином виде используется во многих современных проектах.
Рис. 4. Итеративная модель предлагает использование итераций на всех этапах жизненного цикла
В соответствии с итеративной моделью имеются четыре основные фазы жизненного цикла разработки ПО (начало, исследование, построение и внедрение). На каждой фазе проект проходит множество итераций, приводящих к созданию работоспособных версий: на начальных создаются прототипы, уточняются требования, прорабатываются наиболее сложные проблемы; конечные приводят к созданию продукта, его совершенствованию и расширению функциональности.
Итеративная модель, помимо основных фаз, выделяет еще две группы процессов: рабочие (управление требованиями, анализ и проектирование, реализация, тестирование, развертывание) и вспомогательные (управление конфигурацией и изменениями, проектом и процессом). Количество и суть процессов варьируются в зависимости от потребностей разработчика, они также могут иметь свои циклы, которые не обязательно даже соответствуют основным фазам. Однако результатом рабочих процессов всегда является создание версий продукта.
Итеративная модель подобно спиральной дает возможность успешно справляться с рисками. Если во время работы над очередной версией будет установлено, что трудозатраты на реализацию необходимой функциональности слишком велики, то превышения бюджета и нарушения сроков можно будет избежать путем соотнесения приоритетов разработки и трудозатрат в начале каждой итерации. Таким образом, данная модель хорошо подходит для большинства типов программных проектов, но особенно ее преимущества заметны при работе над продуктами, предназначенными для выхода на свободный рынок, в силу изначальной ориентации на выпуск последовательных версий.
Филипп Крачтен долгое время работает в фирме Rational Software, которая сейчас принадлежит IBM. Именно по этой причине итеративная модель стала основой RUP (Rational Unified Process) – одного из наиболее распространенных методов комплексного управления процессом разработки ПО.На ее же основе разработан главный конкурент RUP со стороны Microsoft – MSF (Microsoft Solutions Framework), а также аналогичный подход компании Borland – ALM (Application Lifecycle Management).
3.3. Модели быстрой разработки. Множество ограничений в современных методологиях создания ПО привели к тому, что компании-разработчики во многом стали похожи на гигантские бюрократические системы. Наличие большого количества формальных процедур и правил существенно сужает свободу действий каждого конкретного программиста, превращает его в винтик в огромной и неповоротливой машине. Несмотря на то, что подобные машины способны вполне успешно справляться со стоящими перед ними задачами, обычно их КПД довольно низок и удельная производительность отдельного разработчика настолько мала, что нормальным может считаться написание программистом нескольких строк кода в день.
Бросить вызов подобным перегруженным формальностями подходам призваны модели быстрой разработки, такие, как, например, экстремальное программирование. Их суть заключается в отказе от всего лишнего, что не относится непосредственно к созданию качественного программного продукта, а за основу берутся лишь наиболее эффективные методы создания ПО. Особое внимание уделяется вопросам взаимодействия с заказчиком, организации продуктивной работы и тестированию. Многие идеи быстрой разработки не были чем-то новым, например юнит-тесты уже давно применялись во многих проектах, однако собранные вместе и ставшие обязательными для применения, они возымели положительный эффект. Об этих методах в последнее время стали говорить все чаще, а их элементы начали заимствоваться многими классическими моделями.
В современных условиях быстрая разработка – это очень модный подход, и ее используют все активнее. Основное преимущество состоит в том, что сравнительно небольшие группы разработчиков способны справляться с проектами за то же время, которое необходимо при применении более традиционных методов командами на порядок большей численности.
Однако здесь имеются и свои недостатки, в частности быстрая разработка плохо подходит для крупных проектов и ориентирована в основном на небольшие и средние, кроме того, ее эффективное использование возможно только при условии, что создатели ПО обладают весьма высокой квалификацией и значительным опытом.
3.4. Адаптированные и комбинированные модели. На самом деле в процессе эволюции моделей жизненного цикла разработки ПО новые идеи не заменяли старые целиком и полностью. Более правильно считать, что каждая из них имеет собственную сферу применения. Кроме того, в каждом конкретном случае может оказаться, что не существует методики, которая идеально подходит для решения данной задачи. В этом случае менеджерам программных проектов следует рассмотреть варианты адаптации моделей под конкретные потребности либо применять комбинированные методы, включающие элементы различных подходов. Например, успех быстрой разработки привел к тому, что более консервативные модели переняли самые эффективные ее приемы и стали использовать их уже в рамках своих процессов.
Способы распространения ПО, виды лицензий на ПО
Типы лицензий:
Freeware (от англ. "свободный").
Lite version (от англ. "легкий").
Demo (от англ. "демонстрация").
Donate(от англ. "дарить", "жертвовать").
Open Source Software (от англ. "открытые программные средства").
Spyware (от англ. spy "шпион")
Adware (от англ. "реклама", "объявление")
Shareware (от англ. "делиться")
Trialware (от англ. "испытание", "проба")
Warez (от англ. wares "товар")
Crack included (от англ. сленг. crack "совершить кражу со взломом")
Pirates compiled (от англ. "пиратская компиляция")
Musicware.
Различия.
lite и demo.Lite-продукт, в отличие от demo-версий, содержит полный набор необходимых для работы функций, просто наиболее продвинутые из них недоступны. В demo же версиях функций по минимуму, а рекламы по максимуму.
Spyware- и adware-лицензии. Здесь имеет место переход adware-программы в разряд spyware. Происходит это в том случае, если продукт пытается без ведома пользователя загрузить из Сети новую рекламу для демонстрации. Под фразой "без ведома пользователя" подразумевается, что этот момент не оговаривается в лицензионном соглашении или сама программа не выдает сообщение во время первого запуска или до начала скачивания о том, что в ней есть такая функция.
Shareware и trialware.Ключевое отличие между двумя этими лицензиями в том, что shareware-программы имеют функциональные ограничения и могут иметь временное. Trial же программы имеют только временное ограничение, в остальном – это полнофункциональные продукты.
Warez и crack included.То, что предлагают владельцы большинства варез-порталов – это, по сути, обыкновенный crack included или же просто нормальный продукт плюс ссылка на крек. Стопроцентный варез обычно распространяется на сайтах хакерских групп, которые "ломают" продукты. Warez может перейти в раздел pirates compiled, если его начинают продавать (изначально варез являлся бесплатным), чем сейчас и занимаются некоторые варез- и крек-порталы.
В раздел pirates compiledпопадают любые продукты, которые распространяются на пиратских дисках. При этом не играет роли, какой тип лицензии у программы был изначально.
- Краткий
- 1.1. Предмет и содержание дисциплины.
- 1.3. Информационные технологии (ит). Понятие ит. Этапы развития ит (самостоятельное изучение). Компьютерные информационные технологии и их классификация.
- 1. Этапы развития ит.
- 1.5. Обработка информации. Обобщенная технологическая схема обработки информации.
- Тема 2. Техническое обеспечение кит
- 2.2. Типы архитектур вычислительных систем (вс). Однопроцессорные, многопроцессорные и многомашинные вс.
- 2.3. Структурная схема пк. Принцип «открытой архитектуры». Назначение и характеристики основных устройств. Типовой комплект пк, назначение и характеристика всех компонентов (самостоятельное изучение).
- 2.6. Устройства ввода/вывода и их подключение к компьютеру; контроллеры, порты, шины (рассмотрены в вопросе «Структурная схема пк»); виды и стандарты системных шин (самостоятельное изучение).
- 2.7. Производительность пк. Параметры, влияющие на производительность. Пути повышения производительности.
- 2.8. Персональные компьютеры (пк). Классификация пк по назначению, габаритам, конструктивным особенностям, производителям и др.
- 2.9. Тенденции развития технических средств кит.
- Тема 3. Сетевые информационные технологии
- 3.1. Компьютерные сети. Понятие сети. Классификация по территориальному признаку, топологии, методу коммутации. Конвергенция компьютерных сетей.
- 3.2. Стандартизация компьютерных сетей. Понятие интерфейса и протокола компьютерных сетей, стека сетевых протоколов. Понятие «открытой» системы. Модель osi.
- Глобальная сеть Internet. Структура сети Internet. Стек протоколов tcp/ip. Протоколы прикладного уровня сети Internet. Адресация компьютера в сети. Система доменных имен в сети Internet.
- 3.5. Сервисы Internet. Виды сервисов в Internet, их назначение и особенности.
- 3.6. World Wide Web: понятие гипертекстового документа, Web-страницы, назначение языка и особенности html. Протокол http. Url-адресация Web-ресурсов.
- Метод доступа://сетевой адрес компьютера/путь/имя файла
- 3.7. Браузеры. Общая характеристика. Функциональные возможности браузера Internet Explorer, настройка рабочей среды (самостоятельная работа; лабораторная работа). Поиск информации в www.
- 1. Функциональные возможности браузера Internet Explorer, настройка рабочей среды.
- 3.8. Электронная почта. Принципы функционирования. Почтовые протоколы. Регистрация почтового ящика (самостоятельная, лабораторная работа). Почтовый адрес.
- 1. Регистрация почтового ящика.
- Student1@gmail.Com
- 1. Функциональные возможности программы Outlook Express, настройка рабочей среды, создание учетной записи, работа с почтовыми сообщениями.
- 1. Обзор почтовых клиентов и их функциональных характеристик.
- Тема 4. Системное программное обеспечение кит. Операционные системы
- 4.1. Классификация программного обеспечения (по) пк. Модели разработки по. Способы распространения по, виды лицензий на по.
- 1. Модели на основе инженерного подхода
- 2. Модели, учитывающие специфику разработки по.
- 3. Современные модели
- 4.2. Системное программное обеспечение. Состав и назначение.
- 4.3. Операционные системы. Назначение и классификация ос. Семейства ос.
- 4.4. Сетевые ос. Способы организации сетевого доступа. Технология сетевого взаимодействия клиент-сервер. Ос для одноранговых сетей и сетей с выделенных сервером. Сетевые службы и сетевой сервис.
- Одноранговые сетевые ос и ос с выделенными серверами
- Ос с выделенным сервером (ос для рабочих групп и ос для сетей масштаба предприятия)
- 4.5. Ос Windows. Общая характеристика. Файловая система Windows. Основные объекты Windows (файл, папка, документ, ярлык, приложение).
- 4.7. Стандартные папки Windows (самостоятельное изучение). Мой компьютер, Корзина, Сетевое окружение, Принтеры и др. Их назначение и использование.
- 4.8. Поиск информации в Windows. Поиск файлов, папок, компьютеров, принтеров и др. Критерии поиска, шаблон имен файлов (п.2.5, тема 2).
- Поиск файла или папки с помощью поля поиска в папке или библиотеке
- Поиск файла с помощью фильтров поиска
- Расширение поиска по определенной библиотеке или папке
- 4.9. Файловые менеджеры. Назначение и виды (Проводник, Total Commander, far Manager, Frigate и др.) и характеристика.
- 4.10. Средства ос для защиты информации. Права доступа, идентификация, аутентификация, авторизация.
- Тема 5. Сервисные программы
- 5.1. Сервисные программы. Назначение и виды. Пакет сервисных программ Norton Utilities for Windows: назначение основных утилит Speed Disk, Norton Disk Doctor, UnErase, System Information и др.
- 5.2. Служебные программы ос Windows. Назначение, виды, функциональные возможности. Программы форматирования дисков, дефрагментации дисков и др.
- 5.3. Антивирусные программы. Понятие вируса, классификация вирусов (самостоятельное изучение), классификация компьютерных вредителей. Назначение и классификация антивирусных программ.
- 5.4. Программы-архиваторы. Назначение и принцип архивации. Функциональные возможности и сравнительная характеристика архиваторов WinZip и WinRar (самостоятельная работа).
- Тема 6. Прикладное программное обеспечение кит. Системы обработки текстовых документов
- 6.1. Прикладное программное обеспечение. Офисные пакеты, их назначение и компоненты. Общая характеристика компонентов ms Office.
- 6.2. Защита информации в приложениях ms Office. Защита от редактирования и от просмотра документа.
- Защита книг и листов в ms Excel
- 6.3. Системы обработки текстовых документов. Классификация, функциональные возможности.
- 1.1. Блокнот
- 1.2. WordPad.
- 2. Более совершенные текстовые редакторы.
- 3. Настольные издательские системы.
- 6.4. Системы распознавания текстов (ocr-системы). Характеристика и функциональные возможности.
- 6.5. Текстовый процессор ms Word. Функциональные возможности. Настройка рабочей среды. Технология работы (самостоятельная подготовка). Тема 7. Системы обработки табличной информации
- 7.1. Табличные процессоры: Функциональные возможности.
- 7.3. Типы данных в Excel. Числовые и текстовые данные, дата и время. Форматы числа. Создание пользовательского формата числа.
- 7.4. Автозаполнение данных: формул, числовых, текстовых. Создание пользовательских списков для автозаполнения.
- 7.5. Возможности деловой графики в Excel.
- 7.6. Технология создания связанных таблиц в Excel.
- 7.7. Возможности Excel по работе со списком (базой данных): работа с формой, сортировка, фильтрация, подведение итогов, создание сводных таблиц.
- Тема 8. Системы обработки графической информации
- 8.1. Классификация компьютерной графики по способу формирования изображения, размерности, назначению и др.
- 8.2. Системы компьютерной графики. Виды и функциональные возможности. Графические форматы данных.
- 8.3. Системы создания динамических презентаций. Виды и функциональные возможности (на самостоятельную подготовку).
- 1. Системы создания динамических презентаций. Виды и функциональные возможности.
- 8.5. Презентация и ее структура. Слайд. Объекты слайдов, разметка слайдов, заметки к слайдам.
- 8.6. Управление воспроизведением презентации. Ручная и автоматическая демонстрация. Установка очередности, времени и эффектов смены слайдов.
- Тема 9. Пакеты для математической обработки данных
- 9.1. Пакеты для математической обработки данных и их функциональные возможности.
- 1. MatLab.
- 2. Mathematica.
- 3. MAthCad
- 9.2. Пакет MathCad. Особенности, функциональные возможности. Настройка рабочей среды. Технология работы (на самостоятельную подготовку).
- 1. Технология работы
- Тема 10. Программы-органайзеры
- Содержание лекции.
- 10.1. Программы-органайзеры. Виды и функциональные возможности. Тема для подготовки реферата
- 10.2. Органайзер ms Outlook. Общая характеристика, функциональные возможности, настройка рабочей среды.
- 11.1. Этапы решения задач на компьютере.
- 11.3. Инструментальные средства программирования. Языки программирования, их классификация.
- 11.4. Технологии программирования.
- 11.5. Программирование в среде приложений ms Office. Макропрограммирование. Программирование в среде vba.