Вопрос 25. Программный продукт и программное обеспечение. Характеристика программного продукта. Программа.
Под программным продуктом (ПП) мы понимаем программное обеспечение (ПО) как результат человеческой деятельности, выставленный на рынке массового покупателя в качестве товара и имеющий ненулевую потребительную стоимость.
Очень важно различать тиражный программный продукт и программное обеспечение проекта. Тиражный ПП производится для того, чтобы его могли использовать во многих местах различные пользователи. Поэтому у него нет заказчиков, а решение о начале разработки принимается исходя из предполагаемого рыночного спроса. Текстовые процессоры, электронные таблицы, системы управления базами данных, электронные словари, корректоры орфографии, русификаторы, переводчики, программы оптического распознавания символов - все это примеры тиражных ПП. Во всем мире их используют миллионы людей.
Программное обеспечение проекта создается для одного, редко - для нескольких пользователей или разрабатывается как часть технологии, которая может быть продана другой организации с целью использования в качестве составной части аппаратно-программного комплекса. В этом направлении работает, например, часть коллектива ParaGraph International, занимающаяся проблемами распознавания символов. Имея не более десятка потенциальных заказчиков, тем не менее эта фирма гигант в своей области.
Таким образом, если у проекта обычно один или несколько пользователей, то вопрос о продолжении разработки стоит не так остро, а конкурентная борьба идет за право вести разработку. Напротив, тиражный программный продукт предназначен сотням тысяч потенциальных пользователей, и при его появлении на рынке неизбежна конкуренция с другими продуктами того же класса. В момент принятия решения о начале разработки фирма идет на значительный финансовый риск. При этом производитель должен ясно сознавать, что выпуском одной версии дело не закончится, поскольку цикл жизни ПП предполагает его совершенствование.
Жизненный цикл программного продукта
Еще одно важное отличие ПП от многих других товаров состоит в том, что отдельная копия программного продукта имеет небольшую себестоимость. Это уникальное для производителя свойство позволяет вводить новые формы взаимодействия с клиентом после первой продажи ПП. Мы имеем ввиду upgrade, то есть право обновлять ПП на этот же, но новой, улучшенной версии за небольшую плату. Понятие upgrade позволяет пользователю считать разные версии ПП одним ПП, в то время как для производителя разные версии иногда выступают как разные проекты и соответственно совершенно разные продукты.
Для производителя жизненный цикл программного продукта состоит из трех фаз:
1. Разработка.
2. Использование.
3. Продолжение разработки.
Обратите внимание на то, что использование сопровождается продолжающейся разработкой - разработкой новых версий и подверсий, в которых учитываются недостатки предыдущей версии и реализуются новые возможности.
Как и любой другой продукт, программный продукт проходит до появления на рынке четыре стадии. Сначала возникает идея (концепция) нового продукта, подвергающаяся тщательному техническому анализу, в результате которого вырабатываются требования к будущему продукту. Одновременно проводится экономический анализ, учитывающий потенциальный сбыт, издержки производства, уровень и сроки окупаемости, конкуренцию на рынке, требуемые инвестиции, краткосрочную и долгосрочную прибыль, степень риска.
Существуют различные способы разделения процесса разработки программного обеспечения на этапы. При некоторых из них выделяют большее количество этапов, при других -- меньшее. По-видимому, неизбежными являются шесть этапов. Разработка программного обеспечения: Определение требований Проектирование
Написание команд -- программы Компоновка Тестирование Документирование
Первый род деятельности, определение требований, представляет особую сложность для больших систем типа V, и вскоре мы его рассмотрим весьма подробно.
Проектирование, имеющееся в виду здесь, есть проекти-рование именно программ, а не той системы в целом, частью которой являются эти программы. Более глубокое изучение этого процесса мы проведем после того, как рассмотрим оп-ределение требований.
Третьим пунктом является написание команд, сведение проекта программного обеспечения или просто программы к последовательности машинных команд. Мы будем называть этот процесс программированием.
Компоновка представляет собой комбинирование, связы-вание отдельных частей программы, написанных разными людьми или группами, в одну большую систему программного обеспечения.
Характеристика программного продукта
Все программы по характеру использования и категориям пользователей можно разделить на два класса- утилитарные программы и программные продукты (изделия).
- Утилитарные программы ("программы для себя") предназначены для удовлетворения нужд их разработчиков. Чаще всего утилитарные программы выполняют роль сервиса в технологии обработки данных либо являются программами решения функциональных задач, не предназначенных для широкого распространения.
- Программные продукты (изделия) предназначены для удовлетворения потребностей пользователей, широкого распространения и продажи.
В настоящее время существуют и другие варианты легального распространения программных продуктов, которые появились с использованием глобальных или региональных телекоммуникаций:
- freeware - бесплатные программы, свободно распространяемые, поддерживаются самим пользователем, который правомочен вносить в них необходимые изменения;
- shareware - некоммерческие (условно-бесплатные) программы, которые могут использоваться, как правило, бесплатно. При условии регулярного использования подобных продуктов осуществляется взнос определенной суммы.
Программный продукт - комплекс взаимосвязанных программ для решения определенной проблемы (задачи) массового спроса, подготовленный к реализации как любой вид промышленной продукции.
Программные продукты могут создаваться как:
- индивидуальная разработка под заказ;
- разработка для массового распространения среди пользователей.
Как правило, программные продукты требуют сопровождения, которое осуществляется специализированными фирмами - распространителями программ ,реже - фирмами-разработчиками. Сопровождение программ массового применения сопряжено с большими трудозатратами - исправление обнаруженных ошибок, создание новых версий программ и т.п.
Сопровождение программного продукта - поддержка работоспособности программного продукта, переход на его новые версии, внесение изменений, исправление обнаруженных ошибок и т.п.
Программные продукты в отличие от традиционных программных изделий не имеют строго регламентированного набора качественных характеристик, задаваемых при создании программ, либо эти характеристики невозможно заранее точно указать или оценить, т.к. одни и те же функции обработки, обеспечиваемые программным средством, могут иметь различную глубину проработки. Даже время и затраты на разработку программных продуктов не могут быть определены с большой степенью точности заранее. Основными характеристиками программ являются:
- алгоритмическая сложность (логика алгоритмов обработки информации);
- состав и глубина проработки реализованных функций обработки;
- полнота и системность функций обработки;
- объем файлов программ;
- требования к операционной системе и техническим средствам обработки со стороны программного средства;
- объем дисковой памяти;
- размер оперативной памяти для запуска программ;
- тип процессора;
- версия операционной системы;
- наличие вычислительной сети и др.
Программные продукты имеют многообразие показателей качества, которые отражают следующие аспекты:
- насколько хорошо (просто, надежно, эффективно) можно использовать программный продукт;
- насколько легко эксплуатировать программный продукт;
- можно ли использовать программный продукт при изменении условия его применения и др.
Дерево характеристик качества программных продуктов
Мобильность программных продуктов означает их независимость от технического комплекса системы обработки данных, операционной среды, сетевой технологии обработки данных, специфики предметной области многоплатформный программный продукт может быть установлен на различных моделях компьютеров и операционных систем, без ограничений на его эксплуатацию в условиях вычислительной сети. Функции обработки такого программного продукта пригодны для массового использования без каких-либо изменений.
Надежность работы программного продукта определяется бесперебойностью и устойчивостью в работе программ, точностью выполнения предписанных функций обработки, возможностью диагностики возникающих в процессе работы программ ошибок.
Эффективность программного продукта оценивается как с позиций прямого его назначения - требований пользователя, так и с точки зрения расхода вычислительных ресурсов, необходимых для его эксплуатации.
В условиях существования рынка программных продуктов важными характеристиками являются:
- стоимость,
- количество продаж;
- время нахождения на рынке (длительность продаж);
- известность фирмы-разработчика и программы;
- наличие программных продуктов аналогичного назначения.
Если программный продукт создается не под заказ и предполагается выход на рынок программных средств, маркетинг выполняется в полном объеме: изучаются программные продукты-конкуренты и аналоги, обобщаются требования пользователей к программному продукту, устанавливается потенциальная емкость рынка сбыта, дается прогноз цены и объема продаж. Кроме того, важно оценить необходимые для разработки программного продукта материальные, трудовые и финансовые ресурсы, ориентировочные длительности основных этапов жизненного цикла программного продукта.
Если программный продукт создается как заказное программное изделие для определенного заказчика, на данном этапе также важно правильно сформулировать и документировать задание на его разработку. Ошибочно понятое требование к программному продукту может привести к нежелательным результатам в процессе его эксплуатации.
Проектирование структуры программного продукта связано с алгоритмизацией процесса обработки данных, детализацией функций обработки, разработкой структуры программного продукта (архитектуры программных модулей), структуры информационной базы (базы данных) задачи, выбором методов и средств создания программ-технологии программирования.
- Вопрос 1. Определение информатики. Появление и становление информатики. Источники информатики.
- Вопрос 2. Предмет, задачи и методы информатики. Экономическая информатика.
- Вопрос 4. История развития вычислительной техники
- Вопрос 5. Информационное общество. Роль информатизации в развитии общества.
- Вопрос 5. Информационный потенциал общества
- Вопрос 7. Информационные ресурсы общества
- Вопрос 8. Информационные продукты и услуги
- Вопрос 9. Рынок информационных продуктов и услуг
- Вопрос 10. Информация. Данные. Технократический, антропоцентрический, недетерминированный подходы к информации.
- Вопрос 11. Единицы информации. Свойства информации.
- Вопрос 12. Классификация информации (по способу восприятия человеком, по способу отображения, по функциям управления, по стадиям обработки, по стабильности, по месту возникновения и т.Д.).
- Вопрос 13. Экономическая информация. Особенности экономической информации.
- Вопрос 14. Кодирование информации
- Вопрос 15. Информационные процессы: понятие, этапы
- Вопрос 16. Классификация компьютеров.
- Вопрос 17. Поколения эвм
- Вопрос 18. Понятие архитектуры и структуры компьютера. Структурная схема персонального компьютера
- Вопрос 19. Состав системного блока (назначение и характеристики основных устройств)
- Вопрос 20. 20. Материнская плата. Устройства, входящие в состав материнской платы, их назначение и характеристики.
- Вопрос 21. Устройства для хранения информации (назначение, виды и основные характеристики).
- Вопрос 22. Периферийные устройства (назначение, виды и основные характеристики).
- Вопрос 23. Устройства для ввода информации в компьютер (назначение, виды и основные характеристики).
- Вопрос 24. Устройства для вывода информации на печать (назначение, виды и основные характеристики)
- Вопрос 25. Программный продукт и программное обеспечение. Характеристика программного продукта. Программа.
- Вопрос 26. Категории специалистов, занятых разработкой программ
- Вопрос 27. Классификация программных продуктов. Показатели качества программ.
- Вопрос 28. Жизненный цикл программного продукта. Защита программных продуктов
- Вопрос 29. Системное программное обеспечение (сервисное и базовое). Состав, назначение, примеры.
- Вопрос 30. Операционные системы: назначение, классификация, примеры.
- Вопрос 31. Прикладные программы: назначение, классификация, примеры.
- Вопрос 32. Интегрированный программный продукт Microsoft Office (состав, назначение, особенности использования).
- Вопрос 33. Операционная система windows. Основные объекты и приемы управления windows. Главное меню. Окна.
- Вопрос 34. Понятие файловой структуры. Файлы и папки. Операции с файловой структурой.
- Вопрос 35. Стандартные программы windows. Служебные приложения.
- Вопрос 36. Текстовый процессор Microsoft Word. Общие сведения о текстовом процессоре. Интерфейс. Средства автоматизации разработки документов.
- Вопрос 37.Технология выполнения отдельных операций в текстовом редакторе
- Вопрос 38. Электронные таблицы Microsoft Excel. Общие сведения об электронных таблицах (интерфейс, возможности, назначение, средства для автоматизации обработки информации).
- Вопрос 40. Понятие моделирования и модели. Цель и задачи моделирования.
- Вопрос 41. Виды моделирования. Уровни моделирования. Моделирование в экономике.
- Вопрос 42. Системы счисления (позиционные, непозиционные).
- Вопрос 43. Правила перевода чисел из одной системы в другую (на примере систем счисления с основанием 2 8, 10, 16).
- Вопрос 44. Основы математической логики.
- Вопрос 45. Примеры логических функций. Таблицы истинности. Приоритет выполнения логических операций. Примеры вычисления задач.
- Вопрос 46. Алгоритм: определение, свойства алгоритмов
- Вопрос 47. Способы описания алгоритмов. Типовые алгоритмические конструкции. Примеры.
- Вопрос 48. Средства программирования. Языки программирования высокого и низкого уровня. Обзор языков программирования высокого уровня.
- Вопрос 49. Базы данных. Модели хранения данных.
- Вопрос 50. Реляционные базы данных. Основные понятия реляционных баз данных.
- Вопрос 51. Этапы создания базы данных. Информационно-логические модели баз данных. Создание межтабличных связей, их назначение, виды. Обеспечение целостности данных.
- Вопрос 52. Требования нормализации.
- Вопрос 53. Субд Microsoft Access. Свойства полей базы данных.
- Вопрос 54. Субд Microsoft Access Основные объекты (таблицы, запросы, формы, отчеты), их назначение и способы создания. Типы данных.
- Вопрос 55. Понятие компьютерной сети. Вычислительные и информационные сети.
- Вопрос 56. Компоненты компьютерной сети. Характеристики сети.
- Вопрос 57. Классификация компьютерных сетей по разным признакам (Локальные и глобальные сети).
- Вопрос 58. Логическая структура сети (базовая модель открытых систем). Характеристика уровней передачи данных.
- Вопрос 59. Протоколы (понятие, виды).
- Вопрос 60. Топология локальных сетей.
- Вопрос 61. Каналы передачи данных
- Вопрос 62. Интернет. Основные понятия. История и перспективы развития Интернет.
- Вопрос 63. Адресация в сети Интернет. Адресация информационных ресурсов. Url-адреса. Адресация компьютеров. Доменная система имен.
- Вопрос 64. Службы (сервисы) Интернет (обзор, наименования, назначения)
- Вопрос 65. Www: основные понятия. Поиск информации в World Wide Web. Поисковые системы (назначение, обзор, технология работы на примере …).
- Вопрос 66. Электронная почта. Функции почтовых клиентов. Технология приема и отправки сообщений.
- Вопрос 67. Необходимость защиты информации. Понятие угрозы информационной безопасности. Виды угроз информационной безопасности.
- Вопрос 68. Защита информации на уровне государства. Законодательная база.
- Вопрос 69. Защита информации от несанкционированного доступа. Методы и средства защиты информации. Комплексная система защиты информации. Защита информации при работе в Интернет.
- Вопрос 70. Безопасность пользователя при работе с компьютером. Техника безопасности
- Вопрос 71. Компьютерные вирусы: понятие, классификация, признаки заражения компьютера, средства защиты от компьютерных вирусов.
- Вопрос 72. Программные средства для сжатия данных (архивация). Самораспаковывающиеся архивы. Многотомные архивы. Теоретические основы сжатия данных (виды сжатия, коэффициент сжатия).