Главная » Просмотр файлов » Л.Е. Карпов - Системы программирования

Л.Е. Карпов - Системы программирования (1114903), страница 3

Файл №1114903 Л.Е. Карпов - Системы программирования (Л.Е. Карпов - Системы программирования) 3 страницаЛ.Е. Карпов - Системы программирования (1114903) страница 32019-05-08СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 3)

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

Реально процесс разработки программного обеспечения никогдане бывает простым, чаще применяется каскадно-возвратный метод:ОпределениетребованийПроектированиееПрограммированиеКомпоновка(интеграция)Только для каскадной схемы,в нисходящей схеме –обратная связь отсутствуетОпределениетребованийПроектированиеПрограммированиеКомпоновка(интеграция)ТестированиеТестированиеДокументированиеРеальный ходразработкипрограммногообеспечения(каскадновозвратная схема)Идеальный случайразработкипрограммногообеспечения (нисходящаяи каскадная схемы)ДокументированиеДля преодоления проблем каскадно-возвратного метода используетсяспиральная модель жизненного цикла, упор в которой делается на начальные этапы:определение требований, их анализ и проектирование.

На этих этапах реализуемостьтехнических решений проверяется путем создания прототипов. Каждый виток спирали10соответствует созданию фрагмента или версии программ, на нем уточняются цели ихарактеристики проекта, определяется качество проектирования, планируютсяследующие работы. Основная проблема спирального цикла – определение моментаперехода на следующий этап. Для ее решения вводят временные ограничения накаждый из этапов жизненного цикла.Написание текстаПроектированиеАнализ(определениетребований)КомпоновкаВерсия 1Версия 2Версия 3Верификация,тестирование,отладкаДокументированиеТиражированиеВнедрениеТехнологические процессы, составляющие жизненный цикл любогопрограммного продукта, стандартизованы.

Международной организаций по стандартамISO, институтом IEEE и другими организациями, в том числе структурамиПравительства России, утверждены стандарты, описывающие процессы, видыдеятельности и задачи жизненного цикла программ и программно-аппаратных систем, атакже результаты, достигаемые с помощью различных видов деятельности. С помощьюстандартов удается проводить оценку качества проводимых процессов и выискиватьвозможности для их улучшения. Например, международный стандарт ISO/IEC 15504(SPICE) Standard for Information Technology — Software Process Assessment (оценкапроцессов разработки и поддержки программного обеспечения) определяет правилаоценки процессов жизненного цикла.

Этот стандарт определяет 5 категорий процессов,включающих 35 процессов и 201 вид деятельности. Например, процесс приобретенияпрограммного обеспечения включает такие виды деятельности, как определениепотребности в программном обеспечении, определение требований, подготовкустратегии покупки, подготовку запроса предложений и выбор поставщика.1.2. Основные требования к системам программированияВажнейшимизтребований,которыепредъявляютсясистемампрограммирования, является требование согласованности интерфейсов инепротиворечивости результатов работы компонентов этих систем. Именно этосогласование превращает наборы системных программ в единую систему, нацеленнуюна решение своей основной задачи – поддержку единого процесса подготовкипрограмм.Другое требование – полнота набора системных компонентов, являетсяважным, но вторичным.

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

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

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

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

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

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

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

Доступны и другие системыуправления проектами, например, система TimeLine, представляющая собой оченьхорошую систему для ведения единой базы проектов. Широко используются системыSureTrack и Primavera Project Planner компании Primavera.На этапе анализа и формулирования требований (и планирования проекта)необходимо иметь возможность использовать формальные языки описания требований,проводить анализ этих требований и их непротиворечивости, осуществлятьмоделирование проектируемой системы, используя поведенческие модели, а такжевыявлять необоснованно завышенные требования к программному обеспечению.Основными компонентами систем программирования, используемыми на этапеанализа требований являются текстовые и графические редакторы, а такжепрограммные средства автоматического контроля непротиворечивости таблицрешений, функциональных диаграмм, текстов на языках спецификаций.На этапе проектирования также возникают текстовые и графическиематериалы, поэтому в системах программирования также необходимы текстовые играфические редакторы.

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

Такое описание создается на языке определенияинтерфейсов (Interface Definition Language, IDL), трансляция с этого языкаведется в выбранный язык программирования (часто используются Си++ иJava) специальным компилятором, формирующим согласованные друг сдругом заготовки текстов программ, как для серверной части программы, таки для клиентской части.Помощь в автоматизации графического интерфейса пользователя (GraphicalUser Interface – GUI). Поскольку, независимо от решаемой задачи, самипользовательские интерфейсы для разных задач могут быть похожими,полезны генераторы графических интерфейсов.Библиотеки содержательная часть (средства ввода/вывода, наборы функций, дляобъектно-ориентированных языков – классы и компоненты как системыклассов) средства работы с библиотеками (например, работа с иерархиямиклассов), то есть библиотекари.Средства редактирования текстов (программ).

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

Характеристики

Тип файла
PDF-файл
Размер
1,45 Mb
Тип материала
Высшее учебное заведение

Список файлов книги

Свежие статьи
Популярно сейчас
Почему делать на заказ в разы дороже, чем купить готовую учебную работу на СтудИзбе? Наши учебные работы продаются каждый год, тогда как большинство заказов выполняются с нуля. Найдите подходящий учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6294
Авторов
на СтудИзбе
314
Средний доход
с одного платного файла
Обучение Подробнее