Лекции.Орг


Поиск:




Категории:

Астрономия
Биология
География
Другие языки
Интернет
Информатика
История
Культура
Литература
Логика
Математика
Медицина
Механика
Охрана труда
Педагогика
Политика
Право
Психология
Религия
Риторика
Социология
Спорт
Строительство
Технология
Транспорт
Физика
Философия
Финансы
Химия
Экология
Экономика
Электроника

 

 

 

 


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




Если идет речь о характеристиках, свойствах и качествах ПО, всегда необходимо уточнять, какого рода и с какой точки зрения рассматриваются характеристики программ. Пользовательская и "девелоперская" точки зрения на наиболее важные характеристики программ различаются.

С точки зрения пользователя наиболее важны следующие качества программ:

- Работоспособность, полезность: программа должна прежде всего работать и выполнять то, что от нее требуется;

- Дружественный к пользователю интерфейс (преимущественно – Web-интерфейс): программой должно быть удобно пользоваться, причем, наиболее желательно, - с минимальной нагрузкой на пользовательскую компьютерную систему и минимальными требованиями к пользователю по ресурсам; с данной последней точки зрения как раз и удобны облачные вычисления;

- Надежность, безопасность, защита конфиденциальных данных (соблюдение принципов Trustworthy Computing - TWC): программа должна надежно и стабильно работать и обеспечивать защиту от возможных внешних угроз и атак, как на саму программу, так и на используемые, создаваемые и обрабатываемые ею данные.

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

  • Повторная используемость модулей (reusability); компонентно-ориентированное программирование (component-oriented programming): не следует программировать однотипный код (например, поиск по списку) повторно, вместо этого следует использовать на каждом этапе разработки уже готовый и проверенный код. в виде программных компонент (модулей), предпочтительнее – из стандартных (встроенных в платформу) библиотек. Кстати, это один из принципов trustworthy computing: используйте проверенный готовый код, так как дублирование похожего кода может ухудшить надежность и безопасность программы;
  • Модульность (modularity) – разработка программы в виде взаимосвязанной совокупности относительно независимых программных компонент – модулей, каждый из которых решает свою четко определенную задачу и которые могут быть представлены в виде классов и их методов, процедур и функций, макросов, аспектов, сопрограмм и др.
  • Эффективность (efficiency) – оптимальность программы, согласно тому или иному критерию (например, минимальность времени выполнения; минимальность объема используемой памяти). При оценке эффективности программы необходимо четко сформулировать критерий; всем критериям одновременно удовлетворить невозможно. Говорить об абстрактно понимаемой "эффективности вообще" не имеет смысла. Природа и поведение программ диалектичны. Например, если программа оптимальна по времени, то для этого оказывается необходимым использование дополнительной памяти (например, индексной таблицы для ускорения поиска) и т.д.
  • Переносимость (portability) – возможность переноса программы без изменения ее кода на другую платформу и ее последующего использования на другой платформе без каких-либо ее изменений. Переносимости программ могут помешать неявно используемых в них предположения о свойствах целевой платформы, например, различная разрядность чисел на различных процессорах. С этой точки зрения, наиболее предпочтительна Java-технология, предоставляющая единый высокоуровневый язык Java и единую виртуальную среду выполнения и реализованная на всех наиболее распространенных платформах (Windows / x86 / x64; Linux; MacOS и др.).
  • Познаваемость (читаемость - readability); легкость сопровождения (maintainability; sustainability) – ясность, понятность, самодокументируемость кода программы, использование единых стандартов его оформления, которые способствуют последующему изучению и изменению кода (как правило, другими программистами), с целью исправления ошибок в программе или расширения ее функциональности. К сожалению, не всегда программисты или даже фирмы-разработчики следуют этому принципу, в результате чего затраты на сопровождение оказываются недопустимо высокими.
  • Применение принципов TWC (trustworthy computing) и SDLC (Security Development Life Cycle) при проектировании и реализации. Об этом уже говорилось. Необходимо учитывать требования безопасности и надежности, начиная с самых ранних этапов цикла разработки программы и на всех этапах ее разработки, иначе серьезные проблемы безопасности возникнут при эксплуатации и сопровождении программы, что в конечном счете может вообще привести к невозможности дальнейшего использования программы

 





Поделиться с друзьями:


Дата добавления: 2016-03-27; Мы поможем в написании ваших работ!; просмотров: 710 | Нарушение авторских прав


Поиск на сайте:

Лучшие изречения:

Своим успехом я обязана тому, что никогда не оправдывалась и не принимала оправданий от других. © Флоренс Найтингейл
==> читать все изречения...

2920 - | 2671 -


© 2015-2025 lektsii.org - Контакты - Последнее добавление

Ген: 0.007 с.