Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Проф. практика програмної інженерії Лекції.docx
Скачиваний:
4
Добавлен:
05.12.2018
Размер:
142.98 Кб
Скачать

6.09.2011

Список литературы:

  1. Сидоров, Иванова Г.С. Технологии программирования

Программный информационный продукт.

Программа должна:

  • Делать то, что мне необходимо. Делать правильно, в приемлемые сроки и с приемлемой трудоемкостью.

  • Быть надежной. Программа должна быть устойчивой к нештатным ситуациям, должна иметь защиту от сбоя, от несанкционированного введения данных, данные должны быть защищены от несанкционированного удаления, просмотра, изменения. При вводе неверной информации программа должна сообщать об этом и должна быть возможность отката действий.

  • Помогать мне решать мои проблемы и, по возможности не создавать дополнительной головной боли. Программа должна решать проблемы пользователя и не создавать новых. Интерфейс программы должен быть понятен. К программе должна прилагаться полная и понятная инструкция, желательно наличие контекстной подсказки. Также желательно иметь методические рекомендации по реализации данного шага.

  • Быть достаточно гибкой и приспособляемой. Пользователь не может заранее предусмотреть все изменения, которые могут произойти, поэтому должна быть возможность настройки программы и данных. Чем чаще возникают изменения, тем более гибкой должна быть программа. Если программа будет использоваться не в одном месте, то необходима ее настройка к адаптации.

  • Цена программы вместе со всеми затратами на ее внедрение и эксплуатацию не должны превышать прибыли, которую принесет ее использование.

Критерий Тагути - Критерий оценки качества товара

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

Данный критерий, кроме того, что позволяет сформулировать требования к качеству, позволяет также:

  1. Отделить характеристики качества от других характеристик влияющих на продажу, но к качеству не имеющих прямого отношения (реклама и т.д.);

  2. Оценить полноту перечня требований;

  3. Дать общие правило измерения качества различных программ (правильно подсчитать все потери и затраты);

ДЗ: оцените полноту перечисленных выше требований к качеству программного продукта. Вопрос: все ли требования соответствуют критерию Тагути?

Обеспечение качества на разных этапах ЖЦ ПП (программный продукт)

Зарождение идеи – маркетинговое планирование – разработка технических требований – реализация ПП – перепродажа подготовка – продажа – послепродажное обслуживание.

  1. Зарождение идеи. Поиск неудовлетворенных потребностей общества (в том числе и не осознанных самим обществом). Оценка возможностей удовлетворения потребности меньшими средствами, формирование концепции нового продукта.

  2. Маркетинговое планирование. Поиск целевой аудитории. Определение того, кому нужен товар, кто готов платить и что нужно сделать, чтобы программу купило как можно больше пользователей.

  3. Разработка технических требований. Разработка требований и разработать задание на реализацию. Для этого необходимо сначала собрать и систематизировать требования потребителей.

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

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

  6. Продажа. Цель продажи предоставить продукт тому, кому он действительно нужен в готовом и удобном виде.

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

Эволюция представлений о качестве

  • Допромышленное ремесленное производство (потерянный рай). Отвечает один человек за качество, а именно сам изготовитель.

  • Промышленная революция.

  • Система Тейлора. Появление первых требований, стандартов. Тейлор разделил производство на последовательность относительно простых операций, при этом операции выделялись таким образом, что большинство из них могли выполнить не квалифицированные рабочие, а результат удобно оценивать. Организация такой системы требовала серьезное подготовки производства, пересмотра применяемых технологий и изменение характера отношений между работодателем и наемными рабочими. Документирование применяемых процедур и введение производственных стандартов.

  • Система Шухарта (Главное не наказать, а найти причину). Во всех предыдущих подходах считалось, что качество зависит от рабочих. Однако стало очевидно, что качество и стабильность продукта зависит от управляемости процессом производства. Шухарт выделил следующие причины приводящие к отклонению процесса от заданного:

    • Общие причины (неуправляемые, случайные природные причины) – внутренние присущие процессу факторы.

    • Особые причины. Несоответствие выполняемых операций технологическим инструкциям, отклонение качества сырья, сбои в управлении и т.д. Как правило общие причины вызывают хаотические отклонения, а особые носят регулярный характер.

Согласно этой концепции производство продукции рассматривается как процесс со случайными и не случайными колебаниями.

Статистическое управление качеством – это деятельность по управлению процессом, при котором акцент делается на уменьшение вариаций случайных отклонений характеристик процесса от намеченной цели.

Стратегия управления это исключение особых причин вариации и уменьшение общих.

Инструменты управления – это контрольные карты, статистический инженерный анализ, диаграммы Парето и Исикавы.

Критерий качества процесса – статистическая устойчивость процесса производства.

  • Идеи Деминга (Новая философия качества). Деминг предложил системно взглянуть на совокупность причин несоответствия. Процедуру управления Деминг представил в виде замкнутой последовательности четырех действий (цикл Деминга):

    • Планируй

    • Выполняй

    • Проверяй (наблюдение, проверка результатов и испытание

    • Корректируй (изучение результата что мы можем предсказать)

Новую философию качества Деминг сформировал в виде 14 принципов.

14 Принципов качества Деминга:

  1. Обеспечить постоянство цели. Постоянное улучшение продукции.

  2. Принять новую философию.

  3. Покончить с зависимостью от массового контроля в достижении качества.

  4. Покончить с практикой закупок по самой дешевой цене.

  5. Совершенствовать каждый процесс для улучшения качества, повышение производительности и уменьшение затрат.

  6. Ввести практику подготовки и переподготовки кадров.

  7. Ввести такой стиль руководства, который помогает сотрудникам лучше делать свою работу.

  8. Изгнать страхи из предприятия.

  9. Разрушить барьеры между подразделениями.

  10. Отказаться от пустых лозунгов.

  11. Устранить произвольно установленные задания и количественные нормы.

  12. Дать возможность работникам гордится своим трудом.

  13. Поощрять стремление к совершенствованию и образованию.

  14. Необходима приверженность к делу повышения качества и действенность высшего руководства.

Предлагаемые Демингом принципы относятся к целям разного уровня. Некоторые из них достаточно противоречивы и не разделяются другими специалистами.

Основные понятия и определения

Технология программирования – это совокупность методов и средств применяемых в процессе разработки программного обеспечения.

Программа – упорядоченная последовательность команд (инструкций) компьютера для решения задач.

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

Задача – проблема подлежащая решению.

Приложение – программная реализация на компьютере решения задачи.

Процесс создания программы можно представить как последовательность действий:

  1. Постановка задачи – это точная формулировка решения задачи на компьютере с описанием входной и выходной информацией.

  2. Алгоритмизация решения задачи. Алгоритм - система точно сформулированных правил определяющая процесс преобразования допустимых исходных данных в желаемый результат за конечное число шагов.

  3. Программирование – теоритическая и практическая деятельность, связанная с созданием программ.

По отношению к ПО компьютерные пользователи делятся:

  • Системные программисты – разработка и эксплуатация, сопровождение.

  • Прикладные программисты

  • Конечные пользователи

  • Администраторы сети – обеспечивают работу сети.

  • Администраторы баз данных

Сопровождение программы – это поддержка работоспособности программы, переход на ее новые версии, внесение изменений, исправление ошибок и т.д.

Основные характеристики программ:

  • Алгоритмическая сложность

  • Состав функций обработки информации

  • Объем файлов, используемых программой

  • Требования к ОС и техническим средствам обработки, в том числе объем дисковой памяти, размер оперативной памяти для запуска программы, тип процессора, версия ОС, наличие вычислительной сети и т.д.

Показатели качества программ:

  • Мобильность (многоплатформенность). Независимость от технического комплекса системы обработки данных ОС, сетевых возможностей, а также специфика предметной области задач.

  • Надежность. Устойчивость, точность выполнения предписанных функций обработки, возможность диагностики возникающих ошибок в работе программы.

  • Эффективность. Как с точки зрения пользователя, так и расхода вычислительных ресурсов.

  • Учет человеческого фактора. Дружественный интерфейс, хорошая документация, контекстная подсказка.

  • Модифицируемость. Способность к внесению изменений.

  • Коммуникативность. Максимально возможная интеграция с другими программами. Обеспечения обмена данными между программами.

Все программы по характеру использования делятся на два класса:

  1. Утилитарные программы – предназначенные для удовлетворения нужд их разработчиков.

  2. Программные продукты – используются для широкого круга пользователей, для продажи и широкого распространения.

Варианты распространения программных продуктов:

  • Свободно распространяемые, поддерживаемые самим пользователем.

  • Условно свободные.

Классификация ПО:

  • Системное ПО – совокупность программ и программных комплексов для обеспечения работы компьютера и вычислительных сетей. Системное ПО направлено на:

  1. Создание среды функционирования других программ

  2. Обеспечение надежной и эффективной работы самого компьютера

  3. Проведение диагностики и профилактики аппаратуры

  4. Выполнение вспомогательных технологических процессов

  • Прикладное ПО служит программным инструментарием решения функциональных задач и является самым многочисленным классом ПО. В данный класс входят программные продукты выполняющие обработку информации различных предметных областей.

  • Инструментарий технологий программирования. Обеспечивает процесс разработки программ, включает специализированное ПО, которое является инструментарием средств разработки. ПО данного класса поддерживает все технологические этапы процессов (проектирование, программирование, отладки, тестирование).