Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология Образование Политология Производство Психология Стандартизация Технологии |
Соответствующие темы учебника
Тема №2. Определение требований к программному обеспечению и исходных данных для его проектирования Общая постановка задачи Цель работы : освоить методику составления технического задания на программный продукт. Задание: 1. Изучить методический материал, представленный в теоретической части лабораторной работы. 2. Разработать техническое задание для программы, представленной в Вашем варианте задания. 3. Составить отчет по работе. Варианты задач для подготовки технического задания Каждый студент готовит техническое задание для индивидуального варианта программы. Саму программу писать не требуется. Предпочтительно выбрать ближайший из следующих вариантов: 1) Программа, которую вы создаете в рамках своей курсовой работы (или созданной в рамках курсовой работы прошлого курса). 2) Если ваша курсовые работы не подразумевали создания программы, нужно выбрать задачу, которая может быть связана с темой вашей курсовой, для чего можно проконсультироваться с руководителем курсовой работы, с преподавателем данной дисциплины, а также ознакомиться со списком вариантов, приведенных ниже для гуманитарных факультетов. 3) Ниже приведен список вариантов задач, которые могут себе взять для составления технического задания студенты гуманитарных факультетов. Мех. - мат., физ. факультет и ФИИТ берут задания по пунктам 1) и 2).
Список варинатов (вариант берется по вашему номеру в списке группы, который имеется у старосты) Вариант 1. Дана шахматная доска размером NxN. Написать программу, которая позволяет игроку расположить на доске M ферзей и проверяет, что ни один ферзь не бьет другого. Если это не так, то «неправильные ферзи» помечаются другим цветом. Технические требования: Значения N(4≤ N≤ 10) и M(4≤ M≤ 9) хранятся в файле Input.txt. В центре экрана отображается шахматная доска. В левой или правой части экрана M фигурок ферзей. Управление фигурами осуществляется с помощью клавиатуры. Предусмотреть запись полученной шахматной конфигурации в файл Output.txt. Вариант 2. Дана шахматная доска размером NxN. Написать программу, которая позволяет игроку расположить на доске M коней и проверяет, что ни один конь не бьет другого. Если это не так, то «неправильные кони» помечаются другим цветом. Технические требования: Значения N(4≤ N≤ 10) и M(4≤ M≤ 9) хранятся в файле Input.txt. В центре экрана отображается шахматная доска. В левой или правой части экрана M фигурок коней. Управление фигурами осуществляется с помощью клавиатуры. Предусмотреть запись полученной шахматной конфигурации в файл Output.txt. Вариант 3. Дана карта местности с обозначенными на ней N пунктами. Написать программу, которая позволяет пользователю пометить два соседних пункта и увидеть расстояние между этими двумя пунктами. Технические требования: Значение N(4≤ N≤ 15), координаты пунктов и расстояния между ними хранятся в файле Input.txt. В центре экрана схематично отображается карта местности. В левой или правой части отображается расстояние между выбранными пунктами. Выбор пунктов осуществляется с помощью клавиатуры. Предусмотреть запись выбранного расстояния в файл Output.txt. Вариант 4. Дано клеточное поле размером N*N клеток. Написать программу, создающую фигуру, составленную из простых геометрических фигур: прямоугольника и треугольника. Пользователь вычисляет площадь полученной фигуры, а компьютер контролирует правильность вычислений. Технические требования: Значение N(10≤ N≤ 20), размер одной клетки и расположение исходных позиций прямоугольников и треугольников хранится в файле Input.txt. В центре экрана отображается клеточное поле. Добавление и удаление геометрических фигур осуществляется с помощью клавиатуры. Предусмотреть запись полученной геометрической фигуры в файл Output.txt. Вариант 5. Железнодорожный сортировочный узел устроен так, как показано на рисунке. На правой стороне собрано в произвольном порядке несколько вагонов двух типов по N штук. Тупик может вмещать все 2N вагонов. Пользуясь тремя сортировочными операциями: В, ИЗ, МИМО, пользователь должен собрать вагоны на левой стороне так, чтобы типы чередовались. Технические требования: Значение N(4≤ N≤ 10), размер одного вагона и расположение исходных позиций вагонов хранится в файле Input.txt. В центре экрана отображается сортировочный узел. Управление вагонами осуществляется с помощью клавиатуры. Предусмотреть запись потраченного на сортировку времени в файл Output.txt. Вариант 6. Двум игрокам раздаются по N костей домино. Игроки поочередно делают ход. Компьютер контролирует правильность ходов игроков. В качестве одного из игроков можно взять «компьютер». Игра заканчивается, если у одного из игроков закончились кости или у всех игроков нет подходящих вариантов. Технические требования: Значение N(10≤ N≤ 20) в файле Input.txt. В левой и правой части экрана отображаются кости игроков. Управление игрой осуществляется с помощью клавиатуры. Предусмотреть запись игры в файл Output.txt. Вариант 7. Написать программу, имитирующую игру в теннис. Игровое поле представляет собой прямоугольник размером NxM, по которому движется теннисный мячик. С правой стороны располагается «ракетка» игрока, которую можно передвигать вверх или вниз. Игра продолжается до тех пор, пока игрок не пропустит мячик K раз. В качестве второго игрока может выступать компьютер или другой игрок. Технические требования: Значения N(10≤ N≤ 20), M(10≤ M≤ 20) и К(3≤ K≤ 10) хранятся в файле Input.txt. В центре экрана отображается игровое поле. В левой или правой части экрана счет игроков. Управление игрой осуществляется с помощью клавиатуры. Предусмотреть запись потраченного на игру времени в файл Output.txt. Вариант 8. Написать программу для выполнения простейших арифметических расчетов (калькулятор). Технические требования: Размер калькулятора, его расположение относительно начала координат, размер кнопок, цветовая гамма определяется в файле Input.txt. Управление калькулятором осуществляется с помощью клавиатуры. Предусмотреть запись рассчитанного значения в файл Output.txt. Вариант 9. Написать программу для выполнения тригонометрических расчетов (тригонометрический калькулятор). Технические требования: Размер калькулятора, его расположение относительно начала координат, размер кнопок, цветовая гамма определяется в файле Input.txt. Управление калькулятором осуществляется с помощью клавиатуры. Предусмотреть запись рассчитанного значения в файл Output.txt. Вариант 10. Написать программу, обучающую расстановке десятичных чисел на числовой прямой. В первой части программа предлагает пользователю дробные десятичные числа в диапазоне от 1 до 10 (0, 5; 8, 4 и т.д.). Во второй части программа отмечает на числовой прямой десятичные числа и предлагает пользователю ввести их с клавиатуры. В случае правильного ответа программа сообщает об этом пользователю, а в случае неправильного ответа показывает расположение заданного числа на числовой прямой. Технические требования: Длина прямой (от 100 до 500 пикселей) и количество чисел N(10≤ N≤ 20) определяется в файле Input.txt. Линия рисуется по центру экрана. Числа хаотично расположены вдоль границ экрана. Выбор чисел и их расположение на прямой осуществляется с помощью клавиатуры. Предусмотреть запись расставленных чисел в файл Output.txt. Вариант 11. Составить программу, имитирующую работу часов с часовой, минутной и секундной стрелкой в виртуальном режиме времени. Пользователь может с помощью стрелок управления курсором замедлять или ускорять ход виртуального времени. Технические требования: Диаметр циферблата часов, начальное время и длительность секунды виртуального времени задается в файле Input.txt. Часы рисуются по центру экрана. Регулировка времени осуществляется с помощью клавиатуры. Предусмотреть возможность остановки часов и записи текущего времени в файл Output.txt. Вариант 12. Доска имеет N колышков. На первом нанизано M дисков убывающего вверх диаметра. Расположить диски в том же порядке на другом колышке. Диски можно перекладывать с колышка на колышек по одному. Класть больший диск на меньший не разрешается. По запросу пользователя программа должна продемонстрировать правильную раскладку дисков. Технические требования: Значения N(3≤ N≤ 6), M(3≤ M≤ 10) хранятся в файле Input.txt. В центре экрана отображаются колышки. В левой или правой части экрана количество ходов игрока. Управление игрой осуществляется с помощью клавиатуры. Предусмотреть запись потраченного на игру времени и количество сделанных ходов в файл Output.txt. Вариант 13. На квадратном поле размером NхN с помощью датчика случайных чисел расставлены M фишек с номерами от 1 до M. Имеется одна свободная позиция. Игрок должен расставить фишки по возрастанию их номеров. Передвигать фишки можно только на соседнюю свободную позицию. Технические требования: Значения N(4≤ N≤ 8), M(15≤ M≤ 63) хранятся в файле Input.txt. Должно соблюдаться соотношение N*N-1=M. Игровое поле располагается в центре экрана. В левой или правой части экрана количество ходов игрока. Управление игрой осуществляется с помощью клавиатуры. Предусмотреть запись потраченного на игру времени и количество сделанных ходов в файл Output.txt. Вариант 14. На квадратном поле размером NхN изображается симметричная фигура, состоящая из вложенных многоугольников. Программа разрезает полученное изображение на равные прямоугольники размерами MxM и перемешивает их в произвольном порядке. После перемешивания все части картинки кроме одной (эта часть на экране будет пустой) располагаются на экране. Пользователю необходимо собрать целую картинку. Можно менять местами только пустую часть картинки и любую соседнюю с ней. Когда игрок соберет картинку, программа дорисует пустую часть и объявит о победе. Технические требования: Значения N(10≤ N≤ 20), M(3≤ M≤ 6) хранятся в файле Input.txt. Игровое поле располагается в центре экрана. В левой или правой части экрана отображается количество ходов игрока. Управление игрой осуществляется с помощью клавиатуры. Предусмотреть запись потраченного на игру времени и количество сделанных ходов в файл Output.txt. Вариант 15. Дан квадрат размером NхN клетки. Квадрат имеет подквадраты размером MxM, которые можно вращать по часовой стрелке. В ячейках подквадратов с помощью датчика случайных чисел расставлены русские буквы от А до Я. Игроку надо получить упорядоченную по алфавиту последовательность букв в квадрате. Упорядоченная последовательность может располагаться либо в строке, либо в столбце. Технические требования: Значения N(10≤ N≤ 20), M(3≤ M≤ 6) хранятся в файле Input.txt. Игровое поле располагается в центре экрана. В левой или правой части экрана отображается количество ходов игрока. Управление игрой осуществляется с помощью клавиатуры. Предусмотреть запись потраченного на игру времени и количество сделанных ходов в файл Output.txt. Вариант 16. Дан квадрат размером NхN клетки. Квадрат имеет подквадраты размером MxM, которые можно вращать против часовой стрелке. В ячейках подквадратов с помощью датчика случайных чисел расставлены числа. Игроку надо получить упорядоченную по неубыванию последовательность букв в квадрате. Упорядоченная последовательность может располагаться либо в строке, либо в столбце. Технические требования: Значения N(10≤ N≤ 20), M(3≤ M≤ 6) хранятся в файле Input.txt. Игровое поле располагается в центре экрана. В левой или правой части экрана отображается количество ходов игрока. Управление игрой осуществляется с помощью клавиатуры. Предусмотреть запись потраченного на игру времени и количество сделанных ходов в файл Output.txt. Вариант 17. Дан круг диаметром N. Внутри круга расположен шарик диаметром M. Промоделировать движение шарика внутри круга. Шарик движется по прямым линиям. Изменение угла движения после столкновения с кругом может быть случайной величиной. Шарик не может вылететь за пределы круга. Пользователь может варьировать скорость движения шарика с помощью стрелок управления курсором. Технические требования: Значения N(200≤ N≤ 600), M(50≤ M≤ 100) хранятся в файле Input.txt. Круг располагается в центре экрана. В левой или правой части экрана отображается количество столкновений шарика с кругом и его скорость. Управление игрой осуществляется с помощью клавиатуры. Предусмотреть запись количества столкновений в файл Output.txt. Вариант 18. Дан квадрат со стороной N. Внутри квадрата расположен шарик диаметром M. Промоделировать движение шарика внутри квадрата. Шарик движется по прямым линиям. Изменение угла движения после столкновения с квадратом может быть случайной величиной. Шарик не может вылететь за пределы квадрата. Пользователь может варьировать скорость движения шарика и менять направление его движения с помощью стрелок управления курсором. Технические требования: Значения N(200≤ N≤ 600), M(50≤ M≤ 100) хранятся в файле Input.txt. Квадрат располагается в центре экрана. В левой или правой части экрана отображается количество столкновений шарика с квадратом и его скорость. Управление игрой осуществляется с помощью клавиатуры. Предусмотреть запись количества столкновений в файл Output.txt. Вариант 19. Даны два шарика диаметром M. Промоделировать движение шариков по всей плоскости экрана. Шарики могут двигаться по прямым линиям. Изменение угла движения после столкновения с границей экрана или друг с другом может быть случайной величиной. Шарик не может вылететь за пределы квадрата. Пользователь может варьировать скорости движения шариков с помощью стрелок управления курсором. Технические требования: Значение M(50≤ M≤ 100) хранятся в файле Input.txt. Квадрат располагается в центре экрана. В левой или правой части экрана отображается количество столкновений шариков друг с другом и их скорости. Управление игрой осуществляется с помощью клавиатуры. Предусмотреть запись количества столкновений в файл Output.txt. Вариант 20. Играющий вводит любое число в диапазоне от 2 до 12 и ставку, которую он делает в этот ход. Программа с помощью датчика случайных чисел дважды выбирает числа от 1 до 6 («бросает кубик», на гранях которого цифры от 1 до 6). Если сумма выпавших цифр меньше 7 и играющий ввел число меньше 7, он выигрывает сделанную ставку. Если сумма выпавших чисел больше 7 и играющий ввел число больше 7, он также выигрывает сделанную ставку. Если играющий угадал сумму цифр, он получает в четыре раза больше очков, чем сделанная ставка. Ставка проиграна, если не произошла ни одна из описанных ситуаций. В начальный момент у играющего N очков Технические требования: Значение N(100≤ N≤ 500) хранится в файле Input.txt. Кубик располагается в центре экрана и показывает цифры в виде соответствующего количества точек. В левой или правой части экрана отображается количество сделанных ходов. Управление игрой осуществляется с помощью клавиатуры. Предусмотреть запись количества сделанных ходов и полученных очков в файл Output.txt. Вариант 21. Играющий выбирает одну из N лошадей, состязающихся на бегах, и выигрывает, если его лошадь приходит первой. Скорость передвижения лошадей на разных этапах выбирается программой с помощью датчика случайных чисел в диапазоне от M1 до M2. Технические требования: Значения N(3≤ N≤ 7), М1(2≤ M1≤ 5) и М2(6≤ M2≤ 10) хранятся в файле Input.txt. Ипподром располагается в центре экрана и показывает движение лошадей. В левой или правой части экрана отображается количество сделанных ходов. Управление игрой осуществляется с помощью клавиатуры. Предусмотреть запись количества сделанных ходов и выигранных ставок в файл Output.txt. Вариант 22. Программа выбирает одно слово из N слов и рисует на экране столько прочерков, сколько букв в этом слове. Отгадать, какое слово загадано программой. В каждый ход играющий указывает одну букву. Если названа буква, входящая в состав слова, она подставляется вместо соответствующего прочерка. В противном случае играющий теряет одно очко. В начальный момент у играющего M очков. Все буквы нарисованы. Технические требования: Количество слов N(5≤ N≤ 10), М(10≤ M≤ 15) и словарь слов хранятся в файле Input.txt. Слово располагается в центре экрана. В левой или правой части экрана отображается количество сделанных ходов. Управление игрой осуществляется с помощью клавиатуры. Предусмотреть запись количества сделанных ходов и отгаданных слов в файл Output.txt. Вариант 23. Составить программу обучения устному счету. На каждом шаге должны предлагаться числа и арифметические действия, которые следует выполнить над этими числами. Оформить обучение в виде игры. Технические требования: Количество арифметических операций и количество цифр в числах хранится в файле Input.txt. Числа и операции отображаются на экране большими буквами (высотой примерно 2 см) В нижней части экрана отображается количество правильных решений. Управление игрой осуществляется с помощью клавиатуры. Предусмотреть запись количества правильных решений в файл Output.txt. Вариант 24. Составить программу, имитирующую работу в простейшем графическом редакторе. Пользователь может выбрать цвет и одну из трех фигур: прямоугольник, линию, окружность. Программой можно задавать расположение, форму, размер и цвет фигуры на рабочем поле редактора. Предусмотреть запись фигур в файл и чтение фигур из файла. Технические требования: Формат файла может быть произвольным. Имя файла запрашивается у пользователя перед началом работы. Если файл существует, то выполняется чтение данных и отображение фигур, записанных в файле. Если файла не существует, то в него записываются координаты нарисованных фигур. Управление игрой осуществляется с помощью клавиатуры. Вариант 25. Калейдоскоп представляет собой правильный N-угольник, разделенный на N правильных треугольников. Пользователь выбирает один из треугольников и с помощью датчика случайных чисел этот треугольник рассекается M прямыми. Каждая из полученных частей треугольника закрашивается цветом, выбранным случайным образом. После этого изображение в каждом следующем треугольнике (по часовой стрелке) получается симметричным отображением относительно общей стороны обоих треугольников. Технические требования: Значение N(4, 6, 8) и M М(2≤ M≤ 6) хранится в файле Input.txt. Калейдоскоп располагается в центре экрана и в начальном состоянии все треугольники черные. Управление игрой осуществляется с помощью клавиатуры. Предусмотреть возможность очистки калейдоскопа и записи полученных цветов в файл Output.txt. Вариант 26. Игровое поле представляет собой квадрат размером NxM, по которому случайным образом рассыпано K алмазов. Случайным образом выбирается позиция «гномика». Игрок должен управляя «гномиком» собрать все алмазы за наименьшее количество шагов. Технические требования: Значения N(10≤ N≤ 20), M(10≤ M≤ 20) и К(3≤ K≤ 10) хранятся в файле Input.txt. В центре экрана отображается игровое поле. В левой или правой части экрана отображается количество сделанных шагов. Управление игрой осуществляется с помощью клавиатуры. Предусмотреть запись конфигурации игрового поля и количество шагов в файл Output.txt. Вариант 27. Игровое поле представляет собой квадрат размером NxM, по которому случайным образом установлено K лазеров. Каждый лазер «бъет» только в одном направлении до стены квадрата. Случайным образом выбирается позиция «робота» и позиция выхода. Игрок должен управляя «роботом» пройти через лабиринт лазерных лучей. Технические требования: Значения N(10≤ N≤ 20), M(10≤ M≤ 20) и К(3≤ K≤ 10) хранятся в файле Input.txt. В центре экрана отображается игровое поле. В левой или правой части экрана отображается количество сделанных шагов. Управление игрой осуществляется с помощью клавиатуры. Предусмотреть запись конфигурации игрового поля и количество шагов в файл Output.txt. Вариант 28. По дороге движется колобок. На дороге лежат различные предметы. Одни из них являются призами и добавляют какое-то количество очков, другие же наоборот – очки отнимают. Колобок может прыгать, ускорять и замедлять движение. Технические требования: Размер колобка, количество препятствий («положительных» и «отрицательных»), максимальная скорость колобка задаются в файле Input.txt. Предусмотреть запись количества набранных очков в файл Output.txt. Вариант 29. Программа выбирает с помощью датчика случайных чисел четырехзначное число с разными цифрами. Нужно угадать это число. На каждом шаге играющий называет четырехзначное число, а программа сообщает, сколько цифр числа угадано (быки) и сколько цифр угадано и стоит на нужном месте (коровы). Например, если программой загадано число 1294, а играющий назвал 1423, он получает ответ «одна корова, три быка». Контрольные вопросы к защите 1. Какой стандарт устанавливает порядок построения и оформления технического задания на разработку программного изделия? 2. Что такое техническое задание? 3. Какие разделы содержит техническое задание? 4. Какие подразделы должен содержать раздел «Технические требования к программе или программному изделию»? 5. Что указывается в требованиях к функциональным характеристикам? 6. Что указывается в требования к составу и параметрам технических средств? 7. Что указывается в требования к информационной и программной совместимости? 8. Какую информацию приводят в Приложениях к техническому заданию? Способ оценки результатов Оценка по лабораторной работе формируется по итогам защиты лабораторной работы. Отличную оценку можно получить только в том случае, если: 13. Работа выполнена правильно. 14. Отчет составлен в соответствии с требованиями. 15. Даны правильные ответы на все вопросы карточки. Хорошую оценку можно получить только в том случае, если: 16. Работа выполнена правильно. 17. Отчет составлен в соответствии с требованиями. 18. Даны правильные ответы на 3-4 вопроса карточки. Удовлетворительная оценка проставляется, если: 19. Работа выполнена с незначительными ошибками. 20. Отчет полностью не соответствует требованиям. 21. Даны правильные ответы на 2 вопроса карточки. Неудовлетворительная оценка проставляется, если: 22. Работа выполнена с ошибками. 23. Отчет не соответствует требованиям. 24. Дан правильный ответ на 1 вопрос карточки.
Лабораторная работа №3. Разработка диаграмм переходов состояний и функциональных диаграмм. Требования к содержанию Отчет должен состоять из следующих пунктов: 1. Заголовок лабораторной работы (название и цель работы). 2. Задание к лабораторной работе. 3. Постановка задачи Вашего варианта. 4. Функциональная диаграмма информационной системы. 5. Описание требований к поведению системы во времени и к ее реакциям на внешние события. 6. Таблица или матрица переходов. 7. Диаграмма переходов-состояний. 8. Ответы на контрольные вопросы.
Теоретическая часть Метод структурного анализа Метод структурного анализа базируется на ряде общих принципов, перечисленных ниже. 1. Принцип декомпозиции и иерархического упорядочивания, который заключается в разбиении большой и сложной проблемы на множество меньших независимых подзадач, легких для понимания и решения. Причем декомпозиция может осуществляться и для уже выделенных подзадач. В результате такой последовательной декомпозиции специфицируемая система может быть понята и построена по уровням иерархии, каждый из которых добавляет новые детали. 2. Принцип абстрагирования заключается в выделении существенных с некоторых позиций аспектов системы и отвлечения от несуществующих с целью представления проблемы в удобном общем виде. 3. Принцип формализации заключается в необходимости строгого методологического подхода и решению проблемы. 4. Принцип сокрытия заключается в " сокрытии" несущественной на определенном этапе информации: каждая часть " знает" только то, что необходимо. 5. Принцип полноты заключается в контроле на присутствие лишних элементов. 6. Принцип непротиворечивости заключается в обоснованности и согласованности элементов. 7. Принцип логической независимости заключается в концентрации внимания на логическом проектировании для обеспечения независимости от физического исполнения. 8. Принцип независимости данных заключается в том, что модели данных должны быть проанализированы и спроектированы независимо от процессов их логической обработки, а также от их физической структуры и распределения в памяти вычислительной системы. 9. Принцип структурирования данных заключается в том, что данные должны быть структурированы и иерархически организованы. Руководствуясь всеми принципами в комплексе, можно на этапе специфицирования понять, что будет представлять из себя разрабатываемое программное обеспечение, обнаружить промахи и недоработки, что, в свою очередь, облегчит работы на последующих этапах жизненного цикла. Для целей специфицирования систем в структурном анализе используются три группы средств, иллюстрирующих: · функции, которые система должна выполнять; · отношения между данными; · зависящее от времени поведение системы (аспекты реального времени). Для этого применяются: · DFD (Data Flow Diagrams) – диаграммы потоков данных совместно со словарями данных и спецификациями процессов; · ERD (Entity–Relationship Diagrams) – диаграммы сущность–связь; · STD (State Transition Diagrams) – диаграммы переходов–состояний. Все они содержат графические и текстовые средства описания: первые – для удобства демонстрирования компонентов модели, вторые – для обеспечения точного определения ее компонентов и связей. DFD показывает внешние по отношению к системе источники и приемники данных, идентифицирует логические функции (процессы) и группы элементов данных, связывающие одну функцию с другой (потоки), а также идентифицирует хранилища (накопители данных), к которым осуществляется доступ. Структуры потоков данных и определение их компонентов хранятся в словаре данных. Каждая логическая функция может быть детализирована DFD нижнего уровня. Когда детализация исчерпана, переходят к описанию логики с помощью спецификации процесса. Структура каждого хранилища описывается с помощью ERD. В случае наличия реального времени DFD дополняется средствами описания, зависящего от времени поведения системы, которые описываются с помощью STD. Эти связи показаны на рис. 1.
Популярное:
|
Последнее изменение этой страницы: 2017-03-09; Просмотров: 597; Нарушение авторского права страницы