Code Monkey home page Code Monkey logo

coursework1's Introduction

Объектно-ориентированная система “Магазин мобильных телефонов”

Эта абстрактная система демонстрирует основные функции сотового телефона, такие как: вызов, отправка сообщений (которые выполняются через класс SIM), подзарядка и т. д. Объекты класса SmartPhone расширяют эту функциональность с помощью таких функций, как: калькулятор, фотографирование, получить конфигурацию и т. д. Кроме того, для большего разнообразия я добавил класс Shop и Citizen, который может покупать телефон и звонить другим людям. Программа PhonesStore.exe предназначена для моделирования процесса взаимодействия человека с телефоном.

Техническое задание

Предметная область включает базовый класс MobilePhone и класс SIM Создать класс MobilePhone, включающий в себя следующие элементы:

  • поле «производитель» char * Vendor;
  • поле «модель» char * Model;
  • класс включает объект класса SIM-карта SIM * card;
  • метод получения названия телефона (производитель + модель) char * GetName();
  • метод вызова void Call();
  • метод отправки SMS void SendSMS();
  • метод «вставить SIM» void InsertSIM(SIM card);
  • конструктор с параметрами MobilePhone(char * Vendor, char * Model). Создать класс SIM, содержащий в себе элементы:
  • поле «номер» char * Number;
  • поле «оператор» char * Operator;
  • конструктор с параметрами SIM(char * Operator, char * Number). В классе MobilePhone перегрузить оператор ~ (yнарный, оператор класса), новое действие - вынуть SIM-карту.

Особенности

  • Двуязычный интерфейс
  • Относительно большой функционал для демонстрации работы

Диаграммы проектируемой абстрактной системы

Диаграмма прецедентов использования системы и вариантов использования процесса управления объектами

Первый этап объектно-ориентированного анализа (Взаимосвязь классов проектируемой системы)

Второй этап объектно-ориентированного анализа (Взаимосвязь классов навигации)

Третий этап объектно-ориентированного анализа (Соединение взаимосвязей классов навигации и классов предметной области)

Диаграмма классов проектируемой системы

Диаграмма объектов системы

Диаграмма последовательности

Диаграмма последовательности для сценария гражданин, сим-карта и смартфон

Диаграмма модулей и её компонентов системы.

Обоснование алгоритмов

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

Как запустить

Для запуска приложения выполните следующие шаги:

  1. Клонируйте репозиторий.
  2. Откройте файл решения в Visual Studio.
  3. Постройте решение.
  4. Запустите приложение.

coursework1's People

Contributors

mcconderez avatar

Watchers

 avatar

coursework1's Issues

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.