Цели и задачи программной инженерии. Понятие программного обеспечения

Автор работы: Пользователь скрыл имя, 10 Ноября 2013 в 18:54, реферат

Описание работы

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

Файлы: 1 файл

Содержание.docx

— 40.62 Кб (Скачать файл)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Содержание

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1. Цели и задачи  программной инженерии. Понятие  программного обеспечения

 

Последнее десятилетие в  области программирования характеризуется  становлением новой дисциплины - программной  инженерии (Software Engineering), что вызвано возросшими потребностями:

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

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

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

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

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

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

Верификация - это установление соответствия ПО его спецификации.

Подтверждение - установление пригодности или соответствия ПО его назначению.

Структура целей программной  инженерии

Качество ПО

Эффективность процесса разработки ПО

Человеческие факторы

Легкость использования

Планируемость

Удовлетворение потребностей пользователя

Организованность команды разработчиков

Следование модифицированному  правилу

Контролируемость хода работ

Управление ресурсами

Эффективность

Оценка затрат (стоимости проекта)

Тестируемость

Анализ эффективности

 

Контроль сроков и бюджета

Программотехника

Специфицированность

Анализ требований к ПО

Правильность

Проектирование

Адаптируемость

Программирование

модифицируемость

Тестирование и контроль

переносимость

Верификация и подтверждение

работоспособность в других системах

Внедряемость и сопровождаемость

 

Управляемость конфигурацией


2. Шесть принципов  эффективного использования программного  обеспечения

 

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

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

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

В основе успеха внедрения  ПО лежат шесть перечисленных  ниже принципов:

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

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

Программная система имеет  простую и гибкую структуру.

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

Проводятся планомерные  и постоянные улучшения производительности программной системы.

Отдел информационных технологий хорошо разбирается в бизнесе, а  бизнес-подразделения - в программных  системах и информационных технологиях.

Очень важно применять  все эти принципы одновременно: ни один из них не принесет успеха без  пяти остальных.

 

Таблица 1. Контрольный список для реализации шести принципов

Развитие  в области программного обеспечения  обуславливается потребностями  основной деятельности компании, а  не технологическими новшествами

Решения о финансировании в области программного обеспечения принимаются так  же, как и во всех остальных сферах - исходя из соображений финансовой выгоды

Программная система имеет простую и гибкую структуру

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

Непосредственно свяжите ПО с важными для бизнеса  стратегиями, основными стоимостными факторами и повседневными деловыми процессами.

Назначьте линейных руководителей ответственными за новые приложения:

Определение основных возможностей

Выбор проектов для внедрения

Руководство внедрением

Ответственность за результаты

Использование поддержки отдела информационных технологий

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

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

Подходите к решениям о новых крупных  инвестициях в ПО, как к остальным  финансовым решениям:

Свяжите инвестиции с реальными задачами совершенствования  бизнеса и производительности

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

Не используйте  в качестве единственного критерия при разработке ПО снижение стоимости:

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

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

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

Избегайте крупных единовременных затрат на аппаратно-программное  обеспечение; стремитесь к постоянному  обновлению.

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

Упрощайте систему:

Уменьшайте  число используемых технологий и  платформ.

Применяйте  для приложений модульную архитектуру.

Используйте межплатформенные решения для повышения  гибкости и простоты внедрения приложений и инфраструктуры.

Консервативно подходите к выбору технологий, исключение могут составлять только нововведения, способные принести огромные прибыли

Учитывайте  коммерческие аспекты, такие как  отраслевые стандарты и вероятность  получения в будущем технической  поддержки.

Условием  выбора новейших технологий должна быть значительная бизнес-отдача.

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

Любые разработки начинают приносить пользу бизнесу практически с момента  внедрения

Проводятся  планомерные и постоянные улучшения  производительности системы

Отдел информационных технологий хорошо разбирается  в бизнесе, а бизнес-подразделения - в информационных технологиях

Осуществляйте постепенный переход, а не глобальную замену:

Разработку  новых систем разбивайте на этапы.

Устанавливайте  промежуточные цели (с интервалом, как правило, не больше 6 месяцев), которые обеспечивают реальное продвижение в бизнесе

Используйте по возможности стандартное проверенное  ПО; сведите его модификацию к  минимуму.

Сконцентрируйте усилия на тех 20 процентах функций, которые отвечают за 80 процентов  деятельности компании и быстро добейтесь  их полной реализации.

Если возможно, реализуйте тестовую модель проекта  в небольших масштабах.

Для дисциплинирования сотрудников технического отдела и ускорения процесса внедрения обращайтесь к сторонним фирмам.

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

Регулярно проводите ревизию завершенных  проектов и переоценку этапов разработки.

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

Реорганизуйте работу ПО для получения максимально  экономичной модели:

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

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

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

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

Разработайте  эталонные тесты, чтобы можно  было ставить конкретные цели в области  поддержки и стоимости эксплуатации системы

Правильно распределите обязанности:

Генеральный директор активно участвует в  принятии решений в области ПО, определяя верное направление.

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

Обеспечьте  руководство со стороны представителей бизнес-подразделений и их осведомленность  в области ПО

Обучите специалистов по программному обеспечению основам  бизнеса.

Выработайте совместную процедуру принятия обоснованных решений руководителями бизнес-отделов  и руководителем информационно-технического отдела:

Стимулируйте  исследование деловых возможностей.

Требуйте  рассмотрения разных вариантов и  всесторонних обсуждений при решении  сложных вопросов.

Создайте  условия для высокопроизводительной работы отдела информационных технологий:

Простая организационная  структура.

Мало должностей.

Высокая квалификация специалистов.

Материальное  стимулирование повышения производительности.


 

Развитие в области  внедрения программных систем и  информационных технологий обуславливается  потребностями основной деятельности компании, а не технологическими новшествами

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

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

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

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

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

Решения о финансировании в области программных систем и информационных технологий принимаются  так же, как и во всех остальных  сферах - исходя из соображений финансовой выгоды

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

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

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

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

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

Информация о работе Цели и задачи программной инженерии. Понятие программного обеспечения