- •Coursework thesis
- •Task for coursework
- •Abstract
- •List of abbreviations
- •Introduction
- •Domain analysis
- •Designing the system
- •Interface classes iSerializible, iEmissionable and iCloneable
- •Class for transport information
- •Bus, Plane, Train classes
- •Data storing. Transport schedule class
- •Array of pointers. Container class.
- •User Interface Design
- •Software implementation
- •Clock and Time classes.
- •Coordinates structure implementation
- •StationInfo structure implementation
- •IEmissionable, iSerializable and iCloneable implementation
- •TransportInfo class implementation
- •Bus, Plane, Train class implementation
- •TransportSchedule class implementation
- •Conclusions
- •References
- •Appendix a File Time.H
- •File Time.Cpp
- •File Clocks.H
- •File Clocks.Cpp
- •File iSerializable.H
- •File iEmissionable.H
- •File iCloneable.H
- •File stdafx.H
- •File stdafx.Cpp
- •CoordinatesData.Json
- •File transports.Csv
- •File Coordinates.Cpp
- •File main.Cpp
- •File Route.Cpp
- •File Route.H
- •File StationInfo. Cpp
- •File StationInfo.H
- •File TransportSchedule.H
- •File TransportSchedule.Cpp
- •File PtrArray.Cpp
- •File TransportInfo.Cpp
- •File TransportInfo.H
- •File Bus.H
- •File Bus.Cpp
- •File Plane.H
- •File Plane.Cpp
- •File Train.H
- •File Train.Cpp
- •Appendix b
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.
