Final
Final
Final
REPORT
ON
Matrix Calculator
PAGE
TITLE
NO
1 ACKNOWLDEGEMENT
Overview of organization
2
What is C Programming
3
Language?
Introduction to C++
4 Programming Language
5 Introduction of project
ER Diagram
6
7 Test plan
8 Coding
Maintenance
9
Screenshots
10
Conclusion
10
ACKNOWLDEGEMENT
It is great pleasure to present this report on the project named “MATRIX CALCULATOR ”
undertaken by me as part of my MCA curriculum.
I am thankful to PTU and COLLEGE for offering me such a wonderful challenging
opportunity and I express my deepest thanks to all coordinators, of COLLEGE for
providing all the possible help and assistance and their constant encouragement.
It is a pleasure that we find ourselves penning down these lines to express our sincere
thanks to the people who helped us along the way in completing our project. We find
inadequate words to express our sincere gratitude towards them.
First and foremost we would like to express our gratitude towards our training guide
Mr. Guide Name for placing complete faith and confidence in our ability to carry out
this project and for providing us her time, inspiration, encouragement, help, valuable
guidance, constructive criticism and constant interest. She took personal interest in
spite of numerous commitments and busy schedule to help us complete this project.
Without the sincere and honest guidance of our respected project guide we would have
not been to reach the present stage.
We are also thankful to Mr. STUDENT (Coordinator) for their support in guiding us and
giving us the right direction every time we need.
Our Team
Vision
Our motto is to provide excellent opportunities that are responsible to fulfil the
needs of student and empower them to meet challenges as an active participant
in shaping the future of the world.
Our Mission
With the VproTech Digital (VTD) experience the incredible services such as agile software
development and the problems related to outsourcing. We comprise of the team of
experienced and professionals’ members who with their skills efficiently get the job done
and innovatively help you to transform your ideas into the successful business.
Our values
To strengthen student :
By creating educational environment meeting the student
needs so that they can attain their goals.
Excellence:
Maintaining high performance and integrity, leads to the
achievement of career goals.
Collaboration:
Seeking from all the private sectors about the job oriented
trainings and prepare the student for industrial as well as IT
suits.
Technical advancement:
Implementing cutting edge technology that enhances instructions and prepare
student for life long success.
Vprotech digital
SCF – 116, SECOND FLOOR, INDUSTRIAL AREA SECTOR 58, PhASE-5, MOHALI,
160059
E-Mail – Vprotechdigital@gmail.com
WEB – https://vprotechdigital.com/
Contact 172-4639508, 7901949497
This is a live project. Company’s client wants to develop a website to increase his
business of laptops and mobiles. Till now he was doing his business offline. Now a day’s
its an internet world so if you want to run a business successfully you must have to
make it online. So this is a website related to laptops and mobiles business. Main
problem comes when a customer is at a far away location and he is not able to come to
visit the place. So if one wants to buy laptops or mobiles, he first needs to visit number
the shop and tell them the whole details about that and tell them specifications of their
needs, the shopkeeper then acts as intermediator and make the work done by charging
their amount. Another is that customer who wants to buy laptops and mobiles have to
visit the site to see the laptops and mobiles which is quite a cumbersome task. Through
this project it is tried to make this thing easy by selling and buying the laptops and
mobiles while sitting at their own places and getting the contacts of the shopkeeper
through the site.
Study of the existing systems
C Basic Commands
Where is C used?
C is a compiled language. A compiler is a special tool that compiles the program and
converts it into the object file which is machine readable. After the compilation process,
the linker will combine different object files and creates a single executable file to run
the program. The following diagram shows the execution of a ‘C’ program
Nowadays, various compilers are available online, and you can use any of those
compilers. The functionality will never differ and most of the compilers will provide the
features required to execute both ‘C’ and ‘C++’ programs.
Clang compiler
MinGW compiler (Minimalist GNU for Windows)
Portable ‘C’ compiler
Turbo C
Introduction of project
Objective:
Solving problems based on matrix involves intensive calculation work and even a single
mistake will be done, then user will not able to get the correct result. You have to enter
elements for each row and column. Only entering data for each particular index, does
not solve the problem. Getting output and processing tasks involved in getting the
desired result is much hard work. You to find the center value by eliminating the values
of other indexes. While making multiplication, you have to multiply each element with
other element of second matrix. It processing work involves multiplying each row
element of first matrix with every column element of other matrix. If you will solve this
problem manually, then it will take some time and time also depends on the type of
matrix. If the matrix size will be 2x2 then it can be solved easily, but if index size will be
greater than 3 or both matrix indexes will be differ, then it’s hard to solve the problem
within 5 minutes. So to save your time, this system can be used to match your solutions
just by entering few details about the type of matrix and about their elements.
Existing System:
Although the existing system also provide computer oriented solutions to get the matrix
multiplications results but the existing system cannot be used for different sizes.It
cannot be used for those matrix whose index sizes various and this system can only be
used for those matrix whose index sizes are of two dimension. You will also be able to
calculate multiplication of two matrices have dimension size 2x2. But you cannot able to
get results on matrices having size greater then 2, so you will not able to check your
result at a time. The existing system also not able to display the entered elements while
displaying the final results, so that user can verify their entered data.
Proposed System:
The current matrix multiplication system will able to provide results of any desired
matrix size. Users will be also provided with options to choose the matrix size before
entering the elements value for that particular matrix. Once the matrix size has been
entered for both matrices, you will have to only enter the elements for each matrix and
your work is done. You do not have to work more with this system and rest work will be
performed by the login written on the back side of the screen. It will able to display the
final results along with elements of each matrix.
ER Diagram
In a logical sense, entities are the equivalent of grammatical nouns, such as employees,
departments, products, or networks. An entity can be defined by means of its
properties, called attributes. Relationships are the equivalent of verbs or associations,
such as the act of purchasing, the act of repairing, being a member of a group, or being
a supervisor of a department. A relationship can be defined according to the number of
entities associated with it, known as the degree.
An entity is an object that exists and is distinguishable from other objects. For
instance, John Harris with S.I.N. 890-12-3456 is an entity, as he can be uniquely
identified as one particular person in the universe.
An entity set is a set of entities of the same type (e.g., all persons having an
account at a bank).
Entity sets need not be disjoint. For example, the entity set employee (all
employees of a bank) and the entity set customer (all customers of the bank) may
have members in common.
Mapping Constraints
An E-R scheme may define certain constraints to which the contents of a database must
conform.
Mapping Cardinalities: express the number of entities to which another entity can be
associated via a relationship. For binary relationship sets between entity sets A and B,
the mapping cardinality must be one of:
TEST PLAN
A test plan documents the strategy that will be used to verify and ensure that a product
or system meets its design specifications and other requirements. A test plan is usually
prepared by or with significant input from Test Engineers.
Depending on the product and the responsibility of the organization to which the test
plan applies, a test plan may include one or more of the following:
Regression test –
To be performed on an existing operational product, to verify that existing functionality
didn't get broken when other aspects of the environment are changed (e.g., upgrading
the platform on which an existing application runs).
A complex system may have a high level test plan to address the overall requirements
and supporting test plans to address the design details of subsystems and components.
Test plan document formats can be as varied as the products and organizations to which
they apply. There are three major elements that should be described in the test plan:
Test Coverage
Test Methods
Test Responsibilities.
Test coverage
Test coverage in the test plan states what requirements will be verified during what
stages of the product life. Test Coverage is derived from design specifications and other
requirements, such as safety standards or regulatory codes, where each requirement or
specification of the design ideally will have one or more corresponding means of
verification. Test coverage for different product life stages may overlap, but will not
necessarily be exactly the same for all stages. For example, some requirements may be
verified during Design Verification test, but not repeated during Acceptance test. Test
coverage also feeds back into the design process, since the product may have to be
designed to allow test access.
Test methods
Test methods in the test plan state how test coverage will be implemented. Test
methods may be determined by standards, regulatory agencies, or contractual
agreement, or may have to be created new. Test methods also specify test equipment
to be used in the performance of the tests and establish pass/fail criteria. Test methods
used to verify hardware design requirements can range from very simple steps, such as
visual inspection, to elaborate test procedures that are documented separately.
Test responsibilities
Test responsibilities include what organizations will perform the test methods and at
each stage of the product life. This allows test organizations to plan, acquire or develop
test equipment and other resources necessary to implement the test methods for which
they are responsible. Test responsibilities also includes, what data will be collected, and
how that data will be stored and reported (often referred to as "deliverables"). One
outcome of a successful test plan should be a record or report of the verification of all
design specifications and requirements as agreed upon by all parties.
Objectives of Testing
Unit Testing
Unit testing is conducted first. Different modules of the software are tested against the
specifications produced during design of the modules. Verification of the code produced
during the coding phase is done. Each module is tested separately.
Unit testing focuses verification effort on the smallest unit of software design module.
This uncovers errors within the boundary of a module. Unit testing is actually White box
testing in which both the external things as well as the internal codes are tested.
Unit testing comprises the set of tests performed by an individual programmer prior to
integration of the unit into a larger system.
There are four categories of test that can be performed on a program unit.
These are:
Functional Unit
Performance Unit
Stress Unit
Structure Unit
The starting point of testing is unit testing. In this, a module is tested separately. The
purpose is to exercise the different parts of the module code to detect coding errors.
System Testing
In system testing the entire software system is tested. The reference document used for
this process is requirement document and the goal is to see if the software meets its
requirements.
System testing includes the thorough testing of the product. It involves unit testing,
integration testing & acceptance testing. Careful planning and scheduling are required
to ensure that modules will be available for integration into the evolving software
product when needed.
In system testing the entire software is tested .The reference document for this process
is the requirements document, and the goal is to see if the software meets its
requirements. This is essentially a validation exercise, and in many situations it is the
only validation activity. Generally in this process we present our product to the higher
authorities in the organization for their satisfaction. They focus on the external
behavior; the internal logic of the program is not emphasized. As in case of our project
we get it checked by our concerned teachers of project and after their satisfaction the
whole remaining process was done.
Functional Testing
Functional testing is a type of black box testing that bases its test cases on the
specifications of the software component under test. Functions are tested by feeding
them input and examining the output, and internal program structure is rarely
considered (not like in white-box testing)
Functional testing differs from system testing in that functional testing "verif[ies] a
program by checking it against ... design document(s) or specification(s)", while system
testing "validate a program by checking it against the published user or system
requirements" (Kaner, Falk, Nguyen 1999, p. 52).
Stress Testing
Stress testing is a form of testing that is used to determine the stability of a given
system or entity. It involves testing beyond normal operational capacity, often to a
breaking point, in order to observe the results.
In software testing, a system stress test refers to tests that put a greater emphasis on
robustness, availability, and error handling under a heavy load, rather than on what
would be considered correct behavior under normal circumstances. In particular, the
goals of such tests may be to ensure the software does not crash in conditions of
insufficient computational resources (such as memory or disk space), unusually high
concurrency, or denial of service attacks.
Stress testing may be contrasted with load testing:
Load testing examines the entire environment and database, while measuring the
response time, whereas stress testing focuses on identified transactions, pushing to a
level so as to break transactions or systems.
During stress testing, if transactions are selectively stressed, the database may not
experience much load, but the transactions are heavily stressed. On the other hand,
during load testing the database experiences a heavy load, while some transactions may
not be stressed.
System stress testing, also known as stress testing, is loading the concurrent users over
and beyond the level that the system can handle, so it breaks at the weakest link within
the entire system.
Implementation is the stage of the project where the theoretical design is turned into a
working system. It can be considered to be the most crucial stage in achieving a
successful new system gaining the users confidence that the new system will work and
will be effective and accurate. It is primarily concerned with user training and
documentation. Conversion usually takes place about the same time the user is being
trained or later. Implementation simply means convening a new system design into
operation, which is the process of converting a new revised system design into an
operational one.
Implementation is the stage of the project where the theoretical design is tuned into a
working system. At this stage the main work load, the greatest upheaval and the major
impact on the existing system shifts to the user department. If the implementation is
not carefully planned and controlled it can create chaos and confusion.
Implementation includes all those activities that take place to convert from the existing
system to the new system. The new system may be a totally new, replacing an existing
manual or automated system or it may be a modification to an existing system. Proper
implementation is essential to provide a reliable system to meet organization
requirements. The process of putting the developed system in actual use is called
system implementation. This includes all those activities that take place to convert from
the old system to the new system. The system can be implemented only after through
testing is done and if it is found to be working according to the specifications. The
system personnel check the feasibility of the system.
The more complex the system being implemented, the more involved will be the system
analysis and design effort required to implement the three main aspects: education and
training, system testing and changeover.
Careful planning.
Investigation of system and constraints.
Design of methods to achieve the changeover.
Training of the staff in the changeover phase.
Implementation Procedures
Implementation of software refers to the final installation of the package in its real
environment, to the satisfaction of the intended uses and the operation of the system.
In many organizations someone who will not be operating it, will commission the
software development project. In the initial stage people doubt about the software but
we have to ensure that the resistance does not build up, as one has to make sure that
The active user must be aware of the benefits of using the new system.
Their confidence in the software is built up.
Proper guidance is imparted to the user so that he is comfortable in using
the application.
.
REQUIREMENTS
3.1 Functional Requirements
It should provide schedule/timetable without any of clashes among
faculties, day, time and room that must be visible to all.
It should generate a report about the registered complaint to the admin and
response report to the user who has submitted his queries.
Secure registration and profile management facilities for different users.
It should provide details like e-learning facilities, server room details,
software installation procedures etc. to students.
It should generate alerts via SMS.
Non- Functional Requirements
3.2.1 Safety Requirements
If there is extensive damage to a wide portion of the database due to catastrophic
failure, such as a disk crash, the recovery method restores a past copy of the database
that was backed up to archival storage (typically tape) and reconstructs a more current
state by reapplying or redoing the operations of committed transactions from the
backed up log, up to the time of failure.
3.2.2 Security Requirements
3.2.2 Security Requirements
Security systems need database storage just like many other applications. However, the
special requirements of the security market mean that vendors must choose their
database partner carefully.
3.2.3 Software Quality Attributes
AVAILABILITY: Since we are hosting our project on the server it will be available all
the time.
CORRECTNESS: The system should generate an appropriate report about different
activities of the lab and should keep track of all records.
MAINTAINABILITY: The system should maintain correct schedules of labs and the
documentation of all the lab equipment.
USABILITY: The system should satisfy the maximum number of users needs.
Hardware Requirements
Pentium IV or higher, (PIV-300GHz recommended)
256 MB RAM
1 Gb hard free drive space
3.4 Software Requirements
PHP (front end)
HTML
JavaScript
MS Word 97 or later
Web Browser: Microsoft Internet Explorer, Mozilla, Google Chrome or later
MySQL Server (back-end)
Operating System: Windows XP / Windows7/ Windows Vista
Feasibility Study
The prime focus of the feasibility is evaluating the practicality of the proposed
system keeping in mind a number of factors. The following factors are taken into
account before deciding in favor of the new system.
3.6.1 Economic Feasibility
Report generation in the proposed system in precise that is reports are generated
as per user requirements, which reduces the use of papers and manual labor.
3.6.2 Technical feasibility
Keeping in view the above fact, nowadays all organizations are automating the
repetitive and monotonous works done by humans. The key process areas of the
current system are nicely amenable to automation and hence the technical
feasibility is proved beyond doubt.
3.6.3 Operational Feasibility
The present system has automated most of the manual tasks. Therefore the
proposed system will increase the operational efficiency of the administrator and
instructors.
CODING
#include<stdio.h>
#include <iostream.h>
#include<conio.h>
int main()
{ clrscr();
int arr1[20][20],arr2[10][10];
int result[20][20];
int m,n;
int i,j;
// prompts the user to enter the rows and columns of the matrix
cout<<" Enter the number of rows (m) : ";
cin>>m;
cout<<" Enter the number of columns (n) : ";
cin>>n;
cout<<" \n Enter the elements of the 1st matrix \n ";
} // end of main
Maintenance
Corrective Maintenance
It is commonly believed that the state of the art today is such that almost all software
that is developed has residual errors, or bugs, in them. Many of these surfaces only after
the system have been developed and have been in operation, sometimes for a long
time. These errors, once discovered, need to be removed, leading to the software
getting changed. This is sometimes called corrective Maintenance.
Adaptive Maintenance
It has been argued that once a software system is deployed, the environment in which it
operates changes. Hence, the needs that initiated the software development also
changes to reflect the needs of the new environment. The changed software then
changes the environment, which in turn requires future change. This phenomenon is
sometimes, called the law of software evolution. Maintenance due to this phenomenon
is called adaptive Maintenance.
The project right now has successfully met the requirements of the client. We have
been appreciated by the client for his work. The project is Live but now it is uploaded on
the company server that is EXCELLENCE TECHNOLOGY server but soon it will be shifted
to the clients as soon as he buys the domain. Currently project is being used for the
selling of the product.
Although the project is working and has successfully met the clients requirements
Still there are few things or few areas which needed to be concerned like
1. Make time for uninterrupted talk with each person in our Team every week.
Whether we are a technical lead or a functional manager, one of our deliverables to our
management is a periodic assessment of what and how our team is doing. We also have
a deliverable to our team members, of knowing enough about what we’re doing and
how they’re doing it to give them formal and informal performance reviews. You can’t
meet those deliverables if you don’t know what everyone is doing
2. Assume the person doing the job knows how to do the job
Because many members started as technical people, they know what it takes to do the
job their team members are now doing.
Many organizations reward people based on the amount of time they spend at a job,
not the results they achieve. However, hours on the job may not correlate with
productivity. If we really want to improve the team’s productivity and efficiency, we
must emphasize results not time.
5. Commit to projects only after asking your Team Members if they are interested in it.
One must commit to the project if and only if his team mates also feel like that is the
right project they are looking for and if all can do that job in the given time.
Future Recommendations
Screenshots
Conclusion
Completion of the development process will result in a software package that will
provide user friendly environment which is very easy to work with, even for people with
very little knowledge of computer. Management of various tasks is incorporated in the
package and will deliver the required information in a very easy to use and easy to
access manner. This package will provide accuracy, efficiency, speed and easiness to the
end user. Paper work will be subjugated and come to an appropriate level. Monotonous
and tedious part of work will become fascinating. Since the system is verified with valid
as well as invalid data and is run with an insight into the necessary modifications that
may require in the future, it can be maintained successfully without much hassle.
REFERENCES
http://www.google.com
http://www.php.net
http://www.w3schools.com