Модели разработки ПО
Вопрос
Трансляция программ
Транслятор – программа, которая преобразует программу с языка высокого уровня в программу, состоящую из машинных команд. Трансляторы реализуются в виде компиляторов или интерпретаторов, которые существенно различаются по принципам работы.
Компилятор (составитель собиратель - англ) - читает всю программу целиком, создает законченных вариант программы на машинном языке, который затем и выполняется. После компилирования получается исполняемая программа, при выполнении которой не нужна ни исходная программа, ни компилятор.
Интерпретатор (истолковывать, устный переводчик) – переводит и выполняет программу строку за строкой. Программа, обрабатываемая интерпретатором, должна заново переводиться на машинный язык при каждом очередном ее запуске.
1.5 Классификация ПО по возможности модификации:
· Закрытое ПО - это такая модель, при которой автор удерживает за собой определенного права. Для большинства таких программ исходных код недоступен, что делает невозможной или по крайней мере нетривиальной задачу модификации программ.
|
|
· Открытое ПО – это такая модель программного обеспечения, при которой дается право свободно распространять копии программы вместе с исходным кодом, изменять программу или использовать ее части в новых открытых разработках. Фактически это дает возможность без оплаты законно модифицировать для собственных нужд и использовать такое ПО.
Разработка ПО с открытым кодом осуществляется коллективно всеми желающими под руководством единого центра и ПО бесплатно распространяется вместе с исходным кодом.
ПО с открытым кодом пользуется заслуженной популярностью во всем мире, так как оно:
· Гарантирует независимость пользователя от производителей
· Дает возможность каждому пользователю лично убедиться в отсутствии постороннего по отношению к заявленной функциональности или вредоносного кода.
· Обладает большей гибкостью: пользователь может модифицировать исходных код для адаптации ПО по своим нуждам.
· Дешевле обслуживание.
Главный недостаток ПО с ОТК кодом – его доводка и адаптация к требованиям пользователя, а в дальнейшем техническая поддержка, требует времени, знанием и умением.
Аналитики рекомендуют с осторожностью использовать ПО с ОТК кодом из за сложности получения от них достоверной информации.
Классические модели:
1. Водопадная (каскадная) осуществляется разбиение всей разработки на этапы, причем переход от одного этапа к другому осуществляется, только после того, как будет полностью завершен текущий этап. Каждый этап завершается выпуском полного комплекта документации, достаточной для того, чтобы разработка могла быть продолжена другой командой разработчиков.
|
|
Характеристики:
- фиксированный набор стадий
- каждая стадия предполагает законченный результат
-стадия начинается, кода кончилась предыдущая
Недостатки:
- фаза должна быть закончена прежде чем приступить к след
-тяжело реагировать на изменения требований
Использование: там, где требования хорошо понятны и стабильны.
2. Спиральная модель. Разработка ПО проходит итерациями, и после прохождения каждого витка спирали пользователь получает очередную версию ПО. После получения заказчиком каждой версии уточняются цели и характеристики проекта, определяются его качество и планируются работы следующего витка спирали.
Характеристики:
- стадии повторяются неоднократно
- сначала для неокончательно сформуливованных требований выплняются весь цикл работ по созданию работ прототипа. Потом уточняюся требования и все повторяется. На выходе продукт отвеч потребностям пользователей.
Недостатки:
- система