Выселение. Приватизация. Перепланировка. Ипотека. ИСЖ

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

  • Современное управление
  • Контроль
  • Мониторинг

Срочно - не значит некачественно?

Разработка программ - это трудоёмкий процесс, который требователен к уровню и знаниям исполнителя. Традиционно считается, что качество подразумевает долгий цикл. Но так ли это на самом деле? Возможна ли быстро и срочно разработать ПО?

  • Чтобы продукт получался быстро - необходима либо слаженная команда профессионалов, либо отдельный исполнитель-универсал. Разумеется, это не подходит ко всем программам.
  • Контроль качества - обязательная процедура. Контроль качества и отлов «багов» в таком процессе как создание программного обеспечения не может быть исключён из производственного процесса, даже для ускорения. Это необходимое условие для профессионально сделанной программы.
  • Чтобы срочность не вредила итоговому продукту, нужны исполнители, которые давно освоили и создали свой производственный процесс. Скорее всего разработка ПО у таких специалистов пройдёт действительно качественно и быстро.

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

Поиск исполнителей.

Много специалистов, вольнонаёмных и объединённых в организации оказывают подобные услуги. Заказать у них можно всё что угодно, естественно что цены будут зависеть от уровня специалиста, его востребованности и сложности задачи. Есть три основных пути, которыми пользуется большинство заказчиков.

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

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

Rapid Application Development (RAD) - это жизненный цикл процесса проектирования, созданный для достижения более высоких скорости разработки и качества ПО, чем это возможно при традиционном подходе к проектированию.

Концепция RAD стала ответом на методы разработки программ 1970-х и начала 1980-х годов, такие как «модель водопада». Эти методы предусматривали настолько медленный процесс создания программы, что зачастую даже требования к программе успевали измениться до окончания разработки. Основателем RAD считается сотрудник IBM Джеймс Мартин, который в 1980-х годах сформулировал основные принципы RAD, основываясь на идеях Барри Бойма и Скотта Шульца. А в 1991 году Мартин опубликовал известную книгу, в которой детально изложил концепцию RAD и возможности её применения. В настоящее время RAD становится общепринятой схемой для создания средств разработки программных продуктов.

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

Жизненный цикл ПО по методологии RAD состоит из четырех фаз:

фаза анализа и планирования требований;

фаза проектирования;

фаза построения;

фаза внедрения.

На стадии анализа и планирования требований пользователи осуществляют следующие действия:

определение функций, которые должна выполнять система;

выделение наиболее приоритетных функций, требующих проработки в первую очередь;

описание информационных потребностей.

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

ограничивается масштаб проекта;

устанавливаются временные рамки для каждой из последующих стадий;

определяется сама возможность реализации проекта в заданных размерах финансирования на имеющихся аппаратных средствах и т.п. Результатом стадии должны быть:

список расположенных по приоритету функций будущего ПО ИС;

предварительные модели ПО.

На стадии проектирования часть пользователей принимает участие в техническом проектировании системы под руководством специалистов-разработчиков. Для быстрого получения работающих прототипов приложений используются соответствующие инструментальные средства (CASE-средства). Пользователи, непосредственно взаимодействуя с разработчиками, уточняют и дополняют требования к системе, которые не были выявлены на предыдущей стадии. На данной стадии выполняются следующие действия:

более детально рассматриваются процессы системы;

при необходимости для каждого элементарного процесса создается частичный прототип (экранная форма, диалог, отчет, устраняющий неясности или неоднозначности);

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

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

Далее проект распределяется между различными командами разработчиков. В случае использования CASE-средств это означает деление функциональной модели системы (диаграммы потоков данных для структурного подхода или диаграммы вариантов использования для объектно-ориентированного подхода). Результатом данной стадии должны быть:

общая информационная модель системы;

функциональные модели системы в целом и подсистем, реализуемых отдельными командами разработчиков;

точно определенные интерфейсы между автономно разрабатываемыми подсистемами;

построенные прототипы экранных форм, отчетов, диалогов.

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

На стадии реализации выполняется быстрая разработка приложения:

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

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

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

осуществляется анализ использования данных и определяется необходимость их распределения;

производится физическое проектирование базы данных;

формулируются требования к аппаратным ресурсам;

устанавливаются способы увеличения производительности;

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

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

Применение технологии RAD целесообразно, когда:

требуется выполнение проекта в сжатые сроки (90 дней);

нечетко определены требования к ПО;

проект выполняется в условиях ограниченности бюджета;

интерфейс пользователя (GUI) есть главный фактор;

проект большой, но поддается разделению на более мелкие функциональные компоненты;

ПО не обладает большой вычислительной сложностью.

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

Рисунок 1 - Сравнение RAD и Каскадного метода

Одним из возможных подходов к разработке ПО в рамках спиральной модели ЖЦ является получившая в последнее время широкое распространение методология быстрой разработки приложений RAD (Rapid Application Development). Под этим термином обычно понимается процесс разработки ПО, содержащий 3 элемента:

    небольшую команду программистов (от 2 до 10 человек);

    короткий, но тщательно проработанный производственный график (от 2 до 6 мес.);

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

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

Жизненный цикл ПО по методологии RAD состоит из четырех фаз:

    фаза анализа и планирования требований;

    фаза проектирования;

    фаза построения;

    фаза внедрения.

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

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

После детального определения состава процессов оценивается количество функциональных элементов разрабатываемой системы и принимается решение о разделении ИС на подсистемы, поддающиеся реализации одной командой разработчиков за приемлемое для RAD-проектов время - порядка 60 - 90 дней. С использованием CASE-средств проект распределяется между различными командами (делится функциональная модель). Результатом данной фазы должны быть:

    общая информационная модель системы;

    функциональные модели системы в целом и подсистем, реализуемых отдельными командами разработчиков;

    точно определенные с помощью CASE-средства интерфейсы между автономно разрабатываемыми подсистемами;

    построенные прототипы экранов, отчетов, диалогов.

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

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

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

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

    определяется необходимость распределения данных;

    производится анализ использования данных;

    производится физическое проектирование базы данных;

    определяются требования к аппаратным ресурсам;

    определяются способы увеличения производительности;

    завершается разработка документации проекта.

Результатом фазы является готовая система, удовлетворяющая всем согласованным требованиям.

На фазе внедрения производится обучение пользователей, организационные изменения и параллельно с внедрением новой системы осуществляется работа с существующей системой (до полного внедрения новой). Так как фаза построения достаточно непродолжительна, планирование и подготовка к внедрению должны начинаться заранее, как правило, на этапе проектирования системы. Приведенная схема разработки ИС не является абсолютной. Возможны различные варианты, зависящие, например, от начальных условий, в которых ведется разработка: разрабатывается совершенно новая система; уже было проведено обследование предприятия и существует модель его деятельности; на предприятии уже существует некоторая ИС, которая может быть использована в качестве начального прототипа или должна быть интегрирована с разрабатываемой.

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

Методология RAD неприменима для построения сложных расчетных программ, операционных систем или программ управления космическими кораблями, т.е. программ, требующих написания большого объема (сотни тысяч строк) уникального кода.

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

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

В качестве итога перечислим основные принципы методологии RAD:

    разработка приложений итерациями;

    необязательность полного завершения работ на каждом из этапов жизненного цикла;

    обязательное вовлечение пользователей в процесс разработки ИС;

    необходимое применение CASE-средств, обеспечивающих целостность проекта;

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

    необходимое использование генераторов кода;

    использование прототипирования, позволяющее полнее выяснить и удовлетворить потребности конечного пользователя;

    тестирование и развитие проекта, осуществляемые одновременно с разработкой;

    ведение разработки немногочисленной хорошо управляемой командой профессионалов;

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

Один из подходов к разработке ПО в рамках спиральной модели ЖЦ – получившая широкое распространение методология (технология) быстрой разработки приложений RAD (Rapid Application Development) . Данная модель очень хорошо подходит к разработке учебных программ, т.к. включает в себя три составляющие:

Ø небольшую команду программистов (от 2 до 10 человек);

Ø короткий, но тщательно проработанный производственный график (от 2 до 6 мес.);

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

Рассмотрим данную модель более подробно. Команда разработчиков должна представлять собой группу профессионалов, имеющих опыт в анализе, проектировании, генерации кода и тестировании ПО с использованием CASE-средств, способных хорошо взаимодействовать с конечными пользователями и трансформировать их предложения в рабочие прототипы. Жизненный цикл ПО по методологии RAD состоит из четырёх фаз (рисунок 21):

1. Анализа и планирования требований;

2. Проектирования;

3. Построения;

4. Внедрения.


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

Результатом фазы должны быть: список расставленных по приоритету функций будущей ПС; предварительная функциональная модель ПС; предварительная информационная модель ПС.

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

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

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

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

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

Результатом фазы является готовая система, удовлетворяющая всем согласованным требованиям.

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

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

В заключение перечислим основные принципы технологии RAD:

Ø разработка приложений итерациями;

Ø необязательность полного завершения работ на каждом этапе ЖЦ;

Ø обязательное вовлечение пользователей на этапе разработки;

Ø использование прототипирования, позволяющего выяснить и удовлетворить все требования конечного пользователя;

Ø тестирование и развитие проекта одновременно с разработкой;

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


Контрольные вопросы к главе 3:

1. Что такое стандартизация и сертификация программного продукта?

2. Какие существуют типы стандартов?

3. Перечислите наиболее известные стандарты жизненного цикла, которые использовались для разработки программного обеспечения?

4. Что такое жизненный цикл ПО?

5. Перечислите основные этапы жизненного цикла ПО. Что такое процесс, действие, задача?

6. Какие типы процессов и конкретные процессы вы запомнили?

7. Расскажите об основных инженерных процессах жизненного цикла ПО.

8. Что такое модель жизненного цикла ПО? Дайте определения основных понятий, связанные с понятием «модель».

9. Какие типы моделей вы знаете? В чем их преимущества, недостатки, область применимости?

10.Что вы можете сказать об особенностях каскадной модели жизненного цикла?

11.В чем отличие обобщенной каскадной модели от базовой?

12.Что вы можете сказать об особенностях спиральной модели жизненного цикла?

13.Перечислите составляющие технологии RAD. Для разработки каких типов ПО можно применять технологию RAD?

14.Опишите основные фазы жизненного цикла по технологии RAD.

15.Перечислите основные принципы технологии RAD.


СПИСОК ЛИТЕРАТУРЫ

1. Аптекарь М. Д., Рамазанов С. К., Фрегер Г. Е. История инженерной деятельности. – Киев, 2003. – 204 с. : ил.

2. Арчибальд Р. Модели жизненного цикла высокотехнологичных проектов. http://www.pmprofy.ru/content/rus/107/1073-article.html

3. Брукс Ф. Мифический человеко-месяц или как создаются программные системы. – СПб. : Символ-плюс, 1999. – 321 с. : ил.

4. Буч Г. Объектно-ориентированное проектирование с примерами применения. – М.: Конкорд, 1992. – 586с. : ил.

5. Буч Г. Объектно-ориентированный анализ и объектно-ориентированное проектирование на С++. – М. : Бином, – 2001. – 558 с. : ил.

6. Вендров А. М. CASE-технологии. Современные методы и средств проектирования информационных систем. – М. : Финансы и статистика, – 1999. – 256 с. : ил.

7. Вирт Н. Алгоритмы + структуры данных = программы: Пер. с англ. – М. : Мир, 1985. – 406 с.: ил.

8. Дал О., Дейкстра Э., Хоор К. Структурное программирование: Пер. с англ. – М.: Мир, 1975. – 247 с. : ил.

9. Дзержинский Ф. Я., Калиниченко И.М. Дисциплина программирования: концепция и опыт реализации методических средств программной инженерии. – М.: ЦНИИ информации и технико-экономических исследований по атомной науке и технике, 1988. – 245 с. : ил.

10. Жоголев Е. А. Технологии программирования. – М. : Научный мир, 2004. – 216 с. : ил.

11. Закон РФ № 149-ФЗ от 29.07.2006. «Об информации, информационных технологиях и защите информации»// Российская газета, № 165 от 27.07.2006 г.

12. Иванова Г. С. Технология программирования: Учебник для вузов. – 2-е изд., стереотип. – М. : Изд-во МГТУ им. Н.Э.Баумана, 2003. – 320 с.: ил.

13. Калянов Г. Н. CASE: Структурный системный анализ (автоматизация и применение). – М. : «Лори», 1996. – 356 с. : ил.

14. Кораблин М. А. Программирование, ориентированное на объекты: Учебное пособие. – Самара: изд-во СГАУ, 1994. – 94 с.

15. Леоненков А. В. Самоучитель UML. – СПб: ВХВ Петербург, – 2001. – 304 с. : ил.

16. Липаев В. В. Качество программного обеспечения. – М.: Финансы и статистика, 1983. – 263 с. : ил.

17. Липаев В. В. Отладка сложных программ: Методы, средства, технология. –М. : Энергоатомиздат, 1993. – 384 с. : ил.

18. Липаев В. В., Филиппов Е. Н. Мобильность программ и данных в открытых информационных системах. – М. : Научная книга, 1997. – 297 с. : ил.

20. Ожегов С. И. Словарь русского языка. – М. : Мир и образование, 2006. – 1328 с.

21. Технология проектирования комплексов программ АСУ/ В. В. Липаев, Л. А. Серебровский, П. Г. Гаганов и др.; Под ред. Ю. В. Афанасьева, В. В. Липаева. – М. : Радио и связь, 1983. – 256 с. : ил.

22. Хювенен Э., Сеппянен Й. Мир ЛИСПа: Пер. с финск. В 2 т. Т.1: Введение в язык Лисп и функциональное программирование.– М. : Мир, 1990. – 447 с. : ил.

23. Хювенен Э., Сеппянен Й. Мир ЛИСПа: Пер. с финск. В 2 т. Т.2: Методы и системы программирования.– М. : Мир, 1990. – 319 с. : ил.

24. Boehm B.«A Spiral Model of Software Development and Enhancement», IEEE Computer, Vol. 21, No. 5, pp. 61–72, 1988.

25. Courtois P. June 1985. On Time and Space Decomposition of Complex Structures. Communications of the ACM vol.28(6), p.596.

26. Criteria for Evaluation of Software. ISO TC97/SC7 #383.

27. Dijktra E. 1979. Programming Considered as a Human Activity. Classics in Software Engineering. New York, NY: Yourdon Press.

28. http://www.pmi.ru/glossary/.

29. http://www.staratel.com/iso/InfTech/DesignPO/ISO12207/ISO12207-99/ISO12207.htm.

30. Microsoft Corporation. Принципы проектирования и разработки программного обеспечения. Учебный курс MCSD: Пер. с англ. – М.: Издательско-торговый дом «Русская редакция», 2000. –608 с. : ил.

31. Parnas D., Clements P., Weiss D. 1983. Enhancing Reusability with Information Hiding. Proceedings of the Workshop on Reusability in Programming. Stratford, CT: ITT Programming. p.241.

32. Rechtin E. October 1992. The Art of Systems Architecting. IEEE Spectrum, vol.29 (10), p.66.

33. Royce W.W. Managing the Development of Large Software Systems. http://facweb.cti.depaul.edu/jhuang/is553/Royce.pdf.

34. Shaw M. October 1984. Abstraction Techniques in Modern Programming Languages. IEEE Software vol.1 (4).

35. Simon H. 1982. The Sciences of the Artificial. Cambridge, MA: The MIT Press. – p.218.

36. Sommerville I. Software engineering. – Addison-Wesley Publishing Company, 1992. p.87.

37. Tesler L. August 1981. The Smalltalk Environment. Byte vol.6(8), p.142.

38. Yonezawa A., Tokoro M. 1987. Objectt-Oriented Concurrent Programming. Cambridge, MA: The MIT Press.


список терминов


RAD-технология (Rapid Application Development ) – это технология бы­строго создания приложений на основе прототипирования и использо­вания графического пользовательского интерфейса GUI (Graphical User Interface ).

RAD-технология не в состоянии обеспечивать разработку сложных продуктов, содержащих много фрагментов, программирование кото­рых занимает более двух недель. Эта технология ориентирована ско­рее на разработку достаточно простого заказного программного обес­печения, чем на индустриальное проектирование ИС.

Решения почти всех проблем, связанных с разработкой небольших ИС, достигаются с применением признанной во всем мире RAD-технологии. Она заключается в том, что организуется так называемая RAD-группа из 6-7 человек, состоящая из руководите­ля, системного аналитика и 4-5 программистов, которым даются четкие планы на весь период разработки проекта со сроками от 1 до 2 недель.

Основой этой технологии является спиральная модель создания ИС (рис. 6.1). Как видно на рисунке, разработка идет по спирали, проходя не­однократно все 4 стадии разработки ИС.

Рисунок 6.1 – Спиральная модель проектирования на основе RAD-технологии

На стадии анализа пользователи осуществляют следующие действия:

    определяют функции, которые должна выполнять система;

    выделяют наиболее приоритетные функции, требующие проработки в первую очередь;

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

    ограничивается масштаб проекта;

    устанавливаются временные рамки для каждой из последующих стадий;

    определяется сама возможность реализации проекта в заданных раз­мерах финансирования, на имеющихся аппаратных средствах и т.п. Результатом стадии должны быть:

    список расставленных по приоритету функций будущего ПО ИС;

    предварительные модели ПО.

На стадии проектирования часть пользователей принимает учас­тие в техническом проектировании системы под руководством спе­циалистов-разработчиков. Для быстрого получения работающих прототипов приложений используются соответствующие инструмен­тальные средства (CASE-средства). Пользователи, непосредственно взаимодействуя с разработчиками, уточняют и дополняют требова­ния к системе, которые не были выявлены на предыдущей стадии. На данной стадии выполняются следующие действия:

    более детально рассматриваются процессы системы;

    при необходимости для каждого элементарного процесса созда­ется частичный прототип: экранная форма, диалог, отчет, устра­няющий неясности или неоднозначности;

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

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

После детального определения состава процессов оценивается количество так называемых функциональных точек (function point) разрабатываемой системы и принимается решение о разделении ИС на подсистемы, поддающиеся реализации одной командой разработ­чиков за приемлемое для RAD-проектов время (до 3 месяцев).

Функциональная точка – это любой из элемен­тов разрабатываемой системы:

    входной элемент приложения (входной документ или экранная форма);

    выходной элемент приложения (отчет, документ, экранная форма);

    запрос (пара «вопрос/ответ»);

    логический файл (совокупность записей данных, используемых внутри приложения);

    интерфейс приложения (совокупность записей данных, переда­ваемых другому приложению или получаемых от него).

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

В случае использования CASE-средств это означает деление функциональной модели системы (ди­аграммы потоков данных для структурного подхода или диаграммы вариантов использования для объектно-ориентированно­го подхода.

Результатом данной стадии должны быть:

    общая информационная модель системы;

    функциональные модели системы в целом и подсистем, реализу­емых отдельными командами разработчиков;

    точно определенные интерфейсы между автономно разрабаты­ваемыми подсистемами;

    построенные прототипы экранных форм, отчетов, диалогов.

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

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

На стадии реализации выполняется непосредственно сама быст­рая разработка приложения:

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

    пользователи оценивают получаемые результаты и вносят кор­рективы, если в процессе разработки система перестает удовлет­ворять определенным ранее требованиям. Тестирование системы осуществляется в процессе разработки.

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

    осуществляется анализ использования данных и определяется не­обходимость их распределения;

    производится физическое проектирование базы данных;

    формулируются требования к аппаратным ресурсам;

    устанавливаются способы увеличения производительности;

    завершается разработка документации проекта.



Если заметили ошибку, выделите фрагмент текста и нажмите Ctrl+Enter
ПОДЕЛИТЬСЯ:
Выселение. Приватизация. Перепланировка. Ипотека. ИСЖ