Вопрос 28. Жизненный цикл программного продукта. Защита программных продуктов
Программы любого вида характеризуются жизненным циклом, состоящим из отдельных этапов: a) маркетинг рынка программных средств, спецификация требований к программному продукту; b) проектирование структуры программного продукта; c) программирование (создание программного кода), тестирование, автономная и комплексная отладка программ; d) документирование программного продукта, подготовка эксплуатационной и технологической документации; e) выход на рынок программных средств, распространение программного продукта; f) эксплуатация программного продукта пользователями; g) сопровождение программного продукта; h) снятие программного продукта с продажи, отказ от сопровождения. На рис. 8.6 изображены этапы жизненного цикла и показаны их временное соответствие друг другу. Рассмотрим содержание отдельных этапов жизненного цикла.
Рис. Этапы жизненного цикла программного продукта. Маркетинг и спецификация программного продукта предназначены для изучения требований к создаваемому программному продукту, а именно: - определение состава и назначения функций обработки данных программного продукта; - установление требований пользователя к характеру взаимодействия с программным продуктом, типу пользовательского интерфейса (система меню, использование манипулятора мышь, типы подсказок, виды экранных документов и т.п.); требования к комплексу технических и программных средств для эксплуатации программного продукта и т.д. На данном этапе необходимо выполнить формализованную постановку задачи. Если программный продукт создается не под заказ и предполагается выход на рынок программных средств, маркетинг выполняется в полном объеме: изучаются программные продукты-конкуренты и аналоги, обобщаются требования пользователей к программному продукту, устанавливается потенциальная емкость рынка сбыта, дается прогноз цены и объема продаж. Кроме того, важно оценить необходимые для разработки программного продукта материальные, трудовые и финансовые ресурсы, ориентировочные длительности основных этапов жизненного цикла программного продукта. Если программный продукт создается как заказное программное изделие для определенного заказчика, на данном этапе также важно правильно сформулировать и документировать задание на его разработку. Ошибочно понятое требование к программному продукту может привести к нежелательным результатам в процессе его эксплуатации. Проектирование структуры программного продукта связано с алгоритмизацией процесса обработки данных, детализацией функций обработки, разработкой структуры программного продукта (архитектуры программных модулей), структуры информационной базы (базы данных) задачи, выбором методов и средств создания программ-технологии программирования. Программирование, тестирование и отладка программ являются технической реализацией проектных решений и выполняются с помощью выбранного инструментария разработчика (алгоритмические языки и системы программирования, инструментальные среды разработчиков и т.п.). Для больших и сложных программных комплексов, имеющих развитую модульную структуру построения, отдельные работы данного этапа могут выполняться параллельно, обеспечивая сокращение общего времени разработки программного продукта. Важная роль принадлежит используемым при этом инструментальным средствам программирования и отладки программ, поскольку они влияют на трудоемкость выполнения работ, их стоимость, качество создаваемых программ. Документирование программного продукта является обязательным видом работ, выполняемых, как правило, не самим разработчиком, а лицом, связанным с распространением и внедрением программного продукта. Документация должна содержать необходимые сведения по установке и обеспечению надежной работы программного продукта, поддерживать пользователей при выполнении функций обработки, определять порядок комплексирования программного продукта с другими программами. Успех распространения и эксплуатации программного продукта в значительной степени зависит от качества его документации. На машинном уровне программного продукта, как правило, создаются: - автоматизированная контекстно-зависимая помощь (HELP); - демонстрационные версии, работающие в активном режиме по типу обучающих систем (электронный учебник) или пассивном режиме (ролик, мультфильм) - для демонстрации функциональных возможностей программного продукта и информационной технологии его использования. Выход программного продукта на рынок программных средств связан с организацией продаж массовому пользователю. Этот этап должен по возможности быть коротким, для продвижения программных продуктов применяются стандартные приемы маркетинга: реклама, увеличение числа каналов реализации, создание дилерской и дистрибьютерной сети, ценовая политика - продажа со скидками, сервисное обслуживание и др. Требуется постоянная программа маркетинговых мероприятий и поддержки программных продуктов. Как правило, для каждого программного продукта существует своя форма кривой продаж, которая отражает спрос (рис. 8.7). Вначале продажа программного продукта идет вверх - возрастающий участок кривой. Затем наступает стабилизация продаж программного продукта. Фирма-разработчик стремится к максимальной длительности периода стабильных продаж на высоком уровне. Далее происходит падение объема продаж, что является сигналом к изменению маркетинговой политики фирмы в отношении данного программного продукта, требуется модификация данного продукта, изменение цены или снятие с продажи. Эксплуатация программного продукта идет параллельно с его сопровождением, при этом эксплуатация программ может начинаться и в случае отсутствия сопровождения или продолжаться в случае завершения сопровождения еще какое-то время. После снятия программного продукта с продажи определенное время также может выполняться его сопровождение. В процессе эксплуатации программного продукта производится устранение обнаруженных ошибок. Снятие программного продукта с продажи и отказ от сопровождения происходят, как правило, в случае изменения технической политики фирмы-разработчика, неэффективности работы программного продукта, наличия в нем неустранимых ошибок, отсутствия спроса. Длительность жизненного цикла для различных программных продуктов неодинакова. Для большинства современных программных продуктов длительность жизненного цикла измеряется в годах (2-3 года). Хотя достаточно часто встречаются на компьютерах и давно снятые с производства программные продукты. Особенность разработки программного продукта заключается в том, что на начальных этапах принимаются решения, реализуемые на последующих этапах. Допущенные ошибки, например при спецификации требований к программному продукту, приводят к огромным потерям на последующих этапах разработки или эксплуатации программного продукта и даже к неуспеху всего проекта. Так, при необходимости внесения изменений в спецификацию программного продукта следует повторить в полном объеме все последующие этапы проектирования и создания программного продукта. |
Основные понятия о защите программных продуктов. Программные продукты и компьютерные базы данных являются предметом интеллектуального труда специалистов высокой квалификации. Процесс проектирования и реализации программных продуктов характеризуется значительными материальными и трудовыми затратами, основан на использовании наукоемких технологий и инструментария, требует применения и соответствующего уровня дорогостоящей вычислительной техники. Это обусловливает необходимость принятия мер по защите интересов разработчика программ и создателей компьютерных баз данных от несанкционированного их использования. Программное обеспечение является объектом защиты также и в связи со сложностью и трудоемкостью восстановления его работоспособности, значимостью программного обеспечения для работы информационной системы. Защита программного обеспечения преследует цели: - ограничение несанкционированного доступа к программам или их преднамеренное разрушение и хищение; - исключение несанкционированного копирования (тиражирования) программ. Программный продукт и базы данных должны быть защищены по нескольким направлениям от воздействия: 1) человека - хищение машинных носителей и документации программного обеспечения; нарушение работоспособности программного продукта и др.; 2) аппаратуры - подключение к компьютеру аппаратных средств для считывания программ и данных или их физического разрушения; 3) специализированных программ - приведение программного продукта или базы данных в неработоспособное состояние (например, вирусное заражение), несанкционированное копирование программ и базы данных и т.д. Самый простой и доступный способ защиты программных продуктов и базы данных-ограничение доступа. Контроль доступа к программному продукту и базе данных строится путем: - парольной зашиты программ при их запуске; - использования ключевой дискеты для запуска программ; - ограничения программ или данных, функций обработки, доступных пользователям, и др. Могут также использоваться и криптографические методы защиты информации базы данных или головных программных модулей. Программные системы защиты от несанкционированного копирования. Данные системы предотвращают нелицензионное использование программных продуктов и баз данных. Программа выполняется только при опознании некоторого уникального некопируемого ключевого элемента. Таким ключевым элементом могут быть: - дискета, на которой записан не подлежащий копированию ключ; - определенные характеристики аппаратуры компьютера; - специальное устройство (электронный ключ), подключаемое к компьютеру и предназначенное для выдачи опознавательного кода. Программные системы защиты от копирования программных продуктов: - идентифицируют среду, из которой будет запускаться программа; - устанавливают соответствие среды, из которой запущена программа, той, для которой разрешен санкционированный запуск; - вырабатывают реакцию на запуск из несанкционированной среды; - регистрируют санкционированное копирование; - противодействуют изучению алгоритмов и программ работы системы. Для идентификации запускающих дискет применяются следующие методы: 1) нанесение повреждений на поверхность дискеты ("лазерная дыра"), которая с трудом может быть воспроизведена в несанкционированной копии дискеты; 2) нестандартное форматирование запускающей дискеты. Идентификация среды компьютера обеспечивается за счет: 1) закрепления месторасположения программ на жестком магнитном диске (так называемые неперемещаемые программы); 2) привязки к номеру BIOS (расчет и запоминание с последующей проверкой при запуске контрольной суммы системы); 3) привязки к аппаратному (электронному) ключу, вставляемому в порт ввода-вывода, и др.
|
- Вопрос 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. Программные средства для сжатия данных (архивация). Самораспаковывающиеся архивы. Многотомные архивы. Теоретические основы сжатия данных (виды сжатия, коэффициент сжатия).