Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: Что делает программу высококачественной  (Прочитано 3678 раз)
0 Пользователей и 1 Гость смотрят эту тему.
McZim
Команда клуба

ru
Offline Offline
Пол: Мужской
Я странный


WWW
« : 19-05-2008 13:13 » 

Шломи Фиш (Shlomi Fish) проанализировал факторы определяющие высокое качество программного обеспечения:

    * Программа должна часто обновляться и быть всегда доступна для скачивания или покупки.
    * Должно быть легко узнать номер версии. Лучше если номер версии можно узнать без установки и запуска из пути для скачивания и из имени архива или из имени папки установки.
    * Код программы должен быть открытым, лучше если лицензия позволяет свободное использование кода.
    * Программа не должна требовать существенной настройки или дополнительного обучения (изменения привычек).
    * Программа должна иметь качественную веб-страницу, где легко найти всю необходимую информацию.
    * Программа не должна быть сложной в компиляции и запуске, не должна использовать особенности компиляторов и должна иметь немного зависимостей.
    * Должны быть легко доступны готовые собранные пакеты или должно быть легко их собрать.
    * Программа должна быть хорошо документирована.
    * Программа должна быть переносимой (работать на как можно большем количестве распространенных платформ).
    * Высококачественная программа должна быть безопасна - это означает что должно быть немного проблем с безопасностью и баги должны исправляться быстро.
    * При выходе новых версий должна сохраняться совместимость со старыми.
    * Высококачественная программа имеет хорошие пути поддержки пользователей - почтовые рассылки, IRC, техподдержку по email, форумы, wiki.
    * Программа должна быть быстрой и не должна потреблять много ресурсов.
    * И конечно-же высококачественная программа должна быть эстетичной и не перегружать пользователя излишней информацией.

Как сделать программу высококачественной?

    * Код программы должен быть модульным и хорошо написанным.
    * В разработке должны использоваться автоматические тесты, лучше если тест пишется до начала написания тестируемого кода.
    * Нужно иметь хороший контакт с сообществом пользователей, которые будут тестировать бета-версии и предлагать улучшения.
    * Релизы должны быть частыми.
    * Управление проектом должно быть объективным и дальновидным.
    * Слишком навязчивая реклама вредна, и совершенно недопустима неправдивая реклама.
    * И последнее: хорошее название программы важно.

Оригинальная ссылка: http://www.shlomifish.org/philosophy/computers/high-quality-software/

З.Ы,:

1. не согласен с тем что код должен быть открытым, я вообще за open source, НО, есть некоторые проекты, которые просто обязаны быть коммерческими, а тут получается если код не открыт, то он не может быть высококачественным.
2. дальновидности от проекта, тоже достичь практически не реально.
3. частые релизы ИМХО, могут легко запутать пользователей.
Записан

The CBO without stats is like a morning without coffee. (c) T.Kyte.
Вад
Команда клуба

ru
Offline Offline
Пол: Мужской

« Ответ #1 : 19-05-2008 13:23 » 

Ни слова о том, что высококачественная программа должна нравиться пользователям и делать то, что им нужно Улыбаюсь) Бета-тестирование - это ерунда, уже после того, как программа написана. Где маркетинг? Улыбаюсь
Записан
McZim
Команда клуба

ru
Offline Offline
Пол: Мужской
Я странный


WWW
« Ответ #2 : 19-05-2008 13:31 » 

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

The CBO without stats is like a morning without coffee. (c) T.Kyte.
Вад
Команда клуба

ru
Offline Offline
Пол: Мужской

« Ответ #3 : 19-05-2008 13:58 » 

Если на этапе бета-тестирования окажется, что продукт нужно переделать, то затраты на перепроектирование и перепрограммирование могут быть очень существенны. Даже если это в альфа-версии случится. И чем крупнее проект, тем хуже. Итеративный процесс хорош для маленьких вещей, для солидных он не подходит - слишком велика одна итерация.
А инструменты для тестирования пишет кто, целевая аудитория? Улыбаюсь Надёжность и безглючность - это хорошо, но это совсем не обязательно означает высокое качество.
Записан
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines