Основные этапы развития программирования. Стихийное программирование.
Основные этапы развития программирования. Стихийное программирование.
Технология программирования - совокупность методов и средств, используемых в процессе разработки ПО.
Основные этапы программирования как науки:
1 этап - «Стихийное» программирование (до середины 60х годов XX века)
2 этап - Структурный подход к программированию (60-70-е годы XX в.)
3 этап - Объектный подход к программированию (с середины 80-х до конца 90-х годов)
4 этап - Компонентный подход и CASE-технологии (с середины 90-х годов XX в. до наст.времени)
Стихийное программирование (С момента появления первых вычислительных машин до середины 60-х годов ХХ в.)
Практически отсутствовали сформулированные технологии, программирование было близко к искусству. Первые программы имели простейшую структуру, состояли из собственно программы на машинном языке и обрабатываемых ею данных. Сложность программ в машинных кодах ограничивалась способностью программиста одновременно мысленно отслеживать последовательность выполняемых операций и местонахождение данных при программировании.
С появление ассемблеров стали использовать символические имена данных и мнемонику кодов операций.
Создание языков программирования высокого уровня (Фортран, Алгол) упростило программирование вычислений, увеличило сложность программ.
В языках появились средства, позволяющие оперировать подпрограммами. В результате созданы огромные библиотеки расчетных и служебных подпрограмм, которые по мере нужнобности вызывались из разрабатываемой программы.
Типичная программа того времени состояла из основной программы, области глобальных данных и набора подпрограмм. Недостаток такой архитектуры: при увеличении количества подпрограмм возрастала вероятность искажения части глобальных данных какой-либо подпрограммой.
Чтобы сократить количество ошибок предложено использовать локальные данные в подпрограммах.
Появление средств поддержки подпрограмм позволило разрабатывать программное обеспечение нескольким программистам параллельно.
Понятия: стандарт, унификация. Национальный и международный стандарты.
Стандарт.
Международная организация по стандартизации (ИСО) приняла определение:
Стандарт - документ, составленный в сотрудничестве и с согласия всех заинтересованных сторон, основанный на использовании результатов науки, техники, практического опыта, направленный на достижение пользы для общества и утвержденный органом, занимающимся стандартизацией.
Стандарт может быть разработан на материальные объекты (продукцию, эталоны, и т.п.), так и на нормы, правила, требования к объектам организационно-методического и общественного характера.
Унификация - рациональное ограничение характеристик и (или) номенклатуры объектов материального производства, в результате которого повышается их взаимозаменяемость, совместимость и конструктивно-технологическое подобие, сокращаются затраты в производстве и эксплуатации.
В зависимости от масштабов работы по стандартизации она может быть национальной и международной.
Национальный стандарт - документ, принятый национальным органом по стандартизации. Основная его функция - разработка и/или опубликование национальных стандартов, утверждение стандартов, подготовленных другими органами. Во всех странах мира национальные стандарты утверждаются на государственном уровне. Международный стандарт - стандарт, принятый международным органом, занимающимся стандартизацией. Наиболее представительные органы - Международная организация по стандартизации (ИСО) и Международная электротехническая комиссия (МЭК).
Понятие жизненного цикла ПО.
Жизненный цикл программного обеспечения (ПО) — это непрерывный процесс, который определяется как период времени, который начинается с момента принятия решения о необходимости создания программного продукта и заканчивается в момент его полного изъятия из эксплуатации.
Модели жизненного цикла ПО.
Модель ЖЦ ПО – это структура, определяющая последовательность выполнения и взаимосвязи процессов, действий, задач на протяжении ЖЦ. Модель ЖЦ зависит от специфики, масштаба и сложности проекта и специфики условий, в которых система создается и функционирует.
На протяжении последних лет сменились три модели жизненного цикла ПО: каскадная, модель с промежуточным контролем и спиральная
Каскадная модель (1970-1985).
Предполагает, что переход на следующую стадию осуществляется только после того, как будет полностью завершена работа на текущей стадии, и возвратов на пройденные стадии не предусматривается. Каждая стадия заканчивается получением результатов, которые служат в качестве исходных данных для следующей стадии.
Стадии жизненного цикла.
Стадия создания ПО - часть процесса создания ПО, ограниченная временными рамками и заканчивающаяся выпуском какого-то конкретного продукта (моделей ПО, программных компонентов, документации).
Рис. 1. Стадии жизненного цикла ПО
Требования к качеству ПО.
Требования:
· непротиворечивость требований к системе и степень учета потребностей пользователей;
· возможности поставщика выполнять заданные требования;
· соответствие выбранных процессов ЖЦ ПО условиям договора;
· адекватность стандартов, процедур и среды разработки процесса ЖЦ ПО;
· соответствие проектных спецификаций ПО заданным требованиям;
· корректность описания в спецификациях входных/выходных данных, интерфейсов, логики;
· соответствие кода проектным спецификациям и требованиям;
· тестируемость и корректность кода, его соответствие принятым стандартам кодирования;
· корректность интеграции компонентов ПО в систему;
· адекватность, полнота и непротиворечивость документации.
Основные этапы развития программирования. Стихийное программирование.
Технология программирования - совокупность методов и средств, используемых в процессе разработки ПО.
Основные этапы программирования как науки:
1 этап - «Стихийное» программирование (до середины 60х годов XX века)
2 этап - Структурный подход к программированию (60-70-е годы XX в.)
3 этап - Объектный подход к программированию (с середины 80-х до конца 90-х годов)
4 этап - Компонентный подход и CASE-технологии (с середины 90-х годов XX в. до наст.времени)
Стихийное программирование (С момента появления первых вычислительных машин до середины 60-х годов ХХ в.)
Практически отсутствовали сформулированные технологии, программирование было близко к искусству. Первые программы имели простейшую структуру, состояли из собственно программы на машинном языке и обрабатываемых ею данных. Сложность программ в машинных кодах ограничивалась способностью программиста одновременно мысленно отслеживать последовательность выполняемых операций и местонахождение данных при программировании.
С появление ассемблеров стали использовать символические имена данных и мнемонику кодов операций.
Создание языков программирования высокого уровня (Фортран, Алгол) упростило программирование вычислений, увеличило сложность программ.
В языках появились средства, позволяющие оперировать подпрограммами. В результате созданы огромные библиотеки расчетных и служебных подпрограмм, которые по мере нужнобности вызывались из разрабатываемой программы.
Типичная программа того времени состояла из основной программы, области глобальных данных и набора подпрограмм. Недостаток такой архитектуры: при увеличении количества подпрограмм возрастала вероятность искажения части глобальных данных какой-либо подпрограммой.
Чтобы сократить количество ошибок предложено использовать локальные данные в подпрограммах.
Появление средств поддержки подпрограмм позволило разрабатывать программное обеспечение нескольким программистам параллельно.