1. Trang chủ
  2. » Tất cả

Đề tài truong phat logistics application

135 2 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 135
Dung lượng 17,32 MB

Nội dung

UNIVERSITY OF INFORMATION TECHNOLOGY FACULTY OF SOFTWARE ENGINEERING - 🕮 - PROJECT TRUONG PHAT LOGISTICS APPLICATION Lecturer: PhD Nguyen Trinh Dong Students: 19521515 – Vo Duc Trung Hieu Ho Chi Minh City, December 2022 ACKNOWLEDGEMENTS First of all, I would like to express my gratitude to my teacher, Mr Nguyen Trinh Dong, lecturer at the Faculty of Software Engineering at the University of Information and Technology He provided me with the foundational knowledge and gave me the golden opportunity to complete this wonderful project about the topic, which, in addition, gave me the opportunity to a great deal of research and helped me come across a lot of new things that I found to be very interesting He directly guided, corrected and contributed many valuable suggestions to help me complete my subject report During one semester of implementing the topic, I applied the accumulated background knowledge and combined with learning and researching new knowledge from teachers, friends as well as many sources that I consulted From there, I makes the most of what has been collected to complete the best project report However, because of my limited professional knowledge and my lack of practical experience, the content of the report is inevitable Once again, I would like to send my teacher the most sincere and best thanks! TP Logistics SRS, Version 0.1 Prepared by Vo Duc Trung Hieu Last modified on November 1, 2022 COMMENT ……………………………………………………………………………………………… ……………………………………………………………………………………………… ……………………………………………………………………………………………… ……………………………………………………………………………………………… ……………………………………………………………………………………………… ……………………………………………………………………………………………… ……………………………………………………………………………………………… ……………………………………………………………………………………………… ……………………………………………………………………………………………… ……………………………………………………………………………………………… ……………………………………………………………………………………………… ……………………………………………………………………………………………… ……………………………………………………………………………………………… ……………………………………………………………………………………………… ……………………………………………………………………………………………… ……………………………………………………………………………………………… ……………………………………………………………………………………………… ……………………………………………………………………………………………… ……………………………………………………………………………………………… ……………………………………………………………………………………………… ……………………………………………………………………………………………… ……………………………………………………………………………………………… ……………………………………………………………………………………………… ……………………………………………………………………………………………… ……………………………………………………………………………………………… TP Logistics SRS, Version 0.1 Prepared by Vo Duc Trung Hieu Last modified on November 1, 2022 Table of Contents Introduction Purpose Scope Terminology 3.1 Business terminology 3.2 Technical terminology .8 Intended Audiences and Document Organization Functional Requirement Data classes & Rules 1.1 User 1.1.1 1.1.2 1.1.3 1.1.4 1.1.5 1.1.6 User Status User Login IDs User Passwords Delivery Product 10 Driver 10 Delivery Transportation 11 Domain diagram 12 Actor list 12 Use Case View 13 2.1 Authentication 13 2.1.1 2.1.2 2.1.3 2.1.4 2.2 Account management .17 2.2.1 2.2.2 2.2.3 2.2.4 2.2.5 2.2.6 2.2.7 2.2.8 2.2.9 2.2.10 2.2.11 2.2.12 2.3 View all accountants 17 Create new accountant 17 Find accountant 18 Update accountant account’s status 18 View all driver managers 18 Create new driver manager 18 Find driver manager 19 Update driver manager account’s status 19 View all drivers 19 Create new driver 20 Find driver 20 Update driver account’s status 20 Information management .21 2.3.1 2.4 Sign in 15 Sign out 15 Change password 15 Reset password 16 Update account’s information 21 Delivery Product Management .22 2.4.1 2.4.2 2.4.3 2.4.4 View product list 22 Find product 22 Create new product 23 Update a product 23 TP Logistics SRS, Version 0.1 Prepared by Vo Duc Trung Hieu Last modified on November 1, 2022 2.4.5 2.5 Delivery Location Management 24 2.5.1 2.5.2 2.5.3 2.5.4 2.5.5 2.6 View job list 31 Find job 31 Create new job 32 Update a job 32 Delete a job 33 Choose route for the job 33 Create dispatch order 33 Approve driver's delivery problem request 34 Calculate drivers' salary 34 Delivery Process Management 34 2.9.1 2.9.2 2.9.3 2.9.4 2.9.5 2.9.6 2.9.7 2.10 View truck list 29 Find truck 29 Create new truck 30 Update a truck 30 Delete a truck 30 Booking Job Management .31 2.8.1 2.8.2 2.8.3 2.8.4 2.8.5 2.8.6 2.8.7 2.8.8 2.8.9 2.9 View route list 26 Find route 27 Create new route 27 Update a route 27 Delete a route 28 Transportation Management 29 2.7.1 2.7.2 2.7.3 2.7.4 2.7.5 2.8 View location list 24 Find location 24 Create new location 25 Update a location 25 Delete a location 26 Route Management 26 2.6.1 2.6.2 2.6.3 2.6.4 2.6.5 2.7 Delete a product 23 Assign job to driver 35 View job's information of team member 35 Approve job 36 Confirm truck’s status 36 Create delivery problem request 37 Update delivery status 37 Upload delivery bill 37 Contract & Receipt/Payment Management 38 2.10.1 2.10.2 2.10.3 2.10.4 2.10.5 2.10.6 2.10.7 2.10.8 2.10.9 2.10.10 2.10.11 2.10.12 2.10.13 2.10.14 2.10.15 View e-Contract list 38 Find e-Contract 38 View receipt list 39 Find receipt 39 View payment list 39 Find payment 40 View overall report 40 View detail report 40 View balance 41 Create new e-Contract 41 Create new bill 41 Create new payment 42 Update e-Contract's status 42 Update bill's status 43 Update payment's status 43 TP Logistics SRS, Version 0.1 Prepared by Vo Duc Trung Hieu Last modified on November 1, 2022 Process View 44 3.1 System sequence diagrams .44 3.1.1 3.1.2 3.1.3 3.1.4 3.1.5 3.1.6 3.1.7 3.1.8 3.1.9 3.1.10 3.1.11 3.1.12 3.1.13 3.1.14 3.1.15 3.1.16 3.1.17 3.1.18 3.1.19 3.1.20 3.1.21 3.1.22 3.1.23 3.1.24 3.1.25 3.1.26 3.1.27 3.1.28 3.1.29 3.1.30 3.1.31 3.1.32 3.1.33 3.1.34 3.1.35 3.1.36 3.1.37 3.1.38 3.1.39 3.1.40 3.1.41 3.2 Sign in 45 Sign out 46 Change password 47 Reset password 48 View all accountants 49 Create new accountant account 50 Find accountant account 50 Update accountant’s status 52 View all driver managers 53 Create new driver manager account 54 Find driver manager account 54 Update driver manager’s status 56 View all drivers 57 Create new driver account 58 Find driver account 59 Update driver’s status 60 Update account's information 61 View all delivery products 62 Find delivery product 63 Create new delivery product 64 Update delivery location 65 Delete Delivery location 65 View all delivery locations 67 Find delivery location 68 Create new delivery location 69 Update delivery location 70 Delete Delivery location 71 View all routes 72 Find route 73 Create new route 74 Update route 75 Delete Route 75 View all transportations 77 Find transportation 78 Create new transportation 79 Update new transportation 80 Delete Transportation 81 View all jobs 82 Find job 83 Create new job 84 Delete job 84 Activity diagrams 86 3.2.1 3.2.2 3.2.3 3.2.4 3.2.5 3.2.6 3.2.7 3.2.8 3.2.9 3.2.10 3.2.11 Sign in 86 Sign out 87 Change password 88 Reset password 88 Create account 89 Find account 90 View all accounts 92 Update account's status 93 Create T 94 Find T 95 View all Ts 96 TP Logistics SRS, Version 0.1 Prepared by Vo Duc Trung Hieu Last modified on November 1, 2022 3.2.12 3.2.13 3.2.14 3.2.15 3.2.16 3.2.17 3.2.18 3.2.19 3.2.20 3.2.21 Deployment View 107 4.1 Package Diagram 107 Implementation View 108 5.1 Android Application Architecture 108 5.2 Back-end Application Architecture 110 Data View 113 6.1 ER Diagram 113 6.2 Classes 113 6.2.1 6.2.2 6.2.3 6.2.4 6.2.5 6.2.6 6.2.7 6.2.8 6.2.9 6.2.10 6.2.11 Update T 97 Delete T 98 Choose route for the job 99 Create dispatch order 100 Approve driver's delivery problem request 101 Assign job to driver 102 Accept job 103 Confirm truck's status 104 Create delivery problem request 105 Upload delivery bill 106 User 113 Driver 114 Role 114 Permission 114 Authentication 114 Job 114 Product 115 Route 116 Location 116 Garrage 116 Transportation 116 User interface 117 7.1 Authentication screen 117 7.2 Reset password screen 118 7.3 Vehicle Pairing screen 119 7.4 Drawer screen 120 7.5 Job history screen 121 7.6 Account settings screen 123 7.7 Change password screen 124 7.8 Job list screen 125 7.9 To pick up location screen 126 7.10 To pick up location (map view) 127 7.11 End work screen 129 Non-functional Requirements 129 Security Matrix 129 TP Logistics SRS, Version 0.1 Prepared by Vo Duc Trung Hieu Last modified on November 1, 2022 Performance requirements 130 Implementation requirements 131 System Architecture 132 Advantages & Disadvantages 133 1.1 Advantages 133 1.2 Disadvantages 133 Alternatives 133 TP Logistics SRS, Version 0.1 Prepared by Vo Duc Trung Hieu Last modified on November 1, 2022 Introduction This document describes the business requirements for Truong Phat LogisticsCo It is intended for developers and database administrators who need to develop and maintain the Truong Phat System It can also be used by non-tech team members with strong technical knowledge and who wish to understand the internals of the Truong Phat System Purpose This document provides a comprehensive architectural overview of the system, using several architectural views to describe different aspects of the system Besides, it intend to capture and convey the significant architectural decision which have been made on the system This document elaborates the architecture of the system in different views (4+1 view model ) Both statical and dynamical behavior as well as requirements of the system is described in this document Scope The software architecture document applies to each static and dynamic aspect of the system Since + view model is used as the reference model, it incorporates many views of the system, thus making the document comprehensive and consistent Under the static behavior of the system, the document discusses the class diagrams, package diagrams and other static architecture designs Dynamic aspects of the system are elaborated using use case realizations and system sequence diagrams Terminology 3.1 Business terminology Terminology Description TP System A catch-all term to describe all the various services, sub-systems and modules that have been developed and operated to assist organizations in deliveries and fleet management TP Web Admin The web UI that users login and interact with to perform various management functions and to access reports TP Mobile Application The mobile application developed by TP which will be available for download on Google Play Store It is primarily used by drivers Pickup Location The location where the goods will be picked up or loaded on to the vehicle for delivery Unload Location The location where the delivered goods will be unloaded from the vehicle We're using this term to avoid confusion with the DeliveryLocation model Driver In charge of checking and confirming truck status, delivery and updating job status as well 3.2 Technical terminology Terminology Description OOP Object Oriented Programing AWS Amazon Web Service TP Logistics SRS, Version 0.1 Prepared by Vo Duc Trung Hieu Last modified on November 1, 2022 GCP Google Cloud Platform DDD Domain Driven Design CI/CD Continuous Integration, Continuous Deployment Intended Audiences and Document Organization Functional Requirement Data classes & Rules 1.1 User An user represents a human user who has access to the GT system Every user must be associated with one organization Note that the users not include the drivers Drivers are a separate data class from the users 1.1.1 User Status [R-1] A user may be in one of these status: Active, Suspended or Deleted [R-2] The user will not have any access to the functions on the TP system if the status of this User record is not Active 1.1.2 User Login IDs User loginIDs (saved under loginID field in User record) are used to identify the users during authentication and in the REST APIs [R-1] Only alphanumeric, underscores and hyphens characters (up to 30 characters) are allowed to be used for login IDs [R-2] Login IDs are immutable Users cannot change their loginIDs [R-3] Login IDs are case-insensitive E.g login ID "ABC", "Abc" and "abc" refer to the same User record [R-4] When the user is deleted, it is not physically deleted from the system Instead, its status field is updated to Deleted and its loginID field will be appended with a nonce ("#" followed by the last 9digits of the current epoch time in seconds) so that the loginID can be reused by other users For example, if the loginID is "alice" and the current epoch time is 1577880000, the new loginID will be "alice#577880000" 1.1.3 User Passwords [R-1] Users’ passwords are not stored in plaintext in the database The password-hashing function, bcrypt, is used to convert the plaintext password into a one-way hash digest The database stores this generated hash value, and the system will discard the original plaintext password It is not possible to recover the original password from the saved hash value TP Logistics SRS, Version 0.1 Prepared by Vo Duc Trung Hieu Last modified on November 1, 2022 7.4 Drawer screen Id Name Type Feature Calling condition jobHistoryBtn Button Navigate to “Job History” screen Click to navigate accountSettingsBtn Button Navigate to “Account Settings” screen Click to navigate languageLv ListView Change app’s language Click to change logoutBtn Button Navigate to “Log in” screen Click to navigate closeBtn Button Close drawer Click to close TP Logistics SRS, Version 0.1 Prepared by Vo Duc Trung Hieu Last modified on November 1, 2022 Note 7.5 Job history screen Id Name Type Feature Calling condition chooseDateBtn Button Choose date to open calendar view Click to choose goBackBtn Button Go one back Click to navigate TP Logistics SRS, Version 0.1 Prepared by Vo Duc Trung Hieu Last modified on November 1, 2022 Note Id Name Type Feature Calling condition chooseDateCalendarView CalendarView Choose date to see history Click to choose cancelBtn Button Close calendar view Click to close okBtn Button Confirm date to see history Click to confirm TP Logistics SRS, Version 0.1 Prepared by Vo Duc Trung Hieu Last modified on November 1, 2022 Note 7.6 Account settings screen Id Name Type Feature driverNameTv TextView Input driver’s name phoneNumberTv TextView Input driver’s phone number companyTv TextView Input driver’s company vehicleNumberTv TextView Input truck’s license number editProfileBtn Button Enable edit profile Click to close changePasswordBtn Button Navigate to “Change Password” screen Click to navigate goBackBtn Button Go one back Click to navigate TP Logistics SRS, Version 0.1 Prepared by Vo Duc Trung Hieu Last modified on November 1, 2022 Calling condition Note 7.7 Change password screen Id Name Type Feature Calling condition currentPasswordEd EditText Input current password Click to input newPasswordEd EditText Input new password Click to input EditText Input new password the second time Click to input confirmPasswordEd saveBtn Button Click to save new password and navigate to “Vehicle Pairing” screen Click to save and navigate goBackBtn Button Go one back Click to navigate TP Logistics SRS, Version 0.1 Prepared by Vo Duc Trung Hieu Last modified on November 1, 2022 Note 7.8 Job list screen Id Name Type Feature Calling condition jobChoosedRv RecyclerView Choose job to deliver Click to choose startWorkBtn Button Confirm job to start work and navigate to Job screen Click to navigate goBackBtn Button Go one back Click to navigate TP Logistics SRS, Version 0.1 Prepared by Vo Duc Trung Hieu Last modified on November 1, 2022 Note 7.9 To pick up location screen Id Name Type Feature pickupLocationTv TextView Show pick up location name deliveryLocationTv TextView Show delivery location name senderNameTv TextView Show sender name productTypeTv TextView Show product type vehicleNoTv TextView Show vehicle’s license plate vehicleWeightTv TextView Show vehicle’s weight remarkTv TextView Show remark notesTv TextView Show notes to driver arrivedForPickupBtn Button Navigate to “Pick Up Arrived” screen TP Logistics SRS, Version 0.1 Prepared by Vo Duc Trung Hieu Last modified on November 1, 2022 Calling condition Click to navigate Note 7.10 To pick up location (map view) Id Name Type Feature currentLocationMarker Marker Show current location pickupLocationMarker Marker Show pick up location moveToCurrentLocationBtn Button Move to current location openGoogleMapBtn Button Open Google Map application Click to Open arrivedForPickupBtn Button Navigate to “Pick up” screen Click to navigate TP Logistics SRS, Version 0.1 Prepared by Vo Duc Trung Hieu Last modified on November 1, 2022 Calling condition Click to move Note Id Name Type Feature Calling condition arrivedBtn Button Confirm arrived pick up location Click to confirm continueBtn Button Continue delivery Click to close TP Logistics SRS, Version 0.1 Prepared by Vo Duc Trung Hieu Last modified on November 1, 2022 Note 7.11 End work screen Non-functional Requirements Security Matrix Actor Function Board of Directors Business Accountant Transportation Accountant x x Driver Manager Driver Customer Account Management CRUD Accountant account CRUD Driver manager account CRUD Driver account x x CRUD Customer account Sign in x x x x x x Sign out x x x x x x Forget password x x x x x x TP Logistics SRS, Version 0.1 Prepared by Vo Duc Trung Hieu Last modified on November 1, 2022 x Actor Board of Directors Business Accountant View report x x View balance x x CR e-Contract x x CR payment x x CR bill x x Function Transportation Accountant Driver Manager Driver Customer Report Delivery Process CRUD Transportation x CRUD Location x CRUD Route x CRUD Job x CRUD Product x CRUD Garage x Create order dispatch x Assign job x Accept job x Update job’s status x Request delivery problem Accept delivery problem x x Request delivery order Performance requirements Number of user • • Number of concurrent user: 500 Number of users the application can handle: 2000 Data volume • • Number of documents: 6MB Data growth rate: 30MB/day Level of availability Availability level required for this application: 24*7 Usage frequency Usage frequency: Daily TP Logistics SRS, Version 0.1 Prepared by Vo Duc Trung Hieu Last modified on November 1, 2022 x Implementation requirements Location: AWS Server The application server will be deployed in Singapore (singapore-2b) Read-only Duration From - 12 hours Read-only Timeframe At 00:00 AM Maintenance Window The application must be maintained at least time every month Overall conversion timeline The maintenances are undergone on the last days of the month (including 28th, 29th, 30th, 31st based on the month) Other plans and activities [N/A] TP Logistics SRS, Version 0.1 Prepared by Vo Duc Trung Hieu Last modified on November 1, 2022 System Architecture Component Description Load balancer Load balancing refers to efficiently distributing incoming network traffic across a group of backend servers, also known as a server farm or server pool Kubernetes (Orchestration tool) Kubernetes is an open-source container orchestration system for automating software deployment, scaling, and management MongoDB MongoDB is a source-available cross-platform document-oriented database program Classified as a NoSQL database program, MongoDB uses JSON-like documents with optional schemas PostgreSQL PostgreSQL, also known as Postgres, is a free and open-source relational database management system emphasizing extensibility and SQL compliance Kafka Apache Kafka is a distributed event store and stream-processing platform Amazon S3 Amazon Simple Storage Service is a service offered by Amazon Web Services that provides object storage through a web service interface Firebase Cloud Messaging FCM is used to notify a client app that new email or other data is available to sync Twilio Twilio provides programmable communication tools for making and receiving phone calls, sending, and receiving text messages, and performing other communication functions using its web service APIs Zipkin Zipkin is a distributed tracing system It helps gather timing data needed to troubleshoot latency problems in service architectures TP Logistics SRS, Version 0.1 Prepared by Vo Duc Trung Hieu Last modified on November 1, 2022 Advantages & Disadvantages 1.1 Advantages By using this architecture, there are multiple advantages that can be pointed out: • • • • • • • • Availability: The architecture availability attribute is maintained due to the implementation of load balancer and orchestration tool Security: Using authentication and authorization with JWT token to preserve the application Besides, SSL and Amazon S3 is integrated to the application to secure the user’s data Modifiability: By utilizing the Domain Driven Design and Clean Architecture, which strictly follow the SOLID pattern, the source code can easily be modified or maintained due to the separation and Dependency Inversion principle Moreover, the application follows microservice architecture, which allows developers and stakeholders the ability to switch betweens different services easily Performance: For the performance goal attribute, as the growth of NestJs technology in recent years and the stability of SpringBoot framework, the performance of the client can be reserved Testability: The application in both client and server is designed following the Test Driven Development process with Agile, this allows developers the time to write unit tests for the source code they have built Besides, because of the rich documentation, the Quality Control (teste) could easily apply integration testing Furthermore, applying pipelines with CI/CD, could be expected to enhance the testability of the application Usability: The application provides a message module, which allows users to communicate with each others As a result, this will maintain the usability of the application Development team skill requirements: Because of using the microservice architecture, the development team does not need to handle difficult tasks, hence it is easier to hiring process Development time: The application utilizes multiple cloud services, which is already packaged and extensive, as a result, the development time of the application could be low 1.2 Disadvantages On the other hand, this architecture also brings a drawback: • High development cost: As the application follows the microservice architecture, which depends on provider’s service prices such as Amazon, Firebase, The application’s production cost could be higher than other architectures Alternatives Component Current using Alternative solution Note Oschestration tool Kubernetes Docker Swam Distributed Messaging System Kafka RabbitMQ Kubernetes is deprecating Docker as a container runtime, thus the performance could be reduced If the low latency message delivery and complex routing TP Logistics SRS, Version 0.1 Prepared by Vo Duc Trung Hieu Last modified on November 1, 2022 Load Balancer Object Storage Own implementation Amazon S3 Config Server Zipkin TP Logistics SRS, Version 0.1 Prepared by Vo Duc Trung Hieu Last modified on November 1, 2022 Amazon Load Balancer Own implementation Jaegaer are required, RabbitMQ will be a better choice If current load balancer does not meet the requirements If the cost is unaffordable Better compatible with Kubernetes ... 133 TP Logistics SRS, Version 0.1 Prepared by Vo Duc Trung Hieu Last modified on November 1, 2022 Introduction This document describes the business requirements for Truong Phat LogisticsCo... develop and maintain the Truong Phat System It can also be used by non-tech team members with strong technical knowledge and who wish to understand the internals of the Truong Phat System Purpose... Diagram 107 Implementation View 108 5.1 Android Application Architecture 108 5.2 Back-end Application Architecture 110 Data View 113

Ngày đăng: 01/02/2023, 21:10

TÀI LIỆU CÙNG NGƯỜI DÙNG

  • Đang cập nhật ...

TÀI LIỆU LIÊN QUAN