Professional Documents
Culture Documents
End-Of-study Project Fakri Mohamed Ali
End-Of-study Project Fakri Mohamed Ali
Department of Mathematics
END-OF-STUDIES PROJECT
Presenting
For the attainment of State Engineer's Degree
To my dear family,
No dedication can express my respect, eternal love, and gratitude for the sacrifices made
for my education and well-being. May God, the Almighty, keep you, grant you health,
happiness, and a long life so that you remain the guiding light illuminating my path.
To my dear friends,
You have contributed to my success.
To all my colleagues,
To all the people who have inspired me,
To all the people who have brought me moments of happiness,
Thank you for all the unforgettable moments.
To all my teachers from elementary school, middle school, high school, and the Faculty of
Sciences and Technology of Mohammedia,
For generously imparting their knowledge and experiences to me.
Mohamed Ali
End-Of-Studies Project 2
Acknowledgment
I would like to express my gratitude to God, the Almighty, who blesses us with His
blessings at every moment and every instant.
First and foremost, I would like to thank my supervisor at FST Mohammedia, Asmaa
ABASSI, who accompanied me throughout the stages of this dissertation. I thank her for their
guidance and methodological advice she provided me.
I extend my heartfelt thanks to my internship mentors, Mr. Ahmed Ziad BELABYED, Mr.
Ali MAATALA, and Mr. BELMOUKHTAR Ouadi, for their guidance, valuable advice,
continuous availability throughout my internship, and their contribution to the completion of
this work.
I would like to extend my thanks to the members of the jury Elmostafa HANINE and Nabil
AZOUAGH who will be present in the presentation for attainment of state engineer’s degree.
I would also like to acknowledge the assistance provided by individuals who contributed to
the realization of this work, and their contributions will be recognized in this dissertation.
Lastly, I would like to thank everyone who has played a role in making this internship a
success.
End-Of-Studies Project 3
Abstract
End-Of-Studies Project 4
Résumé
Ce rapport présente les résultats de mon stage de fin d'études réalisé chez IDEMIA, qui est
une entreprise spécialisée dans les solutions de gestion d'identité. L'objectif du stage est la
refonte du système de gestion d'applications destinées aux documents d'identité à puce
(AMS). L'AMS est un composant essentiel de la solution IDway d'IDEMIA, c’est une
solution complète de gestion d'identité conçue pour gérer l'identité d'une population tout au
long de la vie.
Le rapport comprend quatre étapes principales. Tout d'abord, une présentation générale du
projet et du problème à résoudre est fournie. Ensuite, une étude fonctionnelle et technique
détaillée est réalisée pour comprendre en profondeur l'AMS existant. Ensuite, une étude
d'analyse et de conception est menée, intégrant le système existant et proposant une nouvelle
approche de modélisation pour le projet. Enfin, le rapport aborde les outils de développement
utilisés pour mettre en œuvre le AMS réaménagé.
Tout au long du projet, la méthodologie agile SCRUM a été utilisée, adaptée aux besoins
spécifiques du stage. Cette approche agile a facilité la gestion efficace du projet et le
développement itératif, garantissant une progression fluide du projet.
La refonte de l’AMS vise à améliorer la gestion des applications au sein des organisations,
en offrant une fonctionnalité et une convivialité améliorées. Le stage a permis d'acquérir une
expérience pratique précieuse, permettant d'identifier et de résoudre les défis rencontrés lors
du processus de réaménagement.
Mots-clés : Refonte, Système de Gestion des Applications, Document de Carte d'Identité,
IDEMIA, IDway, AMS, SCRUM, Méthodologie Agile.
End-Of-Studies Project 5
List of Contents
Dedication ........................................................................................................ 2
Acknowledgment .............................................................................................. 3
Abstract ........................................................................................................... 4
Résumé ............................................................................................................ 5
Introduction .................................................................................................... 15
General Context .............................................................................................. 16
1.1 Host organization .................................................................................. 16
1.1.1 IDEMIA .................................................................................. 16
1.1.2 IDEMIA Morocco ................................................................... 18
1.2 Project Presentation .............................................................................. 20
1.2.1 General context of the Project .................................................. 20
1.2.2 Problematic ............................................................................. 23
1.2.3 Objectives ................................................................................ 23
1.2.4 Project Planning and Management ........................................... 25
1.3 Conclusion ............................................................................................ 29
Functional and Technical Study ........................................................................ 30
2.1 Global architecture ................................................................................ 30
2.2.1 High level architecture for AMS2.0 ......................................... 31
2.2 Functional requirement......................................................................... 31
2.2.1 Application module ................................................................. 32
2.2.2 Rule module ............................................................................ 34
2.2.3 Pending Operations module ..................................................... 35
2.3 Non-functional requirement ................................................................. 35
2.3.1 Performance ............................................................................... 35
2.3.2 Security ...................................................................................... 35
End-Of-Studies Project 6
2.3.4 Reliability and Availability ......................................................... 36
2.3.5 Scalability................................................................................... 36
2.3.6 Usability ..................................................................................... 36
2.3.7 Compliance ................................................................................ 36
2.4 Technical requirements ........................................................................ 37
2.5 Conclusion ........................................................................................... 44
Analysis and Design ........................................................................................ 45
3.1 Needs analysis ....................................................................................... 45
3.1.1 Identification of actors ................................................................ 45
3.1.2 Use Case Diagrams..................................................................... 46
3.2 Sequence diagrams ............................................................................... 51
3.2.1 Application management module ............................................... 52
3.2.2 Rules management module ......................................................... 61
3.3 Class diagram ........................................................................................ 64
3.4 Conclusion ............................................................................................ 65
Project implementation .................................................................................... 66
4.1 Project implementation planning ........................................................... 66
4.1.1 JIRA as Project Management Tool ............................................ 66
4.2 Analyze and improving of existing AMS project.................................. 68
4.3 DataModel of AMS2.0 ......................................................................... 69
4.4 Document in confluence pages ............................................................. 70
4.5 Dockerization ........................................................................................ 72
4.5.1 AMS-backend Dockerfile ........................................................... 72
4.5.2 AMS-frontend Dockerfile ........................................................... 73
4.6 Continuous Integration CI ..................................................................... 73
4.6.1 Git repository.............................................................................. 73
4.6.2 AMS 2.0 Jenkins jobs ................................................................. 73
4.7 Internationalization of the AMS2.0 ......................................................... 75
End-Of-Studies Project 7
4.8 GUI presentation .................................................................................. 77
General conclusion .......................................................................................... 88
Bibliography: .................................................................................................. 89
End-Of-Studies Project 8
List of Figures
End-Of-Studies Project 9
Fig 28: Confluence .................................................................................................... 42
Fig 29: Bitbucket ....................................................................................................... 43
Fig 30: Jenkins ........................................................................................................... 43
Fig 31: SonarQube ..................................................................................................... 43
Fig 32: Nexus IQ ....................................................................................................... 44
Fig 33: JUnit ............................................................................................................. 44
Fig 34: Application Management Use Case Diagram ............................................... 46
Fig 35: Deployment Rules Use Case Diagram .......................................................... 49
Fig 36: Statistics Use Case Diagram ......................................................................... 50
Fig 37: Authentication Sequence Diagram ............................................................... 51
Fig 38: Add new application Sequence Diagram ...................................................... 53
Fig 39: Add new application’s version Sequence Diagram ...................................... 54
Fig 40: Change application version status Sequence Diagram ................................. 55
Fig 41: Application version status lifecycle Sequence Diagram............................... 57
Fig 42: Change Application status Sequence Diagram ............................................. 58
Fig 43: Retrieve the Pending Operations Sequence Diagram ................................... 59
Fig 44: Add new Deployment rule Sequence Diagram............................................. 61
Fig 45: Edit Deployment rule Sequecne Diagram .................................................... 62
Fig 46: Class Diagram of AMS v2 ............................................................................ 64
Fig 47: Jira scrum board ............................................................................................ 67
Fig 48: Burndown Chart ............................................................................................ 67
Fig 49: Project Epics ................................................................................................. 68
Fig 50: SQL scripts .................................................................................................... 70
Fig 51: DataModel of AMS2.0.................................................................................. 70
Fig 52: location of AMS2.0 in Confluence ............................................................... 71
Fig 53: Example of confluence page ......................................................................... 72
Fig 54: Jenkins Continuous Integration..................................................................... 74
Fig 55: Keycloak interaction with AMS ................................................................... 75
Fig 56: Display Deployment Rules management ...................................................... 77
Fig 57: The details of a Deployment Rule ............................................................... 78
Fig 58: Add new Deployment Rule ........................................................................... 78
End-Of-Studies Project 10
Fig 59: Edit conditions before adding Deployment Rule .......................................... 79
Fig 60: Confirmation popup ...................................................................................... 80
Fig 61: Edit Deployment Rule button ....................................................................... 80
Fig 62: Edit Deployment Rule................................................................................... 81
Fig 63: Application management .............................................................................. 81
Fig 64: Add new Application .................................................................................... 82
Fig 65: Save the Application ..................................................................................... 82
Fig 66: Application details ........................................................................................ 83
Fig 67: Add application version ............................................................................... 83
Fig 68: Example of adding application version ........................................................ 84
Fig 69: Added Application version ........................................................................... 84
Fig 70: Make the version status under test ................................................................ 85
Fig 71: The next two statuses of under test ............................................................... 85
Fig 72: Status Active of the version .......................................................................... 86
Fig 73: Status enable of the Application ................................................................... 86
Fig 74: Status DISBLED of application .................................................................... 87
Fig 75: Status DELETED of version ......................................................................... 87
End-Of-Studies Project 11
List of Tables
Tab 1: Glossary.......................................................................................................... 14
Tab 2: Sprints presentation ........................................................................................ 28
Tab 3: Actors identification ....................................................................................... 45
Tab 4: Add new Application Use Case ..................................................................... 47
Tab 5: Add new Application's version Use Case ...................................................... 47
Tab 6: Change Application version status Use Case................................................. 47
Tab 7: Change Application Use Case........................................................................ 48
Tab 8: Download version's package Use Case .......................................................... 48
Tab 9: View Pending Operation Use Case ................................................................ 48
Tab 10: Add deployment rule Use Case .................................................................... 50
Tab 11: Activate deployment rule Use Case ............................................................. 50
Tab 12: View statistics Use Case .............................................................................. 51
End-Of-Studies Project 12
Glossary
Term Definition
ICMS Idemia Credential Management System :
Manage production order
Manage the ID card lifecycle
Manage box lifecycle
New application
Newer application version
Application deleted
Post-issuance Manage Post Issuance requests sent by Web Portal then PI proxy
Scrum Frame work of Agile methodology
Epics large feature is required
CI Continuous Integration
Realm self-contained security and authentication domain that encapsulates
users
GUI graphical user interface
HTTP Hypertext Transfer Protocol to transform and receiving data
REST Representational State Transfer
API Application Programming Interface
End-Of-Studies Project 13
JSON JavaScript Object Notation
Tab 1: Glossary
End-Of-Studies Project 14
Introduction
In a world where digitalization of services and seamless interactions between citizens and
administrations are increasingly prevalent, the reliance on web-based platforms has become
essential. As governments and organizations strive to establish robust identification systems,
they face a multitude of policy and technological choices. Once these choices are made,
implementers are often confronted with significant implementation challenges.
The focus of my end-of-studies project is the redesign of the Application Management
System (AMS) to manage the applications that can be installed on the chip of the identity
card document. This system plays a critical role in IDEMIA's IDway, a comprehensive
identity management solution designed to manage an individual's identity throughout their
life.
This report encompasses several phases of the project. The first chapter provides an
introduction of the host organization, IDEMIA, and outlines the project's overall context,
including its challenges and significance. The second chapter delves into the functional and
technical study, which includes specifying the architecture to be integrated, along with
functional and non-functional requirements. The analysis and design study are presented in
the third chapter, offering detailed insights into the use case diagrams, sequence diagrams,
and class diagrams. Lastly, the fourth chapter focuses on the implementation phase, providing
a comprehensive account of the project's development process.
In order to ensure effective project management and iterative development, the project
adopted the SCRUM agile methodology, tailored to meet the specific requirements and
objectives.
The objective of the redesigned AMS is to enhance the management of applications within
organizations, aiming to improve functionality and usability. This report highlights the
various stages of the project, including the challenges encountered and the strategies
employed to address them.
End-Of-Studies Project 15
Chapter 1: General Context
Chapter 1
General Context
This chapter establishes the general context of the end-of-stud project by first
introducing the host organization and then describing the project framework, its objectives,
and the approach to its management.
1.1.1 IDEMIA
End-Of-Studies Project 16
Chapter 1: General Context
- Payment solutions: IDEMIA offers payment solutions, including SIM cards, mobile
banking and payment solutions, and secure elements for smartphones. They also
provide mobile identity verification and authentication solutions.
- Digital Security: IDEMIA provides digital security solutions for protecting data,
securing transactions, and ensuring privacy. This includes encryption, tokenization,
digital signatures, and secure authentication mechanisms.
- Public Security Solutions: IDEMIA works with law enforcement agencies and
governments to provide secure solutions for public safety, border control, and
citizen services. This includes biometric-based identification systems, crime
investigation tools, and secure document verification systems.
IDEMIA serves various sectors, including government, financial institutions,
telecommunications, healthcare, and transportation. With a wide range of expertise in
identity and security technologies, IDEMIA aims to provide trust and security in an
increasingly digital and connected world.
End-Of-Studies Project 17
Chapter 1: General Context
IDEMIA is the world leader in trusted identities in a world of increasingly digital, with a
customer base in more than 180 countries. The next reports some key numbers that can
describe IDEMIA in a way more quantitative.
IDEMIA Morocco has played a significant role in numerous civil and criminal projects in
multiple countries. Here are some notable examples:
- Morocco: IDEMIA Morocco has also been involved in the development and
implementation of the national population registry (NPR).
- Nepal: The center has collaborated with the Ministry of Foreign Affairs and the
Passport Department in Nepal to deliver secure and reliable passport solutions.
- Chile: IDEMIA Morocco has contributed to identity passport cards and foreign
resident cards projects in Chile, ensuring robust identity verification and document
security.
- Qatar: IDEMIA Morocco has supported Qatar's police criminal systems, leveraging
its expertise in developing advanced law enforcement solutions.
End-Of-Studies Project 18
Chapter 1: General Context
- United Arab Emirates: IDEMIA Morocco has played a role in enhancing border
control systems in the United Arab Emirates
Additionally, IDEMIA Morocco has been involved in projects in other countries, including
Argentina, Brazil, Peru, and more. This demonstrates the center's extensive reach and its
contributions to identity and security solutions worldwide.
• Goods and People Security: Providing a wide range of qualified and certified
products for explosive and threat detection in the aerospace and public transportation
industries.
• Defense and Sensitive Infrastructures: Optimized detection products for military
applications.
• Public Events and Emergency Services: Detection of substances or threats.
The "Identification" sector focuses on:
• Identity Solutions: Delivering highly secure national identity cards, resident cards,
and tamper-proof passports.
• Criminal Identity: Providing a range of biometrics-based products to support law
enforcement from crime scene to court.
• Border Control: Using biometrics to reconcile the seemingly contradictory goals of
increased security and reduced passenger and personnel waiting times.
• Biometric Access Control: Unique multi-biometric products using fingerprint,
finger vein and fingerprint combination, or facial recognition.
• Transportation Security: In the road and rail sectors.
End-Of-Studies Project 19
Chapter 1: General Context
Our project entitled “Redesign of the management system for applications intended
for smart card identity documents” was proposed as part of the development of a corporate
end-of-study internship. Included in the training of mathematics and computer science of
FST Mohammedia. This internship was carried out within the company IDEMIA.
The purpose of this end-of-study project is to redesign and enhance the Application
Management System (AMS) within IDEMIA's IDway solution. The IDway solution
encompasses various components aimed at providing a comprehensive and robust
identification framework. One of these components is the Identity Credential Management
System (ICMS), within which the AMS resides.
- IDway solution
End-Of-Studies Project 20
Chapter 1: General Context
Data Preparation: ICMS prepares data for personalization, ensuring that the necessary
information is ready for the issuance of identity documents.
Identity Document Life Cycle: ICMS follows the complete life cycle of identity documents,
managing their creation, activation, and deactivation processes.
GUI for Identity Document Status: ICMS provides a graphical user interface (GUI) that
allows for the easy updating of the status of identity documents. This includes functionalities
to terminate an identity document when necessary.
GUI for Identity Document Box Status: ICMS also offers a user-friendly interface for
updating the status of identity document boxes. This includes tracking and updating their
status as received, stolen, or lost.
These features make ICMS a vital component within the IDway solution, enabling efficient
data preparation, effective management of identity document life cycles, and convenient
status updates for both individual identity documents and document boxes
End-Of-Studies Project 21
Chapter 1: General Context
End-Of-Studies Project 22
Chapter 1: General Context
1.2.2 Problematic
Furthermore, the existing implementation of the AMS has identified security vulnerabilities
and bugs that need to be addressed. These security concerns undermine the system's ability
to provide a robust and secure environment for managing card applications. It is crucial to
rectify these issues to ensure the confidentiality, integrity, and availability of sensitive data
and to comply with industry regulations and best practices.
Addressing the issues related to outdated technologies and security vulnerabilities is essential
for the AMS to meet the increasing demands of application management, data privacy, and
security in today's digital landscape. The project will focus on redesigning and enhancing the
AMS to overcome these challenges and provide a more reliable, secure, and future-proof
solution.
1.2.3 Objectives
The objectives of our project, which focuses on redesigning the AMS to enhance its
technologies and align it with the IDway solution, are as follows:
End-Of-Studies Project 23
Chapter 1: General Context
Implement the redesigned AMS, adhering to best coding practices and industry
standards.
Conduct thorough testing, including unit testing, integration testing, and system
testing, to ensure the reliability and functionality of the enhanced AMS.
Build and publish the new version of the AMS, ready for deployment.
Priority 6: Auto install
Develop an automated installation process for the enhanced AMS, simplifying the
deployment and configuration steps.
Ensure seamless installation and integration of the AMS within the IDway solution
environment.
Priority 7: Integrate with MasterData
Integrate the enhanced AMS with the MasterData system, ensuring seamless data
exchange and synchronization.
Enable efficient management and retrieval of essential information within the AMS.
Priority 8: End-to-end integration
Perform end-to-end integration testing to validate the interoperability and
functionality of the enhanced AMS within the broader IDway solution.
Ensure smooth integration with other components and systems, including identity
management systems, authentication services, and data repositories.
End-Of-Studies Project 24
Chapter 1: General Context
To ensure the smooth progress of the project, meeting the expected outcomes,
avoiding any delays in project completion, and overcoming potential challenges and
unforeseen circumstances that may jeopardize the project's progress, we have chosen to adopt
a project management methodology that allows for organized work advancement, keeping
up with the needs and requirements, while also being flexible and agile enough to
accommodate any necessary changes.
Considering the factors of Quality, Cost, and Time, we have selected SCRUM as the
methodology of choice for this project, which we have adapted to derive maximum benefit.
We will outline the approach followed for task development and allocation within the
allocated project timeline.
SCRUM is defined by its creators as a "framework for addressing complex and changing
problems, while delivering products of the highest possible value in a productive and creative
manner." Its strongest aspect is that the client plays a collaborative role, being involved in all
phases of development to ensure that the final product aligns with their needs.
End-Of-Studies Project 25
Chapter 1: General Context
In the SCRUM methodology, three key roles are defined: the "Product Owner" who carries
the vision of the product to be realized (typically representing the client), the "Scrum Master"
who ensures adherence to the Scrum methodology, and the development team responsible
for creating the product. The core element of SCRUM are sprints, which is a time-boxed
iteration typically lasting between 2 to 3 weeks. Each sprint includes a set of planned features
and is supported by regular meetings to keep the work on track. These features make up the
"sprint backlog." For our project, we have opted for sprints of 2 to 3 weeks. It is important to
distinguish the sprint backlog from the "product backlog," which represents all the expected
features of the product across all sprints.
In order to have an overall vision of the project’s progress and to undertake well-
thought-out planning, we feel it necessary to cut the project into a “sprint” for the
development of a Backlog Product as below:
End-Of-Studies Project 26
Chapter 1: General Context
Sprints Date
Sprint 0 13/02/2023 → 20/03/2023 (Skills development)
Tasks
- Formation on IDEMIA’s civil tribe
- Formation on IDway Components
- Formation on technical stack
End-Of-Studies Project 27
Chapter 1: General Context
Gantt chart:
End-Of-Studies Project 28
Chapter 1: General Context
1.3 Conclusion
In this chapter, we have provided an overview of the general framework of the project.
After introducing the hosting organization and presenting the project, we have outlined the
scope of this end-of-study project and discussed the methodology adopted to ensure effective
project management.
The next chapter will focus on the functional and technical analysis of the project, where we
will delve deeper into understanding the specific requirements and technical aspects
involved.
End-Of-Studies Project 29
Chapter 2: Functional and Technical Study
Chapter 2
Functional and Technical Study
This chapter is dedicated to the preliminary study, which primarily involves the initial
assessment of needs. It encompasses the analysis and diagnosis of the overall information
system, as well as the identification and modeling of the contextual factors.
By breaking down the application into smaller services, each responsible for a specific
functionality, we can achieve better modularity, fault isolation, and independent deployment.
This microservices-based architecture enables us to enhance agility, promote rapid
development, and facilitate the integration of new features or updates into the system.
Additionally, it provides the ability to scale individual services independently based on their
specific demands, optimizing resource utilization and overall performance.
End-Of-Studies Project 30
Chapter 2: Functional and Technical Study
End-Of-Studies Project 31
Chapter 2: Functional and Technical Study
Web service:
The Application Management System (AMS) should provide an API that enables users to
load different versions of an application. This API allows users to upload and store multiple
versions of an application within the system.
- The AMS should provide an API that allows users to download different versions of
an application. With this API, users can access and retrieve specific versions of an
application based on their needs or preferences.
- The AMS should provide an API that enables users to query the system and determine
which versions of an application are currently available. This API allows users to
obtain a list of all available application versions, facilitating visibility and selection.
- The AMS should provide an API that allows users to query the system and determine
the status of different versions of an application. Users can utilize this API to retrieve
information about the current status (e.g., active, tested, deleted…) of various
application versions.
- The AMS should provide an API that allows authorized users to update the status of
various versions of an application. This API grants authorized users the ability to
modify the status of specific application versions, ensuring accurate and up-to-date
information regarding their availability and development status.
- The AMS should provide an API that allows users to register deployment rules for
different versions of an application. This API enables users to define specific rules or
configurations for deploying and managing different versions of an application,
ensuring consistency and adherence to defined guidelines.
- The Application Management System (AMS) should provide an API that allows users
to retrieve all applications within the system. This API ensures that users can obtain
a comprehensive list of all applications available, facilitating efficient management
and oversight of the entire application inventory.
- The AMS should have an API to retrieve all versions of a specific application. This
API enables users to access a complete history of different versions associated with a
particular application. By retrieving this information, users can track the evolution
and progression of the application over time.
- The AMS should provide an API that allows users to retrieve an application based on
its unique identifier (ID). This API allows users to query the system with a specific
application ID and obtain detailed information about that particular application. This
functionality provides a straightforward and efficient method for retrieving specific
applications when their ID is known.
End-Of-Studies Project 32
Chapter 2: Functional and Technical Study
- The AMS should have an API to retrieve all the status information associated with an
application. This API enables users to retrieve the status of a particular application,
providing valuable insights into its current state. By querying the system for the status
of an application, users can quickly determine if it is active, inactive, under
development, or in any other relevant state.
These descriptions highlight the key functionalities and capabilities expected from the web
service in the application module of the AMS.
GUI:
The Application Management System (AMS) should incorporate a Web GUI that offers a
user-friendly interface for performing various functions. The GUI should enable users to
access the following features:
- Application Listing: The GUI should display a comprehensive list of all applications
available in the AMS. This listing can include key information such as application
names, versions, and statuses.
- Application Details: When a specific application is selected from the list, the GUI
should provide detailed information about that application. This may include its
description, release notes, associated documentation, and any related resources, and
also in this GUI the user can manage the version of the application by editing the
status of the version and also can update the status of an application with specific
cases.
- Add Application: The GUI should include a form or interface that allows users to add
a new application to the AMS. Users can input details such as the application name,
description, and other relevant information. Upon submission, the GUI should
validate the inputs and trigger the creation of a new application in the AMS.
- Add Version of Application: Within the GUI, users should have the ability to add new
versions to existing applications. This feature can be implemented through a form
where users can provide version-specific details, such as version number, binary file
and text file. After validating the inputs, the GUI should initiate the addition of the
new version to the corresponding application in the AMS.
- Version Application Details: The GUI should display detailed information about a
selected version of an application. This can include attributes like version number,
file AID, module AID, and the users can download the specific versions of the
application via version application details GUI. This functionality implemented
through a download link within the application version details page.
By integrating these features into the Web GUI, the AMS offers users an intuitive and
visually appealing interface for managing applications. The GUI acts as a front-end for
End-Of-Studies Project 33
Chapter 2: Functional and Technical Study
interacting with the AMS's underlying functionalities, providing a seamless and efficient
user experience.
Web service:
For the web service in the rules module, the following descriptions can be used for each
requirement:
- The Rules module of the web service should provide an API that allows users to add
deployment rules for an application. This API enables users to define specific rules
and there conditions.
- The web service should include an API that allows users to edit existing deployment
rules. This API enables users to modify and update the fields of the rule and the
conditions of this rule.
- The web service should have an API that allows users to delete deployment rules.
This API enables users to remove specific deployment rules that are no longer needed
or relevant. It helps in maintaining a clean and up-to-date set of rules for application
deployment.
- The web service should provide an API that allows users to retrieve a list of all
deployment rules. This API enables users to obtain an overview of all the existing
deployment rules associated with applications. It facilitates easy access to rule details.
- The web service should include an API that allows users to change the status of a
deployment rule. This API enables users to update the status of a specific rule, such
as activating or deactivating it. It provides control over the execution and applicability
of deployment rules for an application.
These descriptions highlight the key functionalities and capabilities expected from the web
service in the rules module. They ensure efficient management and control of deployment
rules for applications within the system.
GUI:
The GUI of rules are:
- Add Rule: The GUI should include a form where users can input the necessary details
to add a deployment rule for an applications. This form include fields such as rule
name, rule comment and description, the conditions.
- Edit Rule: When a user selects a specific deployment rule from the list, if we do not
have an application use this rule, the GUI should display an edit button to modify the
End-Of-Studies Project 34
Chapter 2: Functional and Technical Study
existing rule. Users can modify the desired fields for this rule. After making the
necessary changes, they can save the updates, which triggers the API call to edit the
rule.
- Delete Rule: The GUI should display a list of existing deployment rules, when we
select a rule if the applications exist does not use this rule we can display delete
button. In addition, the users can delete the rule.
- Get List of Rules: The GUI should present a table of existing deployment rules. The
table include the name column when the user select a the rule he can see all the
information for this rule like the description and comments how create the rule …
The GUI design should aim for a user-friendly and intuitive interface, allowing users to easily
add, edit, delete, view, and change the status of rules. It should provide clear feedback on the
success of each action and ensure a smooth user experience.
Web service:
- The AMS Should provide an API that can sent all the versions of the applications can
be added or updated or deleted
2.3.1 Performance
- The AMS system should be able to handle a high volume of concurrent requests
without significant degradation in response time.
- The system should have efficient data processing and retrieval mechanisms to ensure
fast and smooth operations.
- The system should be scalable to accommodate future growth and increasing user
demand.
2.3.2 Security
- The AMS system should implement robust security measures to protect sensitive data
and prevent unauthorized access.
End-Of-Studies Project 35
Chapter 2: Functional and Technical Study
- Access to system functionalities and data should be controlled based on user roles
and permissions.
- The AMS system should have a high level of reliability, ensuring minimal downtime
and maximum availability.
- The system should have backup and recovery mechanisms in place to safeguard
against data loss and ensure business continuity.
2.3.5 Scalability
- The AMS system should be designed to handle increasing data volumes, user loads,
and application complexity over time.
2.3.6 Usability
- The AMS system should have a user-friendly and intuitive interface, making it easy
for users to navigate and perform tasks efficiently.
- The system should provide clear and concise documentation, including user guides
and manuals, to assist users in understanding system functionalities.
2.3.7 Compliance
- The AMS system should adhere to relevant industry standards, regulations, and legal
requirements pertaining to data privacy, security, and application management.
- The system should support audit trails and logging mechanisms to facilitate
compliance monitoring and reporting.
These are just a few examples of non-functional requirements that can be considered for the
AMS system. It is important to tailor these requirements to specific organizational needs and
industry standards to ensure the successful implementation and operation of the system
End-Of-Studies Project 36
Chapter 2: Functional and Technical Study
In this section, we will present the technical requirements and tools utilized in the
implementation of this project. These specifications arise from specific constraints that exist
within the project's context.
End-Of-Studies Project 37
Chapter 2: Functional and Technical Study
End-Of-Studies Project 38
Chapter 2: Functional and Technical Study
End-Of-Studies Project 39
Chapter 2: Functional and Technical Study
interoperable manner. It is widely adopted by enterprises and service providers to create and
operate cloud environments.
End-Of-Studies Project 40
Chapter 2: Functional and Technical Study
End-Of-Studies Project 41
Chapter 2: Functional and Technical Study
Postman is a popular API development and testing tool that simplifies the process of
building and consuming APIs. It offers a user-friendly interface for sending HTTP requests,
inspecting and manipulating responses, and automating API workflows. With features like
collections, environments, and tests, Postman enables developers to streamline API
development, documentation, and collaboration, making it an essential tool in the API
development lifecycle.
End-Of-Studies Project 42
Chapter 2: Functional and Technical Study
offers integration with other tools, allowing seamless integration of content and enhancing
team productivity and communication.
End-Of-Studies Project 43
Chapter 2: Functional and Technical Study
2.5 Conclusion
In this chapter, we have covered the gathering of functional, non-functional, and technical
requirements. The next chapter will be devoted to the analysis and design of the project,
detailing the use case diagrams, sequence diagrams, and class diagrams.
End-Of-Studies Project 44
Chapter 3: Analysis and Design
Chapter 3
Analysis and Design
An actor refers to a human, machine, or system that is not part of the solution to be
implemented but participates in the overall functioning of the solution through interaction.
Below are the different actors involved in the identification system, along with their
roles.
Actor Functions
Administrator A super user with full access to all functionalities of the AMS.
Issuer The individual or organization responsible for loading applications into the
AMS system.
Tester The person or organization who assists in testing the loaded applications
after they are downloaded from the system
Operator Has an overview of the system, but does not have the ability to make
modifications
IDPS System that communicates with the AMS through web services to manage
post-issuance requests
Tab 3: Actors identification
End-Of-Studies Project 45
Chapter 3: Analysis and Design
Use cases help represent the system's functionality from the user's perspective,
providing a view of the system in its external environment.
In the following, we will analyze each functionality and its use cases.
This use case diagram presents an overview of the various actors and their associated use
cases in relation to application management.
End-Of-Studies Project 46
Chapter 3: Analysis and Design
End-Of-Studies Project 47
Chapter 3: Analysis and Design
End-Of-Studies Project 48
Chapter 3: Analysis and Design
End-Of-Studies Project 49
Chapter 3: Analysis and Design
The Statistics Report use case diagram provides a visual representation of the
different actors and their associated use cases related to generating statistical reports within
a system.
End-Of-Studies Project 50
Chapter 3: Analysis and Design
This use case diagram presents an overview of the various actors and their
associated use cases in relation to statistics reports.
The sequence diagram represents the interaction of actors with our system in a
chronological sequence. This means that representing use cases using sequence diagrams
allows us to illustrate the collaboration between system objects from a temporal
perspective. In the following, we will present sequence diagrams related to some use cases.
3.2.1 Authentication
Description:
1. The actor initiates the authentication process by providing their login and password.
End-Of-Studies Project 51
Chapter 3: Analysis and Design
2. The Keycloak identity system validates the login and password provided by the
actor, and return the access token.
3. The actor includes the access token in a request sent to the AMS server.
4. The AMS server receives the request and verifies the validity of the access token
with the Keycloak identity system.
5. If the access token is valid, the AMS server proceeds to process the request and
return a response to the actor.
6. If the access token is found to be invalid during the verification process, the AMS
server sends an "unauthorized" error response to the actor, indicating that the
authentication has failed.
In this section, we present a series of sequence diagrams that depict the interactions
and chronological flow of events related to application management in our system. These
sequence diagrams provide a visual representation of the collaboration between actors and
objects, highlighting the dynamic behavior of our application management feature.
The sequence diagram below outlines the process for adding a new application to
our system.
End-Of-Studies Project 52
Chapter 3: Analysis and Design
7. The actor initiates the process by providing the required details for the new
application.
8. The user selects the appropriate deployment rule and credential profile associated
with the new application.
9. The system validates the user's input, conducting necessary checks to ensure data
integrity and security.
10. If the input passes all validations, the system automatically sets the status of the new
application as "created" and adds it to the corresponding database table.
11. A confirmation message is generated and sent to the actor, indicating the successful
addition of the new application.
The sequence diagram below outlines the process of adding a new version of an
application.
End-Of-Studies Project 53
Chapter 3: Analysis and Design
2. The system gets a list of versions of the application and sends the result to the actor.
3. Actor sends a request to the application object to add a version of the selected
application.
5. If the version does not exist, the application object uploads the file of the version to
the database and sets the version status as created.
6. A confirmation message is generated and sent to the actor, indicating the successful
addition of the new application.
The sequence diagram below outlines the process of changing the status of an
application's version.
End-Of-Studies Project 54
Chapter 3: Analysis and Design
1. The actor initiates the process by requesting to view the application details.
2. The application object retrieves the list of existing versions of the application and
provides it to the actor.
3. The application version object checks the application details to determine if the
application is disabled.
4. If the application is disabled, the actor is allowed to change the version status while
adhering to the defined version status lifecycle.
5. Once the actor selects a version and updates its status, the application version object
verifies the change against the predefined version status lifecycle.
6. This verification ensures that the requested status transition is valid and follows the
defined rules for version status changes.
7. Finally, a confirmation message is generated by the system and sent back to the actor,
indicating the successful change in the application version status.
End-Of-Studies Project 55
Chapter 3: Analysis and Design
End-Of-Studies Project 56
Chapter 3: Analysis and Design
1. The actor sends a request to change the application version status to the desired stage,
such as "under test."
2. The application version status object validates the status change request (e.g., from
"created" to "under test") to ensure it meets the defined version status rules.
3. If the validation is successful, the application version status is changed to the
requested stage (e.g., from "created" to "under test").
4. A confirmation message is generated and sent to the actor, indicating the successful
status change.
These steps are repeated for status transitions like "under test" to "tested," "tested" to "active,"
and "active" to "deactivated".
End-Of-Studies Project 57
Chapter 3: Analysis and Design
If the status is "under test," the actor has the ability to change the status to "rejected."
Once the status is changed to "rejected," the actor loses the ability to change the status
further.
If the status is "active," there is a loop where the actor can activate the "deactivated"
status. Similarly, if the status is "deactivated," the actor can activate it. The loop
continues until the status is changed to "deleted," which marks the end of the version
lifecycle.
The sequence diagram below outlines the process of changing the status of an
application.
2. The application object requests the versions of the application from the versions
object.
4. The application object displays the application details for the actor.
5. If the application has an active version, the actor can send a change application status
request.
6. The application object validates the new status.
End-Of-Studies Project 58
Chapter 3: Analysis and Design
7. If the new status is "enable," the application object sends the active version to the
IDPS.
8. If the new status is "disable," the application object changes the application status
without involving the IDPS.
9. Finally, the application object sends a confirmation message to the actor indicating
the application status change.
10. If the application has no active version, the application object sends an error message
to the actor.
The sequence diagram below outlines the process of retrieving the Pending
Operations from AMS
Description:
End-Of-Studies Project 59
Chapter 3: Analysis and Design
1. The IDPS component is called by the PI Web portal and Proxy to retrieve card status,
application identifiers, and citizen data using the card number. It calls the CMS
subsystem for this information.
2. The CMS subsystem returns the card status, card application(s) identifiers, and citizen
data.
3. If the card status is valid, the IDPS component checks for any pending operations on
the AMS.
5. If the AMS finds a list of pending operations, the AMS subsystem checks the
deployment rule for each card application to determine the proper action:
Rule 1: Deployment with no condition
Rule 2: Deployment with conditions based on citizen demographic data
6. If the card application has a deployment rule with no condition, the AMS sends the
list of pending operations to the IDPS to perform.
7. Once the operation has been performed on the card, the IDPS component notifies the
CMS subsystem with the card application identifiers available on the card to update
the database.
8. If the card application has a deployment rule with conditions, the AMS uses the
citizen data sent by the IDPS to check if the conditions are fulfilled.
9. If the AMS finds that the rule conditions apply by comparing the retrieved citizen
data with the rule conditions, it sends the list of pending operations to the IDPS to
perform.
10. Once the operation has been performed on the card, the IDPS component notifies the
CMS subsystem with the card application identifiers available on the card to update
the database.
11. If the AMS finds that the rule conditions do not apply by comparing the retrieved
citizen data with the rule conditions, it will not be possible to perform update
operations on this card.
12. The AMS sends a message indicating that no pending operations are available.
13. If no pending operations have been found, the AMS sends a message indicating that
no pending operations are available.
14. If the card status is invalid, it will not be possible to perform any pending operations
on this card.
End-Of-Studies Project 60
Chapter 3: Analysis and Design
In this section, we present a series of sequence diagrams that depict the interactions
and chronological flow of events related to application management in our system. These
sequence diagrams provide a visual representation of the collaboration between actors and
objects, highlighting the dynamic behavior of our deployment rules management feature.
The sequence diagram below outlines the process of adding a new deployment
rule.
1. The actor initiates the process of adding a new deployment rule and provides the
necessary information, such as the rule name and its associated conditions.
2. The Rule object creates a new instance of the Condition class for each condition
associated with the rule.
4. The Rule object sends a message to the actor, indicating that the rule has been added
successfully.
End-Of-Studies Project 61
Chapter 3: Analysis and Design
The sequence diagram below outlines the process of editing deployment rule.
1. The actor initiates the process by requesting to display the existing rules.
4. The Rule object retrieves the list of conditions and the list of applications associated
with the selected rule.
6. If the rule is not used in any application, the actor can send an edit rule request, and
the Rule object performs the editing.
7. The Rule object sends a confirmation message indicating that the rule has been
successfully edited.
End-Of-Studies Project 62
Chapter 3: Analysis and Design
8. If the rule is used in some applications, the Rule object returns an error message to
the actor, indicating that the rule is already in use.
End-Of-Studies Project 63
Chapter 3: Analysis and Design
By using a class diagram, we can gain a better understanding of the system's components and
their interactions. It helps to identify key classes, their properties, and methods that they own.
Additionally, class relationships highlight how data flows through the system and how
different components work together to achieve specific functionality.
The Class diagram below shows the various classes and their relationships in the AMS
system.
End-Of-Studies Project 64
Chapter 3: Analysis and Design
3.4 Conclusion
Before starting the implementation phase, it is essential to define the objectives and
functionalities of the system. This step aims to identify the usage boundaries, services, and
solutions that the system offers to the user. By the end of this chapter, we were able to
modeling the system's functionality. This was accomplished through various diagrams that
accurately specify the composition and behavior of the system. In the next chapter, we will
proceed with the implementation and transformation of these models in order to execute the
proposed solution.
End-Of-Studies Project 65
Chapter 4: Project Implementation
Chapter 4
Project implementation
This chapter aims to present the technical tools utilized for project implementation, as well
as addressing various aspects involved in the realization of our project.
In this section, we will outline the planning process for the implementation of the
redesigned Application Management System (AMS) using the Agile Scrum methodology
and the JIRA platform.
4.1.1 JIRA as Project Management Tool
JIRA played a pivotal role in our project as the primary project management tool for
planning, tracking, and collaborating on the implementation phase. We leveraged the
capabilities of JIRA to streamline our project management processes. The following aspects
highlight our use of JIRA:
- Backlog management and prioritization:
JIRA allowed us to effectively manage and prioritize our product backlog. Each user
story or feature was created as an issue in JIRA, capturing the necessary details, acceptance
criteria, and any related attachments. The backlog was visually represented, making it easy
to visualize the scope of work and prioritize the most valuable items. Using JIRA's
customizable workflows, we tracked the progress of each item as it moved through different
stages, from "To Do" to "In Progress" and finally to "Done".
End-Of-Studies Project 66
Chapter 4: Project Implementation
JIRA facilitated efficient task assignment and tracking within the development team. As user
stories were broken down into tasks, they were assigned to team members, ensuring clear
ownership and accountability. JIRA's user-friendly interface allowed team members to
update the status of their tasks, log time spent, and add comments or attachments to provide
necessary context. This real-time visibility into the progress of tasks enabled effective
collaboration and coordination among team members.
End-Of-Studies Project 67
Chapter 4: Project Implementation
The epics help us prioritize and plan our development efforts, allowing us to break down the
project into manageable pieces.
Fig 49: Project Epics
Before proceeding with the implementation phase of the project, it was crucial for us
to initiate a thorough analysis of the existing AMS project. This initial step involved delving
into the various aspects of the project, including obtaining and scrutinizing all the pertinent
documents that would provide valuable insights into the functionalities of the previous
version of AMS. These documents served as a vital resource for us to gain a comprehensive
understanding of how the system operated and the features it offered.
End-Of-Studies Project 68
Chapter 4: Project Implementation
understanding of the APIs paved the way for seamless integration and ensured the smooth
operation of the new version of AMS.
To gain hands-on experience and further explore the data structure, we executed the SQL
script of the previous AMS version on our local development environment using DBeaver, a
robust database management tool. This allowed us to generate the data model tables and
analyze the structure, relationships, and constraints within the database.
During the data model analysis phase, we identified areas where the database schema could
be enhanced. By carefully scrutinizing the existing structure, we identified potential
improvements and optimizations that could be implemented to enhance performance, data
integrity, and overall efficiency. These proposed enhancements would enable the new version
of AMS to better cater to the evolving needs of the system and provide an improved user
experience.
Creating SQL scripts for both Oracle and PostgreSQL databases. These scripts were
designed to generate the DataModel, which would establish the foundation for linking the
database layer with the backend layer of the AMS project. This deliberate separation between
the two layers was a strategic decision aimed at simplifying our development process and
ensuring modularity and scalability.
By creating dedicated SQL scripts for each database platform, we ensured compatibility and
flexibility, allowing the AMS application to seamlessly integrate with either Oracle or
PostgreSQL databases based on specific deployment requirements. This approach not only
facilitated easier migration and database management but also enhanced the overall
performance and maintainability of the system.
The SQL scripts were carefully crafted to define the necessary tables, relationships,
constraints, and indexes required for the AMS DataModel. By leveraging the power and
expressiveness of SQL, we were able to accurately represent the various entities and their
attributes, ensuring data consistency and integrity throughout the application.
End-Of-Studies Project 69
Chapter 4: Project Implementation
The DataModel generated from the SQL scripts served as a blueprint for the database layer,
providing a clear structure and organization for storing and retrieving data. This separation
of concerns between the database layer and backend layer allowed for easier development
and testing, as well as future-proofing the system by enabling seamless migration to
alternative databases if needed.
The AMS2.0 project has a dedicated location within the Confluence, serving as a
central repository for documenting both specific and non-specific functionalities, as well as
best practices in development. This documentation initiative is aimed at ensuring that future
team members or stakeholders can easily access and reference the necessary information.
End-Of-Studies Project 70
Chapter 4: Project Implementation
The AMS project, specifically the AMS v2, is housed within the ICMS HOME directory.
Within this directory, we have established two distinct directory to organize and manage
different aspects of the project: Architecture & Designs and Development.
The Architecture & Designs directory serves as a repository for all architectural artifacts and
design documentation related to the AMS v2. This includes DataModel, functional
requirement, high-level architecture, and others. By this mechanism, we ensure that all team
members have easy access to the latest architectural decisions and designs, facilitating a clear
understanding of the system's structure and components.
The Development directory, on the other hand, is designated for best practice that we need
to do in our code, scripts, and development-related resources for the AMS v2 project. This
directory serves that the team members can develop the project with the best practice.
End-Of-Studies Project 71
Chapter 4: Project Implementation
The purpose of this page is to focus on the architecture and layer structure of the AMS project,
as well as the relationships between these layers. The goal is to provide a comprehensive
understanding of how the different components and layers interact to form a cohesive system
4.5 Dockerization
In the AMS project, we need to containerize both the backend and frontend projects.
This involves creating Docker images for both the frontend and backend and pushing them
to a registry. To achieve this, we utilize Dockerfiles, with one dedicated to the backend and
another for the frontend.
First, we started by creating the Dockerfile for the backend. We began by pulling the
Alpine image with the tag 3.17.2. Then, we defined the repository snapshot name and the
repository hostname as arguments. Next, we added a certificate file from a specific URL to
the /etc/ssl/certs/idemia-root-ca.crt path in the container. After that, we appended the contents
of a certificate file to the /etc/ssl/certs/ca-certificates.crt file and updated the CA certificates.
We proceeded by installing OpenJDK 17 and upgrading the packages in the container. Then,
we set the environment variable myEnv to /tmp/ams/, exposed port 8080, set the working
directory to /tmp/ams/, and copied the contents of the current directory (the JAR file) to
/tmp/ams/. We created directories, set ownership and permissions, and switched to a non-
root user. Finally, we set the entrypoint command to run the ams-backend.jar file with Java.
End-Of-Studies Project 72
Chapter 4: Project Implementation
The Dockerfile for the frontend starts by using the nginx:1.23.3-alpine image from the
Docker registry. It removes the existing content in the /usr/share/nginx/html/ directory,
creates directories for SSL and nginx configuration, and copies the nginx configuration files
from the nginx/ directory. It also copies the contents of the dist/ directory to
/usr/share/nginx/html. Additionally, it adds a shell script called replaceBackendUrls.sh and
sets it as the entrypoint. The script is responsible for replacing backend URLs. The container
runs the Nginx server in the foreground. Afterwards, it upgrades the packages in the container
using the apk command. Then, it creates a user group called appgroup and a non-root user
called appuser, assigns ownership to specific directories, and switches to the appuser.
Upon completing the extensive analysis of the existing AMS project, we proceeded
with setting up a dedicated repository in Bitbucket to serve as the central code repository for
AMS. This repository served multiple purposes, including establishing a seamless integration
with Jenkins, facilitating collaborative code sharing among the team members, and
distinguishing it from other projects within ICMS. We aptly named this repository "AMS" to
clearly identify it amidst the various ongoing projects.
End-Of-Studies Project 73
Chapter 4: Project Implementation
End-Of-Studies Project 74
Chapter 4: Project Implementation
The current version of the AMS support two languages: French and English. The
default language of the AMS depends on the language of the user's browser. The user can
change the language by using a scroll-down list that displays both languages (EN and FR).
We have implemented these functionalities using the i18n directory in the asset, we have
created two files, en.json and fr.json, which represent the key-value pairs. The keys are the
same, but the values differ depending on the language.
- When a user tries to access a protected resource or perform an action that requires
authentication, the AMS application redirects the user to the Keycloak login page.
- The user enters their credentials (username and password) on the Keycloak login
page.
- The Angular application can store these tokens in local storage or session storage
for subsequent authenticated requests.
End-Of-Studies Project 75
Chapter 4: Project Implementation
- When the Angular application makes requests to the backend APIs, it includes the
access token in the Authorization header. Keycloak verifies the access token to
ensure the user is authorized to access the requested resource.
- If the access token expires, the AMS application can request a new one using the
refresh token provided by Keycloak
To install Keycloak, we have used a Docker Compose configuration file that pulls the
Keycloak image. Once Keycloak is installed, we execute a shell script that waits for the
installation to complete. Subsequently, we run a script, which handles TLS configuration.
Following that, we execute a script responsible for creating clients and another script that
adds users along with their respective roles.
Within the AMS, we have defined specific user roles such as issuer, operator, tester, and
admin. These roles are established within the user and role creation script, ensuring
appropriate access and permissions for each role.
End-Of-Studies Project 76
Chapter 4: Project Implementation
In this section, we will showcase the implemented GUIs of the project, providing an
overview of their functionalities and purpose. Each GUI will be thoroughly explained,
highlighting its specific features and intended user interactions.
End-Of-Studies Project 77
Chapter 4: Project Implementation
conditions of the rule as we will see next. This layout enhances usability and facilitates
efficient rule management within the system.
End-Of-Studies Project 78
Chapter 4: Project Implementation
When the "Add Rule" button is clicked, a form component is displayed, allowing the user to
input the rule name and description. Additionally, conditions specific to the rule can be
added. The user can enter the condition name, select the holder attribute (e.g., Age, Sex,
Birthday), specify the query type (e.g., Equal, Greater, Greater or Equal, Different), and
provide the condition value. For example, if "Age" is selected as the holder attribute,
"Greater" is chosen as the query type, and the age is set to 18, the condition would be
formulated as "Age must be greater than 18 years old." Multiple conditions can be added to
the rule, enabling complex rule definitions as per requirements.
End-Of-Studies Project 79
Chapter 4: Project Implementation
End-Of-Studies Project 80
Chapter 4: Project Implementation
Search by Keyword
End-Of-Studies Project 81
Chapter 4: Project Implementation
End-Of-Studies Project 82
Chapter 4: Project Implementation
End-Of-Studies Project 83
Chapter 4: Project Implementation
cannot be manually edited. Similarly, for the Application AID, Module AID, and Load File
AID, we only need to upload the file.txt, and the system will extract the necessary values
from it for our convenience.
End-Of-Studies Project 84
Chapter 4: Project Implementation
End-Of-Studies Project 85
Chapter 4: Project Implementation
End-Of-Studies Project 86
Chapter 4: Project Implementation
End-Of-Studies Project 87
General conclusion
The project began with an exploration of the global architecture. We delved into both
functional and non-functional requirements, ensuring that the application module, rule
module, and pending operations module met the necessary criteria.
Following the needs analysis, we identified the actors involved and constructed use case
diagrams to capture the system's behavior. Sequence diagrams were also used to illustrate the
flow of actions within the application management module and the rules management
module. Additionally, a class diagram was created to represent the relationships and structure
of the system.
In conclusion, our vision for this project extends beyond the current work we have
accomplished. We recognize that there are numerous opportunities for further enhancement
and development. As we move forward, we have identified the following tasks as potential
future improvements:
1. Implementation statistics
By pursuing these future developments, we aim to continuously refine and optimize the
management system for applications intended for smart card identity documents. Our
commitment to improvement and innovation remains unwavering, and we look forward to
exploring these opportunities in the future.
End-Of-Studies Project 88
Bibliography:
IDEMIA:
https://www.idemia.com/
https://www.idemia.com/wp-content/uploads/2022/09/idemia-leader-identity-
technologies-brochure-202209.pdf
Learn Docker
https://docker-curriculum.com/
OpenStack horison
https://wiki.openstack.org/wiki/Horizon
Scrum Documentation
https://www.atlassian.com/fr/agile/scrum
https://kubernetes.io/
End-Of-Studies Project 89