Системное программное обеспечение
Постановка задачи
Формулирование задачи (для реализации на ПК) с описанием входной и выходной информации.
>> Есть классические методы решения дифференциальных уравнений; на ПК последовательно выполнять преобразования сложно, поэтому для решения используются численные методы - рекуррентные соотношения, которые достаточно просты по сравнению со сложными аналитическими выражениями. Можно пойти другим образом, получить аналитическое уравнение и подставлять соответствующие значения, которые интересуют.
Постановка задачи связана с конкретизацией основных параметров ее реализации, определением источников и структуры входной и выходной информации. Т.е., чем более подробно описание, тем более эффективен результат.
В процессе постановки задачи определяют:
· цель и назначение задачи, ее место и связи с другими задачами;
· условие решения задачи с использованием средств вычислительной техники;
· периодичность решения задачи (при необходимости);
· сроки решения задачи;
· точность, состав и форма представления выходной информации;
· источники входной информации;
Выходная информация представляется в виде документов, например, листинга (текста), кадров на экране монитора, файлов базы данных и т.д.
Входная информация - данные, поступающие на вход задачи и используемые для ее решения. Входной информацией могут быть результаты решения других задач, справочная информация и т.д.
Алгоритм - точно определенная последовательность действий над входной информацией для получения решения задачи.
Алгоритм решения задачи имеет следующие фундаментальные свойства:
· дискретность - возможность разбиения процесса обработки информации на более простые задачи;
· определенность - однозначность выполнения каждого отдельного шага преобразования информации;
· выполнимость - получение результата по алгоритму за конечное число шагов;
· универсальность (массовость) - пригодность алгоритма для решения определенного класса задач.
Форма представления алгоритма может быть различна в зависимости от решаемых задач.
Формы представления алгоритма:
· словесные описания (неформальное описание) - на естественное или учебно-алгоритмическом языке;
· совокупность аналитических выражений - форменные, например, считаем дискриминант...;
· блок-схема (графическое представление) - совокупность шагов, представленных определенной графической структурой;
· программа, написанная на том или ином языке высокого уровня.
Считается, что составление алгоритма является решением задачи. Умение составлять алгоритмы крайне необходимо. Как программистам, так и конструкторам. Надо представлять для решения задачи технологию ее решения.
Блок-схема - наглядное представление алгоритма, в котором все операции представляются блоками, соединенные стрелками или какими-либо другими связями.
Блоки обычно представляются в соответствии с принятыми стандартами.
Команду обработки информации или действия (вычисления, присваивания) изображают прямоугольником. Проверку условия изображают ромбом с двумя выходами "да" и "нет" в зависимости от того, выполнено или нет заданное условие.
В стандартном представлении стрелку "да" (+) рисуют слева, а стрелку "нет" (- ) - справа или внизу. Команды ввода и вывода изображают параллелограммом.
Овалом или прямоугольником со скругленными краями - начало и конец алгоритма.
>> При использовании дисковой ОС необходимо было перед выполнением действия это действие задать. А при выключении происходила выгрузка или остановка работы ПО. Рабочая конструкторская документация. Предполагается, что в документации должно быть не только ТО, но и как она сделана: где может быть установлена, где может применятся и прочее...
Иногда блок-схему заменяют структурной схемой, но это не по стандарту, и если речь идет о ГОСТах (ЕРКД), то применяют только блок-схемы.
Выделяются три базовые конструкции алгоритмов:
· следование (линейная конструкция);
· ветвление (в полной или сокращенной форме)
· повторение (цикл с постусловием или предусловием)
При изображении полной формы команды ветвления действие при выполнении условия рисуют слева, в сокращенной форме ветвления или коррекции - команда отсутствует справа.
Разветвляющийся алгоритм
Использование условных блоков позволяет представить разветвляющийся алгоритм, в котором при выполнении условия последовательность действий в соответствии с условием может быть изменена.
Разветвляющийся алгоритм соответствует разветвляющемуся вычислительному процессу.
В алгоритме отражается способ получения результатов с указанием расчетных формул, условий и соотношений для контроля и достоверности выходных результатов.
Алгоритм должен быть пригоден для всех возможных ситуаций в процессе решения задачи. И любых входных данных, соответствующих постановке задачи.
Алгоритм тесно связан с программной формой его представления, на которую так же влияют средства (языки) программирования, а также другие факторы.
Для решения задачи также могут привлекаться готовые программы. Например, пакеты прикладных программ (ППП), а также их алгоритмы.
Программирование - творческий процесс создания программ.
Программирование часто рассматривают как искусство, то есть программа - результат интеллектуального творческого труда, отражающая индивидуальность ее разработчика.
>> речь идет о том, что у каждого квалифицированного программиста имеется свой стиль, который образуется с опытом;
Программирование рассматривают как науку и развитую область хозяйственной деятельности, связанную с затратами материальных, трудовых и финансовых ресурсов.
>> патентуется метод, средства, но не сама программа;
В настоящее время необходимо применять эффективные технологии программирования, предполагающие:
· стандартизованность, тиражируемость и воспроизведение различными разработчиками методов программирования
· внедрение прогрессивных инструментальных средств разработки программ
· применение специальных методов и приемов организации работ разработки ПО.
Тема 2. Классификация программных продуктов
Программные продукты обычно подразделяют на:
· системное программное обеспечение
· пакеты прикладных программ
· средства программирования
Системное ПО - это совокупность программ и программных комплексов для обеспечения работы ПК и вычислительных сетей.
Системное ПО используют:
· для созданию Операционной среды, для работы других программ (пользовательских программ)
· для надежной и эффективной работы компьютера и сети
· для диагностики и профилактики компьютеров и сетей
· для вспомогательных процессов (сервисов всякого рода: копирование, архивирование, восстановление файлов и т.д.)
Пакеты прикладных программ - это комплекс взаимосвязанных программ для решения задач определенного класса.
ППП является самым многочисленным классом программных продуктов, который является программным инструментарием решения функциональных задач (по соответствующей классификации - приведена выше).
Средства программирования (инструментарий технологии программирования) - совокупность программ, обеспечивающих технологию разработки, отладки и внедрения создаваемого ПО.
Средства программирования обеспечивают процесс разработки программ и включают специализированные программные продукты, являющиеся инструментальными средствами разработчика.
Системное программное обеспечение
Системное ПО состоит из базового ПО, которое обычно поставляется вместе с ПК и сервисного, соответствующего решаемым задачам и приобретаемым дополнительно.
Под базовым программным обеспечениемпонимается минимальный набор программ, обеспечивающий работу персонального компьютера.
Сервисное программное обеспечение расширяет возможности базового и организует более удобную среду для работы пользователя.
В базовое ПО входит:
· Операционная система
· Операционные оболочки
· Сетевые операционные системы
Операционная система управляет выполнением пользовательских программ, планирует и управляет вычислительными ресурсами компьютера
Операционные системы для персонального компьютера обычно разделяют на:
· одно- и многозадачные (по числу параллельных прикладный процессов)
· одно- и многопользовательские (по числу пользователей)
· переносимые (мобильные) и непереносимые на другие типы ПК
· сетевые (обеспечивают работу ЛВС) и несетевые