Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Учебное пособие 1295

.pdf
Скачиваний:
4
Добавлен:
30.04.2022
Размер:
949.61 Кб
Скачать

Системные обслуживающие программы предназначены для выполнения типовых действий по подготовке носителей информации к записи на них данных, копирования, переименования, удаления файлов и т.п. В ряде случаев системные обслуживающие программы считают частью ОС.

Средства контроля и диагностики служат для проверки исправности отдельных устройств машины и локализации выявленных неисправностей.

1.3. Прикладное (специальное) ПО

Общесистемное ПО совместно с базовым образует операционную среду, в которой функционирует специализированное ПО.

Основная функция специального ПО – получение проектных решений. Специализированное ПО создаётся с учётом организации и возможностей общесистемного ПО.

В специальном ПО реализуется математическое обеспечение для непосредственного выполнения проектных процедур. Прикладное ПО обычно имеет форму пакетов прикладных программ (ППП), каждый из которых обслуживает определённый этап процесса проектирования или группу однотипных задач внутри различных этапов.

Прикладной называют программу для решения конкретной задачи пользователя. С конца 60-х годов многофункциональные комплексы взаимосвязанных программ стали называть пакетом прикладных программ (ППП).

Решение многих расчётных задач укладывается в типовую схему, включающую последовательные шаги ввода исходных данных, выполнения вычислений и вывода результатов.

Можно выделить несколько типовых подходов к организации применения ЭВМ для решения расчётных задач.

При возникновении потребности в решении конкретной задачи осуществляется и отлаживается программа или

11

несколько последовательно выполняемых программ. Для программирования используется один из универсальных языков программирования.

Заранее осуществляются подпрограммы реализации типовых шагов алгоритмов. Такие готовые подпрограммы накапливаются в форме исходных или объектных модулей в библиотеке, размещаемой на магнитном диске. При составлении прикладной программы в неё включаются обращения к библиотечным подпрограммам. Сами библиотечные подпрограммы присоединяются к прикладной программе в процессе трансляции или при редактировании связей. Библиотеку готовых подпрограмм можно рассматривать как ППП, используемый совместно с прикладной программой.

Для совокупности родственных задач разрабатывается

ППП, охватывающий некоторую предметную область. В общем случае ППП – это совокупность программных модулей, между которыми установлены связи по управлению и по данным в соответствии с решаемой прикладной задачей. Модули пакета могут объединяться в программы, а программы

– использовать общие файлы данных. Для запуска программ пакета в нужной последовательности могут использоваться средства ОС. Пользователь, применяющий такой пакет, должен знать назначение, входные и выходные данные программ пакета, а также команды ОС для запуска этих программ.

Дальнейшим развитием ППП – стало построение пакетов с собственным языком управления – входным языком пакета (ВЯ). От пользователя требуется составление описания задачи на ВЯ пакета и подготовка необходимых данных. Для запуска такого пакета обычно требуются минимальные сведения об используемой ОС.

12

1.4. Принципы построения и методы создания программных средств

При построении и обработке программных средств (ПС) используется ряд принципов:

1. Принцип системного единства.

При создании, функционировании и развитии ПС должна обеспечиваться целостность связи между компонентами.

2. Принцип развития.

Этот принцип состоит в том, что ПС должно создаваться и функционировать с учётом пополнения, совершенствования и обновления компонент.

3. Принцип стандартизации.

Он заключается в проведении унификации, типизации и стандартизации ПС, т.е. в создании инвариантного проектного объекта.

4. Принцип совместимости.

Данный принцип предполагает обеспечение совместного функционирования языков, символов, кодов, сохраняя при этом открытую структуру системы.

То есть ПС разрабатывается с основными принципами блочно-иерархичного проектирования сложных систем. При этом основным понятием является модуль.

Принцип модульности и иерархичности позволяет организовать коллективную параллельную разработку различных частей ПС.

При этом выделяют следующие уровни иерархии:

Системный уровень. На этом уровне конкретизируются функции комплекса, планируются его структура и состав, выбираются или разрабатываются языки проектирования, устанавливается степень использования общесистемного и базового ПС, а также разрабатываются спецификации на отдельные программы.

13

Уровень ПП. На данном уровне выбирается математическое обеспечение, разрабатываются специфические алгоритмы, выбирается структура данных, способы задания интерфейса и разрабатываются спецификации на отдельный программный модуль.

Уровень подпрограмм. Здесь производится конкретизация типов и структур данных, осуществляется кодировка алгоритмов, то есть их запись на выбранном языке программирования.

1.5.Требования, предъявляемые к ПС

Клюбому ПС предъявляются требования экономичности, удобства использования, надёжности, правильности, универсальности, открытости и мобильности.

Экономичность ПС оценивается затратами вычислитель-ных ресурсов, машинного времени и оперативной памяти.

Удобство использования ПС определяется его надёж-

ностью, наличием проблемно-ориентированных языков и средств диагностики ошибок пользователя.

Надёжность ПС – свойство ПС выполнять заданные функции в заданных условиях. При этом функции и условия формулируются в терминах той предметной области, к которой относится проектируемый объект. Основной показатель – вероятность получения правильного результата при использовании программы в сформированных условиях.

Правильность ПС характеризует соответствие ПС спецификациям математического характера, т.е. правильность реализации математического обеспечения.

Универсальность ПС характеризуется ограничениями на применение ПС. Эти ограничения могут относиться к типам и элементарному составу анализируемых и синтезируемых структур, диапазону силовых характеристик, перечню выполняемых проектных процедур.

14

Открытость ПС характеризуется возможностями внесения изменений в процессе эксплуатации.

Сопровождаемость ПС характеризует простоту поддержания ПС в работоспособном состоянии, что обеспечивается структурированием программ и документацией.

Мобильность ПС определяется лёгкостью перестройки ПС, которое работало на ЭВМ с одной системой команд на другую ЭВМ с иной системой команд.

Выполнение перечисленных выше требований должно обеспечить:

Высокое качество функционирования ПС.

Получение проектных решений в форме, принятой для конкретной проектной организации.

Удобство освоения и сопровождения ПС.

Полноту диагностических сообщений, ориентированных на пользователя.

Защищённость программ и данных от несанкционированного доступа.

Полноту документации.

Всё это определяет “живучесть” ПС.

15

2. ЖИЗНЕННЫЙ ЦИКЛ ПРОГРАММ. СТАДИИ РАЗРАБОТКИ

2.1. Понятие жизненного цикла программы

Сущность развития программы во времени отражает объективная экономическая категория "цикл жизни". Предпосылкой для введения этой категории в сферу программных разработок послужило определение программы как изделия, имеющего самостоятельное значение, процессы проектирования и изготовления которого аналогичны процессам, связанным с производством (изготовлением). Как и любое изделие, программа имеет свой цикл жизни, т.е. интервал времени от начального момента возникновения объективной необходимости в программе до момента изъятия его из эксплуатации. Следует подчеркнуть, что жизненный цикл программного изделия заканчивается в результате его морального, а не физического износа (что типично для промышленных изделий). В свою очередь, говорят, что программа морально устарела, если она перестает удовлетворять актуальным требованиям, а дальнейшая её модификация не представляется возможной или не выгодна, что влечет за собой необходимость в разработке новой программы [1].

Врезультате анализа проблем, требующих решения в процессе создания, изучения опыта разработок и использования различных программ, было установлено, что независимо от специфических условий, видов и требований к конкретным программам можно выделить некоторую типовую последовательность этапов разработки и функционирования программы.

Вобщем виде за период своего жизненного цикла программа проходит три фазы: разработку, использование, сопровождение.

Фаза разработки начинается с анализа осуществимости проекта, а далее путем последовательной трансформации преобразования от требований пользователя в форму, доступную

16

для реализации на ЭВМ. К тому же на протяжении всей фазы закладываются основные характеристики качества будущей программы, которые проявляются на стадии её эксплуатации. На эту фазу приходятся, как правило, 50 % стоимости ПИ и 32 % трудозатрат.

Фаза использования начинается тогда, когда изделие передается пользователю, находится в действии и используется эффективно. В фазе использования обычно выполняются обучение персонала, внедрение, настройка, сопровождение и, возможно, расширение программы.

Фазу сопровождения также называют фазой продолжающейся разработки. Практиками признано, что эта часть жизненного цикла (ЖЦ) должна приниматься во внимание с момента начала разработки с целью совершенствования программы в соответствии с потребностями пользователя. Процесс сопровождения, продолжающийся параллельно собственно эксплуатации программы, практически в течение всего времени её использования состоит из выявления и устранения ошибок в программах и изменения их функциональных возможностей.

Структура трудозатрат на различные виды деятельности по сопровождению такова, что на изменение функциональных возможностей программы уходит около 78 % времени, а на выявление ошибок – 17 %.

Уточняет общую схему ЖЦ подход, связанный с определением основных стадий ЖЦ программы, по которым в литературе встречаются различия в терминологии, но единый по существу. ЖЦ программы образует четыре основные стадии.

1.Исследование и проектирование. Изучение и анализ существующих программ, документирование; анализ осуществимости; определение и спецификация требований к новой программе; концептуальное проектирование программы.

2.Реализация. Детализация проекта, кодирование, тестирование, установление эксплуатационных процедур.

3.Внедрение (сдача) в опытную эксплуатацию. Приемочные тесты, обучение пользователей.

17

4. Эксплуатация и сопровождение. Периодические процедуры обработки информации, рабочие прогоны программ, измерение производительности и других характеристик программы, сопровождение и модификация по мере появления новых требований.

Начальные этапы определяют качество проекта и успех разработки программных средств (ПС) в целом. Для начальных этапов разработки ПС типичны ситуации: выявление и четкое формулирование проблемы в условиях значительной неопределенности; выбор стратегии исследования и разработок; точное определение программы как системы (границы, входы, выходы, набор компонентов); выявление целей развития и функционирования программы; выявление функций и состава вновь создаваемого ПС.

Всилу значимости фазы разработки в ЖЦ программы рассмотрим подробнее содержание отдельных ее этапов.

Вукрупненном виде жизненный цикл программы можно представить состоящим из следующих этапов: определение требований к системе; определение требований к ПО; предварительное проектирование; анализ и детальное проектирование; кодирование и отладка; тестирование программы и системы; эксплуатация и сопровождение.

Исходным этапом создания и является этап разработки требований, в процессе которого проводятся поисковые, исследовательские работы, формируется комплекс требований, выражающий потребности пользователя в конкретной программе. На данном этапе будущий комплекс программ тщательно анализируется с учетом выполняемых им функций и основных свойств, обосновывается целесообразность их разработки, предварительно оцениваются трудовые и стоимостные затраты и сроки создания, вырабатываются рекомендации по выбору инструментальных средств и методов, которые предполагается использовать в процессе разработки программ. Обязательным в содержании данного этапа является также формирование требований к качеству программ в соответствии

18

с условиями их функционирования и реализации конкретных функций. Выполнение этих работ в процессе формирования требований и формирование необходимых эксплуатационных свойств в программе на данном и последующих этапах их разработки позволят предотвратить дополнительные расходы, вызванные модификацией программ при их внедрении и сопровождении.

Следующим этапом в процессе создания программ является этап проектирования, в процессе которого требования пользователей формируются в более точном и конкретном виде. Проектирование программ охватывает комплекс работ по разработке структуры программ и их компонентов; выбору языка программирования и конкретной конфигурации комплекса технических средств, на котором предполагается реализация разрабатываемых программ. В процессе проектирования решается задача выбора оптимальной структуры программ, определяющая содержание и характер работ на последующих этапах разработки. На данном этапе качество программы обеспечивается конкретными решениями и зависит в основном от организации управления разработкой, квалификации специалистов, использования прогрессивных методов, приемов, правил и средств проектирования программ.

После проектирования программ следует их кодирование. На практике эти этапы, как правило, частично перекрываются, т.е. за проектированием отдельных модулей выполняется их программирование, а затем, возможно, и предварительная проверка правильности функционирования разработанного модуля.

Программирование характеризуется большим числом разнообразных правил, приемов, методов и средств его выполнения, применение которых зависит от квалификации, опыта и индивидуальных особенностей программистов. Этот этап наиболее автоматизирован в процессе разработки программы. В настоящее время существуют десятки языков программирования и средств автоматизации, облегчающие труд программи-

19

стов и повышающие его производительность, а также создающие предпосылки унификации и стандартизации процесса создания программы. К тому же использование современных приемов программирования, средств автоматизации, проведение различных видов проверок и контроля программирования способствуют предотвращению и выявлению значительного числа ошибок, что сокращает время и расходы на этапе отладки и тестирования программ, повышает их качество.

Этап отладки и тестирования программ, следующий за этапом программирования, имеет целью выявление и устранение ошибок в них, а также определение, в какой мере разработанные программы удовлетворяют требованиям, сформулированным в спецификациях. Работы по отладке и тестированию программ характеризуются большой степенью повторяемости и являются наиболее утомительными и дорогостоящими. В связи с этим уделяется большое внимание разработке и использованию различных системных и инструментальных средств, автоматизирующих выполнение работ на данном этапе, что позволяет повысить качество разрабатываемых программ и снизить трудоёмкость их создания. По оценкам специалистов, на отладку и тестирование программ затрачивается до половины общих средств на разработку программ, что тем не менее не исключает наличие в них ошибок.

2.2. Внешнее проектирование

Внешнее проектирование - это процесс описания планируемого поведения разрабатываемого ПИ с точки зрения потенциальных пользователей. Целью этого процесса является конкретизация внешних взаимодействий будущего ПИ без детализации внутреннего устройства. Внешний проект представляет собой внешние спецификации ПИ, предназначенные для различных групп специалистов – пользователей и разработчиков.

20