Project Ideas For Students

Download as pdf or txt
Download as pdf or txt
You are on page 1of 12

Project Ideas for students of Engineering and MCA students

1 of 12

http://www.vkinfotek.com/fyp.html

Project Ideas for students of Engineering and MCA


Most Viewed
Grid-View

(Computers Science, Information Science, Applications) A successful software project during


the final year of your bachelor education is important. This is because, questions about the
project during an interview is common and impressing the employer with a high quality project is
the best way to get a job.

GridView CommandField example


My advice to you is :
Details-View
GridView and DetailsView
Master/Detail page using
SqlDataSource control

1. Choose a project which can land you a job in companies such as Microsoft, Oracle, Google
and Accenture
2. Choose a project topic for which job potential is high
3. Cover topics in your project, which will demonstrate to the employer that you are willing
to understand and handle complex tasks

POCO
POCO overview and advantages POCO class, Entity Framework in
Enterprise Applications
Entity Framework
Query entity data model using
linq to entities

Application developer, database administrator and system architect jobs are high paying and
available all over the world. This can be verified from the fact that softwares such as Oracle,
SAP, Microsofts Visual Studio, SAS, BI, all of them handle databases or are database software
applications themselves. Doing a project in which you develop a complete software application for
a domain of your choice (Banking, Finance, ERP, Healthcare and Manufacturing) will help you in
your career.
In this article, I have outlined many of the topics which should appear in your project. I have

Array List
Difference between arraylist and
list collection
Web Services
How to create a Web service
using Visual Studio.net
Form-View

explained some of the concepts in detail for your benefit. I suggest you read these topics
carefully, research a bit more and put your project together.
I also suggest :
1. Ensure that you cover all the steps of application development in your project.
2. Take your time, research, read as many books as possible on developing database
applications and prepare your project.
This article is grouped into four parts. This grouping is done to make it easy for you to read the
article.

FormView DataBound Event


Object Oriented Programming
Calling base class constructor in
C#
Linq

Part 1: Covers project purpose, characteristic of a good software.


Part 2: An overview of how one should go about collecting the information, writing the ER
diagram, datbase design and architecture required to develop the software.
Part 3: Key topics the software project should include - creating a framework for multi-tier
application, GridView control and User Interface.
Part 4: How to make your project special? - Add a cutting edge technology to your project, I
have added Entity Framework and MVC for your reference.

Convert a sequence to a generic


list using ToList()method
ERP

Part 1:

ERP Software Development

Solves a practical problem


Project Ideas
Project ideas for students
AccountingSoftware
Accounting Software

The first thing an employer would like to see in your project report is what or which problem
your software addresses. Companies would like to see the problem defined very clearly in your
project report. Suppose, you create a mini ERP software as your final year project, companies
would like to see - a clear explanation of what problem your ERP software solves, why and how
the software you develop will be better than off-the-shelf software available already in the
market.

MVC
Creating an ASP.Net MVC 3
application
.Net

Is your solution can be beneficial (over other technologies and


solutions)
Companies would like to see why you think the technologies you have chosen are better than the
other ones. Here, you can make a positive impression by being persuasive about the technologies

30-04-2013 AM 08:38

Project Ideas for students of Engineering and MCA students

2 of 12

Using assemblies in .net


applications
ASP .Net

http://www.vkinfotek.com/fyp.html

you have chosen. For example, if you choose .Net technologies such as C#, VB.Net and ASP.Net,
list out all the positive points about these technologies and include in your report an explanation
of why heavy lifting which is an often cited drawback of .Net technologies, is in fact not bad after
all. I have cited only one point. There are many positive aspects of .Net technologies which you
can cite to make your point.

How to implement form


validation using ASP.Net 2.0
Validation Controls

Technical challenges (you have faced and overcome)


Companies would like to see the technical complexity you have addressed in your project. As a

VB .Net
Constructors in Visual Basic.Net

student it may be difficult for you to choose a completely complex project due to time and cost
constraints. Choose your project wisely. Consider adding a certain amount of complexity to a
simple project and ensure that these complexities are highlighted in your documentation.

Your Software App should be usable


A software application may be attractive because of fancy and sleek design and use of flash.
These features may prompt people to comment that the software is very good and likable.
However, as a software professional you should recognize that while attractiveness is important,
usability is much more important. I have often come across students who choose attractiveness
over functionality and usability while creating their software. Usability can be thought of as a
measure to assess how easy it is to perform the tasks for which the software is created for. A
software may be very attractive but may score poor on usability. A database software application
is mostly used for recording data. The common tasks include opening a menu, accessing an
option, entering data and saving data. The software application must be designed in such a way
that these tasks can be easily performed in the shortest possible time. The usability of a software
application covers not only the above mentioned tasks but many more, such as generating
reports, creating spreadsheets with data, charts etc.
A highly usable software ensures that a person with least training (it does not mean no training)
will be able to access all the options, enter data and generate reports. Usability testing is a
separate exercise in which users are involved to participate and their time study is done to
assess the software.

Characteristics of a good software


Reusability
When you write code for your project, you should write in such a way that the code can be used
multiple times in your project or any other. To achieve this, you put your code in assemblies.
Visual Studio provides an easy way to write code in class libraries which exist as assemblies. This
method of programming is also referred to as API - (Application Programming Interface). By
doing this, your code is reusable. Let me make this clearer for you. Suppose, you choose to do
a Sales Order Management system. For this project, data access code and business logic code has
to be written. If you place this code in separate assemblies, then you will be able to re-use the
same code in other projects. However, the ability to write code which is re-usable requires some
level of expertise.

Modularity
Modularity in software application development means dividing the application into tiny parts with
each part having a purpose or a task. The tiniest part you can make in VS.Net is a class.
Remember, each class should have single specific clearly defined task. When we divide the
application into classes for modularity, we should also ensure that the various classes interact
with each other in a well coordinated way to achieve the objective of the application.
VS (Visual Studio) provides means to manage these classes by specifying which classes are
interdependent and in what order they should be calling each other. In large applications, this can
become very complex, Microsoft has provided IOC containers which make it simpler to manage
this inter-dependency. However, you need not worry about this complexity as your project will be
simpler compared to large enterprise applications where hundreds of classes are used.
Microsoft introduced what is called as design patterns to make it easier for you to implement
modularity in an application.

Microsoft
Windows 8 Apps
www.microsoft.com/S
Create Apps For A New
Generation Students
Devs Build Yours
Today!

A design pattern is a sort of a template or a guide, developed and tested, and ensures a high
degree of reliability. However, a design pattern is not a ready solution to be used in a project. It
has to be used as a guide at the implementation level for a specific purpose. It is not related to
architecture level design. Note that these patterns can be implemented in any language like Java,
PHP or .Net.

Loose-Coupling
The rapid increase in usage of web applications and smart phone applications has resulted in a
large demand for creation of loosely coupled applications. As explained above, some degree of
modularity is achieved in applications by creating classes which is the OOPS methodology.

30-04-2013 AM 08:38

Project Ideas for students of Engineering and MCA students

3 of 12

http://www.vkinfotek.com/fyp.html

However, for today's enterprise and smartphone applications, a higher degree of modularity and
hence reusability is required. When you create classes, you will observe that all the dependent
classes have to be instantiated in the constructor. Tasks such as these will be handled differently
by IOC containers which is the latest solution offered by Microsoft for achieving higher degree of
loose coupling which is necessary for today's enterprise and smart phone applications.
How to create a class which follows the rules of modularity and loosely coupling
As we have seen in the earlier part of this article, each class should be designed to perform a
single task. VS provides a feature called interfaces using which you can define business rules. The
classes we create will implement these interfaces. If any business rule is modified or added, and
we change the interface, the classes will adopt the changes automatically. As enterprise
applications contain hundreds of classes and interfaces, managing them is difficult. IOC containers
ensure that these classes interact with each other smoothly.

Testing
There are two types of tests we can conduct on a Web application. One is unit testing and other
is integrated testing. Unit testing refers to those tests we conduct on small units of code, classes
and methods. While conducting these tests the classes and methods are considered independent of
the application. Unit tests are suitable to test business logic and data access logic and stored
procedures. In Visual Studio, we perform unit tests by creating a test project.
Integrated testing refers to the tests which check the entire application and how its components
work relative to each other. This test should be conducted after completion of every stage or
module. In this test, the working of the application including the browser calls such as button
clicks and submission of forms are simulated. Open source tools available to conduct these tests
on .Net applications are available in the market.
The main difference between unit testing and integrated testing is that with unit tests, we can
check the working of individual components independent of other components whereas with
integrated testing we can check how each component works with other component to meet the
specified requirements.
For a detailed explanation on how to conduct these tests, refer the Microsoft online manual.
Let me tell you how I test a database software application as I develop it. After completing the
database design, I write the server-side stored procedures for retrieving and saving data. Now, I
execute each stored procedure providing proper input data and check whether the expected result
is being returned or not. This can be done on a Sql Server. Open the SQL server software and
select the stored procedure in the object browser and right-click on the execute stored procedure
option. The stored procedure will be executed and a window will be displayed. In this window,
you can enter data and click on Ok button to complete the testing. The advantage of doing this
first is that the first part of the code of the application is tested. Once the logic for retrieving and
saving data is working fine, you can develop and connect the application to SQL server and test
the other parts of the application. After testing the saving and retrieving routines, you can test
your data access (DAL) component which contains the code to connect to database and call the
stored procedures. Next, you can test the business logic (BAL) components which contain the code
for implementing the domain business rules. Lastly, you can test the GUI of the application. The
application at this stage will include all the parts of the application. The testing procedure changes
if you use MVC in your application. Visual Studio provides an in-built tool to test MVC
applications. Note that the tests you conduct on your application should cover each and every
aspect of the application and should also be documented.
Highlight the work you have done on testing your application in your project report as this will
demonstrate your commitment to quality aspect of your project.

Part 2:
The process of application development begins with studying the working of the organization,
collecting all the information and laying it out in a format to facilitate the development of your
software project. Note that, you use the guidelines given below and collect the information and
then move on to the technical stage of your project creation. Firstly, choose a domain. Either you
can choose the broader ERP domain which covers the five domains Accounting, Inventory (Stock
in some countries), Manufacturing, Purchase (SCM) and Sales (SRM). Note that ERP by itself is
not a domain. It covers the five above mentioned domains. The HR (human resources) domain is
also considered as a module of the ERP domain. After choosing the domain, you can start
collecting the information by list out all the events which occur in the organization. For some of
you, this may be new, so let me explain.
An event in a company is a happening which can be recorded in a standard format. An event can
occur frequently or occasionally. For example, buying of consumables is an event which happens
frequently. Some events may happen occasionally. For example, purchase of a machine tool in a
manufacturing company may happen occasionally. For this event, purchase of machine tool is
recorded as a Fixed Asset purchase event. The details redcorded are name of the machine tool,
name of the vendor from whom we have purchased, amount we have paid, date of purchase,

30-04-2013 AM 08:38

Project Ideas for students of Engineering and MCA students

4 of 12

http://www.vkinfotek.com/fyp.html

under which head this purchase transaction is created. The value of this asset depreciates on a
yearly basis as per accounting regulations of the country. The value of this particular asset
reduces gradually, which can be inferred from the fact that if the company wants to sell it, it can
be sold only at a reduced price. When you record an event in an organization, the event has to
be explained in detail with information such as when do the events occur, what is the data to be
recorded, how many times does this event occur on a monthly or any other period, how many
people should be authorized to record this event, what is the designation of the person who
records this event and finally what is the impact of this event on other domains.
After listing out the events, the next step is to list the data which is recorded in every event.
Consider the example we discussed above - Purchase of Machine Tool. The event is the Purchase,
data recorded is date of purchase, name of vendor, description of the material purchased, cost of
the material, taxes if any and any other notes which may be of use. You will also have to detail
the data and type of data. Based on the information you have collected you will have to prepare
the requirement analysis report. After the requirement analysis is approved, the next step is to
develop the application. Your system requirement report should contain the following.

Work-flow or process flow diagram. This diagram describes how the system works.
For each business process or an event, identify the three main aspects - input, process and
output of the system.
Architecture of the application - Multi-Tier architecture, Two-Tier architecture.
List data entities and define relationships between entities using E-R diagram.
Normalized database structure.
User Interface of the application

ER diagram
The ER diagram represents entities and the relationship between them. To give you an idea of
what is an ER diagram and how it appears, I have considered a mini version of a Sales Order
Management system. Below is a diagram of the SOM ER diagram. A Customer initiates a
SalesOrder which contains multiple SalesOrderItems. Each SalesOrderItem lists a product which
belongs to a particular Category. This is only a part diagram of the full SOM system diagram.
Use this diagram as a guide to draw the ER diagram for your project. Listed below are the
entities and their purpose of a SOM system.

Customer : A person who places orders


SalesOrder : An order placed by a customer. A single order may have multiple Products
Product : A product is a thing or goods purchased by a customer
Category : A Category is a description to which a product or products belong
SalesOrderItem: A particular order can have multiple products. Each product in an order is
associated with a rate, qty and a value. The product and all the details of the product
forms the SalesOrderItem. An order can have multiple SalesOrderItems

Database
The system requirement report includes the database details. I have created the database to
store the SOM data and listed the tables below for you.

30-04-2013 AM 08:38

Project Ideas for students of Engineering and MCA students

5 of 12

http://www.vkinfotek.com/fyp.html

After creating the database with the above tables in the sql server, the database diagram
appears as follows. You can view this digram in a SQL Server by clicking on the database
diagram option.

30-04-2013 AM 08:38

Project Ideas for students of Engineering and MCA students

6 of 12

http://www.vkinfotek.com/fyp.html

Part 3:
Some of the key topics your software project should include 1. Create a framework for your multi-tier application
2. GridView
3. Data entry forms

Create Sales Order Mgt App Framework using Visual Studio


We discussed about the ER diagram and the database in Part 2. Now, we will discuss about the
framework for the SOM application. The diagram given below represents how your application
framework appears. There will be a Presentation Layer which contains the web forms and
interacts with the Business Layer which contains the business logic code and so on. The procedure
to create this framework is given below. You can follow the same procedure for any of the
domain you choose.
The first step is to create a solution and name it the myVbSolution. Within this solution, we will
create three projects. In the Figure given below, observe that the Project 1 is a class library and
under this class library, place Data Access objects which form the Data Access Layer of the SOM
application. Project 2 is also a class library and under this class library, place the business objects
which form the Business Layer. Project 3 is a web application and under this web application,
create web forms which form the Presentation Layer.

You create two class libraries, one for Data Access Layer and another for the Business Layer name them as myVbDataAccessLayer and myVbBusinessLayer respectively. Create a web
application and name it as myVbPresentationLayer. Our objective is to create a multi-layer
application and class libraries are the way to create and implement such applications. Class
Libraries enable us to separate the code completely and they exist in different layers. Listed
below are the steps to create the class library components for each layer in detail.
a. Creating a Class Library for the Data Access Layer
b. Creating a Class Library for the Business Layer
c. Creating a web Application for the Presentation Layer

30-04-2013 AM 08:38

Project Ideas for students of Engineering and MCA students

7 of 12

http://www.vkinfotek.com/fyp.html

a. Creating a Class Library for the Data Access Layer


1. In Visual Studio 2010 select File - New Project.
2. Select Visual Basic from the Project Type list and then choose the Class Library icon from the
Template list as shown in below figure.

3. Type the Project Name as myVbDataAccessLayer and Solution as myVbSolution.


4. Click Ok to create a New Project with a default Class called Class1.vb.
5. Rename the Class1.vb as DataServer.vb as shown in below figure.

When you create a Class Library, Visual Studio creates a default namespace, which can be
observed in the Project Properties. For our SOM application, you create your own namespace. Use
the Namespace statement to create a namespace named DataService and place the classes and
methods inside the namespace as shown in Figure. When Programming the Business Layer, we
can import this namespace by using the Imports statement.
Before you create a Class Library for the Business Layer, you need to build the myVbDataAccess
Layer project. Right click on the myVbDataAccessLayer project in the solution explorer and select
build option.

b. Creating a Class Library for the Business Layer


1. In Visual Studio 2010 select File - New Project.
2. Select Visual Basic from the Project Type list and then choose the Class Library icon from the
Template list.
3. Type the Project Name as myVbBusinessLayer and in the Solution drop down list box select
Add to Solution option.
4. Click Ok to create a New Project with a default Class called Class1.vb.

To use the component myDataAccessLayer in the Business Layer, we need to add a reference to
the component using Add Reference dialog box. To activate this dialog box, click on the Business
Layer project and select the Add Reference option. The dialog box is shown below.

30-04-2013 AM 08:38

Project Ideas for students of Engineering and MCA students

8 of 12

http://www.vkinfotek.com/fyp.html

Choose the Projects tab and select the myVbDataAccessLayer project and click Ok. Now, we can
import the namespace of the myVbDataAccessLayer component. The below figure shows the
screenshot of the class Class1.vb with the namespaces.

I have listed out all the steps of creating the framework for the multi-tier SOM web application.
All the three layers have been created. Follow these steps when you create your software
project, the steps are same whichever domain you choose. The next step is to create the
Presentation Layer.

c. Creating a Web application for the Presentation Layer


The next step is to create the Presentation Layer.
1. In Visual Studio 2010 select File - New Project.
2. Select Visual Basic from the Project Type list and then choose the Web application icon from
the Template list.
3. Type the Project Name as myPresentationLayer and in the Solution dropdown listbox select
Add to Solution option.
4. Click Ok to create a New Project.

User Interface
User interface will form an important part of your software project. Designing an user interface
using Visual Studio is comparatively easy because of the advanced tools available and various
controls available. I will discuss about the GridView control in detail as it will form an important
part of your software interface. In fact, you will use the GridView control in many of your forms.

GridView
A GridView control ia an important part of any data intensive applications user interface. Given
below is a picture of a GridView control displaying some data. Observe that you can do many
things to control the appearance of the GridView control. An important application of GridView is
to display data from two tables with one to many relationships. An alternative description of a
GrioView control is - A GridView control is a spreadsheet like control consisting of rows and
columns, the intersection of which is a cell in which you can display or enter data.
To use a GridView in an application, we have to bind it to a datasource control. After binding it,
you can display, edit and delete data.

30-04-2013 AM 08:38

Project Ideas for students of Engineering and MCA students

9 of 12

http://www.vkinfotek.com/fyp.html

Key points you should know to incorporate a GridView in your software project.

Programmatic DataBinding in GridView control.


Bind a DataSet object to a GridView control.
Use fields with the GridView control.
Use column field element to display DropDownLists or HyperLinks or Images in columns.
Use BoundFields
Use CommandField to display one or more command buttons in a column of the GridView
control.
Use Templatefields in a GridView control to add ASP.Net controls and add DataBinding
Expressions to a GridView control. For example, when using a GridView control to edit
database records, we may need to display an interface which contains DropDownLists,
Checkboxes, Labels, Textboxes and Validation controls.
Display a Drop-Down List when Editing in the GridView using EditItemTemplate

Steps to create the GridView control with templates to display and


edit customer data
Declare the GridView and set the AutoGenerateColumns property to false
Create Bound columns for CustomerCode, CustomerName and CustomerAdress fields
Create a Template column
1. Create <ItemTemplate> to display GroupName
2. Create <EditItemTemplate> to display DropDownList control to select a group when
editing the record
3. Create SqlDataSource control and set the SelectCommand and UpdateCommand
properties to display and update records from the AccountsTable

Designing the SalesOrderForm in the SOM system


Listed below are the data fields and their purpose used in the OrderForm.aspx (this is the name
I have given to the Sales Order Form).
Order no:

A unique number assigned to each order

Order Date:

The date on which an order is created.

Customer Name:

The customer to whom this particular order has to be delivered.

Shipping Address:

The address to which the consignment has to be shipped.

Due Date:

The date on or before the order has to be completed.

GridView:

Itemname, Qty, Rate, Value Details of the products which have to be


delivered to the customer are entered here.

Discount:

An amount which is deducted from the order value.

Freight:

The amount charged for shipping products to the customer.

Tax:

The amount to be paid to the tax authorities by the organization and


collected from the customer.

Order Total:

This is the sum total of all the values of the products. The value is a
multiple of quantity and rate per unit.

Order Net:

The Net amount is the sum of order total, tax and freight less the discount
amount. Order Net = Order Total +Tax + Freight - Discount

Buttons and
Functionality
AddNewRecord :

To add a new row of data i.e., new item, click this button. When clicked, a
new row of data is ready to accept new data.

Delete :

To delete a row of data, click this button.

Edit :

To modify the record, click this button.

Save :

To commit the transaction into the database, click this button.

30-04-2013 AM 08:38

Project Ideas for students of Engineering and MCA students

10 of 12

http://www.vkinfotek.com/fyp.html

The OrderForm.aspx is used to record sales order transactions and acepts sales order data such
as quantity of goods to be delivered, the name of the customer buying the goods and the date
of delivery. The form has to do the following:

1. Accept user input


2. Populate a DropDownList box with customer names.
3. Allow users to add products to the Sales Order from a product list.
4. Calculate the order total amount and net order amount.

Here are the steps which will help you to design Sales Order Form

1. Place two ObjectDatasource controls (not visible in the form)


2. Place the DropDownList control and bind it to the ObjectDataSource control to display
Customer names
3. Create and set important properties and methods of the GridView control.
4. Create Template columns in the GridView control using <asp:TemplateField> element.
5. Use the following three types of templates in each Template Column.
1.
2.
3.
1.
2.

ItemTemplate
EditItemTemplate
Footer Template
Create a Template column for the Item Name column in the OrderForm
Create a Template column for the Qty column in the OrderForm

3. Create a Template column for the Rate column in the OrderForm


4. Create a Template column for the Value column in the OrderForm
6. Create Template column for Insert button, Delete Command button and Edit Command
button
7. Create EmptyDataTemplate to accept first row of data when data source is empty.
1. This Template is specifically designed to accept data for the first row in the GridView
control.
8. Place Add NewRecord button and Save button.
9. Place TextBox controls and corresponding Label controls for Discount, Freight, Tax, Order
Total and Order Net.

Part 4:
How to make your project special?
There are many ways to make your project unique. One way is to add a new technology to your
project. For example, you can use the any one of the technology provided by Microsoft to create
a Data Access Layer.

1. ADO.Net technology with Datasets feature


2. Linq to SQL
3. Entity Framework
You can replace the Data Access Layer with any one of the above technology and demonstrate a
variation of your existing project.

30-04-2013 AM 08:38

Project Ideas for students of Engineering and MCA students

11 of 12

http://www.vkinfotek.com/fyp.html

The below figure demonstratrs how a three-tier architectured application looks like when Entity
Framework is used as the Data Access technology.

Entity Framework uses EDM which is evolved from Entity Relationship Modeling. EDM is the link
between the model and the database and stores the mapping information.
The ADO.NET Entity Data Model is created using the ADO.NET Entity Data Model designer tool
provided with Microsoft Entity Framework 4. The Microsoft Entity Framework 4 is available with
.Net framework 4 and can be used in Visual studio 2010. Using this tool we can graphically
create the EDM and it is represented as a EDMX file.

Using ASP.Net MVC as web application framework


Using MVC as the web application framework is an another variation you can consider. MVC
stands for Model View Controller. MVC architecture is a Microsoft recommended ASP.NET web
application development architecture. This architecture does not replace the web forms model
which we are familiar with. When we develop a web application using MVC architectural pattern,
the application is divided into three components, which are Model, View and Controller.

This design pattern separates the data access and business logic from the presentation code and
creates a feature to test GUI. Any application developed based on the MVC pattern is easier to
test than an application developed on the page controller pattern.
A page of a web application developed using the MVC design pattern can be tested easily because
individual components can be tested in isolation. This is because the MVC design separates the
components and user interfaces.

Suggested Project titles


Desktop ERP application with ADO.Net technology
Web ERP application with ADO.Net technology
Desktop ERP application with Linq to Sql as the Data Access Technology
Web ERP application with Linq to Sql as the Data Access Technology
Desktop ERP application with Entity Framework
ASP.Net MVC Web application with Entity Framework

Free .Net software tools you can use to create your project
Visual Studio downloads - 90 day trial - You can easily finish your project!
SQL Server
Microsoft ASPX essential download

30-04-2013 AM 08:38

Project Ideas for students of Engineering and MCA students

12 of 12

http://www.vkinfotek.com/fyp.html

Sitemap

About Us

Sitemap

About Us
Terms of use

Copyright 2013 - All Rights Reserved - VKInfotek.com

30-04-2013 AM 08:38

You might also like