Лекция 6. Введение в методы программирования и структуры данных

Введение в методы программирования и структуры данных.

1. Теория программирования

2. Инженерия программирования

3. Инструментальное направление

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

Программа - завершенный продукт, пригодный для запуска своим автором на системе, на которой он был разработан.

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

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

Место программирования в предметной области информатики показано на рис. 1.

Рис. 1

В программировании четко выделяются подразделы, которые перечисляются ниже.

· Теория программирования, которая включает следующие направления:

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

· Методология программирования, изучающая методы с точки зрения основ построения. Это объединенная единым философским подходом совокупность методов, применяемых в процессе разработки программного обеспечения.

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

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

    • как проектировать и строить программы, образующие системы?
    • как проектировать и строить программы и системы, являющиеся надежным, отлаженным, документированным и сопровождаемым продуктом?
    • как осуществлять интеллектуальный контроль в условиях большой сложности?

Эти вопросы были сформулированы американским программистом Фредериком Бруком в 1968 году. Они актуальны и в настоящее время. Сегодняшнее содержание раздела «Инженерия программирования» изменяется весьма динамично и отражает большое количество направлений. Перечислим некоторые из них:

o процесс разработки программного обеспечения;

o формирование требований к программному продукту;

o обратная (реверсивная) инженерия (реинжиниринг)- процесс восстановления спецификации из кода;

o тестирование;

o сопровождение и эволюция программного обеспечения;

o архитектура программного обеспечения;

o объектно-ориентированное моделирование;

o инженерия программирования и «промежуточное» (между сетевой операционной системой и программой пользователя) программное обеспечение;

o анализ программного обеспечения;

o формальные спецификации;

o математические основания инженерии программирования;

o инженерия программирования и производительность программного продукта;

o инженерия программирования для реального времени;

o инженерии программирования для мобильных систем;

o инструментарий и окружение инженерии программирования;

o инженерии программирования и Интернет;

o экономика программного обеспечения;

o метрики программного обеспечения;

o инженерия программирования как учебная дисциплина.

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

Основные области программирования представлены тремя группами. Каждая группа - это объединение двух достаточно близких направлений. Они представлены на рис 2.

Рис.2.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: