You are on page 1of 8

CHITTAGONG UNIVERSITY OF

ENGINEERING & TECHNOLOGY


DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING

REPORT TITLE

Architectural and Component Level Design of the Project on


E-code Analyzer

COURSE CODE : CSE 356


COURSE NAME : SOFTWARE ENGINEERING (SESSIONAL)
EXPERIMENT NO : 03
DATE OF SUBMISSION : 12 – 12 – 2023

REMARKS

Submitted By Supervised By

MD AKIB HASAN 1904015 Annesha Das


Assistant Professor
K.M. MAHABUB HOSSAIN 1904017
Department of CSE, CUET
SADMAN RAHMAN ANANTA 1904020
Sabiha Anan
Assistant Professor
Department of CSE, CUET
Introduction
The component-level design process encompasses a sequence of activities that slowly reduces
the level of abstraction with which software is represented. Component-level design ultimately
depicts the software at a level of abstraction that is close to code. Software components include
program modules and the various data representations that are manipulated by the program.
Therefore, data design is an integral part of the derivation of the software architecture.
E-numbers, short for Europe numbers, are codes assigned to substances used as food additives,
which corresponds to a specific food additive and is used as a labeling system on food products
to inform consumers about the presence of these additives.

Scope
Codes are used on food labels to indicate the presence of specific additives, which can include
substances found naturally in foods such as vitamin C (E300), vitamin B2 (E101) or artificial
additives avoparcin (E715) which is currently banned in EU.
Such as Muslims are not allowed to eat pork meat or anything comes from it or vegans avoid
any living animal produced products etc. There are some substances that can be harmful in
various conditions as well as allergies in human body.
Therefore, we expect a platform within our reach frequently with many features such as–

• Determining Halal, Haram substances in packaged products.

• Differentiate between food and other products for vegans and vegetarians.

• Easy identification of the presence of harmful substances and additives in packaged food.

• Providing valid references and information sources for various qualities of artificial sub-
stances and additives.

1
Overall architectural

Figure 1: Overall architectural structure for E-code Analyzer with top-level components

The E-code Analyzer has several top level components such as–

• User Interface: User interface presents highlighting the Scanner Interface Module, Input
Form Module, and User Profile Module, each designed to enhance user experience and
engagement etc.

• Application Logic: An in-depth exploration of the E-Number Processing and User Pref-
erences Management components which includes and incorporates functionalities of the
E-Number Analyzer Module, Nutritional Information Module, Preferences Manager, and
Notification Generator.

• Data Management: The Database Access Layer and External Services Integration com-
ponents showcase the robustness of the E-Number Database Module, User Preferences
Database Module, and External APIs Module in managing and fetching relevant infor-
mation.

• User Management: Authentication and Authorization components are included here, out-
lining the authentication process and the role-based access control mechanism. The User
Profile Handling component details the interaction with the User Profile Database Mod-
ule.

2
Elaborated Architectural Structure
An instantiation of the total E-code Analyzer with component elaboration are shown below–

Figure 2: Elaborated architectural structure for E-code Analyzer with lower level components

Component Level Design


Elaborated architecture contains many components with lower level abstraction. These compo-
nents are sometimes so easily interpretable that is used in every possible development. How-
ever, there are certain elements that are unique and others component objects and their methods
are described here–

E-Number Processing: The E-Number Processing component is responsible for the analy-
sis and interpretation of E-numbers. It includes the E-Number Analyzer Module, which
processes scanned or manually input E-numbers, checks them against a database to deter-
mine their classifications (halal, haram, vegan, etc.), and fetches additional information
such as nutritional details.

User Profiles and Preferences: This component manages user-specific settings and prefer-
ences within the E-Num Health Guide app. The User Profiles and Preferences component
includes the User Preferences Manager Module, allowing users to customize their expe-
rience based on religious beliefs, dietary preferences, and health requirements.

E-Number Data and Sources: The E-Number Data and Sources component involve the stor-
age and retrieval of information related to E-numbers. It encompasses the E-Number
Database Module, which stores details about each E-number, including classifications

3
Figure 3: Component-level design for lower abstracted components

4
(halal, haram, vegan, etc.), and the User Preferences Database Module, which stores
user-specific data such as dietary preferences and allergies.

Scanner Interface: The Scanner Interface component is responsible for managing the camera
and barcode scanning functionality within the E-Num Health Guide app. It includes the
Scanner Interface Module, allowing users to quickly scan product barcodes for E-number
analysis and personalized information.

E-Number Data Show: The E-Number Data Show component focuses on displaying relevant
information to users. It leverages the analyzed E-number data and preferences to present
users with detailed information about the scanned or manually input E-numbers. This
component contributes to a transparent and informative user experience.

Notification Service: The Notification Service component handles the generation and delivery
of alerts and notifications to app users. It includes the Push Notification Module, which
sends timely notifications to users’ devices based on their preferences and the results of E-
number analysis. The Notification Log Module keeps a record of generated notifications.

External APIs: The External APIs component involves the integration with external services
to enhance the app’s functionality. It includes the External APIs Module, which in-
terfaces with external databases or services to fetch additional information relevant to
E-numbers, such as allergy databases or religious dietary guidelines.

Figure 4: Class diagram for External API component

These components collectively contribute to the overall functionality of the E-Num Health
Guide app, ensuring a seamless, personalized, and informative experience for users seeking to
make informed food choices based on E-number analysis and their individual preferences.

5
Activity Diagram

Figure 5: UML activity diagram for E-code display, Sign In and Update data

6
Activity diagram shows in the context with user interaction with the interface on different
occasion in our developed platform. Such as the eNumberProcessing first authenticates the
user, retrieve E-code data from database then display it according to user preferences.

Development Tools
There are various tools we are expecting to use in this project. Such as–

• Flutter

• Firebase

• Flutter gallery, driver, flutterflow, canva

• Google play etc.

Conclusion
Software architecture provides a holistic view of the system to be built. It depicts the struc-
ture and organization of software components, their properties, and the connections between
them. Component-based software engineering identifies, constructs, catalogs, and dissemi-
nates a set of software components in a particular application domain. A well documented and
user satisfactory platform with good concern in religious and other social obligation and solid
information sources can play a vital role in healthy life.

You might also like