litceymos.ru 1 2 3




Введение


Программный продукт (ПП) должен обладать следующими качествами:

  1. иметь цену;

  2. документацию;

  3. гарантию качества;

  4. существовать независимо от разработчика;

  5. сопровождаться.


Отечественные ПП не экспортируются широко в основном по следующим причинам:

а) нет технологий разработки промышленных изделий;

б) кустарное производство, а не промышленное (нет соответствующего оборудования, средств автоматизации, верификации);

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


Основные понятия технологии программирования ПП

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

Средства реализации – языки программирования, интегрированные среды, инструментальные программные средства, ПК, сети.

Можно определить следующие классификации ПП:

  1. заказной (задание определяет заказчик, малый тираж);

  2. рыночный (задание формулирует разработчик, тираж большой);

  3. системный (универсальный ПП или средства служащие для производства ПП)

  4. прикладной (решающие некоторый класс задач);

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

  6. распространяемый – самостоятельное ПО, которое применяется на любой платформе;

  7. встроенный (embedded program) – предназначенные для выполнения определенных операций и вшитые в аппаратную часть.


Виды специализаций программистов

В 1995 г. 20 млн. человек во всем мире занимались программированием.

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


  1. профессиональные программисты (изготовители ПП) – 15%, в т.ч. 2% в крупных фирмах-производителях ПП;

  2. программисты, занятые работой внутри фирм-потребителей ПП;

  3. профессиональные программисты, занятые в производстве встроенного ПО;

  4. непрофессиональные программисты – квалифицированные пользователи – 130 млн. к 2010 г.?





Виды специализации:

  1. кодирование и разработка отчетов;

  2. системные аналитики и проектировщики;

  3. интеграция компонент и их настройка.


Промышленное производство ПП



1 Разделение труда

2 Специализация

3 Дисциплина

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

  2. Средства автоматизации труда программистов


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

Наиболее распространенные CASE средства поставляются фирмой Rational Software (47 из 50 крупнейших промышленных компаний).



  1. Rational Unified Process

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

поддерживает:

этапы итерационной разработки ПО

сопроводительную документацию

ПП для каждого этапа

  1. Rational Rose

- программное средство рекомендовано для аналитиков, проектировщиков и кодировщиков. Графические возможности ориентированны на UML.

Работа – моделирование диаграмм UML.

Результат – модель ПП.

Предоставляет возможности:


- проектирование ПС и генерация кода на языке программирования

- обратное проектирование – реинжиниринг

- round-trip (туда-и-обратно) engineering –

сочетает предыдущие:

- разрабатывается ПС

- в процессе эксплуатации превносятся доработки и модификации

- по последнему варианту осуществляется реинжиниринг


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

Все виды работ разделяются на этапы:


    1. разработка структуры проекта;

    2. планирование продолжительности выполнения задач;

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

    4. наблюдения за ходом выполнения проекта и оперативное управление.



Стандартизация жизненного цикла программных систем


Стандарт ISO/IEC 12207:1995 не предлагает конкретную модель жизненного цикла (ЖЦ) и методы разработки ПО.

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

Модель ЖЦ зависит от специфики ИС и специфики условий, в которых последняя создается и функционирует). Его регламенты являются общими для любых моделей ЖЦ, методологий и технологий разработки.

Стандарт ISO/IEC 12207 описывает структуру процессов ЖЦ ПО, но не конкретизирует в деталях, как реализовать или выполнить действия и задачи, включенные в эти процессы.

К настоящему времени наибольшее распространение получили следующие две основные модели ЖЦ:

  • каскадная модель (70-85 гг.);

  • спиральная модель (86-90 гг.).

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


Положительные стороны применения каскадного подхода заключаются в следующем [2]:


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

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




Рис. 1.1. Каскадная схема разработки ПО


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




Рис. 1.2. Реальный процесс разработки ПО по каскадной схеме

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


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



Рис 1.3. Спиральная модель ЖЦ

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

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


Методология проектирования информационных систем

с точки зрения пользователя


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

1. Для какой цели приобретается компьютер (компьютеры)?


2. Как построена действующая система информации и дей­ствующий документооборот?

3. Как может быть улучшена система информации и доку­ментооборота?

4. Как должна быть построена более рациональная (или бо­лее радикальная - в случае реинжиниринга бизнес-процессов киберкорпорации) информационная технология?

5. Какие программные комплекты (пакеты прикладных про­грамм) следует приобрести и что следует программировать вследствие специфики бизнес-процессов?

6. Какие аппаратно-сетевые средства необходимы для по­строения аппаратного комплекса?

7. Какой технико-экономический эффект ожидается от по­строения или реорганизации информационно-управляющей системы?

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

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


  1. приобретение отдельных модулей программно-аппаратных средств в уже сформированных каналах распро­странения компьютерной техники и самостоятельное построе­ние конфигурации необходимой информационной системы;

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

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

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


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

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



следующая страница >>