Откройте актуальную версию документа прямо сейчас
Если вы являетесь пользователем интернет-версии системы ГАРАНТ, вы можете открыть этот документ прямо сейчас или запросить по Горячей линии в системе.
Приложение А
(справочное)
Категоризация и применение программного обеспечения
А.1 Категоризация программного обеспечения
А.1.1 Категории программного обеспечения
Категории программного обеспечения включают результаты разработки программного обеспечения и данные, созданные в процессе разработки программного обеспечения. Характеристики и условия применения программного обеспечения являются факторами, влияющими на надежность при разработке и изготовлении программного обеспечения. Схема категоризации представляет собой упорядоченную комбинацию представлений и категорий, связанных с программным обеспечением [40].
Категория представляет собой группировку программного обеспечения на основе его свойств и характеристик. Для облегчения разработки и применения программного обеспечения упор делают на его надежность. Типичные примеры группировки программного обеспечения описаны ниже.
А.1.2 Характеристики
- Режим работы: категории, определяемые установленным методом или типом обработки данных, принятым системой программного обеспечения (обработка в режиме реального времени, пакетная обработка, обработка с разделением по времени, параллельная и согласованная обработка). Система, работающая в режиме реального времени, должна быть сфокусирована на времени отклика. Программное обеспечение с разделением времени должно быть сфокусировано на спецификациях интерфейса.
- Масштаб программного обеспечения: категории, определяемые объемом (например, KSLOC) или сложностью (например, потоком данных) программного обеспечения и интерпретируемые как небольшое, среднее или большое программное обеспечение; программное обеспечение простое или сложное программное обеспечение. Сложное или большое программное обеспечение должно быть разделено на более мелкие части, чтобы облегчить управление проектом, поэтапное тестирование и интеграцию.
- Стабильность: категории, определяемые внутренним эволюционным аспектом или стабильностью с точки зрения характеристик системы программного обеспечения, таких как постоянно меняющиеся, постепенно увеличивающиеся или маловероятные изменения. В случае постоянных или постепенно увеличивающихся изменений программного обеспечения необходимы спецификации интерфейса, которые обеспечивают гибкость и стабильность после каждого изменения. Часто используют специальные модели разработки, такие как спиральная модель и модель водопада.
- Функция программного обеспечения: категории, определяемые типом функции, таким как компилятор, обработка бизнес-транзакций, обработка текстов, система управления. Для бизнес-транзакций должны быть обеспечены безопасность и доступность. Системы управления должны быть сосредоточены на доступности, безопасности и защищенности.
- Безопасность: категории, определяемые уровнем защиты от несанкционированного доступа, наличием контрольного журнала, защитой программ и данных. Акцент должен быть сделан на устойчивость (робастность) и готовность.
- Безотказность: категории, определяемые уровнем требуемой безотказности, таким как зрелость, устойчивость к неисправностям и восстанавливаемость. Акцент должен быть сделан на повышении безотказности и управлении конфигурациями для обеспечения безотказности.
- Работа: категории, определяемые работой программного обеспечения с точки зрения мощности, пропускной способности и времени отклика. Акцент должен быть сделан на время отклика, которое зависит от нагрузки и мощности.
- Язык: категории, определяемые типом языка программирования, в основном использованном в программном обеспечении, таком как традиционный (например, COBOL, FORTRAN), процедурный (например, С), функциональный (например, Lisp), объектно-ориентированный (например, С++). Особое внимание следует уделять обучению программистов и знакомству пользователей с особенностями и ограничениями языка программирования.
А.1.3 Условия окружающей среды
- Область применения: категории, определяемые типом или классом внешней системы, в которой используют программное обеспечение, например, электронный бизнес, управление процессами и сетевая система. Безопасность и целостность данных являются основными факторами, влияющими на электронный бизнес. Безопасность и безотказность - важные проблемы в управлении процессом. Время отклика и готовность имеют решающее значение для работы сетевых систем.
- Компьютерная система: категории, определяемые конкретной целью компьютерной системы, в которой работает программное обеспечение, например, управляемая микропроцессором система, мэйнфрейм (центральный блок обработки данных) и операционная система в режиме реального времени. Ограничения объема памяти и программного кода важны для микропроцессорных систем. Следует учитывать совместимость программного обеспечения в конфигурации аппаратного обеспечения мэйнфрейм и времени отклика для работы в режиме реального времени.
- Класс пользователя: категории, определяемые уровнем квалификации или характеристиками предполагаемого класса пользователя, такого как новичок, средний или эксперт. Идентификация класса пользователей имеет важное значение при проектировании интерфейса и разработке инструкций пользователя для облегчения применения.
- Компьютерный ресурс: категории, определяемые ограничениями компьютерного ресурса, такими как требования к памяти, требования к диску и требования к локальной сети. Ограничения компьютерного ресурса влияют на развитие потребностей в сопровождении программного обеспечения, а также возможностей его применения.
- Критичность программного обеспечения: категории, определяемые требованиями к уровню целостности продукта, такими как требования национальной безопасности, безопасности организации и конфиденциальности. Нормативные требования и социальные потребности должны быть приняты во внимание.
- Доступность программного продукта: категории, определяемые доступностью программного продукта, такие как коммерческое приобретение (COTS), пользовательское или фирменное программное обеспечение. Сроки приобретения и доступность программного продукта определяют решение о собственном проектировании или аутсорсинге в управлении проектом.
А.1.4 Данные
- Представление данных: категории, определяемые объектом данных, их типом и структурой, такими как реляционный, индексированный, отформатированный файл. Должна быть учтена совместимость данных.
- Использование данных программного обеспечения: категории, определяемые типом использования предполагаемых данных программного обеспечения, таким как единственный пользователь, несколько последовательных пользователей. Использование данных может повлиять на проект файла данных и критерии поддержки при обслуживании данных.
А.2 Применения программного обеспечения
Программное обеспечение используют для различных применений. Обычно применения программного обеспечения могут быть сгруппированы следующим образом.
- Программное обеспечение системы: программное обеспечение, обеспечивающее инфраструктуру для управления аппаратным обеспечением компьютера, чтобы применение программного обеспечения могло быть выполнено. Примерами являются операционные системы, такие как системы Microsoft Windows, Mac OS и Linux.
- Прикладное программное обеспечение: компьютерное программное обеспечение, предназначенное для облегчения пользователю выполнения определенных задач, таких как обработка текста, работа с электронными таблицами и использование баз данных.
- Встроенное программное обеспечение: программное обеспечение, хранящееся в программируемых устройствах памяти продуктов конечного пользователя для внутреннего контроля различных электронных устройств, таких как пульты дистанционного управления, калькуляторы, мобильные телефоны и цифровые камеры.
- Промежуточное программное обеспечение: компьютерное программное обеспечение, которое соединяет элементы программного обеспечения для большого количества приложений или предоставления таких услуг, как многопроцессорная обработка в распределенных системах и веб-службах.
- Тестовое программное обеспечение: подмножество программного обеспечения, специально предназначенное для тестирования программного обеспечения и автоматизации тестирования.
- Программное обеспечение для программирования: инструмент разработки программного обеспечения, который помогает разработчикам программного обеспечения создавать, отлаживать, поддерживать и сопровождать другие программы и приложения. Примеры включают инструменты CASE.
- Вредоносное программное обеспечение: программное обеспечение, предназначенное для проникновения в компьютер без согласия владельца.
Если вы являетесь пользователем интернет-версии системы ГАРАНТ, вы можете открыть этот документ прямо сейчас или запросить по Горячей линии в системе.