Студопедия

КАТЕГОРИИ:

АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция

Модели жизненного цикла программного обеспечения




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

Рис.1.8.

Достоинства:

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

§ простота планирования процесса разработки.

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

2) Модели с промежуточным контролем.

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

Рис.1.9.

 

Опасность использования этой схемы – разработка никогда не будет завершена.

3) Спиральная модель (середина 80-х)

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

На первой итерации обычно проектируют, реализуют и тестируют интерфейс пользователя. На второй добавляют ограниченный набор функций.

Достоинства: начиная с некоторой итерации (где обеспечена определенная функциональная полнота) продукт уже можно предоставлять пользователю, что позволяет:

1) сокращает время до появления первых версий программного продукта;

2) заинтересованность большого количества пользователей;

3) уменьшить вероятность морального устаревания системы.

Основная проблема – это определение моментов перехода на следующие стадии. Для её решения обычно ограничивают сроки прохождения каждой стадии, основываясь на экспертных системах.



Понятия эффективности и технологичности программного обеспечения.

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

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

1.машинно-зависимые (ориентированы на конкретный машинный язык; выполняют оптимизацию кодов на уровне машинных команд)

2.машинно-независимые (выполняют оптимизацию на уровне входного языка, например, вынесение константных выражений из циклов и т. д.).










Последнее изменение этой страницы: 2018-05-27; просмотров: 205.

stydopedya.ru не претендует на авторское право материалов, которые вылажены, но предоставляет бесплатный доступ к ним. В случае нарушения авторского права или персональных данных напишите сюда...