Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Tekhnologii_Programmirovania_-_Otvety.doc
Скачиваний:
1
Добавлен:
01.07.2025
Размер:
3.19 Mб
Скачать
  1. Общие принципы разработки сложных программных систем. Признаки сложных программных систем.

Разработка программного обеспечения имеет ряд специфических особенностей:

- Прежде всего, следует отметить некоторое противостояние: неформальный характер требований к ПС (постановка задачи) и понятия ошибки в нем, но формализованный основной объект разработки - программы ПС. Тем самым разработка ПС содержит определенные этапы формализации, а переход от неформального к формальному существенно неформален.

- Разработка ПС носит творческий характер (на каждом шаге приходится делать какой-либо выбор, принимать какое-либо решение), а не сводится к выполнению какой-либо последовательности регламентированных действий (хотя регламент в работе больших коллективов разработчиков необходимо соблюдать). Несмотря на то что ПС относятся к промышленным программным продуктам, процесс разработки ПС ближе к процессу проектирования каких-либо сложных устройств, но никак не к их массовому производству. Этот творческий характер разработки ПС сохраняется до самого ее конца.

- Программная система представляет собой некоторую совокупность текстов (т.е. статических объектов), смысл же (семантика) этих текстов выражается процессами обработки данных и действиями пользователей, запускающих эти процессы (т.е. является динамическим). Это предопределяет выбор разработчиком ряда специфичных приемов, методов и средств.

- Программная система при своей эксплуатации не расходуется и не расходует используемых ресурсов.

Признаки сложных программных систем:

1. «Сложные системы часто являются иерархическими и состоят из взаимозависимых подсистем, которые, в свою очередь, также могут быть разделены на подсистемы, и т.д., вплоть до самого низкого уровня».

2. «Выбор, какие компоненты в данной системе считаются элементарными, относительно произволен и в большой степени оставляется на усмотрение исследователя. Низший уровень для одного наблюдателя может оказаться достаточно высоким для другого».

3. «Внутрикомпонентная связь обычно сильнее, чем связь между компонентами. Это обстоятельство позволяет отделять «высокочастотные» взаимодействия внутри компонентов от «низкочастотной» динамики взаимодействия между компонентами».

4. «Иерархические системы обычно состоят из немногих типов подсистем, по-разному скомбинированных и организованных».

5. «Любая работающая сложная система является результатом развития работавшей более простой системы... Сложная система, спроектированная «с нуля», никогда не заработает. Следует начинать с работающей простой системы».

  1. Показатели качества программных систем.

В общем случае под качеством (quality) программ понимается то, насколько они соответствуют установленным для них требованиям – спецификациям и насколько высоко установлена планка этих требований. Эти характеристики ПС влияют на ее способность удовлетворять заданные потребности пользователей.

Наиболее важные показатели качества и связанные с ними подходы к программированию:

  1. Корректность (correctness). Программа должна правильно работать. (это свойство статическое и учитывает в первую очередь структуру программы).

  2. Надежность (reliability) – это способность ПС выполнять возложенные на нее функции при поступлении требований на их выполнение( динамическое св-во).

Надежность ПО включает в себя такие составные свойства:

  • отказоустойчивость – возможность восстановления программы и данных в случае сбоев в работе;

  • безопасность – сбои в работе программы не должны приводить к опасным последствиям (авариям);

  • защищенность от случайных или преднамеренных внешних воздействий («защита от дурака», вирусов, спама т.п.).

  1. Эффективность (efficiency) – это отношение уровня услуг, предоставляемых ПС пользователю при заданных условиях, к объему используемых ресурсов (по памяти, быстродействию, оборудованию).

  2. Сопровождаемость (maintainability) и адаптируемость (adaptability) – это характеристики ПС, которые позволяют минимизировать усилия по внесению изменений при нахождении ошибок для их устранения (на этапе эксплуатации). Модификация ПО с целью адаптации для пользователя.

  3. Тестируемость (testability) и корректируемость. Тестируемость – это свойство ПО, которое говорит о приспособленности его к проведению тестирования.

  4. Отлаживаемость (debuggability) – это приспособленность ПО к локализации ошибки с целью последующего ее устранения.

  5. Переносимость (portability) – это способность ПО работать на разных машинах (в том числе и на разных платформах).

  6. Удобочитаемость (readability) и понятность программ.

  7. Удобство использования (usability). ПС должна быть легкой в использовании, причем именно теми пользователями, на которых рассчитана.

  8. Полезность (validity) – это способность ПО удовлетворять потребностям пользователя.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]