Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Thesis / Thesis.docx
Скачиваний:
6
Добавлен:
20.12.2024
Размер:
999 Кб
Скачать
☆

Abstract

Explanatory note to the term paper: 85 p., 0 tables, 21 figures, 2 applications, 5 sources of information.

CLASS, POLYMORPHIC CLUSTER, VIRTUAL FUNCTION, OBJECT-ORIENTED DESIGN, SOFTWARE SYSTEM, USER INTERFACE, ABSTRACT CLASS, ACCOUNTING SYSTEM

The purpose of the work is to develop a software system that simulates functioning of the app that helps find the nearest route to get from point A to point B, using the object-oriented paradigm design and programming.

The object of development is the object model of the program, which helps to find the nearest routes.

The subject of development is information technology and software development methods object-oriented software system.

The development uses the object-oriented capabilities of the programming language C++ and MS Visual Studio integrated development environment 2022.

An analysis of the subject area has been carried out, the main tasks have been identified system, description of incoming and outgoing information, developing a hierarchical class system model, class diagram, software developing, that implements the main function of the system: finding the nearest route from one point to another. Also, some other functionality was performed. This includes adding and removing transport to the data base; the data base itself is a file with .csv format; sorting database; reading from and writing to the data base; filtering routes by a certain mean of transport.

The program provides quick receipt of the necessary information and

improving the efficiency of travelling between Ukrainian cities.

Scope of application – anywhere.

CONTENTS

LIST OF ABBREVIATIONS 6

INTRODUCTION 7

1 DOMAIN ANALYSIS 8

2 DESIGNING THE SYSTEM 10

2.1 Interface classes ISerializible, IEmissionable and ICloneable 10

2.2 Class for transport information 11

2.3 Bus, Plane, Train classes 15

2.4 Data storing. Transport schedule class 17

2.5 Array of pointers. Container class. 18

2.6 User Interface Design 21

3 SOFTWARE IMPLEMENTATION 22

3.1 Clock and Time classes. 22

3.2 Coordinates structure implementation 26

3.3 StationInfo structure implementation 26

3.4 IEmissionable, ISerializable and ICloneable implementation 27

3.5 TransportInfo class implementation 28

3.6 Bus, Plane, Train class implementation 29

3.7 Container that holds pointers PtrArray<T> implementation 30

3.8 Iterator<T> implementation 32

3.9 TransportSchedule class implementation 33

CONCLUSIONS 39

REFERENCES 40

Appendix A 42

Appendix B 81

List of abbreviations

UML

Unified Modeling Language

ID

Identifier

UI

User Interface

STL

Standard Template Library

SFINAE

Substitution Failure Is Not An Error

Introduction

In recent years, rapid developments in technology have changed many aspects of our daily lives, including the way we travel. This thesis presents the design and implementation of a software system that models an application that helps users find the closest route from point A to point B using object-oriented design and programming principles.

The main goal is to develop an object-oriented software system that helps optimize routes. Written in C++ and developed in Microsoft Visual Studio 2022, the project focuses on creating an object model that includes finding shortest routes, managing a database of transport options, and providing functions such as adding or removing transport records, sorting data, and filtering routes. based on specific criteria. This task was chosen because of one primary reason. Train Schedule as it is does not cover all the criteria above. Developing system that conveys all means of transport allows to represent system as a whole to be used in the further development.

The development process included developing a hierarchical class model and creating a detailed class diagram to depict the system architecture. Key features include polymorphic clusters and virtual functions for increased flexibility and maintainability.

The software finds the shortest route between two points and manages a database stored in a .csv file. Database operations include reading and writing to a file, sorting, and filtering routes. However, since the current database consists of fictitious data, the system cannot provide accurate and timely information. This means that although the system demonstrates basic functionality, it does not use real data.

Despite this limitation, the program lays a solid foundation for future improvements. Future developments may include dynamic data from real-time sources, making the system a highly effective tool for route optimization, offering accurate and up-to-date travel information.

Соседние файлы в папке Thesis