Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Курсак.doc
Скачиваний:
9
Добавлен:
09.11.2019
Размер:
1.85 Mб
Скачать
    1. Требования к web-сайту

При разработке web-сайта должны учитываться следующие параметры:

  • сайт должен содержать краткую информацию по дисциплине «география»

  • сайт должен содержать тесты для проверки знаний

Вывод:

  1. Была изучена предметная область по дисциплине «География» были выделены основные части теоретического материала, которые будут использоваться при создании web-сайта «География для студента»

  2. Были выдвинуты требования, к web-сайту которым будет отвечать создаваемы программный продукт.

  1. Выбор модели жизненного цикла программного продукта

Жизненный цикл программного обеспечения – период времени, который начинается с момента принятия решения о необходимости создания программного продукта и заканчивается в момент его полного изъятия эксплуатации. Этот цикл – процесс построения и развития ПО.

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

Стандарт ГОСТ Р ИСО/МЭК 12207-99 не предлагает конкретную модель жизненного цикла. Его положения являются общими для любых моделей жизненного цикла, методов и технологий создания ИС. Он описывает структуру процессов жизненного цикла, не конкретизируя, как реализовать или выполнить действия и задачи, включенные в эти процессы.

Модель ЖЦ ПО включает в себя:

Стадии;

Результаты выполнения работ на каждой стадии;

Ключевые события – точки завершения работ и принятия решений.

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

    1. Модели жизненного цикла по:

Водопадная (каскадная, последовательная) модель.

Водопадная модель жизненного цикла была предложена в 1970 г. Уинстоном Ройсом (рис 2.1). Она предусматривает последовательное выполнение всех этапов проекта в строго фиксированном порядке. Переход на следующий этап означает полное завершение работ на предыдущем этапе. Требования, определенные на стадии формирования требований, строго документируются в виде технического задания и фиксируются на все время разработки проекта. Каждая стадия завершается выпуском полного комплекта документации, достаточной для того, чтобы разработка могла быть продолжена другой командой разработчиков.

  • Этапы проекта в соответствии с каскадной моделью:

  • Формирование требований

  • Проектирование

  • Реализация

  • Тестирование

  • Внедрение

  • Эксплуатация и сопровождение

  • Преимущества:

  • Полная и согласованная документация на каждом этапе;

  • Легко определить сроки и затраты на проект.

Недостатки:

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

Водопадная модель жизненного цикла для создания web-сайта «География для студента» не подходит, так как для крупных проектов мало реалистична и может быть эффективно использована только для создания небольших систем.

V-образная модель

V-образная модель. Была предложена именно для того, чтобы устранить недостатки каскадной модели, а название – V-образная, или шарнирная – появилось из-за ее специфического графического представления (рис 2.2).

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

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

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

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

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

V-образная модель для создания web-сайта не подойдет так как она не приспособлена к изменениям требований.

Модель на основе создания прототипов.

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

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

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

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

Инкрементная модель.

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

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

Объектно-ориентированная модель.

Объектно-ориентированная модель. Данная методология предполагает конструирование программного решения из готовых объектов, для которых определяются правила их взаимодействия, переводящие объекты из одного состояния в другое. Такая модель, предусматривающая полное соответствие процесса разработки положениям объектно-ориентированной методологии (объектно-ориентированный анализ, проектирование, программирование), эффективна в крупных проектах, а также там, где применяются так называемые средства быстрой разработки (RAD, Rapid Application Development), основанные на этих технологиях и содержащие готовые библиотеки классов.

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

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

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

Спиральная модель, предложенная Барри Боэмом в 1988 году (рис 2.3), стала существенным прорывом в понимании природы разработки ПО. Спиральная модель представляет собой процесс разработки ПО, сочетающий в себе как проектирование, так и постадийное прототипирование с целью сочетания преимущества восходящей и нисходящей концепций. На каждом витке спирали могут применяться разные модели процесса разработки ПО. В конечном итоге на выходе получается готовый продукт. Модель сочетает в себе возможности модели прототипирования и водопадной модели. Разработка итерациями отражает объективно существующий спиральный цикл создания системы. Неполное завершение работ на каждом этапе позволяет переходить на следующий этап, не дожидаясь полного завершения работы на текущем. При итеративном способе разработки недостающую работу можно будет выполнить на следующей итерации. Главная задача — как можно быстрее показать пользователям системы работоспособный продукт, тем самым активизируя процесс уточнения и дополнения требований. Основная проблема спирального цикла — определение момента перехода на следующий этап. Для ее решения необходимо ввести временные ограничения на каждый из этапов жизненного цикла. Переход осуществляется в соответствии с планом, даже если не вся запланированная работа закончена. План составляется на основе статистических данных, полученных в предыдущих проектах, и личного опыта разработчиков. Спиральная модель ориентирована на большие, дорогостоящие и сложные проекты. В условиях, когда бизнес цели таких проектов могут измениться, но требуется разработка стабильной архитектуры, удовлетворяющей высоким требованиям по нагрузке и устойчивости, имеет смысл применение Spiral Architecture Driven Development. Данная методология, включающая в себя лучшие идеи спиральной модели и некоторых других, позволяет существенно снизить архитектурные риски, что является немаловажным фактором успеха при разработке крупных систем. В качестве базовой модели жизненного цикла при разработке программного средства была выбрана спиральная модель. Спиральная модель жизненного цикла ПО обладает следующими достоинствами:

  • реальное отражение всего процесса разработки;

  • позволяет учитывать риски на каждом витке спирали;

  • включает элементы системного подхода;

  • Повышенная продуктивность;

  • Основные недостатки спиральной модели:

  • Повышенные требования к заказчику и как следствие большие временные затраты;

  • Большое количество промежуточных стадий может привести к дополнительной обработки внешней документации;

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

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

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