Добавлен: 29.06.2023
Просмотров: 99
Скачиваний: 3
Методологии создания информационных систем можно классифицировать по нескольким отличительным признакам. (Рис.2)
Классификация по ядрам методологий
Существует некоторое ядро методологии со своими методами, которое уточняется некоторыми дополнительными особенностями. Этот подход напоминает принцип словообразования в русском языке - есть корень, к которому добавляются приставки, суффиксы и окончания, уточняющие смысл слова.
Ядра методологий определяются способом описания алгоритмов. К основным ядрам методологий относят:
- методология императивного программирования;
- методология объектно-ориентированного программирования;
- методология функционального программирования;
- методология логического программирования;
- методология программирования в ограничениях.
- Рассмотрим ядра методологий подробнее.
Рис. 2. Классификация методологий
методология императивного программирования;
методология объектно-ориентированного программирования;
методология функционального программирования;
методология логического программирования;
методология программирования в ограничениях.
по ядрам методологий
по топологической специфике методологий
по реализационной специфике методологий
смешанные методологии
методология структурного императивного программирования.
централизованная методология;
параллельная методология.
МЕТОДОЛОГИИ
Методология императивного программирования - подход, характеризующийся принципом последовательного изменения состояния вычислителя пошаговым образом. Императивное программирование - это исторически первая поддерживаемая аппаратно методология программирования. Она ориентирована на классическую фон Неймановскую модель, остававшуюся долгое время единственной аппаратной архитектурой, получившей широкой практическое применение.
Методы и концепции.
Метод изменения состояний заключается в последовательном изменении состояний. Метод поддерживается концепцией алгоритма
Метод управления потоком исполнения заключается в пошаговом контроле управления. Метод поддерживается концепцией потока исполнения.
Методология объектно-ориентированного программирования - это подход, использующий объектную декомпозицию, при которой статическая структура системы описывается в терминах объектов и связей между ними, а поведение системы описывается в терминах обмена сообщениями между объектами. На возникновение объектного мышления оказали влияние моделирование и представление данных, графические пользовательские интерфейсы и системное программирование (с понятием "процесс"). Исследования в области хеширования реальных систем привели к необходимости создания средств описания сущностей, которые в них встречаются: объектов и событий. Позже оказалось, что такие концепции, как инкапсуляция (абстрактные типы данных), наследование и полиморфизм являются достаточно полезным дополнением к традиционному структурному программированию. Возможность их достаточно эффективной реализации привела к созданию широко распространенных в наши дни объектно-ориентированных языков.
Методы и концепции.
Метод объектно-ориентированной [7]декомпозиции заключается в выделении объектов и связей между ними. Метод поддерживается концепциями инкапсуляции, наследования и полиморфизма.
Метод абстрактных типов данных лежит в основе инкапсуляции. Метод поддерживается концепцией абстрагирования.
Метод пересылки сообщений заключается в описании поведения системы в терминах обмена сообщениями между объектами. Метод поддерживается концепцией сообщения.
Методология функционального программирования - способ составления программ, в которых единственным действием является вызов функции, единственным способом расчленения программы на части - введение имени для функции и задание для этого имени выражения, вычисляющего значения функции, а единственным правилом композиции - оператор суперпозиции функции. Функциональная методология является одной из старейших. По происхождению она тесно связана с лямбда-исчислением, изобретенным еще в начале 30-х годов XX века логиком Алонзо Черчен. Эта методология используется теоретиками программирования и является средством лабораторных исследований искусственного интеллекта.
Методы и концепции.
Метод аппликативности заключается в том, что программа есть выражение, поставленное из применения функций к аргументам. Программа состоит из совокупности определений функций, представляющих собой вызовы других функций и вложенных друг в друга. Метод поддерживается концепцией функции.
Метод рекурсивного поведения заключается в самоповторяющемся поведении, возвращающемся к самому себе. Метод поддерживается концепцией рекурсии.
Метод настраиваемости заключается в том, что можно легко порождать новые программные объекты по образцу[8], как значения соответствующих выражений (применение порождающей функции к параметрам образца). Этому способствует то, что не только программа, но и любой программный объект (в идеале) является выражением.
Методология логического программирования - подход, согласно которому программа содержит описание проблемы в терминах фактов и логических формул, а решение проблемы система выполняет с помощью механизмов логического вывода. Логическое программирование начинает свой отсчет времени с конца 60-х годов XX века, когда Корделл Грин предложил использовать резолюцию как основу логического программирования. Алан Колмеро создал язык логического программирования Prolog в 1971 году. Логическое программирование пережило пик популярности в середине 80-х годов XX века, когда оно было положено в основу проекта разработки программного и аппаратного обеспечения вычислительных систем пятого поколения.
Методы и концепции.
Метод единообразия заключается в одинаковом применении механизма логического доказательства ко всей программе.
Метод унификации - это механизм сопоставления с образцом для создания и декомпозиции структур данных.
Методология программирования в ограничениях - это подход, при котором в программе определяется тип данных решения, предметная область решение и ограничения на значение искомого решения. Решение находится системой. Методология предлагает двухуровневую архитектуру, интегрирующую компонент ограничения и программный компонент. Компонент ограничений обеспечивает основные операции и состоит из системы выводов на фундаментальных свойствах системы ограничений. Операции, окружающие компонент ограничений, реализуются программно-языковым компонентом. Методология возникла в начале 80-х годов XX века как перспективная область исследований на стыке символьных вычислений, искусственного интеллекта, исследования операций и интервальной арифметики.
Методы и концепции.
Метод описательной модели вычислений заключается в том, что программа на языке программирования содержит описание понятий и задач. Метод поддерживается концепцией модели.
Классификация по топологической специфике методологий
Топологическая специфика (топология) методологий определяется как способ выбора методов для получения уточненного ядра методологии. Критерием качества топологий является количество общих затрат на разработку программного обеспечения. Затраты определяются совокупностью многочисленных факторов, в том числе связанных с абстракциями данных, управления и модульности. Например, к хорошей топологии приводит отказ от использования глобальных данных и оператора безусловного перехода (за исключением особого ряда случаев), сильная связность модулей и их слабое сцепление.
Методология структурного программирования - подход, в задании топологии императивных , ориентированной на количества общих на разработку обеспечения. Сокращение иметь место в результате , что и модели, и код будут хорошую структурированность, избежать многих . В случае методологии хорошую задают отказ использования глобальных и, в случаев, оператора перехода, разработка с сильной и обеспечение независимости от модулей. Подход на двух принципах построения: [9]декомпозиция алгоритма задачи сверху ; использование структурного . Данная методология важнейшим развитием методологии. Создателем подхода считается Дейкстра. Ему принадлежит попытка структурное программирование методами доказательства .
Методы и .
Метод алгоритмической сверху вниз в пошаговой постановки задачи, с наиболее задачи. Данный обеспечивает хорошую и поддерживается алгоритма.
Метод организации частей заключается в программы на компоненты, называемые . Метод поддерживается модуля
Метод кодирования заключается использовании при трех основных [10] конструкций. Метод концепцией управления.
по реализационной методологий
Каждое ядер методологий определенную специфику, некоторую организацию поддержки данной . На данный наиболее известными являются две: и параллельная.
методологий изначально для централизованных . Позже появились аппаратные реализации, которым стали уже существовавшие . Примером параллельной является методология параллельного программирования - , в котором использование явных для параллельного выбранных фрагментов . Считается, что программирование возникло изобретением каналов - аппаратных контроллеров, центральному процессору новую прикладную одновременно с ввода-вывода программ. Первоначально параллельным программированием дело лишь операционных систем.
методам данной можно отнести синхронизации исполняемого , который заключается использовании специальных операций для взаимодействия между исполняемыми [11]фрагментами . Этот метод концепцией примитивов .
Смешанные методологии.
методологии включают методов нескольких . Наиболее часто методологии функционального логического программирования. исследовательские работы области объединения -ориентированного и программирования. Ряд посвящен вопросам методологий программирования.
В.Н. своей книге " разработки программного " приводит еще методологию - RAD ( Application Development).
быстрой разработки RAD.
На этапе существования информационных систем разработка велась традиционных языках . Однако по возрастания сложности систем и запросов пользователей новые средства, значительное сокращение разработки. Это предпосылкой к целого направления области программного - инструментальных средств быстрой разработки . Развитие этого привело к на рынке обеспечения средств практически всех жизненного цикла систем. Эти приобрели название быстрой разработки RAD (Rapid Development).
RAD - комплекс специальных средств быстрой прикладных информационных , позволяющих оперировать определенным набором объектов, функционально информационные компоненты .
Под методологией разработки приложений понимается разработки систем, основанный трех основных :
небольшой команде (обычно от 2 10 человек);
тщательно производственный график , рассчитанных сравнительно срок разработки ( 2 до 6 мес);
модель разработки, на тесном с заказчиком - мере выполнения разработчики уточняют реализацию в требований, выдвигаемых .
Основные принципы:
итерационная (спиральная) разработки;
полное работ на из этапов цикла не ;
в процессе информационной системы тесное действие заказчиком и пользователями;
необходимо CASE-средств средств быстрой , средств управления , внесение изменений проект и готовой системы, прототипов, позволяющее выяснить и потребности конечного ;
тестирование и проекта осуществляются с разработкой;
ведется немногочисленной хорошо управляемой профессионалов;
необходимы руководство разработкой , четкое планирование контроль выполнения .
Средства RAD возможность реализовывать иную по с традиционной создания приложений: объекты формируются некие действующие (прототипы), чье согласовывается с , а затем может переходить к формированию приложений, не из виду картины проектирования .
Методологии, технологии инструментальные средства составляют основу любой информационной . Методология реализуется конкретные технологии поддерживающие их , методики и средства, которые выполнение процессов цикла информационных .
2.2 Методологии разработки систем в литературе
Формально можно разделить два типа - (монументальные, предсказуемые, все этапы проектируется заранее не допускается от первоначального ) и их - адаптивные (гибкие, в процессе допустимо и типично перепроектирование). зависимости от условий и поставленной задачи, применяться как , так и методология (Рис.4).
(монументальная) методология , если:
У есть четкое по поводу и дизайна программы, то ему абсолютно в деталях , что он получить на .
Задача, решаемая , четко формализуется может быть , то есть, , создать подробное задание. Такое задание должно документировать каждое состояние работы , содержать полное специальных алгоритмов ( таковые используются), однозначно понимаемым всех пунктах, все детали пользовательского интерфейса. задание может разработано специалистами заказчиком самостоятельно.