являющееся частной собственностью авторов или правообладателей и не удовлетворяющее критериям свободного ПО (наличия открытого программного кода недостаточно). Правообладатель проприетарного ПО сохраняет за собой монополию на его использование, копирование и модификацию, полностью или в существенных моментах. Обычно проприетарным называют любое несвободное ПО, включая полусвободное. Таким образом, это выражение может быть применено ко всему программному обеспечению, которое не находится в общественном использовании. По правовым и техническим причинам ПО по умолчанию обычно является проприетарным. Законы об авторском праве действует по умолчанию, делая нетривиальные произведения проприетарными.
Термин «проприетарное программное обеспечение» используется FSF (фондом свободного ПО) для определения программного обеспечения, которое с позиции Фонда не является свободным.
Предотвращение использования, копирования или модификации могут быть достигнуты правовыми и/или техническими средствами.
Технические средства включают в себя выпуск только машинночитаемых двоичных файлов, ограничение доступа к читаемому человеком исходному коду (закрытый исходный код), затруднение использования собственноручно сделанных копий. Доступ к закрытому коду обычно имеют сотрудники компании-разработчика, но могут применяться и более гибкие условия ограничения доступа, в которых предоставление исходного кода разрешено партнёрам компании, техническим аудиторам или другим лицам в соответствии с политикой компании.
Правовые средства могут включать в себя коммерческую тайну, авторское право и патенты. Правовая охрана компьютерных программ возможна по двум разным правовым режимам — режимом, применяемым к литературным произведениям и режимом применяемым к патентам. В первом случае программа идентифицируется (и охраняется) по тексту кода, во втором
— по критериям патентоспособности, применяемым для изобретений (то есть, нужно доказать «инновационность», «оригинальность» и «неочевидность», а также возможность решения существующей технической проблемы и коммерческую пригодность).
Типичные ограничения проприетарного ПО:
1.Ограничение на коммерческое использование. Существует огромное количество программных продуктов, разрешающих бесплатное использование в некоммерческих целях для частных лиц, медицинских и учебных заведений, для некоммерческих организаций и т.д., однако они требуют оплаты в случае использования ПП с целью извлечения прибыли. Такое ПО очень популярно и широко используется, а за счёт своей бесплатности имеет хорошую техническую поддержку со стороны специалистов, у которых отсутствует необходимость дополнительных затрат на обучение.
2.Ограничение на распространение. Этот вид ограничений сопровождает обычно крупные программные проекты, когда правообладатель
16
требует оплаты за каждую копию программы. Обычно с таким ограничением используются программные продукты, ориентированные на узкий «профессиональный» сегмент рынка или у ПО, требующегося большому числу пользователей. Примером может служить пакет программ Adobe CS6 или операционная система Windows 8.
3. Ограничение на изучение, модификацию. Этот вид ограничения используется только в программных пакетах с закрытыми исходными кодами и может запрещать или ограничивать любую модификацию программного кода, дизассемблирование и декомпиляцию.
2.2. Функциональное назначение программного продукта
При описании назначения программного продукта, как правило, указывается вид деятельности, которая автоматизируется посредством этой программы (учет, расчет, хранение, управление данными, и т.п.) и сфера ее применения в режиме постоянной эксплуатации. Любая программа создается / существует с определенной целью, в противном случае она не создается / стирается. Поэтому обязательно формулируются цели создания / существования программы. Назначение ПП формулируется лаконично в двухтрех предложениях, и содержит информацию – для чего и зачем создается / нужна данная программа. Также указываются те ожидаемые / фактически полученные положительные результаты, которые будут получены / уже получены в процессе использования этой программы в постоянной эксплуатации. При этом уместно приводить наименование и необходимые значения технических, технологических, производственно-экономических или других показателей бизнес-процесса, которые должными быть достигнуты в результате создания / эксплуатации ПП, и указывать критерии оценки достижение указанных выше целей.
2.3. Нефункциональные требования к программному продукту
Нефункциональные требования не являются описанием функций программы. Этот вид требований описывает такие характеристики ПО:
1.Сопровождаемость (maintainability) – означает, что программа должна быть разработана с расчетом на дальнейшее развитие. Это критическое свойство системы, т.к. изменения системы неизбежны вследствие изменения бизнеса. Сопровождение ПО выполняют, как правило, не те люди, которые ее разрабатывали. Включает такие элементы:
наличие и понятность проектной документации;
соответствие проектной документации обеспечивающим подсистемам;
понятность исходного кода;
простота изменений обеспечивающих подсистем;
простота добавления новых функций.
2.Надежность (dependability). Надежность ПО включает такие элементы как:
17
отказоустойчивость – возможность восстановления системы и данных в случае сбоев в работе;
безопасность – сбои в работе системы не должны приводить к опасным последствиям (авариям);
защищенность от случайных или преднамеренных внешних воздействий (защита от «дурака», вирусов, спама).
3.Эффективность (efficiency). ПО не должна впустую тратить системные ресурсы, такие как память, процессорное время, каналы связи. Поэтому эффективность программное системы оценивается следующими показателями:
время выполнения операций;
загруженность процессора;
объем требуемой памяти;
время отклика и т.п.
4.Удобство использования (usability). Система должна быть легкой в использовании, причем именно тем типом пользователей, на которых рассчитано приложение. Это включает в себя интерфейс пользователя и адекватную документацию. Причем, пользовательский интерфейс должен быть не интуитивно, а профессионально понятным пользователю.
5.Особенности поставки – наличие инсталлятора, документации.
6.Определенный уровень качества. Например, удовлетворение стандартам ISO, либо набору тестов, поддерживаемому компанией Sun, и т.д.
7.Требования к средствам и процессу разработки системы.
8.Требования к переносимости.
9.Требования соответствию стандартам и т.д.
Требования этого вида часто относятся ко всей системе в целом. На
практике, особенно начинающие специалисты, часто забывают о некоторых важных нефункциональных требованиях. В числе таких требований можно выделить требования к аппаратному обеспечению, в качестве которых указываются требования к функциональным, конструктивных и эксплуатационных характеристик технических средств, задействованных в функционировании ПО. При формулировании аппаратных требований к ПО необходимо учитывать, что эти требования обусловленные спецификой задач, которые решаются в программой, и требованиями к другим ее частям. При описании требований к аппаратному обеспечению необходимо указывать не конкретные значения характеристик аппаратных компонентов или конкретные типы, а лишь определенные ограничения на эти характеристики.
18
Требования к содержанию отчета
Оформление отчета выполнить в соответствии со стандартами оформления отчетов по исследовательским работам в вузе. Для написания отчета следует использовать справочную систему пакета, встроенные демонстрационные образцы-примеры, литературу с описанием выбранного пакета программ.
Материал отчета должен быть изложен лаконично "сухим" техническим деперсонифицированным языком без использования маркетинговых оборотов рекламного характера (например, убрать такие формулировки, как «супер предложение», «отличный выбор», и т.п., а вместо «вы можете использовать» применить «используется», вместо «позволит вам» – «позволяет», и т.п.). При этом все заимствованные материалы должны быть описаны аналитически с точки зрения применения выбранного ПП к задаче информатизации заданной предметной области и обозначены ссылками на соответствующие источники.
Контрольные вопросы и упражнения
1.Что такое программный процесс, программное обеспечение?
2.Перечислите основные компоненты и свойства программного обеспечения.
3.В чем отличие программного продукта и программного обеспечения?
4.Что такое проприентарный программный продукт?
5.С какой целью проводится анализ существующих программных продуктов?
6.Каким образом осуществляется защита проприетарного ПО?
7.Перечислите типичные ограничения проприетарного ПО.
8.Что такое функциональное назначение ПО?
9.В чем заключается основное назначение программного продукта?
10.Что такое задача программы?
11.Чем определяется эффективность решения задач программы?
12.В чем различия между задачей бизнес-процесса и задачей программы?
13.Перечислите нефункциональные требования к ПП.
14.Какие требования предъявляются к аппаратному обеспечению ПП?
15.Определите назначение выбранного ПП. Назовите цели, в соответствии с которыми создан данный ПП. Выделите критерии, которые могут быть использованы для оценивания эффективности его функционирования.
16.Перечислите объекты, на которых целесообразна эксплуатация выбранного ПП. Укажите технические, технологические, производственно-экономические или другие показатели бизнеспроцесса, улучшение которых может быть достигнуто в результате создания и использования ПП.
17.Оцените примерную стоимость внедрения и обслуживания выбранного ПП.
19
Лабораторная работа №3
Тема: Техническое задание на создание программного продукта.
Цель: Освоение методики предварительного анализа разрабатываемой программы; освоение задач формулирования функциональных и нефункциональных требований к программной реализации отдельных задач и к программе в целом; выработка навыков разработки технического задания.
Задание
1.Установить назначение и общую цель создания программы.
2.Определить структуру программы и состав функциональных задач.
3.Разработать функциональные требования к программе:
требования к входным и выходным данным;
требования к программной реализации задач;
специальные требования к математическому обеспечению программной реализации задач;
требованиях к прикладному программному обеспечению.
4.Установить нефункциональные требования к программе:
требования к надежности;
требования к эффективности;
требования к безопасности;
требования к эргономичности и удобству использования;
требования к численности и квалификации персонала и режиму его работы;
требования к переносимости;
требования к сопровождаемости;
требования к особенностям поставки;
требования к защите информации от несанкционированного доступа;
требования по сохранению информации при авариях;
требования к соответствию стандартам качества.
Теоретические положения
3.1. Объектно-ориентированный подход к моделированию бизнеспроцессов
Методология объектно-ориентированного подхода (ООП) тесно связана с концепцией автоматизированной разработки программного обеспечения (CASE
– computer aided software engineering). Попытки предложить подходящий синтаксис для визуального представления схем БД и ПО воспринимались разработчиками скептически и неоднозначно. На этом фоне разработка и стандартизация унифицированного языка моделирования UML (unified modeling language) вызвала воодушевление у всего сообщества программистов.
Визуальное моделирование с использованием нотации UML можно представить как процесс поуровневого спуска от наиболее общей и абстрактной
20