vu final project

vu final project

Sunday 26 October 2014

vu final projects cs619 Semester Spring 2014

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,

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

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 Spring 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.
  Organizational and presentation skills.
  Seriousness and dedication of the students in meeting the announced dates for each deliverable.


7. Software Projects for Spring 2014

Following is the list of projects which have been offered for Spring 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.

Sequence Similarity and Identity Calculator

This tool will calculate similarity and identity of each sequence in an alignment.

For reference, the following links may be visited.

http://imed.med.ucm.es/Tools/sias.html

http://imed.med.ucm.es/Tools/sias_help.html

MatGAT (Matrix Global Alignment Tool) is tool that generates is tool that generates similarity/identity matrices for DNA or protein sequences


Task: You will develop a tool that may handle very big alignments perhaps of unlimited size.




Tools & Technologies
Java


Supervisor: Muhammad Tariq Pervez (m.tariq@vu.edu.pk)
Application Type: Desktop
Possible Students: 1 to 2












Mobile Hidden Object Game

Hidden object game is categorized under ‘puzzle games’. In this game, a player is required to find various items (objects) that are placed on a simple picture with a lot of objects. The required objects are embedded in the picture in such a way that they are not visible easily. This is achieved by either mixing foreground and background color combinations OR object patterns.  The player is required to touch an object which is one of the objects required at a particular level (stage). When the player touches a correct object, it is removed from the picture or it is marked. The game proceeds with increased difficulty at each stage.

Following are some sample games for you to get the basic idea:
http://www.disney.co.uk/disney-games/play/wall-e/hidden-object/
http://www.hidden4fun.com/hidden-object-games/3035/House-of-Treasures.html
http://www.mindjolt.com/egypt-hidden-objects.html

[Note: The above links are just to get basic idea about following requirements, make sure you know what type of application to develop from Application Type heading under this project]



This is a single player game so only one actor i.e. Player, Following are the required features of this project:

1. It should have at least 10 stages, and each stage should offer more difficulty.

2. In start of each stage, the game will display a list of 10 objects to find (this list can be simple text i.e. names of objects, or the shapes of the objects).

3. The game application should actually have 20 to-be-required required objects at each stage, but the player is required to find 10 objects. So the game will set the required 10 objects randomly every time a stage is started.

4. When a player touches a required object, it should be removed from required list (or it should be marked). It should also be removed or marked from the picture.

5. It should be a time based game. Each stage should have a fixed time to complete, or the time can be set according to difficulty level i.e. time limit decreases a few seconds on each next level. If the player is able to find all 10 objects within the specified time, the game will move to next stage, Otherwise the game ends.

6. It should support 2 hints for each stage. When player touches hints, the application will indicate one of objects that are still not picked up by the player.

7. The application should be able to save game state when player opts to save the game. The next time game is launched, it will show options to Play New Game or Continue Last Game. On choosing continue option, player should be able to resume the game from last saved state.


Application Type
It will be a mobile application, you can pick any modern mobile OS platform (e.g. Android, Apple, Windows Mobile etc)


Tools & Technologies
Any modern tool and technology set used for developing mobile games based on the platforms discussed in Application Type.


Supervisor: Usman Waheed (usman.waheed@vu.edu.pk)
Application Type: Native Mobile Application
Possible Students: 1 to 2





















Virtual Screen Splitter (VSP)

Mostly we perform several tasks on our systems and each task may require separate windows for execution on desktop. A lot of time is consumed switching and resizing windows and face a lot of problem to view all windows at a time.

VSP will allow main screen to be split into two or more sections. It will be helpful for the active program’s window to be resized properly to one part of the screen. Using this utility, User will be able to do a split system desktop into two or more areas so that active application would not cover up “Full” physical screen when maximized. This way user can visualize parallel windows in defined area that user has a separate monitor for working (virtually) also called “multi-monitor features of Windows”.

It allows user to position and size windows to sections/areas of monitors and helps user to efficiently manage many active windows parallel.

Following image depicts virtually split of desktop screen into two sections/areas:




NOTE: If any student interested in Biometric Recognition or routing protocols in WSN, the student should send a project proposal at as2@vu.edu.pk

Supervisor: Tanweer Arshad (as2@vu.edu.pk)
Application Type: Desktop
Possible Students: 1 to 2



“LYRICSER” The Sound Mixer
Lyricser is a desktop application which can be used to play several sound files at the same time with different volumes. Such as Sound file # 1 is playing with very low volume and sound file # 2 is playing with medium volume and so on. This software also provides us the facility to record and save the mixed sound.

User can select and play 5 sound files parallel (Software should be able to play following audio formats mp3, ra and rm, wma).

User can record and save mixed sound at his desire location on hard disk.

Besides 5 sound files which can be played at the same time, user can include any sound/his voice from microphone. Now there are 6 parallel sounds which can be played at the same time. (5 files selected from the hard disk and one input from the microphone).

Separate Volume Controller should be available for each sound file.





Separate Sound Graph should be available with each volume controller for each sound file.















There should be options for the tuning of sound effects with each volume controller for each sound file. (User would be able to optimize the bass, stereo, and other audio effects).






There would be one Master Sound Controller along with sound graph and tuning options, which would control the overall sound output from the software. This master sound controller would also be used to play the recorded file.


Supervisor: Shabib Aftab (shabib.aftab@vu.edu.pk)
Application Type: Desktop
Possible Students: 1 to 2
Proposed Tools: Java, Microsoft Dot Net


















Catering Stock Program

1.0 Introduction

This document contains the Software Requirements Specification of Catering’s Stock Control Program.

1.1 About the Company

Catering Support Service Company is into a wide range of catering operations including workers camps, cafeterias, canteens, banquets and outdoor catering services, This company also operates different accommodation complexes that provide a complete package of serviced housing including catering, housekeeping, laundry and other hospitality services for a variety of customers. With its base at a city, the company’s operations are spread over a wide territory of a country. Following is an overview structure of our organization.





2.0 Purpose:

New Stock program for control and monitoring of Stock Receipts, Transfers, Consumption and Physical Count and discrepancies. This program should be simple and helpful not only to the Store Keeper to handle the daily issues and request for production but also to the supervisor/area controller for monitoring of stock quantities and cost well before the production.

3.0 Scope:
The general process will be starting from requisition to Receiving Goods, Transfer in, Transfer
Out, Consumption of goods, getting closing stock and taking the physical stock. Inventory will be based on Stock Card and Stock Sheet, Stock card is transaction details of one item and stock sheet will be transaction details of all items. Maintaining and tracking the daily stock movement in an efficient way, so that it can be audited any time and data can be exported in required format.
4.0 Aim & Objective of the project
The main aim of this project is to provide a better system to the sites to handle all their daily stock related activities digitally. So that the stock can be managed at the individuals sites and then data can be exported and sent to head office for consolidation and upload stock transactions into our ERP system. So, that the performance of the sites can be monitored and can be audited as well. Also To produce a simple, yet suitably effective user friendly interface and a system that is easily maintainable, efficient and practical.

The proposed system should have the following objectives to be achieved.
•  Offline application
•  User Friendly Environment, Easy to use
•  Lesser data size and Space with low system spec. requirement
•  Easy searching and data entry option
•  Data templates for reusability
•  Fast information Retrieval
•  Less man power literacy requirement
•  Accuracy of data with Accountability
•  Data import export Facility

5.0 Overview

5.1 Existing System:
Currently CSSC (Catering Support Service Company) is using excel based application called “Stock Program”.

5.2 Drawbacks:
•    Size of data is huge which can’t be emailed.
•    Query based Reporting not available.
•    Require lot of Technical support.
•    Unable to consolidate data of different sites.
•    Unable to export data in required formats.
•    Due to multiple linked excel sheets, maintaining fixed file path is difficult.
•    Problem while changing file names and path.
•    Difficult to create more sheets because of long formulas.
•    Unable to track Purchase Discrepancies
•    Unable to do Requisition Consolidation
•    Notifications or prompts to highlight stock level or expiry date not available.



6.0 Plan:
As per the business process Purchase dept. is central and doing purchases centrally, located in head office for all the multiple projects. While, the purchase order will be processed in head office and copy will be sent to the projects and suppliers. Project will received items and will maintain their stock using stock program and will be exported and sent to the head office periodically by using mediums like: flash drive, email. Where all the projects data will be consolidated and analyzed by the concerned. Based on that data the project’s stock, daily cost and man-days will be extracted. And necessary actions will be taken. The consolidation will be done in three layers 1. Projects individually 2. Area Wise 3. Company wise. Ultimately the required data will be exported and uploaded into the main ERP system.

7.0 Requirement Specifications:

7.1 General Overview:
Head office will send exported data of updated items master list along with the projects list to all the projects who will import it into their system for use.
User must select Number of person he needs to cook food for and the menu items. System shall calculate the requirement based on number of persons. And shall check for the available stock. Accordingly the requisition will be generated by the system.

User will receive stock through supplier or warehouse and will log the quantities and unit price, expiry date (not mandatory for all items) of the item. User can also transfer stock to another project store (called Transfer out) with quantity and amount. User can also receive stock from another project store (called Transfer In) with quantity and amount. User will enter the stock consumption in the system to get daily closing stock.
This all movement in stock will result into following:

a.         Maintaining Stock Sheet. b.         Maintaining Stock Card.
c. Per many day cost (if user have served 200 people in a day with cooked food. It will be divided on the food material consumed cost per day).
d.         Control of stock.
e.         Stock movement tracking.
f.         Multiple dimensional Reports, soft will be exported to be sent to head office. g.         Performance analysis
h.         Consolidation of multiple stores data at head office.
i.         Summary reports with different aspects. (Req, Purchases, Transfers, Project wise summary)
j. system should show fast moving and slow moving items based on consumption pattern in a defined period.
k. should have option to lock Date or week (user should not be able to enter back dated trans. But supervisor or admin. Can have access to do so.)
Following is the Stock cycle diagram for understanding:



CSP STOCK









Opening Qty.

Closing Stock





Requisitions

Consumption





Reciepts

Transfer Out




Transfer In





Closing Stock = Opening + Receipts + Transfer In – Transfer Out - Consumption




Featured specifications are as mentioned below:

7.2 Internal Store Requisition:


Check Available
Stock                      No. of Man-days

Historical Analysis
of Requisition               Using Templates

Generate
Requisition


Daily Internal Store Requisition Process


Cook will raise daily internal store requisition will submit for Supervisor approval. Based on number of man-days, Menu and available stock. Internal Store requisition can be same as per the previous days so using saved templates functionality (or copy) user will create internal store requisition. At the end of the day those items will be considered as consumed. After final approval of requisition it will be sent back to the project that will upload their approved requisition. Versions of requisitions can be maintained in the system, to see how much they requested and how much was approved. But older version will not be active to use. Receiving of material will be as per the latest version.


7.3 Site Requisition (periodically):
Below diagram will explain the site requisition process:



Store Keeper
Create Requisition



NO

Sent to Supervisor for Approval



Yes




Area Manager                      No



Yes



Verification of
Requirement by                  No
Operations Auditor


Yes



Operations
Manager                          No



Yes



Supplier







Purchase Order
Process

Central
Warehouse






Site Requisition Process (Periodically)
7.3.1 Site Requisition
Project store keeper will raise store requisition based on requisition types (Arabic, pak, indo. Etc.)
From the man-days categories. Against each category user will input number of man-days and a system should generate site requisition based on historical values analysis like a form with columns of number of man-days category wise, items #, item name, on hand qty., previous periods qty. values compared to entered man-days and additional qty. e.g.; if in last month or period the consumption qty. was 50KG of xyz items for 200 man-days. And now user needs that item for
250 man-days, now system should calculate per man-day qty by using formula
(50KG/200MD)=0.25KG/MD and then should show qty to be ordered as 250x0.25KG=
62.50KG. Now if user want to request e.g.; 65KG due to certain reason, then he must enter the additional qty. 2.5KG in a separate column.

Following could be the possible format of the site Requisition:
Enter No. of Man-days
Category A = 100
Category B = 50
Category C = 100

Item No. Item name Unit Previous
period Consumption Qty. On-Hand
Stock
Qty Order Qty. Additional
Qty. Total Order
Qty.
XYZ-00001 ABC Item KG 50 0 62.50 2.5 65

7.4 Receipts:

Goods Delivered by Supplier at Project Store or Central WH




Physical Checking of Good




Expiry Date
Checking




Quantities and Prices to be matched with Doc.




Generate Goods Receive Note (GRN) Doc.



7.5 Transfer In:

Goods Receiving Process


Goods Delivered by Physical Checking Expiry Date Quantities and Record Qty. in the
Project using Inter of Good Checking Prices to be system Doc.
Transfer matched with Doc.



7.6 Transfer Out:

Transfer In Process
While transfer note report shall be sent along with the delivery.







Based on Req. – Prepare Transfer Note

Collecting Good                  Expiry Date
Checking


Transfer Out Process

Quantities and Prices to be matched with Doc.

Send Qty. with
Transfer Note


7.7 Consumption:
As per 2.1 the goods daily internal store requisition will be theoretically same as consumption.
Project will request whatever he needed to be consumed daily not more. The adjustments can be done by area controller at the end of the week for variances.
7.8 Closing Stock:
System will generate the closing stock based on all inventory transactions details, of opening balance, purchases, transfers and consumptions, which is called stock Card and Stock sheet Reports. System should highlight the near expiry items so that it becomes significant that there is a stock which is going to expire during a defined period. E.g.; in next two weeks.

Closing Stock = Opening Balance + Purchases + Transfer in – Transfer Out – Consumption

7.9 Physical Stock:
Weekly store keeper will take stock count of all the items with expiry date log. And will send report to head office.

8.0 Tools and Technology:
1. This software should be developed using SQL Server Express database. This shall be developed as desktop application only which will be used at our multiple projects as well as at head office (for consolidation of all projects data using import export functionality).
2. User should login using their login credentials and system should also keep login history.
3. There could be scenarios where one user using one computer can do transactions for two projects. System should also be able to handle that.
4. There will be three levels of use of this software a. individuals Project b. Area Office c. Operations Dept.

9.0 Attachments:
For the business requirement understanding the following detailed document may be provided.
1.   CSSC Stock Structure
2.   Item Coding Structure
3.   CSSC Item Coding Procedure
4.   Item  Master List
5.   Projects Name List
6.   Existing Stock Program with data
7.   Existing Stock program Procedure
Coding Structure for Stock/Inventory
Date: 3/10/2014


STOCK ITEMS


INVENTORY







Level 1: Group

FOOD (F)

NON FOOD (N)

ASSETS (A)






Level 2: Sub Group




Level 3: Catergory

Chilled
(C)




Juices/Drinks
(01)


Dry
(D)




Oils/Fats
(01)


Frozen
(F)




Sea Food
(01)


Expendables
(E)


Disposable
(D)


Cleaning
(C)


Gas & Fuel
(G)





with Type/Flavour

Juice Apple


Level 5: Brand/Origin

Nada/KSA (0)


Level 6: Packing/Size


24x330 ML (0)


Level 7: Price

New Price  (00)

New Price  (01)

New Price  (02)






# # # #
0101

STOCK ITEMS / INVENTORY

Coding Structure for Stock/Inventory
Date: 3/10/2014







Level 1: Group

FOOD (F)

NON FOOD (N)

ASSETS (A)







Level 2: Sub Group


Expendables
(E)


Disposable
(D)


Cleaning
(C)


Gas & Fuel
(G)


Stationary


Printing
Materials


Uniform


Repair & Maint.


Furnitures/ Equipments             Fixtures


Vehicles            Computer / Peripherals



Level 3: Catergory


Aluminium Prod.


Chemical


Non-Chemical




Level 4: Item Name with Type/Flavour

Food Container Round






Level 5: Brand/Origin

Nada/KSA (0)


Level 6: Packing/Size


24x330 ML (0)


Level 7: Price

New Price  (00)

New Price  (01)

New Price  (02)
# # # #
0101
Coding Structure for Stock/Inventory


Sr. No.
Group
Sub-Group
Category Item Name
(includes
Type/Flavor)
Brand/Origin
Packing/Size
Price

Code
Level 1 Level 2 Level 3 Level 4 Level 5 Level 6 Level 7

1
FOOD
(F)
2 Chilled (C) Condiments (01)
3 Frozen (F) Cereals (02)
4 Dry (D) Pulses (03)
5 Flour (04)
6 Rice (05)
7 Spices/Nuts (includes Herbs) (06)
8 Spices/Nuts (includes Herbs) (07)
9 Tea & Coffee (08)
10 Pasta (09)
11 Oils/Fats  (includes Ghee) (10)
12 Preserves/Pickles (11)
13 Vegetables (12)
14 Fruits (13)
15 Juices/Drinks (14)
16 Dairy Products (15)
17 Bread (16)
18 Bakery Items (17)
19 Sea Food (18)
20 Meat (includes processed meat) (19)


21
NON-FOOD
(N)
22 Cleaning Products (C) Chemicals (01)
23 Cleaning Supplies (02)
24
25 Disposables (D) Paper Products (03)
26 Plastic Products (04)
27 Other Products (05)
28


P a g e  | 10

29 Gas & Fuel (G) Gas Cylinder (06)
30 Gas Tank (07)

31 Heating Fuel (includes charcoal)
(08)
32
33 Expendables (E) Crockery (09)
34 Cutlery (10)
35 Pots/Utensils (11)
36 Linens (12)
37
38 Stationary (S) Files/Folders (13)
39 Office Supplies (14)
40 Writing Instruments (15)
41 Printing materials (16)
42
43 Uniforms (U) Clothing (17)
44 Footwear (18)
45 PPE (safety equipments) (19)
46

47 Operations & Maintenance (R)
Vehicles Fuel
(20)
48 Vehicles Repairs (21)
49 Repairs & Maintenance (22)
50


   51 ASSETS / FF&E
              (A)
52 Equipments/Appliances (E) Electrical (01)
53 Others (02)
54

55 Furniture/Fixtures &
office Equip. (F)
Furniture
(03)
56 Fixtures/Fittings (04)
57 Computers (05)
58 Printers/Fax/Copiers (06)
59 Miscellaneous (07)
60
61 Software/Licenses (S) Antivirus License (08)


P a g e  | 11

62 Microsoft Dynamics ERP (09)
63 Microsoft Licenses (10)
64
65 Email Hosting Subscription (12)
66 Software Enhancements (13)
67
68 Vehicles (V) Lease Vehicles (14)
69 Owned Vehicles (15)
70
71 Land & Building (B) Leased Land/Building (17)
72 Owned Land/Building (18)
73



































P a g e  | 12
Catering Support Services Company

PROCEDURE FOR STOCK/INVENTORY CODING

PURPOSE
To define the process of standardized stock/inventory coding for CSSC.

SCOPE
This procedure shall apply at all Projects and warehouse.

RESPONSIBILITY
Purchase, Accounts, Operations and ERP Review Committee shall be responsible for the implementation and enforcement of this procedure.

PROCEDURE
1.1   A master list of all the items with the new coding has been prepared by Account dept. which should be used at all the projects.

1.2   As per the coding structure the accounts shall allocate the items code to all the stock/inventory items upon the request of Procurement before making the purchase order if the master list don’t have any item in it or there is a new item arrival.

1.3   The Items structure consist of 7 levels named Group, Sub Group, Category, Item Name + (Type/Flavor), Brand/Origin, Packing/Size, Price Respectively.

1.4   Level 1 and 2 will be one digit alpha type. Whereas Level 3 will be two digit numeric type. And Level 4 will consist of four digit numeric type. Concatenating two digits of item name and two digits of Type/Flavor. Level  5,  6,  7  will  be  three  digit  numeric  type.  So,  the  total  length  of  the  code  will  be  17  digits alphanumeric.


Example FC140101001001000

Level 1 Level 2 Level 3 Level 4 Level 5 Level 6 Level 7
Group Sub Group Category Item Name
+ (Type/Flavor) Brand/Origin Packing/Size Price
Food          (F)




Non-Food (N) Chilled    (C)




Frozen   (F) Dry         (D) Juices       (14)






Juice Orange (0101) Nada     (001) 24x1     (001) (000)
F C 01 0101 001 001 000



1.5    While making the purchase order Purchase should use the appropriate item code, if there is a new brand, size, type, or price, a new item must be created. To get the new item code the item request form shall be used and sent to the accounts dept. after inter department approval. A responsible person in Account will make sure that the requested item does not exist in the system. If true he will create a new number for the new item.

1.6   Purchase Department shall prepare the purchase order and send approved copy to the projects for their information either from central office or from vendor.

1.7    The printed purchase order will consist of Item code, at the time of deliveries project must verify the items with the P.O. and it must match. If not project must contact back to the purchase dept.


1.8    New master list of items with codes will be provided updated at the projects by inventory controller, as and when there is change in the master list.

1.9    Once the items are received at the store/warehouse in-charge must be enter data in ‘Stock Program’ with the item codes. All the receipts, transfers and consumptions must carry the item code. The local cash purchases will also go in to the appropriate groups and will follow the same coding structure. If code for the locally purchased item is not available, project shall get the code from procurement as per the procedure and enter into the stock program. Refer to stock program procedure.


1.10  Purchase department shall follow the same new item creation procedure form to get the new codes for the LCP items from accounts and inform the new created item codes to the project for their stock program update.

1.11  The purchases done without preparation of P.O must also be stopped. Purchase dept. shall also ensure to enter all the records in the ERP system as and when purchase is occurred.


1.12  Once all the items transactional data and invoices are entered in stock program, the project shall send the data in flash drive on weekly basis to the central office Accounts Dept as such.

1.13  Accounts dept. shall enter the all GRN in the system first, after preparation of GRN accounts shall make the Trade Purchase Voucher (TPV) in the system.


1.14  From the projects the data will be coming on weekly basis and Account department will copy it to the server and extract the consumption and transfer details from it and upload to the ERP system.



Record Keeping:

1.   New items form shall file kept in Purchase Department after the approval.

2.   Accounts department shall update the master list of items with the codes and will update the projects and stock program.


3.   Projects shall enter all the items with their relevant code.

Catering Support Services Company

PROCEDURE FOR EXIST ING  “STOCK CO NTROL  PROGRAM”

1.   Purpose

CSSC has introduced new excel based “STOCK CONTROL PROGRAM” for control and monitoring of Consumption & Stock (food, disposables, cleaning, Gas).  This program is simple and is helpful not only to the Store Keeper to handle the daily issues for production but also to the supervisor/area controller for monitoring of cost well before production.

2.   Scope

This procedure is developed to get effective results from this program and must be followed by all relevant personnel.

3.   Responsibilities

3.1  Accounts & I.T Department shall be responsible for implementing the Program at the projects and should arrange training to the project staff whenever necessary.

3.2  The Store keepers, Project Supervisors and Area Controllers shall be fully responsible for maintaining and implementing this Program at projects.

3.3  The Cost Controller/Operations Auditor is responsible for monitoring of per man-day cost on daily basis.

4.   Procedure

4.1  Chef/Cook shall prepare Internal Store Requisition (I.S.R), verified by Project Supervisor.
Time: One day before Production-Preferably between 10.00 A.M to 12.00 P.M


4.2  The Store Keeper shall receive the I.S.R for issuance by 3.30 P.M


4.3  The Store Keeper shall verify the availability of items and shortage (if any) shall be conveyed to
Chef/Cook & Supervisor for necessary alterations/arrangements.


4.4  Any additional requirement of material by Chef/Cook during food preparation shall only be made through I.S.R duly approved by the Supervisor.


4.5  In case, after the initial issue, any additional Man-days are intimated by the camp boss, a separate
I.S.R shall be prepared for material issuance.


4.6  The Store Keeper shall enter the data on Store Req. in the Stock Program prior to issuing the material.


4.7  Project supervisor shall verify the cost of consumption and if/when satisfied shall authorize the issue.


4.8  The project Supervisor shall communicate the per man-day cost (one day before) to the Area
Office for onward submission to the Operations Manager/Operations Auditor.
4.9  Upon receipt of the daily food cost, Operations Manager, in consultation with the Operations
Auditor shall review the cost for each project and take corrective actions, if any.


4.10 The store keeper will issue materials strictly in accordance with the approved I.S.R.


4.11 Issue timings must be displayed and strictly followed. The Stores shall remain locked outside these hours.  Any violation shall be penalized.


4.12 A master list of all items along with code numbers will be provided; the user shall use the same.


4.13 The required fields will be entered in the following format:

Project Name: ALL CAPITAL LETTERS (e.g. VILLAGE)
Month of: Month and Year. (i.e. March 2014)
Date: dd/mm/yy (i.e. 01/03/14)
Item No: 100056
Name: ALL CAPITAL LETTERS (e.g. RICE)
Packing:  should be entered in abbreviation of maximum three CAPITAL LETTERS (e.g. PKT, BTL,
KG)
Size:                        e.g. 1x12
Expiry Date:          dd/mm/yy                        (i.e. 01/03/14)
Quantity: Format predefined (user just need to enter)
Price:                      Format predefined (user just need to enter)


4.14 The data folder will be copied on to the provided USB flash drives and will be transferred to Head
Office on weekly basis via area office.


4.15 Project Supervisor will be the custodian of the USB flash drive, and will keep it in a safe/secure place. Once a week it will be given to the store keeper to copy the data for sending to Central Office.


4.16 Only the following personnel shall be authorized to access the computer and stock
Program:


4.15 (a) Store Keeper
4.15 (b) Project Supervisor
4.15 (c) Area Controllers
4.15 (d) General Auditor
4.15 (e) Operation Manager
4.15 (f) Accounts Manager
4.15 (g) MIS Administrator


4.17 A log book will be maintained in projects as well as Central Office for dispatch and receipt of USB
flash drives to the central office on weekly.


4.18 In case of any hardware problem with computer/USB, it should immediately be reported to IT Department.
4.19 Before input of man-days, all meals should be converted into Man-days. (No. of meals/3)


4.20 The manual preparation of Transfer Note and Goods Received Note (GRN) shall be continued as usual.


4.20 The Project will maintain record by creating two folders. One for “Weekly Data” and second for
“Monthly Data” in Drive “D”.


4.21 Supervisor should verify the input data on daily basis and Area controller on frequent basis for any errors/mistakes and variances.


4.22 Project will keep the data for at least three months in their computer.


4.23 At the end of each week, the whole program folder will be copied in “Weekly Data” folder and
renamed with respective week end date.


4.24 At month end, the whole program folder will be copied in both folders i.e. “Weekly Data” and
“Monthly Data”.


4.25 After copying the month end folder, delete this folder from drive “C” and copy/paste blank folder from drive “D” or “E”.


4.26 Copy/paste the closing stock of previous month in the newly copied blank folder as opening stock of current month.


4.27 Folder/file/sheet in this program must never be deleted.


5.   Records

5.1  Central Office Accounts department will receive data in USB flash drives and will save in data server. A log book will be maintained at the department for receiving the data and return of USB drives.

5.2  Monthly stock sheet will be printed by the accounts dept. and will be kept in file for each project.

5.3  All data received from projects shall be verified by the Area Controller and the cost per man-day for the week shall be reported on prescribed format.


Supervisor: Sarfraz Ahmad (sawan@vu.edu.pk)
Application Type: Web/Desktop
Possible Students: 1 to 2
Proposed Tools: You are free to select any tool and technology for the development of this application.


Real-Time Financial Data Warehouse

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.
6.        The star schema in this application will have the multiple fact tables.
7.        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).
8.        Executive has the interface to view different reports regarding expenses and revenue.
8.1.     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.
8.2.     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.
9.        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
10.      Interface must provide the facility to Drill Down and Roll UP Operations.  


Tools: Microsoft.Net Framework, Java, SQL Server

Supervisor Name: Shabib Aftab

Authentication Technique with OTP

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.


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.


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. left shifts denotes a left bit rotation by s places; s varies for each operation. Addition 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 ABC, 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 Fmodular 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:
F(B,C,D) = (B\wedge{C}) \vee (\neg{B} \wedge{D})
G(B,C,D) = (B\wedge{D}) \vee (C \wedge \neg{D})
H(B,C,D) = B \oplus C \oplus D
I(B,C,D) = C \oplus (B \vee \neg{D})
\oplus, \wedge, \vee, \neg denote the XORANDOR 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