Технология разработки программного обеспечения. Курсовая работа. Симулятор нормальных алгоритмов Маркова на бинарных строках.
Состав работы
|
|
|
|
|
|
Работа представляет собой 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 руб.
Другие работы
ММА/ИДО Иностранный язык в профессиональной сфере (ЛТМ) Тест 20 из 20 баллов 2024 год
mosintacd
: 28 июня 2024
ММА/ИДО Иностранный язык в профессиональной сфере (ЛТМ) Тест 20 из 20 баллов 2024 год
Московская международная академия Институт дистанционного образования Тест оценка ОТЛИЧНО
2024 год
Ответы на 20 вопросов
Результат – 100 баллов
С вопросами вы можете ознакомиться до покупки
ВОПРОСЫ:
1. We have … to an agreement
2. Our senses are … a great role in non-verbal communication
3. Saving time at business communication leads to … results in work
4. Conducting negotiations with foreigners we shoul
150 руб.
Задание №2. Методы управления образовательными учреждениями
studypro
: 13 октября 2016
Практическое задание 2
Задание 1. Опишите по одному примеру использования каждого из методов управления в Вашей профессиональной деятельности.
Задание 2. Приняв на работу нового сотрудника, Вы надеялись на более эффективную работу, но в результате разочарованы, так как он не соответствует одному из важнейших качеств менеджера - самодисциплине. Он не обязателен, не собран, не умеет отказывать и т.д.. Но, тем не менее, он отличный профессионал в своей деятельности. Какими методами управления Вы во
200 руб.
Особенности бюджетного финансирования
Aronitue9
: 24 августа 2012
Содержание:
Введение
Теоретические основы бюджетного финансирования
Понятие и сущность бюджетного финансирования
Характеристика основных форм бюджетного финансирования
Анализ бюджетного финансирования образования
Понятие и источники бюджетного финансирования образования
Проблемы бюджетного финансирования образования
Основные направления совершенствования бюджетного финансирования образования
Заключение
Список использованный литературы
Цель курсовой работы – исследовать особенности бюджетного фин
20 руб.
Программирование (часть 1-я). Зачёт. Билет №2
sibsutisru
: 3 сентября 2021
ЗАЧЕТ по дисциплине “Программирование (часть 1)”
Билет 2
Определить значение переменной y после работы следующего фрагмента программы:
a = 3; b = 2 * a – 10; x = 0; y = 2 * b + a;
if ( b > y ) or ( 2 * b < y + a ) ) then begin x = b – y; y = x + 4 end;
if ( a + b < 0 ) and ( y + x > 2 ) ) then begin x = x + y; y = x – 2 end;
200 руб.