Системное программное обеспечение

Постановка задачи

Формулирование задачи (для реализации на ПК) с описанием входной и выходной информации.

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

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

В процессе постановки задачи определяют:

· цель и назначение задачи, ее место и связи с другими задачами;

· условие решения задачи с использованием средств вычислительной техники;

· периодичность решения задачи (при необходимости);

· сроки решения задачи;

· точность, состав и форма представления выходной информации;

· источники входной информации;

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

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

Алгоритм - точно определенная последовательность действий над входной информацией для получения решения задачи.

Алгоритм решения задачи имеет следующие фундаментальные свойства:

· дискретность - возможность разбиения процесса обработки информации на более простые задачи;

· определенность - однозначность выполнения каждого отдельного шага преобразования информации;

· выполнимость - получение результата по алгоритму за конечное число шагов;

· универсальность (массовость) - пригодность алгоритма для решения определенного класса задач.

Форма представления алгоритма может быть различна в зависимости от решаемых задач.

Формы представления алгоритма:

· словесные описания (неформальное описание) - на естественное или учебно-алгоритмическом языке;

· совокупность аналитических выражений - форменные, например, считаем дискриминант...;

· блок-схема (графическое представление) - совокупность шагов, представленных определенной графической структурой;

· программа, написанная на том или ином языке высокого уровня.

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

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

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

>> При использовании дисковой ОС необходимо было перед выполнением действия это действие задать. А при выключении происходила выгрузка или остановка работы ПО. Рабочая конструкторская документация. Предполагается, что в документации должно быть не только ТО, но и как она сделана: где может быть установлена, где может применятся и прочее...

Иногда блок-схему заменяют структурной схемой, но это не по стандарту, и если речь идет о ГОСТах (ЕРКД), то применяют только блок-схемы.

Выделяются три базовые конструкции алгоритмов:

· следование (линейная конструкция);

· ветвление (в полной или сокращенной форме)

· повторение (цикл с постусловием или предусловием)

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


Разветвляющийся алгоритм

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

Разветвляющийся алгоритм соответствует разветвляющемуся вычислительному процессу.

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

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

Алгоритм тесно связан с программной формой его представления, на которую так же влияют средства (языки) программирования, а также другие факторы.

Для решения задачи также могут привлекаться готовые программы. Например, пакеты прикладных программ (ППП), а также их алгоритмы.

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

>> речь идет о том, что у каждого квалифицированного программиста имеется свой стиль, который образуется с опытом;

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

>> патентуется метод, средства, но не сама программа;

В настоящее время необходимо применять эффективные технологии программирования, предполагающие:

· стандартизованность, тиражируемость и воспроизведение различными разработчиками методов программирования

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

· применение специальных методов и приемов организации работ разработки ПО.

Тема 2. Классификация программных продуктов

Программные продукты обычно подразделяют на:

· системное программное обеспечение

· пакеты прикладных программ

· средства программирования

Системное ПО - это совокупность программ и программных комплексов для обеспечения работы ПК и вычислительных сетей.


Системное ПО используют:

· для созданию Операционной среды, для работы других программ (пользовательских программ)

· для надежной и эффективной работы компьютера и сети

· для диагностики и профилактики компьютеров и сетей

· для вспомогательных процессов (сервисов всякого рода: копирование, архивирование, восстановление файлов и т.д.)

Пакеты прикладных программ - это комплекс взаимосвязанных программ для решения задач определенного класса.

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

Средства программирования (инструментарий технологии программирования) - совокупность программ, обеспечивающих технологию разработки, отладки и внедрения создаваемого ПО.

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

Системное программное обеспечение

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

В базовое ПО входит:

· Операционная система

· Операционные оболочки

· Сетевые операционные системы

Операционная система управляет выполнением пользовательских программ, планирует и управляет вычислительными ресурсами компьютера

Операционные системы для персонального компьютера обычно разделяют на:

· одно- и многозадачные (по числу параллельных прикладный процессов)

· одно- и многопользовательские (по числу пользователей)

· переносимые (мобильные) и непереносимые на другие типы ПК

· сетевые (обеспечивают работу ЛВС) и несетевые