Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
технология разработки ПО.doc
Скачиваний:
40
Добавлен:
31.03.2015
Размер:
193.54 Кб
Скачать

Технология разработки по Введение

Производство ПО сегодня – это крупнейшая отрасль мировой экономики, в которой занято несколько миллионов специалистов. Еще несколько млн. человек напрямую зависят от благополучия корпоративных информационных подразделений, либо от производителей ПО, таких как Microsoft,IBMи т.д.

В начале 70-х, в США был отмечен кризис программирования, это выражалось в том, что, во-первых, большие проекты стали выполняться с отставанием от графика или с превышением сметы расходов, во-вторых, разработанный программный продукт не обладал требуемыми функциональными возможностями, в-третьих, производительность его была низка, в-четвертых, качество получаемого программного ПО не устраивала потребителей.

Потребность контролировать процесс разработки ПО, прогнозировать и гарантировать стоимость разработки, сроки и качество результата, привела в конце 70-х к необходимости перехода от кустарных к индустриальным способам создания ПО и появлению совокупности инженерных методов и средств создания ПО, объединенных общим названием программная инженерия. В процессе становления и развития программной инженерии обычно выделяют два этапа:

70-80 годы – систематизация и стандартизация процессов создания ПО на основе структурного подхода.

90 годы – начало перехода к сборочному, индустриальному способу создания ПО на основе ООП.

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

Тенденции развития современных информационных технологий определяют постоянное возрастание сложности ПО. Для создания такого ПО специалист должен владеть, как прописано в ГОСТ-е нового поколения, методами анализа, проектирования, реализации и тестирования программных систем, ориентироваться в существующих подходах и технологиях.

Организации процесса конструирования программных систем

Создание программных продуктов, как и любых других сложных систем выполняется поэтапно с использованием блочно-иерархического подхода. Этот подход подразумевает разработку продукта по частям с последующей сборкой. На каждом этапе выполняются определенные проектные операции, которые соответствующим образом документируются. Последовательность выполнения этапов и их результаты непосредственно следует из используемой модели жизненного цикла ПО.

Жизненный цикл – время от момента появления идеи создания некоторого ПО до момента завершения его поддержки фирмой разработчиком или фирмой выполняющей сопровождения. В жизненном цикле принято выделять следующие этапы:

- постановка задачи

- анализ требований и разработка спецификаций

- проектирование

- реализация (эволюция)

- модификация (сопровождение)

В процессе постановки задачи четко формулируют назначение ПО и определяют основные требования к нему, этап постановки задачи заканчивается разработкой ТЗ.

Спецификациями называют точное формализованное описание функций и ограничений разрабатываемого программного обеспечения. Различают спецификации функциональные и эксплуатационные. Совокупность спецификаций представляет собой общую логическую модель проектируемого ПО. Для получения спецификаций выполняют анализ требований ТЗ, осуществляют содержательную постановку задачи, выбирают математический аппарат формализации, строят модель предметной области, определяют подзадачи, выбирают или разрабатывают методы их решений. Часть спецификаций может быть определена в процессе предпроектных исследований и зафиксирована в ТЗ. На этом этапе обычно формируются тесты для поиска ошибок в ПО. Эти тесты параллельно послужат для уточнения спецификаций.

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

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

Реализация представляет собой процесс написания кодов на выбранном языке программирования, их тестирования и отладку.

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

На разных этапах развития технологии разработки ПО использовались и используются следующие схемы (модели) разработки ПО:

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

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

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

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