CBSE AFFILIATION NO: 1930859 SCHOOL CODE: 55771
SUBJECT CODE: 083
COMPUTER SCIENCE PROJECT
INSURANCE COMPANIES & POLICIES
Academic Session 2024-2025
SUBMITTED BY
AJAY S
SUBMITTED TO
Mr. G. Vijayanand M. Tech
(PGT in CS)
SRI CHAITANYA TECHNO SCHOOL
SALEM – 636004
TAMILNADU
CERTIFICATE
This is to certify that ____________________________, Reg No ___________
a student of class 12 (Science) has successfully completed his/her project work under
the guidance of subject teacher Mr. Vijayanand G during the year 2024 - 25 from
SRI CHAITANYA TECHNO SCHOOL in partial fulfilment of COMPUTER
SCIENCE practical examination conducted by CBSE.
_______________________ _______________________
INTERNAL EXAMINER EXTERNAL EXAMINER
________________
PRINCIPAL
ACKNOWLEDGEMENT
The success and final outcome of this project required a lot of guidance and
assistance from many people and I am extremely fortune to have got this all along with
the completion of my project work. Whatever I have done is only due to such guidance
and assistance and I would not forget to thank them.
I respect and thank computer teacher Mr. Vijayanand G, for giving me an
opportunity to do this project work and providing me with all support and guidance
which made me complete the project on time.
Last but not least I would like to thank all my friends who supported me all the way
and my parents who helped me financially and encouraged me throughout the
completion of the project
AJAY S
TABLE OF CONTENTS
PAGE
SER DESCRIPTION
NO
03
01 ACKNOWLEDGEMENT
04
02 INTRODUCTION
05
03 OBJECTIVES OF THE PROJECT
06
04 PROPOSED SYSTEM
04
05 INSURANCE COMPANIES & POLICIES (ICP)
09
06 PHASES OF SYSTEM DEVELOPMENT LIFE CYCLE
18
07 SOURCE CODES
26
08 OUTPUT
30
09 TESTING
33
10 INSTALLING PROCESS
33
11 HARDWARE AND SOFTWARE REQUIREMENTS
12 BIBLIOGRAPHY 35
PROJECT ON INSURANCE COMPANIES & POLICIES
INTRODUCTION :
The INSURANCE COMPANIES & POLICIES is a software used to
register oneself to enrol Him/ her in various insurance companies along
with their suitable policies.
Note :
• Allow the user to input their policy number, name, desired insurance
• Allow the administrator to delete an enrolment , edit the name and course
of a candidate.
• Allows the user to see the details.
OBJECTIVES OF THE PROJECT :
The objective of this project is to let the students apply the programming
knowledge into a real- world situation/problem and exposed the students how
programming skills helps in developing a good software.
• Write programs utilizing modern software tools.
• Apply object oriented programming principles effectively when
developing small to medium sized projects.
• Write effective procedural code to solve small to medium sized problems.
• Students will demonstrate a breadth of knowledge in computer science,
as exemplified in the areas of systems, theory and software development.
• Students will demonstrate ability to conduct a research or applied
Computer Science project, requiring writing and presentation skills which
exemplify scholarly style in computer science.
PROPOSED SYSTEM :
Today one cannot afford to rely on the fallible human beings of be really
wants to stand against today’s merciless competition where not to wise saying
“to err is human” no longer valid, it’s outdated to rationalize your mistake.
So, to keep pace with time, to bring about the best result without malfunctioning
and greater efficiency so to replace the unending heaps of flies with a much
sophisticated hard disk of the computer.
One has to use the data management software. Software has been an
ascent in atomization various organizations. Many software products working
are now in markets, which have helped in making the organizations work easier
and efficiently. Data management initially had to maintain a lot of ledgers and a
lot of paper work has to be done but now software product on this organization
has made their work faster and easier. Now only this software has to be loaded
on the computer and work can be done.
This prevents a lot of time and money. The work becomes fully automated and
any information regarding the organization can be obtained by clicking the
button. Moreover, now it’s an age of computers of and automating such an
organization gives the better look.
SYSTEM DEVELOPMENT LIFE CYCLE (SDLC) :
The systems development life cycle is a project management technique
that divides complex projects into smaller, more easily managed segments or
phases. Segmenting projects allows managers to verify the successful
completion of project phases before allocating resources to subsequent phases.
Software development projects typically include initiation, planning,
design, development, testing, implementation, and maintenance phases.
However, the phases may be divided differently depending on the organization
involved.
For example, initial project activities might be designated as request,
requirements ,definition, and planning phases, or initiation, concept-
development, and planning phases. End users of the system under development
should be involved in reviewing the output of each phase to ensure the system
is being built to deliver the needed functionality.
PHASES OF SYSTEM DEVELOPMENT LIFE CYCLE :
INITIATION PHASE :
The Initiation Phase begins when a business sponsor identifies a need or an
opportunity.
The purpose of the Initiation Phase is to :
• Identify and validate an opportunity to improve business
accomplishments of the organization or a deficiency related to a business
need.
• Identify significant assumptions and constraints on solutions to that need.
• Recommend the exploration of alternative concepts and methods to
satisfy the need including questioning the need for technology, i.e., will a
change in the business process offer a solution?
• Assure executive business and executive technical sponsorship. The
Sponsor designates a Project Manager and the business need is
documented in a Concept Proposal. The Concept Proposal includes
information about the business process and the relationship to the
Agency/Organization.
• Infrastructure and the Strategic Plan. A successful Concept Proposal
results in a Project Management Charter which outlines the authority of
the project manager to begin the project.
Careful oversight is required to ensure projects support strategic business
objectives and resources are effectively implemented into an organization's
enterprise architecture. The initiation phase begins when an opportunity to add,
improve, or correct a system is identified and formally requested through the
presentation of a business case. The business case should, at a minimum,
describe a proposal’s purpose, identify expected benefits, and explain how the
proposed system supports one of the organization’s business strategies. The
business case should also identify alternative solutions and detail as many
informational, functional, and network requirements as possible.
SYSTEM CONCEPT DEVELOPMENT PHASE :
The System Concept Development Phase begins after a business need or
opportunity is validated by the Agency/Organization Program Leadership and
the Agency/Organization CIO.
The purpose of the System Concept Development Phase is to:
• Determine the feasibility and appropriateness of the alternatives.
• Identify system interfaces.
• Identify basic functional and data requirements to satisfy the business
need.
• Establish system boundaries; identify goals, objectives, critical success
factors, and performance measures.
• Evaluate costs and benefits of alternative approaches to satisfy the basic
functional requirements
• Assess project risks
• Identify and initiate risk mitigation actions, and Develop high-level
technical architecture, process models, data models, and a concept of
operations. This phase explores potential technical solutions within the
context of the business need.
• It may include several trade-off decisions such as the decision to use COTS
software products as opposed to developing custom software or reusing
software components, or the decision to use an incremental delivery
versus a complete, onetime deployment.
• Construction of executable prototypes is encouraged to evaluate
technology to support the business process. The System Boundary
Document serves as an important reference document to support the
Information Technology Project Request (ITPR) process.
• The ITPR must be approved by the State CIO before the project can move
forward.
PICTORIAL REPRESENTATION OF SDLC:
PLANNING PHASE :
The planning phase is the most critical step in completing development,
acquisition, and maintenance projects. Careful planning, particularly in the early
stages of a project, is necessary to coordinate activities and manage project risks
effectively. The depth and formality of project plans should be commensurate
with the characteristics and risks of a given project. Project plans refine the
information gathered during the initiation phase by further identifying the
specific activities and resources required to complete a project.
A critical part of a project manager’s job is to coordinate discussions
between user, audit, security, design, development, and network personnel to
identify and document as many functional, security, and network requirements
as possible. During this phase, a plan is developed that documents the approach
to be used and includes a discussion of methods, tools, tasks, resources, project
schedules, and user input. Personnel assignments, costs, project schedule, and
target dates are established.
A Project Management Plan is created with components related to
acquisition planning, configuration management planning, quality assurance
planning, concept of operations, system security, verification and validation, and
systems engineering management planning.
REQUIREMENTS ANALYSIS PHASE :
This phase formally defines the detailed functional user requirements
using high-level requirements identified in the Initiation, System Concept, and
Planning phases. It also delineates the requirements in terms of data, system
performance, security, and maintainability requirements for the system. The
requirements are defined in this phase to a level of detail sufficient for systems
design to proceed. They need to be measurable, testable, and relate to the
business need or opportunity identified in the Initiation Phase. The
requirements that will be used to determine acceptance of the system are
captured in the Test and Evaluation Master Plan.
The purposes of this phase are to:
Further define and refine the functional and data requirements and
document them in the reqirements documents,
Complete business process reengineering of the functions to be
supported (i.e., verify what information drives the business process, what
information is generated, who generates it, where does the information
go, and who processes it),
Develop detailed data and process models (system inputs, outputs, and
the process.
Develop the test and evaluation requirements that will be used to
determine acceptable system performance.
DESIGN PHASE :
The design phase involves converting the informational, functional, and network
requirements identified during the initiation and planning phases into unified design
specifications that developers use to script programs during the development phase.
Program designs are c constructed in various ways. Using a top-down approach, designers
first identify and link major program components and interfaces, then expand design layouts
as they identify and link smaller subsystems and connections. Using a bottom-up approach,
designers first identify and link minor program components and interfaces, then expand
design layouts as they identify and link larger systems and connections. Contemporary
design techniques often use prototyping tools that build mock-up designs of items such as
application screens, database layouts, and system architectures. End users, designers,
developers, database managers, and network administrators should review and refine the
prototyped designs in an iterative process until they agree on an acceptable design. Audit,
security, and quality assurance personnel should be involved in the review and approval
process. During this phase, the system is designed to satisfy the functional requirements
identified in the previous phase. Since problems in the design phase could be very expensive
to solve in the later stage of the software development, a variety of elements are considered
in the design to mitigate risk. These include:
• Identifying potential risks and defining mitigating design features.
• Performing a security risk assessment.
• Developing a conversion plan to migrate current data to the new system.
• Determining the operating environment.
Defining major subsystems and their inputs and outputs.
• Allocating processes to resources.
• Preparing detailed logic specifications for each software module. The result is a draft
System Design Document which captures the preliminary design for the system.
• Everything requiring user input or approval is documented and reviewed by the user.
Once these documents have been approved by the Agency CIO and Business Sponsor,
the final
System Design Document is created to serve as the Critical/Detailed Design for the system.
• This document receives a rigorous review by Agency technical and functional
representatives to ensure that it satisfies the business requirements. Concurrent with
the development of the system design, the Agency Project Manager begins
development of the Implementation Plan, Operations and Maintenance Manual, and
the Training Plan.
DEVELOPMENT PHASE :
The development phase involves converting design specifications into executable
programs. Effective development standards include requirements that programmers and
other project participants discuss design specifications before programming begins. The
procedures help ensure programmers clearly understand program designs and functional
requirements. Programmers use various techniques to develop computer programs. The
large transaction oriented programs associated with financial institutions have
traditionally been developed using procedural programming techniques. Procedural
programming involves the line-by-line scripting of logical instructions that are combined
to form a program. Effective completion of the previous stages is a key factor in the
success of the Development phase. The Development phase consists of:
• Translating the detailed requirements and design into system components.
• Testing individual elements (units) for usability.
• Preparing for integration and testing of the IT system.
INTEGRATION AND TEST PHASE :
Subsystem integration, system, security, and user acceptance testing is conducted
during the integration and test phase. The user, with those responsible for quality
assurance, validates that the functional requirements, as defined in the functional
requirements document, are satisfied by the developed or modified system. OIT
Security staff assess the system security and issue a security certification and
accreditation prior to installation/implementation.
Multiple levels of testing are performed, including:
• Testing at the development facility by the contractor and possibly supported by end
users
• Testing as a deployed system with end users working together with contract
personnel
• Operational testing by the end user alone performing all functions. Requirements are
traced throughout testing, a final Independent Verification & Validation evaluation is
performed and all documentation is reviewed and accepted prior to acceptance of
the system.
IMPLEMENTATION PHASE
This phase is initiated after the system has been tested and accepted by the user. In
this phase, the system is installed to support the intended business functions. System
performance is compared to performance objectives established during the planning phase.
Implementation includes user notification, user training, installation of hardware,
installation of software onto production computers, and integration of the system into daily
work processes. This phase continues until the system is operating in production in
accordance with the defined user requirements.
OPERATIONS AND MAINTENANCE PHASE
The system operation is ongoing. The system is monitored for continued performance
in accordance with user requirements and needed system modifications are incorporated.
Operations continue as long as the system can be effectively adapted to respond to the
organization’s needs.
When modifications or changes are identified, the system may reenter the planning phase.
The purpose of this phase is to:
• Operate, maintain, and enhance the system.
• Certify that the system can process sensitive information.
• Conduct periodic assessments of the system to ensure the functional
requirements continue to be satisfied.
Determine when the system needs to be modernized, replaced, or retired
SOURCE CODE :
Create a Python project of a Insurance companies & policies to register
yourself into various policies and insurance programs.
Note:
• Allow the user to input their policy number, name, desired insurance.
• Allow the administrator to delete an enrolment, edit the name and insurance of a
candidate.
• Allows the user to see the details.
SOLUTION:
import datetime
class InsurancePolicy:
def __init__(self, policy_number, policyholder_name,
policy_type, start_date, end_date, premium_amount):
self.policy_number = policy_number
self.policyholder_name = policyholder_name
self.policy_type = policy_type
self.start_date = start_date
self.end_date = end_date
self.premium_amount = premium_amount
self.is_active = True
def __str__(self):
return f"Policy No: {self.policy_number}, Name:
{self.policyholder_name}, Type: {self.policy_type}, " \
f"Start Date: {self.start_date}, End Date:
{self.end_date}, Premium: {self.premium_amount}, " \
f"Active: {'Yes' if self.is_active else 'No'}"
def calculate_premium(self):
# A simple rule: If the policy type is 'Life', apply a
10% discount.
if self.policy_type.lower() == 'life':
return self.premium_amount * 0.90
return self.premium_amount
def renew(self, new_end_date):
self.end_date = new_end_date
self.is_active = True
print(f"Policy {self.policy_number} has been renewed
until {self.end_date}.")
def deactivate(self):
self.is_active = False
print(f"Policy {self.policy_number} has been
deactivated.")
class InsuranceSystem:
def __init__(self):
self.policies = []
def add_policy(self, policy_number, policyholder_name,
policy_type, start_date, end_date, premium_amount):
policy = InsurancePolicy(policy_number,
policyholder_name, policy_type, start_date, end_date,
premium_amount)
self.policies.append(policy)
print(f"Policy {policy_number} added successfully.")
def display_policy(self, policy_number):
policy = self._find_policy(policy_number)
if policy:
print(policy)
else:
print("Policy not found.")
def display_all_policies(self):
if not self.policies:
print("No policies found.")
return
for policy in self.policies:
print(policy)
def renew_policy(self, policy_number, new_end_date):
policy = self._find_policy(policy_number)
if policy:
policy.renew(new_end_date)
else:
print("Policy not found.")
def deactivate_policy(self, policy_number):
policy = self._find_policy(policy_number)
if policy:
policy.deactivate()
else:
print("Policy not found.")
def search_policies_by_name(self, name):
found = False
for policy in self.policies:
if name.lower() in
policy.policyholder_name.lower():
print(policy)
found = True
if not found:
print(f"No policies found for {name}.")
def calculate_policy_premium(self, policy_number):
policy = self._find_policy(policy_number)
if policy:
premium = policy.calculate_premium()
print(f"The calculated premium for Policy
{policy_number} is: {premium}")
else:
print("Policy not found.")
def _find_policy(self, policy_number):
for policy in self.policies:
if policy.policy_number == policy_number:
return policy
return None
def main():
insurance_system = InsuranceSystem()
while True:
print("\n--- Insurance Management System ---")
print("1. Add Policy")
print("2. Display Policy")
print("3. Display All Policies")
print("4. Renew Policy")
print("5. Deactivate Policy")
print("6. Search Policies by Policyholder Name")
print("7. Calculate Policy Premium")
print("8. Exit")
choice = input("Enter your choice: ")
if choice == "1":
policy_number = input("Enter Policy Number: ")
policyholder_name = input("Enter Policyholder
Name: ")
policy_type = input("Enter Policy Type (e.g., Life,
Health, Vehicle): ")
start_date = input("Enter Start Date (YYYY-MM-DD):
")
end_date = input("Enter End Date (YYYY-MM-DD): ")
premium_amount = float(input("Enter Premium
Amount: "))
insurance_system.add_policy(policy_number,
policyholder_name, policy_type, start_date, end_date,
premium_amount)
elif choice == "2":
policy_number = input("Enter Policy Number to
display: ")
insurance_system.display_policy(policy_number)
elif choice == "3":
insurance_system.display_all_policies()
elif choice == "4":
policy_number = input("Enter Policy Number to
renew: ")
new_end_date = input("Enter New End Date (YYYY-MM-
DD): ")
insurance_system.renew_policy(policy_number,
new_end_date)
elif choice == "5":
policy_number = input("Enter Policy Number to
deactivate: ")
insurance_system.deactivate_policy(policy_number)
elif choice == "6":
name = input("Enter Policyholder Name to search:
")
insurance_system.search_policies_by_name(name)
elif choice == "7":
policy_number = input("Enter Policy Number to
calculate premium: ")
insurance_system.calculate_policy_premium(policy_number)
elif choice == "8":
print("Exiting system...")
break
else:
print("Invalid choice. Please try again.")
if __name__ == "__main__":
main()
OUTPUTS :
Python 3.12.1 (tags/v3.12.1:2305ca5, Dec 7 2023, 22:03:25) [MSC v.1937 64 bit (AMD64)] on
win32
Type "help", "copyright", "credits" or "license()" for more information.
= RESTART: C:/Users/sdhar/AppData/Local/Programs/Python/Python312/rrr.py
--- Insurance Management System ---
1. Add Policy
2. Display Policy
3. Display All Policies
4. Renew Policy
5. Deactivate Policy
6. Search Policies by Policyholder Name
7. Calculate Policy Premium
8. Exit
Enter your choice: 1
Enter Policy Number: 123456
Enter Policyholder Name: RAM
Enter Policy Type (e.g., Life, Health, Vehicle): life
Enter Start Date (YYYY-MM-DD): 01/02/2005
Enter End Date (YYYY-MM-DD): 07/10/2018
Enter Premium Amount: 200000
Policy 123456 added successfully.
--- Insurance Management System ---
1. Add Policy
2. Display Policy
3. Display All Policies
4. Renew Policy
5. Deactivate Policy
6. Search Policies by Policyholder Name
7. Calculate Policy Premium
8. Exit
Enter your choice: 2
Enter Policy Number to display: 123456
Policy No: 123456, Name: RAM, Type: life, Start Date: 01/02/2005, End Date: 07/10/2018,
Premium: 200000.0, Active: Yes
--- Insurance Management System ---
1. Add Policy
2. Display Policy
3. Display All Policies
4. Renew Policy
5. Deactivate Policy
6. Search Policies by Policyholder Name
7. Calculate Policy Premium
8. Exit
Enter your choice: 3
Policy No: 123456, Name: RAM, Type: life, Start Date: 01/02/2005, End Date: 07/10/2018,
Premium: 200000.0, Active: Yes
--- Insurance Management System ---
1. Add Policy
2. Display Policy
3. Display All Policies
4. Renew Policy
5. Deactivate Policy
6. Search Policies by Policyholder Name
7. Calculate Policy Premium
8. Exit
Enter your choice: 4
Enter Policy Number to renew: 123456
Enter New End Date (YYYY-MM-DD): 02/05/2020
Policy 123456 has been renewed until 02/05/2020.
--- Insurance Management System ---
1. Add Policy
2. Display Policy
3. Display All Policies
4. Renew Policy
5. Deactivate Policy
6. Search Policies by Policyholder Name
7. Calculate Policy Premium
8. Exit
Enter your choice: 5
Enter Policy Number to deactivate: 123456
Policy 123456 has been deactivated.
--- Insurance Management System ---
1. Add Policy
2. Display Policy
3. Display All Policies
4. Renew Policy
5. Deactivate Policy
6. Search Policies by Policyholder Name
7. Calculate Policy Premium
8. Exit
Enter your choice: 6
Enter Policyholder Name to search: RAM
Policy No: 123456, Name: RAM, Type: life, Start Date: 01/02/2005, End Date: 02/05/2020,
Premium: 200000.0, Active: No
--- Insurance Management System ---
1. Add Policy
2. Display Policy
3. Display All Policies
4. Renew Policy
5. Deactivate Policy
6. Search Policies by Policyholder Name
7. Calculate Policy Premium
8. Exit
Enter your choice: 7
Enter Policy Number to calculate premium: 123456
The calculated premium for Policy 123456 is: 180000.0
--- Insurance Management System ---
1. Add Policy
2. Display Policy
3. Display All Policies
4. Renew Policy
5. Deactivate Policy
6. Search Policies by Policyholder Name
7. Calculate Policy Premium
8. Exit
Enter your choice: 8
Existing system…..
TESTING :
Software Testing is an empirical investigation conducted to provide stakeholders with
information about the quality of the product or service under test , with respect to the
context in which it is intended to operate. Software Testing also provides an objective,
independent view of the software to allow the business to appreciate and understand the
risks at implementation of the software. Test techniques include, but are not limited to, the
process of executing a program or application with the intent of finding software bugs.
It can also be stated as the process of validating and verifying that a software
program/application/product meets the business and technical requirements that guided its
design and development, so that it works as expected and can be implemented with the
same characteristics. Software Testing, depending on the testing method employed, can be
implemented at any time in the development process, however the most test effort is
employed after the requirements have been defined and coding process has been
completed.
TESTING METHODS :
testing Software testing methods are traditionally divided into black box and white box
testing. These two approaches are used to describe the point of view that a test engineer
takes when designing test cases.
BLACK BOX TESTING :
Black box testing treats the software as a "black box," without any knowledge of
internal implementation. Black box testing methods include: equivalence partitioning,
boundary value analysis, all-pairs testing, fuzz testing, model-based testing, traceability
matrix, exploratory testing and specification-based testing.
SPECIFICATION-BASED TESTING :
Specification-based testing aims to test the functionality of software according to the
applicable requirements. Thus, the tester inputs data into, and only sees the output from,
the test object. This level of testing usually requires thorough test cases to be provided to
the tester, who then can simply verify that for a given input, the output value (or behaviour),
either "is" or "is not" the same as the expected value specified in the test case. Specification-
based testing is necessary, but it is insufficient to guard against certain risks
ADVANTAGES AND DISADVANTAGES :
The black box tester has no "bonds" with the code, and a tester's perception is very
simple:
a code must have bugs. Using the principle, "Ask and you shall receive," black box testers
find bugs where programmers don't. But, on the other hand, black box testing has been said
to be "like a walk in a dark labyrinth without a flashlight," because the tester doesn't know
how the software being tested was actually constructed.
That's why there are situations when a black box tester writes many test cases to check
something that can be tested by only one test case, and/or some parts of the back end are
not tested at all. Therefore, black box testing has the advantage of "an unaffiliated opinion,"
on the one hand, and the disadvantage of "blind exploring," on the other.
WHITE BOX TESTING :
White box testing, by contrast to black box testing, is when the tester has access to the
internal data structures and algorithms (and the code that implement these)
Types of white box testing :
The following types of white box testing exist:
• api testing - Testing of the application using Public and Private APIs.
• Code coverage - creating tests to satisfy some criteria of code coverage.
For example, the test designer can create tests to cause all statements in the program
to be executed at least once.
• fault injection methods.
• mutation testing methods.
• static testing - White box testing includes all static testing.
CODE COMPLETENESS EVALUATION :
White box testing methods can also be used to evaluate the completeness of a test
suite that was created with black box testing methods. This allows the software team to
examine parts of a system that are rarely tested and ensures that the most important
function points have been tested.
Two common forms of code coverage are:
• Function Coverage: Which reports on functions executed and
• Statement Coverage: Which reports on the number of lines executed to
complete the test.
They both return coverage metric, measured as a percentage
INSTALLATION PROCESS:
1. Install “python-3.4.0” in your device (if you do not have Python).
2. Using “Microsoft word document ” on your device (if you do not have Microsoft
word document).
HARDWARE AND SOFTWARE REQUIREMENTS :
I. OPERATING SYSTEM : WINDOWS 11
II. PROCESSOR : INTEL CORE i3 12th Gen Intel(R) Core(TM) i3-1215U
1.20 GHz
III. RAM : 8.00 GB (7.69 GB usable)
IV.SYSTEM UPDATE : 64-bit operating system, x64-based processor
BIBLIOGRAPHY :
• Computer science With Python - Class XII By : Sumita Arora
• A Project Report On Insurance companies & policies (ICP)
• Website: https://www.w3resource.com
• https://en.wikipedia.org/
• Mozilla firefox
• Microsoft word document