рефераты конспекты курсовые дипломные лекции шпоры

Реферат Курсовая Конспект

Жизненный цикл программного обеспечения

Жизненный цикл программного обеспечения - раздел Компьютеры, Содержание Аннотация. Введение. 1. Жизненный Цикл По Введение. Шаги Процесса...

Содержание Аннотация. Введение. 1. Жизненный цикл ПО Введение. Шаги процесса программирования по Райли Введение. 1. Постановка задачи. 2. Проектирование решения. 3. Кодирование алгоритма. 4. Сопровождение программы. 5. Программная документация. Вывод к п. 1.1 1.2. Определение ЖЦПО по Леману.Введение. 2.1 Определение системы. 2. Реализация. 3. Обслуживание. Вывод к п. 3. Фазы и работы ЖЦПО по Боэму 1. Каскадная модель. 2. Экономическое обоснование каскадной модели. 3. Усовершенствование каскадной модели. 1.3.4. Определение фаз жизненного цикла. 5. Основные работы над проектом. Вывод. Литература.

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

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

В этой книге под проектированием ПО понимается процесс создания проекта программного изделия. 1 Жизненный цикл ПО ВВЕДЕНИЕ ЖЦПО – это непрерывный процесс, который начинается с момента принятия решения о необходимости создания ПО и заканчивается в момент его полного изъятия из эксплуатации. Существует несколько подходов при определении фаз и работ жизненного цикла программного обеспечения (ЖЦПО), шагов процесса программирования, каскадная и спиральная модели.

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

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

И, для разнообразия, – приведем шаги процесса программирования, представленные Д.Райли в книге «Использование языка Модула-2». Это представление, по-моему, является весьма простым и привычным, с него и начнём. 1.1 Шаги процесса программирования по Райли Введение Процесс программирования включает четыре шага (рис. 1): постановка задачи, т.е. получение адекватного представления о том, какую задачу должна выполнить программа; проектирование решения уже поставленной задачи (в общем, такое решение является менее формальным, чем окончательная программа); кодирование программы, т. е. перевод спроектированного решения в программу, которая может быть выполнена на машине; сопровождение программы, т.е. непрекращающийся процесс устранения в программе неполадок и добавления новых возможностей.

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

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

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

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

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

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

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

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

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

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

Постановка задачи в стандартной форме. НАЗВАНИЕ Сортировка трех целых чисел. ОПИСАНИЕ Ввод и вывод трех целых чисел, отсортированных от меньшего числа к большему. ВВОД Вводятся три целых числа по одному числу на строке.

При этом целым числом является одна или несколько последовательных десятичных цифр, которым может предшествовать знак плюс «+» или знак минус «–». ВЫВОД Выводятся три введенных целых числа, причем все три выводятся на одной строке. Смежные числа разделяются пробелом. Числа выводятся от меньшего к большему, слева направо. ОШИБКИ 1) Если введено менее трех чисел, программа ждет дополнительного ввода. 2) Строки ввода, кроме первых трех, игнорируются. 3) Если какая-либо из первых трех строк содержит более одного целого числа, то программа завершает работу и выдает сообщение.

ОШИБКА ВВОДА – допускается только одно целое число на строке. ПРИМЕР: ввод  – 3 2 + 17 вывод  – 3 2 + 17 1.1.2. Проектирование решения Этот шаг программирования является наиболее трудным. На данной стадии постановка задачи должна быть превращена в алгоритм. Поэтому алгоритмист должен обладать достаточным опытом программирования и подходить к каждой новой задаче, опираясь на твердо установленную методику проектирования.

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

Эту форму логического мышления обессмертил знаменитый сыщик Шерлок Холмс. Дедуктивная логика применяет общие правила к конкретным случаям. Например, Холмс мог вывести конкретное утверждение «Дворецкий является убийцей» из более общих сведений «Убийца-блондин», а «Дворецкий является единственным блондином, которого можно подозревать». Вторая модель – это индуктивный вывод, который является противоположностью дедуктивному выводу.

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

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

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

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

Кодирование алгоритма

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

Определение ЖЦПО по Леману. Введение

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

Определение системы

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

Фазы и работы ЖЦПО по Боэму

1.3.3 . Каскадная модель Каскадная модель была введена в 70 – 80 гг. Документация отвечает критериям полноты и завершенности; Возможность п... 2.4.). Каскадная модель ЖЦПО.

Усовершенствование каскадной модели

1.3.4 . Главными преимуществами пошаговой разработки перед абсолютно повторной... В качестве усовершенствованной каскадной модели пошаговая разработка у... Рассмотрим одно из усовершенствований идеальной каскадной модели – пош... Усовершенствование каскадной модели.

Определение фаз жизненного цикла

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

Литература 1. Б.У. Боэм «Инженерное проектирование программного обеспечения». М.: Радио и связь. 1985. 2. Д.Райли. «Использование языка Модула-2». М.: Мир. 1993. 3. Ю.В. Иванов «Программы и их жизненные циклы» (реферат по дисциплине «Метрология ПО»). 1998.

– Конец работы –

Используемые теги: Жизненный, цикл, программного, обеспечения0.058

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

Что будем делать с полученным материалом:

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

Еще рефераты, курсовые, дипломные работы на эту тему:

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

Введение. Состав вычислительной системы, программного обеспечения и других программных обеспечений
КОНСПЕКТ ЛЕКЦИЙ ПО КУРСУ... quot Операционные системы и офисные приложения quot для студентов направления В...

Программное обеспечение ПК/Построение диаграмм в текстовом редакторе Word/Классификация системного программного обеспечения
Без программного обеспечения компьютер не сможет выполнять задачи, которые мы обычно связываем с компьютерами. Функции программного обеспечения следующие: 1. управлять компьютерными… Синонимом слову «программа» является термин «приложение» (application). Для того, чтобы программа была выполнена, она…

Лекции 1.ОСНОВНЫЕ ПОНЯТИЯ И КАТЕГОРИЯ ИНФОРМАТИКИ. 2 ЛЕКЦИИ 2. МАТЕМАТИЧЕСКИЕ ОСНОВЫ ИНФОРМАТИКИ. СИСТЕМЫ СЧИСЛЕНИЯ. 12 ЛЕКЦИЯ 3. АППАРАТНОЕ ОБЕСПЕЧЕНИЕ ЭВМ. 20 ЛЕКЦИЯ 4. ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ КОМПЬЮТЕРОВ.. 49 Широко распространён также англоязычный вар
gl ОГЛАВЛЕНИЕ... Лекции ОСНОВНЫЕ ПОНЯТИЯ И КАТЕГОРИЯ ИНФОРМАТИКИ... ЛЕКЦИИ МАТЕМАТИЧЕСКИЕ ОСНОВЫ ИНФОРМАТИКИ СИСТЕМЫ СЧИСЛЕНИЯ...

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

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

Жизненный цикл организации
В теории менеджмента развивается направление, в рамках которого исследователи рассматривают организацию как развивающийся во времени объект,… В основе теории жизненных циклов организации (ЖЦО) лежит аналогия с… Однако, как отмечают российские исследователи, следует подчеркнуть ограниченность этой аналогии. Биологические…

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

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

Экономический цикл. Фазы цикла
Российская экономика представляла собой величайший парадокс ХХв С одной стороны на протяжении нескольких десятилетий Россия занимала второе место... Именно эта командно административная сталинская модель экономики лежала в... Именно это и послужило причиной для проведения координальных экономических реформ дабы искоренить те противоречия и...

0.029
Хотите получать на электронную почту самые свежие новости?
Education Insider Sample
Подпишитесь на Нашу рассылку
Наша политика приватности обеспечивает 100% безопасность и анонимность Ваших E-Mail
Реклама
Соответствующий теме материал
  • Похожее
  • По категориям
  • По работам