0% found this document useful (0 votes)
12 views

Source Code and Output

Copyright
© © All Rights Reserved
Available Formats
Download as ODT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
12 views

Source Code and Output

Copyright
© © All Rights Reserved
Available Formats
Download as ODT, PDF, TXT or read online on Scribd
You are on page 1/ 26

ACKNOWLEDGEMENT

I have taken efforts in this project, however it would


not have possible without the kind support and help
of many individuals.
I would like to express my special thanks of gratitude
to our Principal Mrs. Rachana Gupta as well as my
Computer Science (083) sir Mr. Deepak Sharma who
gave me the golden opportunity to do this wonderful
project on the Old Age Home Management System
which also helped me in doing a lot of research and I
came to know about so many things. I am really
thankful to them.
Secondly, I would also like to thank my parents and
friends who helped me a lot in finalizing this project
within the limited time period.

Thank you,

Prabhanshu Saxena

1
CERTIFICATE
This is to certify that Prabhanshu Saxena,
student of class XII-B has successfully
completed the research on the Old Age
Home Management System under the
guidance of Dr. Deepak Sharma during the
session 2024- 2025 in partial fulfillment of
Computer Science Practical Conducted by
Central Board of Secondary
Education(CBSE)

Principal’s Signature Teacher’s Signature

2
About Python
Python is a widely used general-purpose, high level programming language.It
was created by Guido van Rossum in 1991 and further developed by the
Python Software Foundation. It was designed with an emphasis on code
readability, and its syntax allows programmers to express their concepts in
fewer lines of code. Python is a programming language that lets you work
quickly and integrate systems more efficiently. There are two major Python
versions: Python 2 and Python 3. Both are quite different.

Reason for Increasing Popularity


1. Emphasis on code readability, shorter codes, ease of writing.
2. Programmers can express logical concepts in fewer lines of code in
comparison to languages such as C++ or Java.
3. Python supports multiple programming paradigms, like object- oriented,
imperative and functional programming or procedural.
4. There exist inbuilt functions for almost all of the frequently used concepts.
5. Philosophy is “Simplicity is the best”.

Advantages
• Presence of third-party modules
• Extensive support libraries (NumPy for numerical calculations, Pandas for
data analytics etc.)
• Open source and community development
• Versatile, Easy to read, learn and write
• User-friendly data structures
• High-level language
• Dynamically typed language (No need to mention data type based on the
value assigned, it takes data type)
• Object-oriented language

3
• Ideal for prototypes – provide more functionality with less coding
• Highly Efficient (Python’s clean object-oriented design provides enhanced
process control, and the language is equipped with excellent text processing
and integration capabilities, as well as its own unit testing framework, which
makes it more efficient.)
• Interpreted Language
• Portable across Operating systems

Applications
1. GUI based desktop applications
2. Graphic design, Image processing applications, Games, and Scientific/
Computational Applications
3. Enterprise and Business applications
4. Database Access
5. Language Development
6. Prototyping
7. Software Development

Organizations Using Python


1. Google (Components of Google Spider and Search Engine)
2. YouTube
3. Microsoft
4. Spotify

Importance in Industry
Most of the companies are now looking for candidates who know about
Python Programming. Those having the knowledge of python may have more
chances of impressing the interviewing panel. So, experts suggest that
beginners should start learning python and excel in it.

4
Structured Query Language (SQL)
Structured Query Language is a standard Database language which is used to
create, maintain and retrieve the relational database. Following are some
interesting facts about SQL.
SQL is case insensitive. But it is a recommended practice to use keywords (like
SELECT, UPDATE, CREATE, etc.) in capital letters and use user defined things (liked
table name, column name, etc.) in small letters.
We can write comments in SQL using “–” (double hyphen) at the beginning of any
line.
SQL is the programming language for relational databases (explained below) like
MySQL, Oracle, Sybase, SQL Server, Postgre, etc. Other nonrelational databases
(also called NoSQL) databases like MongoDB, DynamoDB, etc. do not use SQL.
Although there is an ISO standard for SQL, most of the implementations slightly
vary in syntax. So we may encounter queries that work in SQL Server but do
not work in MySQL.

What is Relational Database?


Relational database means the data is stored as well as retrieved in the form of
relations (tables). Table 1 shows the relational database with only one relation
called STUDENT which stores ROLL_NO, NAME, ADDRESS, PHONE and AGE of
students.
STUDENT
ROLL_NO NAME ADDRESS PHONE AGE
1 RAM DELHI 9389494910 18
2 MOHAN GURGAON 9319176651 18
3 PREM ROHTAK 7417597989 20

5
These are some important terminologies that are used in terms of
relation.
Attribute: Attributes are the properties that define a relation.
e.g.; ROLL_NO, NAME etc.
Tuple: Each row in the relation is known as tuple. The above relation
contains 4 tuples, one of which is shown as:
1 RAM DELHI 9455123451 18

Degree: The number of attributes in the relation is known as degree of


the relation. The STUDENT relation defined above has degree 5.
Cardinality: The number of tuples in a relation is known as cardinality.
The STUDENT relation defined above has cardinality 4.
Column: Column represents the set of values for a particular attribute.
The column ROLL_NO is extracted from relation STUDENT.
ROLL_NO
1
2
3

The queries to deal with relational database can be categories as:


Data Definition Language: It is used to define the structure of the
database. e.g.; CREATE TABLE, ADD COLUMN, DROP COLUMN and so on.
Data Manipulation Language: It is used to manipulate data in the
relations. e.g.; INSERT, DELETE, UPDATE and so on.
Data Query Language: It is used to extract the data from the relations.
e.g.; SELECT

6
So first we will consider the Data Query Language. A generic query to
retrieve from a relational database is:
SELECT [DISTINCT] Attribute_List FROM
R1,R2….RM [WHERE condition]
[GROUP BY (Attributes)[HAVING condition]]
[ORDER BY(Attributes)[DESC]];

Part of the query represented by statement 1 is compulsory if you want


to retrieve from a relational database. The statements written inside []
are optional. We will look at the possible query combination on relation
shown in Table 1.
Case 1: If we want to retrieve attributes ROLL_NO and NAME of all students, the
query will be:
SELECT ROLL_NO, NAME FROM STUDENT;

ROLL_NO NAME

1 RAM
2 RAMESH
3 SUJIT

Case 2: If we want to retrieve ROLL_NO and NAME of the students


whose ROLL_NO is greater than 2, the query will be:
SELECT ROLL_NO, NAME FROM STUDENT
WHERE ROLL_NO>2;
ROLL_NO NAME

3 SUJIT

7
CASE 3: If we want to retrieve all attributes of students, we can write * in place of
writing all attributes as:
SELECT * FROM STUDENT
WHERE ROLL_NO>2;
ROLL_NO NAME ADDRESS PHONE AGE

3 SUJIT ROHTAK 9156253131 20

CASE 4: If we want to represent the relation in ascending order by AGE, we can use
ORDER BY clause as:
SELECT * FROM STUDENT ORDER BY AGE;
ROLL_NO NAME ADDRESS PHONE AGE
1 RAM DELHI 9455123451 18
2 RAMESH GURGAON 9652431543 18
3 SUJIT ROHTAK 9156253131 20

Note: ORDER BY AGE is equivalent to ORDER BY AGE ASC. If we want to retrieve the
results in descending order of AGE, we can use ORDER BY AGE DESC.
CASE 5: If we want to retrieve distinct values of an attribute or group of attribute,
DISTINCT is used as in:
SELECT DISTINCT ADDRESS FROM STUDENT;
ADDRESS
DELHI
GURGAON
ROHTAK

If DISTINCT is not used, DELHI will be repeated twice in result set. Before
understanding GROUP BY and HAVING, we need to understand aggregations
functions in SQL.

8
AGGRATION FUNCTIONS: Aggregation functions are used to perform mathematical
operations on data values of a relation. Some of the common aggregation functions
used in SQL are:
COUNT: Count function is used to count the number of rows in a relation. e.g.;
SELECT COUNT (PHONE) FROM STUDENT;
COUNT(PHONE)
4

SUM: SUM function is used to add the values of an attribute in a relation. e.g.;
SELECT SUM (AGE) FROM STUDENT;
SUM(AGE)
74

In the same way, MIN, MAX and AVG can be used. As we have seen above, all
aggregation functions return only 1 row.

AVERAGE: It gives the average values of the tuples. It is also defined as sum divided
by count values.
Syntax: AVG(attributename)
OR
Syntax: SUM(attributename)/COUNT(attributename)
The above mentioned syntax also retrieves the average value of tupples.
MAXIMUM: It extracts the maximum value among the set of tupples.
Syntax: MAX(attributename)
MINIMUM: It extracts the minimum value amongst the set of all the tupples.
Syntax: MIN(attributename)
GROUP BY: Group by is used to group the tuples of a relation based on an attribute
group of attribute. It is always combined with aggregation function which is
computed on group. e.g.;
SELECT ADDRESS, SUM(AGE) FROM STUDENT
or
9
GROUP BY (ADDRESS);
In this query, SUM(AGE) will be computed but not for entire table but for each
address. i.e.; sum of AGE for address DELHI (18+18=36) and similarly for other addre
as well. The output is:
ADDRESS SUM(AGE)
DELHI 36
GURGAON 18
ROHTAK 20

If we try to execute the query given below, it will result in error because although w
have computed SUM(AGE) for each address, there are more than 1 ROLL_NO for ea
address we have grouped. So it can’t be displayed in result set. We need to use
aggregate functions on columns after SELECT statement to make sense of the
resulting set whenever we are using GROUP BY.
SELECT ROLL_NO, ADDRESS, SUM(AGE) FROM STUDENT
GROUP BY (ADDRESS);
NOTE: An attribute which is not a part of GROUP BY clause can’t be used for
selection. Any attribute which is part of GROUP BY CLAUSE can be used for selection
but it is not mandatory. But we could use attributes which are not a part of the
GROUP BY clause in an aggregrate function.

10
OBJECTIVE
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 research or applied
Computer Science project, requiring writing and presentation skills which
exemplify scholarly style in computer science.

11
SYNOPSIS
PROJECT
Develop a comprehensive Python-based application to streamline the
management of old age homes. Those who want to donate to the
cause and provide the residents of the said old age homes can view
the essentials that are needed at that time in the place
effectively.User can also view important details such as mean age and
number of residents too.

OVERVIEW
Key features of the system include:
1.Smooth Management:
This program will let the staff smoothly manage the old age home.It will help in keeping
track of records.Securely store and manage resident details like name, age, contact
information, emergency contacts, medical history, dietary restrictions, and preferences.

2.User friendly:
It can help those people who dont have enough time to visit their parents or take care of
their needs .They can readily get updates about their parents health status .

3.Divide:
The program is made for two types of users .Those who are from the management and
those from general public.Both can use varyting types of features according to their use.

4.Charity:
Those who want to donate for the elderly and take care of their needs indirectly can
donat e accroding to their capabilities .They can even volunteer for work .

12
CONCLUSION AND FUTURE ENHANCEMENTS

1.AI-powered Resident Monitoring and Assistance :


• Integrate machine learning algorithms to analyze sensor data (e.g., motion detec-
tors, wearables) to detect falls, health emergencies, or changes in activity pat-
terns.
• Develop a natural language processing (NLP) chatbot to provide residents with
companionship, address basic needs, or offer medication reminders.
• Explore integrating facial recognition for medication verification or personalized
greetings
2.Interactive Activity and Social Engagement Platform:
• Create a user-friendly interface for residents to schedule activities, view calendars,
or connect with family and friends through secure video calls.
• Implement gamification elements (e.g., points, badges) to encourage
participation in physical or mental fitness activities.
• Explore integrating virtual reality (VR) for immersive social experiences or
reminis- cence therapy.
3.Enhanced Communication and Reporting:
• Develop a unified communication platform for staff-resident interaction,
including instant messaging, task management, and real-time health updates.
• Design customizable reports for caregivers and families, providing detailed insights
into a resident's well-being, medication adherence, activity patterns, and potential
health concerns.
4.Advanced Security and Data Privacy:
• Implement robust encryption for all resident data, communication channels, and
access controls.
• Adhere to HIPAA (Health Insurance Portability and Accountability Act) regulations
for data privacy.
• Consider two-factor authentication for added security.
5.Smart Home Integration:
• Connect the management system to smart home devices (e.g., thermostats, light-
ing controls) for automated adjustments based on resident preferences or activity

13
levels.
• Explore voice-activated assistants (e.g., Google Assistant, Amazon Alexa) for resi-
dents to control smart devices hands-free.
6.Healthcare System Integration :
• Establish secure connections with healthcare providers' systems to facilitate elec-
tronic health record (EHR) sharing, streamlining medication management, and en-
abling remote consultations.
7.Predictive Health Risk Assessment:
• Develop machine learning models that analyze resident data (e.g., vitals,
medication records) to predict potential health risks and enable preventive
measures.
8.Personalized Care Recommendations:
• Utilize AI algorithms to suggest customized care plans based on individual needs
and preferences, optimizing interventions and promoting resident well-being.
8.Automated Scheduling and Resource Optimization:
• Train AI models to predict staffing requirements based on resident needs and
activity levels, enabling dynamic scheduling and efficient resource allocation.
9.Resident Consent and Transparency:
• Ensure residents understand how their data will be collected, used, and stored,
and obtain informed consent for data-driven initiatives.
• Provide clear and transparent explanations of AI-based decision making.
10.Addressing Bias and Fairness:
• Train AI models on diverse datasets to mitigate bias and ensure fair decision mak-
ing that benefits all residents.
11.Human Oversight and Accountability:
• Maintain human oversight in AI-assisted systems, prioritizing resident well-being
over algorithmic predictions.
• Establish clear accountability measures for decisions made by or influenced by AI
systems.
12.Accessibility:
• Design the system to be accessible for residents with disabilities, incorporating
features like screen readers, voice commands, and large font options.
• Consider integrating assistive technologies like voice-activated controls or smart
home devices with accessibility features.

14
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 workhas 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.

15
System Development of 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.

16
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:

1. Identify and validate an opportunity to improve business accomplishments of the


organization or a deficiency related to a business need.
2. Identify significant assumptions and constraints on solutions to that need.
3. Recommend the exploration of alternative concepts and methods to satisfythe
need including questioning the need for technology, i.e., will a change in the
business process offer a solution?
4. 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.
5. 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.

17
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:

1. Determine the feasibility and appropriateness of the alternatives.


2. Identify system interfaces.
3. Identify basic functional and data requirements to satisfy the business need.
4. Establish system boundaries; identify goals, objectives, critical success factors,
and performance measures.
5. Evaluate costs and benefits of alternative approaches to satisfy the basic
functional requirements
6. Assess project risks
7. 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.
8. 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.
9. Construction of executable prototypes is encouraged to evaluate
technologyto support the business process. The System Boundary Document
serves as an important reference document to support the Information
Technology Project Request (ITPR) process.
10.The ITPR must be approved by the State CIO before the project can move
forward.

18
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.

19
A Project Management Plan is created with components related to acquisition
planning, configuration management planning, quality assurance planning,
conceptof 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 the
Requirements Document,
• 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.

20
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 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 identifyand 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:
1. Identifying potential risks and defining mitigating design features.
2. Performing a security risk assessment.
3. Developing a conversion plan to migrate current data to the new system.
4. Determining the operating environment.
5. Defining major subsystems and their inputs and outputs.
6. Allocating processes to resources.
7. 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.

21
8. Preparing detailed logic specifications for each software module. The result
is a draft System Design Document which captures the preliminary design
for the system.
9. 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 involve converting design specifications into executable
programs. Effective development standards include requirements thatprogrammers
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-orientedprograms 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.

22
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 toinstallation/implementation.

Multiple levels of testing are performed, including:


1. Testing at the development facility by the contractor and possibly supported by
end users
2. Testing as a deployed system with end users working together with contract
personnel
3. 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.

23
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.

24
REQUIREMENTS
HARDWARE SPECIFICATION (minimum requirements):
 CPU : AMD A6-7310 APU
 RAM : 4 GB
 Hard Disk : 20 KB
 Monitor : Generic PnP Monitor
 Keyboard : Standard PS/2 Keyboard
 Motherboard : AMD
 Speed : 2.00 GHZ

SOFTWARE SPECIFICATION (minimum requirements):

 Operating System : Platform Independent


 Front End : Command Prompt
 Back End : Python 3.0 Interpreter, MySQL 8.0
 Tools: IDLE

25

You might also like