Курсовая работа: Разработка специализированного программного модуля для решения указанной задачи
Содержание
Введение
1. Выбор технологии, языка и среды программирования
2. Анализ и уточнение требований к программному продукту
2.1 Анализ процесса обработки информации и выбор структур данных для ее хранения
2.2 Выбор методов и разработка основных алгоритмов решения задачи
3. Разработка структурной схемы программного продукта
4. Проектирование интерфейса пользователя
4.1 Построение графа диалога
4.2 Разработка форм ввода-вывода информации
5. Выбор стратегии тестирования и разработка тестов
Заключение
Список литературы
Приложения
Введение
Целью данной курсовой работы является разработка программного модуля, позволяющего моделировать процесс прибытия машин в гаражную стоянку и их отъезда.
Программа должна выводить сообщение при прибытии или выезде любой машины. При выезде автомашины со стоянки сообщение должно содержать число раз, которое машина удалялась со стоянки для обеспечения выезда других автомобилей.
В первом разделе представлен выбор технологии, языка и среды программирования.
Во втором представлен анализ и уточнение требований к программному продукту.
В третьем продемонстрирована структурная схема программного продукта.
В четвертом разделе описан интерфейс пользователя (граф диалога и формы ввода-вывода информации.)
В последнем разделе "Выбор стратегии тестирования и разработка тестов" проводится тестирование программы при различных исходных данных.
1. Выбор технологии, языка и среды программирования
В соответствие с заданием языком программирования был выбран С++. Для реализации программы использовалось объектно-ориентированное программирование.
Объектно-ориентированное программирование (ООП) — это технология, возникшая как реакция на очередную фазу кризиса программного обеспечения, когда методы структурного программирования уже не позволяли справляться с растущей сложностью промышленного программного продукта. Следствия - срыв сроков проектов, перерасход бюджета, урезанная функциональность и множество ошибок.
Первым бросающимся в глаза отличием ООП от структурного программирования является использование классов. Класс - это тип, определяемый программистом, в котором объединяются данные и функции их обработки.
Прообразом класса в C++ является структура в С. В то же время в C++ структура обрела новые свойства и теперь является частным видом класса, все элементы которого по умолчанию являются открытыми. Со структурой struct в C++ можно делать все, что можно делать с классом. Тем не менее в C++ структуры обычно используют лишь для удобства работы с небольшими наборами данных без какого-либо собственного поведения.
Конкретные переменные типа данных "класс" называются экземплярами класса, или объектами. Программы, разрабатываемые на основе концепций ООП, реализуют алгоритмы, описывающие взаимодействие между объектами.
Класс содержит константы и переменные, называемые полями, а также выполняемые над ними операции и функции. Функции класса называются методами. Предполагается, что доступ к полям класса возможен только через вызов соответствующих методов. Поля и методы являются элементами, или членами класса. Эффективным механизмом ослабления связанности между компонентами в случае объектно-ориентированной декомпозиции является так называемая инкапсуляция. Инкапсуляция - это ограничение доступа к данным и их объединение с методами, обрабатывающими эти данные. Доступ к отдельным частям класса регулируется с помощью специальных ключевых слов: public (открытая часть), private (закрытая часть) и protected (защищенная часть). Методы, расположенные в открытой части, формируют интерфейс класса и могут свободно вызываться клиентом через соответствующий объект класса. Доступ к закрытой секции класса возможен только из его собственных методов, а к защищенной - из его собственных методов, а также из методов классов-потомков. С ООП связаны еще два инструмента, грамотное использование которых повышает качество проектов: наследование классов и полиморфизм. Наследование — механизм получения нового класса из существующего. Производный класс создается путем дополнения или изменения существующего класса. Благодаря этому реализуется концепция повторного использования кода. С помощью наследования может быть создана иерархия родственных типов, которые совместно используют код и интерфейсы. Полиморфизм дает возможность создавать множественные определения для операций и функций. Какое именно определение будет использоваться, зависит от контекста программы. Вы уже знакомы с одной из разновидностей полиморфизма в языке C++ — перегрузкой функций. Программирование с классами предоставляет еще две возможности: перегрузку операций и использование так называемых виртуальных методов. Перегрузка операций позволяет применять для собственных классов те же операции, которые используются для встроенных типов C++. Виртуальные методы обеспечивают возможность выбрать на этапе выполнения нужный метод среди одноименных методов базового и производного классов.
--> ЧИТАТЬ ПОЛНОСТЬЮ <--