Project Titles and General Guidelines Document

advertisement
Software Project Guide
Page 1 of 14
Software Project Guide
Semester Fall 2014
Created By,
Research and Development section,
Department of Computer Science,
Virtual University of Pakistan
Research and Development Section, Department of Computer Science,
Virtual University of Pakistan
Software Project Guide
Page 2 of 14
Table of contents:
1.
2.
3.
4.
5.
6.
7.
Topics
What is a software project?
Purpose of a software project
Should I take software project?
Eligibility Criteria
Guidelines to register for a Project
Grading Policy
Software Projects for Fall 2014
Page no.
3
3
4
4
4
4
5
Research and Development Section, Department of Computer Science,
Virtual University of Pakistan
Software Project Guide
Page 3 of 14
Whom to Contact?
This booklet provides comprehensive details to the students who are planning to take Software
development projects as their final projects. Therefore, such students are advised to go through it in
complete.
If any of the quires are unsatisfied even after having read the information given in rest of the booklet
then students should contact to concerned supervisor.
1. What is a Software Project?
At first it is important to understand what the software is? “Software” can be defined comprehensively
as,
1“Computer
Programs that, when executed provide desired function and performance, data structures
that enable the programs to adequately manipulate information and documents that describe the
operation and use of programs”.
Looking at the definition indicates clearly that developing software does not mean mere development of
programs (or code) rather it requires the related documents to be produced as well.
To develop software effectively requires following a process. Each stage of this process culminates in one
or more artifacts.
Examples of software projects are, software developed for face recognition, building a Customer
Relationship Management (CRM) System, Flight Simulation System, Point of Sale (PoS) System, a Web
Portal, an Electronic Store Front etc.
Software projects can be aimed at producing a desktop application, an embedded application (like to be
used in microwave oven) or some online application.
2. Purpose of a Software Project:
The University aims at producing such IT professionals who leave the impression of excellence in
knowledge and skills in their professional lives. Students are encouraged to come up with innovative and
unexplored ideas while addressing a problem.
After having completed the project students will be expected to have the following skills,
It will provide the students with an opportunity to implement the concepts they have learned
throughout their degree program so far.
Awareness of the latest technologies being used in the industry and more importantly the
application of those technologies.
Knowledge of all the formalities required to undertake a software project.
Enough confidence to take the challenges of their practical environment.
This definition is taken from the book “Software Engineering A Practitioner’s Approach (Fourth
Edition) by Roger S. Pressman”
1
Research and Development Section, Department of Computer Science,
Virtual University of Pakistan
Software Project Guide
Page 4 of 14
3. Should I take Software Project?
The development project is recommended for those students who have an aptitude and interest (equally
important) for development. Presence of analytical skills to solve a problem is also highly requisite. If a
student finds these ingredients in himself/herself then deficiencies (to a certain extent) in the areas like
programming, data base and software engineering etc can be overcome but such a student will have to
put extra efforts (depending upon the deficiencies) to make his/her weak areas stronger. As having
ambitions only does not lead to the goal, one has to strive for those ambitions to get them materialized.
4. Eligibility Criteria
No student below 1.75 Effective CGPA will be allowed to take the project title.
MCS/MIT Students must have completed 30 credit hours to become eligible for taking the final
project. So don’t enroll in CS619 course or drop your cs619 course if you have earned less than 30
credit hours.
BSCS/BSIT Students must have completed 90 credit hours to become eligible for taking the final
project. So don’t enroll in CS619 course or drop your cs619 course if you earned less than 90
credit hours.
5. Guidelines to register for a Project
Please read the following to get to know, how you can get registered for you final project.
First of all, you have to enroll in CS619 course in Fall 2014 semester through course selection
(contact course_selection@vu.edu.pk for enrollment).
Carefully read the eligibility criteria and only send a request if you are eligible to take a final
project title. Otherwise drop your cs619 course. The project selection will be done through LMS.
Students will be required to make groups. In a group maximum two (2) students are allowed.
A student can also choose to do the project alone (a single member of the group instead of two)
Students who fail to submit their final project in specified duration (two consecutive semesters)
will need to take course CS619 in extra semester to continue the same project.
6. Grading Policy
Students will be clearly communicated about the deliverables they need to submit on specified dates.
This is important to remember that each deliverable carries a significant weightage so students are
advised to take each deliverable very seriously and submit it according to the date announcements
according to the submission schedule.
While evaluating the students the following factors will be considered important
Effective use of time and of visual aids.
Research and Development Section, Department of Computer Science,
Virtual University of Pakistan
Software Project Guide
Page 5 of 14
Organizational and presentation skills.
Seriousness and dedication of the students in meeting the announced dates for each deliverable.
7. Software Projects for Fall 2014
Following is the list of projects which have been offered for Fall 2014.
Students can only select a project from this given list.
Students have to adhere to the requirements specified with each project as the evaluation of the
executable artifact will be performed accordingly.
Next, each offered project’s detailed information is provided.
Research and Development Section, Department of Computer Science,
Virtual University of Pakistan
Software Project Guide
Page 6 of 14
Real-Time Financial Data Warehouse
The Executives of ABC University wants to know the financial condition of their
organization. The executives need such a repository in which most recent data is available
from different departments for analysis. For this we need to develop a Real-Time DWH
having most recent data for effective decision making.
A DWH collects the data from multiple operational source systems (OLTP – On-Line
Transaction Processing) and stores it in a central repository, which is further used for
analysis. However traditionally, the data in DWH is loaded periodically – typically in a
daily, weekly or even monthly basis which means that its data is not up-to-date. The data
which is saved in OLTP between those time periods (when data is loaded) is not included
in reports generated for analysis from DWH.
Real-Time DWH is a solution of this problem as it provides the most recent data for
analysis. When any data is entered in OLTP, It is reflected in the repository of Real-Time
DWH. We have to perform ETL process at the moment of insertion of any new record in
OLTP. It is done with the special techniques.
Pre-requisite:
Student should have the strong concepts of Databases and Data warehouse
Functional Requirements:
1.
This is a desktop application
2.
There are two users of this application, Admin and Executive.
3.
Admin can add or remove any Executive.
4.
Different departments in the university are using their own databases (OLTPs) to
store the information according to their need.
4.1. Accounts department stores the information of revenue such as fees submitted by
the students and money earned by the selling of the software products developed
by its software house.
4.2. Finance department stores the information about the expenses of the university
such as salaries of employees, utility bills, furniture, electrical and electronic
devices.
4.3. Registration department stores the information about the student’s bio data
including the degrees in which they are enrolled.
4.4. HR department stores the information about the employees of the university
(Faculty & Non Faculty).
5.
All the departments (above) are using SQL server DBMS.
Research and Development Section, Department of Computer Science,
Virtual University of Pakistan
Software Project Guide
6.
7.
8.
8.1.
8.2.
9.
10.
Page 7 of 14
The star schema in this application will have the multiple fact tables.
The procedure of ETL will took place at the time of insertion of any new record in
OLTP. For this we will use triggers. (Student can use any other technique after
getting the approval from his concerned supervisor).
Executive has the interface to view different reports regarding expenses and
revenue.
The executive will view the reports regarding expenses. For example he will be
interested to see the total expenses or a particular type of expense in a particular
time period etc.
The executives will view the reports regarding revenue. For example he will be
interested to view the total revenue or a particular type of revenue at the particular
time period etc.
Reports will be generated on run time on the basis of different parameters given by
the particular executive. Parameters have been discussed above in section 4.1, 4.2,
4.3 and 4.4
Interface must provide the facility to Drill Down and Roll UP Operations.
Tools: Microsoft.Net Framework, Java, SQL Server
Supervisor Name: Shabib Aftab
Email ID: shabib.aftab@vu.edu.pk
Research and Development Section, Department of Computer Science,
Virtual University of Pakistan
Software Project Guide
Page 8 of 14
Authentication Technique with OTP
One time password (OTP) is just what the name gives you an idea about a password that
is only applicable for one login. The advantage of OTPs is that it proposes much higher
security than static password also called conventional way of authentication. OTPs is
protected against password sniffing attacks, if an hacker use software to collect your data
traffic, video records when you type on your keyboard, or use social engineering, it
doesn't matter since the password that the attacker gets hold on will not be valid to use.
An OTP can be generated using different methods and is often used in combination with a
device that is synchronized with an authentication server.
Time-Based OTPs In the time-based method, a device with an internal clock generates
passwords that are depending on the current time. For example, every minute a new
password is generated in the device, and the same password is generated at the
authentication server. When the user wants to login to a service or system, the current
OTP that is displayed on the device is used.
The user's mobile phone will work as the authentication device, in which the user have to
enter a 4-digit PIN code to generate an OTP that can be used for login. This is done by any
mobile supported application running on the phone.
The OTP that is generated on the mobile phone is based on three components which will
be hashed together with MD5 or any well known encryption algorithm.
Functional Requirements:
1. 4-digit PIN code that the user enters.
2. A secret random number that was created during device-initialization (Init-secret) that
only exists on the user's mobile device.
3. The OTP algorithm simultaneously executes the code at mobile as well as Server and
generates one time password that will be valid defined session /time stamp.
4. Make log file (Data base) manage all record of specific user id.
5. After the login application operates any other operation.
Application Type:
It will be a native mobile application; you can use any modern mobile OS platform (e.g.
Android, Apple, Windows Mobile etc) for mobile application and PHP/Dot net frame for
server side languages.
Research and Development Section, Department of Computer Science,
Virtual University of Pakistan
Software Project Guide
Page 9 of 14
The MD5 message-digest algorithm is a widely used cryptographic hash
function producing a 128-bit (16-byte) hash value, typically expressed in text format as a
32 digit hexadecimal number. MD5 has been utilized in a wide variety of cryptographic
applications, and is also commonly used to verify data integrity.
http://www.miraclesalad.com/webtools/md5.php
http://en.wikipedia.org/wiki/MD5
Algorithm [edit]
Figure 1. One MD5 operation. MD5 consists of 64 of these operations, grouped in four
rounds of 16 operations. F is a nonlinear function; one function is used in each
round. Mi denotes a 32-bit block of the message input, and Ki denotes a 32-bit constant,
different for each operation. s denotes a left bit rotation by s places; s varies for each
operation. denotes addition modulo 232.
MD5 processes a variable-length message into a fixed-length output of 128 bits. The input
message is broken up into chunks of 512-bit blocks (sixteen 32-bit words); the message
is padded so that its length is divisible by 512. The padding works as follows: first a single
bit, 1, is appended to the end of the message. This is followed by as many zeros as are
required to bring the length of the message up to 64 bits fewer than a multiple of 512.
The remaining bits are filled up with 64 bits representing the length of the original
message, modulo 264.
The main MD5 algorithm operates on a 128-bit state, divided into four 32-bit words,
denoted A, B, C, and D. These are initialized to certain fixed constants. The main algorithm
then uses each 512-bit message block in turn to modify the state. The processing of a
message block consists of four similar stages, termed rounds; each round is composed of
16 similar operations based on a non-linear function F, modular addition, and left
rotation. Figure 1 illustrates one operation within a round. There are four possible
functions F; a different one is used in each round:
Research and Development Section, Department of Computer Science,
Virtual University of Pakistan
Software Project Guide
Page 10 of 14
denote the XOR, AND, OR and NOT operations respectively.
Scratch the card and insert 14 digit number for card loading is normal and regular activity
for mobile users. In this project user will just take picture for mobile card and it will be
automatically recharged.
This MD5 hash generator is useful for encoding passwords, credit cards numbers and
other sensitive date into MySQL, Postgress or other databases. PHP programmers, ASP
programmers and anyone developing on MySQL, SQL, Postgress or similar should find this
online tool an especially handy resource.
What is an MD5 hash?
An MD5 hash is created by taking a string of an any length and encoding it into a 128-bit
fingerprint. Encoding the same string using the MD5 algorithm will always result in the
same 128-bit hash output. MD5 hashes are commonly used with smaller strings when
storing passwords, credit card numbers or other sensitive data in databases such as the
popular MySQL. This tool provides a quick and easy way to encode an MD5 hash from a
simple string of up to 256 characters in length.
MD5 hashes are also used to ensure the data integrity of files. Because the MD5 hash
algorithm always produces the same output for the same given input, users can compare
a hash of the source file with a newly created hash of the destination file to check that it
is intact and unmodified.
An MD5 hash is NOT encryption. It is simply a fingerprint of the given input. However, it is
a one-way transaction and as such it is almost impossible to reverse engineer an MD5
hash to retrieve the original string.
Time-Based OTPs In the time-based method, a device with an internal clock generates
passwords that are depending on the current time. For example, every minute a new
password is generated in the device, and the same password is generated at the
authentication server. When the user wants to login to a service or system, the current
OTP that is displayed on the device is used.
Supervisor Name: Tanweer Arshad
Email ID: as2@vu.edu.pk
Research and Development Section, Department of Computer Science,
Virtual University of Pakistan
Software Project Guide
Page 11 of 14
Mute Me Here
We face a problem of mobile ringing tone when we are at some place where a ringing
mobile causes embarrassment for us. For example: while offering prayer in a mosque,
attending a meeting, inside a library, inside a seminar hall etc. This application will
provide a solution to this, using smart phone’s GPS, Google (or other) Maps feature as per
mobile phone’s OS and development frameworks. It will actually require the user to
define areas on the map, at which the smart phone shall be muted. The user should be
able to use mute options (profile selection, vibration setting, sound setting, notification
settings etc). This way as soon as a user walks into a building whose coordinates are
defined in the application, the user does not have to bother about turning off the phone
or setting silent option. In addition to location based muting, it will also facilitate time
based muting. Following are the main project features:
This is a single user mobile application so there shall be only one actor i.e. User, Following
are the required features of this project:
Location Based Muting
– Application will require user to define one or more locations at which the mobile
phone shall be muted.
– Phone should be muted when user moves into any of the pre-defined locations and
it should be automatically un-muted when the user walks out of that location. For
this purpose, application must store the last used settings before muting and unmuting to apply or restore.
– User should be able to define mute settings. Either full profile selection from
default profiles of the phone, or define settings separately i.e. phone settings for
volume, vibration, LED or backlight notification (if available in the phone set).
Time Based Muting
– Application will allow user to define time based muting, instead of location based
muting. The time based muting shall mute the phone based on pre-defined time
spans, further setting/working will be similar to what discussed in Location Based
Muting section.
Application Type: It will be a native mobile application. You can pick any modern mobile
OS platform (e.g. Android, Apple, Windows Mobile etc) for smart phones.
Tools & Technologies: Any modern tool and technology set, used for developing mobile
applications based on the platforms discussed in Application Type.
Supervisor Name: Usman Waheed
Email ID: usman.waheed@vu.edu.pk
Research and Development Section, Department of Computer Science,
Virtual University of Pakistan
Software Project Guide
Page 12 of 14
Bus Ticket Reservation System
Introduction:
A bus travelling company wants to automate its ticket reservation system to bring a
change in the trend of manual ticket reservation system. This system will bring
improvements in the managements of bus services.
The problems with manual system is that the passengers have to stand up in a long
queue to buy tickets or asking for some information. In manual system all the records
are maintained in documents format which needs special place and protection to keep
the saved record.
A system is required to makes the reservation system easier. This system will provide
various facilities like contain record of reservation, facility to check the ticket availability,
cancellation and change ticket, search for the most possible prices, Schedules of bus
departure and arrival on all terminals and search and choose his/her seat position and
ticket payment procedure. This website will be available online twenty four hour and
seven days per a week.
The company also provides cargo services in different cities. Customers can get
information about cargo services tariff, cargo services schedules and consignment
tracking and hotel room reservation during stay on long tour for VIP customers.
Actors:
1. Admin
2. Call Operators
3. Manager
4. Bus Staff (Driver, Security guard , Doctor , Bus hostess)
5. Customers(users)
6. visitors
Functional Requirements:
1.
System should provide facility for all actors for log into the site.
2.
System should provide facility for send email/sms to all actors if they forgot
password.
3.
System should provide facility for register new visitors by himself.
4.
System should provide facility for all actors to change his password.
5.
System should provide facility for all customers to change his profile.
6.
System should provide facility for only admin to add, delete and edit news and
events.
7.
System should provide facility for admin to reset user’s passwords.
Research and Development Section, Department of Computer Science,
Virtual University of Pakistan
Software Project Guide
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
Page 13 of 14
System should provide facility for only admin to block, view, edit to all
customers.
System should provide facility for only admin to add, block, view, edit to all
employees.
System should provide facility for only admin to change all fares of tickets.
System should provide facility for only admin to change all fares of cargo.
System should provide facility for only admin to change all fares of waiting
Rooms.
System should provide facility for only admin to add new terminal (add new city
in route).
System should provide facility for only admin to generate staff salary slips.
System should provide facility for only admin to view about the credit card
details of customers.
System should provide facility for only call operator to booking the ticket and
booking cargo consignments but not confirms. Create customers account for
login into the site (auto generated after booking of the ticket).
System should provide facility for manager to confirm the booking after
payment receives.
System should provide facility when ticket confirms an email and sms send to
the customer.
System should provide facility for manager he creates all the tickets slips.
System should provide facility for staff to check their duties time and place of
duty. Each bus has total 4 member of the staff (Driver, Security guard, Doctor,
Bus hostess) system provide facility for each staff member has to enter their
employee id number and check his\her current scheduled.
System should provide facility to only customers for booking the ticket and
booking cargo consignments but not confirms.
System should provide facility to customers to edit profile and change password.
System should provide facility to customers to register in site.
System should provide facility to customers to search reservation.
System should provide facility to customers to track consignments.
System should provide facility to generate the pdf for confirm ticket and confirm
cargo reservation.
System should provide facility to save all the reservations of each customer.
provide 5% discount to all regular customers (2nd time reservation include in
regular customer)
company provide 10% discount to family package (if buy more than 5 tickets)
Each bus contains 2 extra seats for emergency cases extra seats has extra
reservation charges, 30 % extra charges than regular ticket rate.
Query the buses for two weeks (Only two weeks advance reservation is
available).
No reservation before two days can be done.
Research and Development Section, Department of Computer Science,
Virtual University of Pakistan
Software Project Guide
33.
34.
35.
36.
37.
38.
Page 14 of 14
Cancel reservation 50% deducted from the whole amount. (Cancellation
interface closed before 3 hours of the confirm ticket date and time).
Change reservation 20% deduction from the whole amount. (Cancellation
interface closed before 3 hours of the confirm cargo date and time).
System should provide facility to stay in room during the journey for the VIP
customers and the paying customers
System should provide facility for book table in restaurant during the journey for
the vip customers.
payment is through credit card and if customer has no credit card than customer
send money through easy paisa when a money transfer sms is receive by the
company with customer id number and phone no than the ticket is confirm .
Money is taken out from customers account after a verification call.
Tools: You can use any programming language to develop this website.
Supervisor Name: Muhammad Tariq Pervez
Email ID: m.tariq@vu.edu.pk
Research and Development Section, Department of Computer Science,
Virtual University of Pakistan
Download