![]() Студопедия КАТЕГОРИИ: АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция |
Развитие методологии анализа и проектирования ПО
Процедурно-ориентированная методология - это подход к разработке программных систем, при котором система рассматривается как совокупность данных и обрабатывающих их алгоритмов (процедур). При проектировании систем широко использовалось представление алгоритмов в виде блок-схем. Эта методология разработки программных систем исторически была самой ранней. Разрабатывались все более и более сложные системы. Непропорционально росло время их разработки, росло количество невыявленных ошибок во внедренных в эксплуатацию системах, т. е. уменьшалась их надежность. В определенный момент применение процедурно-ориентированной методологии в прежнем виде стало нецелесообразным. Развитием этой методологии стала структурно-модульная методология, ориентированная на разработку сложных систем. Блок-схемы- это представление алгоритма при помощи представленных здесь (Рисунок 3.1) и других аналогичных значков.
Рисунок 3.1. Основные значки блок-схем. Рассмотрим пример применения блок-схем (Рисунок 3.2) при проектировании алгоритма нахождения наименьшего общего делителя двух целых положительных чисел M и N. Согласно методу, предложенному древнегреческим математиком Евклидом, следует на каждом шаге большее из двух чисел заменять их разностью, а шаги эти циклически повторять до тех пор, пока оба числа не станут равными. Полученное число и есть наименьший общий делитель для исходной пары чисел. Например, для пары чисел M=42 и N=24 имел бы место следующий пошаговый процесс:
Рисунок 3.2. Пример блок-схемы алгоритма Шаг 1: для M=42 и N=24 берем новое M=42-24=18. Шаг 2: для M=18 и N=24 берем новое N=24-18=6. Шаг 3: для M=18 и N=6 берем новое M=18-6=12. Шаг 4: для M=12 и N=6 берем новое M=12-6=6. Процесс заканчивается при M=N=6, это и есть наименьший общий делитель для 42 и 24. Структурно-модульная методология- это подход к разработке сложных программных систем, при котором разработка структур данных и обрабатывающих их алгоритмов подчиняется определенным принципам: 1. принцип разработки сверху вниз - разработка последовательно ведется путем постепенного возрастания степени детализации при переходе от более высокого уровня абстракции к более низкому, находясь на данном уровне абстракции разработчик должен удерживать себя от излишней детализации; 2. принцип модульности - сложная система должна состоять из небольшого числа (не более 10) частей - модулей, эти модули должны быть максимально независимы друг от друга, за счет этого максимально упрощаются внешние связи между модулями (вся "сложность" системы постепенно представляется внутримодульными связями, так как каждый модуль в свою очередь может состоять из некоторого числа внутренних модулей и т. д.), в результате разработка различных модулей может выполняться различными людьми, а стыковка модулей упрощается.
Рисунок 3.3. Алгоритмическая декомпозиция (уров. абстракции 1). Необходимость разработки все более и более сложных систем постепенно привела к несостоятельности и эту методологию. Развитием структурно-модульной методологии стала объектно-ориентированная методология (см. "Объектно-ориентированный анализ"). Рассмотрим пример применения структурно-модульной методологии. Ее сущность состоит в алгоритмической декомпозиции (разложении на составляющие подпрограммы) алгоритма функционирования будущей системы. Декомпозиция происходит при движении по уровням абстракции с постепенным уточнением алгоритма функционирования каждого выявленного компонента. Для того, чтобы процесс проектирования был надежным, на каждом уровне абстракции в одной схеме не рекомендуется иметь более 10 компонентов.
Рисунок 3.4. Алгоритмическая декомпозиция (уров. абстракции 2). Пусть уровень абстракции 1 содержит единственную схему (Рисунок 3.3): Главный алгоритм M вызывает подпрограммы A, B, C. Следовательно, единственная схема на данном уровне абстракции содержит 4 компонента. Пусть уровень абстракции 2 содержит три указанные ниже схемы (Рисунок 3.4): Алгоритм A вызывает подпрограммы A1, A2, A3. Алгоритм B вызывает подпрограммы B1, B2, B3. Алгоритм C вызывает подпрограммы C1, C2, C3. Далее рассматриваются уровни абстракции 3, 4, … Каждый алгоритм из вышеуказанного примера должен быть представлен в виде блок-схем. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Последнее изменение этой страницы: 2018-04-12; просмотров: 494. stydopedya.ru не претендует на авторское право материалов, которые вылажены, но предоставляет бесплатный доступ к ним. В случае нарушения авторского права или персональных данных напишите сюда... |