Характеристика ПО как продукта
Раздел 3. Программные средства реализации информационных процессов
3.1. Базовые представления
В основу технологии использования ЭВМ для решения прикладных задач можно положить следующую схему
Рис. 3.1. Схема решения прикладных задач на ЭВМ.
Не уточняя понятие задачи, отметим, что для решения на ЭВМ задача должна быть поставлена математически (формализована). Для поставленной задачи выбирается метод решения (математический). Для заданного метода разрабатывается алгоритм, который устанавливает последовательность точно определённых действий, приводящих к решению задачи.
После этого алгоритм записывается на языке программирования и вводится в ЭВМ. Человек решающий задачу может сам разрабатывать необходимую программу, либо воспользоваться уже имеющимися.
В данном разделе попытаемся систематизировать и дать краткую характеристику имеющегося программного обеспечения. Итак:
Программа – упорядоченная последовательность команд (инструкций) компьютера для решения задачи.
Программное обеспечение (ПО) – совокупность программ обработки данных и необходимых для их эксплуатации документов.
Алгоритм – система точно сформулированных правил, определяющих процесс преобразования входной информации в желаемый результат за конечное число шагов.
3.2. Классификация программ
По функциональному назначению программы делятся следующим образом:
Рис. 3.2. Классификация программ по функциональному назначению.
Системное программное обеспечение обеспечивает работу выч. техники.
Инструментальное ПО – обеспечивает технологию разработки, отладки и внедрения создаваемых продуктов.
Прикладное ПО – обеспечивает решение задач предметной области.
3.3. Системное ПО
Системное ПО условно делится на две категории:
Системное ПО
| |||||||
Рис. 3.3. Классификация системного ПО.
Операционные системы предназначены для управления выполнением пользовательских программ, планирования и управления вычислительными ресурсами (аппаратными средствами).
§ Однопользовательские ОС: MS-DOS – командная ОС
§ Многопользовательские ОС: Windows 9* - объектно-ориентированная, UNIX (LINUX) – командная (объектно-ориентированная)
§ Сетевые ОС: Windows NT, Novel Netware, UNIX.
Операционные оболочки – специальные программы, предназначенные для облегчения работы пользователя с командными ОС.
Для MS DOS: Norton Commander, Far, Windows 3.1
Утилиты – вспомогательные программы обслуживания вычислительных средств.
|
Рис. 3.4. Классификация инструментального ПО.
Язык программирования - формализованный язык для описания алгоритма решения задачи на компьютере.
Средства для создания приложений - совокупность языков и систем программирования, а также различные программные комплексы для отладки и поддержки создаваемых программ.
Языки программирования:
· Машинные (машинные коды в двоичном виде)
· Машинно-ориентированные, отражающие структуру конкретного типа компьютера (ассемблеры). Вместо бинарных кодов используют их мнемоническое обозначение.
· Языки высокого уровня (ЯВУ) (Фортран, СИ, Паскаль, Бейсик…)
· Объектно-ориентированные языки (СИ++, Delphi…)
· Языки искусственного интеллекта (положены в основу ЭВМ 5- го поколения). Находятся в стадии разработки.
Схема преобразования программ написанных на ЯВУ.
Рис. 3.5. Схема преобразования программ, написанных на ЯВУ.
● Компилятор - транслирует всю программу, но без её выполнения.
● Интерпретатор - пооператорная трансляция и выполнение программы.
● Отладчик - программы для отладки и тестирования программ.
● Системы программирования включают в себя:
- компилятор;
- интегрированную среду разработчика программ;
- отладчик;
- средства оптимизации кода программ;
- набор библиотек;
- редактор связей;
- утилиты для работы с библиотеками, текстами и двоичными файлами.
Справочные системы, документатор исходного кода программ, систему поддержки управления проектом программного комплекса:
· отслеживание изменений в программе,
· поддержка версий программы,
· получение статистики о ходе проекта.
Инструментальная среда пользователя:
- библиотека функций, процедур и методов обработки;
- макрокоманды;
- конструкторы экранных форм и отчетов;
- генераторы приложений;
- языки запросов высокого уровня;
- языки манипулирования данными;
- конструкторы меню.
Подобного рода среда имеется в MS office.
Интегрированные среды разработки программ - набор средств для комплексного их применения на всех этапах разработки программ.
Программные продукты для создания приложений (системы программирования) фирмы Microsoft.
- макроассамблер MASM, обеспечивающий создание программ, быстро манипулирующих данными большой размерности, поддерживающих различные форматы объектных файлов (средства данного языка наиболее часто используются для разработки драйверов).
- компилятор Visual C++ for Windows - система программирования объектно-ориентированного типа.
- Visual Basic for Windows - система программирования объектно -ориентированного типа - языковая программа приложения Microsoft Office.
Разработки других фирм.
Delphi - позволяет создавать приложения типа клиент - сервер и включает:
- объектно-ориентированный язык программирования;
- высоко производительный компилятор;
- объектно-ориентированную модель многократного использования компонентов;
- средства визуального создания программ (меню, экранных форм, отчетов);
- использование библиотеки визуальных компонентов и объектов;
- масштабируемая технология работы с базами данных - использование реляционного языка SQL, встроенная поддержка баз данных под управление СУБД ORACLE, Informix, Sybase, Interbase; применение локального сервера Interbase для отладки приложений;
- принцип открытой системы, - возможность переноса на другие платформы (Windows 3.1, Windows95, Windows NT).
3.5 Прикладное ПО
Как правило, для решения прикладных задач используются взаимосвязанные наборы программ - пакеты прикладных программ (ППП). Выделяют следующие основные группы ППП:
Общего назначения:
- текстовые редакторы (Word…);
- графические редакторы (Paint, Photoshop, Corel Draw, 3D-Studio MAX…);
- электронные таблицы (Excel);
- системы управления базами данных - СУБД (Access);
- программы создания презентаций (Power Point…);
- настольные издательские системы (Page Maker…);
- экспертные системы (оболочки экспертных систем);
- браузеры (Internet Explorer);
- органайзеры (планировщики);
- программы переводчики (Stylus, …);
- интегрированные пакеты (MS Office);
- программные средства мультимедиа.
Методоориентированные:
- математические (MatLab, MatCad…);
- статистические (…).
Проблемно - ориентированные:
- проектирования (Autocad,…);
- бухгалтерского учета (1C-бухгалтерия…);
- обработки геолого - геофизических данных (Tigress…).
Характеристика ПО как продукта
Основными характеристиками программ являются :
- алгоритмическая сложность;
- объем файлов программ;
- требования к операционной системе и техническим средствам (оперативная память дисковое пространство…);
- полнота и системность функции обработки;
- характеристики качества:
- надёжность работы;
- эффективность функциональная, эксплутационная;
- учет человеческого фактора (дружественность интерфейса);
- модифицируемость (способность к изменениям);
- коммуникативность (интеграция с другими программами, возможность обмена данными…).
3.7 Разработка ПО
3.7.1. Этапы разработки ПО
Выделяют следующие основные этапы жизненного цикла ПО:
- спецификация требований к программному продукту;
- проектирование структуры ПП;
- программирование;
- отладка и тестирование;
- документирование;
- опытная эксплуатация;
- промышленная эксплуатация (выход на рынок, сопровождение);
3.7.2. Технологии и принципы разработки ПО
По степени автоматизации различают технологии:
- традиционного (неавтоматического) проектирования
- автоматизированного проектирования (CASE технология и её элементы). В основе стандартизация алгоритмов и программ, создание типовых заготовок.
По методике:
a) Структурное проектирование программных продуктов.
Типичные методы:
§ нисходящие проектирование. В основе разбиения функции, которую должна реализовать программа, на иерархию подфункций;
§ модульное программирование;
§ структурное программирование, основано на модульной структуре программного продукта и типовых управляющих структурах (последовательность, условие, цикл) алгоритмов обработки данных различных программных модулей.
Структурный подход использует:
§ диаграммы потоков данных (информационно технологические схемы);
§ интегрированную структуру данных предметной области (инфологическая модель, ER – диаграммы);
§ диаграммы декомпозиции целей, функции управления, приложений;
§ структурные схемы (иерархия программных модулей, блок схемы отдельных модулей).
b) Объектно-ориентированный подход основан на:
§ выделении классов объектов,
§ установлении характерных свойств объектов и методов их обработки,
§ создании иерархии классов, на следовании свойств объектов и методов их обработки.
Каждый объект объединяет как данные, так и программу обработки этих данных и относится к определённому классу.