Практическая часть и требования к отчету
Лабораторная работа №1.
Этапы жизненного цикла программных систем.
Цель работы: Практическое изучение основных этапов проектирования программных систем на примере разработки простой программы.
Теоретическая часть
Жизненный цикл программной системы состоит из двух основных фаз - проектирования и эксплуатации.
Фаза проектирования, в свою очередь, может быть разделена на ряд этапов. Наиболее общими из этих этапов являются следующие (более подробно - см. материал лекций по курсу “Проектирование алгоритмов и программного обеспечения”):
- Постановка задачи. На этом этапе определяется цель проектирования программной системы. Составляется техническое задание, составляются и утверждаются соответствующие юридические документы (договор, контракт и т.п.). Результатом выполнения данного этапа является техническое задание, в котором определяются все функции разрабатываемой программной системы и предъявляемые к ней требования.
- Разработка. На этом этапе разрабатывается архитектура программной системы и алгоритмы функционирования всех ее компонентов (модулей). При детализации структуры программной системы могут использоваться два подхода – нисходящий (то есть “сверху вниз”, или “от общего к частному”) и восходящий (то есть “снизу вверх”, или “от частного к общему”). При использовании нисходящего подхода (нисходящего проектирования) сначала выделяется модуль самого верхнего уровня иерархии, выполняющий главные функции программной системы, определенные в техническом задании. Затем определяются модули нижележащего уровня, которые выполняют вспомогательные функции, необходимые для реализации главных функций модуля (или модулей) вышележащего уровня. Процесс выделения нижележащих уровней повторяется до тех пор, пока не будут детально определены все вспомогательные функции, необходимые для выполнения основных функций каждого очередного уровня. При использовании восходящего подхода принцип детализации обратный, то есть сначала определяются вспомогательные функции самого нижнего уровня. Затем через эти функции определяются главные функции модулей вышележащего уровня. Далее процесс определения функций через подфункции повторяется до тех пор, пока не будут определены главные функции разрабатываемой программной системы, указанные в техническом задании и выполняемые самым верхним модулем иерархии. Результатом выполнения данного этапа (разработки) является описание архитектуры программной системы в виде иерархии модулей и алгоритмов функционирования каждого модуля.
- Реализация. На этом этапе пишется исходный текст программной реализации алгоритмов функционирования каждого модуля (тексты программных модулей). Выполняется отладка отдельных модулей и программной системы в целом. Результатом выполнения этапа является работоспособная программная система, которая, однако, нуждается в более строгой и детальной проверке (тестировании).
- Тестирование и приемка. На этом этапе выполняются тестовые примеры, позволяющие судить о правильности функционировании разработанной программной системы в строгом соответствии с техническим заданием. После успешного прохождения тестовых испытаний программная система принимается в эксплуатацию. Процедура приемки завершает фазу проектирования.
Фаза эксплуатации включает в себя собственно эксплуатацию (практическое использование программной системы) и так называемое сопровождение. Сопровождением называется процесс наблюдения проектировщиком за эксплуатацией программной системы с целью выявления и оперативного исправления скрытых ошибок и недоработок, не найденных при тестировании. Сопровождение можно рассматривать как обратную связь между пользователем программной системы и ее разработчиком.
Практическая часть и требования к отчету
Написать программу согласно индивидуальному заданию, выделяя при ее проектировании стандартные этапы (1-4). В отчете по лабораторной работе детально описать указанные этапы применительно к данной программе.
Вариант 10
НАЗВАНИЕ
Вычислитель ОПЗ-выражений.
ОПИСАНИЕ
Эта программа читает с экрана выражения, заданные в Обратной Польской Записи с операндами в виде целых чисел, и выводит на экран их значения. Каждое ОПЗ-выражение может использовать в качестве операций символы + (сложить), – (вычесть), * (умножить) и / (разделить нацело аналогично DIV). Все операнды являются целыми числами.
ВХОД
Вводимый текст состоит из одной или более строк, на каждой из которых набирается единственное ОПЗ-выражение. Выражение не содержит внутренних пробелов и завершается символом "=". Ввод прекращается, когда обнаруживается строка только с символом "=".
ВЫХОД
Значение выражения выводится сразу после строки с текущим выражением, непосредственно после сообщения "Значение равно ". Перед строкой со следующим выражением следует вывести пустую строку.
ОШИБКИ
Предполагается, что на вход программы поступают корректные ОПЗ-выражения. Во всех остальных случаях порождается произвольный результат.