- •«Технологии программирования. Курс на базе Microsoft Solutions Framework (msf)»
- •Содержание
- •Немного терминологии
- •Программирование
- •Программы и программное обеспечение (программные продукты)
- •Бизнес и it-проекты. Рынок по в России и в мире. Немного статистики
- •О предмете
- •Причины неудачи it-проектов
- •Технологии программирования – путь к успеху в разработке по
- •Структурное программирование
- •Модульное программирование
- •Объектно-ориентированное программирование
- •Компонентное программирование
- •Литература
-
Модульное программирование
Технология модульного программирования – оформившаяся в начале 70-х годов XX века идея разработки больших программных систем [3]. Это фундаментальная концепция, являющаяся основой всех современных подходов к проектированию и реализации. В то же время суть ее проста и отражает широко известные научные и технические методы, заключающиеся в поиске и реализации некоторого базового набора элементов, комбинации которых дают решение всех задач из определенного круга.
Если концепция структурного программирования предлагает некоторый универсальный алгоритмический базис, то модульное программирование состоит в разработке под конкретную задачу или круг задач (предметную область) собственного базиса в виде набора модулей, позволяющего наиболее эффективно по целому ряду критериев построить программный комплекс. Модули, входящие в базис, это целые программы (в отличие от примитивов структурного программирования), решающие некоторые подзадачи основных задач.
С применением модульного программирования появляются возможности коллективной разработки программ как набора «независимых» частей, последовательного уменьшения сложности методом разбиения сложной задачи на более простые подзадачи, наконец, возможности повторного использования созданного ранее кода.
-
Объектно-ориентированное программирование
Развитие аппаратной базы привело к возможности решения при ее помощи все более или более сложных задач, а, значит, разработки все более и более сложных программ. Программы стали большими (даже очень большими), а разработка – коллективной. Объем работы увеличился, коллективы разрослись, код «разбух», и появились новые проблемы, которых не было раньше. Неожиданно выяснилось, что возможности структурного и модульного программирования ограничены и зачастую уже не позволяют добиваться желаемого результата (либо ничего не работает, либо проект не укладывается в сроки, либо в бюджет, либо через год после написания программы выясняется, что ее невозможно модифицировать и т.д.).
Объектно-ориентированная технология в некоторой степени решила большинство описанных проблем. В отличие от рассмотренных ранее технологий, объектно-ориентированная технология работает на стадиях анализа, проектирования и программирования. В основе технологии лежат объектная модель и объектная декомпозиция [Error: Reference source not found].
К основные принципам объектной модели часто относят следующие:
-
абстракция;
-
инкапсуляция;
-
иерархия (наследование, агрегация);
-
полиморфизм;
-
модульность.
Суть объектной декомпозиции состоит в выделении в предметной области классов и объектов, а также связей между ними, и лишь потом данных и алгоритмов, которыми характеризуется каждый класс. Таким образом, именно классы становятся основным «строительным блоком» в ООП, тогда как ранее таковыми блоками являлись алгоритмы.
-
Компонентное программирование
Компонентное программирование – представляет собой развитие объектно-ориентированной технологии. В отличие от ООП введен следующий уровень абстракции – классы объединяются в компоненты.
Компонент:
-
программный код в виде самостоятельного модуля;
-
может быть использован в неизменном виде;
-
может допускать настройку;
-
обладает поведением (функциональностью).
Основной принцип компонентного программирования: сборка приложения из готовых компонент, в общем случае написанных на разных языках.
Компонент изолирован от внешнего мира своим интерфейсом – набором методов (их сигнатурами).
Компонентная программа – набор независимых компонент, связанных друг с другом посредством интерфейсов.