Какие основные свойства программы
Все программы по характеру использования и категориям пользователей можно разделить на два класса — утилитарные программы и программные продукты (изделия).
Утилитарные программы («программы для себя») предназначены для удовлетворения нужд их разработчиков. Чаще всего утилитарные программы выполняют роль сервиса в технологии обработки данных либо являются программами решения функциональных задач, не предназначенных для широкого распространения.
Программные продукты (изделия) предназначены для удовлетворения потребностей пользователей, широкого распространения и продажи.
- Freeware — бесплатные программы, свободно распространяемые, поддерживаются самим пользователем, который правомочен вносить в них необходимые изменения;
- Shareware — некоммерческие (условно-бесплатные) программы, которые могут использоваться, как правило, бесплатно. При условии регулярного использования подобных продуктов осуществляется взнос определенной суммы. Ряд производителей использует OEM-программы (Original Equipment Manufacturer), т.е. встроенные программы, устанавливаемые на компьютеры или поставляемые вместе с вычислительной техникой.
- Trial – программное обеспечение, которое является полнофункциональным в течении определенного времени или количества запусков. Основывается на принципе Try & Buy – попробуй и потом заплати.
Программный продукт должен быть соответствующим образом подготовлен к эксплуатации, иметь необходимую техническую документацию, предоставлять сервис и гарантию надежной работы программы, иметь товарный знак изготовителя, а также желательно наличие кода государственной регистрации. Только при таких условиях созданный программный комплекс может быть назван программным продуктом.
Программный продукт — комплекс взаимосвязанных программ для решения определенной проблемы (задачи) массового спроса, подготовленный к реализации как любой вид промышленной продукции.
Программные продукты могут создаваться как:
- индивидуальная разработка под заказ;
- разработка для массового распространения среди пользователей.
При индивидуальной разработке фирма-разработчик создает оригинальный программный продукт, учитывающий специфику обработки данных для конкретного заказчика.
При разработке для массового распространения фирма-разработчик, с одной стороны, должна обеспечить универсальность выполняемых функций обработки данных, с другой стороны, гибкость и настраиваемость программного продукта на условия конкретного применения. Отличительной особенностью программных продуктов должна быть их системность — функциональная полнота и законченность реализуемых функций обработки, которые применяются в совокупности.
Программный продукт разрабатывается на основе промышленной технологии выполнения проектных работ с применением современных инструментальных средств программирования. Специфика заключается в уникальности процесса разработки алгоритмов и программ, зависящего от характера обработки информации и используемых инструментальных средств. На создание программных продуктов затрачиваются значительные ресурсы — трудовые, материальные, финансовые; требуется высокая квалификация разработчиков.
Как правило, программные продукты требуют сопровождения, которое осуществляется специализированными фирмами — распространителями программ (дистрибьюторами), реже — фирмами-разработчиками. Сопровождение программ массового применения сопряжено с большими трудозатратами — исправление обнаруженных ошибок, создание новых версий программ и т.п.
Сопровождение программного продукта — поддержка работоспособности программного продукта, переход на его новые версии, внесение изменений, исправление обнаруженных ошибок и т.п.
Программные продукты в отличие от традиционных программных изделий не имеют строго регламентированного набора качественных характеристик, задаваемых при создании программ, либо эти характеристики невозможно заранее точно указать или оценить, так как одни и те же функции обработки, обеспечиваемые программным средством, могут иметь различную глубину проработки. Даже время и затраты на разработку программных продуктов не могут быть определены с большой степенью точности заранее.
Основными характеристиками программ являются:
- алгоритмическая сложность (логика алгоритмов обработки информации);
- состав и глубина проработки реализованных функций обработки;
- полнота и системность функций обработки;
- объем файлов программ;
- требования к операционной системе и техническим средствам обработки со стороны
- программного средства;
- объем дисковой памяти;
- размер оперативной памяти для запуска программ;
- тип процессора;
- версия операционной системы;
- наличие вычислительной сети и др.
Программные продукты имеют многообразиепоказателей качества:
Мобильность программных продуктов означает их независимость от технического комплекса системы обработки данных, операционной среды, сетевой технологии обработки данных, специфики предметной области и т.п. Мобильный (многоплатформный) программный продукт может быть установлен на различных моделях компьютеров и операционных систем, без ограничений на его эксплуатацию в условиях вычислительной сети. Функции обработки такого программного продукта пригодны для массового использования без каких- либо изменений.
Надежность работы программного продукта определяется бессбойностью и устойчивостью в работе программ, точностью выполнения предписанных функций обработки, возможностью диагностики возникающих в процессе работы программ ошибок.
Эффективность программного продукта оценивается как с позиций прямого его назначения — требований пользователя, так и с точки зрения расхода вычислительных ресурсов, необходимых для его эксплуатации.
Расход вычислительных ресурсов оценивается через объем внешней памяти для размещения программ и объем оперативной памяти для запуска программ.
Учет человеческого фактора означает обеспечение дружественного интерфейса для работы конечного пользователя, наличие контекстно-зависимой подсказки или обучающей системы в составе программного средства, хорошей документации для освоения и использования заложенных в программном средстве функциональных возможностей, анализ и диагностику возникших ошибок и др.
Модифицируемость программных продуктов означает способность к внесению изменений, например расширение функций обработки, переход на другую техническую базу обработки и т.п.
Коммуникативность программных продуктов основана на максимально возможной их интеграции с другими программами, обеспечении обмена данными в общих форматах представления (экспорт/импорт баз данных, внедрение или связывание объектов обработки и др.).
В условиях существования рынка программных продуктов важными характеристиками являются:
- стоимость;
- количество продаж;
- время нахождения на рынке (длительность продаж);
- известность фирмы-разработчика и программы;
- наличие программных продуктов аналогичного назначения.
Программные продукты массового распространения продаются по ценам, которые учитывают спрос и конъюнктуру рынка (наличие и цены программ-конкурентов).
Большое значение имеет проводимый фирмой маркетинг, который включает:
- формирование политики цен для завоевания рынка;
- широкую рекламную кампанию программного продукта;
- создание торговой сети для реализации программного продукта (так называемые дилерские и дистрибьютерные центры);
- обеспечение сопровождения и гарантийного обслуживания пользователей программного продукта, создание горячей линии (оперативный ответ на возникающие в процессе эксплуатации программных продуктов вопросы);
- обучение пользователей программного продукта.
Спецификой программных продуктов (в отличие от большинства промышленных изделий) является также и то, что их эксплуатация должна выполняться на правовой основе — лицензионные соглашения между разработчиком и пользователями с соблюдением авторских прав разработчиков программных продуктов.
Жизненный цикл программного продукта
Программы любого вида характеризуются жизненным циклом, состоящим из отдельных этапов:
- маркетинг рынка программных средств, спецификация требований к программному продукту;
- проектирование структуры программного продукта;
- программирование (создание программного кода), тестирование, автономная и комплексная отладка программ;
- документирование программного продукта, подготовка эксплуатационной и технологической документации;
- выход на рынок программных средств, распространение программного продукта;
- эксплуатация программного продукта пользователями;
- сопровождение программного продукта;
- снятие программного продукта с продажи, отказ от сопровождения.
Маркетинг и спецификация программного продукта предназначены для изучения требований к создаваемому программному продукту, а именно:
- определение состава и назначения функций обработки данных программного продукта;
- установление требований пользователя к характеру взаимодействия с программным продуктом, типу пользовательского интерфейса (система меню, использование манипулятора мышь, типы подсказок, виды экранных документов и т.п.);
- требования к комплексу технических и программных средств для эксплуатации программного продукта и т.д.
На данном этапе необходимо выполнить формализованную постановку задачи. Если программный продукт создается не под заказ и предполагается выход на рынок программных средств, маркетинг выполняется в полном объеме: изучаются программные продукты-конкуренты и аналоги, обобщаются требования пользователей к программному продукту, устанавливается потенциальная емкость рынка сбыта, дается прогноз цены и объема продаж. Кроме того, важно оценить необходимые для разработки программного продукта материальные, трудовые и финансовые ресурсы, ориентировочные длительности основных этапов жизненного цикла программного продукта.
Если программный продукт создается как заказное программное изделие для определенного заказчика, на данном этапе также важно правильно сформулировать и документировать задание на его разработку. Ошибочно понятое требование к программному продукту может привести к нежелательным результатам в процессе его эксплуатации.
Проектирование структуры программного продукта связано с алгоритмизацией процесса обработки данных, детализацией функций обработки, разработкой структуры программного продукта (архитектуры программных модулей), структуры информационной базы (базы данных) задачи, выбором методов и средств создания программ — технологии программирования.
Программирование, тестирование и отладкапрограмм являются технической реализацией проектных решений и выполняются с помощью выбранного инструментария разработчика (алгоритмические языки и системы программирования, инструментальные среды разработчиков и т.п.).
Для больших и сложных программных комплексов, имеющих развитую модульную структуру построения, отдельные работы данного этапа могут выполняться параллельно, обеспечивая сокращение общего времени разработки программного продукта. Важная роль принадлежит используемым при этом инструментальным средствам программирования и отладки программ, поскольку они влияют на трудоемкость выполнения работ, их стоимость, качество создаваемых программ.
Документирование программного продукта является обязательным видом работ, выполняемых, как правило, не самим разработчиком, а лицом, связанным с распространением и внедрением программного продукта. Документация должна содержать необходимые сведения по установке и обеспечению надежной работы программного продукта, поддерживать пользователей при выполнении функций обработки, определять порядок комплексирования программного продукта с другими программами. Успех распространения и эксплуатации программного продукта в значительной степени зависит от качества его документации.
Выход программного продукта на рынок программных средств связан с организацией продаж массовому пользователю. Этот этап должен по возможности быть коротким, для продвижения программных продуктов применяются стандартные приемы маркетинга: реклама, увеличение числа каналов реализации, создание дилерской и дистрибьютерной сети, ценовая политика — продажа со скидками, сервисное обслуживание и др.
Эксплуатация программного продукта идет параллельно с его сопровождением, при этом эксплуатация программ может начинаться и в случае отсутствия сопровождения или продолжаться в случае завершения сопровождения еще какое-то время. После снятия программного продукта с продажи определенное время также может выполняться его сопровождение. В процессе эксплуатации программного продукта производится устранение обнаруженных ошибок.
Снятие программного продукта с продажи и отказ от сопровождения происходят, как правило, в случае изменения технической политики фирмы-разработчика, неэффективности работы программного продукта, наличия в нем неустранимых ошибок, отсутствия спроса.
Длительность жизненного цикла для различных программных продуктов неодинакова. Для большинства современных программных продуктов длительность жизненного цикла измеряется в годах (2-3 года). Хотя достаточно часто встречаются на компьютерах и давно снятые с производства программные продукты.
Особенность разработки программного продукта заключается в том, что на начальных этапах принимаются решения, реализуемые на последующих этапах. Допущенные ошибки, например, при спецификации требований к программному продукту, приводят к огромным потерям на последующих этапах разработки или эксплуатации программного продукта и даже к неуспеху всего проекта. Так, при необходимости внесения изменений в спецификацию программного продукта следует повторить в полном объеме все последующие этапы проектирования и создания программного продукта.
Свойства программ: Выполнимость — возможность выполнения программы на данном типе компьютеров. Мобильность — возможность переноса программы на другой тип компьютеров. Правильность программы — правильность результатов, получаемых с помощью данной программы. Эффективность — минимум времени выполнения, минимум машинной памяти и других ресурсов компьютера.
Слайд 43 из презентации «Алгоритмизация и языки программирования».
Размер архива с презентацией 335 КБ.
Программирование
краткое содержание других презентаций
«Переменная» — Оператор присваивания. Имя переменной. Таблица стандартных функций. Арифметические выражения. Объекты, связанные с переменной. Арифметические операции. Правила записи арифметических выражений. Работа оператора присваивания. Значение. Тип переменной. Значения переменной. Описание переменной. Внутреннее представление переменных. Определение. Стандартные функции.
«Тестирование ПО» — Характеристики хорошего теста. Регрессионное тестирование. Приемочное тестирование. Недостатки восходящего тестирования. Обнаруживаемые ошибки. Классы эквивалентности. Системное тестирование. Программа. Функциональное тестирование. Павловская Т.А.. Виды и методы тестирования. Модульное тестирование. Недостатки нисходящего тестирования. Цифра. Типы дефектов. Исправление дефекта. Граничные значения класса.
«Разработка программных средств» — Разработка программных средств. Проектирование ПО. Программная инженерия. Требования – это жизнь проекта. Системный подход. Информационная модель процесса. Фундаментальная идея. Информационные потоки синтеза ПС. Потребность пользователя. Методы проектирования ПО. Система. Разработка ПО. Особенности проектирования. Отличие сложного ПО от программы. Технологический цикл разработки ПС. Частое изменение требований и спецификаций.
«Объектно-ориентированный подход к моделированию» — Программные продукты. Изученные вопросы. Диаграммы. Понятие объектного подхода. Свойства объекта. Объект. Различие между классом и объектом. Полиморфизм. Вопросы. Универсальный язык моделирования. Другие принципы ООП. Наследование. Инкапсуляция. Интерфейсная часть. Принципы ООП. Унифицированный язык моделирования. Объектно-ориентированный подход к моделированию систем. Понятие объектно-ориентированного подхода.
«Отношения между классами» — Операции класса. Правила именования классов. Правила именования операций. Роли объектов при взаимодействии. Спецификация объектов. Взаимодействие объектов. Спецификация для реализации и использования операции. Атрибуты класса. Спецификация операций класса. Initial value – начальное значение атрибута. Спецификация интерфейса операции. Спецификация отношений между классами. Спецификация класса. Persistence – определяет время существования объектов класса.
«Технология разработки ПО» — Базовые дисциплины диспетчеризации. Измерение времени. Функции ОС. Математический аппарат. Преимущества. Спецификации худшего времени выполнения. Технология разработки программного обеспечения. Классификация способов разработки программного обеспечения. ОСРВ как технология. Спиралеобразная модель разработки полного цикла. Механизм реализации. Стандарт. Иерархия методов разработки ПО. Диспетчеризация.
Всего в разделе
«Программирование»
19 презентаций
Все программы по характеру использования и категориям пользователей можно разделить на два класса:
– утилитарные программы(«программы для себя») предназначены для удовлетворения нужд их разработчиков. Чаще всего утилитарные программы выполняют роль сервиса в технологии обработки данных либо являются программами решения функциональных задач, не предназначенных для широкого распространения;
– программные продукты(«изделия») предназначены для удовлетворения потребностей пользователей, широкого распространения и продажи.
В настоящее время существуют и другие варианты легального распространения программных продуктов, которые появились с использованием глобальных или региональных телекоммуникаций:
– freeware – бесплатные программы, свободно распространяемые, поддерживаются самим пользователем, который правомочен вносить в них необходимые изменения;
– shareware – некоммерческие (условно-бесплатные) программы, которые могут использоваться, как правило, бесплатно (при условии регулярного использования подобных продуктов осуществляется взнос определенной суммы).
Ряд производителей использует OEM-программы (Original Equipment Manufacturer), т.е. встроенные программы, устанавливаемые на компьютеры или поставляемые вместе с вычислительной техникой.
Программный продукт должен быть соответствующим образом подготовлен к эксплуатации, иметь необходимую техническую документацию, предоставлять сервис и гарантию надежной работы программы, иметь товарный знак изготовителя, а также желательно наличие кода государственной регистрации. Только при таких условиях созданный программный комплекс может быть назван программным продуктом.
Программный продукт– комплекс взаимосвязанных программ для решения определенной проблемы (задачи) массового спроса, подготовленный к реализации как любой вид промышленной продукции.
Путь от «программ для себя» до программных продуктов достаточно долгий, он связан с изменениями технической и программной среды разработки и эксплуатации программ, с появлением и развитием самостоятельной отрасли – информационного бизнеса, для которой характерны разделение труда фирм – разработчиков программ, их дальнейшая специализация, формирование рынка программных средств и информационных услуг.
Программные продукты могут создаваться как:
– индивидуальная разработка под заказ;
– разработка для массового распространения среди пользователей.
При индивидуальной разработке фирма-разработчик создает оригинальный программный продукт, учитывающий специфику обработки данных для конкретного заказчика.
При разработке для массового распространения фирма-разработчик, с одной стороны, должна обеспечить универсальность выполняемых функций обработки данных, с другой стороны, гибкость и настраиваемость программного продукта на условия конкретного применения. Отличительной особенностью программных продуктов должна быть их системность – функциональная полнота и законченность реализуемых функций обработки, которые применяются в совокупности.
Программный продукт разрабатывается на основе промышленной технологии выполнения проектных работ с применением современных инструментальных средств программирования. Специфика заключается в уникальности процесса разработки алгоритмов и программ, зависящего от характера обработки информации и используемых инструментальных средств. На создание программных продуктов затрачиваются значительные ресурсы – трудовые, материальные, финансовые; требуется высокая квалификация разработчиков.
Как правило, программные продукты требуют сопровождения, которое осуществляется специализированными фирмами – распространителями программ (дистрибьюторами), реже – фирмами-разработчиками. Сопровождение программ массового применения сопряжено с большими трудозатратами – исправление обнаруженных ошибок, создание новых версий программ и т.п.
Сопровождение программного продукта– поддержка работоспособности программного продукта, переход на его новые версии, внесение изменений, исправление обнаруженных ошибок и т.п.
Программные продукты в отличие от традиционных программных изделий не имеют строго регламентированного набора качественных характеристик, задаваемых при создании программ, либо эти характеристики невозможно заранее точно указать или оценить, т.к. одни и те же функции обработки, обеспечиваемые программным средством, могут иметь различную глубину проработки. Даже время и затраты на разработку программных продуктов не могут быть определены с большой степенью точности заранее.
Основные характеристики программ:
– алгоритмическая сложность (логика алгоритмов обработки информации);
– состав и глубина проработки реализованных функций обработки;
– полнота и системность функций обработки;
– объем файлов программ;
– требования к операционной системе и техническим средствам обработки со стороны программного средства;
– объем дисковой памяти;
– размер оперативной памяти для запуска программ;
– тип процессора;
– версия операционной системы;
– наличие вычислительной сети и др.
Программные продукты имеют многообразие показателей качества, которые отражают следующие аспекты:
– насколько хорошо (просто, надежно, эффективно) можно использовать программный продукт;
– насколько легко эксплуатировать программный продукт;
– можно ли использовать программный продукт при изменении условия его применения и др.
Дерево характеристик качества программных продуктов представлено на рисунке.
Мобильность программных продуктов означает их независимость от технического комплекса системы обработки данных, операционной среды, сетевой технологии обработки данных, специфики предметной области и т.п. Мобильный (многоплатформный) программный продукт может быть установлен на различных моделях компьютеров и операционных систем, без ограничений на его эксплуатацию в условиях вычислительной сети. Функции обработки такого программного продукта пригодны для массового использования без каких-либо изменений.
Надежность работы программного продукта определяется бессбойностью и устойчивостью в работе программ, точностью выполнения предписанных функций обработки, возможностью диагностики возникающих в процессе работы программ ошибок.
Эффективность программного продукта оценивается как с позиций прямого его назначения — требований пользователя, так и с точки зрения расхода вычислительных ресурсов, необходимых для его эксплуатации.
Учет человеческого фактораозначает обеспечение дружественного интерфейса для работы конечного пользователя, наличие контекстно-зависимой подсказки или обучающей системы в составе программного средства, хорошей документации для освоения и использования заложенных в программном средстве функциональных возможностей, анализ и диагностику возникших ошибок и др.
Модифицируемость программных продуктов означает способность к внесению изменений, например расширение функций обработки, переход на другую техническую базу обработки и т.п.
Коммуникативность программных продуктов основана на максимально возможной их интеграции с другими программами, обеспечении обмена данными в общих форматах представления (экспорт/импорт баз данных, внедрение или связывание объектов обработки и др.).
Тема 2. Основные понятия алгоритмизации. (4 часа)
Содержание учебного материала:
Сущность алгоритмизации. Понятия алгоритм, исполнитель алгоритма. Пять важных свойств алгоритмов. Величины в алгоритмах. Базовые структуры алгоритмов: линейный алгоритм, разветвленный алгоритм, циклический алгоритм. Формы представления алгоритма: словесная, блок-схема, псевдокод, программная. Схемы алгоритмов, программ, данных и систем. Представление основных управляющих структур программирования. Теорема структуры и структурное программирование. Термин задача. Классификация задач: технологические, функциональные. Решение задачи. Постановка задачи. Понятие вычислителя. Построение модели. Разработка алгоритма. Исполнение алгоритма.
Date: 2016-07-18; view: 284; Нарушение авторских прав