Главная Контакты  Мобильная версия  (066) 738-0-738(093) 738-0-738(044) 247-08-33
    Новинки  |  Оплата и доставка  | Почему выбирают нас  |  Контакты  |  Статьи  |  Корпоративная библиотека
 Разделы
 ТОП лучших книг
Элитные кожаные книги в подарок
Что может позиционироваться лучшим подарком для респектабельного...

Лучшие книги по подбору персонала
1.Искусство подбора персонала Светлана Иванова 2.Развитие потенциала...

Книга в подарок миниатюрное издание
Согласитесь, порой выбор подарка дается очень непросто и отнимает...

Архив ТОП лучших книг
 Статьи


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

Сортировать по: Названию A-Я  Я-А Цене По возраст.  По убыванию Году выпуска  

Главная > Разработка программного обеспечения
Показано 1 - 10 (всего 10)  1 
 Реализация методов предметно-ориентированного проектирования
Реализация методов предметно-ориентированного проектирования
Программная инженерия " Для разработчиков...

1,000.00грн
Купить сейчас  
 Алгоритмы: разработка и применение. Классика Computers Science
Алгоритмы: разработка и применение. Классика Computers Science
Алгоритмические задачи  формируют...

1,000.00грн
Купить сейчас  
 Использование Docker
Использование Docker
Docker — это открытая платформа для...

950.00грн
Купить сейчас  
 Программирование без дураков
Программирование без дураков
Планируете начать программировать "...

750.00грн
Купить сейчас  
 Пользовательские истории. Искусство гибкой разработки ПО
Пользовательские истории. Искусство гибкой разработки ПО
Пользовательские истории — это метод...

550.00грн
Купить сейчас  
 Среда динамического моделирования технических систем SimInTech
Среда динамического моделирования технических систем SimInTech
Книга содержит основные сведения по компьютерному...

650.00грн
Купить сейчас  
 Софт за 30 дней. Как Scrum делает невозможное возможным
Софт за 30 дней. Как Scrum делает невозможное возможным
О книге Создатели методики  Scrum ...

500.00грн
Купить сейчас  
 Clean Architecture: A Craftsman's Guide to Software Structure and Design (Robert C. Martin Series)
Clean Architecture: A Craftsman's Guide to Software Structure and Design (Robert C. Martin Series)
Building upon the success of best-sellers ...

1,650.00грн
Купить сейчас  
 Рефакторинг: улучшение проекта существующего кода
Рефакторинг: улучшение проекта существующего кода
Переиздание классического труда по...

850.00грн
Купить сейчас  
 Continuous delivery. Практика непрерывных апдейтов
Continuous delivery. Практика непрерывных апдейтов
Эта книга поможет всем, кто собирается...

600.00грн
Купить сейчас  
Показано 1 - 10 (всего 10)  1 
Разработка программного обеспечения (англ. software development) — деятельность по созданию нового программного обеспечения.
 
Разработка программного обеспечения как инженерная дисциплина является составной частью (областью) программной инженерии, наряду с дисциплинами, отвечающими за функционирование и сопровождение программных продуктов.
 
Процесс разработки программного обеспечения (англ. software development process, software process) — структура, согласно которой построена разработка программного обеспечения (ПО).
 
Существует несколько моделей такого процесса, каждая из которых описывает свой подход, в виде задач и/или деятельности, которые имеют место в ходе процесса.
 
Процесс разработки состоит из множества подпроцессов, или дисциплин, некоторые из которых показаны ниже. В модели водопада они идут одна за другой, в других аналогичных процессах их порядок или состав изменяется.
 
- Анализ требований → Спецификация программного обеспечения
- Проектирование программного обеспечения
- Программирование
- Тестирование программного обеспечения
- Системная интеграция (System integration)
- Внедрение программного обеспечения (или Установка программного обеспечения)
- Сопровождение программного обеспечения
 
Модели процесса:
 
Водопадная модель жизненного цикла (англ. waterfall model) была предложена в 1970 г. Уинстоном Ройсом. Она предусматривает последовательное выполнение всех этапов проекта в строго фиксированном порядке. Переход на следующий этап означает полное завершение работ на предыдущем этапе. Требования, определенные на стадии формирования требований, строго документируются в виде технического задания и фиксируются на все время разработки проекта. Каждая стадия завершается выпуском полного комплекта документации, достаточной для того, чтобы разработка могла быть продолжена другой командой разработчиков.
 
Этапы проекта в соответствии с каскадной моделью:
 
- Формирование требований;
- Проектирование;
- Реализация;
- Тестирование;
- Внедрение;
- Эксплуатация и сопровождение.
 
 
Итерационная модель
 
Альтернативой последовательной модели является так называемая модель итеративной и инкрементальной разработки (англ. iterative and incremental development, IID), получившей также от Т. Гилба в 70-е гг. название эволюционной модели. Также эту модель называют итеративной моделью и инкрементальной моделью.
 
Модель IID предполагает разбиение жизненного цикла проекта на последовательность итераций, каждая из которых напоминает «мини-проект», включая все процессы разработки в применении к созданию меньших фрагментов функциональности, по сравнению с проектом в целом. Цель каждой итерации — получение работающей версии программной системы, включающей функциональность, определённую интегрированным содержанием всех предыдущих и текущей итерации. Результат финальной итерации содержит всю требуемую функциональность продукта. Таким образом, с завершением каждой итерации продукт получает приращение — инкремент — к его возможностям, которые, следовательно, развиваются эволюционно. Итеративность, инкрементальность и эволюционность в данном случае есть выражение одного и того же смысла разными словами со слегка разных точек зрения.
 
По выражению Т. Гилба, «эволюция — приём, предназначенный для создания видимости стабильности. Шансы успешного создания сложной системы будут максимальными, если она реализуется в серии небольших шагов и если каждый шаг заключает в себе четко определённый успех, а также возможность «отката» к предыдущему успешному этапу в случае неудачи. Перед тем, как пустить в дело все ресурсы, предназначенные для создания системы, разработчик имеет возможность получать из реального мира сигналы обратной связи и исправлять возможные ошибки в проекте».
 
Подход IID имеет и свои отрицательные стороны, которые, по сути, — обратная сторона достоинств. Во-первых, целостное понимание возможностей и ограничений проекта очень долгое время отсутствует. Во-вторых, при итерациях приходится отбрасывать часть сделанной ранее работы. В-третьих, добросовестность специалистов при выполнении работ всё же снижается, что психологически объяснимо, ведь над ними постоянно довлеет ощущение, что «всё равно всё можно будет переделать и улучшить позже».
 
Различные варианты итерационного подхода реализованы в большинстве современных методологий разработки (RUP, MSF, XP).
 
 
Спиральная модель
 
Спиральная модель (англ. spiral model) была разработана в середине 1980-х годов Барри Боэмом. Она основана на классическом цикле Деминга PDCA (plan-do-check-act). При использовании этой модели ПО создается в несколько итераций (витков спирали) методом прототипирования.
 
Каждая итерация соответствует созданию фрагмента или версии ПО, на ней уточняются цели и характеристики проекта, оценивается качество полученных результатов и планируются работы следующей итерации.
 
На каждой итерации оцениваются:
- риск превышения сроков и стоимости проекта;
- необходимость выполнения ещё одной итерации;
- степень полноты и точности понимания требований к системе;
- целесообразность прекращения проекта.
 
Важно понимать, что спиральная модель является не альтернативой эволюционной модели (модели IID), а специально проработанным вариантом. К сожалению, нередко спиральную модель либо ошибочно используют как синоним эволюционной модели вообще, либо (не менее ошибочно) упоминают как совершенно самостоятельную модель наряду с IID.
 
Отличительной особенностью спиральной модели является специальное внимание, уделяемое рискам, влияющим на организацию жизненного цикла, и контрольным точкам. Боэм формулирует 10 наиболее распространённых (по приоритетам) рисков:
- Дефицит специалистов.
- Нереалистичные сроки и бюджет.
- Реализация несоответствующей функциональности.
- -Разработка неправильного пользовательского интерфейса.
- Перфекционизм, ненужная оптимизация и оттачивание деталей.
- Непрекращающийся поток изменений.
- Нехватка информации о внешних компонентах, определяющих окружение системы или вовлеченных в интеграцию.
- Недостатки в работах, выполняемых внешними (по отношению к проекту) ресурсами.
- Недостаточная производительность получаемой системы.
- Разрыв в квалификации специалистов разных областей.
 
В сегодняшней спиральной модели определён следующий общий набор контрольных точек:
- Concept of Operations (COO) — концепция (использования) системы;
- Life Cycle Objectives (LCO) — цели и содержание жизненного цикла;
- Life Cycle Architecture (LCA) — архитектура жизненного цикла; здесь же возможно говорить о готовности концептуальной архитектуры целевой программной системы;
- Initial Operational Capability (IOC) — первая версия создаваемого продукта, пригодная для опытной эксплуатации;
- Final Operational Capability (FOC) –— готовый продукт, развернутый (установленный и настроенный) для реальной эксплуатации.