0% found this document useful (0 votes)
229 views37 pages

Computer Science Project Expansion

Luc Lavoie (teacher and co-director of GRIIS) Tutor: Igor Ewolo (tutor of X2024 students) SOFTWARE RESOURCES - Virtual machine with Ubuntu 20.04 LTS - Git - PostgreSQL - Python - Zsh FINANCIAL RESOURCES Provided by UCAC-ICAM TIME RESOURCES 4 months internship INFORMATIONAL RESOURCES Documentation, tutorials, forums © 2022 FENYOM MEYOU Bryan 02 | PROJECT 16 MANAGEMENT PLANNING WEEK 1-2: Installation and configuration of the development environment

Uploaded by

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

Computer Science Project Expansion

Luc Lavoie (teacher and co-director of GRIIS) Tutor: Igor Ewolo (tutor of X2024 students) SOFTWARE RESOURCES - Virtual machine with Ubuntu 20.04 LTS - Git - PostgreSQL - Python - Zsh FINANCIAL RESOURCES Provided by UCAC-ICAM TIME RESOURCES 4 months internship INFORMATIONAL RESOURCES Documentation, tutorials, forums © 2022 FENYOM MEYOU Bryan 02 | PROJECT 16 MANAGEMENT PLANNING WEEK 1-2: Installation and configuration of the development environment

Uploaded by

sonia.toukam
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd

Academic year 2022-2023

UPGRADING AND EXPANDING THE


TRANSPORTABILITY OF A TESTING
PLATFORM AS PART OF THE SUPPORT TO THE
DEVELOPMENT OF THE SERAPIS PROJECT:
Presented by
FENYOM MEYOU Bryan
UNIVERSITÉ DE SHERBROOKE
Fourth year computer
science student

Under the supervision of :


Mr EWOLO Igor Prof. Luc Lavoie
Tutor of X2024 Teacher and co-director
students Of the GRIIS (Groupe de
recherche interdisciplinaire en
informatique de la santé)
1
TABLE OF CONTENTS 02
02. PRESENTATION
OF THE
01. ORGANIZATION
INTRODUCTION

03. PRESENTATION
OF THE PROJECT
06. CONCLUSION

04. PROGRESSION IN
05. REVIEW OF THE THE PFI
INTERNSHIP PERIOD
INTRODUCTIO 03
N
For many decades, men have not stopped using their genius
to transcend the realities of their times in order to solve all the
daily live problems. Many projects have been realized in various
fields such as electricity, mechanics and health. In the field of
health, many research projects have been carried out with the
aim of improving the quality of patient care. This is how several
researchers came up with the notion of temporalized
databases.
PRESENTATION OF 04
THE
ORGANIZATION
CREATION :
04 May 1954
th
LOCATION : 03 CAMPUSES IN THE
PROVINCE OF QUEBECCampus Principal
Campus de Longueil Campus de la Santé
Seminar Saint-Charles-Borromée of
Sherbrooke

STRATEGIC “Oser l’expérience”


PLAN :
(2022-2025)
MISSION : UdeS is dedicated to open learning,
the promotion of critical knowledge and the quest
for new knowledge.

VISION : train responsible citizens who change the


world.
• Human University • Innovation • Chicoutimi district - city of
02 Training centers • City of Moncton,
VALUES
• Commitment • Excellence : Saguenay (province of (province of New-
: Québec) Brunswick)
PRESENTATION OF 05
THE
ORGANIZATION UdeS IN FIGURES
ORGANIGRAM OF THE
UdeS • 01st university in substainable
development – GreenMetric
SOME PARTNERS • $793.8M total revenues including
$248.6M in research revenues
• 31 715 students
Fonds de recherche du • 116 chairs, institutes and research
Québec centres
• 415 training programmes offered
Conseil de recherche en • 7878 staff members
sciences naturelles et en génie
Centre de Collaboration
du Canada
MiQro Innovation
The current rector is Prof. Pierre Cossette.
06

The Rector and the various


committees

The faculties

The services
PRESENTATION 07
OF THE
PROJECT

GENERAL PROJECT ANALYSIS AND WORK DONE


PRESENTATION
CONTEXT, PROBLEMATIC, MANAGEMENT
MANAGEMENT METHOD, WHY DO WE USE ZSH AND
STUDIES RESEARCH APPROACH,
NEEDS, OBJECTIVES, ISSUES, PROJECT RESOURCES, POSTGRESQL ? SOLUTIONS
CONSTRAINTS PLANNING, COMMUNICATION
01 | GENERAL 08
PRESENTATION
• CONTEXT
• PROBLEMATIC
• NEEDS
• OBJECTIVES
• ISSUES
• CONSTRAINTS
01 | GENERAL 09
PRESENTATION
CONTEXT
Serapis is a workshop for historical relational modelling.
Temporal data modelling has become essential in many
fields such as health and environment and despite many
theoretical developments, few tools are available to
implement, verify and validate the actual models.

UT, IT,
Our contribution consists in upgrading it and PT
extending its transportability

RedHat 8+, Debian 11+, Ubuntu 20+ and macOS 12+.


01 | GENERAL 10
PRESENTATION
PROBLEMATIC

How will we proceed to


upgrade the platform and
extend its transportability?
01 | GENERAL 11
PRESENTATION
NEEDS |
OBJECTIVES
NEED OBJECTIVE
Guarantee an effective upgrade and
Sscripts following the
Extension of the
the transportability of the platform. review of the existing platform in order to
perfect and make them operational on the
chosen Unix variants

Execution of the scripts on remote servers


with a consolidation of the security and
access control requirements taken into
account
01 | GENERAL 12
PRESENTATION
ISSUES |
CONSTRAINTS
ISSUES CONSTRAIN
• To guarantee a transportable and TS01 DURATION OF THE
INTERNSHIP
20 weeks or 4 months
optimized test platform.

• Contribute to the progress of 02 LOCATION OF THE


Initially
INTERNHSIPplanned to be done in Sherbrooke but it
the Serapis project was finally done entirely in Douala because of the
long visa procedures

03 RESOURCES
Material resources were provided by UCAC-ICAM
and software resources used as well as the
development environment, reproduced with a
virtual machine, were provided by the GRIIS.
02 | PROJECT 13
MANAGEMENT

• MANAGEMENT
METHOD
• PROJECT RESOURCES
• PLANNING
• COMMUNICATION
02 | PROJECT 14
MANAGEMENT
MANAGEMENT SCRUM – The project was remotely done and there were no
restrictions on the completion of a phase before starting the

METHOD SCRUM
other.
PM Prince 2
P
Costs and Determine at each Determine in Determine in
deadlines stage of the work advance advance

Level of Complex Known requirements and Known requirements


knowledge about requirements and little or no uncertainty and little or no
the project large uncertainties uncertainty

No obligation to Obligation to complete Obligation to complete


complete one phase one phase before one phase before
Implementation
before moving on to the moving on to the next moving on to the next
next
02 | PROJECT 15
MANAGEMENT
PROJECT
RESOURCES
MATERIAL RESOURCES

HUMAN RESOURCES

Prof. Luc Lavoie Mr. REMI Mr. FENYOM


Organization Tutor Intern at GRIIS Bryan
02 | PROJECT 16
MANAGEMENT
PROJECT
RESOURCES
SOFTWARE RESOURCES

Datagrip (Jetbrains)
02 | PROJECT 17
MANAGEMENT
PLANNING
PROVISIONAL ACTUAL PLANNING
PLANNING
18

PROVISION
AL
PLANNING
Integration phase
: 7 days
19
Project Initiation : 9
days

Internship Project : 74
days

ACTUAL
PLANNING

8 days of inactivity
02 | PROJECT 20
MANAGEMENT
COMMUNICATION
03 | ANALYSIS AND STUDIES 21

• WHY DO WE USE ZSH ?


• WHY DO WE USE
POSTGRESQL ?
03 | ANALYSIS AND STUDIES 22
WHY DO WE USE
ZSHStephen
? Bourne Bill Joy GNU Project
In 1977 In 1978 In 1989 Paul Falstad
In 1990

Bourne shell C shell or csh Bourne Again Shell Z shell or zsh


or sh Or bash

We use zsh because it is compatible with bash, but includes more


features
Lack of customization for users – :Sh users had to learn C to Sh-compatible shell that Bourne-style shell that
no support of modern niceties enterspell-checking
• built-in commands in it - csh incorporates useful contains the features you’ll
such as aliasing, command
• commandhad some
line bugs.
enhancements features from the Korn find in bash, and more.
completion, and shell functions shell (ksh) and the C shell
• loadable modules that act as plug-ins
tsch- Kornshell or (csh) A shell(ash), Debian
• global ksh
aliases
by David Korn ash(dash), Friendly
Interactive Shell(fish)
03 | ANALYSIS AND STUDIES 23
WHY DO WE USE Oracle
Oracle is a relational management
PostgreSQL
PostgreSQL is a free open
POSTGRESQL ? Definition
system. It is the first database
designed for grid computing.
source relational database
management system with an
emphasis on scalability and
SQL compliance.

Written in C and C++ languages C language


We chose PostgreSQL License Oracle license required PostgreSQL is open source
because not only are Oracle Security Oracle and PostgreSQL offer good security
solutions expensive but also Various languages such as C, C++, Various languages such as C,
PostgreSQL offers more JAVA, PERL, .NET, JAVA SCRIPT, C++, JAVA, PERL, SCALA,
Programming
advanced temporal data language PHP, etc. PHP, C#, COBOL, JAVA
processing features than SCRIPT, etc.
Oracle.
Oracle provides functions to process The functions for processing
temporal data temporal data are more
Features advanced in PostgreSQL
than in Oracle
04 | WORK DONE 24

• RESEARCH APPROACH
• SOLUTIONS
04 | WORK DONE 25
RESEARCH
APPROACH
Data collection, recording and presentation Data Analysis
Data are collected, organized and presented in tables,
The analysis allows bringing out the results
graphs, diagrams or texts 03 04
from the different data

Conduct an experiment Interpret the results


Use a experimental protocol.
02 05
See if the results are in line with the
hypothesis or not

Building a hypothesis 0 06 Conclusion


1 After having recalled all the facts, you present the
consequences of the outcome of the approach.
04 | WORK DONE 26
SOLUTIONS
WORK 1 : Research on the resources consumed by the DBMS and
likely to be varied

Results : The resources used by PostgreSQL can be modified


Hypothesis : The different resources consumed by in configuration file [Link] (primary memory or

PostgreSQL are the memory and the number of 01


01 02 RAM, second memory or external remanent devices)

cores.
Number of cores : The core is a processing sub-unit of a
processor which is component in an electronic system wich
purpose is to execute machine instructions.

Conclusion : We can vary the memory of the DBMS 04 03


Interpretation : The resources used by
by changing the value of the shared_buffers option in
PostgreSQL are memory, disk and core.
the [Link] configuration file. The number of
cores is not controlled by Postgresql but by the OS.
04 | WORK DONE 27
SOLUTIONS
WORK 2 : Writing the DBMS memory variation script
([Link])
Conception (06 steps)
Specification : The objective is to write a script to vary the Step 1: Launch the script by specifying the desired memory value
memory of PostgreSQL. As part of its operation, we will allow
Step 2: Stop the PostgreSQL server
the user to enter the desired memory value in the console.
Constraint: It is important to save the configuration file Step 3: Save a copy of the configuration file [Link]
[Link] before varying the memory. Step 4: Modify the configuration file
Step 5: Restart the server
Step 6: Stop the script and report on the conclusion of the
operation

Implementation : The script is written according to


the steps defined in the conception.
04 | WORK DONE 28
SOLUTIONS
WORK 3 : Research on the impact of DBMS memory variation on
performance test results

Hypothesis : The variation in memory Experiment : Using our [Link] script, Results :
has no impact on the results obtained we will vary the memory of PostgreSQL and at
during the performance tests. each variation, we will execute the
UHF_TP_union.sh script while changing the
number of tuples.

Conclusion : We cannot at this time confirm or


deny this hypothesis. Indeed, it is too early to
define a certain trend of execution and it would
therefore be judicious to carry out other
experiments with larger sets of tuples. Interpretation : For a precise memory value, the increase in the number of
tuples, leads to a small variation in execution time. But when we proceed to a
variation of memory, we notice a variation of the execution time still small but
also a little bigger, in particular on the column iu2, when compared to the
preceding case.
04 | WORK DONE 29
SOLUTIONS
WORK 4 : Writing the parameter standardization script

Specification : The objective of our standardization script is Conception (05 steps)


to propose to any new person wishing to produce a new script,
Step 1: Launching the standardization script
the set of parameters that he must use depending on the nature
of the script (system script .sh or database script .sql). Step 2: Choose the type of script to create (.sh or .sql)
Constraint: The parameters will have to be saved as a JSON,
Step 3: Retrieve in the background the list of parameters
XML or YAML file.
corresponding to its choice
Step 4: Display the list on the shell
Step 5: Stop the uniformization script
Continuation of the work:
• Make an inventory of all the parameters used in the
different scripts Implementation : Currently, the script remains unfinished.
Indeed, we found that the current parameters will be insufficient
• Establish a parameterization convention by
because they are based on the letters of the French alphabet.
integrating the long parameters
Knowing the solution to this problem, which is the use of long
parameters, we need to research them.
04 | WORK DONE 30
SOLUTIONS
WORK 5 : Research on long parameters

Results : The proposed alternative to getopts is the GNU


getopt.
Hypothesis : It is possible to use long
Getopts vs GNU Getopt
parameters in a script 01
01 02
Included in the Bourne Must be installed separately
shell and Bash
Allows parsing of long options
X
(--help instead of -h)

Simpler syntax Complicated syntax


(external program)
Conclusion : It is indeed possible to use long 04 03 GNU getopt is the default version under Linux and can be
parameters in a script. The GNU program getopt installed on other OS (Mac OS X and FreeBSD)

allows us not only to use them but also to associate


them with short parameters. Interpretation : GNU getopt allows us to use both long
and short parameters.
04 | WORK DONE 31
SOLUTIONS
WORK 6 : Improvement of the DBMS memory variation script (parameter_v2.sh)
Specification : Conception (08 steps)
Improvements :
• Automatic memory variation depending on a starting Step 1: Launching the script
execution memory, a number of iterations and an incremental Step 2: Retrieve all the parameters entered and check them
memory value. • If the sub-script does not exist, we go to step 8.
• Automatic execution of a sub-script taking into account its • If there is no memory value less than or equal to the defined
options and execution shell (bash or zsh). maximum execution value, go to step 8.
• Execute the sub-script with a system user of your choice For each of the valid memories (using a loop):
(root, etc.).
• Adding an option to archive in a log file, all the treatments Step 3: Stop the PostgreSQL server
performed. Step 4: Save a copy of the configuration file [Link]
Step 5: Modify the configuration file
Step 6: Restart the server
Step 7: Run the sub-script
When the loop has been fully completed :
Implementation : The script is written according to
the steps defined in the conception. Step 8: Stop the script and report on the conclusion of the
operation
04 | WORK DONE 32
SOLUTIONS
WORK 7 : Research on test coverage

Hypothesis : There are many tools to perform test Results : A test coverage is the degree, expressed as a
coverage in PostgreSQL. 01
01 02 percentage, to which a specific item has been executed in a
test suite. It helps monitor test quality and helps testers create
tests that cover missing or unvalidated areas.
Tools : Pgtap(UT), Testgres(IT), Pgmetrics(PT),
Resgresql(NRT) etc.

Conclusion : We have to make test plans in order to 04 03 Interpretation : The various research projects
choose the most effective tool and adapted to our carried out allowed us to identify several tools
work. allowing the realization of test coverage under
PostgreSQL.
PROGRESSION IN THE PFI 33

• BEFORE
• NOW
• AFTER
PROGRESSION IN THE PFI 34

CYBERSECURITY

Before Now After


NSE 1 & 2 • TOEIC (February 2023)
• NSE 1 & 2
• LPIC 1 (June 2023)
• Microsoft Azure Fundamentals
• NSE 3 (March 2023)
• Microsoft Security, Compliance and
Identity Fundamentals
• Scrum Certified Fundamentals

Shell scripting – 1/5 to 3/5  5


Project Management – 1/5 to 3/5  5
REVIEW OF THE 35
INTERNSHIP
PERIOD CHALLENGE
SKILLS
Shell scripting S procedures, incident, new
Visa
concepts

SOCIAL
EXPERIENCE
CONCLUSIO 36
N
OBJECTIVE RESULTS
S Extension of the scripts following the 07 works
review of the existing platform in order to
perfect and make them operational on the
chosen Unix variants

Execution of the scripts on remote servers


with a consolidation of the security and
access control requirements taken into
account CONTINUATIO
N Documentations

You might also like