Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Курсовик ПиОА / РуковКП_ПиОА.doc
Скачиваний:
38
Добавлен:
22.03.2015
Размер:
643.58 Кб
Скачать

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

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

Заповедь 2. Хорош тот тест, для которого высока вероятность обнаружить ошибку, а не тот, который демонстрирует правильную работу программы.

Заповедь 3. Готовьте тесты как для правильных, так и для неправильных данных.

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

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

Заповедь 6. Пропускайте заново все тесты, связанные с проверкой работы какой-либо программы ПС или ее взаимодействия с другими программами, если в нее были внесены изменения (например, в результате устранения ошибки).

Приложение 1. ГОСТ по оформлению схем алгоритмов

ГОСУДАРСТВЕННЫЙ СТАНДАРТ СОЮЗА ССР

ГОСТ 19.701-90 (ИСО 5807-85)

Единая система программной документации

Схемы алгоритмов, программ данных и систем.

Условные обозначения и правила выполнения

ОКСТУ 5004

Требования стандарта являются обязательными Дата введения01.01.92

1. ОБЩИЕ ПОЛОЖЕНИЯ

1.1. Схемы алгоритмов программ, данных и систем (далее—схемы) состоят из имеющих заданное значение символов, краткого пояснительного текста и соединяющих линий.

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

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

  1. схемах данных;

  2. схемах программ;

  3. схемах работы системы;

  4. схемах взаимодействия программ;

5) схемах ресурсов системы.

1.4. В стандарте используются следующие понятия:

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

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

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

3. Описание символов

3.1. Символы данных

3.1.1. Основные символы данных

3.1.1.1. Данные

Символ отображает данные, носитель данных не определен.

3.1.1.2. Запоминаемые данные.

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

3.1.2. Специфические символы данных

3.1.2.1. Оперативное запоминающее устройство

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

3.1.2.3. Запоминающее устройство с прямым доступом

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

3.1.2.4. Документ

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

3.1.2.5. Ручной ввод

Символ отображает данные, вводимые; вручную во время обработки с устройств любого типа (клавиатура, переключатели, кнопки, световое перо, полоски со штриховым кодом).

3.1.2.8. Дисплей

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

3.2. Символы процесса

3.2.1. Основные символы процесса

3.2.1.1. Процесс

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

3.2.2. Специфические символы процесса

3.2.2.1. Предопределенный процесс

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

3.2.2.2. Ручная операция

Символ отображает любой процесс, выполняемый человеком.

3.2.2.3. Подготовка

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

3.2.2.4. Решение

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

3.2.2.5. Параллельные действия

Символ отображает синхронизацию двух или более параллельных операций.

Пример.

Примечание. Процессы C, D и Е не могут начаться до тех пор, пока не завершится процесс А; аналогично процесс F должен ожидать завершения процессов B,.C и D, однако процесс С может начаться и (или) завершиться прежде, чем соответственно начнется и (или) завершится процесс D.

3.2.2.6. Граница цикла

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

Пример.

3.3. Символы линии

3.3.1. Основной символ линий

3.3.1.1. Линия

Символ отображает поток данных или управления.

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

3.3.2. Специфические символы линий

3.3.2.1. Передача управления

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

3.3.2.2. Канал связи

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

3 3.2 3. Пунктирная линия

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

Пример 1.

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

Пример2.

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

3.4. Специальные символы

3.4.1. Соединитель

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

3.4.2. Терминатор

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

3.4.3. Комментарий

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

Пример.

3.4.4. Пропуск

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

Пример.

Правила применения символов и выполнения схем

Правила применения символов

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

2. Символы в схеме должны быть расположены равномерно. Следует придерживаться разумной длины соединений и минимального числа длинных линий.

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

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

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

Пример.

Если объем текста, помещаемого внутри символа, превышает его размеры, следует использовать символ комментария.

Если использование символов комментария может запутать или разрушить ход схемы, текст следует помещать на отдельном листе и давать перекрестную ссылку на символ.

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

Пример.

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

Пример.

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

Пример.

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

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

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

Правила выполнения соединений

1. Потоки данных или потоки управления в схемах показываются линиями. Направление потока слева направо и сверху вниз считается стандартным.

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

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

Пример.

3. Две или более входящие линии могут объединяться в одну исходящую линию. Если две или более линии объединяются в одну линию, место объединения должно быть смещено.

Пример.

4. Линии в схемах должны подходить к символу либо слева, либо сверху, а исходить либо справа, либо снизу. Линии должны быть направлены к центру символа.

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

6. Ссылки к страницам могут быть приведены совместно с символом комментария для их соединителей.

Пример.

Специальные условные обозначения

1. Несколько выходов

1.1. Несколько выходов из символа следует показывать:

1) несколькими линиями от данного символа к другим символам;

2) одной линией от данного символа, которая затем разветвляется в соответствующее число линий.

Примеры.

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

Примеры.

2. Повторяющееся представление

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

2.2. Когда несколько символов представляют упорядоченное множество, это упорядочение должно располагаться от переднего (первого) к заднему (последнему).

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

Правила оформления схем алгоритмов:

1. Графические примитивы должны быть, по возможности, одинакового размера.

2. Линии соединения должны быть возможно короче.

3. Избегать пересечений линий.

4. Блоки нумеруются слева направо и сверху вниз (блоки начала и конца программы не нумеруются).

5. Идентификатор блока располагается слева над блоком.

6. Стрелки на линиях соединения ставятся, если направление указывает справа налево или снизу вверх. Если линия имеет изломы - стрелки обязательны.

7. Входные линии подходят слева и сверху, выходные – справа и снизу.

8. Линии соединения должны входить (выходить) в середину блока.

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

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

11. Две или более входящих линии могут объединяться в одну исходящую линию. Если две или более линии объединяются в одну линию, место объединения должно быть смещено.

Приложение 2. Примеры оформления схем алгоритмов

Пример 1..Пример 2. Пример 3.

x<0

x>0

x

x=0

y=y+a[i]

y=a(-x)

y=ax

Приложение 3. Примеры оформления документации

Пример 1.Разработать техническое задание на программу, предназначенную для наглядной демонстрации школьникам графиков функ­ций одного аргумента у =f(x). Разрабатываемая программа должна рассчи­тывать таблицу значений и строить график функций на заданном отрезке по заданной формуле и менять шаг аргумента и границы отрезка. Кроме этого, программа должна запоминать введенные формулы.

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

1. ВВЕДЕНИЕ

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

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

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

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

2. ОСНОВАНИЕ ДЛЯ РАЗРАБОТКИ

Программа разрабатывается на основе учебного плана кафедры «Компьютер­ные системы и сети» и в соответствии с договором кафедры со школой № ... от 5.09.2001.

3. НАЗНАЧЕНИЕ

Основным назначением программы является помощь школьникам при изуче­нии раздела «Исследование функций одного аргумента» школьного курса элемен­тарной алгебры.

4. ТРЕБОВАНИЯ К ПРОГРАММЕ ИЛИ ПРОГРАММНОМУ ИЗДЕЛИЮ

4.1.Требования к функциональным характеристикам

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

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

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

• ввод и корректировку шага аргумента;

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

4.1.2. Исходные данные:

• аналитическое задание функции;

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

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

4.2. Требования к надежности

4.2.1. Предусмотреть контроль вводимой информации.

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

4.3. Требования к составу и параметрам технических средств

4.3.1. Система должна работать на IBMсовместимых персональных компьюте­рах.

4.3.2. Минимальная конфигурация:

• тип процессора.................................Pentiumи выше;

• объем оперативного запоминающего устройства......32 Мб и более.

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

Череповецкий государственный университет

Институт информационных технологий

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

УТВЕРЖДАЮ

Зав. Кафедрой АиСУ

канд.тех.наук, проф. Харахнин К.А.

« » 2007 г.

Разработка приложения WINDOWS

на алгоритмическом языке С++

Техническое задание на курсовую работу

Листов 5

Руководитель

доцент Ходырев В.В.

Исполнитель,

студент гр. АП-11 Петров А.В

Череповец, 2007

Рисунок2. Пример оформления титульного листа технического задания на учебную программу

4.4. Требования к информационной и программной совместимости

Система должна работать под управлением семейства операционных систем Win32 (Windows95,Windows98,Windows2000,WindowsNTи т. п.).

5. ТРЕБОВАНИЯ К ПРОГРАММНОЙ ДОКУМЕНТАЦИИ

5.1. Разрабатываемые программные модули должны быть самодокументирова­ны, т. е. тексты программ должны содержать все необходимые комментарии.

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

5.3. В состав сопровождающей документации должны входить:

5.3.1. Пояснительная записка на 25-30 листах, содержащая описание разработ­ки.

5.3.2. Руководство пользователя.

Пример 2.

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

Текст технического задания приведен ниже.

1. ВВЕДЕНИЕ

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

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

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

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

2. ОСНОВАНИЕ ДЛЯ РАЗРАБОТКИ

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

3. НАЗНАЧЕНИЕ

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

4. ТРЕБОВАНИЯ К ПРОГРАММЕ ИЛИ ПРОГРАММНОМУ ИЗДЕЛИЮ

4.1.Требования к функциональным характеристикам

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

• инициализацию системы (ввод списков групп, перечней изучаемых дисцип­лин в соответствии с учебными планами и т. п.);

• ввод и коррекцию текущей информации о ходе сдачи сессии конкретными студентами;

• хранение информации об успеваемости в течение времени обучения студента;

• получение сведений о текущем состоянии сдачи сессии студентами. 4.1.2. Исходные данные:

• списки студентов учебных групп;

• учебные планы кафедр - перечень предметов и контрольных мероприятий по каждому предмету;

• расписания сессий;

• текущие сведения о сдаче сессии каждым студентом. 4.1.3. Результаты:

• итоги сдачи сессии конкретным студентом;

• итоги сдачи сессии студентами конкретной группы;

• процент успеваемости по всем студентам группы при сдаче конкретного пред­мета в целом на текущий момент;

• проценты успеваемости по всем группам специальности на текущий момент;

• проценты успеваемости по всем группам курса на текущий момент;

• проценты успеваемости по всем курсам и в целом по факультету на текущий момент;

• список задолжников группы на текущий момент;

• список задолжников курса на текущий момент.

4.2. Требования к надежности

4.2.1. Предусмотреть контроль вводимой информации.

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

4.2.3. Обеспечить целостность хранимой информации.

4.3. Требования к составу и параметрам технических средств

4.3.1. Система должна работать на IBMсовместимых персональных компьюте­рах.

4.3.2. Минимальная конфигурация:

• тип процессора..................................Pentiumи выше;

• объем оперативного запоминающего устройства.......32 Мб и более.

4.4. Требования к информационной и программной совместимости

Система должна работать под управлением семейства операционных систем Win32 (Windows95,Windows98,Windows2000,WindowsNTи т. п.).

5. ТРЕБОВАНИЯ К ПРОГРАММНОЙ ДОКУМЕНТАЦИИ

5.1. Разрабатываемые программные модули должны быть самодокументирова­ны, т. е. тексты программ должны содержать все необходимые комментарии.

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

5.3. В состав сопровождающей документации должны входить:

5.3.1. Пояснительная записка на 25-30 листах, содержащая описание разра­ботки.

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

5.3.3. Руководство пользователя.

5.3.4. Графическая часть на трех листах формата А1:

5.3.4.1. Схема структурная программной системы.

5.3.4.2. Диаграмма компонентов данных.

5.3.4.3. Формы интерфейса пользователя.

Пример 3.

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

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

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

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

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

Текст технического задания приведен ниже.

1. ВВЕДЕНИЕ

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

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

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

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

2. ОСНОВАНИЕ ДЛЯ РАЗРАБОТКИ

Система разрабатывается на основании приказа проректора по научной работе МГТУ им. Баумана № ... от .... и в соответствии с планом госбюджетных научно-исследовательских работ факультета ... на 2001—2002 гг.

3. НАЗНАЧЕНИЕ

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

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

4. ТРЕБОВАНИЯ К ПРОГРАММЕ ИЛИ ПРОГРАММНОМУ ИЗДЕЛИЮ

4.1.Требования к функциональным характеристикам

4.1.1. Система должна представлять совокупность методических и программ­ных средств решения следующих задач:

• задачи построения минимального покрывающего дерева;

• поиск покрывающего цикла минимальной длины (задача коммивояжера);

• задачи поиска кратчайшего пути.

4.1.2. Для этих задач должны быть реализованы:

• алгоритм, обеспечивающий получение точного решения;

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

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

4.2. Требования к надежности

4.2.1. Предусмотреть контроль вводимой информации и блокировку некоррект­ных действий пользователя при работе с системой.

4.2.2. Обеспечить корректное завершение вычислений с соответствующей диа­гностикой при превышении имеющихся вычислительных ресурсов.

4.2.3. Обеспечить целостность информации, хранящейся в базе данных.

4.3. Требования к составу и параметрам технических средств

4.3.1. Система должна работать на IBMсовместимых персональных компьюте­рах.

4.3.2. Минимальная конфигурация:

  • тип процессора..................................Pentium;

  • объем оперативного запоминающего устройства.......16 Мб;

  • тип монитора...................................SVGA(15').

4.4. Требования к информационной и программной совместимости

Система должна работать под управлением операционной системы Windows'95 и выше.

5. ТРЕБОВАНИЯ К ПРОГРАММНОЙ ДОКУМЕНТАЦИИ

5.1. Разрабатываемая система должна включать справочную информацию о ра­боте системы и подсказки пользователю.

5.2. В состав сопровождающей документации должны входить:

• пояснительная записка;

• руководство пользователя.

6. ЭТАПЫ РАЗРАБОТКИ

№ Название этапа

Срок

Отчетность

1. Разработка ядра системы

1.1.2000 — 31.3.2000

Описание внутренних форматов, интерфейса и формата данных базы. Реализация системы на уровне интерфейса

2. Разработка методов и ал­горитмов и их реализация для задачи коммивояжера

1.4.2000 — 30.6.2000

Описание методов и алгоритмов. Программные модули, реализующие методы

3. Разработка методов и ал­горитмов и их реализация для задачи построения мимального связывающего дерева и

задачи поиска кратчайшего пути в графе

1.7.2000 — 30.9.2000

Описание методов и алгорит­мов. Программные модули, реализующие методы

4. Тестирование программного продукта и составление программной документации

10.2000 - 31.12.2000

Тесты. Документация. Программный продукт

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

Соседние файлы в папке Курсовик ПиОА