Professional Documents
Culture Documents
It is indeed a great pleasure to express our thanks and gratitude to all those who helped us during this
project. This project has given us a nice opportunity to think, implement and interact with various
aspects of the Software Development Life Cycle. We would like to acknowledge all the people who
have helped us at one stage or another by providing the much needed support, encouragement and
groundwork to complete our project during the specific schedule.
We express a deep sense of gratitude towards our guide GuideName towards their innovative
ideas and earnest effort to make our project a success. It is their sincerity that prompted us throughout
the project to do hard work using the industry adopted technologies. Our commitment to the
application is a result of patience, hard work and dedication as inspired by them.
Furthermore, this project has given us very good practical knowledge and we learnt a lot and
got good training to use my knowledge and expertise for very practical use in the industry and society.
We am very thankful to all those who have directly or indirectly helped me towards completion of the
project.
Software project estimation in today’s era may result in companies profit and loss, thus a small error in
estimating have very large impact on project and company itself. But then too it’s also true that
estimation can never be exact particularly in software we have many variables – human, technical,
environmental, political etc.
The cost estimation model is concerned with the representation of the process to be estimated. Before
project cost estimation project scope, modules and delay estimation must be done. Here we have user
COCOMO – Cost Constructive Model for the estimation of the project cost. COCOMO is the
hierarchy of cost estimation models those ranges from very large complex project to in house
development by inexperienced developers. Among the range of the COCOMO models we have used
the semidetached intermediate model of it.
The Intermediate COCOMO models with their co-efficient are given below
The Equations for the Intermediate model of the COCOMO is given below
Efforts = 2.4(KLOC) * Total effort multiplier
T DEV (Time for Development) = 2.5(Efforts) * Total effort multipliers
COST ANALYSIS
Total cost of the project including resources and labors. Labor cost should be broken down into the
areas of design, analysis, prototype construction, software development, hardware-software
integration, testing, design modifications and documentation. A cost analysis is NOT a tabulation of
your expenditure
Group Dependencies
Gantt Chart
PERT Chart
Prepare project Analysis of project
proposal
Created design
Understand basic fun- fundamentals
-ctionality of Python
1 Feb 10 10Feb
1 Jan 4 31Jan ‘22 days ‘22
‘22 wks ‘22
Created backup and Created groups and Created Front End and Created main UI, created
restore functionality connect them to database combined to database tables for contacts
Documentation of the
project FINISH
25 Apr 2022
1 Apr 4 25Apr
‘22 wks ‘22
The new system is managed by the Python Django, which are user friendly windows for every user and for maintaining
the database MySQL is used.
The new system is highly secured, because for login the system it requires the username and password which is different
for each department therefore providing each department a different view of the customer information.
It provides wide range of certain criteria in each window the client is working for better and quicker solution.
It maintains report for all criteria and transactions.
Manages member information separately for all exercise and employee information separately for considering the
requirements of centre.
Stores information about regular products.
This system can run on any windows operating system.
o Home
o About Us
o Online Courses
o Camps
o Teacher Training Courses
o Gallery
o Centres
o Articles
o Shop
o Donate/Charity
o Books/Publications
Feasibility Study
Technical Feasibility
Technical analysis evaluates technical merits of the system at the same time collects additional
information about performance, reliability, maintainability and productivity. The technical feasibility
means that the project can be done with the current equipment, existing software technology and the
current knowledge. The present system is technically feasible as it developed on Python Django. These
are currently used for development which altogether makes our system technically feasible. All the
resources needed for the development as well as the maintenance is easily available on internet like
Python 3 and Django.
The project has simple working and the basic requirement can be satisfied within the allotted time
period. So, the project is feasible and can be completed before the deadline.
Operational Feasibility
Operation feasibility deals with the acceptance of the users and their willingness to use the system. The
Yoga Hut application is helpful in the current situation. There is never been a decrease in demand of
books so it will be great for all users.
Implementation Feasibility
Implementation feasibility is concerned with specifying external resources and software that will
successfully satisfy the requirements. This system is built in Python Technology as an web application.
As many android applications are available for different use so system is feasible for implementing.
Module Descriptions
Login Form – the login form will be used by the administrator, Trainer, yoga centre instructors and
Reg-User of the yoga centre to access their respective accounts.
Administrator can:
Manage user accounts (CRUD – create, update, and delete)
Manage reg. user type (CRUD – create, update, and delete)
Manage member information (CRUD – create, update, and delete), approve and disapprove the
application
Manage yoga centre instructor information (CRUD – create, update, and delete), activate and
deactivate the account
Manage promotional material (upload banners and videos for promotion and advertisement
purposes)
Manage yoga and yoga plan information (CRUD – create, update, and delete)
Manage payment (accept and void payments)
Perform database and system maintenance
Trainer can:
Encode member information
Encode yoga and yoga plan information
Accept payment
Implementation
Implementation Environment
Our project is suitable to all type of users like single and multi-users.
Multi users are allowed to operate the website at the same time.
We provide the interface which is user friendly.
We have GUI (graphical user interface) by which all type of users can easily access the
application.
One user at a time and also multi users can access the website at the same time and use all the
services.
If we don’t provide the GUI in the website then user won’t like our website.
For better performance and reliability, we have to include GUI in the website
So, for the more security and performance we have to use the GUI.
Password Protection:
Every user who is to be allowed to access the portal is given his own username and password
and given his own access rights so that only authorized and authenticated users can access the
project.
Confidentiality:
We provide confidentiality to all the users.
In that one user cannot access the data of the other users.
For that we provide one key to each user to secure its data.
Scalability:
We provide the scalable website to make sure that every user can access the website in a proper
order.
User likes those type of website which are in one particular order that user cannot wait for the
usage of the services.
Coding Standards
Every company follows a different coding standard based on their best practices.
Coding standard is required because there may be many developers working on different
modules so if they will start inventing their own standards then source will become very
unmanageable and it will become difficult to maintain that source code in future.
Coding Standards
Naming Convention
Classname in PascalCase
Indentation/Space
Use 4 spaces for indentation(Python 3 disallows mixing the use of tabs and spaces for indentation)
Separate top level function and classes with two blank lines
Imports
Avoid import *
Migrations
Do not modify the files created by makemigration command(do not add custom sql command)
Place custom sql command if needed in a separate file and do not mix it with the auto generated
files from makemigration command
Forward and backward migration work only on auto generated files by makemigration command
Forward Migration
Backward Migration
201 Created — Success — POST — provide status message or return newly created object
400 Bad Request — Failure — GET/PUT/POST — invalid request, return error messages
405 Method Not Allowed Failure — Failure — ALL — An invalid HTTP method was attempted
App Structure
project/
gitignore
README.md
docs/
requirements/
local.txt
qa.txt
prod.txt
base.txt
project/
settings/
base.py //copy of original settings.py
qa.py
local.py
prod.py
urls.py
wsgi.py
settings_default.py //renamed settings->settings_default
app1/
app2/
v1/
api.py // entry point , not much logic
service.py // all business logic
util.py // any helper
test/
migrations/
admin.py
models.py
apps.py
urls.py
views.py
utils/
service/
helper/
Tools/Extra
Documentation — Swagger
Testing — pytest
IDE — sublime,vim,pycharm
Debug — pdb
References
https://www.python.org/dev/peps/pep-0008/
https://google.github.io/styleguide/pyguide.html
https://www.chromium.org/chromium-os/python-style-guidelines
http://doc.pytest.org/en/latest/
Testing
The Test Plan document on the other hand, is derived from the YogaTraining Description, Software
Requirement Specification, or Use Case Documents.
The Test Plan document is usually prepared by the Test Lead or Test Manager and the focus of the
document is to describe what to test, how to test, when to test and who will do what test.
It is not uncommon to have one Master Test Plan which is a common document for the test phases and
each test phase has their own Test Plan documents. There is much debate, as to whether the Test Plan
document should also be a static document like the Test Strategy document mentioned above or should
it be updated every often to reflect changes according to the direction of the project and activities. Our
own personal view is that when a testing phase starts and the Test Manager is “controlling” the
activities, the test plan should be updated to reflect any deviation from the original plan. After all,
Planning and Control are continuous activities in the formal test process.
Test Plan id
Introduction
Test items
Features to be tested
Features not to be tested
Test techniques
Testing tasks
Suspension criteria
Features pass or fail criteria
Test environment (Entry criteria, Exit criteria)
Test deliverables
Trainer/ YogaMember and training needs
Responsibilities
Schedule
This is a standard approach to prepare test plan and test strategy documents, but things can vary
company-to-company.
Status: Pass
Table: View Members
Test Engineer: Name of the person who is testing the module.
Date: 01-04-2022
Purpose: Delete Member
Pre Req: Admin logged in
Test Data: User Name and Password(Kuldeep, Kuldeep007)
· Enter User Name
· Enter Password
· Click on view users
Steps:
· Click on delete
Status: Pass
Table: Delete Members
Test Engineer: Name of the person who is testing the module.
Date: 01-04-2022
Purpose: View Messages
Pre Req: Admin logged in
Test Data: User Name and Password(Kuldeep, Kuldeep007)
· Enter User Name
Steps:
· Enter Password
Click on Message Box to view message
Status: Pass
Table: View Messages
Test Engineer: Name of the person who is testing the module.
Date: 01-04-2022
Purpose: Delete Messages
Pre Req: Admin logged in
Test Data: User Name and Password(Kuldeep, Kuldeep007)
· Enter User Name
· Enter Password
· Click on the message box
Steps:
· Click on delete
Status: Pass
Table: Delete Message
TEST CASES
Test case ID - The test case id must be unique across the application
Test case description - The test case description must be very brief.
Test prerequisite - The test pre-requisite clearly describes what should be present in the system,
before the test can be executes.
Test Inputs - The test input is nothing but the test data that is prepared to be fed to the system.
Test steps - The test steps are the step-by-step instructions on how to carry out the test.
Expected Results - The expected results are the ones that say what the system must give as output or
how the system must react based on the test steps.
Actual Results – The actual results are the ones that say outputs of the action for the given inputs or
how the system reacts for the given inputs.
Pass/Fail - If the Expected and Actual results are same then test is Pass otherwise Fail.
The test cases are classified into positive and negative test cases. Positive test cases are designed to
prove that the system accepts the valid inputs and then process them correctly. Suitable techniques to
design the positive test cases are Specification derived tests, Equivalence partitioning and State-
transition testing. The negative test cases are designed to prove that the system rejects invalid inputs
and does not process them.
Suitable techniques to design the negative test cases are Error guessing, Boundary value analysis,
internal boundary value testing and State-transition testing. The test cases details must be very clearly
specified, so that a new person can go through the test cases step and step and is able to execute it. The
test cases will be explained with specific examples in the following section.
For example consider online shopping application. At the user interface level the client request the web
server to display the YogaTraining details by giving email id and Username. The web server processes
the request and will give the response. For this application we will design the unit, Integration and
system test cases.
We have enjoyed a lot in our project “Yoga Hut” and special thanks to our internal guide
GuideName who had helped us a lot in our project analysis. The YogaHut is highly secured, because
for login the system it requires the username and password which is different for each department
therefore providing each department a different view of the customer information. It provides wide
range of certain criteria in each window the client is working for better and quicker solution. It
maintains report for all criteria and transactions. Manages member information separately for all
exercise and employee information separately for considering the requirements of centre Stores
information about regular products
DISCUSSION
A.1Abbreviations
HTTP : Hyper Text Transfer Protocol
URL :Uniform Resource Locator
A.2Bibliography
A.3Referred websites:
www.w3schools.com
www.tutorialspoint.com
https://www.tutorialspoint.com/django/index.htm
https://www.edureka.co/blog/django-tutorial/