Технологии программирования — технологии разработки программ для компьютеров, которые будут использоваться людьми для решения различных задач на компьютерах.
Разработка программного обеспечения — это род деятельности (профессия) и процесс, направленный на создание и поддержание работоспособности, качества и надежности программного обеспечения, используя технологии, методологию и практики из информатики, управления проектами, математики, инженерии и других областей знания.
- 1 Основные этапы разработки программ
- 2 Надежность и качества программ для ЭВМ
- 3 См. также
- 4 Литература
Основные этапы разработки программ
Разработка ПО имеет дело с проблемами качества, стоимости и надёжности. Некоторые программы содержат миллионы строк исходного кода, которые, как ожидается, должны правильно исполняться в изменяющихся условиях. Сложность ПО сравнима со сложностью наиболее сложных из современных машин и космических проектов.
Технологии программирование включают:
Основы программирования для начинающих. Урок 1. Как работают программы.
- Анализ и постановка задач
- Проектирование
- Написание исходных текстов программ
- Тестирование и отладка программ
- Испытания и сдача программ
- Сопровождение программ
Основная часть работы программистов связана с написанием исходных текстов программ на одном из языков программирования, а также тестированием и отладкой программ на ЭВМ.
Исходные тексты программ, а также исполняемые файлы являются объектами авторского права и являются интеллектуальной собственностью их авторов и правообладателей.
Надежность и качества программ для ЭВМ
Надежность программ для ЭВМ — это одно из основных качеств не только программ для ЭВМ, но и любого типа техники, приборов, машин и устройств, используемых в быту, в жизни, транспорте, связи и на производстве.
Основные критерии надежности в технике:
- Отказоустойчивость — это отсутствие отказов и сбоев в работе машин, приборов и устройств. В том числе — отсутствие сбоев и отказов в работе ЭВМ — электронных вычислительных машин (компьютеров). Наличие сбоев и отказов в работе машин, приборов и устройств говорит о их недостаточной или низкой надежности.
- Ремонтопригодность — возможность внесения исправлений в машины, приборы и устройства при обнаружении в них сбоев, отказов или других дефектов. В том числе — в компьютерах, вычислительных устройствах, машинах, системах и комплексах.
Особенности программ для ЭВМ — программы не ломаются и не подлежать износу в отличии от всей остальной техники, приборов, машин и устройств. В этом смысле программы для ЭВМ обладают исключительной жизнестойкостью.
См. также
- Программирование
- Методология программирования
- Структурное программирование
Источник: cyclowiki.org
План Как Стать Программистом (в 2023)
Разработка программного обеспечения
В настоящее время при разработке сложного программного обеспечения обычно используют одну из двух технологий: структурное программирование или обьектно-ориентированное программирование.
Первая технология для разработки сложных программ рекомендует разбивать (декомпозировать) программу на подпрограммы (процедуры), решающие отдельные подзадачи, т.е. базируется на процедурной декомпозиции.
Вторая технология использует более сложный подход, при котором в предметной области задачи выделяют отдельно функционирующие элементы.
Поведение этих объектов программно моделируется с использованием специальных средств, а затем, уже из готовых объектов, опять же специальным способом, собирается сложная программа. Таким образом, в основе второй технологии лежит объектная декомпозиция.
Современная методология разработки программного обеспечения предполагает разбиение проекта на этапы, на которых специалисты, играющие определенные роли в проекте, выполняют различные действия и производят составные части проекта.
Этапы разработки
Можно выделить следующие этапы:
— Постановка и анализ задачи, определение требований;
— Разработка, написание кода;
и оценка качества;
— внедрение и сопровождение.
Постановка задачи,
определение требований
Результатом обычно является документ, называемый в нашей стране техническим заданием (ГОСТ 19.201-78) и содержащий сведения о назначении продукта, набор требований к нему и описание границ проекта.
Анализ задачи
По результатам анализа условия задачи выбирают математические абстракции, адекватно, т.е. с требуемой точностью и полнотой, представляющие исходные данные и результаты, строят модель задачи и определяют метод преобразования исходных данных в результат (метод решения задачи).
Проектирование
Принято различать логическое и физическое проектирование.
Логическое проектирование не учитывает особенностей среды, в которой будет выполняться программа (технические и программные средства компьютера).
При выполнении физического проектирования все эти параметры должны быть учтены.
Логическое проектирование
Логическое проектирование при процедурном подходе предполагает детальную проработку последовательности действий будущей программы.
Определяется структура программы (программ) и разрабатывается алгоритм.
Любой алгоритм существует не сам по себе, а предназначен для определенного исполнителя. Алгоритм описывается в командах исполнителя, который этот алгоритм будет выполнять. Объекты, над которыми исполнитель может совершать действия, образуют так называемую среду исполнителя. Исходные данные и результаты любого алгоритма всегда принадлежат среде того исполнителя, для которого предназначен алгоритм.
Свойства алгоритма
Дискретность. Выполнение алгоритма разбивается на последовательность законченных действий-шагов.
Детерминированность. Способ решения задачи однозначно определен в виде последовательности шагов.
Понятность. Алгоритм не должен содержать предписаний, смысл которых может восприниматься исполнителем неоднозначно
Результативность. Содержательная определенность результата каждого шага и алгоритма в целом.
Свойство результативности содержит в себе свойство конечности — завершение работы алгоритма за конечное число шагов.
Массовость. Алгоритм пригоден для решения любой задачи из некоторого класса задач.
При изучении алгоритмов важно разделять два понятия: запись алгоритма и выполнение алгоритма. В учебно-научной литературе термин «алгоритм» используется как в первом, так и во втором значении. Для более четкого изложения нужно конкретизировать употребление этого термина!
Различают последовательности действий
— и циклической структуры.
Линейная структура процесса вычислений предполагает, что для получения результата необходимо выполнить некоторые операции в определенной последовательности.
Разветвленная структура процесса вычислений предполагает, что конкретная последовательность операций зависит от значений одного или нескольких
Циклическая структура процесса вычислений предполагает, что для получения результата некоторые действия необходимо выполнить несколько раз.
Процессы вычислений циклической структуры в свою очередь можно разделить на три группы:
• циклические процессы, для которых количество повторений известно счетные циклы или циклы с заданным количеством повторений
• циклические процессы, завершающиеся по достижении или нарушении некоторых условий — итерационные циклы;
циклические процессы, из которых возможны два варианта выхода: выход по завершении процесса и досрочный выход по какому-либо дополнительному условию — поисковые циклы.
Способы записи алгоритма
— текстовая форма записи;
— запись в виде блок-схемы;
— запись алгоритма на каком-либо алгоритмическом языке;
— представление алгоритма в виде машины Тьюринга или машины Поста.
Вне зависимости от выбранной формы записи элементарные шаги алгоритма (команды) при укрупнении объединяются в алгоритмические конструкции: последовательные, ветвящиеся, циклические, рекурсивные.
В 1969 году Эдсгер В. Дейкстра в статье «Структуры данных и алгоритмы» доказал, что для записи любого алгоритма достаточно трех основных алгоритмических конструкций: последовательных, ветвящихся, циклических.
Блок-схема
Блок-схема алгоритма(ГОСТ 19.701-90)
— Блок-схема алгоритма представляет собой диаграмму, на которой изображена последовательность действий, выполняемых программой.
Терминатор. Показывает начальную и конечную точки программы. Терминатор соединен с другими фигурами только одной линией: из начальной точки линия со стрелкой выходит, а в конечную — входит.
Ввод и вывод данных. Фрагмент программы, в котором пользователь вводит данные или программа выводит результаты на экран.
Обработка данных. Отображает любую операцию, выполняемую компьютером, например присвоение переменной какого-либо значения.
Структура принятия решения. Фрагмент программы, в котором принимается решение о направлении вычислительного процесса. В ромб всегда входит одна линия, а выходят две. Одна из выходящих линий отмечается словом «Да», а другая — «Нет».
Счетные циклы.
Предопределенный процесс. Эта фигура отображает группу операций, например вычисление факториала.
Соединитель. С помощью этой фигуры можно избежать перекрещивания линий и сделать блок-схему менее запутанной. Соединители всегда используются парами: в один соединитель линия входит, а из другого выходит, причем в каждый из соединителей данной пары заносится одно и то же число.
Линия. Соединяет две фигуры блок-схемы и показывает последовательность выполняемых программой операций.
Выбор:
Цикл с пост условием (цикл-до)
Цикл с заданным числом повторений
Перечисленные структуры были положены в основу структурного программирования
Псевдокод
Состоит из комбинации операторов языка высокого уровня и фраз на английском или русском языке. Стандартов на составление псевдокодов не существует.
Алгоритмы простых программ разрабатывают, продумывая последовательность действий для решения некоторой задачи.
Для разработки алгоритмов более сложных программ целесообразно использовать метод пошаговой детализации
С использованием данного метода разработку алгоритмов
На первом этапе описывают решение поставленной задачи, выделяя подзадачи и считая их решенными.
На следующем — аналогично описывают решение подзадач, формулируя уже подзадачи следующего уровня. Процесс продолжают до тех пор, пока не дойдут до подзадач, алгоритмы решения которых очевидны.
При этом, описывая решение каждой задачи, желательно использовать не более одной-двух конструкций, таких как цикл или ветвление, чтобы четче представлять структуру программы.
Физическое
проектирование
При выполнении физического проектирования осуществляют привязку разрабатываемого программного обеспечения к имеющемуся набору технических и программных средств.
Создание
программного кода
— Разработанные алгоритмы реализуют, составляя по ним текст программы с использованием конкретного языка программирования.
— На этапе собственно разработки создается код приложения в соответствии с техническим проектом.
Вначале осуществляют ввод программы в компьютер. Для ввода используют специальную программу — текстовый редактор, с помощью которого создают файл, содержащий текст программы.
Программа преобразующая программу, записанную на одном из языков высокого уровня, в программу на машинном языке — транслятор .
Трансляторы реализуются в виде компиляторов или интерпретаторов.
— Интерпретатор (англ. interpreter — истолкователь, устный переводчик ) переводит и выполняет программу строка за строкой.
— Компилятор (англ. compiler — составитель, собиратель ) читает всю программу целиком, делает ее перевод и создает законченный вариант программы на машинном языке, который затем и выполняется.
Запускаем компилятор.
В процессе разбора и преобразования программы компилятор может обнаружить ошибки. Тогда он аварийно завершает работу, выдав программисту сообщения об ошибках компиляции.
После исправления ошибок процесс компиляции повторяют.
Если с точки зрения компилятора программа написана правильно, то он строит так называемый объектный код.
— После работы компоновщика получаем исполняемую программу
— На этом этапе основным инструментом, обязательным к применению, является средство разработки приложений, система программирования:
— Borland Jbuilder, Borland Delphi, Borland Developer Studio, Borland C++ Builder, Microsoft Visual Basic, Microsoft Visual C++, C# , Microsoft Visual Studio, Microsoft Visual Studio .NET
Современные системы программирования обычно предоставляют пользователям мощные и удобные средства разработки программ, интегрированные среды разработки; В них входят:
— компилятор или интерпретатор;
— средства создания и редактирования текстов программ;
— библиотеки стандартных программ и функций;
— отладочные программы, т.е. программы, помогающие находить и устранять ошибки в программе;
— графические библиотеки; утилиты для работы с библиотеками;
— встроенная справочная служба и т.д.
Тестирование и оценка качества
— При тестировании продукта проверяется его соответствие требованиям, и в зависимости от этих требований осуществляется определение методик тестирования, создание тестов и выбор соответствующих инструментов.
Помимо ошибок, обнаруживаемых автоматически компилятором, компоновщиком или операционной системой, существует еще группа очень опасных логических ошибок.
Наличие таких ошибок в программе приводит к выдаче неправильных результатов. Для их обнаружения параллельно с отладкой программы осуществляют ее тестирование.
Тестированием называют процесс выполнения программы при различных тестовых наборах данных с целью обнаружения ошибок
Процесс локализации и исправления ошибок получил название отладки программы. При отладке программы часто используют специальные программы- отладчики, которые позволяют выполнить любой фрагмент программы.
Документирование
— В простейшем случае файл справочной системы можно создать с помощью Microsoft Word и утилит от Microsoft для создания help-файлов, включаемых в состав многих средств разработки, но при большом объеме работы нередко используются специализированные средства таких компаний, как Blue Sky Software, EC Software, JGsoft.
— Главное назначение документации — позволить человеку, не являющемуся разработчиком программы, использовать ее и при необходимости модифицировать ее код.
Внедрение и сопровождение
— Для создания дистрибутивных приложения также применяются специализированные средства, лидерами рынка которых являются компании InstallShield Software и Wise Solutions.
— На этапе сопровождения продукта, как показывает практика, может понадобиться все, что было произведено при работе над проектом, и соответственно любой из инструментов.
Источник: www.yurii.ru
Презентация на тему Прикладное программирование. Этапы разработки программного обеспечения
Изучаемые вопросы Структура программного обеспечения. Этапы разработки программного обеспечения. Постановка задачи. Рекомендуемая форма спецификации.
- Главная
- Информатика
- Прикладное программирование. Этапы разработки программного обеспечения
Слайды и текст этой презентации
Слайд 1Этапы разработки программного обеспечения.
Прикладное программирование
Слайд 2Изучаемые вопросы
Структура программного обеспечения.
Этапы разработки программного
обеспечения.
Постановка задачи.
Рекомендуемая форма спецификации.
Слайд 3Жизненный цикл программного обеспечения
Первоначально термин жизненный цикл
(ЖЦ) продукции был введен в середине 60-х
годов 19 века голландскими специалистами по качеству Дж. Ван Эттингером и Дж. Ситтинтеном.
ЖЦ продукции включает три стадии:
Проектирование
Изготовление
Потребление
Слайд 4Жизненный цикл программного обеспечения
В развитии идеи Эттингера
и Ситтинтена была разработана концептуальная модель взаимозависимых
видов деятельности, влияющих на качество продукции, так называемая петля (спираль) качества (Quality Loop — QL).
QL ориентирует на осознание того, что качество формируется на всех стадиях ЖЦ продукции. В дальнейшем QL была стандартизирована, в настоящее время международный стандарт ISO-9004-1-2000 поддерживает 12 стадий ЖЦ продукции
Слайд 5Жизненный цикл программного обеспечения
1. Проектирование и разработка.
2.
Подготовка производства.
3. Материально-техническое снабжение.
4. Производство.
5. Контроль и
испытания.
6. Упаковка и хранение
7. Распределение и реализация.
8. Монтаж и ввод в эксплуатацию.
9. Техническое сопровождение.
10. Послепродажное обслуживание
11. Управление или восстановление после выработки ресурса
12. Маркетинг (поиск и изучение рынка)
Слайд 6Программное обеспечение и программы
Программой (программным модулем) называется
последовательность команд, или операторов, которые необходимо ввести
в оперативное запоминающее устройство компьютера, чтобы он мог обработать входные данные. Компьютер выполняет эту программу и выдаёт результат обработки входных данных (выходные данные).
Слайд 7Программное обеспечение и программы
Программное обеспечение состоит из
нескольких совместно работающих программ (программных модулей), объединённых
в программный комплекс, и документов, необходимых для разработки, сопровождения и эксплуатации программного комплекса.
В простейшем случае программный комплекс может состоять из одной программы, при этом второй компонент программного обеспечения — документы — должен присутствовать всегда.
Слайд 8Программное обеспечение и программы
ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ
Программный комплекс
Документы
Программа
1
Программа 2
Программа N
Документы для разработки и сопровождения
Документы по эксплуатации ПК
Слайд 9Этапы разработки программного обеспечения
Процесс разбивки программного обеспечения
можно разбить на этапы.
Работа над программным
обеспечением начинается с выдачи задания на разработку программного обеспечения (технического задания).
Слайд 10Этапы разработки программного обеспечения
Слайд 11Этапы разработки программного обеспечения
Постановка задачи.
На этом этапе
создаётся модель рассматриваемого явления, процесса и т.д.
Характеристики и особенности этой модели отражаются в спецификации. Для подготовки спецификации используются определённые стандартные формы.
Слайд 12 Рекомендуемая форма спецификации
Название задачи
Приводится название решаемой задачи,
программного комплекса, используемой системы программирования; указываются требования
Слайд 13Рекомендуемая форма спецификации
Описание
Подробно излагается условие задачи;
описывается применяемая математическая модель для задач вычислительного
характера, метод обработки входных данных для задач невычислительного (логического) характера и т.д.
Слайд 14Рекомендуемая форма спецификации
Управление режимами работы программы
Формулируются основные
требования к способу взаимодействия пользователя с программой
(интерфейс пользователь — компьютер).
Слайд 15Рекомендуемая форма спецификации
Входные данные
Описываются входные данные, указываются
пределы, в которых они могут меняться, значения,
которые они не могут принимать, и т.д.
Слайд 16Рекомендуемая форма спецификации
Выходные данные
Описываются выходные данные, сообщается
о том, в каком виде они должны
быть представлены — в числовом, графическом или текстовом, приводятся некоторые другие сведения.
Слайд 17Рекомендуемая форма спецификации
Ошибки
Перечисляются характерные ошибки при вводе
данных, а, кроме того, возможные ошибки пользователя
при работе с программой. Указываются способы диагностики ошибок и защиты от них на этапе проектирования, а также возможные реакции пользователя при совершении и ошибочных действий и реакция компьютера на эти действия.
Слайд 18Рекомендуемая форма спецификации
Примеры работы программного комплекса
Приводится один
или несколько примеров работы программного комплекса.
Слайд 19Пример спецификации
РАЗРАБОТАТЬ ПРОГРАММНЫЙ КОМПЛЕКС ДЛЯ РЕШЕНИЯ СЛЕДУЮЩЕЙ
ЗАДАЧИ: ИМЕЮТСЯ ТРИ ЧИСЛА, ПРЕДСТАВЛЯЮЩИЕ СОБОЙ ДЛИНЫ
ТРЁХ ОТРЕЗКОВ. ОПРЕДЕЛИТЬ, МОЖНО ЛИ ПОСТРОИТЬ ИЗ ЭТИХ ОТРЕЗКОВ ТРЕУГОЛЬНИК, И БУДЕТ ЛИ ОН ПРЯМОУГОЛЬНЫМ
Слайд 20Пример спецификации
Название задачи
Треугольник.
Название
программы — Triangl.
Система программирования —
Турбо-Паскаль 7.0.
Компьютер –AMD A6-3500 APU.
Слайд 21Пример спецификации
Описание
Даны три вещественных положительных числа: a,
b и c.
Определить:
можно ли построить треугольник
из отрезков, длина которых соответственно равна a, b и c?
является ли этот треугольник прямоугольным?
Слайд 22Пример спецификации
Математическая формулировка задачи
Условием существования треугольника
является одновременное выполнение трёх неравенств:
b + c
> a
c + a > b (1)
a + b > c
Слайд 23Пример спецификации
a * a = b *
b + c * c
b * b
= c * c + a * a (2)
c * c = a * a + b * b
Если все неравенства (1), выполняются и справедливо какое-либо из выражений (2), то треугольник будет прямоугольным.
Слайд 24Пример спецификации
Однако необходимо иметь в виду, что
для переменных вещественного типа (real) использование логической
операции отношения = (равно) даёт непредсказуемый результат из-за особенностей работы компьютера с числами данного типа. В связи с этим заменим равенства (2) на:
| a * a — (b * b + c * c) | / (a * a)
Слайд 25Пример спецификации
Здесь e — малая величина. Гипотенузе
прямоугольного треугольника будет, разумеется, соответствовать переменная, стоящая
первой в левой части того из неравенств (3), которое выполняется (переменная a, b или c).
Слайд 26Пример спецификации
Управление режимами работы программы
Для управления режимами
работы программы использовать меню, в котором выбор
режима осуществляется вводом номера (идентификатора). Работа с программой должна завершаться также с помощью меню.
Слайд 27Пример спецификации
Входные данные
Необходимо, чтобы a, b, c
и e имели вещественный тип (real).
Слайд 28Пример спецификации
Выходные данные
На дисплей должна выдаваться справочная
информация о назначении программы.
После обработки входных данных,
введённых пользователем, на дисплей должно выводиться одно из следующих сообщений:
1) “Это не треугольник”
2) “Это прямоугольный треугольник с гипотенузой, равной (указывается длина гипотенузы)”
3) “Это не прямоугольный треугольник”
Слайд 29Пример спецификации
Слайд 30Пример спецификации
Слайд 31Пример спецификации
Ошибки
Примечание. При вводе численных значений типа
real пользователь может ошибиться и ввести вместо
числа комбинацию из числовых и нечисловых символов. Результатом этого является обычно зависание компьютера.
Слайд 32Пример спецификации
При вводе чисел a, b, c
и e надо предусмотреть контроль:
1) соответствия их
типу real;
2) знака вводимых чисел a, b и c;
3) величины погрешности e (0
Слайд 33Пример спецификации
Примеры работы программного комплекса
Пример 1
e = 0.1
a = 5.01
b = 3
c = 4
Это прямоугольный треугольник с гипотенузой, равной 5.01.
Слайд 34Пример спецификации
Пример 2
e = 0.1
a = 2
b =
3
c = 3
Это не прямоугольный треугольник.
Слайд 35Пример спецификации
Пример 3
e = 0.1
a = 2
b =
3.5
c = 6
Это не треугольник
Источник: thepresentation.ru