Разработка web-сайта на тему "География для студента"

Курсовой проект - Компьютеры, программирование

Другие курсовые по предмету Компьютеры, программирование

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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