Технология разработки программного обеспечения. Курсовая работа. Симулятор нормальных алгоритмов Маркова на бинарных строках.
Состав работы
|
|
|
|
|
|
Необходимые программы
Работа представляет собой rar архив с файлами (распаковать онлайн), которые открываются в программах:
- Microsoft Word
Описание
Задания
1. Формирование требований
Представьте себя заказчиком и потенциальным пользователем программы, которая решала бы задачу Вашего варианта. Сформируйте требования пользователя к ней. Можно использовать как неформальное описание на естественном языке (русском, английском), так и какой-либо формальный язык для спецификаций.
2. Проектирование
2.1. Выберите и обоснуйте аппаратную платформу, ОС, язык программирования и компилятор для него (или некоторую интегрированную среду разработчика). При необходимости, также можно выбрать какую-либо заемную библиотеку функций. Выбор производится, исходя из сформированных в задании 1 требований, имеющихся у Вас аппаратных ресурсов, знания языков программирования и имеющегося набора программного обеспечения. Нарисуйте в виде блок-схемы алгоритм работы программы.
2.2. Если использован объектно-ориентированный подход, перечислите все классы, их атрибуты и методы, отношение наследования (в виде текста на естественном языке или текста на выбранном языке программирования, поддерживающем объектно-ориентированное программирование, или в виде диаграммы классов).
2.3. Нарисуйте диаграмму с набором модулей, на которые будет разбита программа. Стрелками для каждого модуля укажите, какие модули используются данным модулем.
3. Реализация
3.1. Программирование
По результатам проектирования реализуйте программу на выбранной платформе и на выбранном языке.
В процессе реализации для устранения ошибок пользуйтесь отладчиком. Для этого соберите программу в отладочном варианте. Если Вы выбрали GNU C/C++, то командная строка для сборки может быть такой: gcc –g –o program.bin program.c. Запустите собранный бинарный файл в отладчике. Пример для GCC и GDB приведен в гл. 6.
Результат выполнения задания 3 – все тексты программы и использовавшаяся для ее компиляции команда. Тексты программы оформляются в соответствии с рекомендациями по стилю, которые приведены в гл. 4.
3.2. Документирование – разработка модели
Возьмите за основу модель документации из приложения 2. Предложите измененную версию модели, которая на Ваш взляд была бы удобна для описания программ, подобных построенной в задании 3. Для каждого добавленного, измененного и исключенного пункта объясните причину, почему это было необходимо сделать).
3.3. Документирование
На основе полученной в предыдущем пункте модели документации, составьте документацию для программы, реализованной в этом задании (п. 3.1).
4. Оценка производительности
Проведите измерение времени выполнения получившейся в задании 4 программы зависимости от объема данных. Если Вы выбрали в качестве языка программирования C/C++, то для замеров можно воспользоваться функциями из файла benchmark.1.c (или benchmark.2.c). При этом функция main будет иметь такой вид:
main(){
benchmark_start();
…
рrintf(“duration = %d\n”, benchmark_stop());
}
Сделайте это для нескольких вариантов, изменив флаги для компилятора, которые отвечают за уровни оптимизиции. Можно попробовать и флаги, включающие и выключающие отдельные виды оптимизации. Если Вы выбрали GNU C/C++, то минимальный рекомендуемый набор вариантов для тестирования таков:
gcc –o program.bin program.c
gcc –O2 –o program.bin program.c
gcc –O3 –o program.bin program.c
gcc –O4 –o program.bin program.c
Постройте графики, где по ось X задана в соответствии с Вашим вариантом, а ось Y – время выполнения программы в миллисекундах.
Вариант 9. Симулятор нормальных алгоритмов Маркова на бинарных строках. Вариант аналогичен варианту 3. Но: 1) вместо текстовых строк в качестве преобразуемой строки берутся произвольные бинарные (т.е. такие, где байты могут иметь любые значения от 0 до 255), 2) в правилах вместо символов используются шестнадцатеричные коды.
Пример:
Обрабатываемая строка в шестнадцатеричном представлении:
00 ff ff fe 80 80 79 32
Правила:
ff ff -> fe fe fe
fe fe fe fe -> 00
00 00 -> 01
01 -> 02
Промежуточные и конечный результаты будут такими:
1. 00 fe fe fe fe 80 80 79 32
2. 00 00 80 80 79 32
3. 01 80 80 79 32
4. 02 80 80 79 32
1. Формирование требований
Представьте себя заказчиком и потенциальным пользователем программы, которая решала бы задачу Вашего варианта. Сформируйте требования пользователя к ней. Можно использовать как неформальное описание на естественном языке (русском, английском), так и какой-либо формальный язык для спецификаций.
2. Проектирование
2.1. Выберите и обоснуйте аппаратную платформу, ОС, язык программирования и компилятор для него (или некоторую интегрированную среду разработчика). При необходимости, также можно выбрать какую-либо заемную библиотеку функций. Выбор производится, исходя из сформированных в задании 1 требований, имеющихся у Вас аппаратных ресурсов, знания языков программирования и имеющегося набора программного обеспечения. Нарисуйте в виде блок-схемы алгоритм работы программы.
2.2. Если использован объектно-ориентированный подход, перечислите все классы, их атрибуты и методы, отношение наследования (в виде текста на естественном языке или текста на выбранном языке программирования, поддерживающем объектно-ориентированное программирование, или в виде диаграммы классов).
2.3. Нарисуйте диаграмму с набором модулей, на которые будет разбита программа. Стрелками для каждого модуля укажите, какие модули используются данным модулем.
3. Реализация
3.1. Программирование
По результатам проектирования реализуйте программу на выбранной платформе и на выбранном языке.
В процессе реализации для устранения ошибок пользуйтесь отладчиком. Для этого соберите программу в отладочном варианте. Если Вы выбрали GNU C/C++, то командная строка для сборки может быть такой: gcc –g –o program.bin program.c. Запустите собранный бинарный файл в отладчике. Пример для GCC и GDB приведен в гл. 6.
Результат выполнения задания 3 – все тексты программы и использовавшаяся для ее компиляции команда. Тексты программы оформляются в соответствии с рекомендациями по стилю, которые приведены в гл. 4.
3.2. Документирование – разработка модели
Возьмите за основу модель документации из приложения 2. Предложите измененную версию модели, которая на Ваш взляд была бы удобна для описания программ, подобных построенной в задании 3. Для каждого добавленного, измененного и исключенного пункта объясните причину, почему это было необходимо сделать).
3.3. Документирование
На основе полученной в предыдущем пункте модели документации, составьте документацию для программы, реализованной в этом задании (п. 3.1).
4. Оценка производительности
Проведите измерение времени выполнения получившейся в задании 4 программы зависимости от объема данных. Если Вы выбрали в качестве языка программирования C/C++, то для замеров можно воспользоваться функциями из файла benchmark.1.c (или benchmark.2.c). При этом функция main будет иметь такой вид:
main(){
benchmark_start();
…
рrintf(“duration = %d\n”, benchmark_stop());
}
Сделайте это для нескольких вариантов, изменив флаги для компилятора, которые отвечают за уровни оптимизиции. Можно попробовать и флаги, включающие и выключающие отдельные виды оптимизации. Если Вы выбрали GNU C/C++, то минимальный рекомендуемый набор вариантов для тестирования таков:
gcc –o program.bin program.c
gcc –O2 –o program.bin program.c
gcc –O3 –o program.bin program.c
gcc –O4 –o program.bin program.c
Постройте графики, где по ось X задана в соответствии с Вашим вариантом, а ось Y – время выполнения программы в миллисекундах.
Вариант 9. Симулятор нормальных алгоритмов Маркова на бинарных строках. Вариант аналогичен варианту 3. Но: 1) вместо текстовых строк в качестве преобразуемой строки берутся произвольные бинарные (т.е. такие, где байты могут иметь любые значения от 0 до 255), 2) в правилах вместо символов используются шестнадцатеричные коды.
Пример:
Обрабатываемая строка в шестнадцатеричном представлении:
00 ff ff fe 80 80 79 32
Правила:
ff ff -> fe fe fe
fe fe fe fe -> 00
00 00 -> 01
01 -> 02
Промежуточные и конечный результаты будут такими:
1. 00 fe fe fe fe 80 80 79 32
2. 00 00 80 80 79 32
3. 01 80 80 79 32
4. 02 80 80 79 32
Дополнительная информация
Работа зачтена в ноябре 2014 г. Качество так себе.
Можно скачать для примера. В файле отчет и рецензия. Программная часть отсутствует. Замечания преподавателя выложены ниже.
1. формирование требований
Нет сформулированных нефункциональных требований и детализации функциональных (подробнее формулировки задания по Вашему варианту).
2. проектирование
Нет обоснования выбранной платформы. Нет описания модульной или классовой структуры и используемых алгоритмов.
3. реализация
3.1. по тексту программы
Жестко заданы размеры строк. Правила хранятся в массиве фиксированной длины. Это ограничивает максимальное количество правил. Пожалуйста, используйте линейный список или иную структуру данных, обеспечивающую более-менее произвольное число правил.
3.2. документирование
Раздел отсутствует
4. оценка производительности
+
Можно скачать для примера. В файле отчет и рецензия. Программная часть отсутствует. Замечания преподавателя выложены ниже.
1. формирование требований
Нет сформулированных нефункциональных требований и детализации функциональных (подробнее формулировки задания по Вашему варианту).
2. проектирование
Нет обоснования выбранной платформы. Нет описания модульной или классовой структуры и используемых алгоритмов.
3. реализация
3.1. по тексту программы
Жестко заданы размеры строк. Правила хранятся в массиве фиксированной длины. Это ограничивает максимальное количество правил. Пожалуйста, используйте линейный список или иную структуру данных, обеспечивающую более-менее произвольное число правил.
3.2. документирование
Раздел отсутствует
4. оценка производительности
+
Похожие материалы
Технология разработки программного обеспечения. Курсовая работа
fitaria
: 2 февраля 2015
Вариант 0. Конвертор для текстов, переводящий буквенные символы из заглавных в строчные или наоборот. В минимальном виде конвертор – это утилита, которой в качестве параметров передается имя входного файла, имя выходного файла, режим перекодировки: перевод в строчные, перевод в заглавные. Утилита 1) считывает входные параметры и проверяет их корректность, 2) открывает исходный и результирующий файл, обрабатывая возможные ошибочные ситуации, 3) производит конвертацию текста, 4) закрывает файлы и
300 руб.
Курсовая работа по дисциплине: Технология разработки программного обеспечения
NikolaSuprem
: 9 февраля 2021
В рамках данной курсовой работы по дисциплине предлагается научится формировать техническое задание, требования к продукту, проектирование, реализацию и тестирование программы.
Задача: разработать простейший калькулятор, выполняющий минимальные арифметические задачи(+, -, *, /, =, %), с функцией отчистки экрана. Сделать приятный интерфейс. Покрыть тестами.
470 руб.
Технология разработки программного обеспечения.
studypro3
: 4 августа 2019
Вопрос 1. Разработать ПО ИС сборки компьютера: с применением структурного подхода;
Система предполагает решение следующих задач: формирование заявки на новый компьютер, определение области использования данного компьютера, подбор необходимых компонент для решения поставленных задач, сборка компьютера, передача компьютера заказчику. Перечень решаемых задач в процессе работы информационной системы сборки компьютера, перечень входной и выходной информации приведены в таблице 6.
Таблица 6.
Перечень
500 руб.
Технология разработки программного обеспечения
Проходимец
: 16 июня 2017
Экзаменационная работа по предмету Технология разработки программного обеспечения. Вариант билета №3
100 руб.
Технология разработки программного обеспечения
piligrim-24
: 17 января 2012
Зачетное задание по дисциплине «Технология разработки программного обеспечения»
вариант №5
Вопрос 1. Общие вопросы и коллективная разработка (гл. 1, 5 и 7)
Вариант 5. Каковы вопросы, которые необходимо прояснить каждому участнику коллектива до начала выполнения работ?
Вопрос 2. Разработка требований
Вариант 5. На какие основные вопросы отвечает анализ осуществимости?
Вопрос 3. Проектирование
Вариант 5. В чем заключается понятие паттерна? Какими свойствами оно обладает?
Вопрос 4. Программиров
50 руб.
Курсовая работа. ВАРИАНТ 3. Технологии разработки программного обеспечения
Алёна25
: 31 марта 2025
Вариант 3. Поиск пути в лабиринте. Лабиринт описывается двумерным массивом с кодами в ячейках: 0 - проход, 1 - стена, 2 - проход, начальная точка, 3 - проход, конечная точка, 4 - проход, часть пути. Минимальный набор функций - редактирование описания лабиринта, поиск пути, показ лабиринта и пути в нем.
Задания к курсовой работе
В рамках данной курсовой работы предлагается осуществить формирование требований, проектирование, реализацию и тестирование программы. Типовые темы заданий приводятся
350 руб.
Технология разработки программного обеспечения. Курсовая работа. Вариант 0.
nik200511
: 24 марта 2022
Требования.
Разработать конвертор для текстов, переводящий буквенные символы из заглавных в строчные или наоборот. Конвертер должен иметь удобный, интуитивно понятный, графический интерфейс с нейтральными тонами. Конвертер должен выполнять: 1) Запоминать выбранный путь до входных и выходных файлов 2) Открывать исходный и результирующий файл, обрабатывая возможные ошибочные ситуации 3) Производить конвертацию текста 4) Закрывать файлы и завершать работу 5) При возникновении ошибки со стороны по
297 руб.
Технология разработки программного обеспечения. Курсовая работа. Вариант №2
Отличник1
: 30 января 2021
Вариант №2. Задание: Калькулятор для выражений с инфиксной формой записи. В минимальном виде калькулятор – это утилита, которой в качестве параметров передается имя входного файла, содержащего выражение. Утилита 1) считывает входные параметры и проверяет их корректность, 2) открывает исходный, обрабатывая возможные ошибочные ситуации, 3) производит вычисление результата выражения, 4) печатает и завершает работу.
Выражение для калькулятора– это:
• десятичная константа;
• (выражение)
• -выражение
300 руб.
Другие работы
Зачетная работа по дисциплине: Инженерная и компьютерная графика. Вариант: №4
nastia9809
: 12 ноября 2013
Зачетная работа
По дисциплине: Инженерная и компьютерная графика
Вариант: №4
ТЗ № 1. Основным называют вид,…
а) полученный на плоскостях, непараллельных плоскостям проекций
б) полученный на плоскостях, параллельных плоскостям проекций
в) полученный на плоскостях, перпендикулярных плоскостям проекций
ТЗ № 2. Изображение сечения, выполненное по ГОСТ 2.305
ТЗ № 3. Вид А называется…
а) Местный
б) Дополнительный
в) Выносной элемент
г) Частичный
ТЗ № 4. Заданному разрезу соответствует вид сверху
70 руб.
PR. Связи с общественностью.Задания.
studypro3
: 30 ноября 2017
Письменные задания:
Задание 1. Составьте свой кодекс этического поведения специалиста по СО.
Задание 2. На основании публикаций в СМИ за месяц проанализируйте информационную открытость, медийность, качество работы с журналистским сообществом следующих государственных структур: Правительство Брянской области, Брянская городская администрация. Основная тематика, продвижение собственного имиджа, наличие «прямой речи» экспертов (руководителей).
Задание 3. На основании имеющейся в открытом досту
500 руб.
Лабораторная работа №1 по дисциплине: Основы теории цепей. Вариант №7
rostokw
: 20 января 2022
Лабораторная работа No1
Законы Ома и Кирхгофа в резистивных цепях
1. Цель работы:
Изучение и экспериментальная проверка законов Ома и Кирхгофа в разветвленной электрической цепи, содержащей источник и резистивные элементы.
2. Подготовка к выполнению работы:
При подготовке к работе необходимо изучить: законы Ома для пассивного участка цепи, участка цепи с активными (источники) и пассивными (нагрузки) элементами; первый закон Кирхгофа – для узла цепи; второй закон Кирхгофа – для замкнутого контур
500 руб.
Предприятие по производству пенобетонных блоков производительностью 70 тыс. куб. м в год.
Geshicc
: 20 мая 2015
Рассмотрены: Технологический раздел, Конструкционный раздел, эксплуатационно-ремонтно-монтажный раздел, БЖД, Экология.
Оборудование: Растворосмеситель СМ-290.
Чертежи: Технологическая схема, Общий вид, Узлы, Деталировка, Спецификация.
750 руб.