Рассмотрение основных этапов процесса программирования по Райли. Характеристика особенностей кодирования алгоритма. Анализ промышленного применения компьютеров и растущего спроса на программы. Изучение сущности жизненного цикла программного обеспечения.
Промышленное применение компьютеров и растущий спрос на программы поставили актуальные задачи существенного повышения производительности разработки ПО, разработки индустриальных методов планирования и проектирования программ, переноса организационно-технических, технико-экономических и социально-психологических приемов, закономерностей и методов из сферы материального производства в сферу применения компьютеров. Комплексный подход к процессам разработки, эксплуатации и сопровождения ПО выдвинул ряд насущных проблем, решение которых исключит «узкие места» в проектировании программ, уменьшит сроки завершения работ, улучшит выбор и адаптацию существующих программ, а может быть и определит судьбу систем со встроенными ЭВМ. В практике разработок больших программных проектов зачастую отсутствует единый подход к оцениванию затрат труда, сроков проведения работ и материальных затрат, что сдерживает повышение производительности разработки ПО, а в конечном счете - эффективное управление жизненным циклом ПО. Поскольку программа любого типа становится изделием (кроме, может быть, учебных, макетных программ), подход к ее изготовлению во многом должен быть аналогичен подходу к производству промышленной продукции, и вопросы проектирования программ становятся чрезвычайно важными. Существует несколько подходов при определении фаз и работ жизненного цикла программного обеспечения (ЖЦПО), шагов процесса программирования, каскадная и спиральная модели.Процесс программирования включает четыре шага (рис. 1): постановка задачи, т.е. получение адекватного представления о том, какую задачу должна выполнить программа; кодирование программы, т. е. перевод спроектированного решения в программу, которая может быть выполнена на машине; Программирование начинается с того момента, когда пользователь, т.е. тот, кто нуждается в программе для решения задачи, излагает проблему системному аналитику. Пользователь и системный аналитик совместно определяют постановку задачи.Она выполняет функции контракта между пользователем и программистом (программистами). При хорошей постановке задачи как пользователь, так и программист ясно и недвусмысленно представляют задачу, которую необходимо выполнить, т.е. в этом случае учитываются интересы как пользователя, так и программиста. Постановка задачи (спецификация программы); по существу, означает точное, полное и понятное описание того, что происходит при выполнении конкретной программы. Пользователь обычно смотрит на компьютер, как на черный ящик: для него неважно, как работает компьютер, а важно, что может компьютер из того, что интересует пользователя. Рассмотрим следующую постановку задачи: «Ввести три числа и вывести числа в порядке».Выводятся три введенных целых числа, причем все три выводятся на одной строке. Числа выводятся от меньшего к большему, слева направо. 1) Если введено менее трех чисел, программа ждет дополнительного ввода.На данной стадии постановка задачи должна быть превращена в алгоритм. Поэтому алгоритмист должен обладать достаточным опытом программирования и подходить к каждой новой задаче, опираясь на твердо установленную методику проектирования. Чтобы избежать ошибок в программах, алгоритмисты должны использовать тщательно разработанные процедуры конструирования, основанные на правилах логического вывода. Например, индуктивный вывод может быть использован, чтобы обосновать общее заключение «солнце поднимается на востоке» на основании многих отдельных наблюдений того, что солнце всегда поднималось на востоке. Например, проектировщик нового холодильника-морозильника на основании исходного множества спецификаций агрегата (т.е. постановки задачи) должен дать детальные схемы и спецификации окончательного продукта (т.е. проект).Работа кодировщика заключается в переводе алгоритма в программу. Например, кулинарные рецепты обычно записываются на естественных языках, таких, как английский, французский, русский или японский.Прежде чем завершить работу, кодировщик должен убедиться, что программа соответствует псевдокоду. После этого можно считать, что программа готова для передачи пользователю в комплекте со всей необходимой документацией. Дело в том, что в программе могут быть ошибки, обусловленные либо неадекватной постановкой задачи, либо тем, что проект не удовлетворяет постановке задачи или программа не соответствует проекту.Последней составляющей процесса программирования является документирование. Оно включает широкий спектр описаний, облегчающих процесс программирования и обогащающих результирующую программу. Внутренняя документация, включенная непосредственно в программу, облегчает чтение кода.В самом общем случае можно считать, что жизненный цикл программной системы состоит из трех фаз: •определения;Процесс создания ПО начинается с практических изысканий, ведущих к системному анализу, задача которого состоит в определении общих требований к системе и программам. Такой анализ должен, прежде всего, установить реальные потребности и цели и по возможности выявить имеющиеся методы, позволя
План
Содержание
Введение
1.1 Шаги процесса программирования по Райли
1.1 Постановка задачи
1.2 Проектирование решения
1.3 Кодирование алгоритма
1.4 Сопровождение программы
1.5 Программная документация
2. Определение ЖЦПО по Леману
2.1 Определение системы
2.2 Реализация
2.3 Обслуживание
3. Фазы и работы ЖЦПО по Боэму
3.1 Каскадная модель
3.2 Экономическое обоснование каскадной модели
3.3 Усовершенствование каскадной модели
3.4 Определение фаз жизненного цикла
3.5 Основные работы над проектом
Заключение
Список литературы
Введение
Промышленное применение компьютеров и растущий спрос на программы поставили актуальные задачи существенного повышения производительности разработки ПО, разработки индустриальных методов планирования и проектирования программ, переноса организационно-технических, технико-экономических и социально-психологических приемов, закономерностей и методов из сферы материального производства в сферу применения компьютеров. Комплексный подход к процессам разработки, эксплуатации и сопровождения ПО выдвинул ряд насущных проблем, решение которых исключит «узкие места» в проектировании программ, уменьшит сроки завершения работ, улучшит выбор и адаптацию существующих программ, а может быть и определит судьбу систем со встроенными ЭВМ.
В практике разработок больших программных проектов зачастую отсутствует единый подход к оцениванию затрат труда, сроков проведения работ и материальных затрат, что сдерживает повышение производительности разработки ПО, а в конечном счете - эффективное управление жизненным циклом ПО. Поскольку программа любого типа становится изделием (кроме, может быть, учебных, макетных программ), подход к ее изготовлению во многом должен быть аналогичен подходу к производству промышленной продукции, и вопросы проектирования программ становятся чрезвычайно важными. Эта идея лежит в основе книги Б.У. Боэма «Инженерное проектирование программного обеспечения», которую мы использовали при написании данной курсовой работы. В этой книге под проектированием ПО понимается процесс создания проекта программного изделия.
ЖЦПО - это непрерывный процесс, который начинается с момента принятия решения о необходимости создания ПО и заканчивается в момент его полного изъятия из эксплуатации.
Существует несколько подходов при определении фаз и работ жизненного цикла программного обеспечения (ЖЦПО), шагов процесса программирования, каскадная и спиральная модели. Но все они содержат общие основополагающие компоненты: постановка задачи, проектирование решения, реализация, обслуживание.
Наиболее известной и полной, пожалуй, является структура ЖЦПО по Боэму, включающая восемь фаз. Она и будет представлена в дальнейшем наиболее подробно.
Одним из возможных вариантов может послужить описание верхнего уровня по Леману, включающее три основные фазы и представляющее описание ЖЦПО в самом общем случае.
И, для разнообразия, - приведем шаги процесса программирования, представленные Д. Райли в книге «Использование языка Модула-2». Это представление, по-моему, является весьма простым и привычным, с него и начнем.
Вывод
Выводятся три введенных целых числа, причем все три выводятся на одной строке. Смежные числа разделяются пробелом. Числа выводятся от меньшего к большему, слева направо.
ОШИБКИ
1) Если введено менее трех чисел, программа ждет дополнительного ввода.
2) Строки ввода, кроме первых трех, игнорируются.
3) Если какая-либо из первых трех строк содержит более одного целого числа, то программа завершает работу и выдает сообщение.
ОШИБКА ВВОДА - допускается только одно целое число на строке.
ПРИМЕР: ввод ® - 3
2
17 вывод ® - 3 2 17
Вы можете ЗАГРУЗИТЬ и ПОВЫСИТЬ уникальность своей работы