![]() Главная страница Случайная страница КАТЕГОРИИ: АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
Процесс разработки программного обеспечения
До сих пор мы говорили об исследовании процесса разработки программного обес печения, не указывая конкретно, что из этого следует. Одна из причин избегать од нозначных утверждений заключается в том, что не существует процесса разработки, который наилучшим образом подходил бы для всех быстро разрабатываемых проек тов. Например, встроенный контроллер для кардиостимулятора должен создаваться " максимально быстро", тогда как интерактивный словарь для вашего соседа вряд ли должен разрабатываться столь же быстрыми темпами.
В [42] процесс {process) определен как " последовательность шагов, в том числе действия, ограничения и ресурсы, которая приводит к желаемому результату определен ного рода". Из предложенного Пфлигером [42] списка атрибутов процесса выделим следующие:
• В рамках процесса предварительно описываются все основные действия.
• В процессе задействуются ресурсы, с которыми связана некоторая совокуп ность ограничений (например, расписание), и генерируются промежуточные и конечные результаты.
• Процесс может состоять из некоторого числа подпроцессов, связанных между собой определенным образом. Процесс можно определить как некоторую ие рархию процессов, организованных так, что каждый подпроцесс описывается собственной моделью процесса.
• С каждым действием процесса связаны критерии входа и выхода, так что из вестно, когда определенное действие начинается и когда завершается.
• Действия выполняются последовательно или параллельно по отношению к другим независимым подроцессам, поэтому легко определить, когда некоторое действие выполняется относительно других действий.
• Каждый процесс управляется некоторым набором руководящих принципов, определяющих цели каждого действия.
• К действию, ресурсу или результату могут применяться ограничения или ди рективы. Например, бюджет или план накладывает ограничения на промежу ток времени, в течение которого выполняется то или иное действие, а некото рое инструментальное средство может накладывать ограничения на способ ис пользования определенного ресурса.
Когда процесс имеет отношение к созданию того или иного продукта, это часто называется жизненным циклом. По той же причине разработка программного про дукта называется жизненным циклом программного продукта (software life cycle). Жизнен ный цикл программного продукта может быть описан разными способами, в то же время для этой цели часто используется модель, которая представляет основные свойства процесса, сопровождаемые определенным сочетанием текста и иллюст раций.
Одной из первых была использована каскадная (или водопадная) модель жизнен ного цикла программного продукта, показанная на рис. 1.2. Основное свойство кас кадной модели заключается в том, что каждая стадия или компонент модели заверша ется перед началом следующей стадии. Процесс начинается с определения требова ний к системе. В каскадной модели эти требования выявляются, анализируются и записываются в специальные документы еще до того, как начнутся работы по проек тированию. Проектирование системы, проектирование программ, кодирование и различные виды тестирования суть самодостаточные и тщательно документирован ные стадии процесса. Следует, однако, заметить, что обычно некоторые стадии вы ступают под различными именами; например, стадия системного проектирования часто называется " проектным заданием" или " эскизным проектом", в то время на как стадию разработки программы зачастую ссылаются как на " рабочий план".
|