Содержание
- 2. Гл. 3. ЭТАПЫ РАЗРАБОТКИ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ И ЯЗЫКИ ПРОГРАММИРОВАНИЯ На первом этапе первичным документом является постановка
- 3. Гл. 3. ЭТАПЫ РАЗРАБОТКИ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ И ЯЗЫКИ ПРОГРАММИРОВАНИЯ На этапе проектирования разрабатываются алгоритмы, задаваемые спецификациями,
- 4. Гл. 3. ЭТАПЫ РАЗРАБОТКИ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ И ЯЗЫКИ ПРОГРАММИРОВАНИЯ При автономном тестировании каждый модуль проверяется отдельно.
- 5. Гл. 3. ЭТАПЫ РАЗРАБОТКИ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ И ЯЗЫКИ ПРОГРАММИРОВАНИЯ Машинная команда состоит из кода операции и
- 6. Гл. 3. ЭТАПЫ РАЗРАБОТКИ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ И ЯЗЫКИ ПРОГРАММИРОВАНИЯ Языки программирования, имитирующие естественные языки и способные
- 7. Гл. 3. ЭТАПЫ РАЗРАБОТКИ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ И ЯЗЫКИ ПРОГРАММИРОВАНИЯ Главными элементами императивных языков программирования являются переменные,
- 8. Гл. 3. ЭТАПЫ РАЗРАБОТКИ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ И ЯЗЫКИ ПРОГРАММИРОВАНИЯ BASIC (Beginner’s All-purpose Symbolic Instruction Code). Исходный
- 9. Гл. 3. ЭТАПЫ РАЗРАБОТКИ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ И ЯЗЫКИ ПРОГРАММИРОВАНИЯ Императивные языки, являющиеся потомками языка ALGOL. Pascal.
- 10. Гл. 3. ЭТАПЫ РАЗРАБОТКИ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ И ЯЗЫКИ ПРОГРАММИРОВАНИЯ Объектно-ориентированные языки программирования в наибольшей степени способны
- 11. Гл. 3. ЭТАПЫ РАЗРАБОТКИ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ И ЯЗЫКИ ПРОГРАММИРОВАНИЯ Смешанные языки, созданные путем введения в соответствующий
- 12. Гл. 3. ЭТАПЫ РАЗРАБОТКИ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ И ЯЗЫКИ ПРОГРАММИРОВАНИЯ LISP (LISt Processing). Разрабатывался в связи с
- 13. Гл. 3. ЭТАПЫ РАЗРАБОТКИ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ И ЯЗЫКИ ПРОГРАММИРОВАНИЯ 1 GL (время появления – 40-50 гг.).
- 14. Гл. 3. ЭТАПЫ РАЗРАБОТКИ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ И ЯЗЫКИ ПРОГРАММИРОВАНИЯ Трансляция - перевод программы, написанной на языке
- 16. Скачать презентацию
Слайд 2Гл. 3. ЭТАПЫ РАЗРАБОТКИ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ И ЯЗЫКИ ПРОГРАММИРОВАНИЯ
На первом этапе
Гл. 3. ЭТАПЫ РАЗРАБОТКИ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ И ЯЗЫКИ ПРОГРАММИРОВАНИЯ
На первом этапе
общую характеристику задачи (назначение, экономическая эффективность, структура объектов);
описание входных данных (структура и способ поступления);
описание выходных данных;
существующие к данному моменту алгоритмы получения выходных данных на основе входных;
источники разработки (откуда появилась вся информация).
Результатом первого этапа является техническое задание, в котором, как правило, содержатся
название системы, цели создания, характеристика области применения, требования к системе в целом (интерфейс, особые требования к отдельным модулям, безопасность, и т.д.), информационная база (структура базы данных, с которой будет взаимодействовать программная система), программное обеспечение (обоснование выбора языка программирования), техническое обеспечение, описание данных для тестирования.
На основании технического задания формируются спецификации – описание количества и режимов работы модулей, их взаимодействия.
Слайд 3Гл. 3. ЭТАПЫ РАЗРАБОТКИ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ И ЯЗЫКИ ПРОГРАММИРОВАНИЯ
На этапе проектирования
Гл. 3. ЭТАПЫ РАЗРАБОТКИ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ И ЯЗЫКИ ПРОГРАММИРОВАНИЯ
На этапе проектирования
Слайд 4Гл. 3. ЭТАПЫ РАЗРАБОТКИ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ И ЯЗЫКИ ПРОГРАММИРОВАНИЯ
При автономном тестировании
Гл. 3. ЭТАПЫ РАЗРАБОТКИ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ И ЯЗЫКИ ПРОГРАММИРОВАНИЯ
При автономном тестировании
Большая часть расходов, затрачиваемых в течение жизненного цикла системы, приходится на эксплуатацию и сопровождение.
Причины выпуска новых версий (модификаций) ПО:
необходимость исправления ошибок, выявленных в процессе эксплуатации;
необходимость совершенствования, например, улучшения интерфейса или расширения состава, выполняемых функций;
изменение среды (появление новых технических средств и/или программных продуктов).
Слайд 5Гл. 3. ЭТАПЫ РАЗРАБОТКИ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ И ЯЗЫКИ ПРОГРАММИРОВАНИЯ
Машинная команда состоит
Гл. 3. ЭТАПЫ РАЗРАБОТКИ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ И ЯЗЫКИ ПРОГРАММИРОВАНИЯ
Машинная команда состоит
Адресная часть содержит адреса (номера) ячеек памяти, в которых расположены операнды, и адрес ячейки, куда следует поместить результат
Языки программирования - это тщательно составленные последовательности слов, букв, чисел и мнемонических сокращений, используемые для общения с компьютером.
Языки ассемблера отличаются от машинного кода тем, что коды операций заменены буквенными обозначениями (например, ADD – сложить, MOV – переслать данные) и вместо номеров ячеек используются символические адреса.
Ассемблер – программа, преобразующая мнемонику языка ассемблера непосредственно в двоичные представления машинных команд.
Языки ассемблера – машинно-зависимые языки, языки низкого уровня, в которых одна команда соответствует одной машинной команде.
Слайд 6Гл. 3. ЭТАПЫ РАЗРАБОТКИ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ И ЯЗЫКИ ПРОГРАММИРОВАНИЯ
Языки программирования, имитирующие
Гл. 3. ЭТАПЫ РАЗРАБОТКИ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ И ЯЗЫКИ ПРОГРАММИРОВАНИЯ
Языки программирования, имитирующие
легкость чтения программ (особенно важна с точки зрения эксплуатации и сопровождения программ);
легкость создания программ в выбранной области;
надежность (т.е. насколько программа соответствует своему предназначению в любых условиях).
Основные характеристики языка: простота; структурированность; доступные типы и структуры данных; синтаксис языка; поддержка абстракции; выразительность; проверка совместимости типов; обработка исключительных ситуаций.
Слайд 7Гл. 3. ЭТАПЫ РАЗРАБОТКИ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ И ЯЗЫКИ ПРОГРАММИРОВАНИЯ
Главными элементами императивных
Гл. 3. ЭТАПЫ РАЗРАБОТКИ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ И ЯЗЫКИ ПРОГРАММИРОВАНИЯ
Главными элементами императивных
FORTRAN (FORmula TRANslator). Считается первым компилируемым языком высокого уровня. В основном используется для программ, выполняющих естественно-научные и математические расчеты. Одной из особенностей этого языка (вплоть до диалекта FORTRAN 90) было то, что типы и ячейки памяти для всех переменных фиксировались до выполнения программы. В процессе выполнения программы новые переменные не вводились и распределение памяти не производилось. Отсюда невозможность создания рекурсивных подпрограмм, трудность реализации динамических структур данных.
COBOL (COmmon Business Oriented Language, 1960 г.). Структура и словарь близки к обычному английскому языку. Является основным языком в США для обработки данных в таких учреждениях как банки и страховые компании. Раздел данных – сильная сторона языка COBOL, тогда как раздел процедур – относительно слабая (в частности, отсутствует достаточное число функций).
Слайд 8Гл. 3. ЭТАПЫ РАЗРАБОТКИ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ И ЯЗЫКИ ПРОГРАММИРОВАНИЯ
BASIC (Beginner’s All-purpose
Гл. 3. ЭТАПЫ РАЗРАБОТКИ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ И ЯЗЫКИ ПРОГРАММИРОВАНИЯ
BASIC (Beginner’s All-purpose
ALGOL (ALGOrithmic Language). Язык ALGOL – результат попытки создания универсального языка. В этом языке была формализована концепция типов данных, реализована идея составных операторов. В диалекте ALGOL 60 была введена концепция блочной структуры, что позволяло программистам локализовать части программы, вводя разные области видимости. Имелась возможность передавать параметры подпрограммам по значению и по имени, а также создания рекурсивных процедур. Были доступны динамические массивы (ALGOL 68), т.е. массивы, диапазон индексов которых задавался переменной, которая могла менять свое значение во время работы программы. Свыше 20 лет ALGOL оставался единственным официальным средством представления алгоритмов в научной литературе. Недостатки: некоторые его свойства были слишком гибкими, в основной версии отсутствовали операторы ввода-вывода.
Слайд 9Гл. 3. ЭТАПЫ РАЗРАБОТКИ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ И ЯЗЫКИ ПРОГРАММИРОВАНИЯ
Императивные языки, являющиеся
Гл. 3. ЭТАПЫ РАЗРАБОТКИ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ И ЯЗЫКИ ПРОГРАММИРОВАНИЯ
Императивные языки, являющиеся
Pascal. Обеспечивает возможность создания больших программ, поддерживая их строгую логическую структуру. Для коротких программ может оказаться слишком громоздким. Считается важнейшим инструментом для обучения методам структурного программирования.
C. Отличная замена ассемблеру для низкоуровневого программирования, с одной стороны, и применения принципов структурного программирования – с другой. Стал очень популярен благодаря многим решениям, сделавшим запись программы на С весьма компактной. В целом С – очень мощный и в то же время изящный язык. Одной из особенностей является отсутствие полной проверки типов, что порождает гибкость языка в сочетании с ненадежностью.
Ada (1980 г.). Происходит от Pascal, но заметно сложнее его. Содержит средства выделения в отдельные модули объектов данных, обеспечивает поддержку использования абстракции данных в структуре программы. Содержит обширные средства обработки исключительных ситуаций. Программные блоки в языке Ada могут быть настраиваемыми. Язык также обеспечивает параллельное выполнение особых программных блоков, которые называются заданиями.
Modula-2 (1981 г.). В сравнении с Pascal добавлена поддержка модулей. Имеются абстрактные типы данных, возможность использования процедур как типов, низкоуровневые средства системного программирования и сопрограммы.
Слайд 10Гл. 3. ЭТАПЫ РАЗРАБОТКИ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ И ЯЗЫКИ ПРОГРАММИРОВАНИЯ
Объектно-ориентированные языки программирования
Гл. 3. ЭТАПЫ РАЗРАБОТКИ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ И ЯЗЫКИ ПРОГРАММИРОВАНИЯ
Объектно-ориентированные языки программирования
Smalltalk (1980 г.). Основные идеи происходят от первого ООЯ SIMULA 67. Программными модулями языка Smalltalk являются объекты – структуры, объе-диняющие локальные данные и набор операций (методы), которые доступны другим объектам. Метод определяет реакцию объекта на определенное сообщение, соответствующее данному методу. Абстракциями объектов являются классы. Экземпляры классов – объекты программы. Имеется иерархия классов. Подклассы наследуют функциональные возможности и переменные родительского класса, имея возможность добавлять новые функциональные возможности, а также изменять или скрывать унаследованные.
С++. Представляет собой надстройку над языком С, поддерживающую большинство возможностей, открытых языком Smalltalk (т.е. С++ - это объединение императивного и объектно-ориентированного языков). Поддерживается наследование и множественное наследование, когда класс имеет несколько родительских классов. Операторы в языке С++ могут перегружаться, а подпрограммы - настраиваться. Динамическое связывание обеспечивается функциями виртуального класса. Язык С++ практически полностью совместим с языком С. Недостатки: объемность и сложность.
Слайд 11Гл. 3. ЭТАПЫ РАЗРАБОТКИ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ И ЯЗЫКИ ПРОГРАММИРОВАНИЯ
Смешанные языки, созданные
Гл. 3. ЭТАПЫ РАЗРАБОТКИ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ И ЯЗЫКИ ПРОГРАММИРОВАНИЯ
Смешанные языки, созданные
Java. Является непосредственным наследником С++. Отличается от него отсутствием некоторых потенциально ненадежных механизмов, а также тем, что устранены любые, не относящиеся к объектно-ориентированному программированию, средства. Нет возможности написания на языке Java независимых подпрограмм, т.е. все подпрограммы являются методами и определяются в классах. Отсутствует множественное наследование, присущее, в частности, языку С++, – причина нередких ошибок. В языке Java можно создавать параллельные процессы, которые называются потоками. Все объекты в этом языке – динамические. Существует механизм неявного удаления объектов из динамической памяти. Повышение надежности, в частности, связано с отказом от части приведений типов, проверки диапазонов изменения индексов. Особенность языка Java состоит также в использовании особого вида трансляции – динамической кодогенерации.
Слайд 12Гл. 3. ЭТАПЫ РАЗРАБОТКИ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ И ЯЗЫКИ ПРОГРАММИРОВАНИЯ
LISP (LISt Processing).
Гл. 3. ЭТАПЫ РАЗРАБОТКИ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ И ЯЗЫКИ ПРОГРАММИРОВАНИЯ
LISP (LISt Processing).
Prolog (PROgramming LOGig, 1972 г.) – язык логического программирования, основная идея которого состоит в использовании формальной логической записи для сообщения компьютеру вычислительных процессов. Программирование в нем является непроцедурным. Программы не устанавливают точно, как должен вычисляться результат, а только описывают его форму. Транслирующая система сама должна выбрать нужный порядок выполнения команд, который приведет к желаемому результату. Логическое программирование было использовано, главным образом, в системах управления реляционными базами данных, экспертных системах и обработке текстов на естественных языках.
Слайд 13Гл. 3. ЭТАПЫ РАЗРАБОТКИ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ И ЯЗЫКИ ПРОГРАММИРОВАНИЯ
1 GL (время
Гл. 3. ЭТАПЫ РАЗРАБОТКИ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ И ЯЗЫКИ ПРОГРАММИРОВАНИЯ
1 GL (время
2GL (конец 50-х – начало 60-х гг.). Символический ассемблер, включающий понятие переменной.
3GL (60-е годы). Универсальные языки высокого уровня (FORTRAN, COBOL, ALGOL, Pascal, C и др.) Современные среды программирования (например, Delphi, Visual BASIC, Java Development Kit) включают поддержку объектно-ориентированной технологии, набор визуальных инструментов для скоростной разработки приложений (RAD), библиотеку визуальных компонент (VCL) и другие инструменты.
4 GL (начало 70-х г.). Непроцедурные языки, ориентированные на конкретную область применения (в отличие от универсальных языков 3GL), в частности, на работу с базами данных. Команды языков 4GL ближе к обычному языку, нежели у 3GL:
FIND ALL RECORDS WHERE NAME IS "SMITH"
Типичный пример языка 4GL – SQL (Structured Query Language).
5 GL (наст. время). В том числе, системы создания программ, ориентированные на непрограммиста.
Поколения языков программирования (Generation Language, GL)
Слайд 14Гл. 3. ЭТАПЫ РАЗРАБОТКИ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ И ЯЗЫКИ ПРОГРАММИРОВАНИЯ
Трансляция - перевод
Гл. 3. ЭТАПЫ РАЗРАБОТКИ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ И ЯЗЫКИ ПРОГРАММИРОВАНИЯ
Трансляция - перевод