Введение в методы программирования и структуры данных.
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.