Программное обеспечение информационных систем

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

Рубрика Программирование, компьютеры и кибернетика
Вид учебное пособие
Язык русский
Дата добавления 03.03.2018
Размер файла 308,1 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

МИНИСТЕРСТВО ВЫСШЕГО И СРЕДНЕГО СПЕЦИАЛЬНОГО

ОБРАЗОВАНИЯ РЕСПУБЛИКИ УЗБЕКИСТАН

ТАШКЕНТСКИЙ ГОСУДАРСТВЕННЫЙ ЭКОНОМИЧЕСКИЙ

УНИВЕРСИТЕТ.

Факультет « Информационные технологии

и менеджмент».

ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ ИНФОРМАЦИОННЫХ СИСТЕМ

УЧЕБНО - МЕТОДИЧЕСКОЕ ПОСОБИЕ

С.С. Гулямов, А.А. Мусалиев, Б.А. Бегалов

ТАШКЕНТ 2006г.

Оглавление

программный обеспечение информационный система

Введение

1. Общая характеристика и классификация программного обеспечения

2. Общесистемное программное обеспечение

3. Прикладное программное обеспечение

4. Построение программного обеспечения информационных систем

5. Жизненный цикл программного продукта, стадии разработки

6. Методы проектирования программных продуктов

7. Показатели качества программных продуктов

8. Методы оценки затрат на разработку программных средств

9. Экономическая эффективность программного изделия (продукта)

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

11. Выбор и оценка программных продуктов

12. Категория специалистов, связанных с созданием и эксплуатации программ

13. Правовые методы защиты программных продуктов

Кейс-стади. « Проектирование алгоритмов и программ»

Использованная литература

Введение

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

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

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

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

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

· выбор версии операционной системы;

· выбор системы программирования;

· выбор системы управления базами данных;

· выбор пакетов прикладных программ (ППП);

· выбор инструментальных средств проектирования;

· выбор средств автоматизированного проектирования.

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

1. Общая характеристика и классификация программного обеспечения

Общественное разделение труда привело к превращению сферы производства программных продуктов в составную часть общественного материального производства.

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

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

Программное обеспечение (soft ware) - совокупность программ обработки данных и необходимых для их эксплуатации документов.

Программы предназначены для машинной реализации задач. Термины «задача» и «приложения» имеют очень широкое употребление в контексте программного обеспечения.

Задача (problem task) - проблема, подлежащая решению.

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

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

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

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

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

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

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

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

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

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

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

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

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

Основные характеристики программного продукта. Основными характеристиками программного продукта являются:

· алгоритмическая сложность (логика алгоритмов обработки информации);

· состав и глубина проработки реализованных функций обработки;

· полнота и системность функций обработки;

· объем файлов программ;

· требования к операционной системе и техническим средствам обработки со стороны программного продукта;

· объем дисковой памяти;

· объем оперативной памяти для запуска программ;

· тип процессора;

· версия операционной системы;

· наличие вычислительной сети.

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

Рис 1. Структура программного обеспечения

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

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

2. Общесистемное программное обеспечение

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

Рис 2 Структура общесистемного программного обеспечения

Базовое программное обеспечение (base software) - минимальный набор программных средств, обеспечивающих работу компьютера. В базовое программное обеспечение входят: операционная система, операционные оболочки, сетевая операционная система.

Операционная система предназначена для управления выполнением пользовательских программ, планирования и управления вычислительными ресурсами ЭВМ.

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

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

· программы диагностики работоспособности компьютера;

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

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

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

· программы обслуживания сети.

Эти программы часто называют утилитами.

Инструментарии технологии программирования - программотехника (software engineering) - технология разработки, отладки, верификации и внедрения программного обеспечения. Инструментарии технологии программирования - программные продукты поддержки (обеспечения) технологии программирования.

В рамках этих направлений сформировались следующие группы программных продуктов: средства для создания приложений; средства для создания информационных систем

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

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

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

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

Средства для создания информационных систем (САSE-технологии) - средства представляющие методы анализа, проектирования и создания программных систем и предназначенных для автоматизации процессов разработки и реализации информационных систем.

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

Средства САSE-технологии делятся на две группы:

· встроенные в систему реализации - все решения по проектированию и реализации привязаны к выбранной системе управления базами данных (СУБД);

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

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

3. Прикладное программное обеспечение

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

Прикладное программное обеспечение подразделяются на:

· программы индивидуального пользования (они специально разработаны для конкретного пользователя или группы пользователей и не продаются другим лицам);

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

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

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

Пакет прикладных программ (application program package) - комплекс взаимосвязанных программ для решения задач определенного класса конкретной предметной области.

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

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

Программные средства пакета содержат:

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

· управляющую программу для управления и обслуживания пакета;

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

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

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

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

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

· типам предметных областей;

· информационным системам;

· функциям и комплексам задач, реализуемым программным способом и др.

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

· ППП автоматизированного бухгалтерского учета;

· ППП финансовой деятельности;

· ППП управления персоналом (кадровый учет);

· ППП управления материальными запасами;

· Финансовые информационные банковские системы и т. п.

Основными тенденциями в области развития проблемно - ориентированных программных средств являются:

· создание программных комплексов в виде автоматизированных рабочих мест (АРМ) управленческого персонала;

· создание интегрированных систем управления предметной областью на базе вычислительных сетей, объединяющих АРМы в единый программный комплекс с архитектурой клиент - сервер;

· организация данных больших информационных систем в виде распределенных баз данных на сети ЭВМ;

· наличие простых языковых средств конечного пользователя для запросов к базе данных;

· настройка функций обработки силами конечных пользователей (без участия программистов);

· защита программ и данных от несанкционированного доступа (парольная защита на уровне функции, режимов работы, данных).

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

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

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

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

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

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

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

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

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

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

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

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

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

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

4. Построение программного обеспечения информационных систем

Автоматизированные информационные системы (АИС) создаются для накопления, обработки и передачи информации и строятся на технических средствах и программном обеспечении (базовом и сервисном), системном и прикладном, которые доходят до конечного пользователя в виде информационных технологий. Без машинных и системных программ компьютер представляет не более чем металлическую коробку, а без прикладных программ немыслимо существование автоматизированной информационной системы.

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

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

Заложив фундамент АИС, можно приступать к строительству «первого этажа» определить и применить типовые или разработать новые конкретные операции (функции) по обработке информации в системе. Набор таких типовых функций образуют функциональные или функционально-ориентированные технологии. Такие технологии универсальны и разрабатываются при минимальном участии будущего пользователя. Инструментальную основу таких технологий составляют системные программы.

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

Далее, в «общем» каркасе АИС выделяются проблемные или проблемно- ориентированные информационные технологии. Потенциальные пользователи такой технологии могут принять участие в ее разработке только на начальной стадии формирования требований или типизации конкретных задач или на конечной стадии - при разработке специализированных дополнений. Это позволяет основную часть технологий создавать автономно от пользователя и применять унифицированные технические решения.

«Третий этаж» АИС строится из прикладных программ, а соответствующие информационные технологии определяются как предметные или предметно-ориентированные.

Они должны максимальным образом удовлетворять частным требованиям данного приложения и их появление невозможно без участия будущего пользователя. Таким образом, «третий этаж» возведен, и здание АИС построено. Его можно отдавать в эксплуатацию пользователю.

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

5. Жизненный цикл программного продукта, стадии разработки

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

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

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

а) маркетинг рынка программных средств, спецификация требований к программному продукту;

b) предпроектное обследование;

с) разработка технического задания;

d) выбор методологии разработки программного продукта, проектирование и программирование;

е) отладка и тестирование программ;

f) документирование программного продукта, подготовка эксплуатационной и технологической документации;

g) внедрение программного продукта;

h) обучение заказчика.

k) выход на рынок программных средств, распространение программного продукта;

p) эксплуатация пользователем программного продукта;

q) снятие программного продукта с продажи, отказ от сопровождения.

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

Рис 3 Этапы жизненного цикла программных продуктов

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

Этап маркетинга и спецификации программного продукта предназначены для изучения требований к создаваемому программному продукту, которое заключается в следующем:

· определение состава и назначения функции обработки данных программного продукта;

· установление требований пользователя к характеру взаимодействия с программным продуктом, типу пользовательского интерфейса (система меню, использование манипулятора - мышь, типы подсказок, виды экранных документов);

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

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

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

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

Примерный объем работ на этом этапе - 5% объема всего проекта.

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

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

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

Примерный объем работ второго этапа - 10% от общего объема работ.

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

Примерный объем этого этапа работ - 10% от общего объема работ.

Этапы выбора методологии разработки ПП, проектирования и программирования.

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

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

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

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

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

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

Примерный объем этапов работ выбора методологии разработки ПП, проектирования и программирования - 10% от общего объема работ.

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

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

Примерный объем работ - 10% от общего объема проекта.

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

На машинном уровне программного продукта, как правило, создаются:

· автоматизированная контекстно-зависимая помощь (HELP);

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

Этап внедрения ПП. После того, как заказчик удовлетворен качеством продукта, начинается его внедрение - подготовка к окончательному запуску в эксплуатацию. Проводятся работы по подготовке объекта к внедрению. Этот этап самый трудоемкий и «нудный» и занимает порой до 90% времени всего проекта.

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

Примерный объем трудозатрат на обучение - 5% от общего объема проекта.

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

Требуется постоянная программа маркетинговых мероприятий и поддержки программных продуктов. Как правило, для каждого программного продукта существует своя форма кривой продаж, которая отражает спрос.

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

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

Длительность жизненного цикла для различных программных продуктов неодинакова. Для большинства современных программных продуктов длительность жизненного цикла измеряется в годах (2-3 года). Хотя достаточно часто встречаются на компьютерах и давно снятие с производства программные продукты.

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

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

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

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

При составлении технического задания требуется:

· определить платформу разрабатываемой программы (например, MS Windows,Unix, OS|2);

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

· определить необходимость разработки программы, которую можно переносить на различные платформы;

· обосновывать целесообразность работы с базами данных под управлением СУБД.

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

Технический проект. На данной стадии выполняется комплекс наиболее важных работ:

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

· определяется состав общесистемного программного обеспечения, включающий базовые средства (операционную систему, модель СУБД, электронные таблицы, методо-ориентированные и функциональные ППП и т. п.);

· разрабатывается внутренняя структура программного продукта, образованная отдельными программными модулями;

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

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

Рабочая документация (рабочий проект). На данной стадии осуществляется базовых средств программного обеспечения (операционной системы, СУБД, методо-ориентированных ППП, инструментальных средств конечного пользователя - текстовых редакторов, электронных таблиц и т. п.). Выполняется разработка программных модулей или методов обработки объектов - собственно программирование или создание программного кода. Проводится автономная и комплексная отладка программного продукта, испытание работоспособности программных модулей и базовых программных средств. Для комплексной отладки готовится контрольный пример, который позволяет проверить соответствие возможностей программного продукта заданным спецификациям.

Основной результат работ этой стадии - также создание эксплуатационной документации на программный продукт:

· описание применения - дает общую характеристику программного продукта с указанием сферы его применения, требований к базовому программному обеспечению, комплексу технических средств;

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

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

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

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

6. Методы проектирования программных продуктов

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

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

· степень автоматизации проектных работ;

· принятая методология разработки.

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

· методы традиционного (неавтоматизированного) проектирования;

· методы автоматизированного проектирования (CASE-технология и ее элементы).

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

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

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

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

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

· структурное проектирование программных продуктов;

· информационное моделирование предметной области и связанных с ней приложений;

· объектно-ориентированное проектирование программных продуктов.

Структурное проектирование. В основе структурного проектирования лежит последовательная декомпозиция, целенаправленное структурирование на отдельные составляющие.

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

Типичными методами структурного проектирования являются:

· нисходящее проектирование, кодирование и тестирование программ;

· модульное программирование;

· структурное программирование и др.

В зависимости от объекта структурирования различают:

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

· методы структурирования данных.

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

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


Подобные документы

  • Анализ технического обеспечения информационных систем (микропроцессоры). Программное обеспечение информационных систем. Классификация программного обеспечения. Программы подготовки первичных документов на примере "1С: Бухгалтерия", "1С: Налогоплательщик".

    контрольная работа [808,5 K], добавлен 20.07.2010

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

    дипломная работа [1,3 M], добавлен 07.02.2009

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

    курсовая работа [364,6 K], добавлен 28.05.2009

  • Жизненный цикл программного обеспечения - непрерывный процесс, который начинается с принятия решения о необходимости создания ПО и заканчивается при полном изъятия его из эксплуатации. Подход к определению жизненного цикла ПО Райли, по Леману и по Боэму.

    реферат [39,1 K], добавлен 11.01.2009

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

    презентация [350,6 K], добавлен 09.11.2015

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

    курсовая работа [636,2 K], добавлен 23.08.2011

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

    лекция [352,8 K], добавлен 09.03.2009

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

    презентация [159,1 K], добавлен 27.12.2013

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

    курс лекций [203,3 K], добавлен 24.05.2015

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

    отчет по практике [272,2 K], добавлен 29.12.2014

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.