You are on page 1of 42

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.

Overview of the organization


No. 1 Software & Development Company in Chandigarh

Born in 2016, VproTech digital is a forward


looking company focused on software,
solution and innovative ideas that are
required for 21st century. As an institution
being a pioneer in courses that is gave birth
to , vprotech digital offers different job
practices oriented trainings from different
streams including mechanical, civil,
electronics and computer science
engineering with placement tie ups all over
the country.
Under the 9001:2015 ISO Certification, we
offer you standardize trainings and
personality development sessions that helps
building the mindset and vision of the
students for their bright future.

Our Team

Backed up by the professional, young and expertise.


The learning environment and innovative ideas
cooperated by the team members emphasize the
candidate to generate new ideas and up brings the
career building opportunity to them.
Our Philosophy

 To impart hardcore practical quality training among students/developers


about latest technologies trending today.
 To share knowledge of information security and create awareness in the
market. The solution to clients' as per the International standard practices and
governance.
 To support good business practices through continual employee training and
education
 To equip a local team with a strong knowledge of international best practices
and international expert support so as to provide practical advisories in the
best interests of our clients

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

Is to cultivate the creativity and sensibility with


increases passion for learning in all sorts. We foster
the career and academic success through the
development of critical thinking, effective
communication, accessible and affordable learning environment that leads to the
successful completion of certified courses.

We embraces equity and accountability learning outcomes that’s might be called as


“YOUR FUTURE OUR MISSION “

Our Services in Software Development


We are proficient in all platforms of software Development practices — Agile, SCRUM,
Lean, Waterfall, Prototype, Incremental, Iterative, and V-Model.

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.

DIGITAL (VTD) products are “built for change” as we are


well responsive that the necessity to improve a Web
solution generally arises even beforWhy choose US?
 Goal Oriented, RIO – Driven Focus

 A Streamlined/Quality- Driven Process.

 VPROTECH DIGITAL (VTD) is steadfast to


undertake the projects cutting edge to
technology competence and know-how
abilities. The project execution is held with
dedication and responsibility to perform our
best with the essence of knowledge, creativity and skills to the utmost and
efficiently.

 At VPROTECH DIGITAL (VTD) , we have competence to expand and adjust as


per client specific requirements.

 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

 Profile of the problems assigned

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

Our client is running his business offline till now.


He wishes to increase his business. The problem he facing was his business was not
online he needs to visit the site first and then proceed with his tasks, he wants us to
develop a site which makes his business online and vast so that not only local clients
could visit him but the clients from different places and the NRIs could also become part
of his business. Through this website we have tried our best to make his offline business
more efficient by making it online.

What is C Programming Language?

C is a general-purpose programming language that is extremely popular, simple, and


flexible to use. It is a structured programming language that is machine-independent
and extensively used to write various applications, Operating Systems like Windows, and
many other complex programs like Oracle database, Git, Python interpreter, and more.
It is said that ‘C’ is a god’s programming language. One can say, C is a base for the
programming. If you know ‘C,’ you can easily grasp the knowledge of the other
programming languages that uses the concept of ‘C’

It is essential to have a background in computer memory mechanisms because it is an


important aspect when dealing with the C programming language.
History of C language
The base or father of programming languages is ‘ALGOL.’ It was first introduced in 1960.
‘ALGOL’ was used on a large basis in European countries. ‘ALGOL’ introduced the
concept of structured programming to the developer community. In 1967, a new
computer programming language was announced called as ‘BCPL’ which stands for Basic
Combined Programming Language. BCPL was designed and developed by Martin
Richards, especially for writing system software. This was the era of programming
languages. Just after three years, in 1970 a new programming language called ‘B’ was
introduced by Ken Thompson that contained multiple features of ‘BCPL.’ This
programming language was created using UNIX operating system at AT&T and Bell
Laboratories. Both the ‘BCPL’ and ‘B’ were system programming languages.

C Basic Commands

Following are the basic commands in C programming language:

C Basic commands Explanation


This command includes standard input output header file(stdio.h) from
#include <stdio.h>
library before compiling a C program
int main() It is the main function from where C program execution begins.
{ Indicates the beginning of the main function.
Whatever written inside this command “/* */” inside a C program, it w
/*_some_comments_*/
be considered for compilation and execution.
printf(“Hello_World! “); This command prints the output on the screen.
getch(); This command is used for any character input from keyboard.
This command is used to terminate a C program (main function) and it
return 0;
0.
} It is used to indicate the end of the main function.

Where is C used?

1. C’ language is widely used in embedded systems.


2. It is used for developing system applications.
3. It is widely used for developing desktop applications.
4. Most of the applications by Adobe are developed using ‘C’ programming
language.
5. It is used for developing browsers and their extensions. Google’s Chromium is
built using ‘C’ programming language.
6. It is used to develop databases. MySQL is the most popular database software
which is built using ‘C’.
7. It is used in developing an operating system. Operating systems such as Apple’s
OS X, Microsoft’s Windows, and Symbian are developed using ‘C’ language. It is
used for developing desktop as well as mobile phone’s operating system.
8. It is used for compiler production.
9. It is widely used in IOT applications.

How C Programming Language Works?

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.

Following is the list of popular compilers available online:

 Clang compiler
 MinGW compiler (Minimalist GNU for Windows)
 Portable ‘C’ compiler
 Turbo C

Introduction to C++ Programming Language

C++ is a general-purpose programming language that was developed as an


enhancement of the C language to include object-oriented paradigm. It is an
imperative and a compiled language.

C++ is a middle-level language rendering it the advantage of programming low-level


(drivers, kernels) and even higher-level applications (games, GUI, desktop apps etc.).
The basic syntax and code structure of both C and C++ are the same.
Some of the features & key-points to note about the programming language are as
follows:
 Simple: It is a simple language in the sense that programs can be broken down into
logical units and parts, has a rich library support and a variety of data-types.
 Machine Independent but Platform Dependent: A C++ executable is not platform-
independent (compiled programs on Linux won’t run on Windows), however they
are machine independent.
 Mid-level language: It is a mid-level language as we can do both systems-
programming (drivers, kernels, networking etc.) and build large-scale user
applications (Media Players, Photoshop, Game Engines etc.)
 Rich library support: Has a rich library support (Both standard ~ built-in data
structures, algorithms etc.) as well 3rd party libraries (e.g. Boost libraries) for fast
and rapid development.
 Speed of execution: C++ programs excel in execution speed. Since, it is a compiled
language, and also hugely procedural. Newer languages have extra in-built default
features such as garbage-collection, dynamic typing etc. which slow the execution
of the program overall. Since there is no additional processing overhead like this in
C++, it is blazing fast.
 Pointer and direct Memory-Access: C++ provides pointer support which aids users
to directly manipulate storage address. This helps in doing low-level programming
(where one might need to have explicit control on the storage of variables).
 Object-Oriented: One of the strongest points of the language which sets it apart
from C. Object-Oriented support helps C++ to make maintainable and extensible
programs. i.e. Large-scale applications can be built. Procedural code becomes
difficult to maintain as code-size grows.
 Compiled Language: C++ is a compiled language, contributing to its speed.
Applications of C++:
C++ finds varied usage in applications such as:
 Operating Systems & Systems Programming. e.g. Linux-based OS (Ubuntu etc.)
 Browsers (Chrome & Firefox)
 Graphics & Game engines (Photoshop, Blender, Unreal-Engine)
 Database Engines (MySQL, MongoDB, Redis etc.)
 Cloud/Distributed Systems
Some interesting facts about C++ :
Here are some awesome facts about C++ that may interest you:
1. The name of C++ signifies the evolutionary nature of the changes from C. “++” is the
C increment operator.
2. C++ is one of the predominant languages for the development of all kind of
technical and commercial software.
3. C++ introduces Object-Oriented Programming, not present in C. Like other things,
C++ supports the four primary features of OOP: encapsulation, polymorphism,
abstraction, and inheritance.
4. C++ got the OOP features from Simula67 Programming language.
5. A function is a minimum requirement for a C++ program to run.(at least main()
function)

Applications of C++ Programming


As mentioned before, C++ is one of the most widely used programming languages. It
has it's presence in almost every area of software development. I'm going to list few of
them here:
 Application Software Development - C++ programming has been used in
developing almost all the major Operating Systems like Windows, Mac OSX and
Linux. Apart from the operating systems, the core part of many browsers like
Mozilla Firefox and Chrome have been written using C++. C++ also has been used
in developing the most popular database system called MySQL.
 Programming Languages Development - C++ has been used extensively in
developing new programming languages like C#, Java, JavaScript, Perl, UNIX’s C
Shell, PHP and Python, and Verilog etc.
 Computation Programming - C++ is the best friends of scientists because of fast
speed and computational efficiencies.
 Games Development - C++ is extremely fast which allows programmers to do
procedural programming for CPU intensive functions and provides greater
control over hardware, because of which it has been widely used in development
of gaming engines.
 Embedded System - C++ is being heavily used in developing Medical and
Engineering Applications like softwares for MRI machines, high-end CAD/CAM
systems etc.

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

An Entity-Relationship Model (ERM) is an abstract and conceptual representation of


data. Entity-relationship modeling is a database modeling method, used to produce a
type of conceptual schema or semantic data model of a system, often a relational
database, and its requirements in a top-down fashion.

The entity-relationship model (or ER model) is a way of graphically representing the


logical relationships of entities (or objects) in order to create a database. The ER model
was first proposed by Peter Pin-Shan Chen of Massachusetts Institute of Technology
(MIT) in the 1970s.
In ER modeling, the structure for a database is portrayed as a diagram, called an entity-
relationship diagram (or ER diagram), that resembles the graphical breakdown of a
sentence into its grammatical parts. Entities are rendered as points, polygons, circles, or
ovals. Relationships are portrayed as lines connecting the points, polygons, circles, or
ovals. Any ER diagram has an equivalent relational table, and any relational table has an
equivalent ER diagram. ER diagramming is an invaluable aid to engineers in the design,
optimization, and debugging of database programs.

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.

Entities and Entity Sets

 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 may be concrete (a person or a book, for example) or abstract (like a


holiday or a concept).

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

 An entity is represented by a set of attributes.

 Formally, an attribute is a function which maps an entity set into a domain.

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:

1. One-to-one: An entity in A is associated with at most one entity in B, and an entity


in B is associated with at most one entity in A.

2. One-to-many: An entity in A is associated with any number in B. An entity in B is


associated with at most one entity in A.

3. Many-to-one: An entity in A is associated with at most one entity in B. An entity in


B is associated with any number in A.
4. Many-to-many: Entities in A and B are associated with any number from each
other.

TEST PLAN

A test plan is a document detailing a systematic approach to testing a system such as a


machine or software. The plan typically contains a detailed understanding of what the
eventual workflow will be.

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:

Design Verification or Compliance test –


To be performed during the development or approval stages of the product, typically on
a small sample of units.

Manufacturing or Production test –


To be performed during preparation or assembly of the product in an ongoing manner
for purposes of performance verification and quality control.

Acceptance or Commissioning test-


To be performed at the time of delivery or installation of the product.

Service and Repair test –


To be performed as required over the service life of the product.

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.

 These are also used in a formal test strategy.

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

Testing is a process of executing a program with the intention of finding errors. To


perform testing, test cases are designed. A test case is in particular made up of artificial
situation upon which a program is exposed so as to find errors. So a good test case is
one that finds undiscovered errors.

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.

A test plan has the following steps:

 Prepare test plan

 Specify conditions for user acceptance testing


 Prepare test data for program testing
 Prepare test data for transaction path testing
 Plan user testing
 Compile/Assemble program
 Prepare job performance aids
 Prepare operational documents

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

Functional testing typically involves five steps

 The identification of functions that the software is expected to perform.


 The creation of input data based on the function's specifications.
 The determination of output based on the function's specifications.
 The execution of the test case.
 The comparison of actual and expected outputs.

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 and Conversion Plan

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.

The implementation state involves the following tasks:

 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 ";

for (i=0; i<m; i++)


{
for (j=0; j<n; j++)
{
cout<<" Element "<<i<<" : "<<j<<" --> ";
cin>>arr1[i][j];
}
}

cout<<"\n Enter the elements of the 2nd matrix : \n ";


for (i=0; i<m; i++)
{
for (j=0; j<n; j++)
{
cout<<" Element "<<i<<" : "<<j<<" --> ";
cin>>arr2[i][j];
}
}

//------------ display matrics -----------------------


cout<<"\n 1st matrix \n ";
for (i=0; i<m; i++)
{
for (j=0; j<n; j++)
{
cout<<" "<<arr1[i][j];
}
cout<<"\n";
}

cout<<"\n 2nd matrix \n ";


for (i=0; i<m; i++)
{
for (j=0; j<n;j++)
{
cout<<" "<<arr2[i][j];
}
cout<<"\n";
}
cout<<" \n Resultatn matrix \n";
int k=0;
// multiplies the two matrices together
for(i=0;i< m;i++)
{
for(j=0;j< n;j++)
{
result[i][j] = 0;
for(k=0;k< m;k++)
{
result[i][j] = result[i][j] + arr1[i][k] * arr2[k][j];
}
} // end of j sub loop
} // end of i main loop

// displays the resultant matrix


for (i=0; i<m; i++)
{
for (j=0; j<n; j++)
{
cout<<result[i][j]<<" ";
}
cout<<"\n \n";
}
return 0;

} // end of main

Maintenance

Maintenance involves understanding the existing software (code and related


documents), understanding the effects of change to both the code and the documents
testing the new parts (changes), and retesting the old parts that were not changed.
Because often during development the needs of the maintainers are not kept in mind,
few support documents are produced during development to help maintainers.
Maintenance is the type of change or software rework that typically is done after the
software development is completed and the software has been deployed.

Maintenance is basically of two types

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.

Current status of Project

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.

Remaining Areas of Concern

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

Uploading of project on Client Domain


The project is live but it is uploaded on the company (from where we were being trained
for the last six months) EXCELLENCE TECHNOLOGY domain. The project has to be
uploaded on the client domain.

Interaction with the Client


The Client must know how to use this system as he is not a technically trained person,
so we need to interact with the client so as to train him.

Technical and Managerial Lessons Learnt

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.

3. Emphasize results, not time.

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.

4. Admit your mistakes.


Everyone makes mistakes. They can range from forgetting a meeting to making a crazy
customer commitment. It’s embarrassing to admit that one make mistakes. Many of us
think that we lose the respect of our group or peers when we admit mistakes. But I have
learnt that one must admit his mistakes.

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.

6. Plan training time in the regular workweek.

Information Technology is a challenging and constantly changing discipline. Since it is


constantly changing, consider planning training time in the regular workweek. If one
doesn’t get trained on an ongoing basis, he will lose.

7. Must go through each step of the Software Development Life Cycle.

One must follow the software Development Life Cycle.

Future Recommendations

In future we can use Image reorganization instead of using heterogeneous database


more over High speed, accuracy and non-redundant data are the main advantages of
the proposed system. In the proposed system the user is provided with a choice of
data screen, which are similar in formats to the source documents. Data entry errors
can be minimized through validity checks. After the verification only the data are
placed the permanent database. The software can be developed further to include a
lot of modules because the proposed system is developed on the view of future, for
example we should develop the system as a database independent using JDBC so we
can connect it to any other database, Now the proposed system is based on PC and
intranet but in the future if we need to convert it into internet then we need to
change the front end only because we are developing this on the basis of OOP
technology and most of the business logic’s are bounded in the class files and
module like reusable components.

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

You might also like