0% found this document useful (0 votes)
15 views12 pages

Technical Analysis - NextDrive Autos

Uploaded by

robin.melis
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
15 views12 pages

Technical Analysis - NextDrive Autos

Uploaded by

robin.melis
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 12

AppDev Company

NextDrive Autos
Replacement-car management
project

Technical specification

Robin Melis
Technical Architect

AppDev Company
AppDev Company

Replacement-car management project |Technical specification Page |2


AppDev Company

Version History

Date Version Author Modification


01/05/2024 1.0 Melis Robin First draft

Document approval

Signature Printed Name Job Title Date

Replacement-car management project |Technical specification Page |3


AppDev Company

1. Description

Customer: NextDrive Autos

Project Name: Replacement-car management project

Project reference:

This technical specification describes the Replacement-car management tool, following the
requirements as specified in the NextDrive Autos requirements specification document and the
functional specification from the AppDev Company Functional Specifications document.

2. General
Following the company standards and practices, the design of the Replacement-car management
tool will utilize the Master-View-Controller (MVC) design pattern. This approach is selected to
provide optimal flexibility across both the user interface hardware and the database systems.

The MVC model consists of the following layers/components:

- Model: this layer manages all aspects related to the database, including:
o Definition of tables and fields
o Database connection handling
o Database operations such as Create, Read, Update and Delete (CRUD)
o The Model layer only communicates with the Controller layer
- View: This layer manages all input and output concerning the user interface, such as:
o Display of all user interface screens or web pages, linked with database
specifications
o The View layer only communicates with the Controller layer
- Controller: This layer is responsible for all functional and business logic, including:
o Authentication and authorization processes
 Determining accessible fields, permissions per user/role. (read, update,
delete)
o Validation logic
 Data read from database
 Data input from View layer
 Data write to database
 Delete data
 Generation of warnings, cautions, and error messages directed to the View
layer in multiple languages
o Event and message logging
o Implementation of business-specific logic
o APIs for communication:
 With the Model layer for database CRUD operations
 With the View layer for data input/output

Replacement-car management project |Technical specification Page |4


AppDev Company

3. Technical analysis
General remarks:

All numerical (integer) Primary Key IDs in all tables will be

- Automatically generated
- Auto-incremented
- Unique per table
- When a record gets removed, the ID is not reusable, new records get the next available ID.

3.1. ERD

Replacement-car management project |Technical specification Page |5


AppDev Company

3.2. Managing Inventory (2.1 in the functional analysis)

Replacement-car management project |Technical specification Page |6


AppDev Company

3.2.1. Model

Database diagram (left) / Class diagram (right):

Dataflow diagram:

Replacement-car management project |Technical specification Page |7


AppDev Company

3.2.2. View

3.2.3. Controller

Add car to DB

When adding a car to the database, all given fields must be filled in. Availability is automatically set
to 1 (true).

Request car info from DB

When editing a car information, a window with the chosen cars information will pop up, to fill this
window the application will request this cars information from the database.

Return car info

As described before, the data is fetched form the database and returned to the window via this
method.

Update car info in DB

When a cars information is edited, the edited data will be sent to the database for updating.

Remove car from DB

When removing a car from the app, this method will be called. It will simply run some checks and call
the next method.

Replacement-car management project |Technical specification Page |8


AppDev Company

Add specific to DB + change car activity status

This method will save the specified reason for deletion in a table in the database (either the car was
sold or is broken and cannot be repaired. As well as change the cars availability to 0 (false) since we
do not delete these records.

Constantly returns updates from DB

This means that every change that is made in the database (cars being added, statuses being
changed, cars being deleted) are constantly being sent out to the ‘view’ page, so that no manual
refresher are required. The table given on this page will simply update live.

Replacement-car management project |Technical specification Page |9


AppDev Company

3.3. Car Information (2.5 in the functional analysis)

3.3.1. Model

Database diagram (left) / Class diagram (right):

Replacement-car management project |Technical specification P a g e | 10


AppDev Company

Dataflow diagram:

3.3.2. View

3.3.3.
3.3.3.
3.3.3.
3.3.3.
3.3.3.
3.3.3.
3.3.3.
3.3.3.
3.3.3.
3.3.3.
3.3.3.
3.3.3.
3.3.3.
3.3.3.
3.3.3.
Controller

Request car info from DB

When viewing this page, a tab with the customers car will be displayed, to fill this with the correct
information, the application will request this cars information from the database.

Return car info

And here the correct cars data is returned by the database so it can be used in the app.

Replacement-car management project |Technical specification P a g e | 11


AppDev Company

Request replacement car info from DB

When viewing this page, there is a second tab to view all info about your replacement car. When a
customer navigates here, all info about their replacement car is requested from the database.

Return replacement car info

And here the correct replacement cars data is returned by the database so it can be used in the app.

To create the mock-ups in this document we used the Balsamiq Wireframe Tools
(https://balsamiq.com/), to design the big diagram we used Miro (https://miro.com/), and to design
the ERDs, class diagrams & the data flow diagrams we made use of Google’s Drawio
(https://app.diagrams.net/).

Replacement-car management project |Technical specification P a g e | 12

You might also like