Автор Анна Евкова
Преподаватель который помогает студентам и школьникам в учёбе.

Выбор модели разработки информационных систем

Содержание:

Введение

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

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

Объект курсовой работы разработка ПО

Предмет курсовой работы выбор модели разработки по

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

Для достижения этой цели были поставлены следующие задачи:

проанализировать источники литературы по теме курсовой работы;

раскрыть следующие понятия: "Информационная система", "Методология разработки информационных систем", "Технология разработки информационных систем";

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

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

разработать фрагмент информационной системы "Учебно-методический ресурс".

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

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

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

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

Глава 1. Основные понятия

1.1 Информационные системы

В настоящее время нет единой трактовки понятия "информационная система" (ИС), устоявшейся классификации информационных систем, общепринятого представления о структуре ИС, поскольку работы по созданию информационных систем проводились параллельно по нескольким направлениям - системы обработки данных и базы данных; автоматизированные системы управления и в первую очередь - автоматизированные информационные системы; автоматизированные системы научно-технической информации; автоматизированные [1]системы нормативно-правовой документации, автоматизированные системы нормативно-методического обеспечения управления [2]предприятиями; а в последнее время разрабатываются разнообразные системы специального назначения, такие как экономические информационные системы, в том числе бухгалтерские, банковские информационные системы, информационные системы рынка ценных бумаг, маркетинговые информационные системы и т.п.

Сам термин "информационные системы" включает два важных понятия - "информация" и "система".

Информация (лат. information - сообщение, разъяснение; лат. informo - придаю вид, формирую, организую) - сведения о лицах, предметах, фактах, событиях, явлениях и процессах независимо от формы их представления.

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

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

Решение повторяющихся задач

Решение возникающих проблем

Формирование отчетов

Модели и алгоритмы

ИНФОРМАЦИОННАЯ СИСТЕМА

Информационная система управления

Система поддержки принятия решений

База данных

Экранные формы

Процесс

Входные документы

Выходные документы

Рис.1. Структура ИС

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

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

В Федеральном законе "Об информации, [3]информатизации и защите информации" дается следующее определение:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

1.2 Методологии разработки информационных систем

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

обеспечение создания информационных систем, отвечающих целям

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

гарантия создания системы с заданными параметрами в течение заданного времени в рамках оговоренного заранее бюджета;

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

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

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

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

Глава 2. Методология разработки информационных систем

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

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

Методологии создания информационных систем можно классифицировать по нескольким отличительным признакам. (Рис.2)

Классификация по ядрам методологий

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

Ядра методологий определяются способом описания алгоритмов. К основным ядрам методологий относят:

  • методология императивного программирования;
  • методология объектно-ориентированного программирования;
  • методология функционального программирования;
  • методология логического программирования;
  • методология программирования в ограничениях.
  • Рассмотрим ядра методологий подробнее.

Рис. 2. Классификация методологий

методология императивного программирования;

методология объектно-ориентированного программирования;

методология функционального программирования;

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

методология программирования в ограничениях.

по ядрам методологий

по топологической специфике методологий

по реализационной специфике методологий

смешанные методологии

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

централизованная методология;

параллельная методология.

МЕТОДОЛОГИИ

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

Методы и концепции.

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

Метод управления потоком исполнения заключается в пошаговом контроле управления. Метод поддерживается концепцией потока исполнения.

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

Методы и концепции.

Метод объектно-ориентированной [7]декомпозиции заключается в выделении объектов и связей между ними. Метод поддерживается концепциями инкапсуляции, наследования и полиморфизма.

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

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

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

Методы и концепции.

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

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

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

Методология логического программирования - подход, согласно которому программа содержит описание проблемы в терминах фактов и логических формул, а решение проблемы система выполняет с помощью механизмов логического вывода. Логическое программирование начинает свой отсчет времени с конца 60-х годов XX века, когда Корделл Грин предложил использовать резолюцию как основу логического программирования. Алан Колмеро создал язык логического программирования Prolog в 1971 году. Логическое программирование пережило пик популярности в середине 80-х годов XX века, когда оно было положено в основу проекта разработки программного и аппаратного обеспечения вычислительных систем пятого поколения.

Методы и концепции.

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

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

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

Методы и концепции.

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

Классификация по топологической специфике методологий

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

Методология структурного программирования - подход, в задании топологии императивных , ориентированной на количества общих на разработку обеспечения. Сокращение иметь место в результате , что и модели, и код будут хорошую структурированность, избежать многих . В случае методологии хорошую задают отказ использования глобальных и, в случаев, оператора перехода, разработка с сильной и обеспечение независимости от модулей. Подход на двух принципах построения: [9]декомпозиция алгоритма задачи сверху ; использование структурного . Данная методология важнейшим развитием методологии. Создателем подхода считается Дейкстра. Ему принадлежит попытка структурное программирование методами доказательства .

Методы и .

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

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

Метод кодирования заключается использовании при трех основных [10] конструкций. Метод концепцией управления.

по реализационной методологий

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

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

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

Смешанные методологии.

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

В.Н. своей книге " разработки программного " приводит еще методологию - RAD ( Application Development).

быстрой разработки RAD.

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

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

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

небольшой команде (обычно от 2 10 человек);

тщательно производственный график , рассчитанных сравнительно срок разработки ( 2 до 6 мес);

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

Основные принципы:

итерационная (спиральная) разработки;

полное работ на из этапов цикла не ;

в процессе информационной системы тесное действие заказчиком и пользователями;

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

тестирование и проекта осуществляются с разработкой;

ведется немногочисленной хорошо управляемой профессионалов;

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

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

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

2.2 Методологии разработки систем в литературе

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

(монументальная) методология , если:

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

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

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

процесс на этапе смещен область анализа, и разработки задания, процесс строго документирован линеен. Срок технического задания около 60% времени всего процесса .

Адаптивная (agile - или lightweight - ) методология применяется, :

Не ясны изменяются требования системе.

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

как можно получить первые работающей программы.

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

реализацию всех есть достаточный времени.

При такой методологии программы представляет [12]последовательность большого итераций, каждая которых занимает времени от до месяца. результатам каждой требования к уточняются, и, необходимости, итерация . Процесс разработки такой методологии проекта менее , основные акценты в область реализации, а на создание и описывающей " и вся" . Для заказчика возможность практическим нащупать нужное , удовлетворяющее не изначальным требованиям, и в числе тем, появятся по разработки продукта ( редкий проект без появления требований). Заказчик этом случае [13]плотно взаимодействует разработчиками, находится в курсе положения дел, в проектировании этапа и результаты выполненного.

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

Используется система версий.

Оформление стандартизировано.

Первоочередное ошибок перед любых других .

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

Используются средства автоматизации исходного кода ведения списков .

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

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

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

Более подробно на адаптивных () методологиях, так они наиболее развиваются и в настоящее .

Методология SCRUM.

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

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

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

Отличительной SCRUM является ежедневных 15-30 минутных , которые так называются scrum (). В ходе совещаний лидер задает каждому вопросы:

Что сделать из для данной функций за день?

Были какие-либо с реализацией?

планируется сделать сегодняшний день?

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

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

Экстремальное (eXtreme Programming XP)

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

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

Семейство Crystal.

Crystal - не просто , это целое методологий, разработанное Коберном.

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

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

Коберн проекты по параметрам: критичность величина команды. критичностью [15]понимается ущерба, нанесенного результате использования . Например, ошибка ПО для корабля или аппарата искусственного несравнима с в ПО форума на . Жизненно важные имеют категорию , а те, в которых потерю удобств, С.

Степень нарастает по оси. Величина нарастает по оси. В получается семейство . Чем ниже и чем команда, тем "легкую" методологию использовать. Самой из всего является методология Clear. Главные данной методологии:

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

Частые поставки позволяют выработать "" проекта. Ничто не вдохновляет , как поставленный продукт.

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

контроля версий обеспечивают коллективное кодом.

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

Важной Crystal является настройка методологии. позволяет постепенно ее для команды и проекта. Пожалуй, в одной методологии настройке уделяется такого .

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

Открытый код (Open ).

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

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

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

методология (Adaptive Development или ).

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

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

ASD обычный жизненный цикл " - Проектирование - Конструирование" на динамический " - Взаимодействие - Обучение".

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

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

Функционально- разработка (Feature Development или ). [16]

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

общей модели;

списка необходимых системы;

планирование над каждой ;

проектирование функции;

функции.

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

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

разработки динамических (Dynamic System Method или ).

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

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

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

DSDM неприменима :

проект не к итеративному , где функциональность очевидна заказчику пользовательский интерфейс;

определена группа ;

проект зависит сложных внутренних .

Основные принципы :

Активное вмешательство (в идеале, и разработчики рабочее пространство, решения могут на месте).

должна иметь принимать решения ожидания подтверждения уровнями (команда как из , так и заказчиков).

Требования - прежде всего.

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

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

Все обратимы (возвращение - черта DSDM).

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

Глава 3. Технология разработки информационных систем

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

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

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

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

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

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

обеспечивать минимальное время получения работоспособной системы;

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

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

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

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

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

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

Существуют несколько технологических подходов.

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

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

Каскадные технологические подходы.

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

Каскадно-возвратный подход - разрешены возвраты к предыдущим стадиям и пересмотр или уточнение ранее принятых решений;

Каскадно-итерационный подход - предусматривает последовательные итерации каждого процесса до тех пор, пока не будет достигнут желаемый результат;

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

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

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

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

подход «пишем и правим»

подходы со слабой формализацией

строгие (классические, жесткие) подходы

формализованные подходы

гибкие (адаптивные, легкие) подходы

генетические

синтезирующее программирование

сборочное (расширяемое) программирование

конкретизирующее программирование

подходы на основе формальных преобразований

технология стерильного цеха

формальные генетические подходы

ТЕХНОЛОГИЧЕСКИЕ ПОДХОДЫ

Рис. 3. Классификация технологических подходов

каскадные

классические каскадные

каскадно-возвратные

каскадно-итерационные

каскадные с перекрывающимися процессами

каскадные с подпроцессами

спиральная

каркасные

рациональный унифицированный процесс (RUP)

модель процессов Microsoft Solution Framework (MSF)

ранние технологические подходы быстрой разработки

эволюционное прототипирование

итеративная разработка

постадийная разработка

адаптивные подходы

экстремальное программирование

адаптивная разработка

семейство Crystal

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

компьютерный дарвинизм

фрагментарное программирование

Каркасные подходы.

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

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

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

Генетические подходы.

Синтезирующее программирование предполагает синтез программы по ее спецификации. Документ на языке спецификаций является базисом для последующей реализации;

Сборочное (расширяемое) программирование предполагает, что программа собирается путем переиспользования уже известных фрагментов;

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

Подходы на основе формальных преобразований.

Технология стерильного цеха складывается из следующих частей:

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

планирование разработки;

формальная верификация;

статическое тестирование.

Формальные генетические подходы

Формальное синтезирующее программирование использует математическую спецификацию - совокупность логических формул;

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

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

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

Ранние технологические подходы быстрой разработки.

Эволюционное прототипирование - первый прототип включает создание развитого пользовательского интерфейса.

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

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

Адаптивные подходы.

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

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

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

Подходы исследовательского программирования.

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

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

Заключение

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

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

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

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

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

Список используемых источников

  1. Об информации, информатизации и защите информации: Федеральный закон от 20 февраля 1995 г. № 24-ФЗ // Собрание законодательства РФ. - 1995. - № 8. - Ст.609
  2. Брауде, Э. Технология разработки программного обеспечения / Э. Брауде. - СПб,: Питер, 2014. - 655 с.
  3. Информационные системы: учеб пособие / под ред.В.Н. Волковой, Б.И. Кузина. - 2-е изд., перераб и доп. - СПб.: Изд-во СПбГПУ, 2014. - 224 с.
  4. Краткий философский словарь / под ред.А.П. Алексеева. - 2-е изд., перераб. и доп. - М.: ТК Велби, Изд-во Проспект, 2016. - 496 с.
  5. Непейвода, Н.Н. Основания программирования / Н.Н. Непейвода, И.Н. Скопин. - М. - Ижевск: Ин-т компьютерных исследований, 2013. - 868 с.
  6. Новый иллюстративный энциклопедический словарь / под. Ред.В.И. Бородулина, А.П. Горкина, А.А. Гусева, Н.М. Ланда и др. - М.: Большая Российская энциклопедия, 2013. - 912 с.
  7. Одинцов, И.О. Профессиональное программирование. Системный подход / И.О. Одинцов. - 2-е изд., перераб. и доп. - СПб.: БХВ-Петербург, 2004. - 624 с.
  8. Орлов, С.А. Технологии разработки программного обеспечения: учеб. пособие / С.А. Орлов. - 2-е изд. - СПб.: Питер, 2003. - 480 с.
  9. Петров, В.Н. Информационные системы: учеб. пособие / В.Н. Петров. - СПб.: Питер, 2012. - 588 с.
  10. Экономическая информатика: Введение в экономический анализ информационных систем: учебник. - М.: ИНФРА-М, 2005. - 958 с. - (Учебники экономического факультета МГУ им. М.В. Ломоносова).
  11. Юдин, Э.Г. Методология науки. Системность. Деятельность / Э.Г. Юдин. - М.: Эдиториал УРСС, 1997. - 246 с.
  12. Адаптивная методология ASD: [Электронный ресурс] <http://www.booktp.jino-net.ru/? action=view&article=626f6f6b2f30332f30362e747874>
  13. Адаптивные и адаптационные процессы: [Электронный ресурс] <http://www.booktp.jino-net.ru/? action=view&article=626f6f6b2f30332f30332e747874>
  14. Гибкость и монументальность методологий: [Электронный ресурс] <http://www.booktp.jino-net.ru/? action=view&article=626f6f6b2f30332f30342e747874>
  15. Единая система программной документации: [Электронный ресурс] <http://www.nist.ru/hr/doc/gost/gost19.htm>
  16. Закис, А.В.ruP и другие методологии разработки ПО: [Электронный ресурс] <http://www.cmcons.com/rup-vs-competitors.htm>
  17. Колодин, М.Ю.Гибкие технологии программирования (обзор и оценка применимости): [Электронный ресурс] <http://www.computer.edu.ru/myke/se/index.shtml>
  18. Манифест гибкой разработки программного обеспечения: [Электронный ресурс] <http://www.agilealliance.org.ru>
  19. Методологии ведения проекта: [Электронный ресурс] <http://www.digital-soft.ru/methodology.php> (11.05.2006)
  20. Методологии разработки программного обеспечения: [Электронный ресурс] <http: // yura.com.ua/development/programming-methodology/index.html>
  21. Понятие "Информационная система": [Электронный ресурс] <http://www.info-system.ru/is/about/is_concept_is.html>
  22. Семейство методологий Crystal Алистэра Коуберна: [Электронный ресурс] <http://www.booktp.jino-net.ru/? action=view&article=626f6f6b2f30332f3034362e747874>
  23. Стандарты по информационным технологиям: [Электронный ресурс] <http://www.linux.nist.ru/hr/doc/gost/gost34.htm>
  24. Сунстед, Т."Рациональное" проектирование: [Электронный ресурс] <http://www.osp.ru/cw/2001/36/017_1_print.htm>
  25. Фаулер, М.Новые методологии программирования: [Электронный ресурс] <http://www.maxkir.com/sd/newmethRUS.html>
  26. Хаф, Л.Методология разработки программного обеспечения: в 3-х ч.- Ч.2: Экстремальное программирование: [Электронный ресурс] <http://www.lib.csu.ru/dl/bases/prg/kompress/articles/2003_10_XP/index.htm>
  27. Хаф, Л.Методология разработки программного обеспечения: в 3-х ч.- Ч.3: Rational Unified Process: [Электронный ресурс] <http://www.lib.csu.ru/dl/bases/prg/kompress/articles/2004_01_rupIntro/index.htm>
  28. Экстремальное программирование и быстрая разработка: [Электронный ресурс] <http://www.booktp.jino-net.ru/? action=view&article=626f6f6b2f30332f3034352e747874>
  29. DSDM - метод разработки динамических систем: [Электронный ресурс] <http://www.booktp.jino-net.ru/? action=view&article=626f6f6b2f30332f30372e747874>
  30. Open Source как гибкая методология: [Электронный ресурс] <http://www.booktp.jino-net.ru/? action=view&article=626f6f6b2f30332f30382e747874>
  31. Rational Unified Process: [Электронный ресурс] <http://www.booktp.jino-net.ru/? action=view&article=626f6f6b2f30332f30352e747874>
  1. Брауде, Э. Технология разработки программного обеспечения / Э. Брауде. - СПб,: Питер, 2014. - 655 с.

    1. Новый иллюстративный энциклопедический словарь / под. Ред.В.И. Бородулина, А.П. Горкина, А.А. Гусева, Н.М. Ланда и др. - М.: Большая Российская энциклопедия, 2013. - 912 с.

    1. Брауде, Э. Технология разработки программного обеспечения / Э. Брауде. - СПб,: Питер, 2014. - 655 с.

  2. Новый иллюстративный энциклопедический словарь / под. Ред.В.И. Бородулина, А.П. Горкина, А.А. Гусева, Н.М. Ланда и др. - М.: Большая Российская энциклопедия, 2013. - 912 с.

    1. Одинцов, И.О. Профессиональное программирование. Системный подход / И.О. Одинцов. - 2-е изд., перераб. и доп. - СПб.: БХВ-Петербург, 2004. - 624 с.

  3. Новый иллюстративный энциклопедический словарь / под. Ред.В.И. Бородулина, А.П. Горкина, А.А. Гусева, Н.М. Ланда и др. - М.: Большая Российская энциклопедия, 2013. - 912 с.

  4. Новый иллюстративный энциклопедический словарь / под. Ред.В.И. Бородулина, А.П. Горкина, А.А. Гусева, Н.М. Ланда и др. - М.: Большая Российская энциклопедия, 2013. - 912 с.

  5. Брауде, Э. Технология разработки программного обеспечения / Э. Брауде. - СПб,: Питер, 2014. - 655 с.

  6. Брауде, Э. Технология разработки программного обеспечения / Э. Брауде. - СПб,: Питер, 2014. - 655 с.

  7. Новый иллюстративный энциклопедический словарь / под. Ред.В.И. Бородулина, А.П. Горкина, А.А. Гусева, Н.М. Ланда и др. - М.: Большая Российская энциклопедия, 2013. - 912 с.

  8. Одинцов, И.О. Профессиональное программирование. Системный подход / И.О. Одинцов. - 2-е изд., перераб. и доп. - СПб.: БХВ-Петербург, 2004. - 624 с.

  9. Новый иллюстративный энциклопедический словарь / под. Ред.В.И. Бородулина, А.П. Горкина, А.А. Гусева, Н.М. Ланда и др. - М.: Большая Российская энциклопедия, 2013. - 912 с.

  10. Одинцов, И.О. Профессиональное программирование. Системный подход / И.О. Одинцов. - 2-е изд., перераб. и доп. - СПб.: БХВ-Петербург, 2004. - 624 с.

  11. Брауде, Э. Технология разработки программного обеспечения / Э. Брауде. - СПб,: Питер, 2014. - 655 с.

  12. Одинцов, И.О. Профессиональное программирование. Системный подход / И.О. Одинцов. - 2-е изд., перераб. и доп. - СПб.: БХВ-Петербург, 2004. - 624 с.

  13. Брауде, Э. Технология разработки программного обеспечения / Э. Брауде. - СПб,: Питер, 2014. - 655 с.

  14. Одинцов, И.О. Профессиональное программирование. Системный подход / И.О. Одинцов. - 2-е изд., перераб. и доп. - СПб.: БХВ-Петербург, 2004. - 624 с.