Chapter IV
Chapter IV
1. IS development process
The IS development process is a structured set of activities that aim to achieve the objectives of an
IS project set by the organization. These activities vary depending on the type of organization, the
type of project and the type of system to be developed. This process must be clearly described in
order to be managed correctly.
3. IS development activities
The development of an information system involves several activities which vary depending on the
type of project and the organization, the essentials of which are:
4. IS development models
There are different models used in the creation of software. These models aim to apply the
development activities cited above with a certain organization between these activities.
Among the best-known models, we cite: the Waterfall model, the V model, the spiral model and
the incremental model. The application of these models can involve the use of an analysis and
design method. Each method has its advantages and disadvantages and each method is adapted to
a type of project (industrial, management, scientific, etc.). Among the existing methods we cite:
29
MERISE, SADT, SART, OMT and UML (although UML is not a method but a unified modeling
language)
Merise is a systemic method which appeared in 1979 as a result of a project launched in 1977 by
the French Ministry of Industry whose aim was to provide companies with a design method which
would enable them to succeed in their IT projects in expected costs and deadlines.
2. A description of the IS using a simple and rigorous formalism standardized by ISO for the
presentation of data (Entity Association Model).
30
The logical data model (LDM).
The organizational treatment model (OTM).
5.2.3. Operational (physical) level
It aims to fix the results of technical decisions taken according to technical objectives and
constraints. It consists of answering the question HOW?
We study technical solutions (storage mode for data, division of programs for processing. The
resulting models at this level are:
The abstraction levels with their resulting models are summarized in the following table:
2) Detailed study
3) Realization
31
4) Implementation
5) Maintenance
- Learn in detail about the area for which new automation is planned.
- Identify the exhaustive set of objectives that the company is pursuing regarding this area.
“Management” and “workstation”. The technique used is naturally that of the interview.
32
Identify the main workstations involved
Define interfaces with other projects
Delimit the field of study
Over the course of the interviews, we will construct task-document diagrams. These will visualize
the sequence of tasks through the documents that trigger them and those that they produce.
To simplify the diagrams and to put specific remarks related to the set of tasks and documents, we
reference the latter to describe them separately.
33
Reference (T1, T2...) : Task
: Exterior
Task Name
: Flow direction
: Destruction of a
: Transmission (Fax/Tel..) document
: Classification/archiving
: Update
For the organization of the diagram, we put the external actors (if they exist) in the rightmost
column, the central column will be reserved for the position concerned (interviewed), and the
leftmost columns will be reserved for actors who are part of our field of study (if they exist).
34
Example: Registration at school level
D1 Student
D1
Registration file
Registration file
T1
File study
D2
D2
Registration certificate
T2 Registration certificate
Attestation visa
D2
D3
Registration certificate
Certificate endorsed
35
Task Description of the task Workplace Frequency Input Output
number and document document
volume
T1 Study of registration file. Tuition At the start D1 D2
Check if the student's service of the
documents are compliant and academic
complete year
T2 Visa of the certificate. Before Head of At the start D2 D3
signing the certificate we Department of the
must check its conformity. academic
year
Management rules.
Organizational rules.
Technical rules.
36
Management rules:
They describe the “what” of the company, that is to say they translate the objectives chosen and
the constraints accepted by the company. They express the actions that must be accomplished and
the regulations attached to these actions (laws, regulations, calculation rules, etc.). Management
rules are of two types:
Action rule which describes the actions that the company must perform.
Examples:
- Any product delivered will be entered into stock
- A student cannot register in 2 different levels
Calculation rule which describes how actions should be carried out.
Example: Base salary = index x number of points.
Organizational rules:
They describe the "where", the "who" and the "when", that is to say they reflect the organization
put in place in the company to achieve the fixed objectives.
Examples:
Technical rules
They describe the “how” that is to say they translate the technical conditions for implementing the
tasks.
Example:
37
6.2.4. Data Dictionary
The DD represents all the properties appearing on the documents used by the different workstations
in our field of study. The model used in establishing a DD can be as follows:
Dictionary purification
After establishing the dictionary, it must be purified by eliminating synonyms and polysemes.
Ex: - Num_C: to designate the customer number and the order number
38
7. Detailed study
A. Property (Attribute)
The finest level of data (called "unbreakable"). Which assumes that the base has been purified of
polysemes and synonyms [22]. It is a property associated with entities and associations to describe
them. The properties must conform to the company's management choices.
B. Entity (Object)
Object of the real world (concrete or abstract), about which we want to record information and
which has its own existence. It is formed from a collection of specific properties, where each
occurrence is unambiguously identifiable using a particular property called an “identifier”. Each
value of this identifier corresponds to a single occurrence. “For each occurrence, all properties must
take one and only one value” [22].
Example :
INF/2048
WORK
Num_Work
Properties
Title
Author
Occurrence
39
C. Association (Relationship)
Link between two or more entities where each of them plays a certain role in this relationship. Each
occurrence of an association is identified by the concatenation of the identifiers of the entities
united in this association. Associations are generally symbolized by conjugated verbs.
Examples:
Author Work
Code_Aut Writes Num_Open
Name_Aut Title
First
Name_Aut
Dimensions of an association:
The dimension of an association is the number of objects (entities) involved in this association.
Depending on the size, we can distinguish some particular associations, namely:
Citizen
NIN
Name Married
First name with
Date_Born
Lieu_Nais
40
Student Field
Mat_Et Registered Code_F
First_Name Designation
Last_Name_
Student Matter
Mat_Et have Code_Mat
First_Name Average Name_Mat
Last_Name
Semester
Num_Sem
It connects four or more entities. These are rare types of associations whose use should be avoided.
Their existence generally reflects poorly done design work. Therefore, it is preferable to
defragment them into a set of ternary or binary associations.
41
D. Cardinality
The cardinalities of an entity measure, when we go through all the occurrences of this Entity, the
minimum and maximum participation of an individual (occurrence of the individual) in the
association. In other words, the cardinalities of an entity in an association express the number of
times that an occurrence of this entity can be involved in an occurrence of the association, at
minimum and maximum.
Important
Business rules play a decisive role in determining cardinalities. Therefore, they must be collected
and expressed carefully during the preliminary study phase.
Example
Student Sector
Mat_Et (1,n) Registered (1,n)
Code_F
Name and Designation
First name_And
42
- Management rule 2: A student can only register in one and only one field.
Student Field
Mat_Et (1, 1) Registered (1,n)
Code_F
Name and Designation
First name_And
Teacher Module
Mat_En (1,n) Taught (1,n)
Code_M
Name_En Name_M
First Name_En
Teacher Module
Mat_En (0,n) Taught (1,n)
Code_M
Name_En Name_M
First Name_En
In fact, in the vast majority of cases, we only use 4 combinations of values for the cardinalities.
43
Al-Shifa company is a company specializing in the distribution of pharmaceutical products in
different Wilayas. The company takes care of the pharmacies registered there, so each pharmacy
is known by its commercial register number, name, address, telephone number and email. The
company carries out its work through a group of distribution agents, so each agent is responsible
for distributing orders in one or more Wilayas. Each agent is known by a registration number, first
name, last name, telephone number and email. Each agent declares the means of distribution they
use, which must be proportionate to the nature of the work (commercial cars with air conditioning),
so the company must keep the registration and type of each car. The company deals with drug
manufacturing laboratories where it must maintain the number, name, address, telephone and email
of each laboratory. Each laboratory manufactures several drugs, and each drug is manufactured by
one and only one laboratory. Each medicine is known by a reference number, a name, a type and a
price.
Pharmacies place their orders with the company where the latter must keep the number and date of
each order as well as the list of medications it contains with their desired quantities. Each order is
delivered by a single Distribution Agent.
44
Price-med Drug price N
Num-com Order number AN
Date-com Order date D
Qty Medication quantity N
(1,n)
Possesse
Contain s
s
(1.1)
(1,n)
Vehicle
Laboratory Mat-veh
Medicine
Num-Lab Type-veh
(1,n) (1.1)
Lab-Name Ref-med
Made Name-med
Adr-Lab
Tel-Lab Type-med
Email-Lab Price-med
45
more events will trigger an operation which will produce a result. Its constitution is based on the
following concepts:
A. Event
A real event whose occurrence has the effect of triggering the execution of one or more actions. In
other words: events inform the information system that something is happening and that it must
react. The event can be internal or external to the information system.
Example:
Arrival of an order: event that triggers the execution of the order processing operation.
Receipt of an invoice: event which triggers the execution of the operation concerning the
payment of invoices.
B. Operation
Set of actions whose sequence is uninterruptible is not conditioned by the expectation of any event
other than the initial trigger. An operation produces new events as output.
Example:
The “order preparation” operation brings together the following uninterruptible actions:
C. Synchronization rules
Boolean condition, reflecting the management rules that events must verify to trigger an operation.
Synchronization rules are the translation of management rules. They determine the conditions for
triggering operations.
Synchronization rules are expressed using logical operators (mainly AND and OR).
46
D. Emission rules
The emission rules translate the management rules to which the emission of the results of an
operation is subject.
Example:
Due to their complexities, and for the sake of readability, the emission rules are generally of type
OK, not OK (or)
E. Result|
Product of the execution of an operation. The result is also a fact of the same nature as the event
and it can be a trigger for another operation.
Examples:
Graphic Representation
Event n
Event 1 Event 2
Synchronizer
Operation
Result 1 Result k
47
Example: Reserving seats in a theatre.
The reservation of seats in a theatre takes place according to the following management rules:
The reservation counter can issue tickets in advance (reservations) or tickets for immediate
entry,
Place reservations are possible under certain conditions (less than two months in advance,
etc.),
For any seat allocation, a ticket must be issued and a search for available seats carried out,
Reductions are granted upon presentation of proof (military, students, etc.),
No ticket can be issued if payment has not been received beforehand,
For immediate entries, tickets are issued without precise allocation of a place.
48
Ticket
requested
Ticket Allocation
- Reservation admissibility check
- Search for available places
- Place allocation
- Ticket edition
- Price calculation
OK OK
AND AND
Ticket
delivered
49
7.2. Organizational Level
- material,
A. Event
Concept and formalism identical to that of the MCT: Real fact whose occurrence has the effect of
triggering the execution of one or more tasks.
B. Organization rule
Expression of the organization put in place in terms of workstation, nature of processing and
chronology.
C. Synchronization
Concept and formalism identical to that of the MCT: Boolean condition, reflecting the management
rules that the events must verify to trigger the tasks.
50
D. Functional Procedure (PF)
Set of actions whose uninterruptible sequence (taking into account the organization put in place) is
not conditioned by the expectation of any event other than the initial trigger.
The workstation, the nature of the processing and its progress over time will therefore be common
to all the tasks of the same functional procedure.
Noticed :an operation at the MCT level =ΣPFs at the MOT level (at least one).
E. Emission rule
Concept and formalism identical to that of the MCT: Condition reflecting the management and
organizational rules to which the issuance of the results of a PF is subject.
F. Result
Concept and formalism identical to that of the MCT: Product of the execution of a PF. The result
which is a fact of the same nature as the event can be the trigger of another FP.
Graphic Representation
Event 1 Event n
…………….
Rule Rule
…………….
Issue 1 issue n
51
Example:
Ticket
requested
Ticket Allocation
- Reservation admissibility check
- Search for available places
- Place allocation
- Check proof of reduction
- Price calculation
- Ticket edition
OK OK
52
Functional sequence of procedures Nature of Workplace Chronological
treatment sequence
Ticket
requested
Request Request
rejected admissibl
Place allocation
No Assigned
attribution place
Reductio A
n proof
Control supporting reduction
Manual Public counter As requests
Always
progress
Known
reduction
Ticket edition
Always
Discount
ticket
53
7.2.2. Data: Logical Data Model (LDM)
The DCM is a representation of the data from our future static part of the IS. It is represented in a
formalism understandable by the designers and not by the machine. It is therefore necessary to
transform it into a representation that can be implemented using computer techniques. This
transformation is called logical level. It consists of transforming the MCD obtained into a relational
model by applying a few transition rules. Therefore, the following abbreviation is often used:
MLD: Logical Data Model and sometimes, the following abbreviations are also used: - LRDM:
Logical Relational Data Model
Rule 1: Properties
Each property becomes an attribute of the relational model.
Rule 2: Entities
Each entity becomes a relation (minimum 3rd normal form) of the relational model. The identifier
of the entity becomes the primary key of the corresponding relationship.
Rule 3: Association
Binary association of the father-son type
A binary father-son type association is an association characterized by:
* Dimension 2
* Cardinality of entities participating in the association:
Father (0, N) or (1, N)
Wire (0,1) or (1,1)
Transforms like this:
- The association disappears
- The father entity becomes the father relationship,
- The child entity becomes the child relationship,
- The identifier of the parent entity becomes an attribute of the child relationship and is
called a foreign key,
54
- The properties of the association become attributes in the child relationship.
Example:
55
Customer (Num_Cl, Name_Cl, Pre_Cl, Tel_Cl)
Product (Id_Prod, Des_Prod)
Purchased (Num_Cl, Id_Prod, Date_purchase)
N-ary associations
Includes all associations of dimension 3 or more. They transform like this:
Example:
(1,n)
Prof
- Id_Prof
- Name_Prof
- Pre_Prof
TelProf
56
Teach (Id_class,Id_Material,Id_Prof, hours)
Reflexive association
(0,n)
Citizen
- Id_Cit Marry_with
- Name_Cit
(0,n) - Marriage_date
- Pre_Cit
- Date_N_Cit
- Place_N_Cit
57
7.2.3. Normalization of the relational model
Normalization is the process of organizing data in a database. This process ensures:
Non-redundancy of data
Data integrity
Ease of updating
When normalizing a data model, we must have at least the 3rd normal form.
A relation is in First Normal Form (1FN) if and only if it contains only simple and elementary or
atomic values (not structured or repetitive).
If a table contains groups of repetitive data, you must output these groups of data and create
other entities which will contain these repetitive groups.
If a column of a table contains structured data, this column must be defragmented into
several columns which will contain this structured data.
Example
Book
Book_number
title
author
nationality_author
58
Book_number Title Author nationality_author
01 EZ-ZILZEL (THE EARTHQUAKE) TaharOuettar Algerian
02 THE MARTYRS RETURN THIS TaharOuettar Algerian
WEEK
03 THE ACE TaharOuettar Algerian
04 WAR AND PEACE Leo Tolstoy Russian
05 THE DEVIL Leo Tolstoy Russian
This table is not in 1FN, therefore it must be broken down as follows:
BOOK AUTHOR
Num_Book (1, 1) To have (1,n) Author_number
Title Author_name
Pre_author
Nationality
59
B. 2nd normal form
1- In 1FN
2- All attributes of the relationship or entity depend on the entire key (concept of compound
primary key) and not on part of the key.
The second normal form only applies to tables with a compound primary key.
Example
Or the relationOPERATION (Num_Account*,
CodeOpe*,DateOpe*,Name,Firstname,LibelOpe,Sum)
Note that: Name and First name functionally depend on Account_Num Operation label
functionally depends on Operation code
Correction: to correct this situation we must subdivide this relationship into three relationships:
ACCOUNT(Account_Number, LastName, FirstName) LABEL(OpeCode,OpeLibel)
OPERATION(AccountN°*,OpeDate*,OpeCode*,sum)
60
Account_number CodeOpe DateOpe Sum
125978 30 05/12/2020 15000
125978 40 09/15/2020 45000
125978 30 05/11/2021 30000
125978 40 07/09/2021 25000
151936 30 05/10/2020 35000
151936 40 12/11/2021 40000
Example
We note that the manufacturer, the number of seats and the speed functionally depend on the
Plane_Name. Therefore, the correction of this relationship allows us to generate the following
two relationships:
Noticed: If we rigorously apply the method of developing a Conceptual Data Model (CDM), the
resulting Relational Model will automatically be in 3FN
61
7.3. Physical or operational level
7.3.1. Data: Physical Data Model (PDM)
The physical data model, MPD, makes it possible to construct the final structure of the database
with the different links between the elements that compose it. It is a representation of the
organization of data taking into account a selected data management system (DBMS). Generally,
we opt for relational database management systems (RDBMS). The result is therefore a set of tables
containing columns, precisely
data types of each column according to the DBMS used and according to what we have declared
in our data dictionary.
The language used for this type of operation is SQL. You can also use an AGL (PowerAMC,
WinDesign, etc.) which allows you to automatically generate the database.
Example
62
7.3.2. Treatments: Physical Model of Treatment (MPT)
The Physical Model of Processing (MOT), also called Operational Model of Processing (MOpT)
consists of writing the program. This can be generated as part of a “software engineering
workshop”. The purpose of methods such as MERISE is the production of automatic "code" from
the design. The MPT is interested in the structureinternal of all project applications. Its objective
is preparation for development: i.e., breaking down each operation into technical modules:
63