Главная страница
Навигация по странице:

  • Проектирование программного обеспечения Учебное пособие по выполнению и оформлению курсовых, дипломных и квалификационных работ

  • Оглавление ВВЕДЕНИЕ........................................................................................................................................................... 4 1.

  • ПОСТАНОВКА ЗАДАЧИ. РАЗРАБОТКА ТЕХНИЧЕСКОГО ЗАДАНИЯ ..................................... 8 3. АНАЛИЗ ТРЕБОВАНИЙ И ОПРЕДЕЛЕНИЕ СПЕЦИФИКАЦИЙ ПРОГРАММНОГО

  • СПИСОК ЛИТЕРАТУРЫ ............................................................................................................................... 66

  • ПРИЛОЖЕНИЕ 3. ПРИМЕРЫ СОДЕРЖАНИЯ РАСЧЕТНО-ПОЯСНИТЕЛЬНЫХ ЗАПИСОК... 72 4ВВЕДЕНИЕ

  • 1. ЖИЗНЕННЫЙ ЦИКЛ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ

  • Анализ требований и определение спецификаций.

  • Реализация

  • 2. ПОСТАНОВКА ЗАДАЧИ. РАЗРАБОТКА ТЕХНИЧЕСКОГО ЗАДАНИЯ

  • Учебное пособие по выполнению и оформлению курсовых, дипломных и квалификационных работ москва 2002 2 аннотация


    Скачать 0.53 Mb.
    НазваниеУчебное пособие по выполнению и оформлению курсовых, дипломных и квалификационных работ москва 2002 2 аннотация
    Дата12.02.2022
    Размер0.53 Mb.
    Формат файлаpdf
    Имя файлаmetod-proekt_po.pdf
    ТипУчебное пособие
    #359229
    страница1 из 6
      1   2   3   4   5   6

    Московский государственный технический университет им. Н.Э. Баумана
    Факультет Информатики и систем управления
    Кафедра Компьютерные системы и сети
    Г.С. Иванова, Т.Н. Ничушкина
    Проектирование программного обеспечения
    Учебное пособие
    по выполнению и оформлению курсовых, дипломных и квалификационных работ
    МОСКВА 2002

    2
    АННОТАЦИЯ
    Настоящее учебное пособие содержит указания и рекомендации по выполнению и оформлению курсовых и квалификационных работ, связанных с разработкой про- граммных продуктов. В пособии описываются порядок выполнения, оформления и требования к представляемым документам. Особое внимание обращено на оформле- ние текстовых и графических документов: технического задания, расчетно- пояснительной записки и плакатов. В приложении приводятся примеры технического задания и оглавления расчетно-пояснительной записки.
    Пособие предназначено для студентов всех курсов специальности «Компьютер- ные системы и сети».

    3
    Оглавление
    ВВЕДЕНИЕ........................................................................................................................................................... 4
    1.
    ЖИЗНЕННЫЙ ЦИКЛ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ .......................................................... 4
    2.
    ПОСТАНОВКА ЗАДАЧИ. РАЗРАБОТКА ТЕХНИЧЕСКОГО ЗАДАНИЯ ..................................... 8
    3.
    АНАЛИЗ ТРЕБОВАНИЙ И ОПРЕДЕЛЕНИЕ СПЕЦИФИКАЦИЙ ПРОГРАММНОГО
    ОБЕСПЕЧЕНИЯ ПРИ СТРУКТУРНОМ ПОДХОДЕ ............................................................................... 11
    3.1.
    С
    ПЕЦИФИКАЦИИ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ ПРИ СТРУКТУРНОМ ПОДХОДЕ
    ................................. 11 3.2.
    Д
    ИАГРАММА ПЕРЕХОДОВ СОСТОЯНИЙ
    ................................................................................................. 13 3.3.
    Ф
    УНКЦИОНАЛЬНЫЕ ДИАГРАММЫ
    ......................................................................................................... 15 3.4.
    Д
    ИАГРАММЫ ПОТОКОВ ДАННЫХ
    .......................................................................................................... 17 3.5.
    Д
    ИАГРАММЫ ОТНОШЕНИЙ КОМПОНЕНТОВ ДАННЫХ
    ............................................................................ 21
    4.
    ПРОЕКТИРОВАНИЕ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ ПРИ СТРУКТУРНОМ
    ПОДХОДЕ .......................................................................................................................................................... 27
    4.1.
    Р
    АЗРАБОТКА СТРУКТУРНОЙ И ФУНКЦИОНАЛЬНОЙ СХЕМ
    ..................................................................... 27 4.2.
    И
    СПОЛЬЗОВАНИЕ МЕТОДА ПОШАГОВОЙ ДЕТАЛИЗАЦИИ ДЛЯ ПРОЕКТИРОВАНИЯ СТРУКТУРЫ
    ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ
    ........................................................................................................................ 28 4.3.
    С
    ТРУКТУРНЫЕ КАРТЫ
    К
    ОНСТАНТАЙНА
    ................................................................................................ 32
    5.
    АНАЛИЗ ТРЕБОВАНИЙ И ОПРЕДЕЛЕНИЕ СПЕЦИФИКАЦИЙ ПРОГРАММНОГО
    ОБЕСПЕЧЕНИЯ ПРИ ОБЪЕКТНОМ ПОДХОДЕ .................................................................................... 34
    5.1.
    UML

    СТАНДАРТНЫЙ ЯЗЫК ОПИСАНИЯ РАЗРАБОТКИ ПРОГРАММНЫХ ПРОДУКТОВ С ИСПОЛЬЗОВАНИЕ
    ОБЪЕКТНОГО ПОДХОДА
    ..................................................................................................................................... 34 5.2.
    О
    ПРЕДЕЛЕНИЕ ВАРИАНТОВ ИСПОЛЬЗОВАНИЯ
    ....................................................................................... 35 5.3.
    П
    ОСТРОЕНИЕ КОНЦЕПТУАЛЬНОЙ МОДЕЛИ ПРЕДМЕТНОЙ ОБЛАСТИ
    ..................................................... 40 5.4.
    О
    ПИСАНИЕ ПОВЕДЕНИЯ
    С
    ИСТЕМНЫЕ СОБЫТИЯ И ОПЕРАЦИИ
    ............................................................ 44
    6.
    ПРОЕКТИРОВАНИЕ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ ПРИ ОБЪЕКТНОМ ПОДХОДЕ47
    6.1.
    Р
    АЗРАБОТКА СТРУКТУРЫ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ ПРИ ОБЪЕКТНОМ ПОДХОДЕ
    ........................ 47 6.2.
    О
    ПРЕДЕЛЕНИЕ ОТНОШЕНИЙ МЕЖДУ ОБЪЕКТАМИ
    ................................................................................. 49 6.3.
    У
    ТОЧНЕНИЕ ОТНОШЕНИЙ КЛАССОВ
    ...................................................................................................... 52 6.4.
    П
    РОЕКТИРОВАНИЕ КЛАССОВ
    ................................................................................................................. 55 6.5.
    К
    ОМПОНОВКА ПРОГРАММНЫХ КОМПОНЕНТОВ
    .................................................................................... 59 6.6.
    П
    РОЕКТИРОВАНИЕ РАЗМЕЩЕНИЯ ПРОГРАММНЫХ КОМПОНЕНТОВ ДЛЯ РАСПРЕДЕЛЕННЫХ
    ПРОГРАММНЫХ СИСТЕМ
    .................................................................................................................................... 60
    7.
    ПРАВИЛА ОФОРМЛЕНИЯ ПОЯСНИТЕЛЬНОЙ ЗАПИСКИ ....................................................... 61
    7.1.
    О
    ФОРМЛЕНИЕ ТЕКСТОВОГО И ГРАФИЧЕСКОГО МАТЕРИАЛА
    ................................................................. 61 7.2.
    О
    ФОРМЛЕНИЕ РИСУНКОВ
    ,
    СХЕМ АЛГОРИТМОВ
    ,
    ТАБЛИЦ И ФОРМУЛ
    .................................................... 62 7.3.
    О
    ФОРМЛЕНИЕ ТЕКСТОВ ПРОГРАММ
    ...................................................................................................... 64 7.4.
    О
    ФОРМЛЕНИЕ ПРИЛОЖЕНИЙ
    ................................................................................................................. 65 7.5.
    О
    ФОРМЛЕНИЕ СПИСКА ЛИТЕРАТУРЫ
    .................................................................................................... 65
    СПИСОК ЛИТЕРАТУРЫ ............................................................................................................................... 66
    ПРИЛОЖЕНИЕ 1. ТИТУЛЬНЫЙ ЛИСТ И ПРИМЕР ТЕХНИЧЕСКОГО ЗАДАНИЯ ..................... 67
    ПРИЛОЖЕНИЕ 2. ТИТУЛЬНЫЙ ЛИСТ РАСЧЕТНО-ПОЯСНИТЕЛЬНОЙ ЗАПИСКИ................ 71
    ПРИЛОЖЕНИЕ 3. ПРИМЕРЫ СОДЕРЖАНИЯ РАСЧЕТНО-ПОЯСНИТЕЛЬНЫХ ЗАПИСОК... 72

    4
    ВВЕДЕНИЕ
    Создание современной программной системы – весьма трудоемкая задача: обыч- ный размер ПО превышает сотни тысяч операторов. Для эффективного создания по- добных программных продуктов специалист должен иметь представление о методах анализа, проектирования, реализации и тестирования программных систем; ориентиро- ваться в существующих подходах и технологиях.
    Проектирование программных продуктов, как и любых других сложных систем, выполняется поэтапно с использованием блочно-иерархического подхода, который подразумевает разработку продукта по частям с последующей сборкой. На каждом эта- пе выполняются определенные проектные операции, которые соответствующим обра- зом документируются. Последовательность выполнения этапов и их результаты непо- средственно следуют из используемой модели жизненного цикла программного обес- печения (ПО).
    Кроме того, реализованная система также должна сопровождаться разного рода программной документацией, например, спецификацией, руководством программиста, руководством пользователя, руководством оператора. Таким образом, владение навы- ками создания программной документации, безусловно, необходимо будущему разра- ботчику ПО.
    1. ЖИЗНЕННЫЙ ЦИКЛ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ
    Жизненным циклом ПО называют период от момента появления идеи создания не- которого ПО до момента завершения его поддержки фирмой-разработчиком или фир- мой, выполнявшей сопровождение.
    Состав процессов жизненного цикла регламентируется международным стандар- том ISO/IEC 12207: 1995 «Information Technology – Software Life Cycle Process» («Ин- формационные технологии – Процессы жизненного цикла ПО»). ISO – International
    Organization of Standardization – Международная организация по стандартизации, IEC –
    International Electrotechnical Commission – Международная комиссия по электротехни- ке.
    Этот стандарт только называет и определяет процессы жизненного цикла, не кон- кретизируя в деталях, как реализовывать или выполнять действия и задачи, включен- ные в эти процессы. При этом процесс жизненного цикла определяется как совокуп- ность взаимосвязанных действий, преобразующих некоторые входные данные в выход-

    5
    ные. Каждый процесс характеризуется определенными задачами и методами их реше- ния, а также исходными данными и результатами. Так в соответствии со стандартом все процессы делятся на три группы:
    * основные процессы (приобретение, поставка, разработка, эксплуатация, сопрово- ждение);
    * вспомогательные процессы; обеспечивают выполнение основных процессов (до- кументирование, управление конфигурацией, обеспечение качества, верификация, ат- тестация, оценка, аудит);
    * организационные процессы (управление проектами, создание инфраструктуры проекта, определение, оценка и улучшение жизненного цикла ПО, обучение).
    Указанные действия можно условно сгруппировать, выделив следующие основные этапы (в скобках указаны соответствующие стадии разработки по ГОСТ 19.102–77
    «Стадии разработки»):
    • постановка задачи (стадия «Техническое задание»);
    • анализ требований и разработка спецификаций (стадия «Эскизный проект»);
    • проектирование (стадия «Технический проект»);
    • реализация (стадия «Технический проект»).
    Постановка задачи. В процессе постановки задачи четко формулируют назначе- ние ПО и определяют основные функциональные, эксплуатационные и технологиче-
    ские требования к нему. Функциональные требования определяют функции разрабаты- ваемого ПО, эксплуатационные – особенности его эксплуатации, а технологические – особенности процесса разработки: подход, архитектуру, технологию, среду или язык программирования.
    Требования к ПО, имеющему прототипы, обычно выполняют по аналогии, учиты- вая структуру и характеристики уже существующих программных продуктов. Для формулирования требований к ПО, не имеющему аналогов, иногда необходимо провес- ти специальные исследования, называемые предпроектными. В процессе таких иссле- дований определяют разрешимость задачи, возможно, разрабатывают методы ее реше- ния (если они новые) и устанавливают наиболее существенные характеристики разра- батываемого ПО. Обычно этап постановки задачи заканчивается разработкой техниче-
    ского задания.
    Анализ требований и определение спецификаций. Спецификациями называют точное формализованное описание функций и ограничений разрабатываемого ПО. Со-

    6
    ответственно различают функциональные и эксплуатационные спецификации. Сово- купность спецификаций представляет собой общую логическую модель проектируемо- го ПО.
    Для получения спецификаций выполняют анализ требований технического зада- ния, формулируют содержательную постановку задачи, выбирают математический ап- парат формализации, строят модель предметной области, определяют подзадачи и вы- бирают или разрабатывают методы их решения. Часть спецификаций может быть опре- делена в процессе предпроектных исследований и, соответственно, зафиксирована в техническом задании.
    На этапе также целесообразно сформировать тесты для поиска ошибок в проекти- руемом ПО, обязательно указав ожидаемые результаты.
    Проектирование. Задачей этого этапаявляется определение подробных специфи- каций разрабатываемого ПО.
    Процесс проектирование сложного ПО обычно включает:
    * проектирование общей структуры – определение основных частей (компонентов) и их взаимосвязей по управлению и данным;
    * декомпозицию компонентов и построение структурных иерархий в соответствии с рекомендациями блочно-иерархического подхода;
    * проектирование компонентов.
    Результатом проектирования является детальная модель разрабатываемого ПО вместе со спецификациями его компонентов всех уровней. Тип модели зависит от вы- бранного или заданного подхода (структурный, объектно-ориентированный или ком- понентный) и конкретной технологии проектирования. Однако в любом случае процесс проектирования охватывает как проектирование обрабатывающих программ (подпро- грамм) и определение взаимосвязей между ними, так и проектирование данных, с кото- рыми взаимодействуют эти программы или подпрограммы.
    Принято различать также два аспекта проектирования:
    * л о г и ч е с к о е п р о е к т и р о в а н и е , включающее те проектные операции, кото- рые непосредственно не зависят от имеющихся технических и программных средств, составляющих среду функционирования будущего программного продукта;
    * ф и з и ч е с к о е п р о е к т и р о в а н и е , котороезаключается впривязке к конкрет- ным техническим и программным средствам среды функционирования.

    7
    Реализация.Реализация представляет собой процесс поэтапного написания кодов программы на выбранном языке программирования (кодирование), их тестирование и отладку.
    Сопровождение. Сопровождениеэто процессвыпуска и внедрения новых версий программного продукта.
    Причинами выпуска новых версий могут служить:
    * необходимость исправления ошибок, выявленных в процессе эксплуатации пре- дыдущих версий;
    * необходимость совершенствования предыдущих версий, например, улучшения интерфейса или расширения состава выполняемых функций;
    * изменение среды функционирования, например, появление новых технических средств и/или программных продуктов.
    На этом этапе в программный продукт вносят необходимые изменения, которые могут потребовать пересмотра проектных решений, принятых на любом этапе.
    В настоящее время при разработке ПО в основном используется спиральная схема
    (рис. 1.1), согласно которой программный продукт создается не сразу, а итерационно с использованием прототипов. Прототипом называют действующий программный про- дукт, реализующий отдельные функции и внешние интерфейсы разрабатываемого ПО.
    При использовании спиральной схемы на первой итерации, как правило, специфи- цируют, проектируют, реализуют и тестируют интерфейс пользователя. На второй – добавляют некоторый ограниченный набор функций. На последующих этапах этот на- бор расширяют, наращивая возможности данного продукта.
    Основным достоинством данной схемы является то, что, начиная с некоторой ите- рации, обеспечившей определенную функциональную полноту, продукт можно пре- доставлять пользователю. Это, в свою очередь, позволяет:
    * сократить время до появления первых версий программного продукта;
    * заинтересовать большое количество пользователей, обеспечивая быстрое про- движение следующих версий продукта на рынке;
    * ускорить формирование и уточнение спецификаций за счет появления практики использования продукта;
    * уменьшить вероятность морального устаревания системы за время разработки.
    ПоявлениеCASE-технологий (Computer-Aided Software/System Engineering – Авто- матизированная технология разработки ПО/систем) снизило трудоемкость отдельных

    8
    этапов жизненного цикла ПО за счет автоматизации трудоемких операций. Современ- ные CASE-средства существенно увеличивают производительность труда программи- стов, улучшают качество создаваемого ПО и автоматизируют формирование проектной документации для всех этапов жизненного цикла в соответствии с современными стан- дартами.
    2. ПОСТАНОВКА ЗАДАЧИ. РАЗРАБОТКА ТЕХНИЧЕСКОГО ЗАДАНИЯ
    Процесс создания нового ПО начинают с постановки задачи, в процессе которой определяют требования к программному продукту. Это один из наиболее ответствен- ных этапов в процессе создания ПО. От того насколько полно определены функции бу- дущего программного продукта и другие требования к нему, во многом зависит стои- мость разработки и ее качество.
    Техническое задание представляет собой документ, в котором формулируют ос- новные цели разработки, требования к программному продукту, определяют сроки и этапы разработки и регламентируют процесс приемно-сдаточных испытаний. В форму- лировании технического задания участвуют как представители заказчика, так и пред- ставители исполнителя. В основе этого документа лежат исходные требования заказ- чика, анализ передовых достижений техники, результаты выполнения научно- исследовательских работ, предпроектных исследований, научного прогнозирования и т.п.
    Основными факторами, определяющими характеристики разрабатываемого ПО, являются:
    * исходные данные и требуемые результаты, которые определяют функции про- граммы или системы;
    * среда (программная и аппаратная), в которой разрабатываемое ПО будет функ- ционировать, может быть задана, а может выбираться для обеспечения параметров, указанных в техническом задании;
    * возможное взаимодействие с другим ПО и/или конкретными техническими сред- ствами – также может быть определено, а может выбираться исходя из набора выпол- няемых функций.
    Разработка технического задания выполняется в следующей последовательности.
    Прежде всего, устанавливают набор выполняемых функций, а также перечень и харак- теристики исходных данных. Затем определяют набор результатов, их характеристики

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

    10
    * требования к функциональным характеристикам;
    * требования к надежности;
    * условия эксплуатации;
    * требования к составу и параметрам технических средств;
    * требования к информационной и программной совместимости;
    * требования к маркировке и упаковке;
    * требования к транспортированию и хранению;
    * специальные требования.
    Наиболее важным из перечисленных выше является подраздел Требований к функ-
    циональным характеристикам. В этом разделе должны быть перечислены выполняе- мые функции и описаны состав, характеристики и формы представления исходных данных и результатов. В этом же разделе при необходимости указывают критерии эф- фективности: максимально допустимое время ответа системы, максимальный объем используемой оперативной и/или внешней памяти и др.
    В подразделе Требования к надежности указывают уровень надежности, который должен быть обеспечен разрабатываемой системой и время восстановления системы после сбоя. Для систем с обычными требованиями к надежности в этом разделе иногда регламентируют действия разрабатываемого продукта по увеличению надежности ре- зультатов (контроль входной и выходной информации, создание резервных копий про- межуточных результатов и т. п.).
    В подразделе Условия эксплуатации, указывают особые требования к условиям эксплуатации: температуре окружающей среды, относительной влажности воздуха и т.п. Как правило, подобные требования формулируют, если разрабатываемая система будет эксплуатироваться в нестандартных условиях или использует специальные внешние устройства, например, для хранения информации. Здесь же указывают вид об- служивания, необходимое количество и квалификация персонала.
    В подразделе Требования к составу и параметрам технических средств указывают необходимый состав технических средств с указанием их основных технических харак- теристик: тип микропроцессора, объем памяти, наличие внешних устройств и т.п. При этом часто указывают два варианта конфигурации: минимальный и рекомендуемый.
    В подразделе Требования к информационной и программной совместимости при необходимости можно задать методы решения, определить язык или среду программи- рования для разработки, а также используемую операционную систему и другие сис-

    11
    темные и пользовательские программные средства, с которыми должно взаимодейство- вать разрабатываемое ПО. В этом же разделе при необходимости указывают, какую степень защиты информации необходимо предусмотреть.
    В разделе Требования к программной документации указывают необходимость на- личия руководства программиста, руководства пользователя, руководства системного программиста, пояснительной записки и т.п. На все эти типы документов также суще- ствуют ГОСТы.
    В разделе Технико-экономические показатели рекомендуется указывать ориенти- ровочную экономическую эффективность и экономические преимущества по сравне- нию с существующими аналогами.
    В разделе Стадии и этапы разработки указывают стадии разработки, этапы и со- держание работ с указанием сроков разработки и исполнителей.
    В разделе Порядок контроля и приемки указывают виды испытаний и общие тре- бования к приемке работы.
    В приложениях при необходимости приводят: перечень научно-исследовательских работ, обосновывающих разработку; схемы алгоритмов, таблицы, описания, обоснова- ния, расчеты и другие документы, которые могут быть использованы при разработке.
    В зависимости от особенностей разрабатываемого продукта разрешается уточнять содержание разделов, т.е. использовать подразделы, вводить новые разделы или объе- динять их.
    Пример титульного листа технического задания на учебный программный продукт представлен в приложении 1.
      1   2   3   4   5   6


    написать администратору сайта