Автор работы: Пользователь скрыл имя, 10 Ноября 2013 в 18:54, реферат
В результате разработку ПО стали рассматривать как определенный вид человеческой деятельности, к которому применимы инженерные методы выполнения и организации работ, методы менеджмента и управления, экономические методы оценки эффективности и стоимости работ. В последние годы наблюдается повышенный интерес к вопросам формализации методов анализа и спецификации требований к программному обеспечению. Необходимость этого обусловлена ростом требований к качеству программного обеспечения, изменениями в методологии его проектирования и разработки, в современной организации проектных работ.
Тип ПО может быть следующим:
Вновь разрабатываемое. Такое
ПО вступает в процесс Разработки
с самого начала и для него должны
быть рассмотрены все требования
этого процесса.
Имеется в готовом виде.
Готовое ПО может использоваться
одним из следующих способов.
Использование ПО точно в том виде как
оно есть. Такое ПО уже спроектировано,
закодированное и тестируемое. Дополнительное
тестирование может потребоваться с учетом
таких факторов как критичность и история
использования. Это ПО входит в процесс
Разработки не позднее квалификационного
тестирования. Полный процесс Разработки
может оказаться лишним. Должны быть оценены
работоспособность, документация, права
собственности и дальнейшей поддержки
ПО.
Использование готового ПО
без модификации, но с изменением
параметров конфигурации приложения (например,
формата даты, валюты или размера
страницы). Такое ПО входит в процесс
Разработки, когда компоненты ПО тестируются
и интегрируются после
Модификация готового ПО (например, изменение формата отчетов или доработка документации). В процесс Разработки входит на этапе кодирования и тестирования ПО. Должны быть оценены работоспособность, документация, права собственности и дальнейшей поддержки ПО.
Встроенное ПО.
ПО или программно-аппаратные
средства встраиваются в систему. Поскольку
такое ПО является частью большой
системы, все действия уровня системы
в процессе Разработки должны быть
учтены. Если программное или программно-
Автономное ПО. Поскольку такое ПО не является
частью системы, все действия уровня системы
с процесса Разработки могут быть исключены.
Необходимо рассмотреть потребности в
документации, особенно для сопровождения
системы.
Большой проект, включающий
десятки или сотни людей, представляет
значительные трудности для управления
Большой проект или проект со многими
субподрядчиками требует
Чем больше система зависит от того, правильно ли работает ПО и окончена его разработка вовремя, тем больше гласности и контроля необходимо. С другой стороны чрезмерный контроль в тех случаях, когда в нем нет необходимости, является неэффективным.
Разработка ПО может быть
соединена с техническим
5.1. Максимум удобств пользователя:
5.2. Адаптируемость ПО - приспособляемость к функционированию в различных условиях
5.3. Гибкость - возможность
легко вводить изменения,
5.4. Мобильность - переносимость на различные вычислительные платформы и операционные среды
5.5. Масштабируемость, расширяемость и модифицируемость
5.6. Эффективность работы
6.1. Модульность ПО - проведение
декомпозиции алгоритмов и
6.2. Интеллектуальность ПО - наличие знаний о предметной области и умение использовать их при решении задач.
6.3. Черный ящик - ПО должно
скрывать от пользователей
6.4. Умолчание - умолчание однажды заданных параметров, если они имеют смысл в других аналогичных задачах.
7. Критические вопросы процесса разработки программного обеспечения
Качество
Людям свойственно ошибаться. Каждая ошибка, когда она найдена, является сюрпризом, исправление которого или дорого стоит, или выбивает из ритма разработки.
Если контроль качества в организации ослаблен, требуется запланировать в самом процессе разработки ряд инспекций проектной документации и инспекций кодов, разрабатывая планы качества, систему измерений, программу тестирования, т.е. более интенсивную работу по Подтверждению качества программного обеспечения (Software Quality Assurance).
Продуктивность технологии.
Очень часто при новых разработках не ясно, как разработать алгоритм, достичь целей разработки или ограничить функциональность. Поскольку позднее "латание дырок" может быть безуспешным или трудоемким, или приводит к срывам темпов разработки, разумно в процессе предусмотреть заранее эксперименты для получения нужных сведений. Последующая разработка будет развиваться более упорядоченным и эффективным образом.
Нестабильность (изменчивость) требований.
Для того, чтобы спроектировать,
построить и оттестировать
Существуют три основных типа изменений требований.
Неизвестные требования. Пользователь думает, что он знает, чего хочет, но во время начального использования открывает для себя, что реальные потребности иные, нежели он думал. Это нормальное явление при автоматизации человеческой деятельности. С ним можно бороться или ранним прототипированием или планированием множества релизов, которые постепенно разрабатываются, используются, оцениваются и наращиваются до уровня следующего релиза.
Нестабильные требования. В то время как общие требования известны, частности продолжают "плавать". В бортовых системах, для которых hardware и software часто проектируется одновременно, изменения в hardware приводят к изменению требований к программному обеспечению. Изменение hardware, диктуемое программными изменениями, является нонсенсом, аналогичным требованиям поменять фундамент при постройке здания. Тем не менее, с данным явлением можно бороться путем предвидения нестабильностей и изоляции их.
Непонятные требования. Даже если требования известны и стабильны, разработчики часто не понимают их настолько детально, чтобы сделать удовлетворительный программный продукт. Типичным примером является пользовательский интерфейс. Здесь полезно тестирование пользователем прототипов интерфейса или ранних версий пользовательской документации.
Сложность.
Программы приложений часто легче разработать, чем системы, поскольку их платформа и окружение более стабильны. Это не означает, что разработка приложений требует меньшей квалификации. Это означает, что имеется меньше источников для одновременных изменений.
Например, во время разработки новой операционной системы все ее элементы находятся в состоянии постоянных изменений: управляющая программа, компиляторы, система управления данными и т.д., в том числе и архитектура компьютера.
Для того, чтобы достичь
хотя бы какого-то результата, требуется
обеспечить хотя бы промежуточную стабильность.
Обычно стабильность достигается путем
использования приемов
Вывод
В последние годы наблюдается
повышенный интерес к вопросам формализации
методов анализа и спецификации
требований к программному обеспечению.
Необходимость этого
Программная инженерия - это научная дисциплина, которая изучает методы, способы и технологии разработки ПО, в результате которого реализуются возможности ЭВМ по выполнению различных действий, связанных с переработкой информации.
Программная инженерия - строгое использование инженерных, научных и математических принципов, методов и инструментария для экономичного создания качественного программного обеспечения.
Программное обеспечение (ПО) - это совокупность машинных программ, соответствующей качественной документации, баз данных, а также технологических процедур по эксплуатации ПО.
Основа программной инженерии
- стандарты, методы, методологии проектирования
и управления процессом разработки
ПО, а также инструментально-
Справочная литература
Информация о работе Цели и задачи программной инженерии. Понятие программного обеспечения