Файл: Учебное пособие по курсу Технология разработки программного обеспечения для студентов.doc

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 24.10.2023

Просмотров: 293

Скачиваний: 2

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

СОДЕРЖАНИЕ

Введение

1Цели при разработке программного обеспечения

2Жизненный цикл ПО. Модели жизненного цикла

3Анализ требований

3.1Принципы структурного анализа

3.2Проблема сложности ИС

3.3Группы средств моделирования систем

3.4Диаграммы потоков данных

4Построение модели в DFD на примере банковской задачи

5Словарь данных

6Спецификации процессов

7Методология функционального моделирования SADT (IDEF0)

7.1Structured Analysis and Design Technique

7.2Диаграммы IDEF0.

8Моделирование данных в нотации IDEF1x

8.1Базовые понятия ERD

8.2Виды сущностей в IDEF1x

8.3Виды связей в IDEF1X

8.4Нормализация схемы данных

9Комплексная интеграция BPWin, ERWin и Paradigm Plus.

9.1Соответствие объектов моделей процессов и моделей данных

9.2Экспорт между моделью данных и моделью процессов

9.3Paradigm Plus: двусторонняя связь с ERwin

10Создание физической модели данных в ERWin

10.1Уровни физической модели

10.2 Правила валидации и значения по умолчанию

10.3 Индексы

10.4 Триггеры и хранимые процедуры

11Тестирование и сертификация программного обеспечения

11.1 Дестабилизирующие факторы и методы обеспечения высокого качества функционирования ПО

11.2Использование среды автоматизированного тестирования Platinum TESTBytes

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

11.4 Использование CASE для повышения качества ПО

11.5 Влияние стандартов открытых систем на качество ПО

11.6 Повышение качества ПО путем тестирования

11.7 Основные особенности процесса тестирования ПО

11.8 Организационные особенности тестирования

11.9 Сертификация ПО

12Организация и планирование тестирования для обеспечения качества ПО

12.1 Важнейшие разделы ISO 9003

12.2 Общие положения

12.3 Документирование системы качества

12.4 Программа качества

12.5 Внутренние проверки системы качества

12.6 Корректирующие действия

13Стандарты, регламентирующие разработку ПО

13.1Стандарт ISO 12207:1995 - Процессы жизненного цикла программных средств

13.2ISO 15504 SPICE

13.3 Серия стандартов ГОСТ 34-ХХХ «Информационная технология»

14Управление проектами разработки информационных систем

14.1 Процессы управления проектами

14.2 Процессы проекта

14.3 Группы процессов

14.4 Взаимосвязи процессов

14.5 Процессы инициации

14.6 Процессы планирования

14.7 Процессы исполнения и контроля

14.8 Процессы анализа

14.9 Процессы управления

14.10 Процессы завершения

15Определение концепции проекта (область применения, цели и подход)

15.1Введение

15.2Результаты

15.3Исходная информация

15.4Шаги задачи

15.5Методика и подход

15.6Роли и ответственность

16Рабочий план

16.1По работам

16.2По исполнителям

16.3Диаграмма Гантта по проекту

16.4График движения денежных средств по проекту

16.5Полномочия в изменении плана

17Заключение

18Контрольные вопросы

Библиографический список




Министерство образования Российской Федерации

ГОУ ВПО «Сибирский государственный

технологический университет»



М.Г. Доррер


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

системный анализ


Учебное пособие по курсу «Технология разработки программного обеспечения» для студентов

направлений 552800, 654600, 654700,

специальностей 220400 и 071900

всех форм обучения
Красноярск 2005


Технология разработки программного обеспечения

Прикладной системный анализ. Учебное пособие для студентов направлений 552800, 654600, 654700 специальностей 220400 и 071900 всех форм обучения/ Доррер М.Г. – Красноярск: СибГТУ, 2005, 97 с.

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

Рецензенты: доц. А.Ю. Шубин (Красноярский научный центр СО РАН);

доц. С.П. Якимов (СибГТУ)
Работа поддержана Федеральной целевой программой «Интеграция», проект Т0270/680 по направлению 2.7

© М.Г. Доррер, 2005

© ГОУ ВПО «Сибирский государственный технологический университет», 2005.

Введение



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

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

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

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

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

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

  • Уметь использовать средства коллективной разработки ПО, иметь представление об их текущем состоянии и перспективах развития.


Курс «Технология разработки и САПР ПО» связан с другими дисциплинами следующим образом:

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

  • Материалы курса используются в дисциплинах специализаций при подготовке инженеров по специальности 220400 и магистров по направлению 552822 на 9 – 10 или, соответственно, 9 – 12 семестрах обучения.

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

Технология – совокупность методов изготовления изделия.

Таким образом можно провести следующие параллели:

ПО



Изделие

Разработка ПО



Инженерное проектирование ПП








1Цели при разработке программного обеспечения


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

  • Создать качественный продукт;

  • Эффективно организовать процесс разработки.

Рассмотрим содержание пунктов.

1.1.1Качество разработки ПИ

1.1.1.1Учет человеческих факторов качества разработки


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

      2. Удовлетворение потребностей пользователя – учет требований пользователя, относящихся к функциональности создаваемого ПО;

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

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

1.1.1.2Управление ресурсами


      1. Эффективность – ПИ должны выполнять свои функции без лишних затрат ресурсов (время разработки, машинное время, оперативная память, пропускная способность канала передачи данных и т.п.);

      2. Измеряемость – означает, что ПИ можно оснастить контрольно-измерительными средствами и замерить его характеристики для определения узких мест и неэффективности.

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


      1. Специфицированность. Основными характеристиками специфицированности являются:

  • Полнота спецификаций. Любая часть спецификации должна быть тщательно проработана;

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

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

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


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

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

    • Структурность. Подразумевает соблюдение принципов абстракции, модульности и минимального числа примитивов;

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

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

    1.1.2Эффективность разработки ПО

    1.1.2.1Человеческие факторы эффективности процесса разработки


        1. Планируемость – поддержка плана разработки ПИ.

        2. Организованность – разработка и непрерывная поддержка структуры должностей и обязанностей. Главными элементами организованности являются:

    • Передача прав и ответственности подчиненным;

    • Разделение труда.

  • Укомплектованность персонала.

  • Руководимость – предполагает качественное выполнение следующих функций:

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

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

    • Руководство сотрудниками – улучшение понимания факторов, обеспечивающих мотивацию, и их учет в решениях руководства.

  • Контролируемость персонала – сравнение результатов работы с поставленными в планах целями, исправление отклонений;

  • Автоматизируемость – возможность использования ВТ для исполнения рутинной работы.

  • Следование модифицированному золотому правилу с позиций эффективности. Установление одинакового отношения к проекту у исполнителя и руководителя.

    1.1.2.2Управление ресурсами для эффективности процесса разработки ПО


        1. Анализируемость эффективности затрат – обеспечение тщательного анализа затрат ресурсов при выборе оптимального варианта реализации проекта.

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

        3. Контролируемость – отслеживание выполнения плана выполнения проекта и плана координации ресурсов.

    1.1.2.3Программотехника


        1. Осуществимость разработки – определение реализуемости проекта с учетом всего ЖЦ и его преимуществ по сравнению с альтернативными вариантами реализации.

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

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

        4. Программируемость – возможность разработки полного набора программных компонент.

        5. Комплексируемость – возможность получения правильно функционирующего ПО из отельных компонентов.

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

        7. Сопровождаемость – возможность поддержания работоспособности системы в процессе ее функционирования.

        8. Снимаемость – возможность планомерной передачи функций данного ПО замещающему его изделию.

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

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

    Верификация – определение соответствия изделия его спецификации (установление правильности построения ПИ).

    Подтверждение – определение пригодности ПИ или его соответствия производственному назначению (установление необходимости изделия и его полезности).

    Таким образом, рассмотрев дерево целей