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

dinesh_python_report (1)

The micro-project 'Use of Inheritance in Python' focuses on developing a tool for efficient image resizing, enhancing usability and accessibility in various applications. It encompasses a structured methodology including requirement gathering, function definition, GUI design, and rigorous testing, while addressing key course outcomes related to Python programming. The project aims to empower users with a user-friendly interface for image manipulation, fostering skills in coding, teamwork, and problem-solving.

Uploaded by

om2123patil
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
4 views

dinesh_python_report (1)

The micro-project 'Use of Inheritance in Python' focuses on developing a tool for efficient image resizing, enhancing usability and accessibility in various applications. It encompasses a structured methodology including requirement gathering, function definition, GUI design, and rigorous testing, while addressing key course outcomes related to Python programming. The project aims to empower users with a user-friendly interface for image manipulation, fostering skills in coding, teamwork, and problem-solving.

Uploaded by

om2123patil
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 7

Annexure – I

Micro-Project Proposal

Inheritance in Python
1.0 Aims/Benefits of the Micro-Project
The micro-project "Use of Inheritance in Python using Python" aims to provide a
lightweight and efficient solution for resizing images. Its benefits include streamlining image
processing tasks, optimizing file sizes for web applications, and facilitating seamless
integration into various projects. This project empowers users to easily manipulate image
dimensions, enhancing accessibility and usability in diverse applications.

2.0 Course Outcomes Addressed


a) Display message on screen using Python script on IDE.
b) Develop python program to demonstrate use of Operators
c) Perform operations on data structures in Python.
d) Develop functions for given problem.
e) Design classes for given problem.
f) Handle exceptions.

3.0 Project Methodology


The Use of Inheritance in Python micro-project follows a structured methodology to ensure
systematic development. The process initiates with requirement gathering, where the
project specifications are delineated. Subsequently, the functions of the Use of Inheritance
in Python are defined, outlining the key features and capabilities.

Following this, the data-design phase involves planning the data structures and algorithms
necessary for efficient image resizing. The graphical user interface (GUI) design phase
focuses on creating an intuitive and user-friendly interface, considering aspects such as
layout and user interaction.

Implementation involves coding the image resizing functions in Python, utilizing libraries
like Pillow for image processing. Rigorous testing is conducted to validate the functionality
and identify potential bugs. The project is iteratively refined based on testing outcomes.

Documentation is a pivotal aspect, ensuring clear and comprehensive guidelines for users
and developers. The final phase involves deployment, making the Use of Inheritance in
Python accessible for users to streamline their image manipulation tasks. Throughout the
entire process, collaboration and feedback loops are maintained to enhance the project's
effectiveness and address any evolving requirements.

MET’s Institute of Technology, Polytechnic, Nashik 1


4.0 Action Plan
Planned
Sr. Planned Name of Responsible
Details of activity Finish
No. Start Date Team Member
Date
Information Gathering and Topic
1 Om Patil
Finalization
Preparing Project Proposal and
2 Om Patil
Approval
3 Implementing Project Om Patil

4 Preparing Project Report Om Patil

5 Presenting Project Om Patil

6 Submission of Project and Report Om Patil

5.0 Resource Required


Sr.
Name of Resource/Material Specifications Qty. Remarks
No.
Computer System
01 Intel i5, 8 GB RAM 01
(Desktop/Laptop)
02 Development Package Python 3.12.2, 01

03 Editor VS Code 01

Names of Team Members with Roll Nos.


Roll No Enrollment No Name of Team/Group member
73 23611470241 Patil Om Sharad

(to be approved by the concerned teacher)


Approved by

( )
Prof. S.P. Kholambe

Annexure – II

MET’s Institute of Technology, Polytechnic, Nashik 2


Micro-Project Report

Inheritance in Python

1.0 Rationale
The Use of Inheritance in Python project holds paramount importance by providing a
versatile solution for users to efficiently resize images. Streamlining image manipulation
tasks, optimizing file sizes, and enhancing accessibility, it serves as a crucial tool for various
applications, contributing to improved efficiency and user experience.

2.0 Course Outcomes Addressed


a) Display message on screen using Python script on IDE.
b) Develop python program to demonstrate use of Operators
c) Perform operations on data structures in Python.
d) Develop functions for given problem.
e) Design classes for given problem.
f) Handle exceptions.

3.0 Literature Review

Inheritance is a core concept in Python's object-oriented programming (OOP)


paradigm, enabling the creation of hierarchical relationships between classes. At its essence,
inheritance facilitates code reuse and promotes a structured approach to software design.
In Python, inheritance is implemented through class definitions, where a subclass inherits
attributes and methods from a superclass. This mechanism allows for the establishment of a
hierarchy wherein classes at higher levels encapsulate more generalized behavior, while
subclasses can refine and specialize this behavior to suit specific requirements.

One of the primary advantages of inheritance is code reusability. By defining common


attributes and methods in a superclass, developers can avoid duplicating code across
multiple classes. This not only reduces redundancy but also enhances maintainability, as
changes made to the superclass automatically propagate to its subclasses. Consequently,
inheritance fosters modularization and abstraction, enabling developers to focus on
implementing unique functionality in subclasses without concerning themselves with
repetitive boilerplate code.

Moreover, inheritance facilitates the organization of code into a logical hierarchy, reflecting
the relationships between different entities in a system. Superclasses typically encapsulate
more general or abstract concepts, serving as blueprints for more specialized subclasses.
This hierarchical structure enhances code comprehension and scalability, as it provides a
clear roadmap for extending and modifying the functionality of existing classes. By adhering

MET’s Institute of Technology, Polytechnic, Nashik 3


to established inheritance hierarchies, developers can navigate complex codebases more
effectively and make informed decisions about class design and implementation.

Inheritance also enables polymorphism, a fundamental principle of OOP that allows objects
of different classes to be treated uniformly. Polymorphism allows subclasses to override
methods inherited from superclasses, providing customized behavior while maintaining a
consistent interface. This flexibility enables developers to write code that operates on
objects of a superclass type, without needing to know the specific subclass at runtime.
Consequently, inheritance fosters modularity and extensibility, allowing for the creation of
robust, adaptable software systems.

However, it's essential to exercise caution when designing inheritance hierarchies, as


improper use can lead to overly complex or tightly coupled code. Care should be taken to
ensure that inheritance relationships accurately reflect the underlying domain model and
that subclasses adhere to the "is-a" relationship with their superclasses. Additionally,
developers should be mindful of potential pitfalls such as method name clashes, excessive
coupling between classes, and the inheritance of unnecessary attributes or methods. By
adhering to best practices and leveraging inheritance judiciously, developers can harness its
power to create elegant, maintainable, and flexible Python codebases.

4.0 Actual Methodology Followed

1. Requirement Gathering:
 Identified the need for a versatile Use of Inheritance in Python tool to streamline
image manipulation tasks.
 Collected user requirements through surveys and feedback, emphasizing the desire
for a simple yet effective interface.
2. Function Description:
 Defined the core functions of the Use of Inheritance in Python:
 open_image(): Opens a file dialog for image selection and displays the chosen
image.
 display_image(img): Updates the Tkinter label with the displayed image, handling
creation or update scenarios.
 resize_image(): Resizes the opened image based on user-input width and height,
displaying the resized image.
3. Data Design:
 Utilized the PIL library's Image class to represent and manipulate images efficiently.
 Employed global variables for image and label references to ensure accessibility
across functions.
4. GUI Design:
 Adopted the tkinter library for GUI development.

MET’s Institute of Technology, Polytechnic, Nashik 4


 Designed a simple interface with a "Open Image" button, entry widgets for width
and height, and a "Resize" button.
 Implemented responsive design to handle user inputs and display the results.
5. Software Engineering Approach:
 Followed an iterative and collaborative development approach, incorporating
feedback at each stage.
 Conducted regular code reviews and testing to identify and address issues
promptly.
 Encouraged modular coding practices for better maintainability.
6. Analysis:
 Regular testing and user feedback sessions facilitated continuous improvement.
 Identified and addressed issues related to image handling, ensuring a seamless
user experience.
 Analyzed user interactions to enhance the intuitiveness of the GUI.
By adhering to a software engineering approach, the team successfully navigated through
requirement gathering, function description, data design, and GUI design stages, ensuring
the creation of a robust and user-friendly Use of Inheritance in Python tool.

Planned
Sr. Planned Name of Responsible
Details of activity Finish
No. Start Date Team Member
Date
Information Gathering and Topic
1 Om Patil
Finalization
Preparing Project Proposal and
2 Om Patil
Approval
3 Implementing Project Om Patil

4 Preparing Project Report Om Patil

5 Presenting Project Om Patil

6 Submission of Project and Report Om Patil

5.0 Actual Resources Used (Mention the actual resources used)


Sr.
Name of Resource/Material Specifications Qty. Remarks
No.
Computer System
1 Intel i5, 8GB RAM 1
(desktop/laptop)
2 Editor VS Code 1

3 Development Package Python 3.12.2 1

6.0 Skill Developed/Learning outcomes of this Micro-Project


1) Learned to manipulate images effectively using Python's PIL library.

MET’s Institute of Technology, Polytechnic, Nashik 5


2) Developed the ability to create user-friendly interfaces with tkinter.
3) Practiced collaborative coding for improved teamwork and code quality.
4) Enhanced problem-solving skills via thorough testing and bug resolution.

7.0. Application of this Micro-Project


The Use of Inheritance in Python micro-project applies image processing and GUI
development skills to create a user-friendly tool, streamlining image resizing tasks. It serves
as a practical solution for efficiently adjusting image dimensions with a simple and intuitive
interface.

MET’s Institute of Technology, Polytechnic, Nashik 6


Annexure - IV
Micro-Project Evaluation Sheet
Name of Student: Patil Om Sharad Enrollment No: 23611470241
Name of Programme:Computer Engineering (CO) Semester: Sixth
Course Title: Programming With Python Code: 22616 Title of
the Micro-Project: Inheritance in Python
Course Outcomes Achieved:-
a) Display message on screen using Python script on IDE.
b) Develop python program to demonstrate use of Operators
c) Perform operations on data structures in Python.
d) Develop functions for given problem.
e) Design classes for given problem.
f) Handle exceptions.

Sr. Characteristics to be Poor Average Good Excellent Sub-


No. assessed (Marks 1-3) (Marks 4-5) (Marks 6-8) (Marks 9-10) Total
(A) Process and Product Assessment (Convert above total marks out of 6 Marks)
1 Relevance to the course
Literature Review/
2
Information Collection
Completion of the Target
3
as per Project Proposal
Analysis of Data and
4
Representation
Quality of
5
Prototype/Model
6 Report Preparation
(B) Individual Presentation/Viva (Convert above total marks out of 4 Marks)
7 Presentation
8 Viva
(A) Process and Product Assessment (B) Individual Presentation/Viva Total Marks
(6 Marks) (4 Marks) (10 Marks)

Comments/Suggestions about team work/leadership/inter-personal communication (if any)

Name and Designation of the Teacher: Prof. S.P. Kholambe

Dated Signature:

MET’s Institute of Technology, Polytechnic, Nashik 7

You might also like