Uploaded by Ritheeshkar R

mall project

advertisement
A K V P U BL I C S C H O O L
SENIOR S E C O N D A R Y - C B S E
SURIYAGOUNDAMPALAYAM,
M A L L A S A M U D R A M – 6 3 7 5 0 3 , NAMAKKAL(Dt.)
A P R O J E C T REPORT
ON
MALL MANAGEMENT SYSTEM
s UBMITTED
BY
N A M E & REGISTER. NO
: ……………………………………………………
N A M E & REGISTER. NO
: ……………………………………………………
N A M E & REGISTER. NO
: ……………………………………………………
C L A S S - XII
C O M P U T E R S C I E N C E - C O D E NO. 0 8 3
A I S S C E P R A C T I C A L EXAMINATION
2 0 2 3 -2024
A K V P U BL I C S C H O O L
SENIOR S E C O N D A R Y - C B S E
SURIYAGOUNDAMPALAYAM,
M A L L A S A M U D R A M – 6 3 7 5 0 3 , NAMAKKAL(Dt.)
A I S S C E P R A C T I C A L EXAMINATION
PROJECT REPORT
CO M P UTER S C I E N C E - C O D E NO. 0 8 3
2023 – 2024
CLASS
- xII
MALL MANAG E MENT SYSTEM
REGISTER. NO
:
………………………………………………………
NAME
:
………………………………………………………
CLASS
:
………………………………………………………
S U B J E C T NAME
:
………………………………………………………
A K V P U BL I C S C H O O L
SENIOR S E C O N D A R Y - C B S E
SURIYAGOUNDAMPALAYAM,
M A L L A S A M U D R A M – 6 3 7 5 0 3 , NAMAKKAL(Dt.)
CERTIFICATE
REGISTER. NO
:
………………………………………………………
NAME
:
………………………………………………………
CLASS
:
………………………………………………………
Certified that this project report on…………………………………… is the bonafide work
done by the above student of CLASS XII for the fulfillment of AISSCE
PRACTICAL EXAMINATION during the academic year 2023-2024 and
carried out the project work under my supervision.
Date :
Signature of The Subject Teacher
Submitted for the Board of Senior Secondary Practical Examination
held on ………………
Internal Examiner
External Examiner
Signature of The Principal
ACKNOWLEDGEMENT
The success of the project depends largely on the encouragement and
guidelines of many others. I take this opportunity to express my gratitude to
the people who have been instrumental in the successful completion of this
project.
I express deep sense of gratitude to almighty God for giving me strength for
the successful completion of the project.
I am very much pleased to express my gratitude to our Correspondent
Mr. M. ARUMUGAM for giving me opportunity to study Senior Secondary –
CBSE in the AKV Public School and their valuable advice, suggestion and
encouragement during the course of the study.
I am very much pleased to express my gratitude to our Principal Mr.
P.PALANIVEL, AKV Public School, Senior Secondary – CBSE, Namakkal, who
has been continuously motivating and extending their helping hand to us.
I express my thanks to our project guide Mr.F.CHINNAPPAN PREMKUMAR,
PGT Computer Science for guiding us each and every stage of this project.
The guidance and support received from all the members who contributed
and who are contributing to this project, was vital for the success of the
project. i am grateful for their constant support and help.
TABLE OF CONTENTS
S.NO
DESCRIPTION
1.
INTRODUCTION
2.
OBJECTIVES OF THE PROJECT
3.
SYSTEM ANALYSIS
4.
FEASIBILITY STUDY
5.
PROPOSED SYSTEM
6.
SYSTEM DESIGN
7.
SYSTEM IMPLEMENTATION
8.
SYSTEM DEVELOPMENT LIFE CYCLE
9.
SYSTEM REQUIREMENTS
10.
SOURCE CODE
11.
OUTPUT
12.
SYSTEM TESTING
13.
SOFTWARE MAINTENANCE
14.
CONCLUSION AND FUTURE SCOPE
15.
BIBLIOGRAPHY
PAGE NO
1.INTRODUCTION
Shopping Cart is an online store that enables website owners to sell their product online. It is a
web shopping cart that web enables the day-day sales functions. The System helps the Customer to
purchase the products with and without Credit – Card Information. It includes sophisticated product and
customer management modules. This website will be useful to anyone who wants to purchase items
using internet. Generates the Reports related to the system. This system is developed as our company
requirements.
Shopping Cart is a very important feature used in e-commerce to assist
people making purchases any products online. This project deals with developing an e-commerce
website for online different types of products. It provides the user with a catalog of different types of
products available for purchase in the store. In order to facilitate online purchase a shopping cart
is provided to the user.
The Shopping Cart project has been developed to allow business grows
larger and faster. This site will let customers to view and order products online from any part of
the world. The site sells different types of. Under this website many products and services can be
ordered.
The Shopping Cart is expanded permanently through new products and services in order to offer
a product portfolio corresponding to the market. Private customer and business customers can order the
selected products of the Shopping Cart Service online quickly and comfortably
2. OBJECTIVES OF THE PROJECT
The objective of this project is to let the students apply the programming knowledge into a realworld situation/problem and exposed the students how programming skills helps in developing a good
software.
1. Write programs utilizing modern software tools.
2. Apply object-oriented programming principles effectively when developing small to
medium sized projects.
3. Write effective procedural code to solve small to medium sized problems.
4. Students will demonstrate a breadth of knowledge in computer science, as exemplified in
the areas of systems, theory and software development.
5. 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.
3.SYSTEM ANALYSIS
Systems analysis is a process of collecting factual data, understand the processes involved,
identifying problems and recommending feasible suggestions for improving the system functioning.
This involves studying the business processes, gathering operational data, understand the information
flow, finding out bottlenecks and evolving solutions for overcoming the weaknesses of the system so
as to achieve the organizational goals. System Analysis also includes sub dividing of complex process
involving the entire system, identification of data store and manual processes.
The major objectives of systems analysis are to find answers for each business process: What is being
done, how is it being done, who is doing it, when is he doing it, why is it being done and how can it
be improved? It is more of a thinking process and involves the creative skills of the System Analyst.
It attempts to give birth to a new efficient system that satisfies the current needs of the user and has
scope for future growth within the organizational constraints. The result of this process is a logical
system design. Systems analysis is an iterative process that continues until a preferred and acceptable
solution emerges.
System analysis and design is a process that many companies use toevaluate particular business
situations and develop ways to improve them through more optimal methods. Companies may use this
process to reshape their organization or meet business objectives related to growth and profitability.
System analysis and design also typically emphasize how systems act, their relationships to other
subsystems and the ability of both
to meet a specific goal. This often involves analyzing a system's performance and the quality of its
output.
System analysis refers to the process of gathering data, interpreting information, identifying issues and
using the results to recommend or develop possible system improvements. During this stage,
companies may also evaluate future business needs and how improvements may answer them. System
design involves the process in which an organization, in an appropriate situation, develops a newer
system or strategy to complement or replace an existing one. This design and development cycle
includes planning, analysis, design, implementation and maintenance.
The most common benefit of system analysis and design is improving upon a previous system and
enjoying increased operational efficiency. Here's a list of other benefits you and your employing
organization may enjoy from this practice:
•
Enabling comprehension of complicated structures
•
Allowing for better management of any business changes
•
Aligning the organization with its environment and strategic priorities
•
Minimizing IT issues and reducing the workload of IT employees
•
Reducing costs in certain areas, saving the organization money and
use in other departments
•
Identifying potential risks and threats to the processes before they arise
•
Improving the overall quality of the system
•
Improving the usability of the system by employees
•
Increasing productivity and customer satisfaction
resources for
4. FEASIBILITY STUDY
Feasibility Study in Software Engineering is a study to evaluate feasibility of proposed project
or system. Feasibility study is one of stage among important four stages of Software Project
Management Process. As name suggests feasibility study is the feasibility analysis or it is a measure
of the software product in terms of how much beneficial product development will be for the
organization in a practical point of view.
Feasibility study is carried out based on many purposes to analyze whether software product
will be right in terms of development, implantation, contribution of project to the organization etc.
TYPES OF FEASIBILITY STUDY.
The feasibility study mainly concentrates on below five mentioned areas. Among these
Economic Feasibility Study is most important part of the feasibility analysis and Legal Feasibility
Study is less considered feasibility analysis.
•
Technical Feasibility.
•
Operational Feasibility.
•
Economic Feasibility.
•
Legal Feasibility.
•
Schedule Feasibility.
TECHNICAL FEASIBILITY.
In Technical Feasibility current resources both hardware software along with required
technology are analyzed/assessed to develop project. This technical feasibility study gives report
whether there exists correct required resources and technologies which will be used for project
development.
Along with this, feasibility study also analyzes technical skills and capabilities of technical
team, existing technology can be used or not, maintenance and up-gradation is easy or not for chosen
technology etc.
OPERATIONAL FEASIBILITY.
In Operational Feasibility degree of providing service to requirements is analyzed along with
how much easy product will be to operate and maintenance after deployment. Along with these other
operational scopes are determining usability of product, determining suggested solution by software
development team is acceptable or not etc.
ECONOMIC FEASIBILITY.
In Economic Feasibility study cost and benefit of the project is analyzed. Means under this
feasibility study a detail analysis is carried out what will be cost of the project for development which
includes all required cost for final development like hardware and software resource required, design
and development cost and operational cost and so on. After that it is analyzed whether project will be
beneficial in terms of finance for organization or not.
LEGAL FEASIBILITY.
In Legal Feasibility study project is analyzed in legality point of view. This includes analyzing
barriers of legal implementation of project, data protection acts or social media laws, project
certificate, license, copyright etc. Overall, it can be said that Legal Feasibility Study is study to know
if proposed project conforms legal and ethical requirements.
SCHEDULE FEASIBILITY.
In Schedule Feasibility Study mainly timelines/deadlines is analyzed for proposed project
which includes how many times teams will take to
complete final project which has a great impact on the organization as purpose of project may fail if
it can’t be completed on time.
FEASIBILITY STUDY PROCESS.
The below steps are carried out during entire feasibility analysis.
•
Information assessment
•
Information collection
•
Report writing
•
General information
NEED OF FEASIBILITY STUDY.
Feasibility study is so important stage of Software Project Management Process as after
completion of feasibility study it gives a conclusion of whether to go ahead with proposed project as
it is practically feasible or to stop proposed project here as it is not right/feasible to develop or to
think/analyze about proposed project again.
Along with this Feasibility study helps in identifying risk factors involved in developing and
deploying system and planning for risk analysis also narrows the business alternatives and enhance
success rate analyzing different parameters associated with proposed project development.
5. PROPOSED SYSTEM
The proposed system for Mall Management System designed Python with MySQL project helps
them to understand the different techniques of database but also helps them to understand the business
rules, software needs to follow. The Mall Management System project as simple as we can. Whole
Database is divided and stored in two main tables,
They are Bill and Product, MySQL tables – Bill and Product Table mysql.connector is used to
make connection between Python and MySQL.
The whole code is divided into user-defined Python functions. These functions have been called
from the main menu to generated the initial menu system.
Module of MALL MANAGEMENT SYSTEM
Module Details
1. Add New Item modules used to add items
•
Enter Product Code
•
Enter Product Category [ MEN/WOMEN/KIDS ]
•
Enter Brand Name
•
Enter Product Name
2. Module used Women, Men, Kid section
• ENTER 1 TO BUY
➢ Enter Product CODE
➢ Enter BILL Number
➢ Enter Customer Identification No.
➢ Enter Customer Name
➢ Enter Price
➢ Enter Quantity
➢ Enter Discount Amount ,if any
•
ENTER 0 RETURN TO MAIN MENU
3. MODIFY ITEM module used to modify item
•
Enter Product Code
➢ PRODUCT NAME
➢ PRODUCT CATEGORY
➢ PRODUCT BRAND
•
Enter Your choice
4. SEARCH ITEM module used to Search item
•
Enter Product Code
5. REMOVE ITEM module used to Remove item
• Enter Product Code
1. Product Table Description:
2. Bill Table Description:
Advantages of Proposed System
The system is very simple in design and to implement. The system requires very low system
resources and the system will work in almost all configurations.
It has got following features
•
Ensure data accuracy.
•
Minimize manual data entry.
•
Minimum time needed for the various processing
•
Greater efficiency
•
Better Service
•
Minimum time required
•
It would also help in providing adequate data to the corporation, particularly with
•
regard to inventory details and important points
•
This would help the corporation prepare and organize its schedules more
•
efficiently on the basis of traffic demand.
It would provide data on concessions given to various sections.
6. SYSTEM DESIGN
System design in Software Development is the process of designing the elements of a system
such as the architecture, modules and components, the different interfaces of those components and the
data that goes through that system.
System Analysis is the process that decomposes a system into its component pieces for the
purpose of defining how well those components interact to accomplish the set requirements.
The purpose of the System Design process is to provide sufficient detailed data and information
about the system and its system elements to enable the implementation consistent with architectural
entities as defined in models and views of the system architecture.
Elements of a System
•
Architecture - This is the conceptual model that defines the structure, behavior and
more views of a system. We can use flowcharts to represent and illustrate the
architecture.
•
Modules - This are components that handle one specific tasks in a system. A
combination of the modules makes up the system.
•
Components - This provides a particular function or group of related functions. They
are made up of modules.
•
Interfaces - This is the shared boundary across which the components of the system
exchange information and relate.
•
Data - This the management of the information and data flow.
Major Tasks Performed During the System Design Process
1. Initialize design definition
•
Plan for and identify the technologies that will compose and implement the systems
elements and their physical interfaces.
•
Determine which technologies and system elements have a risk to become obsolete,
or evolve during the operation stage of the system. Plan for their potential
replacement.
•
Document the design definition strategy, including the need for and requirements of
any enabling systems, products, or services to perform the design.
2. Establish design characteristics
•
Define the design characteristics relating to the architectural characteristics and check
that they are implementable.
•
Define the interfaces that were not defined by the System Architecture process or that
need to be refined as the design details evolve.
•
Define and document the design characteristics of each system element.
3. Assess alternatives for obtaining system elements
•
Assess the design options
•
If the decision is made to develop the system element, rest of the design definition
process and the implementation process are used. If the decision is to buy or reuse a
system element, the acquisition process may be used to obtain the system element.
4. Manage the design
•
Capture and maintain the rationale for all selections among alternatives and decisions
for the design, architecture characteristics.
Module of MALL MANAGEMENT SYSTEM
Module Details
1. Add New Item modules used to add items
• Enter Product Code
• Enter Product Category [ MEN/WOMEN/KIDS]
• Enter Brand Name
• Enter Product Name
2. Module used Women, Men, Kid section
• ENTER 1 TO BUY
➢ Enter Product CODE
➢ Enter BILL Number
➢ Enter Customer Identification No.
➢ Enter Customer Name
➢ Enter Price
➢ Enter Quantity
➢ Enter Discount Amount, if any
•
ENTER 0 RETURN TO MAIN MENU
3. MODIFY ITEM module used to modify item
•
Enter Product Code
➢ PRODUCT NAME
➢ PRODUCT CATEGORY
➢ PRODUCT BRAND
• Enter Your choice
4. SEARCH ITEM module used to Search item
• Enter Product Code
5. REMOVE ITEM module used to Remove item
• Enter Product Code
Library used in Mall Management System
• MySQL.Connector module is responsible for making is responsible
for making connection between Python and MySQL
MySQL Tables structures
This project is divided into following main tables:
1.Product,
2. Bill
1.
2.
•
Product table contains the details of product in the mall.
•
Bill table contains the bill information along with its customers.
Product Table Description:
Bill Table Description:
7. SYSTEM IMPLEMENTATION
Systems implementation is a set of procedures performed to complete the design (as necessary)
contained in the approved systems design document and to test, install, and begin to use the new or
revised Information System. systems implementation as the fifth major step in the development of an
Information System. Complete essential the design contained in the systems design document.
Module of MALL MANAGEMENT SYSTEM
Module Details
1. Add New Item modules used to add items
• Enter Product Code
• Enter Product Category [ MEN/WOMEN/KIDS]
• Enter Brand Name
• Enter Product Name
2.Module used Women, Men, Kid section
•
ENTER
➢
➢
➢
➢
➢
➢
➢
•
ENTER 0 RETURN TO MAIN MENU
1 TO BUY
Enter Product CODE
Enter BILL Number
Enter Customer Identification No.
Enter Customer Name
Enter Price
Enter Quantity
Enter Discount Amount, if any
3.MODIFY ITEM module used to modify item
•
•
Enter Product Code
➢ PRODUCT NAME
➢ PRODUCT CATEGORY
➢ PRODUCT BRAND
Enter Your choice
4.SEARCH ITEM module used to Search item
•
Enter Product Code
5.REMOVE ITEM module used to Remove item
•
Enter Product Code
Library used in Mall Management System
• MySQL.Connector module is responsible for making is responsible
for making connection between Python and MySQL
MySQL Tables structures
This project is divided into following main tables:
1.Product,
2. Bill
•
Product table contains the details of product in the mall.
•
Bill table contains the bill information along with its customers.
1. Product Table Description:
2. Bill Table Description:
8. 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, requirementsdefinition, 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, detail as many informational, functional, and 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.
The purpose of the System Concept Development Phase is to:
•
Determine the feasibility and appropriateness of the alternatives.
•
Identify system interfaces and Assess project risks.
•
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
•
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 process.
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 ANALYSISPHASE
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 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 Plan.
The purposes of this phase are to:
•
Further define and refine the functional and data requirements and document them in 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.
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 identify and link larger systems and connections. Contemporary design
techniques often use prototyping tools that build 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 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 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.
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.
Software Maintenance is the process of modifying a software product after it has been
delivered to the customer. The main purpose of software maintenance is to modify and update
software applications after delivery to correct faults and to improve performance.
Software maintenance is also an important part of the Software Development Life Cycle
(SDLC). To update the software application and do all modifications in software application so as
to improve performance is the main focus of software maintenance. Software is a model that run
on the basis of real world. so, whenever any change requires in the software that means the need of
real-world changes wherever possible.
NEED FOR MAINTENANCE.
Software Maintenance must be performed in order to:
•
Correct faults.
•
Improve the design.
•
Implement enhancements.
•
Interface with other systems.
•
Accommodate programs so that different hardware, software, system features, and
telecommunications facilities can be used.
•
Migrate legacy software.
•
Retire software.
•
Requirement of user changes.
•
Run the code fast
CHALLENGES IN SOFTWARE MAINTENANCE:
•
The various challenges in software maintenance are given below:
•
The popular age of any software program is taken into consideration up to ten to fifteen
years. As software program renovation is open ended and might maintain for decades
making it very expensive.
•
Older software programs, which had been intended to paintings on sluggish machines
with much less reminiscence and garage ability cannot maintain themselves tough in
opposition to newly coming more advantageous software program on contemporaryday hardware.
•
Changes are frequently left undocumented which can also additionally reason greater
conflicts in future.
•
As era advances, it turns into high priced to preserve vintage software program.
•
Often adjustments made can without problems harm the authentic shape of the software
program, making it difficult for any next adjustments and There is lack of Code
Comments.
CATEGORIES OF SOFTWARE MAINTENANCE.
Maintenance can be divided into the following:
•
Corrective maintenance:
Corrective maintenance of a software product may be essential either to rectify some
bugs observed while the system is in use, or to enhance the performance of the system.
•
Adaptive maintenance:
This includes modifications and updating when the customers need the product to run
on new platforms, on new operating systems, or when they need the product to
interface with new hardware and software.
•
Perfective maintenance:
A software product needs maintenance to support the new features that the users want
or to change different types of functionalities of the system according to the customer
demands.
•
Preventive maintenance:
This type of maintenance includes modifications and updating to prevent future
problems of the software. It goals to attend problems, which are not significant at this
moment but may cause serious issues in future.
9. SYSTEM REQUIREMENTS
HARDWARE REQUIREMENTS:
Processor
:
Intel Pentium (Any version) or above
RAM
:
512 MB or above
Hard disk
:
SATA 40 GB or above
SOFTWARE REQUIREMENTS:
Operating System
:
Windows 7 or later
Front End Tool
:
Python 2.7.X or Python 3.6.X
Back End Tool
:
MySQL Workbench 5.0.20 or above
10. SOURCE CODE
#*************** AKV PUBLIC SCHOOL ******************
#***************WELCOME TO THE MALL OF EMIRATES***************
################## THE MALL OF EMIRATESI #####################
#*******Designed and Maintained By:
#*******ARVINDARAJ - CLASS XII A - [ 2023-2024]
#*******RITHEESHKAR - CLASS XII A - [ 2023-2024]
import mysql.connector
# GLOBAL VARIABLES DECLARATION
myConnnection =""
cursor=""
userName=""
password =""
pcode=""
#MODULE TO CHECK MYSQL CONNECTIVITY
def MYSQLconnectionCheck ():
global myConnection
global userName
global password
userName = input("\n ENTER MYSQL SERVER'S USERNAME : ")
password = input("\n ENTER MYSQL SERVER'S PASSWORD : ")
myConnection=mysql.connector.connect(host="localhost",user=userName,passwd=password
, auth_plugin='mysql_native_password' )
if myConnection:
print("\n
CONGRATULATIONS
ESTABLISHED !")
cursor=myConnection.cursor()
! YOUR
MYSQL
CONNECTION
HAS
BEEN
cursor.execute("CREATE DATABASE IF NOT EXISTS EMIRATESI")
cursor.execute("COMMIT")
cursor.close()
return myConnection
else:
print("\nERROR ESTABLISHING MYSQL CONNECTION CHECK USERNAME AND
PASSWORD !")
#MODULE TO ESTABLISHED MYSQL CONNECTION
def MYSQLconnection ():
global userName
global password
global myConnection
global cid
global pcode
myConnection=mysql.connector.connect(host="localhost",user=userName,passwd=password,da
tabase="EMIRATESI", auth_plugin='mysql_native_password' )
if myConnection:
return myConnection
else:
print("\nERROR ESTABLISHING MYSQL CONNECTION !")
myConnection.close()
#MODULE FOR MEN'S SECTION
def menSection():
global pcode
if myConnection:
cursor=myConnection.cursor()
print("ITEMS UNDER THE MENS SECTION ARE : ")
sql="SELECT * FROM PRODUCT WHERE PRODUCT_CATEGORY=%s"
cursor.execute(sql,("Men",))
data=cursor.fetchall()
if data:
print(data)
while True:
print("""
ENTER 1 TO BUY
ENTER 0 TO RETURN TO MAIN MENU
""")
choice = int(input("Please Enter Your Choice : "))
if choice == 1 :
item = searchItem()
if item:
cursor=myConnection.cursor()
createTable ="""
CREATE TABLE IF NOT EXISTS BILL(BILL_CODE VARCHAR(10)
PRIMARY KEY ,PRODUCT_CODE VARCHAR(10),CID VARCHAR(10),
CNAME VARCHAR(30), PRICE INT ,QUANTITY INT , DISCOUNT INT
,TOTAL INT );
"""
cursor.execute(createTable)
bnumber=input("\n Enter BILL Number : ")
cid=input("\n Enter Customer Identification No. : ")
cname=input("\n Enter Customer Name : ")
price=int(input("\n Enter Price : "))
quantity=int(input("\n Enter Quantity : "))
discount=int(input("\n Enter Discount Amount, If any) : "))
total = (price * quantity) - discount
sql= "INSERT INTO BILL VALUES(%s,%s,%s,%s,%s,%s,%s,%s)"
values= (bnumber,cid,pcode,cname,price,quantity,discount,total)
cursor.execute(sql,values)
cursor.execute("COMMIT")
print("\n ITEM ADDEDD SUCCESSSFULLY IN YOUR CART !")
cursor.close()
elif choice == 0:
break
else:
print("Sorry ,May Be You Are Giving Me Wrong Input, Please Try Again !!! ")
else:
print("\nSomthing Went Wrong ,Please Try Again !")
#MODULE FOR WOMEN'S SECTION
def womenSection():
global pcode
if myConnection:
cursor=myConnection.cursor()
print("ITEMS UNDER THE WOMEN SECTION ARE : ")
sql="SELECT * FROM PRODUCT WHERE PRODUCT_CATEGORY=%s"
cursor.execute(sql,("Women",))
data=cursor.fetchall()
if data:
print(data)
while True:
print("""
ENTER 1 TO BUY
ENTER 0 TO RETURN TO MAIN MENU
""")
choice = int(input("Please Enter Your Choice : "))
if choice == 1 :
item = searchItem()
if item:
cursor=myConnection.cursor()
createTable ="""
CREATE TABLE IF NOT EXISTS BILL(BILL_CODE VARCHAR(10)
PRIMARY KEY ,PRODUCT_CODE VARCHAR(10),CID VARCHAR(10),
CNAME VARCHAR(30), PRICE INT ,QUANTITY INT , DISCOUNT INT
,TOTAL INT );
"""
cursor.execute(createTable)
bnumber=input("\n Enter BILL Number : ")
cid=input("\n Enter Customer Identification No. : ")
cname=input("\n Enter Customer Name : ")
price=int(input("\n Enter Price : "))
quantity=int(input("\n Enter Quantity : "))
discount=int(input("\n Enter Discount Amount, If any) : "))
total = (price * quantity) - discount
sql= "INSERT INTO BILL VALUES(%s,%s,%s,%s,%s,%s,%s,%s)"
values= (bnumber,cid,pcode,cname,price,quantity,discount,total)
cursor.execute(sql,values)
cursor.execute("COMMIT")
print ("\n ITEM ADDEDD SUCCESSSFULLY IN YOUR CART!")
cursor.close()
elif choice == 0:
break;
else:
print ("Sorry, Maybe You Are Giving Me Wrong Input, Please Try Again!!! ")
else:
print ("\nSomthing Went Wrong, Please Try Again!")
#MODULE FOR KIDS'S SECTION
def kidsSection():
global pcode
if myConnection:
cursor=myConnection.cursor()
print ("ITEMS UNDER THE KIDS SECTION ARE: ")
sql="SELECT * FROM PRODUCT WHERE PRODUCT_CATEGORY=%s"
cursor.execute(sql,("Kids",))
data=cursor.fetchall()
if data:
print(data)
while True:
print ("""
ENTER 1 TO BUY
ENTER 0 TO RETURN TO MAIN MENU
""")
choice = int (input ("Please Enter Your Choice: "))
if choice == 1:
item = searchItem ()
if item:
cursor=myConnection.cursor()
createTable ="""
CREATE TABLE IF NOT EXISTS BILL (BILL_CODE VARCHAR (10)
PRIMARY KEY, PRODUCT_CODE VARCHAR (10), CID VARCHAR (10),
CNAME VARCHAR (30), PRICE INT, QUANTITY INT, DISCOUNT INT,
TOTAL INT);
"""
cursor.execute(createTable)
bnumber=input ("\n Enter BILL Number: ")
cid=input ("\n Enter Customer Identification No.: ")
cname=input ("\n Enter Customer Name: ")
price=int (input ("\n Enter Price: "))
quantity=int (input ("\n Enter Quantity: "))
discount=int (input ("\n Enter Discount Amount, If any): "))
total = (price * quantity) - discount
sql= "INSERT INTO BILL VALUES(%s,%s,%s,%s,%s,%s,%s,%s)"
values= (bnumber,cid,pcode,cname,price,quantity,discount,total)
cursor.execute(sql,values)
cursor.execute("COMMIT")
print ("\n ITEM ADDEDD SUCCESSSFULLY IN YOUR CART!")
cursor.close()
elif choice == 0:
break;
else:
print ("Sorry, Maybe You Are Giving Me Wrong Input, Please Try Again!!! ")
else:
print ("\nSomthing Went Wrong, Please Try Again!")
#MODULE FOR ADDING NEW ITEM
def addItem():
global pcode
if myConnection:
cursor=myConnection.cursor()
createTable ="""
CREATE TABLE IF NOT EXISTS PRODUCT (PRODUCT_CODE VARCHAR (10)
PRIMARY KEY,
PRODUCT_CATEGORY VARCHAR (20), PRODUCT_BRAND VARCHAR (30),
PRODUCT_NAME VARCHAR (30))"""
cursor.execute(createTable)
pcode=input ("\nEnter Product Code: ")
pcategory=input ("\nEnter Product Category [ MEN/WOMEN/KIDS]: ")
pbrand=input ("\nEnter Brand Name: ")
pname=input ("\nEnter Product Name: ")
sql= "INSERT INTO PRODUCT VALUES(%s,%s,%s,%s)"
values= (pcode,pcategory,pbrand,pname)
cursor.execute(sql,values)
cursor.execute("COMMIT")
print ("\nNEW ITEM ADDEDD SUCCESSSFULLY!")
cursor.close()
else:
print ("\nERROR ESTABLISHING MYSQL CONNECTION!")
#MODULE FOR SEARCH AN ITEM
def searchItem():
global pcode
if myConnection:
cursor=myConnection.cursor()
pcode=input ("PLEASE ENTER PRODUCT CODE: ")
sql="SELECT * FROM PRODUCT WHERE PRODUCT_CODE= %s"
cursor.execute(sql,(pcode,))
data=cursor.fetchall()
if data:
print(data)
return True
else:
return False
cursor.close()
else:
print ("\nSomthing Went Wrong, Please Try Again!")
#MODULE FOR MODIFY AN ITEM
def modifyItem ():
global pcode
item = searchItem ()
if item:
if myConnection:
cursor=myConnection.cursor()
print ("PRESS 1 FOR PRODUCT NAME: ")
print ("PRESS 2 FOR PRODUCT CATEGORY: ")
print ("PRESS 3 FOR PRODUCT BRAND: ")
choice=int (input ("Enter Your Choice: "))
if choice==1:
name=input ("ENTER NEW PRODUCT NAME: ")
sql="UPDATE PRODUCT SET PRODUCT_NAME= %s WHERE PRODUCT_CODE
= %s"
cursor.execute(sql,(name,pcode))
cursor.execute("COMMIT")
print ("PRODUCT NAME UPDATED SUCCESSFULLY ")
elif choice == 2:
category=input ("ENTER NEW CATEGORY:")
sql="UPDATE
PRODUCT
SET
PRODUCT_CATEGORY=
%s
WHERE
PRODUCT_CODE= %s"
cursor.execute(sql,(category,pcode))
cursor.execute("COMMIT")
print ("PRODUCT CATEGORY UPDATED SUCCESSFULLY ")
elif choice==3:
brand=input ("ENTER NEW BRAND NAME:")
sql="UPDATE
PRODUCT
SET
PRODUCT_BRAND=
%s
PRODUCT_CODE = %s"
cursor.execute(sql,(brand,pcode))
cursor.execute("COMMIT")
print ("BARND UPDATED SUCCESSFULLY ")
else:
print ("Sorry, maybe You Are Giving Me Wrong Input, Please Try Again!!! ")
else:
print ("\nSomthing Went Wrong, Please Try Again!")
else:
print ("Item Record Not Found, Please Try Again!")
#MODULE FOR DISPLAY INVENTORY
def showInventory ():
if myConnection:
cursor=myConnection.cursor()
sql="SELECT * FROM PRODUCT PRODUCT_CATEGORY"
cursor.execute(sql)
data=cursor.fetchall()
if data:
print(data)
return True
WHERE
else:
return False
cursor.close()
else:
print ("\nSomthing Went Wrong, Please Try Again!")
#MODULE TO REMOVE AN ITEM
def removeItem () :
global pcode
item = searchItem ()
if item:
if myConnection:
cursor=myConnection.cursor()
sql="SELECT * FROM PRODUCT WHERE PRODUCT_CODE= %s"
cursor.execute(sql,(pcode,))
data=cursor.fetchall()
if data:
print ("\n**** Item Removed Successfully!!! *****")
sql="DELETE FROM PRODUCT WHERE PRODUCT_CODE=%s"
cursor.execute(sql,(pcode,))
cursor.execute("COMMIT")
cursor.close()
else:
print ("\nSomthing Went Wrong, Please Try Again!")
else:
print ("Record Not Found, Please Try Again!")
#MODULE TO LIST ALL BILLS
def allBills ():
if myConnection:
cursor=myConnection.cursor()
sql="SELECT * FROM BILL CID"
cursor.execute(sql)
data=cursor.fetchall()
if data:
for bill in data:
print(bill)
return True
else:
return False
cursor.close()
else:
print ("\nSomthing Went Wrong, Please Try Again!")
#MODULE TO GENERATE PARTICULAR CUSTOMER'S BILL
def generateBill ():
global pcode
if myConnection:
cursor=myConnection.cursor()
sql="SELECT CNAME,count(TOTAL) AS 'TOTAL AMOUNT' FROM BILL GROUP BY
CNAME "
cursor.execute(sql)
data=cursor.fetchall()
if data:
print ("###################################")
print ("NAME AMOUNT")
print(data)
return True
else:
print ("\nCustomer Not Found!")
cursor.close()
else:
print ("\nSomthing Went Wrong, Please Try Again!")
#MAIN SCREEN OF THE SOFTWARE
print ("#*************** AKV PUBLIC SCHOOL *******")
print ("#***************WELCOME TO THE MALL OF EMIRATES****")
print ("################## THE MALL OF EMIRATES ##########")
print ("#*******Designed and Maintained By:")
print ("#*******ARVINDARAJ - CLASS XII A - [ 2023-2024]")
print ("#*******RITHEESHKAR - CLASS XII A - [ 2023-2024]")
print ("#*******Kamalesh - CLASS XII B - [ 2023-2024]")
print ("********************PROUD TO BE AKVIAN ************")
# MYSQL CONNECTION CHECK
myConnection = MYSQLconnectionCheck ()
if myConnection:
MYSQLconnection ()
while (True):
print ("""
1 --->FOR NEW ITEM
2 --->FOR WOMEN SECTION
3 --->FOR MEN SECTION
4 --->FOR KID SECTION
5 --->FOR MODIFY ITEM
6 --->FOR SEARCH ITEM
7 --->FOR SHOW ALL INVENTORY ITEM WISE
8 --->FOR REMOVE ITEM
9 --->LIST ALL BILLS
10 -->GENERATE CUSTOMER BILL
11 -->EXIT
""")
choice = int (input ("Please Enter Your Choice: "))
if choice == 1:
addItem ()
elif choice ==2:
womenSection ()
elif choice ==3:
menSection ()
elif choice ==4:
kidsSection ()
elif choice ==5:
modifyItem ()
elif choice ==6:
item=searchItem ()
if item:
print ("*******Record Found !!!*******")
else:
print ("Record Not Found, Please Try Again!")
elif choice ==7:
showInventory ()
elif choice ==8:
removeItem ()
elif choice ==9:
allBills ()
elif choice == 10:
generateBill ()
elif choice == 11:
print ("Thanks for visitng THE MALL OF EMIRATESI \n ****We are eagerly waititng
for your next visit!!! ***")
break;
else:
print ("Sorry, maybe You Are Giving Me Wrong Input, Please Try Again!!! ")
else:
print ("\nERROR ESTABLISHING MYSQL CONNECTION!")
# END OF THE PROJECT
print
("֎֎֎֎֎֎֎֎֎֎֎֎֎֎֎֎֎֎֎֎֎֎֎֎֎֎֎֎֎֎֎֎֎֎֎֎֎֎֎֎֎֎֎
֎֎֎֎֎֎֎֎֎֎֎֎֎֎֎֎֎֎֎֎֎֎֎֎֎֎֎֎֎֎֎֎֎֎֎֎֎֎֎֎֎֎֎֎
֎֎֎֎֎֎֎֎֎")
11. OUTPUT
12. SOFTWARE TESTING
Software testing is widely used technology because it is compulsory to test each and every software
before deployment.
What is Software Testing
Software testing is a process of identifying the correctness of software by considering its all
attributes (Reliability, Scalability, Portability, Re-usability, Usability) and evaluating the execution
of software components to find the software bugs or errors or defects. Software testing provides an
independent view and objective of the software and gives surety of fitness of the software.
It involves testing of all components under the required services to confirm that whether it is
satisfying the specified requirements or not. The process is also providing the client with information
about the quality of the software.
Testing is mandatory because it will be a dangerous situation if the software fails any of time
due to lack of testing. So, without testing software cannot be deployed to the end user.
Testing is a group of techniques to determine the correctness of the application under the
predefined script but, testing cannot find all the defect of application. The main intent of testing is to
detect failures of the application so that failures can be discovered and corrected. It does not
demonstrate that a product functions properly under all conditions but only that it is not working in
some specific conditions.
Testing furnishes comparison that compares the behavior and state of software against
mechanisms because the problem can be recognized by the mechanism.
The mechanism may include past versions of the same specified product, comparable
products, and interfaces of expected purpose, relevant standards, or other criteria but not limited up
to these.
Testing includes an examination of code and also the execution of code in various
environments, conditions as well as all the examining aspects of the code. In the current scenario of
software development, a testing team may be separate from the development team so that Information
derived from testing can be used to correct the process of software development.
The success of software depends upon acceptance of its targeted audience, easy graphical user
interface, strong functionality load test, etc.
For example, the audience of banking is totally different from the audience of a video game.
Therefore, when an organization develops a software product, it can assess whether the software
product will be beneficial to its purchasers and other audience.
Type of Software testing
We have various types of testing available in the market, which are used to test the application
or the software. With the help of below image, we can easily understand the type of software testing:
Manual testing
The process of checking the functionality of an application as per the customer needs without
taking any help of automation tools is known as manual testing. While performing the manual testing
on any application, we do not need any specific knowledge of any testing tool, rather than have a
proper understanding of the product so we can easily prepare the test document. Manual testing can
be further divided into three types of testing, which are as follows:
•
White box testing
•
Black box testing
•
Gray box testing
White-box testing.
The white box testing is done by Developer, where they check every line of a code before
giving it to the Test Engineer. Since the code is visible for the Developer during the testing, that's
why it is also known as White box testing.
Black box testing.
The black box testing is done by the Test Engineer, where they can check the functionality of
an application or the software according to the customer / client's needs. In this, the code is not visible
while performing the testing that's why it is known as black-box testing.
Gray Box testing.
Gray box testing is a combination of white box and Black box testing. It can be performed by
a person who knew both coding and testing. And if the single person performs white box, as well as
black-box testing for the application, is known as Gray box testing.
How to perform Manual Testing.
•
First, tester observes all documents related to software, to select testing areas.
•
Tester analyses requirement documents to cover all requirements stated by the
customer.
•
Tester develops the test cases according to the requirement document.
•
All test cases are executed manually by using Black box testing and white box testing.
•
If bugs occurred then the testing team informs the development team.
•
The Development team fixes bugs and handed software to the testing team for a retest.
Advantages of Manual Testing.
•
It does not require programming knowledge while using the Black box method.
•
It is used to test dynamically changing GUI designs.
•
Tester interacts with software as a real user so that they are able to discover usability
and user interface issues.
•
It ensures that the software is a hundred percent bug-free.
•
It is cost-effective and Easy to learn for new testers.
Disadvantages of Manual Testing.
•
It requires a large number of human resources.
•
It is very time-consuming.
•
Tester develops test cases based on their skills and experience. There is no evidence
that they have covered all functions or not.
•
Test cases cannot be used again. Need to develop separate test cases for each new
software.
•
It does not provide testing on all aspects of testing.
Manual testing tools.
In manual testing, different types of testing like unit, integration, security,
performance, and bug tracking, we have various tools such as Jira, Bugzilla, Mantis, Zap,
NUnit, Tessy, LoadRunner, Citrus, SonarQube, etc. available in the market. Some of the tools
are open-source, and some are commercial.
Automation testing.
Automation testing is a process of converting any manual test cases into the test scripts with
the help of automation tools, or any programming
language is known as automation testing. With the help of automation testing, we can enhance the
speed of our test execution because here, we do not require any human efforts. We need to write a
test script and execute those scripts. The execution of automation testing provides us various
advantages, which are as discussed below:
•
Reusability
•
Consistency
•
Running tests anytime (24/7)
•
Early Bug detection
•
Less Human Resources
1. Reusability
We can re-use the test scripts in automation testing, and we don't need to write the new test
scripts again and again. And, we can also re-create the steps which are detailed as the earlier ones.
2. Consistency
As compared to manual testing, automation testing is more consistent and way faster than
executing the regular monotonous tests that cannot be missed but may cause faults when tested
manually.
3. Running Tests 24/7
In automation testing, we can start the testing process from anywhere in the world and anytime
we want to. And even we can do that remotely if we don't have many approaches or the option to
purchase them.
4. Early Bug Detection
We can easily detect the critical bugs in the software development process's initial phases by
executing automation testing. It also helps us spend fewer working hours to fix these problems and
reduce costs
5. Less Human Resources
To implement the automation test script, we need a test automation engineer who can write
the test scripts to automate our tests, rather than having several people who are repeatedly performing
the manual tests.
Automation Testing Methodologies
Automation testing contains the following three different methodologies and approaches,
which will help the test engineer to enhance the software product's quality.
•
GUI Testing
•
Code-Driven
•
Test Automation Framework
Automation Testing Process.
The automation testing process is a systematic approach to organize and execute testing
activities in a manner that provides maximum test coverage with limited resources. The structure of
the test involves a multi-step process that supports the required, detailed and inter-related activities
to perform the task.
o
Automation Testing Tools.
Automation testing tools can describe in two categories, which are as follows:
•
Functional Testing Tools.
•
Non-Functional Testing Tools.
Functional Automation Testing Tools.
The automation test engineer uses the functional automation testing tool to implement the
functional test cases. For example, the Repetitive Regression tests are automated under the function
automation testing tools. This type of tools can be further divided into two different parts, which are
as below:
•
Commercial Tool
•
Open-source Tool
Non-functional Automation Testing Tools
The automation test engineer uses the non-functional automation testing tool to execute the
non-functional performance test cases.
For example, testing the application's response time under significant load, let say, 100 users. Just
like functional automation testing tools, the non-functional automation testing tools divided into two
different categories, which are as below:
•
Commercial Tools.
•
Open-source Tools.
Advantages of Automation Testing.
•
Automation testing takes less time than manual testing.
•
A tester can test the response of the software if the execution of the same operation is
repeated several times.
•
Automation Testing provides re-usability of test cases on testing of different versions of
the same software.
•
Automation testing is reliable as it eliminates hidden errors by executing test cases again
in the same way.
•
Automation Testing is comprehensive as test cases cover each and every feature of the
application.
•
It does not require many human resources, instead of writing test cases and testing them
manually, they need an automation testing engineer to run them.
•
The cost of automation testing is less than manual testing because it requires a few
human resources.
Disadvantages of Automation Testing.
•
Automation Testing requires high-level skilled testers.
•
It requires high-quality testing tools.
•
When it encounters an unsuccessful test case, the analysis of the whole event is
complicated.
•
Test maintenance is expensive because high fee license testing equipment is
necessary.
•
Debugging is mandatory if a less effective error has not been solved, it can lead to
fatal results.
13. SOFTWARE MAINTENANCE
Software maintenance is the process of changing, modifying, and updating software to keep
up with customer needs. Software maintenance is done after the product has launched for several
reasons including improving the software overall, correcting issues or bugs, to boost performance,
and more.
Software maintenance is a natural part of SDLC (software development life cycle). Software
developers don’t have the luxury of launching a product and letting it run, they constantly need to be
on the lookout to both correct and improve their software to remain competitive and relevant. Using
the right software maintenance techniques and strategies is a critical part of keeping any software
running for a long period of time and keeping customers and users happy.
software maintenance important
•
Creating a new piece of software and launching it into the world is an exciting step for
any company. A lot goes into creating your software and its launch including the actual
building and coding, licensing models, marketing, and more. However, any great piece
of software must be able to adapt to the times.
•
This means monitoring and maintaining properly. As technology is changing at the speed
of light, software must keep up with the market changes and demands.
Types of software maintenance
The four different types of software maintenance are each performed for different reasons and
purposes. A given piece of software may have to undergo one, two, or all types of maintenance
throughout its lifespan.
The four types are:
•
Corrective Software Maintenance
•
Preventative Software Maintenance
•
Perfective Software Maintenance
•
Adaptive Software Maintenance
Corrective Software Maintenance
Corrective software maintenance is the typical, classic form of maintenance (for software and
anything else for that matter). Corrective software maintenance is necessary when something goes
wrong in a piece of software including faults and errors. These can have a widespread impact on the
functionality of the software in general and therefore must be addressed as quickly as possible.
Many times, software vendors can address issues that require corrective maintenance due to
bug reports that users send in. If a company can recognize and take care of faults before users discover
them, this is an added advantage that will make your company seem more reputable and reliable (no
one likes an error message after all).
Preventative Software Maintenance
Preventative software maintenance is looking into the future so that your software can keep
working as desired for as long as possible.
This includes making necessary changes, upgrades, adaptations and more. Preventative
software maintenance may address small issues which at the given time may lack significance but
may turn into larger problems in the future. These are called latent faults which need to be detected
and corrected to make sure that they won’t turn into effective faults.
Perfective Software Maintenance
As with any product on the market, once the software is released to the public, new issues and
ideas come to the surface. Users may see the need for new features or requirements that they would
like to see in the software to make it the best tool available for their needs. This is when perfective
software maintenance comes into play.
Perfective software maintenance aims to adjust software by adding new features as necessary
and removing features that are irrelevant or not effective in the given software. This process keeps
software relevant as the market, and user needs, change.
Adaptive Software Maintenance
Adaptive software maintenance has to do with the changing technologies as well as policies
and rules regarding your software. These include operating system changes, cloud storage, hardware,
etc. When these changes are performed, your software must adapt in order to properly meet new
requirements and continue to run well.
The Software Maintenance Process
The software maintenance process involves various software maintenance techniques that can
change according to the type of maintenance and the software maintenance plan in place.
Most software maintenance process models include the following steps:
1.
Identification & Tracing – The process of determining what part of the software needs
to be modified (or maintained). This can be user -generated or identified by the
software developer itself depending on the situation and specific fault.
2. Analysis – The process of analyzing the suggested modification including understanding
the potential effects of such a change. This step typically includes cost analysis to
understand if the change is financially worthwhile.
3.
Design – Designing the new changes using requirement specifications
4. Implementation – The process of implementing the new modules by programmers.
5.
System Testing – Before being launched, the software and system must be tested. This
includes the module itself, the system and the module, and the whole system at once.
6. Acceptance Testing- Users test the modification for acceptance. This is an important step
as users can identify ongoing issues and generate recommendations for more effective
implementation and changes.
7.
Delivery – Software updates or in some cases new installation of the software. This is
when the changes arrive at the customers.
11. CONCLUTION
Using this system, we organize the work in the Hall, also we reduce the time and effort spend to
achieve the following task:
•
Register customer’s information in this system.
•
Register the relative information of reservation in this system.
•
Organize the operation of updating the information of reservation.
•
Organize the confirming and cancelling reservation in this system.
•
Getting the reports of all reservation done through this system.
•
Getting the reports of all reservation done through this system according to selected month.
Getting the reports of all reservation done through this system according to selected month and year.
After using the system, we can say that work of Hall reservation can be organized through this
system.
As we explain in the body of this report the use of this system is easily and any one with simple
knowledge of computer usage can use this system and finish the task without any mistake.
there is no perfect system and each system contain some notices either the analyzing or the scenario
of work, but in this system, we try to cover the most important task or features of store department work.
Before we build the system we have to analyze the system and detect the work flow of working and
see what are the rules that control work in Hall reservation operation to start building the tables and see
what windows we need and how any windows we must have in our system after that we search for tools
enable us to program the system in best way, we find that the easiest tools to do that is PYTHON for
program the user interface and MySQL as database management system, these tools are easy to use and
easy to be used in developing the system in future.
When start to build new system the designer face two types of problem technical and official.
The technical problems were to find the suitable and useful tools (programming and database
management system) enable the designer to build efficient system and enable the user to store many
records in database able to be retrieved in few seconds without any problems.
After we choose the programming language and database management system and connect them
together and start build the database and table and start writing the code that will be executed while
system running in order to achieve the tasks of this system.
11. BIBLIOGRAPHY
1. Computer science With Python - Class XI & Class XII By : Sumita Arora
2.
Website: https://www.w3resource.com
3. https://en.wikipedia.org/wiki/E_(mathematical_constant)
Download