You are on page 1of 20

Periodic Table Program

Final Year Project

Supervisor: Mr. Muhammad Zaman Ali

Presented by:

Name: Sufyan Aslam


Roll No: FA19M2BD034
Session: 2019-23
BSIT 7 -E
th

Department of Information Technology (DIT)


The Islamia University Of Bahawalpur
Periodic Table Program

By

Sufyan Aslam

Project submitted to: Mr. Muhammad Zaman Ali

Department of Information Technology,

The Islamia University of Bahawalpur.

in partial fulfillment of the requirements for the degree of

BACHELOR OF SCIENCE
IN
INFORMATION TECHNOLOY (BSIT)

Supervisor Signature In- Charge Examination Signature

Chairman, Department of Information


Technology
Abstract
This C++ program allows users to access information about the elements of the periodic table. The
program allows users to search for an element by its atomic number or name, and displays detailed
information about the element, including its symbol, atomic weight, and other properties. The program
also includes features such as the ability to display the entire periodic table and to sort the elements by
different properties. The program is designed to be user-friendly and easy to use, with a simple command-
line interface. It has been implemented using C++ language features such as classes, inheritance, and STL
containers, and has been thoroughly tested and debugged to ensure reliable performance.

i
Acknowledgement
The development of this periodic table program would not have been possible without the support and
resources of Islamia University. I would like to express our sincere gratitude to the faculty and staff at
Islamia University for their guidance and assistance throughout the development process.

We would also like to acknowledge the valuable resources and information provided by various online
sources, including LernVern and coursera. These sources have greatly aided in the research and
development of this program, and I am grateful for the wealth of knowledge and expertise they have
shared.

ii
TABLE OF CONTENTS
ABSTRACT........................................................................................................................................................ I
ACKNOWLEDGEMENT................................................................................................................................. II
CHAPTER 1. INTRODUCTION............................................................................................................................ 1
1.1 INTRODUCTION.................................................................................................................................................. 1
1.2 OBJECTIVES....................................................................................................................................................... 1
1.3 PROBLEM STATEMENT.........................................................................................................................................1
1.4 SCOPE.............................................................................................................................................................. 1
CHAPTER 2. REQUIREMENTS ANALYSIS............................................................................................................ 2
2.1 LITERATURE REVIEW........................................................................................................................................... 2
2.2 USER CLASSES AND CHARACTERISTICS.....................................................................................................................2
2.3 DESIGN AND IMPLEMENTATION CONSTRAINTS..........................................................................................................2
2.4 ASSUMPTIONS AND DEPENDENCIES........................................................................................................................2
2.5 FUNCTIONAL REQUIREMENTS................................................................................................................................2
2.6 CASE DIAGRAM..................................................................................................................................................3
2.7 NONFUNCTIONAL REQUIREMENTS.........................................................................................................................4
2.8 OTHER REQUIREMENT.........................................................................................................................................4
CHAPTER 3. SYSTEM DESIGN............................................................................................................................ 5
3.1 APPLICATION AND DATA ARCHITECTURE.................................................................................................................5
3.2 COMPONENT INTERACTIONS AND COLLABORATIONS..................................................................................................5
3.3 SYSTEM ARCHITECTURE.......................................................................................................................................5
3.4 ARCHITECTURE EVALUATION.................................................................................................................................5
3.5 COMPONENT-EXTERNAL ENTITIES INTERFACE...........................................................................................................5
3.6 SCREENSHOTS/PROTOTYPE...................................................................................................................................5
CHAPTER 4. TEST SPECIFICATION AND RESULTS............................................................................................... 7
4.1 TEST CASE SPECIFICATION....................................................................................................................................7
4.2 SUMMARY OF TEST RESULTS................................................................................................................................7
CHAPTER 5. CONCLUSION AND FUTURE WORK................................................................................................ 8
5.1 PROJECT SUMMARY............................................................................................................................................ 8
5.2 PROBLEMS FACED AND LESSONS LEARNED...............................................................................................................8
5.3 FUTURE WORK...................................................................................................................................................8
REFERENCES........................................................................................................................................................ 9
APPENDIX A GLOSSARY.............................................................................................................................. 10
APPENDIX B DEPLOYMENT/INSTALLATION GUIDE......................................................................................10

iii
Chapter 1. Introduction
1.1 Introduction
This software requirements specification (SRS) documents the requirements for a program that allows
users to access information about the elements of the periodic table. The program will allow users to
search for an element by its atomic number or name, and will display detailed information about the
element, including its symbol, atomic weight, and other properties.

The purpose of this SRS is to provide a clear and comprehensive description of the functionality and
technical requirements of the periodic table program. It is intended to serve as a guide for the
development and testing of the program, and to ensure that the final product meets the needs and
expectations of the users.

The SRS is organized into sections that describe the purpose and scope of the program, the users and
their needs, the functional and non-functional requirements, and the testing and acceptance criteria. It
also includes a glossary of terms and definitions used throughout the document.

1
We hope that this SRS will provide a clear and concise overview of the program and its requirements, and will
serve as a valuable resource for all stakeholders involved in the development and implementation of the periodic
table program.

1.2 Objectives
Here are some potential objectives for a periodic table program:

i. To provide a comprehensive and accurate source of information about the elements of the
periodic table.

ii. To allow users to easily search for and access information about specific elements by their atomic number or
name.

iii. To display detailed information about each element, including its symbol, atomic weight, and other
properties.

iv. To provide a user-friendly interface that is easy to use and navigate.

v. To include features such as the ability to display the entire periodic table and to sort the elements by
different properties.

vi. To meet performance and security requirements in order to ensure reliable and secure operation.

vii. To continually update and improve the program in response to user feedback and new developments in the
field of chemistry.

These objectives outline the main goals and functionality of the periodic table program, and provide a clear
direction for the development and implementation of the program. They help to ensure that the final product
meets the needs and expectations of the users and stakeholders.

1.3 Problem Statement


There is currently a lack of easily accessible and comprehensive sources of information about the elements of
the periodic table. While there are a number of online resources and reference books available, these sources can
be difficult to navigate and may not provide all of the desired information about the elements.

As a result, students, educators, and researchers often struggle to find and access the information they need
about the elements. This can be a significant obstacle to learning and research in the field of chemistry.

To address this problem, we propose to develop a periodic table program that allows users to easily search for
and access information about the elements. The program will provide a comprehensive and accurate source of
information about the elements, and will include features such as the ability to display the entire periodic table
and to sort the elements by different properties. The program will be user-friendly and easy to use, and will meet
performance and security requirements in order to ensure reliable and secure operation. By providing a valuable
resource for learning and research, we hope to facilitate a greater understanding of the elements and their
properties.

2
1.4 Scope

i. A comprehensive and accurate source of information about the elements of the periodic table.

ii. The ability to search for an element by its atomic number or name, and display detailed information about
the element, including its symbol, atomic weight, and other properties.

iii. The ability to display the entire periodic table and to sort the elements by different properties, such as
atomic number, symbol, or name.

iv. A user-friendly interface that is easy to use and navigate.

v. Performance and security features to ensure reliable and secure operation.

vi. The ability to update the program with new or revised information about the elements.

3
Chapter 2. Requirements Analysis

2.1 Literature Review


There are a number of existing resources and tools available for accessing information about the elements of the
periodic table. These include online resources as well as reference books such as [list of reference books]. While
these sources provide a wealth of information about the elements, they can be difficult to navigate and may not
always provide all of the desired information in a convenient and user-friendly format.

In addition, there have been a number of studies and research projects focused on the use of technology in
chemistry education and research. These studies have found that technology can be a valuable resource for
learning and research, particularly when it is interactive and easy to use.

To address the challenges and limitations of accessing information about the elements, we propose to develop a
periodic table program that allows users to easily search for and access detailed information about the elements.
The program will provide a comprehensive and accurate source of information about the elements, and will
include features such as the ability to display the entire periodic table and to sort the elements by different
properties. By providing a user-friendly and interactive tool for accessing information about the elements, we
hope to facilitate a greater understanding of the elements and their properties, and to support learning and
research in the field of chemistry.

2.2 User Classes and Characteristics


Students: Students may use the periodic table program as a resource for learning about the elements and their
properties. They may be interested in accessing detailed information about specific elements, as well as in using
the program's features for organizing and sorting the elements.

Educators: Educators, such as teachers and professors, may use the periodic table program as a teaching aid or
resource for their classes. They may be interested in using the program to help students learn about the elements,
as well as in using the program's features to organize and present the elements in different ways.

Researchers: Researchers in the field of chemistry may use the periodic table program as a tool for accessing
and organizing information about the elements as they conduct their research. They may be interested in
accessing detailed information about specific elements, as well as in using the program's features for organizing
and sorting the elements.

General users: General users may use the periodic table program as a reference or resource for learning about
the elements. They may be interested in accessing detailed information about specific elements, as well as in
using the program's features for organizing and sorting the elements.

The characteristics of a periodic table program should be designed to meet the needs and expectations of these
different user classes. This may include features such as a user-friendly interface, detailed and accurate
information about the elements, and features for organizing and sorting the elements. It is important to consider
the characteristics of the target users when designing and implementing the program in order to ensure that it
meets their needs and expectations.

4
.

2.3 Design and Implementation Constraints


Technical constraints: Technical constraints may include limitations or requirements related to the hardware,
software, or other technical infrastructure that will be used to support the program. For example, the program
may need to be compatible with certain operating systems or hardware platforms, or may have specific
requirements for memory or processing power.

Functional constraints: Functional constraints may include limitations or requirements related to the
functionality of the program. For example, the program may need to support certain features or capabilities, or
may have specific requirements for the user interface or user experience.

Non-functional constraints: Non-functional constraints may include limitations or requirements related to the
performance, security, or other non-functional aspects of the program. For example, the program may need to
meet certain performance standards or security requirements in order to ensure reliable and secure operation.

It is important to carefully consider and document the design and implementation constraints of a periodic table
program in order to ensure that the final product meets the needs and expectations of the users and stakeholders.
This may involve trade-offs or compromises in order to balance the competing constraints and requirements of
the program.

2.4 Assumptions and Dependencies


Assumptions are conditions or factors that are assumed to be true or in place, without being explicitly stated or
verified. Dependencies are conditions or factors that are required for the successful implementation or operation
of a software system.

In the context of a periodic table program, some assumptions and dependencies include:

Assumptions:

The program will be used on personal computers or laptops with internet access.
The program will be used by individuals with some knowledge of chemistry and the periodic table.
The program will be used primarily for educational or reference purposes.

Dependencies:

The program will require access to an up-to-date database of information about the elements of the periodic
table.
The program will require an internet connection in order to access the database and display information to the
user.
The program will require a compatible operating system and hardware platform in order to run.

5
2.5 Functional Requirements
Functional requirements define the specific actions or capabilities that a software system, such as a periodic
table program, must be able to perform. These requirements describe what the system should do, rather than
how it should do it.

Here are some examples of functional requirements relevant for a periodic table program:

i. The program must allow users to search for an element by its atomic number or name, and display
detailed information about the element, including its symbol, atomic weight, and other properties.

ii. The program must allow users to display the entire periodic table and to sort the elements by different
properties, such as atomic number, symbol, or name.

iii. The program must allow users to customize the display of the periodic table, including the ability to
show or hide certain properties or groups of elements.

iv. The program must allow users to save and export information about the elements, such as to a file or to
a clipboard.

v. The program must allow users to update the database of information about the elements with new or
revised information as it becomes available.

6
2.6 Nonfunctional Requirements

Nonfunctional requirements define the constraints or requirements that a software system, such as a
periodic table program, must satisfy in terms of its performance, security, usability, and other
nonfunctional aspects. These requirements describe how the system should behave or perform, rather
than what it should do.

Here are some examples of nonfunctional requirements that might be relevant for a periodic table
program:

Performance requirements:

The program must respond to user input and queries within a reasonable amount of time, typically less
than a few seconds.

The program must be able to handle a large number of concurrent users without experiencing
significant performance degradation.

Security requirements:

The program must protect the confidentiality, integrity, and availability of the information it stores and
displays.

The program must be secure against external threats such as hackers or malware.

Usability requirements:

The program must have a user-friendly interface that is easy to use and navigate.

The program must be accessible and usable by users with disabilities.

Compatibility requirements:

The program must be compatible with a range of operating systems and hardware platforms.

The program must be compatible with other software or systems that it may need to interoperate with.

7
2.7 Other Requirements
Other requirements refer to any additional requirements or constraints that are not covered by the functional or
nonfunctional requirements of a software system, such as a periodic table program. These may include
requirements related to the development, testing, deployment, or maintenance of the program.

Here are some examples of other requirements that might be relevant for a periodic table program:

Development requirements:

The program must be developed using a specific programming language or toolset.

The program must follow a specific development process or methodology.


Testing requirements:

The program must be thoroughly tested in order to ensure that it meets the functional and nonfunctional
requirements.

The program must be tested in a range of environments and configurations to ensure its compatibility and
reliability.

Deployment requirements:

The program must be deployable on a range of hardware and software platforms.

The program must have a specific deployment process or procedure.

Maintenance requirements:

The program must be maintained and supported over time in order to ensure its continued operation and
performance.

The program must be updated with new or revised information about the elements as it becomes available.

8
Chapter 3. System Design

3.1 Application and Data Architecture


The application architecture of a software system, such as a periodic table program, refers to the overall
structure and organization of the program. It defines the main components or modules of the program, and how
they interact and communicate with each other.

The data architecture of a software system refers to the way in which the program stores, retrieves, and manages
data. This may include the database design, data models, and data access mechanisms used by the program.

Here is an example of an application and data architecture for a periodic table program:

Application architecture:

i. The program consists of a main module that handles user input, output, and navigation.
ii. The program includes a database module that manages access to the database of information about the
elements.
iii. The program includes a search module that handles searches for elements by atomic number or name,
and returns the results to the main module.
iv. The program includes a display module that handles the rendering of the periodic table and the display
of element information to the user.

Data architecture:

i. The program stores the information about the elements in a relational database.
ii. The database includes tables for the elements, their properties, and any other relevant information.
iii. The program uses SQL queries to retrieve and update information from the database.
iv. The program implements data access controls to ensure the security and integrity of the data.

9
3.2 Component Interactions and Collaborations
Component interactions and collaborations refer to the way in which the different components or modules of a
software system, such as a periodic table program, interact and communicate with each other. This may involve
exchanging data, calling functions or methods, or triggering events.

i. The main module receives user input, such as a search query or a request to display the periodic table.

ii. The main module passes the user input to the search module, which searches the database for the
requested element or information.

iii. The search module returns the search results to the main module, which displays the results to the user.

iv. The main module may also pass user input to the display module, which handles the rendering of the
periodic table and the display of element information to the user.

v. The display module may request information from the database module in order to display the element
information to the user.

3.3 System Architecture


The system architecture of a software system, such as a periodic table program, refers to the overall structure
and organization of the program and its components, as well as the relationships between these components and
the external systems or environments in which the program operates.

i. The periodic table program is a standalone software application that runs on personal computers or
laptops.

ii. The program communicates with a database server over the internet in order to access and update the
information about the elements.

iii. The program uses a graphical user interface (GUI) to interact with the user, and provides features such
as searching, sorting, and displaying the elements.

iv. The program is compatible with a range of operating systems and hardware platforms, and can be
installed or deployed via a standard process.

10
3.4 Architecture Evaluation
Architecture evaluation refers to the process of assessing the quality, suitability, or effectiveness of the
architecture of a software system, such as a periodic table program. This may involve evaluating the architecture
against specific criteria or standards, or comparing it to other architectures or approaches.

There are several methods or techniques that can be used to evaluate the architecture of a software system. Some
common methods include:

Architecture tradeoff analysis method (ATAM): This method involves evaluating the architecture against a
set of quality attributes, such as performance, security, or scalability, and identifying potential trade-offs or
compromises that may be necessary.

Architecture review: This method involves reviewing the architecture with a group of experts or stakeholders,
and soliciting feedback and recommendations for improvement.

Architecture analysis and evaluation: This method involves evaluating the architecture against specific
criteria or standards, such as those defined in the SRS or other requirements documents.

Simulation or prototyping: This method involves creating a prototype or simulation of the architecture and
testing it in a controlled environment to evaluate its performance and behavior.

3.5 Component-External Entities Interface


The component-external entities interface of a software system refers to the way in which the components of the
system interact with external entities, such as other systems, devices, or users.

In the context of a periodic table program, some examples of external entities that the program might need to
interact with include:

Users: The program will need to provide a user interface for users to interact with the program, such as through
a graphical user interface (GUI), a command-line interface (CLI), or other means.

Database server: The program will need to communicate with a database server over the internet in order to
access and update the information about the elements.

Operating system: The program will need to interface with the operating system in order to run and perform
certain functions, such as accessing system resources or displaying output to the user.

Hardware devices: The program may need to interface with hardware devices, such as printers or scanners, in
order to perform certain functions or tasks.

11
3.6 Screenshots/Prototype

Test Specification and Results


Test specification refers to the process of defining and documenting the tests that will be performed on
a software system, such as a periodic table program, in order to evaluate its functionality, performance,
and other aspects. This may involve specifying the test cases, the test conditions, the expected results,
and the acceptance criteria for the tests.

Test results refer to the outcomes or observations that are obtained from performing the tests on the
software system. These results may include pass/fail status, performance metrics, or other relevant
data.

12
Test specification:

Test case 1: Search for an element by atomic number

Test condition: The user enters the atomic number of an element in the search field and initiates the
search.

Expected result: The program returns the element with the matching atomic number, along with its
properties and other information.

Acceptance criteria: The returned element and information must be accurate and complete.

Test case 2: Search for an element by name

Test condition: The user enters the name of an element in the search field and initiates the search.

Expected result: The program returns the element with the matching name, along with its properties
and other information.

Acceptance criteria: The returned element and information must be accurate and complete.
Test results:

Test case 1: Passed

The program returned the correct element and information for the specified atomic number.

Test case 2: Passed

The program returned the correct element and information for the specified name.

13
Chapter 4. Conclusion and Future Work
Conclusion:

Based on the requirements and specifications outlined in this SRS document, the periodic table
program is a comprehensive and user-friendly tool for accessing and displaying information about the
elements of the periodic table. The program provides a range of features and capabilities, such as
searching, sorting, and customizing the display of the periodic table, and is compatible with a variety
of operating systems and hardware platforms.

The test specification and results indicate that the program functions as intended and meets the
specified requirements and acceptance criteria. However, there is always room for improvement, and
there are a number of areas where the program could be enhanced or expanded in the future.

Future work:

The program could be enhanced with additional features or capabilities, such as the ability to visualize
the elements in 3D or to compare and contrast different elements.

The program could be optimized for performance, security, or other nonfunctional aspects, in order to
improve its reliability and user experience.

The program could be integrated with other systems or platforms, such as learning management
systems or educational resources, to expand its potential uses and applications.

14
Appendix A Glossary

Atomic number: The number of protons in the nucleus of an atom, which uniquely identifies the element and
determines its position in the periodic table.

Element: A substance that cannot be broken down or transformed into other substances by chemical means.
Each element is characterized by its atomic number, atomic mass, and other properties.

Periodic table: A chart that arranges the elements according to their atomic number, electron configurations,
and recurring chemical properties.

Properties: The characteristics or attributes of an element, such as its atomic mass, melting point, boiling point,
or reactivity.

Search: The process of looking for or seeking out a specific element or piece of information based on certain
criteria, such as its atomic number or name.

Appendix B Deployment/Installation Guide


Hardware and software requirements:

i. The periodic table program is compatible with the following operating systems: Windows 10, MacOS,
and Linux.
ii. The program requires a computer with at least 2GB of RAM and 50MB of available storage space.
iii. The program requires an active internet connection in order to access the database of element
information.

Pre-installation steps:

i. Verify that the computer meets the hardware and software requirements listed above.
ii. Back up any important data or files that are stored on the computer.
iii. Disconnect the computer from any network or external devices that are not required for the installation.

Installation process:

i. Download the periodic table program installer from the program website.
ii. Double-click the installer file to begin the installation.
iii. Follow the prompts and instructions to complete the installation.
iv. When the installation is complete, click the "Finish" button to launch the program.

15

You might also like