Программное обеспечение ПК
Классификация программного обеспечения
Системное программное обеспечение
Прикладное программное обеспечение
Пакеты прикладных программ общего назначения
Методо-ориентированные ППП
Системы искусственного интеллекта
Мультимедиа
Инструментальное программное обеспечение
Языки и системы программирования
CASE-Средства
Сетевое ПО
Сетевое ПО
Сетевое ПО
Основные характеристики программных продуктов
Специалисты, занятые разработкой и эксплуатацией программ
Специалисты, занятые разработкой и эксплуатацией программ
Специалисты, занятые разработкой и эксплуатацией программ
Специалисты, занятые разработкой и эксплуатацией программ
Специалисты, занятые разработкой и эксплуатацией программ
Специалисты, занятые разработкой и эксплуатацией программ
Специалисты, занятые разработкой и эксплуатацией программ
Специалисты, занятые разработкой и эксплуатацией программ
Специалисты, занятые разработкой и эксплуатацией программ
Схема взаимодействия специалистов, связанных с созданием и эксплуатацией программ
Характеристики программных продуктов
2.94M
Category: softwaresoftware

Программное обеспечение ПК

1.

ИНФОРМАТИКА
Старший преподаватель департамента информационных технологий и автоматики
Шеклеин Алексей Александрович

2. Программное обеспечение ПК

ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ ПК
• Классификация программного
обеспечения (ПО)
• Системное ПО
• Прикладное ПО
• Инструментальное ПО
2
• Основные характеристики программных
продуктов

3. Классификация программного обеспечения

КЛАССИФИКАЦИЯ ПРОГРАММНОГО
ОБЕСПЕЧЕНИЯ
Программное
обеспечение
Инструментальное
(инструментарий
технологии
программирования)
3
Системное ПО
Прикладное (пакеты
прикладных
программ)

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

СИСТЕМНОЕ ПРОГРАММНОЕ
ОБЕСПЕЧЕНИЕ
Системное ПО
Операционная
система
Пользовательская
оболочка
Драйверы
Сервисное (утилиты)
Диагностика компьютера
Антивирусные
программы
Обслуживание
дисков
Архивирование данных
Обслуживание сети
4
Базовое

5.

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

6.

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

7.

Операционная система (ОС)– комплекс
системных программ, обеспечивающих
управление аппаратной частью
компьютера и прикладными программами,
а также их взаимодействием между собой
и пользователем.
ОС:
• Windows, Mac ОС, iOS (коммерческое,
платное),
7
• Linux, Ubuntu, Debian, Android (свободное)

8.

Операционные оболочки – специальные
программы, предназначенные для работы с
командами операционной системы.
Операционные оболочки имеют текстовый и
графический варианты интерфейса.
Total Commander, Far. (Windows)
Bash (GNU Bourne-Again SHell) (Unix)
KDE, GNOME, LXDE (Linux и производные)
Nova, Apex, Buzz (Android)
SpringBoard+BackBoard (iOS)
8
оболочки:

9.

Драйверы– системные программы,
управляющие работой внешних устройств
компьютера.
Драйверы могут быть :
• входить в состав ОС;
9
• предоставляться фирмой-изготовителем
устройства.

10.

Утилита – специальная программа ОС,
выполняющая какую-либо сервисную
функцию.
Например:
• утилита chkdsk.exe – проверка диска;
10
• утилита backup.exe – архивирование данных
и др.

11.

Антивирусными называются программы,
предназначенные для защиты данных от
разрушения, обнаружения и удаления
компьютерных вирусов.
Популярное антивирусное ПО
(коммерческое):
Aidstest
Doctor Web
ADinf + ADinf Cure Module
Norton AntiVirus
+ Бесплатное (свободное, некоммерческое,
free)
11
AVP (AntiViral ToolKit Pro) Касперского (IS)

12. Прикладное программное обеспечение

ПРИКЛАДНОЕ ПРОГРАММНОЕ
ОБЕСПЕЧЕНИЕ
Пакеты прикладных
программ
Методоориентиров
анные
Интеллекту
альные
системы
Мультимедиа
12
Общего
назначения
Проблемноориентиров
анные

13.

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

14. Пакеты прикладных программ общего назначения

ПАКЕТЫ ПРИКЛАДНЫХ ПРОГРАММ
ОБЩЕГО НАЗНАЧЕНИЯ
Программные продукты, поддерживающие
информационные технологии конечных
пользователей:
• Текстовые процессоры (редакторы)
• Графические пакеты
• Электронные таблицы
• Системы управления базами данных
• Интегрированные пакеты
14
• Игры и т.п.

15.

Пример «Интегрированный пакет»
Microsoft Office 2013:
Word 2013 – текстовый редактор
Excel 2013 – электронные таблицы
Access 2013 – управление базами данных
(СУБД)
Power Point 2013 – создание презентаций
Outlook 2013 – управление почтой
One Note 2013 – записная книжка
15
Adobe Creative Cloud

16.

Системы управления базами данных
(СУБД):
MS Access 2010
16
MS SQL SERVER 2008

17.

Графические пакеты:
MS Paint – простейший графический редактор
Adobe Photoshop – профессиональный
редактор, рассчитанный на создание
художественных растровых изображений
Corel Draw, Illustrator – редактор объектной
(векторной) графики.
17
3D Studio MAX, Animator Pro - динамическое
изображение

18.

ПРОБЛЕМНО-ОРИЕНТИРОВАННЫЕ ППП
Средства автоматизации управления
(Различные АСУ)
Средства автоматизированного проектирования
САПР – системы автоматизированного
проектирования (английская аббревиатура CAD –
Computer-Aided Design)
AutoCad (фирмы AutoDesk) – лидер среди
инженерных графических пакетов.
ArchiCAD – проектирование зданий
18
P-CAD и OrCAD – проектирование
радиоэлектронных изделий

19.

Средства автоматизации управления :
• ППП автоматизированного бухгалтерского
учета («1С: Бухгалтерия», «1С:
Предприятие»);
• ППП финансовой деятельности;
• ППП управления персоналом (кадровый
учет);
19
• ППП управления производством и т.п.

20. Методо-ориентированные ППП

МЕТОДО-ОРИЕНТИРОВАННЫЕ ППП
Методо-ориентированные ППП –
программные продукты, обеспечивают
различные методы решения задач.
20
Наиболее распространены методы:
• математического программирования,
• решения дифференциальных уравнений,
• имитационного моделирования,
• исследования операций.

21.

Математические пакеты:
MathCad, Mathematica
Пакет для обработки статистической
информации: StatGraphics
Пакет математического моделирования:
MatLab
21
Система имитационного моделирования
AnyLogic

22. Системы искусственного интеллекта

СИСТЕМЫ ИСКУССТВЕННОГО
ИНТЕЛЛЕКТА
Система ИИ – система, способная решать творческие
задачи, т.е. задачи, связанные с интеллектуальной
человеческой деятельностью .
Основные компоненты систем ИИ:
база знаний,
интеллектуальный интерфейс с пользователем
программа формирования логических выводов.
22
Самые распространенные системы ИИ – экспертные
системы.

23.

23

24.

Популярные экспертные системы:
MYCIN, Prospector, Lota, G2
Также к системам ИИ относятся:
• программы–переводчики (Stylus Lingvo
Office),
24
• средства проверки орфографии и
распознавания текста (FineReader)

25. Мультимедиа

МУЛЬТИМЕДИА
Основное назначение – создание и
использование аудио- и
видеоинформации для расширения
информационного пространства
пользователя.
Сферы применения:
• библиотечное информационное
обслуживание,
• прикладные обучающие системы,
25
• развлекательные программы.

26. Инструментальное программное обеспечение

26
ИНСТРУМЕНТАЛЬНОЕ ПРОГРАММНОЕ
ОБЕСПЕЧЕНИЕ

27.

Особенности ИТП
• Специализированные программные
продукты, которые являются
инструментальными средствами
разработчика
• Поддерживают все технологические этапы
разработки программ (проектирование,
программирования, отладки и тестирования)
27
• Пользователи – системные и прикладные
программисты

28. Языки и системы программирования

ЯЗЫКИ И СИСТЕМЫ
ПРОГРАММИРОВАНИЯ
Язык программирования –
формализованный язык для описания
алгоритма решения задачи на компьютере.
Универсальные языки программирования
(языки высокого уровня – ЯВУ): Pascal, C,
C++, Basic,…
Объектно-ориентированные языки: Java,
Object Pascal, Visual Basic, C++ Builder, С#,...
28
Для системного программирования – язык С++

29.

Классификация языков программирования:
• машинные языки (computer language) –
языки программирования, воспринимаемые
аппаратной частью компьютера (машинные
коды);
29
• машинно-ориентированные языки
(computer-oriented language) – языки
программирования, которые отражают
структуру конкретного типа компьютера
(ассемблеры);

30.

• алгоритмические языки (algorithmic
language) – языки высокого уровня (ЯВУ)
– не зависящие от архитектуры компьютера
языки программирования, языки
структурного программирования (Паскаль,
Бейсик, С, С++ и др.);
30
• проблемно-ориентированные языки–
языки программирования для решения
задач определенного класса (Лисп, Java,
GPSS и др.).

31.

Программа, подготовленная на ЯВУ,
проходит:
• этап трансляции – преобразование
исходного кода программы (source code) в
объектный код (object code), т.е.
осуществляется перевод на язык машинных
кодов;
31
• этап компоновки – обработка объектного
кода редактором связей – специальной
программой, осуществляющей построение
загрузочного модуля (load module),
пригодного к выполнению.

32.

Схема процесса создания
загрузочного модуля
Исходный текст программы
на алгоритмическом языке
Транслятор
Объектный код программы
на машинном языке
Редактор связей
32
Загрузочный модуль,
готовый для исполнения

33.

Системы программирования имеют в
составе:
• компилятор;
• текстовый редактор для ввода и
корректировки программ;
• отладчик;
• средства оптимизации кода программы;
• набор библиотек;
• редактор связей;
• и др.
33
• справочную систему;

34.

Интегрированные среды разработки
программ имеют:
• объектно-ориентированный язык
программирования;
• высокопроизводительный компилятор
и/или интерпретатор;
• средства наглядного (визуального)
создания программ;
• среду для совместной разработки
программ
34
• специальную технологию работы с
базами данных.

35.

Примеры:
• Visual Basic (основан на языке Basic)
• Borland C++ Builder (основан на языке С)
• Borland Delphi (основан на языке Pascal)
• Eclipse (многоязыковая среда
программирования)
35
• Microsoft Visual Studio (многоязыковая
среда программирования)

36. CASE-Средства

CASE-СРЕДСТВА
CASE-технология – программный
комплекс, автоматизирующий весь
технологический процесс анализа,
проектирования, разработки и
сопровождения сложных
информационных систем.
Поддерживает коллективную разработку
сложных проектов.
36
Примеры: ARIS, All Fusion

37. Сетевое ПО

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

38. Сетевое ПО

СЕТЕВОЕ ПО
Сетевое программное
использования
обеспечение
для
совместного
38
• сетевые интерфейсы операционных систем;
• многопользовательские версии ПО (Microsoft Office, базы
данных SQL);
• клиентские оболочки сетевого ПО (браузеры, почтовые
клиенты);
• менеджеры сетевых ресурсов (сетевые файловые
системы, web-сервера, почтовые сервера и прочее);
• протоколы сетевого обмена и т.д.

39. Сетевое ПО

СЕТЕВОЕ ПО
Распределенное
обеспечение
сетевое
программное
39
• чат сервера (ICQ, MAIL.RU);
• игровые сервера (спортивные симуляторы,
виртуальные казино и другие);
• поисковые сервера (Yandex, Google);
• системы распределенного вычисления
(распределенный рендеринг, расчет графической
или научной информации).

40. Основные характеристики программных продуктов

ОСНОВНЫЕ ХАРАКТЕРИСТИКИ
ПРОГРАММНЫХ ПРОДУКТОВ
Программа (program, routine) – упорядоченная
последовательность команд (инструкций) компьютера
для решения задачи. Программы предназначены для
машинной реализации задач.
Программное обеспечение (software) – совокупность
программ обработки данных и необходимых для их
эксплуатации документов.
Задача (problem, task) – проблема, подлежащая
решению.
Приложение (application) – программная реализация
решения задачи на компьютере.

41.

Задачи
технологические
Организация технологического
процесса обработки
информации на компьютере
Разработка утилит,
сервисных программ,
библиотек процедур и др.
функциональные
Реализация функций управления для
конкретной предметной области
управлении деятельностью торгового
предприятия,
планировании выпуска продукции,
управлении перевозкой грузов и т.д.
Предметная (прикладная) область (application domain) –
совокупность связанных между собой функций, задач управления, с
помощью которых достигается выполнение поставленных целей.

42. Специалисты, занятые разработкой и эксплуатацией программ

СПЕЦИАЛИСТЫ, ЗАНЯТЫЕ РАЗРАБОТКОЙ И
ЭКСПЛУАТАЦИЕЙ ПРОГРАММ
Основная категория специалистов, занятых разработкой
программ, – это программисты (programmer).
• Системный программист (system /software
programmer, toolsmith)
• Прикладной программист (application programmer)
• Программист-аналитик (programmer-analyst)
• Специалист – постановщик задач
• Администратор базы данных

43. Специалисты, занятые разработкой и эксплуатацией программ

СПЕЦИАЛИСТЫ, ЗАНЯТЫЕ РАЗРАБОТКОЙ И
ЭКСПЛУАТАЦИЕЙ ПРОГРАММ
Web-разработчик:
разработчик Frontend;
Backend-программист;
Fullstack-девелопер.

44. Специалисты, занятые разработкой и эксплуатацией программ

СПЕЦИАЛИСТЫ, ЗАНЯТЫЕ РАЗРАБОТКОЙ И
ЭКСПЛУАТАЦИЕЙ ПРОГРАММ
Frontend-разработчик - Видимая часть интернет-ресурса,
открывающаяся в браузере после ввода запроса, называется
клиентской или фронтендом. Оформлением, цветовой гаммой,
расположением заголовков занимается дизайнер. Художник рисует
будущий макет и передает его верстальщику, который превращает
его в HTML-шаблон. На этом этапе подключается веб-программист
и добавляет интерфейсу динамики. Фронтенд разработчики – это
вид программистов, отвечающих за создание виджетов, кнопок,
выпадающего меню, слайд-шоу. Все интерактивные элементы
появляются на страницах благодаря им. Они пишут скрипты на JS,
включают их через HTML-теги и следят за тем, чтобы каждая часть
кода работала правильно.

45. Специалисты, занятые разработкой и эксплуатацией программ

СПЕЦИАЛИСТЫ, ЗАНЯТЫЕ РАЗРАБОТКОЙ И
ЭКСПЛУАТАЦИЕЙ ПРОГРАММ
Frontend-разработчик должен знать следующее: jQuery. Библиотека
JavaScript с коллекцией плагинов и расширений. Вместо того чтобы
писать код с нуля, jQuery позволяет добавлять и настраивать
готовые элементы. Например, автозаполнение форм, слайд-панель,
таймер, связанная анимация. Фреймворки Bootstrap, Foundation,
Backbone, AngularJS и EmberJS. Это программные оболочки
повышающие производительность ресурса. Предоставляют готовый
дизайн
и
существенно
облегчают
жизнь
разработчика.
Препроцессоры SASS и LESS. Добавляют CSS функциональности,
обрабатывает код, превращая его в отформатированный и кроссбраузерный CSS. Популярные CMS - адаптивная верстка и кроссплатформенность. Обязанности и виды деятельности программиста
включают отладку и тестирование клиентской части. Веб-инженер
проверяет отдельные блоки исходного кода на ошибки. Тестирует
интерфейс, узнает, насколько пользователям будет удобно
взаимодействовать с приложением. Также фронтенд-специалист
должен разбираться в азах серверного программирования,
технологиях Node.js, помимо JS писать на PHP и SQL.

46. Специалисты, занятые разработкой и эксплуатацией программ

СПЕЦИАЛИСТЫ, ЗАНЯТЫЕ РАЗРАБОТКОЙ И
ЭКСПЛУАТАЦИЕЙ ПРОГРАММ
Backend

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

47. Специалисты, занятые разработкой и эксплуатацией программ

СПЕЦИАЛИСТЫ, ЗАНЯТЫЕ РАЗРАБОТКОЙ И
ЭКСПЛУАТАЦИЕЙ ПРОГРАММ
Программист серверной части – это следующая эволюционная
ступень после фронтенд-разработчика. Его задача заставить
сервер, приложение и БД взаимодействовать. Пишет на серверных
языках PHP, Ruby, Python, Java и .Net. В качестве инструментов для
работы с данными использует MySQL, Oracle и SQL Server. В
описаниях
вакансии
работодатели
часто
указывают
дополнительные требования: знание фреймворков PHP: Zend,
Symfony и CakePHP; опыт работы с программным обеспечением
контроля версий SVN, CVS или Git; навыки работы с
операционными системами Linux, Unix, MacOS X и Windows Server.
Создание веб-приложения – это сложный многоуровневый процесс,
в котором участвуют несколько специалистов. Поэтому бэкендразработка является командной работой. При написании кода,
программист взаимодействует с дизайнерами, верстальщиками,
менеджерами и заказчиками.

48. Специалисты, занятые разработкой и эксплуатацией программ

СПЕЦИАЛИСТЫ, ЗАНЯТЫЕ РАЗРАБОТКОЙ И
ЭКСПЛУАТАЦИЕЙ ПРОГРАММ
Разработчик Fullstack Это вид работы программиста, включающий в
себя все этапы создания веб-приложения. Fullstack developer –
мастер на все руки, пишущий одновременно клиентскую и
серверную часть.
Обязанности
универсального
веб-программиста:
Серверное
администрирование. Подключение через терминал к удаленным
серверам без GUI. Управление пользовательскими группами,
брандмауэрами, программами Apache и Nginx. Фулстакпрограммист должен все знать об облачном хостинге на
платформах Heroku, Google Cloud, Azure, AWS и любых других.
Создание бэкенда и базы данных. Специалист должен разбираться
в базах данных MySQL, PostgreSQL, а также БД noSQL: MongoDB,
Redis или Cassandra. Иметь представление о графовых СУБД,
таких как Neo4j. Фронтенд-разработка и дизайн. Помимо
стандартных обязанностей, верстки и подключения JS, Fullstackмастер проектирует макет в редакторах Photoshop или Illustrator

49. Специалисты, занятые разработкой и эксплуатацией программ

СПЕЦИАЛИСТЫ, ЗАНЯТЫЕ РАЗРАБОТКОЙ И
ЭКСПЛУАТАЦИЕЙ ПРОГРАММ
Game-разработчик – общее название категории специалистов,
задействованных в процессе создания игры. Главная задача –
превратить идею в программный код и заставить все элементы
взаимодействовать. 90% рабочего времени программисты пишут и
отлаживают алгоритмы на языке C++, Visual Basic, Java и MEL.
Создание консольной, мобильной или компьютерной игры – это
многоуровневый процесс. У игры много отдельных аспектов,
включая интерфейс, аудио и видео эффекты, искусственный
интеллект. Для каждого есть отдельный вид программистов:
Ведущий программист по звуку: пишет утилиты, чтобы аудио и
видео эффекты сочетались. Разработчик игрового движка.
Специалист UI или создатель графического интерфейса. Инженер
искусственного интеллекта для имитации логики и принятия
персонажами решений, особенно в играх, где от игрока зависят
действия противника. Программист геймплея: стратегия игры,
реализация механики и логики. Инженер устройств ввода. Пишет
код для джойстиков, клавиатуры, мышки и устройств, с помощью
которых пользователь будет взаимодействовать с видеоигрой.
Программист коммуникационных сетей для многопользовательских
игр.

50. Специалисты, занятые разработкой и эксплуатацией программ

СПЕЦИАЛИСТЫ, ЗАНЯТЫЕ РАЗРАБОТКОЙ И
ЭКСПЛУАТАЦИЕЙ ПРОГРАММ
Системный
программист
Разрабатывает
программное
обеспечение под различные операционные системы, включая
серверные Unix и Windows Server, а также мобильные платформы.
Код пишется на языках «Си», за редким исключением Assembler.
Основная задача системного инженера заключается в установке,
настройке, тестировании ОС и всех ее компонентов
Инженер прикладного программного обеспечения
Данный вид программистов создает не системное, а прикладное
ПО. Это программы, или приложения, которые взаимодействуют с
пользователем
непосредственно.
Например,
текстовые
и
графические редакторы, базы данных, аудио и видео плееры.
Работа прикладного инженера заключается в написании кода, его
последующей компиляции, отладке и тестировании. Иногда
специалист обновляет или вносит изменения в уже существующее
ПО. Для программирования использует высокоуровневые языки
Java, C#, C++, Python, PHP. Прикладные программисты редко
трудятся в одиночку. В основном, они являются участниками
стартапов, или входят в штат сотрудников компании, занимающейся
разработкой компьютерного софта.

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

СХЕМА ВЗАИМОДЕЙСТВИЯ СПЕЦИАЛИСТОВ, СВЯЗАННЫХ С
СОЗДАНИЕМ И ЭКСПЛУАТАЦИЕЙ ПРОГРАММ
Постановка
задачи
Конечный
пользователь
Эксплуатация
программ
Постановщик
задачи
Прикладной
программист
Оператор
ЭВМ
Системный
программист
Администрато
р БД
Алгоритмизация
решения задач
Программирование
Создание
операционной среды
выполнения
программ
Создание
информационной
среды выполнения
программ

52. Характеристики программных продуктов

ХАРАКТЕРИСТИКИ ПРОГРАММНЫХ ПРОДУКТОВ
Все программы по характеру использования и
категориям пользователей можно разделить на
два класса:
утилитарные программы («программы для
себя»),
программные продукты (программы для
широкого распространения и продажи).
Используются также
OEM-программы (Original Equipment
Manufacturer) – встроенные программы,
устанавливаемые на компьютеры или
поставляемые вместе с вычислительной
техникой.

53.

Программные продукты
коммерческие
некоммерческие
(распространяются
через Интернет):
freeware
shareware

54.

Программный
продукт
должен
быть
соответствующим
образом
подготовлен
к
эксплуатации:
иметь необходимую техническую документацию,
предоставлять сервис и гарантию надежной работы
программы,
иметь товарный знак изготовителя,
желательно
наличие
кода
государственной
регистрации.
Некоммерческие
программные
продукты
должны
соответствовать
принятыми
международными
соглашениями:
стандартная общественная
General Public License) и т.п.
лицензия
(GPL

55.

55
English     Русский Rules