Классификации методов разработки программного обеспечения (ПО).
Традиционно рассматриваются две классификации разработки ПО:
ü по степени автоматизации процесса разработки ПО;
ü по используемому методу (или подходу) в разработке ПО.
Первая классификация - по степени автоматизации разработки (ПО) делит проектирование и разработку ПО на:
ü традиционное (неавтоматизированное);
ü автоматизированное проектирование (CASE – технология и её элементы).
Традиционное проектирование используется при разработке небольших программ одним программистом с использованием традиционных средств, т.е. алгоритмических языков разного уровня.
Автоматизированное проектирование используется при разработке больших программных продуктов несколькими программистами с поддержкой всех этапов жизненного цикла программного продукта, стандартизацией и унификацией алгоритмов и программ.
Второй тип классификации делит разработку ПО на:
ü Структурное проектирование ПО;
ü Информационное моделирование предметной области и связанных с ней приложений;
ü Объектно-ориентированное проектирование ПО.
Структурное проектирование программного обеспечения предполагает целенаправленное структурирование ПО, его последовательную композицию на отдельные составляющие.
В зависимости от объекта структурирования различают:
· Функционально-ориентированные методы;
· Методы структурирования данных
Для функционально-ориентированного метода учитываются, прежде всего функции обработки данных, в соответствии с которыми определяется состав и логика (алгоритмы) отдельных компонентов ПО. Данный подход позволяет с одной стороны упростить процесс разработки ПО и сделать его функционально-понятным. Однако, с другой стороны, с изменением функций обработки данных, или их состава, требуется перепроектирование ПО.
|
Для метода структурирования данных, прежде всего, осуществляется анализ, структурирование и создание моделей данных, для которых разрабатываются процедуры их обработки. Изменение структур данных, если оно возникает, будет отражаться на процедурах их обработки и потребует перепроектирования ПО.
Информационное моделирование предметной области используется в СУБД при создании баз данных. В основе этого метода используется положение об определяющей роли данных при проектировании ПО и разработка инфологической модели БД (это рассмотривается в разделе СУБД).
Сначала строятся информационные модели данных различных уровней представления (3 уровня):
1) Инфологическая модель, не зависящая от средств программной реализации, хранения, обработки данных и отражающей интегрированной структуры данных предметной области.
2) датологическая модель ориентирована на среду хранения и обработки данных. Датологические модели имеют 2 уровня представления – логический и физический. Физический уровень соответствует организации хранения данных в памяти ЭВМ. Логический уровень данных реализуется в виде:
ü концептуальной модели данных, в которой представлены интегрированные структуры данных разрабатываемой модели (для реализации модели – это таблицы);
ü внешней модели данных – это подмножество структур данных для реализации приложений (обычно это отчёты и формы выдаваемые для конкретных пользователей)
|
Выбор средств реализации БД определяет вид датологических моделей. Обычно используется реляционное представление данных и соответствующие реляционные языки программирования (Access, FoxPro, Dbase) Данный подход испольуется в CASE-технологиях.
1) выделение классов объектов
2) установление характерных свойств объектов и методов их обработки
3) Создание иерархии класса, установления наследуемых свойств объектов и методов из обработки. Каждый объект объединяет как данные, так и программы обработки данных. С помощью класса одну и ту же программу можно использовать для разных объектов, относящихся к этому классу.
Объектный подход к разработке ПО основывается на следующих принципах:
1. Выделение классов объектов;
2. Установление характерных свойств объектов и методов их обработки;
3. Создание иерархии классов, установление наследуемых свойств объектов и методов их обработки.
Каждый объект объединяет, как данные, так и программу обработки этих данных и относится к определённому классу. С помощью класса одну и ту же программу можно использовать для разных объектов, относящихся к этому классу.
Объектный подход разработки ПО состоит из:
а) объектно-ориентированного анализа предметной области;
б) объектно-ориентированного проектирования;
Объектно-ориентированного анализ заключается в анализе предметной области и выделении объектов, определении их свойств и методов обработки, а также установление взаимосвязи между ними.
Объектно-ориентированное проектирование объединяет процесс объектной декомпозиции системы на классы с использованием моделей данных проектируемой системы на логическом и физическом уровнях.
|
Для проектирования Программного обеспечения (ПО) с использованием объектно-ориентированного подхода разработаны специальные программные средства (Visual С++, Visual Basic, Delphi, Ado).
Важнейшими принципами объектного подхода является:
ü Инкапсуляция свойств данных и программ в объекте;
ü Наследование;
ü Полиморфизм.
Инкапсуляция означаетсочетание структур данных с методами из обработки в абстрактных классах объектов. Класс можем иметь образованные от него подклассы. При построении которых осуществляется наследование данных и методов из обработки, как исходного класса. Механизм наследования позволяет переопределить или добавить новые данные и методы их обработки.
Полиморфизм означаетспособность объекта реагировать на запрос в соответствии со своим типом. При этом одно и то же имя запроса может использоваться для различных классов объектов.
Объектный подход поддерживается технологическим стандартом фирмы Microsoft - «OLE» (Object Linking and Embedding – связывание и внедрение объектов). Этот стандарт позволяет получать приложения, включающие в свой состав объекты, полученные из других приложений.
Объект, согласно этому стандарту, должен иметь две составляющие:
1) внешнее представление объекта (prescription data)
2) способ редактирования объекта (native data)
При этом каждый объект может либо внедряться (embedding) в приложение, т.е. копироваться как часть приложения, либо связываться (linking) с приложением, т.е. копировать в приложение с последующим отслеживанием всех изменений в объекте, которые будут повторяться в приложениии.