Основные этапы развития программирования как науки. 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Основные этапы развития программирования как науки.



I этап. Стихийное программирование (от начала появления ЭВМ до середины 60-х гг ХХ века).

С появлением языков программирования стало возможным использовать подпрограммы. Появились библиотеки расчётных и служебных подпрограмм, которые можно было вызывать из любой разрабатываемой подпрограммы. Типичная программа того времени состояла из основной программы, области глобальных данных и набора подпрограмм.

Недостаток: с увеличением количества подпрограмм возможно искажение данных в основной программе. Появление локальных и глобальных данных в подпрограммах.

II этап. Структурное (модульное) программирование

Структурный подход к программированию (60 гг) представляет собой совокупность рекомендованных технологических приёмов, охватывающих выполнение всех этапов разработки ПО. В основе структурного подхода лежит разбиение сложной системы на небольшие подпрограммы. В 60-70 гг развивалось структурное программирование, основанное на программировании сверху вниз. Эта задача стала возможной в связи с появлением структурных языков.

Дальнейший рост сложности и размеров ПО потребовал развития структурированных данных.

Для того, чтобы уменьшить доступ к глобальным данным и организовать работу с локальными переменными, стало развиваться модульное программирование.

Модульное программирование предполагает выделение группы подпрограмм, которые используют одни и те же данные в отдельно компилируемые модули. Технологию модульного программирования поддерживают все современные языки программирования.

III этап. Объектный подход к программированию (середина 70-х гг – конец 90-х гг).

Объектно-ориентированное программирование определяется как технология создания сложного программного обеспечения, основанная на представлении программы в виде совокупности объектов, каждый из которых является экземпляром определенного типа (класса), а классы образуют иерархию с наследованием свойств и методов. Взаимодействие программных объектов в такой системе осуществляется путем передачи сообщений.

Основной идеей ООП является инкапсуляция - вынесение данных и обрабатывающего их кода в отдельную сущность, называемую объектом.

Основным достоинством объектно-ориентированного программирования по сравнению с модульным программированием является«более естественная» декомпозиция программного обеспечения, которая существенно облегчает его разработку.

Недостаток: отсутствие стандартов компоновки двоичных результатов компиляции объектов в единое целое.

IV этап. Компонентный подход и case-технологии (середина 90-х гг – настоящее время).

Компонентный подход предполагает построение ПО из отдельных компонентов, взаимодействующих между собой через стандартизированные двоичные интерфейсы. Компонентный подход лежит в основе технологий, разработанных на базе COM.

13. Понятие CASE – технологии и ее фундаментальные принципы. Основные составляющие CASE-технологии.

CASE – технологии – программный комплекс, автоматизирующий весь процесс анализа, проектирования разработки, сопровождения сложных программных систем.

CASE-технология представляет собой методологию проектирования ИС, а также набор инструментальных средств, позволяющих в наглядной форме моделировать предметную область, анализировать эту модель на всех этапах разработки и сопровождения ИС и разрабатывать приложения в соответствии с потребностями пользователей. Большая часть CASE-средств использует методологию структурного (в основном) или ориентированного анализа и проектирования, использующих спецификации в виде диаграмм или текстов для описания внешних требований, связей между моделями системы, динамики поведения системы и архитектуры программных средств.

Преимущества CASE-технологии по сравнению с традиционной технологией оригинального проектирования сводятся к сле­дующему:

• улучшение качества разрабатываемого программного при­ложения за счет средств автоматического контроля и гене­рации;

• возможность повторного использования компонентов разра­ботки;

• поддержание адаптивности и сопровождения ЭИС;

• снижение времени создания системы, что позволяет на ран­них стадиях проектирования получить прототип будущей си­стемы и оценить его;

• освобождение разработчиков от рутинной работы по доку­ментированию проекта, так как при этом используется встро­енный документатор;

• возможность коллективной разработки ЭИС в режиме реаль­ного времени.

CASE-средства не обязательно дают немедленный эффект; он может быть получен только спустя какое-то время; реальные затраты на внедрение CASE-средств обычно намного превышают затраты на их приобретение; CASE-средства обеспечивают возможности для получения существенной выгоды только после успешного завершения процесса их внедрения.

Обычно к CASE-средствам относят любое программное средство, автоматизирующее ту или иную совокупность процессов жизненного цикла ПО и обладающее следующими особенностями:

• мощные графические средства для описания и документирования ИС, обеспечивающие удобный интерфейс с разработчиком и развивающие его творческие возможности;

• интеграция отдельных компонент CASE-средств, обеспечивающая управляемость процессом разработки информационной системы;

• использование специальным образом организованного хранилища проектных метаданных (репозитория).

Интегрированное CASE-средство (или комплекс средств, поддерживающих полный жизненный цикл ПО) содержит следующие компоненты:

· репозиторий, являющийся основой CASE-средства. Он должен обеспечивать хранение версий проекта и его отдельных компонентов, синхронизацию поступления информации от различных разработчиков при групповой разработке, контроль метаданных на полноту и непротиворечивость;

· графические средства анализа и проектирования, обеспечивающие создание и редактирование иерархически связанных диаграмм (DFD, ERD и др.), образующих модели информационной системы;

· средства разработки приложений, включая языки 4GL (4GL – четвёртого поколения) и генераторы кодов;

· средства конфигурационного управления;

· средства документирования;

· средства тестирования;

· средства управления проектом;

· средства реинжиниринга.

14. Система стандартов ISO 9001.

 

15. Управление конфигурацией. Case-системы.

Цель конфигурационного управления (КУ) - обеспечить управляемость и контролируемость процессов разработки и сопровождения ПО. Для этого необходима точная и достоверная информация о состоянии ПО и его компонент в каждый момент времени, а также о всех предполагаемых и выполненных изменениях.

Для решения задач КУ применяются методы и средства обеспечивающие идентификацию состояния компонент, учет номенклатуры всех компонент и модификаций системы в целом, контроль за вносимыми изменениями в компоненты, структуру системы и ее функции, а также координированное управление развитием функций и улучшением характеристик системы.

К таким средствам относятся CASE-средства. CASE-средства являются сравнительно новым направлением в информационных технологиях. Примерами используемых в настоящее время CASE-средств являются: ProKit*WORKBENCH, Design / IDEF, CASE Oracle (Designer / 2000), Power Designer (S-Designor), ERWin, SILVERRUN, ERStudio и другие.

CASE-средства поддерживают концептуальное проектирование, позволяют осуществить логическое и физическое проектирование путем автоматической генерации БД для целевой СУБД. Во многих CASE-системах логической моделью называется ER-модель, а представление логической структуры целевой БД – физической моделью. ER-модели широко используются в практике создания БД. Они применяются при ручном и автоматизированном проектировании с использованием CASE-средств, поддерживающих весь цикл разработки СБД или отдельные его стадии.

При сравнении CASE-систем кроме используемой методологии ER-моделирования, необходимо учитывать специфические критерии, связанные с реализацией функций автоматизированного проектирования:

· число и перечень поддерживаемых целевых СУБД;

· поддержку распределенных БД;

· поддержку коллективной работы при проектировании (управление правами пользователей, ведение репозитория и т. д.);

· построение концептуальной ER-модели по описанию структуры существующей БД – реверс-инжиниринг;

· автоматизируемые функции проектирования и степень их автоматизации;

· качество и жесткость проектных решений (возможность выбора из нескольких альтернативных решений, возможность ручного вмешательства в процесс);

· надежность работы;

· документирование проекта;

· открытость системы (возможность стыковки с другими средствами);

удобство графического редактора;

· количественные ограничения (общее число сущностей, число уровней вложенности для обобщенной сущности и др.);

· возможность автоматической оценки объема памяти для проектируемой БД;

· возможность автоматической генерации процедур;

· наличие средств моделирования хранилищ данных;

· требования к ресурсам компьютера;

· операционную среду;

· стоимость системы.

CASE-средства показывают модель с разной степенью детализации:

· только обозначения сущностей и связей между ними;

· сущности + ключи;

· сущности + ключи + внешние ключи;

· сущности + все атрибуты.

Наличие таких возможностей создает существенные удобства, особенно при создании больших и сложных моделей.

Важной характеристикой CASE-средств является возможность получать подмодели из общей модели и обеспечивать интеграцию фрагментов в единую модель. Эти возможности могут быть полезны не только при коллективной разработке проекта – при обсуждении модели с конечными пользователями очень удобно каждому из них предоставлять только ту часть модели, которая имеет для него интерес. Декомпозиция модели облегчает процесс проектирования.

Еще одним критерием сравнения СASE-средств является степень проверки правильности построенных моделей. Ни одна система автоматизации проектирования не может гарантировать соответствия построенной концептуальной модели реалиям предметной области. Это определяется только квалификацией разработчиков, их пониманием предметной области и умением отобразить ее в модели.

Многие CASE-средства позволяют:

§ задавать в модели ограничения целостности и генерируют программы (триггеры, хранимые процедуры), проверяющие эти ограничения при эксплуатации БД;

§ генерировать программы ведения БД;

§ экспортировать модели в другие системы и, наоборот, импортировать их из других систем.

16. Понятие технологии программирования

Технологией программирования называют совокупность методов и средств, используемых в процессе разработки программного обеспечения. Как любая другая технология, технология программирования представляет собой набор технологических инструкций, включающих:

· указание последовательности выполнения технологических операций;

· перечисление условий, при которых выполняется та или иная операция;

· описания самих операций, где для каждой операции определены исходные данные, результаты, а также инструкции, нормативы, стандарты, критерии и методы оценки и т. п.

Кроме набора операций и их последовательности, технология также определяет способ описания проектируемой системы, точнее модели, используемой на конкретном этапе разработки.

Различают технологии, используемые на конкретных этапах разработки или для решения отдельных задач этих этапов, и технологии, охватывающие несколько этапов или весь процесс разработки. В основе первых, как правило, лежит ограниченно применимый метод, позволяющий решить конкретную задачу. В основе вторых обычно лежит базовый метод или подход (парадигма), определяющий совокупность методов, используемых на разных этапах разработки, или методологию.

Этапы решения задачи на ЭВМ

I. Постановка задачи – точная формулировка её условий и целей решения. На этом этапе должно быть чётко определено, что дано и что требуется найти, т.е. под постановкой задачи понимается ответ на два вопроса: какие исходные данные известны и что необходимо определить?

постановка задачи включает в себя:

1. Сбор сведений о задаче;

2. Формулировка условий задачи;

3. Определение конечных целей решения;

4. Определения формы вывода результатов.

5. Выбор метода решения. Построение математической модели для решения математических соотношений.

6. Разработка алгоритма по выбранному методу решения. Алгоритм записывается в любой форме.

7. Запись алгоритма на языке программирования.

8. Отладка и тестирование программы на компьютере.

Отладка – процесс нахождения и исправления ошибок в программе. Отладка включает в себя синтаксическую, семантическую, логическую отладку.

Тестирование – проверка конкретных вариантов значений на соответствие фактическим данным.

II. Анализ полученных результатов.



Поделиться:


Последнее изменение этой страницы: 2017-02-06; просмотров: 1852; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.223.20.57 (0.032 с.)