- •Дисциплина:
- •Задачи курса
- •Литература
- •Основные термины
- •Жизненный цикл ПО
- •Основные этапы решения задачи на ЭВМ (задача с малым временем жизни)
- •Основные этапы решения задачи на ЭВМ (задача с большим временем жизни)
- •Критерии качества ПС
- •Классификация языков программирования
- •Классификация языков высокого уровня по семантике
- •Постановка задачи
- •Спецификация программы
- •Алгоритм
- •Свойства алгоритма
- •Способы описания алгоритма
- •Ввести число
- •Блок-схемы (ГОСТ 19.701-90)
- •Диаграммы Насси-Шнайдермана
- •Системы счисления
- •Двоичная система счисления
- •Шестнадцатеричная система счисления
Дисциплина:
ПРОГРАММИРОВАНИЕ
Тема:
Общие вопросы разработки программного обеспечения
Направление «Информатика и вычислительная техника»
Курс 1 Семестр 1
Лектор: Петрова О.Б.
Задачи курса
Изучение алгоритмического языка программирования С и знакомство с элементами языка С++
Изучение способов построения и описания алгоритмов
Изучение способов построения структур данных
Знакомство с технологией получения исполняемого кода
Освоение методики анализа задачи
Освоение методики тестирования программ
Литература
Бузюков Л.Б., Петрова О.Б. – Современные методы программирования на языках C и C++.
Березин Б.И., Березин С.Б. – Начальный курс C и C++
Козин С.В., Коробов С.А.. – Методические указания к лабораторным работам по ПЯВУ
Павловская - C++: Учебный курс.
Подбельский - Язык C++.
Основные термины
Программа
Программирование
Программная инженерия
Программное обеспечение (ПО)
Программный комплекс (ПК)
Программные средства (ПС)
Жизненный цикл ПО
Появление потребности и |
Техническое |
Программное |
Прекращение |
||||
постановка задачи |
задание |
средство |
эксплуатации |
||||
|
|
|
|
|
|
|
|
|
Анализ задачи |
|
|
Разработка |
|
Эксплуатация |
|
|
|
|
|
ПС |
|
ПС |
|
|
|
|
|
|
|
|
|
|
|
Тиражиро- |
Результаты |
Расширение |
Устранение |
вание ПС |
эксплуатации |
функций |
ошибок |
|
|
Сопровождение
ПС
Основные этапы решения задачи на ЭВМ (задача с малым временем жизни)
Постановка задачи
Условия задачи, исходные данные, цели
Составление плана решения
Выбор способа решения,разработка алгоритмов
Реализация
Разработка программного кода
Разработка модулей
Проверка правильности решения
Подготовка и исполнение тестов, анализ результатов
Основные этапы решения задачи на ЭВМ (задача с большим временем жизни)
Системный анализ
Анализ требований
Проектирование (архитектуры, модульной структуры, структуры данных, интерфейса пользователя)
Подготовка инструментальных средств
Разработка кода
Разработка тестов для отладки
Отладка (отдельных модулей, сборки, альфа- тестирование, бета-тестирование)
Подготовка документации
Испытания в реальных условиях
Критерии качества ПС
Надежность
Быстродействие
Удобство, эргономичность интерфейса пользователя
Совместимость с другими ПС Удобство сопровождения
Классификация языков программирования
Машинные коды
Ассемблеры
Языки высокого уровня (ЯВУ)
Понятия и структура ЯВУ максимально приближены к человеческому
Машинно-независимые языки (транслятор: компилятор, интерпретатор)
Классификация языков высокого уровня по семантике
Императивные (процедурные, алгоритмические) (C, Pascal, Fortran, Cobol, Basic)
Функциональные (Lisp, Haskell, Erlang)
Декларативные (логические) (Prolog, SQL)
Объектно-ориентированные (C++, Java, C#, Objective-C, Object Pascal)