SlideShare una empresa de Scribd logo
1 de 50
UNIVERSITY OF MORATUWA
         Faculty of Engineering
Non-GPA Module 399: Industrial Training
         TRAINING REPORT


           M. W. Edirisooriya
               070115U
    Computer Science and Engineering
           Zone24x7 (Pvt) Ltd
               6 Months
           4th of August 2010
Preface
The report includes the engineering experiences, professional best practices and both technical
and non technical knowledge and skill development gained by me during the industrial training
internship program during Level 3 in second semester in company Zone24x7 (Pvt) Ltd.

The document format follows the format provided by the university at the beginning of the
training program.

This report contains three main sections. First chapter contains it describes a summarization
about the general information, organizational structure, performance, profitability, strengths and
weaknesses of the company.

In second chapter it consists of details about the internship experiences at the training location. In
this section it describes details about projects I have involved, difficulties and problems I faced,
management, financial and office practices that I have exposed etc.

Third chapter consists of the conclusion of the report. This is a self measurement about the
training experience and about industrial training program, references, abbreviations are in this
section.




                                                                                                    ii
Acknowledgement
I would like to express my sincere gratitude to all the parties who contributed me to success in
the industrial training program who helped me in various ways in technical, management and all
sort of guidance given me to improve my professional and technical knowledge.

First I would like to thank the parties who contributed and organized this program. So I would
like to thank all the staff members of the National Apprentice and Industrial Training Authority
(NAITA) for organizing this program and accepting the Zone24x7 as a company who helped me
a lot for gaining training experience. Then I would like to thank all the staff members of
Industrial training division of University of Moratuwa including the Director, for organizing this
important program.

I must give my special thank to Head of Department of Computer Science and Engineering
University of Moratuwa, Ms. Vishaka Nanayakkara, then Dr. Malaka Walpola -Senior Lecturer,
Dr. Shehan Perera-Lecturer, Mr. Shanaka Ransiri -Lecturer, Mr. Chulaka Gunasekara -Lecturer
and who did all the coordination between students and the companies, also from the Department
of Computer Science and Engineering, University of Moratuwa together with all the other
Academic Staff members for their great effort of providing and coordinating Industrial
Placements at suitable places and also for monitoring our internship experience throughout the
training period in order to ensure that we gain the maximum out of it.

I would like to extend my thanks to Mr. Ruwan Pradeepa the Technical Project Manager of
Water Demand Division System at Zone24x7, Mr. Lakmal Molligoda, Senior Software Engineer
at Zone24x7, Mr. Priyal Walpita Senior Software Engineer at Zone24x7, Ms. Sonali Jayasooriya
QA Software Engineer at Zone24x7, Ms. Kalani Tennakoon Software Engineer at Zone24x7
Tech for instructing and guiding my Internship Program throughout the training period without
any issue.

I would also like to appreciate the great contribution provided by Mr Llavan Fernando, CEO and
President of Zone24x7, Mr. Manjula Dissanayake, Vice President of Zone24x7, Ms Nenuka, HR
Manager of Zone24x7 at Zone24x7 - in the Management of on conducting an excellent Training
Program for all the interns.


                                                                                                iii
My special thanks go to all the others developers who helped me by spending their valuable time
and teaching me to resolve problems which I encountered while I was developing. These
technical advices not only helped me to resolve my problems but also improved my technical
knowledge.

At last but not least, I would like to thank all my fellow colleagues who have made my
Internship Experience at Zone24x7 a pleasant & enjoyable one and for helping me to overcome
the challenges I faced during this period.




                                                                                             iv
Contents
Preface                                                                             ii

Acknowledgement                                                                     iii

Contents                                                                             v

List of Figures                                                                     ix

List of Tables                                                                      ix

1.     Introduction to the Training Organization                                     1

     1.1   About Zone24x7                                                            1
       1.1.1    Introduction                                                         1
       1.1.2    Top Research Areas of Zone24x7                                       1
       1.1.1    Vision Mission                                                       1
     1.2   Organizational Structure                                                  2
     1.3   Products and Services                                                     2
       1.3.1    Retail                                                               2
       1.3.2    Embedded Systems                                                     3
       1.3.3    Payment Security & Biometrics                                        3
       1.3.4    Banking and Finance                                                  3
       1.3.5    Healthcare                                                           3
       1.3.6    Water Conservation & Distribution System (The Project I involved)    3
       1.3.7    Energy Conservation                                                  4
     1.4   Partners and Clients                                                      4
     1.5   Current Position of Zone24x7                                              5
       1.5.1    Current Performance                                                  5
       1.5.2    Strengths and Weaknesses                                             5
       1.5.3    Suggestions for Further Development                                  6
       1.5.4    Possible Constraints to My Suggestions                               6
       1.5.5    Economy and Profitability                                            7
       1.5.6    Usefulness to Sri Lankan Community                                   7
2.     Training Experience                                                           8

                                                                                     v
2.1     Company Related Experience                                 8
  2.1.1     First Experiences                                      8
  2.1.2     Daily Life in Zone24x7                                 8
  2.1.3     Work Measurement System                                9
  2.1.4     Freedom in the Company                                 9
  2.1.5     Entertaining Activities                                9
  2.1.6     Common Development Procedure                          10
2.2     Overview to Work Done during the Industrial Training      11
  2.2.1     Introduction                                          11
  2.2.2     Project work overview and schedule                    12
2.3     Experience with Tools and Technologies                    13
  2.3.1     Experience with Tools                                 13
      2.3.1.1 ASP.NET                                             13
      2.3.1.2 C#                                                  13
      2.3.1.3 Dot Net Framework                                   13
      2.3.1.4 Internet Information Service 7                      13
      2.3.1.5 Microsoft Visual Studio 2005 development platform   14
      2.3.1.6 Microsoft SQL Server Management Studio 2005         14
      2.3.1.7 Adobe Flex                                          14
      2.3.1.8 Internet Explorer Developer Tools                   14
      2.3.1.9 SqlAssistant                                        15
      2.3.1.10   RegexBuddy                                       15
      2.3.1.11   JQuery                                           15
  2.3.2     Technology Exposure                                   15
      2.3.2.1 ASP.NET Web design                                  15
      1.1.1.1 User Interface Designing                            16
      1.1.1.2 Web application validation                          17
      1.1.1.3 Regular Expressions                                 18
      1.1.1.4 Web Hosting in IIS7                                 18
      1.1.1.5 Developing Flex Application                         18
      1.1.1.6 Web Service Handling                                18

                                                                  vi
1.1.1.7 Report Generation using Visual Studio                                19
      1.1.1.8 Creating SQL databases                                               19
      1.1.1.9 SQL Database Querying                                                19
      1.1.1.10   Online Debugging With Developer Tools                             20
2.4     Project Involvement                                                        20
  2.4.1     School System, a sample project                                        20
      2.4.1.1 Usage of Grid Views                                                  21
      2.4.1.2 Usage of Validations                                                 22
  2.4.2     E-mail sending component (Multiselect web control)                     22
  2.4.3    Inspections viewing and editing using PastInspections web control and
  PastInspectionsPopup                                                             23
  2.4.4     Chart Of Account report generator                                      23
  2.4.5     Online Application                                                     24
  2.4.6     EventAPNChange, APN changing web control                               24
  2.4.7     WESControl, Water Efficiency Standard Control                          25
  2.4.8     WDSData, Well Distribution System                                      25
      2.4.8.1 GUI Designing                                                        26
      2.4.8.2 Overall Logic of WDSData                                             27
      2.4.8.3 Validation of WDSData                                                29
  2.4.9     Adobe Flex application                                                 29
  2.4.10    WDD-CDV, County Data View for WDDS                                     30
      2.4.10.1   Introduction to WDD-CDV                                           30
      2.4.10.2   Form View control                                                 31
      2.4.10.3   New SQL Logic Used                                                31
      2.4.10.4   Adding Role Permission                                            32
      2.4.10.5   Debugging with Developer Tools                                    32
      2.4.10.6   Validation in WDD-CDV                                             32
  2.4.11    BottomModulePanel, Create New Modules in WDD-DBS                       33
  2.4.12    Client requested changes in WDD-DBS                                    33
2.5     Problems and Difficulties Encountered                                      33
  2.4.1     Work Related Problems and Difficulties                                 33

                                                                                   vii
2.4.2   Training Personal Related Problems and Difficulties   34
       2.4.3   Other Personal Difficulties                           34
     2.6   Solution Found                                            34
     2.7   Company Practices Exposed                                 35
       2.7.1   Information on Production Processes                   35
       2.7.2   Administrative and Office Practices                   35
       2.7.3   Financial Procedures                                  35
       2.7.4   Safety Procedures                                     35
       2.7.5   Management Practices                                  36
       3.1.1   Operational Techniques                                36
     3.2   Machines and Equipments encountered                       36
4.     Conclusion                                                    37

     4.1   About Training Program                                    37
     4.2   Technical Improvements                                    37
     4.3   Soft Skill Improvements                                   38
     4.4   Overall Conclusion                                        38
References                                                           39

Abbreviations                                                        40




                                                                     viii
List of Figures

Figure 1.1 Organizational Structure                           2
Figure 1.2 Zone24x7 Clients                                   4
Figure 2.1 Insert a new student                              20
Figure 2.2 Invalid entry validation                          22
Figure 2.3 Mail sender                                       22
Figure 2.4 PastInspectionsPopup                              23
Figure 2.5 One wizard step of Online Application             24
Figure 2.6 APN change prompt                                 24
Figure 2.7 Well Distribution System tab                      25
Figure 2.8 Other Information tab                             26
Figure 2.9 Adding a new Well System                          26
Figure 2.10 Foot Note tab                                    26
Figure 2.11 CAW Central Division Data tab                    26
Figure 2.12 Editing Well System table                        27
Figure 2.13 Searching with Master ID                         27
Figure 2.14 When data related to WDS Edit is clicked         27
Figure 2.15 When Water Production is clicked to be edited    28
Figure 2.16 When WDS Letters are edited                      28
Figure 2.17 Letter generation                                29
Figure 2.18 Property Information of a selected APN number    30
Figure 2.19 Editing Location data of a selected APN number   31
Figure 2.20 Validation message when tried to save changes    32
Figure 2.21 BottomModulePanel                                33




List of Tables
Table 2.1 Development Summary                                12




                                                             ix
1. Introduction to the Training Organization
   1.1      About Zone24x7
   1.1.1 Introduction

Zone24x7 is a technological company that provides a variety of technological solutions in a
broader range of hardware and software applications in electronics and software world. A Head
quarter of Zone24x7 is located in San Jose, California.

Zone24x7 has technology development and research centers located in United States, Sri Lanka
and Malaysia. About one hundred of employees are employing in the company. The team in
Zone24x7 consists of engineers in both software and electronics fields expert in various
technologies. They are involved in activities that will enable them to employ solutions to meet
growing business demands of customers and to develop the company by using the cutting edge
technology.

Most of its customers are not local but from United States. Zone24x7 research and develop
solutions for their requirements with use of broad background of various technologies using
hardware and software solutions.

   1.1.2 Top Research Areas of Zone24x7

Zone24x7 is basically targeted on the following research areas.

         1. Surface Computing – With touch sensitive computer screens
         2. Computer Vision and Gesture Recognition
         3. Bio Feedback – Fingerprint recognition etc.
         4. Embedded Agent Technologies

   1.1.1 Vision Mission

“Global Research Locally” is the vision of the organization. Zone24x7’s mission is to provide
next generation technology and innovation services to our clients.



                                                                                             1
1.2      Organizational Structure

This is the organizational structure of Zone24x7 according to my knowledge. There may be more
sections that are related to QA and other laborers. But this is the structure I understood.


                                          President (CEO)

                                           Vice President

                                       Operational Manager


        Project Manager (TR)          Project Manager (QAR)            Project Manager (CMR)


             SSE (Leader)


           Software Engineer


           Associate Software
               Engineer

Figure 1.1 Organizational Structure

    1.3      Products and Services

Because there are many areas that the company has many expert areas on only the names of
domain expert areas are mentioned below.

    1.3.1 Retail

         Hand-Held Application Suite for Store Operations – Easy electronic equipment for stores
         Real Time Inventory System – Online solution for inventory requirements
         Customer Loyalty Management Systems – Customer data management system
         Cloud Computing and Mash-up Services – Cutting edge technology in web based
          software and networking




                                                                                                2
1.3.2 Embedded Systems

   Hardware Design – Designing hardware for embedded devices.
   Firmware and OS Porting – Designing lower level software (e.g.: Device Drives)
   SDK Development – Developing SDK for hardware and software requirements

1.3.3 Payment Security & Biometrics

   Signature Capture and Verification Applications – Patented technology from Zone24x7
   Finger Print Verification Applications – Bio matrix based application
   Computer Vision Based Applications – Image recognition technology
   Biofeedback Based Applications – Nerve pulses and brain waves based technology

1.3.4 Banking and Finance

   Secure Cheque Clearance – User authentication system
   Image & Transaction Management Systems (ITMS)
   End–to-end Receipt Management and Dispute Resolution – Patented technology from
    Zone24x7
   Banking Facility Management – Queue Management, Staff Scheduling, Management
    Reporting

1.3.5 Healthcare

   Healthcare Suite for Operation Room Scheduling, Staffing, Inventory Management,
    Reporting
   Next generation Staff-less Office System
   Unique interactive capabilities for diagnosis

1.3.6 Water Conservation & Distribution System (The Project I involved)

   Permit issuing and monitoring – Issuing permits from the software system
   Inspection scheduling – Online scheduling technology
   Dynamic report generation – Generate reports from database data
   Dynamic work flow creation for business rules – Workflow manager in the system

                                                                                          3
1.3.7 Energy Conservation

         Monitoring and Alerts – Monitoring energy requirements and control the supply, alert on
          energy waste
         Smart controlling – Embedded system based solutions for energy conservation

    1.4      Partners and Clients

Zone24x7 has more than 500 companies and technology leaders around the world as clients.
Some of them are as follows.




Figure 1.2 Zone24x7 Clients

Following are the technology partners of Zone24x7.




   Microsoft Gold Certified                 MSC Status              Windows Embedded Partner




        Sun Microsystems               Motorola ISV Partner            Freescale (Motorola)



                                                                                               4
1.5     Current Position of Zone24x7

   1.5.1 Current Performance
At present Zone24x7 has an identity of providing all types of business solution in both software
and by using embedded systems. This is a very unique specialty in Zone24x7 when compared to
similar software companies in Sri Lanka.

The company provides the services based on the target of satisfaction of the client more than or
equal to the expectation of the client. Zone team has the responsibility to be flexible accordingly
with the requirements of the customer. This is an advantage when it comes to interact with
clients in United States.

   1.5.2 Strengths and Weaknesses
The company hires the best people from the University of Moratuwa. As embedded systems
related job opportunities are rare in Sri Lankan job market there is a higher tendency in
electronic engineers pass out from UOM to join Zone24x7. This is the main strength I could
observe as the strength of Zone24x7. As the intelligence of the engineers from UOM is above the
average Zone24x7 has a valuable human resource. The other strength is its international
relationship. As most clients of Zone24x7 are from United States of America the income to the
company and the exposure to the newest technology are very high for the company. And also the
business stability is very high as the economy in USA is very stable and there are lot of
customers can be found from the USA. This leads to prevent dependency upon little number of
clients which would reduce the stability of the company.

There were few weaknesses I could observe existing in the company. Some employees think
their salary is not sufficient. This would reduce the staff satisfaction and would result poor output
from the staff. And also I could observe many engineers are leaving the company after they
obtain several years of experience in Zone24x7. This would reduce the number of experienced
engineers who has worked in many important projects. After they leave it becomes difficult to
track the project for the new engineers join the project. In the project I worked, I found very little
or no comments in source code. This makes very difficult for new people like me to understand
the structure of the structure and functionality of source code.


                                                                                                    5
1.5.3 Suggestions for Further Development
It is very difficult to give suggestions for complex companies without doing a proper research in
other similar companies. But according to my personal observations I can give the following
suggestions for the benefit of the company.

In software, the employees should be made to write codes with comments. Each function that
may be important should be commented accordingly with sufficient words and it is better if each
project could maintain a separate set of documents for the benefit of new comers to the project
about the structure of the system and its operational functionality. This type of system may
useful to identify the overall structure of the project without talking to a previous engineer
involved in the project.

And one of the other major problems I observed in my project is its architecture. Though it used
the programming language C Sharp, the system very rarely used its object oriented properties.
This has created an unusual amount of redundant code for similar functions without using the
inheritance. When a change had to made all the locations it was applied had to be modified and
finally each location had to be tested separately. This is a very high disadvantage in terms of
resource allocation, time to code and accuracy. If a project use an object oriented programming
language like C# or Java it must be designed in an object oriented manner.

   1.5.4 Possible Constraints to My Suggestions
Writing comments is one of the main hated practices for almost all programmers. They will be
very unhappy if the writing comments for all the code they write is stated as mandatory. They
will try to copy and paste the same comment for many codes. Programmers will complain they
would not have enough time to complete the project due to comments.

For software architects who had programming experience only with languages like C++ or C, it
will not be a good idea to suggest designing in the object oriented manner as they are not familiar
and interested with OO concepts. The company may need to find good OO experts to design
project if they wish to programming languages like C# or Java.

And also it will be a hard work to teach OO concepts to old programmers who were only fluent
with non OO languages.

                                                                                                 6
1.5.5 Economy and Profitability
I was not given access to the internal accounts of the company. Therefore the information knows
are what the company says. According to them the company has a good income and could
achieve the business targets they expected to have. As the company interacts with the United
States, past few days they also had to face some effects of the global economic crisis which
badly affected mainly on United States economy. Anyway the company could maintain its
economic growth without a critical problem.

Recently the company could obtain some valuable recognition from technology giants in world
which helped them a lot for marketing purposes as well as technical support.

   1.5.6 Usefulness to Sri Lankan Community
Because Zone24x7 has most of its market outside Sri Lanka, the technical advantages affected
on Sri Lankan community is negligible. Anyway their technological researches are valuable for
the country. Zone24x7 has a research centre inside the University of Moratuwa which makes a
high contribution to the Sri Lankan technology given to local university students.

However this company contributes a lot to the Sri Lankan economy by taking in a lot of foreign
exchange. And the company provides a number of job opportunities to Sri Lankans inside the
country and in abroad. This helps to reduce the unemployment in the country and to avoid the
brain drain from the country which indirectly helps the technological development of the
country.




                                                                                             7
2. Training Experience
    2.1    Company Related Experience

    2.1.1 First Experiences

First day I in Zone24x7 we recognized our fellow colleges including the interns from University
of Moratuwa. Only I was from the CSE of UOM who was selected there. Others are from
ENTC. In my floor there is none of our people. That may be because of the differences of our
engineering disciplines. On the first day I felt so lonely. But from second day it was better. The
company provided me a powerful desktop computer with CRT monitor. Then they were kind to
my request of a LCD monitor and gave a 21 inch one. They installed software in my computer
including Skype and Microsoft Outlook which were new for me. Not only them but all the
Microsoft related developing tools new for me.

Next they organized a small presentation for all of us from University of Moratuwa by the
Human Resource Manager of Zone24x7. There they introduced their products, career in the
company, international connections and their strengths and specializations in the technology
field.

In the first week they organized another meeting with presentations that described the procedure
in Zone24x7 which is said as unique to Zone24x7 known as “Zone Way”. The presenter
explained the standards that are maintained by the company to maintain international standards
that is very important for the marketing purposes.

    2.1.2 Daily Life in Zone24x7

As Associate Software Engineers we should present in the company on 8.30 a.m. in morning.
We get biscuits two times a day and tea two times a day. We get our lunch at about 12.30 p.m.
Normally we are allowed to leave the company at 5.30 p.m.

We are required to wear a formal (professional) dress in first four days of week. On Friday it can
be changed.




                                                                                                8
2.1.3 Work Measurement System

There is an online system that tracks the number of hours spend for each module of development
by each employee in each day which is called “XPlanner”. At the end of the month data collected
from this system is used to charge customer for the development of software.

Each employee should enter the work he has done in relevant module with the number of hours
he spent on during each day. I used my daily diary as the source to update this data at the end of
the month.

   2.1.4 Freedom in the Company

There are no hard restrictions for the employees in Zone24x7. Absence can be appealed by the
project manager. The time to come to the company can vary from 8.30 to about one hour without
any problem. If more than one hour late was happened, it should be informed to the project
manager.

Entrance and exit times are automatically monitored by a card with a radio tag provided to each
employee. So there is no requirement to sign a present sheet.

   2.1.5 Entertaining Activities

There is a welfare society named “ClubZone” that organizes entertaining activities. In special
occasions like birthdays, weddings and farewells etc cards are sent for sign around the company
and give the person at the relevant day. Working table of the employee is decorated in the
birthday and the birthday song is sung.

At each month a party called “Birthday Bash” is held by the expense of the employees who had
birthdays in that month. And parties are organized for specials festivals like New Year festival.
At each year night parties are organized by the ClubZone.

ClubZone maintains a DVD library that lends movie DVDs for Rs.30. There may be more events
organize by ClubZone than I have mentioned.




                                                                                                9
2.1.6 Common Development Procedure

According to ZoneWay there are common steps that I have identified as the practicing procedure
in Zone24x7.

   1. Requirements are gathered from the customer.
   2. Prepare SRS document.
   3. Prepare design document by development team.
   4. Prepare test cases by the QA team.
   5. Send test cases to the development team for review.
   6. Development team adds drops and modifies test cases and sends review report back to
       QA while creating the design document.
   7. QA team correct test cases and send back to development team for review.
   8. If the development team agrees with those test cases they send confirmation.
   9. Otherwise this recursively happen until both parties come to a compromise.
   10. Finally confirmed test cases are taken as Round 0 test cases.
   11. After creating the design document, development team starts to develop the system.
   12. After the design process the developer has to test Round 0 testing by him as a unit test.
   13. After this test unit test responsible person sends back the confirmed Round 0 test UTS to
       QA mentioning if there are any changes to be done in test cases.
   14. QA consider the changes mentioned by the development person and do the Round 0 test
       and if there are any bugs existing, QA prepare the Round 1 test case and send back to the
       development team.
   15. This process continues until QA find no error in software.
   16. After the system is completely tested a customer release is issued.

In this process there exists freedom to the developer to identify new requirements during the
development process and change unsuitable requirements mentioned in the SRS document.
These changes can be negotiated with the QA team first and if required can talk to the customer
to clarify his requirements.

Because the first unit testing part is done according to the QA requirements, it reduces the time
the QA spend to identify errors as the developer know the test cases prior to the development.


                                                                                                   10
2.2      Overview to Work Done during the Industrial Training

   2.2.1 Introduction

During my whole training period I was only involved in a single project, Water Demand
Division System, a water resource allocation and charging database based system for a state in
United States of America. Anyway this system consists of many technologies including
following major technologies mainly products of Microsoft.

   1. ASP.NET
   2. C#
   3. .NET Framework
   4. IIS 7
   5. Microsoft Visual Studio 2005 development platform
   6. Microsoft SQL Server Management Studio 2005
   7. Adobe Flex
   8. Internet Explorer Developer Tools
   9. JQuery
   10. JavaScript

This project was already started before I joined the company. Therefore it was a slower process
of understanding the system and its architecture. As I was not familiar with all the above
mentioned technologies I was given a simple prototype project of a database system for a school
to identify the structure and all basic standards related to the main system. For about three to four
weeks I was involved with this project and then I was joined to the real Water Demand Division
System.

During the pilot project I learned the coding standards expected by the company. I got special
software “SoftTree SQL Assistant” that helped a lot to generate SQL code in appropriate coding
standard.

In WDDDBS project I used to learn “TortoiseSVN” the version management system that is
useful to add changes from various locations by various programmers. Until the end of training I
had many practices to learn with this tool.

                                                                                                  11
2.2.2 Project work overview and schedule

In first few weeks I was learning the technology and developing the pilot system for a school.
Then I joined the WDDDBS, the main project. In the last month the development of WDD-DBS
was announced finished and then another project “Water Demand Division County Data View”
(WDD-CDV) was started which was a new version for the older system that uses the web
services of the older system. In the WDD-DBS system I was involved in several components and
major part of the training was spent on the WDD-DBS system.

The Table 21 shows the time period I was involved in each component of the project. Some time
periods coincides as some components were started before others were ended or testing was
performed after another component was started to develop.

Table 2.1 Development Summary

                           Component Developed                        Started     Completed
                                                                       Date          Date


 1      School System, a sample project                             10/02/2010    03/03/2010
 2      E-mail sending component (Multiselect web control)          02/03/2010    08/03/2010
 3      Inspections viewing and editing using PastInspections web 09/03/2010      17/03/2010
        control and PastInspectionsPopup
 4      Chart Of Account report generator                           17/03/2010    19/03/2010
 5      Online Application                                          19/03/2010    07/04/2010
 6      EventAPNChange, APN changing web control                    07/04/2010    08/04/2010
 7      WESControl, Water Efficiency Standard Control               08/04/2010    18/04/2010
 8      WDSData, Well Distribution System                           22/04/2010    03/06/2010
 9      Adobe Flex application                                      0705/2010     03/06/2010
 10     WDD-CDV, County Data View for WDDS                          04/06/2010    23/07/2010
 11     BottomModulePanel, Create New Modules in WDD-DBS            23/06/2010    29/06/2010
 12     Client requested changes in WDD-DBS                         08/07/2010    21/07/2010




                                                                                            12
2.3       Experience with Tools and Technologies

   2.3.1 Experience with Tools

   2.3.1.1     ASP.NET

ASP.NET is a web development framework which is a product of Microsoft and is used to
develop Dynamic web pages, web applications as well as web services. It uses C#.NET or
VB.NET adds its dynamic behavior. ASP.NET comes with standard .NET bundle. In our Water
Demand Division System we used ASP.NET 3.5 version as it contains new features to support
some other features like Ajax.

   2.3.1.2     C#

C sharp is a Java like object oriented programming language based on Microsoft dot net
framework. All logic behind ASP.NET web pages is written using C# language. C# is a product
of Microsoft. In our application ASP.NET pages uses functionality provided by the Dynamic
Link Library files in the lower layer, (Library Layer) which executes the SQL Stored Procedures
in the data base.

   2.3.1.3     Dot Net Framework

.NET Framework is a product of Microsoft which is a service providing layer providing runtime
files to C# and ASP.NET programs. It is a Virtual Machine for Windows application and
contains libraries that support GUI design, database access and cryptography etc. We used .NET
Framework version 3.5 which is bundled in default with Windows 7 operating system.

   2.3.1.4     Internet Information Service 7

Internet Information Service (IIS) is web server software comes with Windows 7 as optional
packages. ASP.NET developed web sites can be hosted in IIS in local host after installing IIS in
the local machine. Web site can be even debugged in ASP.NET code while the site is in its
runtime.




                                                                                             13
2.3.1.5     Microsoft Visual Studio 2005 development platform

This is the basic development platform for Microsoft products including ASP.NET and C# that
we used in our project. It is a designing and compiling package of these programming languages.
Visual Studio 2010 was available on that time but due to compatibility issues we used 2005
version for development of this old versioned system.

   2.3.1.6     Microsoft SQL Server Management Studio 2005

Microsoft SQL Server is a relational database management system developed by Microsoft and it
uses ANSI SQL as its main query language. There are many versions of SQL Server and we used
MS SQL Server 2005. It stores data as databases in the DBMS. SQL commands are saved in as
Stored Procedures as SQL files that are used by the above layer files (Library Layer) of our
system.

   2.3.1.7     Adobe Flex

Adobe Flex is a rich web application development technology by Adobe. Web page like
interfaces with beautiful user interfaces can be generated easily with almost all database
functionalities that can be included in ASP.NET web page. The component is developed in
developer environment, Flex Builder and produces a “swf” file as the executable version. In Flex
Builder there are facilities like debugging are available like in Visual Studio Development
environment.

   2.3.1.8     Internet Explorer Developer Tools

Developer Tools is another optional package comes with Internet Explorer for Windows 7
operating system. This is used to debug JavaScript and CSS properties in a loaded web page to
the Internet Explorer web browser. This is similar to “FireBug” add on available for Mozilla
Firefox in behavior and functionality. This is useful for identifying bugs in JavaScript as in
Visual Studio there is no proper way to debug JavaScript in runtime. And this is very useful for
identifying UI errors in a web page in different resolutions.




                                                                                             14
2.3.1.9     SqlAssistant

SqlAssistant is an extension to Microsoft SQL management Studio developer that automatically
generates SQL code and automatically prompts a list of words while typing to ease the process of
SQL code writing. According to the coding standers SQL key words should be capital and
aliases should be used for statements like select statements. This extension helps a lot to generate
such code.

   2.3.1.10    RegexBuddy

RegexBuddy is a simple but very useful tool for developing regular expressions for various
applications. Using this software we can get the meaning of a regular expression in words and
can be used to generate new regular expressions. And also this tool can be used to test regular
expressions against the text to be searched or to be validated.

   2.3.1.11    JQuery

JQuery is an open source powerful JavaScript library that is useful for developing complex
widely used JavaScript function based web sites in lesser time. In our project it is used in later
stage and was used for validation purposes that give user friendly tooltips for invalid data entered
to a control object. (e.g.: Text Field) And also JQuery supports to create visually rich user
interfaces such as confirmation boxes with the help of CSS.

   2.3.2 Technology Exposure

   2.3.2.1     ASP.NET Web design

Almost all the time I spent during my training program is with web design using ASP.NET. This
is a modified programming language of ASP. It has a similar programming design to the
programming language JSP. In ASP.NET there are three files related to a single web page. One
is the .aspx file which is the HTML like file full of tags. It contains both server side and client
side web controls used in the web page. The second file is the .aspx.cs file that is a C# class full
of C sharp code that contains all the server side logic related to the web page. All the events that
are to be handled in server and page load events are coded in this file. If required the attributes in


                                                                                                   15
the components of .aspx file can be changed using C# logic. The third file of the web page is the
.design.cs file that contains all the components logically mentioned in the .aspx file.

In my programming experience I got a good knowledge on data binding, accessing, editing,
adding, removing and paging operations on Grid View web control and Form View web control.
And further I gathered knowledge on data binding to inner components of Grid View such as
Dropdown Lists. And also I learned about CSS application usage in Grid View and Form View
controls.

In our application we worked on an application with several logical layers. The top layer is the
actual ASP.NET based web layer. All the pages are inherited from a single web page, “Base
Page” that handled all user information, privileges, session state and all the commonly needed
functions that are commonly used in all web pages.

For the reusable purposes the application used ASP.NET web controls. A web controls is an
.ascx file that can be independently developed can be used in web pages which provides a certain
functionality common for many web pages.

In our project sometimes we needed to show only certain parts of a web page. In such situations
we used several different techniques according to the requirement, complexity and performance.

   1. Used a div section and changed its visibility. Sometimes we u
   2. Used a panel and changed its visibility.
   3. In some cases we used TR of a HTML table to hide and display appropriately. There we
       assigned IDs for each table row and changed its visibility accordingly.

All the configuration information such as IP addresses and such changeable information are
included in a configuration file and can be changed by the user accordingly.

   1.1.1.1     User Interface Designing

I designed some user interfaces for the web application in ASP.NET. It was not a major design
but I could learn a lot on HTML tables, div sections, panels etc. I could learn CSS from this
design and could understand the application techniques of Style sheets to web controls in the
form of a class and the direct assignments.

                                                                                              16
The requirements design was given me in the form of a Visio document which is known as
“Wireframe”. At first I tried to blindly get the all values from the wireframe and make the UI
design but then I found that they are not visible properly when developed according to the given
specification and started to assign appropriate values as required. Then I was instructed that only
the font sizes and font styles should be according to the specification and the rest can and should
be changed as required. I included some CSS properties into the imported CSS file and used
them throughout the design process which was very easy and fast when developing.

   1.1.1.2     Web application validation

In the earlier stage when I was involved in the WDD-DBS system, the validation convention
used was changes when it came to WDD-CDV which was based on jQuery.

In the earlier version it was a star mark next to the text field or drop down list. Mandatory fields
had a red colored star mark next to the input field (text field/dropdown list). So we had to
manually include them in a single HTML table which was a time wasting process when it comes
to a web page with a lot of input fields. And also all the required fields to be validated had
another hidden red star next to the input field. In the .aspx file required type of validator (e.g.:
Required Field Validator, Regular Expression Validator, Custom Valiadator etc.) was assigned to
each input control. All the validators in a single form (or single submit section) were given a
single validation group. Under the form (or single submit section) it was a validation summary
dedicated for the particular validation group. When the submit button is pressed the validity of
the validation group is checked and submit process is done only if the validation is correct.
Otherwise the validation errors are displayed in the validation summary under the form and red
star marks are displayed next to the input field (text field/dropdown list). Whole process is done
in server side so the response time was a problem.

In the new application we used only jQuery totally in client side. So there was no server
validation was required. The process is easy and adding a validation can easily be done by just
changing the validation statement at the class attribute of the input field. The validation can be
done in both onblur event of a text field or at the submit button click event. The error message
will be popped up as tooltip at the input field. In the WDD-CDV application we could reduce the
response time by using such techniques.

                                                                                                 17
1.1.1.3     Regular Expressions

Regular expressions are very useful and powerful tools when it comes to text processing. In our
systems we used regular expressions mainly for validating e-mail addresses, dates, APN numbers
and Zip codes. It was also useful for extracting the first APN number from OCRed text in WDD-
CDV application.

   1.1.1.4     Web Hosting in IIS7

All the web sites developed using the language ASP.NET was hosted in IIS7 web server. We
learnt IP assigning site naming and database allocation to web site using IIS7. For test purposes
we hosted it in the local machine and the debugging was possible in Visual Studio development
environment in the run time after attaching the process for debugging. Not only for ASP.NET
pages but for Adobe Flex pages we could debug using Flex Builder with the help of IIS web
server. Even multiple web sites were possible to host in a single web server.

   1.1.1.5     Developing Flex Application

“Flex Builder” was the development environment for Flex applications. In Adobe Flex a
beautiful UI can be developed with all the validation facilities in an easy way as readymade
components are available for the UI designing. And also similar to the ASP.NET we can develop
tables like Grid Views in ASP.NET and handle data similar to the way they are handled in
ASP.NET application. Unlike in ASP.NET there is no need to design CSS or use other functions
to handle web services or to implement animations, in Adobe Flex we can easily call existing
web services and perform insert, edit and delete operations to a database via the web services
with a UI containing default animations.

   1.1.1.6     Web Service Handling

Web service is a well known service layer that provides database services to the web application
layer in our system. Under the web service layer it is the library layer that executes SQL
commands on the data base and perform operations like insert records to the database, edit record
in the database and delete records in the database. All the data are sent to the database side in
many data types and data from the database comes as Dataset objects. Web service layer
communicate with web layer using XML objects.

                                                                                              18
1.1.1.7     Report Generation using Visual Studio

Report generation is a basic need for almost all commercial software systems. Microsoft visual
studio provides a very useful report generator design tool. Using these tools it is easy to get a
report from the database by executing stored procedures and displaying the results in tables and
text fields. The report is generated according to the “Report Parameters” entered by the user.
Then the user can print the report if required.

   1.1.1.8     Creating SQL databases

During the development of new database tables and from “School System” application I could
gather knowledge on the database design according to the Relational Schema provided. There I
could learn the use of foreign keys, primary keys and data types used to create databases.
According to the requirements of the client when deleting a record from a database table, instead
of permanently removing its content from the database, a special Boolean attribute, “IsArchived”
is set to true. When inserting, insert date and time is recorded in another attribute. When the
record is modified, old record is archived and a new record is added to the database with new
values with new modified date into the attribute, “Modified Date”.

   1.1.1.9     SQL Database Querying

In systems I developed in the company, all the SQL queries and commands are all saved in
separate .sql files and all of them are written such that once executes a new stored procedure with
the same name of the stored procedure is included into the MS SQL DBMS if it is a new name.
Otherwise the new execution will overwrite the existing stored procedure. And also a short
description, the author and the created date is included in the head of the .sql file.

Stored procedures are written for either write or read operation of the database. When more than
one database table is accessed join operations are used. All the data retrieving SPs send data in
alias names from the database. All the data saving SPs has a Boolean parameter “IsDelete” that
is true in value only when the record is deleted. Otherwise (i.e.: When modifying existing
record) it has value false. (In SQL true and false values are denoted by 1 and 0) And also when
saving records a special attribute “UserID” is set from the value of the user’s ID value from the
session state in web application.


                                                                                                19
Considering the whole transaction there is a mechanism to preserve the consistency of the
transaction. And if the SP is too complex to implement, temporary tables are used for storing
intermediate output values while processing. Sometimes cursor keyword is used to implement
iterative operations during a single SQL operation execution.

Knowledge on SQL is a very important type of knowledge I could obtain from the training
experience I followed.

   1.1.1.10    Online Debugging With Developer Tools

Debugging capability of a web page from the client side is a very important experience as it
helps to solve many problems that can never identified by examining or debugging only the
ASP.NET web page. And also this is very important to identify and error tracking the UI
problems caused by CSS errors. This technology also helps to identify values in each attribute as
a snapshot and helps a lot to track bugs.

   2.4     Project Involvement

From here onwards the work I did on the project WDD-DBS and its newer version, WDD-CDV
are mentioned. The order of these sub topics are according to the order of timeline I worked on
them.

   2.4.1 School System, a sample project

At the beginning of the training I was aware with any knowledge on almost all technologies I
have mentioned earlier. Therefore my senior engineers have decided to give me a pilot project to
make me familiar with the tools and technologies that are going to be used on WDD-DBS
project.




                                                     Figure 2.1 Insert a new student

                                                     In the database system there were three
                                                     relationship sets namely “Student”, “Class”
                                                     and “Subject”. Each relationship set was


                                                                                              20
given unique ID’s as primary key for the efficiency purposes. Each was accessed using two
stored procedures for the use of querying and storing information from and to the database.
Stored procedures were written in SQL. These stored procedures are accessed by the functions
written in the Library layer of the system which is a collection of C# classes.

As the system is web based the next higher layer is the web service layer which uses the dll files
of the library layer and provide web services to the web server where the web site is hosted. The
web service layer is written in C#.

Web server uses the web services from the web service layer and provides services to the user at
the client side. Here the web site is developed using ASP.NET. Web site contains three main
pages, home page, add classes and page that enables adding, updating, deleting students from the
database and search students from name and class.

Webpage view is improved by using a user friendly “Master Page” and “Link Buttons” are
displayed in the left side of the Master Page which links to each “Content Page”. In the Content
Page AJAX based script “Update Panel” which only updates the table with Grid View when
refreshed which reduces overhead of updating whole web page.

Maximum number of records appears at each time in the Grid View is limited by “Page Binding”
which avoids very large tables appearing in the web page.

   2.4.1.1     Usage of Grid Views

“Grid view” is used as the table that views data as table. “Footer Template” enables adding a
new student to the database. Except class name other fields contains text boxes in the Footer
Template. As the class name is a selection from the given set of classes it appears as a
“Dropdown List”. In the body of the Grid View data is appeared in labels located in the “Item
Template”. “Edit Item Template” is used to edit data of an already existing student. In Edit Item
Template, Dropdown List is used as the entering control for the Class Name and Text Box as the
entering control for the other fields. Column of “Command Field” used to change each record to
edit mode and column of “Link Button” used to delete each entry.




                                                                                               21
2.4.1.2       Usage of Validations

                                                       “Required      Field        Validator”     and
                                                       “Range Validator” are validations
                                                       used in the server side to avoid
                                                       entering invalid inputs as inputs to the
                                                       database. When invalid data are
                                                       entered to an input control a star mark
                                                       is displayed in front of relevant field

Figure 2.2 Invalid entry validation                    and a description of invalidity is
                                                       displayed for each control in the
validation summary as mentioned earlier.

    2.4.2 E-mail sending component (Multiselect web control)

                                                              My first task in WDD-DBS
                                                              project was to modify and fix
                                                              bugs    in      an    online      e-mail
                                                              sending ASP.NET control that
                                                              is used by the staff of the
                                                              authority. In that application I
                                                              added names of the recipients
                                                              in front of their e-mail address
                                                              using the stored procedures of
                                                              the data of recipients in the MS

Figure 2.3 Mail sender                                        SQL 2005 database. And also I
                                                              added        functionality            of
manually adding custom e-mail addresses as recipients using JavaScript and ASP.NET. I had to
correct some logical errors behind the “OK” button which sends e-mails and had to correct
logical errors that occur when it changes between two states of selection of recipients and
sending e-mails which used the same “OK” button.


                                                                                                   22
2.4.3 Inspections viewing and editing using PastInspections web control and
          PastInspectionsPopup

                                                                          Then I worked on an
                                                                          ASP.NET control called
                                                                          “PastInspections”    that
                                                                          displays many types of
                                                                          inspections done by the
                                                                          authority in several Grid
                                                                          Views that enables to
                                                                          view only two records in
                                                                          each Grid View and
                                                                          facilitates to navigate
                                                                          independent from each

Figure 2.4 PastInspectionsPopup                                          other.   For   navigation
                                                                         two buttons “Previous”
and “Next” are used. This was developed using an existing code used in the system. Then I had
to implement that control into appropriate modules. Using that control I created a popup control,
“PastInspectionsPopup” that pops in a semi transparent black background disabling all other
parts of the web page. That had a close button to close the popup window.

    2.4.4 Chart Of Account report generator

Then I designed a stored procedure for a report generator, “Chart Of Account” in MS SQL to
output some details (e.g. Description of transaction, Reference number, Amount etc.) related to a
money transaction, either an invoice or a receipt. I referred the ER diagram of the database table
structure and obtained the output from a temporary table which was added records to the
temporary table in two steps (for invoices and receipts) each using the inner join operation. The
filter parameters are the required bounds of dates of transaction and some other details.




                                                                                                23
2.4.5 Online Application

                                                                    I did some maintenance work with
                                                                    the ASP.NET control that contains
                                                                    most of the wizard steps of the
                                                                    online application form filling at
                                                                    the customer end and updating
                                                                    them at the staff end. Some steps
                                                                    contain Grid Views and some of
                                                                    them are “dev” sections of the
Figure 2.5 One wizard step of Online Application                    control.   They     are    displayed
                                                                    sequentially after each step is
validated. (E.g.: Required Field Validation, Regular Expression Validation etc.) Different
validation logics are used for different input types such as single Grid View, multiple Grid View
and “dev” sections. When it comes to multiple Grid Views, they should be validated
independently as well as simultaneously when “Next” button is clicked. Because there were two
modes of operation each mode has to be developed separately. And special attention was paid for
customer side application than the staff mode application which would be used by trained staff
officials.

    2.4.6 EventAPNChange, APN changing web control

                                                   I   developed     an    ASP.NET       web     control
                                                   “EventAPNChange” which is used to change the
                                                   APN number that uniquely identifies a property. A
                                                   “Modal Popup Extender” was used to request the
                                                   APN number to be inserted and it was validated by
                                                   reusing the existing validators. It was developed
Figure 2.6 APN change prompt
                                                   from the web service layer of the system.

This web control was used in modules like Permits, Rebates, Conservation and WUC. This was
developed for fulfilling the customer’s requirement for changing the APN number of a record
without re-entering all the data in tables of the modules mentioned above.

                                                                                                     24
2.4.7 WESControl, Water Efficiency Standard Control

Next I developed a web control “WESControl” which has two modes View mode and Edit mode
that is used to tick the approved standards of fixtures inspected by an inspector. Here the set of
standards are taken from a separate table, “WaterEfficiencyStandards” and should be saved as
records to the table, “ModuleWaterEfficiencyStandards”. When data are taken from the database
at first it takes the right outer join of the above 2 tables and after once saved, every time a record
is modified, older record is not removed from the database but one of the table’s attribute,
“IsArchieved” is set to true. Valid record is that attribute value of false. In the edit mode the
labels are set hide and data are displayed in text boxes that enables editing and check boxes of
approve are enable to change. In the View mode data loading process is similar but labels are set
visible instead of text boxes and check boxes are disabled. When the data are saved all the tables
with data are saved at once by uniquely identified attributes, “ModuleId” and “RefId”. This
control uses separate codes for both get data and save data from stored procedure layer.

    2.4.8 WDSData, Well Distribution System

                                                                          This was the next item I
                                                                          had to add to the WDD-
                                                                          DBS system which was
                                                                          the longest and most
                                                                          complete set of work I
                                                                          got during my training
                                                                          program. I got a very
                                                                          good knowledge on the
                                                                          existing system and also a
                                                                          lot of knowledge on all
                                                                          types of controls and

Figure 2.7 Well Distribution System tab                                   logics I learned during
                                                                          my training program. I
started the design from the scratch from a wireframe document I was provided on the system.
The very first job was to design the GUI of web application.


                                                                                                   25
2.4.8.1      GUI Designing




                                                Figure 2.8 Other Information tab



Figure 2.11 CAW Central Division Data tab




Figure 2.10 Foot Note tab


                                                                               Then I was given to
                                                                               design                   GUIs
                                                                               according           to      a
                                                                               specification given as
                                                                               a   Visio      document.
                                                                               Font       styles        were
                                                                               assigned using CSS
                                                                               style      sheets         and
Figure 2.9 Adding a new Well System
                                                                               specific             design
parameter changes were done to each UI control according to the specification. There is a kind of
freedom to select appropriate distances from each control but font sizes and styles had to be
according to the specifications. The GUI was originally designed in tab panels but after some
unrecognized error was aroused I was asked to develop in a new web page without tab panels.



                                                                                                          26
2.4.8.2      Overall Logic of WDSData

                                                                                      First display part of the
                                                                                      system is used to insert
                                                                                      and      edit        “Well
                                                                                      Systems” and “Wells”.
                                                                                      According       to     the
                                                                                      specification        every
                                                                                      well   used     to   fetch

Figure 2.12 Editing Well System table

water is charged according to the
amount of water used. A set of wells
are grouped to a “Well System” and
a well system is uniquely identified
by a “Master ID”. The design
consists of two HTML table rows
that are displayed only one at a time
and there are two table rows inside
the second table row that will visible         Figure 2.13 Searching with Master ID

                                                            only when the water production is to be
                                                            edited.

                                                            The first row is loaded when the page loaded
                                                            and it displays a Grid View table of all the
                                                            well systems. It also facilitates to search by
                                                            “Master Id” or to filter records by parameters,
                                                            “Report Method” and “Source Area”. This
                                                            table contains logic get and save logics from
                                                            stored procedure level, insert, edit delete well
                                                            systems and to validate entered data before
Figure 2.14 When data related to WDS Edit is clicked
                                                           saved in the database. More than previously


                                                                                                              27
done Grid Views this has a label at the top
                                                                 of the table indicating the number of
                                                                 records and if the table is empty only the
                                                                 header is showed and a message is
                                                                 displayed saying there are not data
                                                                 records.

                                                                 The first TR inside the second TR is
                                                                 showed when the icon related to edit data
                                                                 of the well system is clicked. It contains a
                                                                 Grid    View      that   shows   the   water
                                                                 production of the well system for each
                                                                 year and an “Add New” button. That table
                                                                 also has the facility of editing and

Figure 2.15 When Water Production is clicked to be edited

deleting records related to each year.

When the edit is clicked the second
TR in the current TR is displayed.
But if the Add New button is clicked
we can insert a new year that does
not already exist in the table. If the
entered year already exists another
pop up is showed asking for editing
the data of existing year. Second TR
of second TR accepts data into text
fields and store into the database.
When there are existing data, they
                                                Figure 2.16 When WDS Letters are edited
are loaded to text fields from the
database. There is a text field and a button called “Next WDS Master Id” that is automatically
loaded from the Well Systems Grid View and can go to the next WDS Master Id to save data.


                                                                                                          28
2.4.8.3       Validation of WDSData

Validation was a very important when it comes to usability and is highly considered in Quality
Assurance. For the “Well Distribution System” tab panel the validation was used as usual but for
other tab panels I had lack in time. So I included “OnClick” and “OnBlur” functions of text
fields to some client side JavaScript functions to easily do the validation of number only and the
correct decimal format. Maximum length was also useful to easily include maximum length of a
text field.

    2.4.9 Adobe Flex application

                                                            One of the important technologies I
                                                            used to send letters in this application
                                                            was Adobe Flex. Adobe Flex coding
                                                            style is similar to JavaScript but it
                                                            had many advanced functionalities
                                                            like   communicating       with    web
                                                            services directly, declaring Grid View
                                                            like beautiful tables and other user
                                                            interface design similar to ASP.NET.
Figure 2.17 Letter generation                               Because its complexity of the flex
                                                            code I downloaded and installed the
debugger supplied by Adobe to debug Flex applications. It was very useful to correct errors and
to correct them.

When data are bound to Data Grids or Drop Downs in Flex we had to use an Array Collection
data object type. So I had to get Array List type data instead of Data Set type. For that I
introduced a new transfer object type object in library layer and had to assign each attribute in
each data row in the Data Table to appropriate attributes of the Transfer Object.

My task was to add a new Data Grid for Well Systems to the interface by binding data from the
web service. First I implemented the event correctly and set the data bind functionalities from the
web service layer. Then I had to include a letter sending mechanism and letter printing
mechanism with the help of an earlier code. It was written in WDD-DBS application in C#.
                                                                                                 29
2.4.10 WDD-CDV, County Data View for WDDS

   2.4.10.1         Introduction to WDD-CDV

The       project    WDDDBS       was
announced       as    completed   and
another project that continues the
functionality of the project was
started      named       WDD-CDV.I
contributed to design the system
and prepare design document for
the system. Initially it was decided
to use Visual Studio 2010 to            Figure 2.18 Property Information of a selected APN number

program and implement from the library layer but due to limitations of time and other constraints
it was decided to continue with Visual Studio 2005 and use the web services that are already
implemented in WDDDBS for the web applications in WDDCDV. Anyway the new project has
some modifications in user interface by using new CSS standards and new validation techniques.
In new project “workflow manager” is not used. In earlier project it was a red astrict mark next
to each text field or dropdown list and there was a validation summary that indicates the
Validation error. This was validated at the server so it took time to correct the error at the user’s
point of view. In new system every validation is done at the client side and validated most of
them on “OnBlur” event of text fields. New system uses “jQuery” JavaScript libraries and the
validation error is displayed as a red tooltip at the relevant control. These also ease the
programmer’s work to develop the system.

I wrote almost all stored procedures to the required system initially. After the login to the system
the user can search the property by using the APN number or by other parameters like owner
name and address data of property. The results are displayed in a grid view and the user can
search the property and all the data related to the property such as Location data, Owner data and
Recordation data are displayed to the user. This also uses an online map system to show the
location of the property in the system. In previous system these functions were not available.
And also the system facilitates to modify the displayed data as Form View control is used to
display the data.

                                                                                                    30
2.4.10.2      Form View control




Figure 2.19 Editing Location data of a selected APN number


Functions of Form View control is close to the functions of Grid View control. More than the
Grid View Form View has Insert Item Template to insert new records to the form view. Paging,
editing, cancel editing and updating functions are similar to that were in Grid View. In this
system data fields of Form View are bound to the record fields of the data table. And in the
special case of “Owner Type” the records are left joined with the Owner Type to bind dropdown
list “Owner Type”.

   2.4.10.3      New SQL Logic Used

There was a new technique I had to use when inserting and editing data in database tables like
“CountyProperty” that had more fields than the number of fields inserted or edited at a time by
the system. There I checked the condition of inserting and then I placed the given data to the SP
into relevant fields and filled remaining fields with null values or default values. When the
edit/modify condition is found the existing record is copied to a new record by substituting given
fields of data to the SP. Then the original record is deleted. Not only that I had to modify two
other tables “CountyOwners” and “OwnerAddress” when I change the table “CountyProperty”
because they are interrelated. In such cases each table is considered separately and their primary
keys are captured and used for foreign keys as other tables. This system gained me a lot of
knowledge regarding the user interface design and SQL language. Here I learned the special
iteration technique “Cursor” in SQL that was used to copy all records related to Property Data in
single SQL execution when a modification is done to a Property.




                                                                                               31
2.4.10.4      Adding Role Permission

After that I got the opportunity to learn about the system permission level handling. In the
WDDDBS system there is a sub system in module, “Utilities” to add, edit and delete role
permissions. Each role can assign privileges of each section of permissions of the system. Finally
we can add, edit and delete users to a created Role Permission. In the web page in the
application, buttons like Edit, Add New and Delete are enabled from the Page Load from server
side only if the permissions are valid to the user in the current session. I assigned permissions
and tested them in WDD-CDV system for buttons such as mentioned above.

    2.4.10.5      Debugging with Developer Tools

I learned and worked with Internet Explorer Developer Tools to identify CSS bugs existed in the
Calendar Extender that was very important to debug a web page in its online stage. Developer
tools can be used to identify the CSS inherited and overridden by each CSS script and can test
while changing its values. I could identify the UI problem was due to an inheritance from higher
CSS and could correct it. One problem was regarding the style of the “Calendar Extender” in
“AjaxToolkit” and the other was on the transparency issue on another div section. I could
successfully fix these bugs with the help of IE Developer Tools.

    2.4.10.6      Validation in WDD-CDV

In the new system the validation mechanism was changed and replaced with a JQuery validation.
The new validation pops up a tooltip showing the error message at the input field. The validation
process is fast as the validation occurs in the client side. This validation can also be implemented
on the “OnBlur” event of a text field.




Figure 2.20 Validation message when tried to save changes



                                                                                                 32
2.4.11 BottomModulePanel, Create New Modules in WDD-DBS




Figure 2.21 BottomModulePanel

I involved with some work to invoke modules like “Permits” in the WDD-DBS system by
automatically login to the old system by using URLs that are included in the PropertyData.aspx
page in WDD-CDV system. There we used a method of adding the JavaScript codes to the client
side from the page load of server side. The login in WDD-DBS was modified and set to start a
new session without a password. Then according to the value in redirected URL, a new module
is created. (e.g.: New Permit)

Then I worked with a new controller, “BottomModulePanel”, which was a new web control
containing the above mentioned login and starting new module functionality.

    2.4.12 Client requested changes in WDD-DBS

I got to add functionalities to WDD-DBS system which were client’s requests. Added restrictions
to “Add New” button when redirected by a module, added control “EventAPNChange” (change
APN number of an existing record in the Grid View.) to modules WUP and WUC and added
“Water Released Date” to reports. In last modification I clear my knowledge on Report
generation and data binding to reports using stored procedures and some other information
regarding Microsoft report generation designing.

    2.5     Problems and Difficulties Encountered

    2.4.1 Work Related Problems and Difficulties

The first problem I faced was the unfamiliar technology. I was never worked with technologies
like ASP.NET and Flex. I was not that much familiar with the new tools and developer
environments such as Visual Studio. I had to work in a pilot project, “School System” only to
learn the technologies they used for WDD-DBS. However when I started to work in Adobe Flex
in the WDD-DBS project, I had never used that technology before.


                                                                                            33
The other major difficulty was to understand the existing system of WDD-DBS. Initially I had to
blindly do only whatever my senior said me to do. It took a long time to familiarize me to the
system.

I was not familiar with the subversion system the company used which aroused many updating
committing problems with the subversion system. And also Skype and Outlook e-mail client was
not familiar with me. Anyhow I could overcome these difficulties rapidly.

   2.4.2 Training Personal Related Problems and Difficulties

I had no any considerable problem with my training personal. All the senior staff members
including the project manager were kind and friendly. They even did not pressure me to
complete quickly by remembering deadlines and did not ask me to work after hours.

Anyway there were very small problems like not giving sufficient information to solve the
problem. I had to continuously ask questions sometimes to understand the problem to be solved.
And also they did not give me a proper knowledge about technology needed and instead asked
me to search me in the Internet. However I think it is good for me to learn to learn by self.

   2.4.3 Other Personal Difficulties

The temperature was too low due to the air conditioner and I felt so uncomfortable during my
first few days. And also I felt lonely after I started to work with unknown set of people. There
were no major personal difficulties I had to face during my internship.

   2.6     Solution Found

The problems I mentioned earlier are not major problems I had to think so much on solutions.
Most problems became natural with time and I could manage self studying using the Internet.
Sometimes I could change the air conditioner temperature using the remote control and no major
problem encountered during my training period.




                                                                                                34
2.7     Company Practices Exposed

   2.7.1 Information on Production Processes
All the software development process and its life cycle are described in a set of instructions
known as ZoneWay. It is an internal document and prepared to maintain the CMM 3 standards.
And all the other day to day office work are according to 5S specifications.

   2.7.2 Administrative and Office Practices
Employers should come to work at 8.30 a.m. in morning. But the time is not very strict and the
number of working hours may vary depending on the project he involved in. All the entrance
doors access card to be opened and all the data regarding to them are stored in a database which
may be used to calculate the number of working hours. Leave should be applied from the project
manager. And the employers should wear a formal dress suitable for their profession and
exception is allowed in all Fridays.

   2.7.3 Financial Procedures
Employees enter time they spent on the each project in each day in an online system called
XPlanner. At end of each month the project manager send these data to the client and the client is
charged according to the time spent on each software component.

Employers are paid on 25th of each month. Salaries are automatically sent to the bank account
provided by the employer previously. Then a salary pay sheet can be obtained from the
accountant after the money is deposited in the account.

   2.7.4 Safety Procedures
Every computer in the company has a dedicated UPS to prevent losing data and to prevent harm
caused by lightning. And there is a fire extinguishing system connecting each floor of the
company as a precaution to a sudden fire.

However because there are no dangerous hardware located inside the company almost there is no
need for safety procedures.




                                                                                               35
2.7.5 Management Practices
The company has a very flat management hierarchy. All engineers, project managers and top
level management talk each other with their first names. Management practices are only visible
in formal project processing.

Each project has three mangers as follows to maintain its consistency well.

   1. Technical Responsibility (TR)
   2. Quality Assurance Responsibility (QAR)
   3. Configuration Management Responsibility (CMR)

   3.1.1 Operational Techniques
The software development process consists of few phases such as design, development,
deployment, testing and etc. In each time of development we issue a release note to QA and it
will test and procedure continues. Requirements gathering and making the SRS document are the
initial stages done by visiting the client and contacting via video conferencing.

   3.2      Machines and Equipments encountered

From the beginning I got a full feature desktop computer with following configurations.

        Processor – Intel® Core™2 Duo E7400 @ 2.80 GHz
        Installed memory (RAM) – 4.00 GB (3.24 GB usable)
        VGA – Inbuilt
        HDD capacity – 160 GB
        Operating system – Windows7 32-Bit




                                                                                           36
4. Conclusion
   4.1     About Training Program

I could complete my training period in Zone24x7 as an intern successfully. I would like to thank
all the people who contributed this program to make this one a success story. I could obtain both
technical and non technical skills in a professional environment among experienced
professionals. I could gather knowledge on basically database handling and web development
associated with such database system in the technical stream. And in soft skill perspective I got
knowledge on inter communication, team work and professional responsible behavior required in
a professional organization.

   4.2     Technical Improvements

I was involved in a project called “Water Demand Division System” which is a database based
web system with many technologies like ASP.NET, Ajax, jQuery, SQL and Adobe Flex. I got a
firm knowledge and an experience on these technologies and tools. And also I could be familiar
with subversion management system TotoiseSVN, interacting with Skype, mailing with MS
Outlook and updating work done in a system called XPlanner. I could also get some knowledge
on the life cycle of a software system, Quality Assurance process, iterative development and
testing processes which are very important technical practices when it comes to professionalism.

When I joined the company the above subjects (database systems and web application) were very
unusual for me and I was expecting the knowledge even before I joined the company. I was very
happy to fulfill my expectations from my internship. These subjects need a more practical
experience than a theoretical knowledge which I got enough from the training program.

Another important thing I learnt was the skill that needed to find the appropriate technical details
in a lesser time and correctly using search engines. The details I am looking are there in the
internet in almost all cases which is an important point I understood.

I also gathered knowledge on report writing, technical writing, time allocation and management
that are subordinate knowledge required for professionalism. I learned that without this
knowledge regarding common sense it is impossible to be a good engineer.


                                                                                                 37
4.3     Soft Skill Improvements

In today commercial world soft skills are very important. I could a good experience of soft skills
when I was working in Zone24x7. Communication was very important when involved in a group
project. Team members should have a good understanding with their fellow members that is
basic requirement for synergy.

Team spirit is another soft skill I learned from the internship. Large systems must need a large
number of programmers, QA engineers and all other work together to achieve the common goal.
This created the work division among the team members and I understood the contribution that
should be given behalf of an individual for benefit of the whole team.

I observed the leadership given by our project manager to maintain the stability of the process of
development even among the constraints like resources and time was challenging him. Friendly
leadership motivated the team to go on without an extra stress.

   4.4     Overall Conclusion

After a considerable period of time I looked back into my training program. It was not as
stressful as I expected before I started the training program. It may depend on the level of
emergency of the project. Fortunately it helped me a lot to improve my level of knowledge while
maintaining my mind in a comparatively low stress condition. The training organization was near
to my permanent residence which made me comfortable to stay at work until late afternoon.

Anyway the knowledge I gathered was not that much broad in the sense of technology. I think it
would have been better if I could involve in some other projects related to some other theories
and technologies such as intelligent systems, embedded systems and computer vision. When I
selected this company for section of interviews I expected that sort of experience as well.
However according to my knowledge I need a long term exposure to theories and technologies to
get a proper understanding. So it was good for me to understand the subjects, database system
and web systems with a lot of experience to realize the technology other than working with many
technologies and not getting the insight of any technology.




                                                                                               38
References
  1. Training Handbook

  2. Entries of Daily Diary

  3. Monthly Reports of training

  4. ZoneWay, internal resource of Zone24x7

  5. Online web tutorials : http://www.w3schools.com

  6. Development resources site : http://www.codeproject.com

  7. Wikipedia : http://en.wikipedia.org

  8. Official ASP.NET web site : http://www.asp.net

  9. The official Microsoft developer web site : www.msdn.com




                                                                39
Abbreviations
AJAX - Asynchronous JavaScript and XML
ANSI - American National Standards Institute
APN – Assessor's Parcel Number
CEO – Chief Executive Officer
CMM – Capability Maturity Model
CMR – Configuration Management Responsibility
CRT – Cathode Ray Tube
CSE – Computer Science and Engineering
CSS – Cascading Style Sheets
DBMS – Database Management System
DVD – Digital Versatile Disc
ENTC – Electronic and Telecommunication
GB – Giga Byte
GUI – Graphical User Interface
HDD – Hard Disk Drive
HR – Human Resource
HTML – Hyper Text Marking Language
ID – Identity
IDE – Integrated Development Environment
IE – Internet Explorer
IIS – Internet Information Service
IP – Internet Protocol
JS – JavaScript
JSP – Java Server Pages
LCD – Liquid Crystal Display
NAITA - National Apprentice and Industrial Training Authority
MS – Microsoft
MSDN - Microsoft Developer Network
OCR – Optical Character Recognition


                                                                40
OO – Object Oriented
PR – Project Responsibility
QA – Quality Assurance
QAR – Quality Assurance Responsibility
RAM – Random Access Memory
RegEx – Regular Expression
SOAP – Simple Object Access Protocol
SP – Stored Procedure
SQL - Structured Query Language
SRS – System Requirement Specification
SSE – Senior Software Engineer
TR – Table Row, Technical Responsibility
UI – User Interface
UML – Unified Modeling Language
UOM – University of Moratuwa
UPS – Uninterrupted Power Supply
URI – Uniform Resource Identifier
USA – United States of America
UTS – Unit Test Specification
VB – Visual Basic
VGA – Video Graphics Array
WDD-DBS – Water Demand Division - Database System
WDD-CDV – Water Demand Division - County Data View
WUC – Water Use Credit
WUP – Water Use Permit
XML – Extensible Markup Language




                                                     41

Más contenido relacionado

La actualidad más candente

Industrial training report
Industrial training reportIndustrial training report
Industrial training reportChanaka Sudheera
 
Final Internship Report
Final Internship ReportFinal Internship Report
Final Internship ReportMinhas Kamal
 
Final Report for Summer internship at Software House
Final Report for Summer internship at Software HouseFinal Report for Summer internship at Software House
Final Report for Summer internship at Software HouseSaad Shahzad
 
INDUSTRIAL ATTACHMENT REPORT By Innocent Nsengimana
INDUSTRIAL ATTACHMENT REPORT By Innocent NsengimanaINDUSTRIAL ATTACHMENT REPORT By Innocent Nsengimana
INDUSTRIAL ATTACHMENT REPORT By Innocent NsengimanaInnocent Nsengimana
 
Industrial Training Report (Lenovo)
Industrial Training Report (Lenovo)Industrial Training Report (Lenovo)
Industrial Training Report (Lenovo)Kwong Cheong Ng
 
Final Report - Essam Khalid
Final Report - Essam KhalidFinal Report - Essam Khalid
Final Report - Essam KhalidEssam Khalid
 
JULIUS KIPCHUMBA KEMBOI
JULIUS KIPCHUMBA KEMBOIJULIUS KIPCHUMBA KEMBOI
JULIUS KIPCHUMBA KEMBOIjulius kemboi
 
Computer science industrial training report carried out at web info net ltd ...
Computer science  industrial training report carried out at web info net ltd ...Computer science  industrial training report carried out at web info net ltd ...
Computer science industrial training report carried out at web info net ltd ...rashid muganga
 
computer science internship report
computer science  internship reportcomputer science  internship report
computer science internship reportkaahwa Armstrong
 
cooperative training FinalReport
cooperative training FinalReportcooperative training FinalReport
cooperative training FinalReportsaroshtk
 

La actualidad más candente (20)

Internship Wso2
Internship Wso2Internship Wso2
Internship Wso2
 
NATPET Report
NATPET ReportNATPET Report
NATPET Report
 
Industrial training report
Industrial training report Industrial training report
Industrial training report
 
Internship Report
Internship ReportInternship Report
Internship Report
 
Industrial training report
Industrial training reportIndustrial training report
Industrial training report
 
Experience at WSO2 as an Intern
Experience at WSO2 as an InternExperience at WSO2 as an Intern
Experience at WSO2 as an Intern
 
Final Internship Report
Final Internship ReportFinal Internship Report
Final Internship Report
 
Final Report for Summer internship at Software House
Final Report for Summer internship at Software HouseFinal Report for Summer internship at Software House
Final Report for Summer internship at Software House
 
In-Plant Training Report
In-Plant Training ReportIn-Plant Training Report
In-Plant Training Report
 
INDUSTRIAL ATTACHMENT REPORT By Innocent Nsengimana
INDUSTRIAL ATTACHMENT REPORT By Innocent NsengimanaINDUSTRIAL ATTACHMENT REPORT By Innocent Nsengimana
INDUSTRIAL ATTACHMENT REPORT By Innocent Nsengimana
 
Internship Report
Internship Report Internship Report
Internship Report
 
Industrial Training Report (Lenovo)
Industrial Training Report (Lenovo)Industrial Training Report (Lenovo)
Industrial Training Report (Lenovo)
 
Final Report - Essam Khalid
Final Report - Essam KhalidFinal Report - Essam Khalid
Final Report - Essam Khalid
 
Software Engineering Internship
Software Engineering InternshipSoftware Engineering Internship
Software Engineering Internship
 
JULIUS KIPCHUMBA KEMBOI
JULIUS KIPCHUMBA KEMBOIJULIUS KIPCHUMBA KEMBOI
JULIUS KIPCHUMBA KEMBOI
 
Final training report PDF
Final training report PDFFinal training report PDF
Final training report PDF
 
COOP REPORT
COOP REPORTCOOP REPORT
COOP REPORT
 
Computer science industrial training report carried out at web info net ltd ...
Computer science  industrial training report carried out at web info net ltd ...Computer science  industrial training report carried out at web info net ltd ...
Computer science industrial training report carried out at web info net ltd ...
 
computer science internship report
computer science  internship reportcomputer science  internship report
computer science internship report
 
cooperative training FinalReport
cooperative training FinalReportcooperative training FinalReport
cooperative training FinalReport
 

Destacado

Shameera - Work Report - Maga Engineering
Shameera - Work Report - Maga EngineeringShameera - Work Report - Maga Engineering
Shameera - Work Report - Maga EngineeringShameera Wijesooriya
 
Industrial report for civil engg. training
Industrial report for civil engg. trainingIndustrial report for civil engg. training
Industrial report for civil engg. trainingRam1239
 
Shameera - Work Report - Access Engineering
Shameera - Work Report - Access EngineeringShameera - Work Report - Access Engineering
Shameera - Work Report - Access EngineeringShameera Wijesooriya
 
Civil Engineering Summer Training Report at RITES Ltd.
Civil Engineering Summer Training Report at RITES Ltd.Civil Engineering Summer Training Report at RITES Ltd.
Civil Engineering Summer Training Report at RITES Ltd.Sahab Assas Ajaz
 
4 week summer training report
4 week summer training report4 week summer training report
4 week summer training reportanand bhatnagar
 
training report civil engg. 7th sem
training report civil engg. 7th semtraining report civil engg. 7th sem
training report civil engg. 7th semRajat kashv
 
Industrial Summer Training Report at Construction Site of CPWD
Industrial Summer Training Report at Construction Site of CPWD Industrial Summer Training Report at Construction Site of CPWD
Industrial Summer Training Report at Construction Site of CPWD Alok Mishra
 
Civil department presentation
Civil department presentationCivil department presentation
Civil department presentationthilinaakalanka
 
Summer training report in civil engineering
Summer training report in civil engineeringSummer training report in civil engineering
Summer training report in civil engineeringalok0025
 
Practical training report
Practical training reportPractical training report
Practical training reportNicolai Sidek
 
Training Report on Bridge Construction
Training Report on Bridge ConstructionTraining Report on Bridge Construction
Training Report on Bridge ConstructionMAHAVIR MEENA
 
Building construction-report (1)
Building construction-report (1)Building construction-report (1)
Building construction-report (1)Soh Shing
 
Internship Report on Building Construction
Internship Report on Building ConstructionInternship Report on Building Construction
Internship Report on Building ConstructionEsmael Aragaw
 
Cafe construction project report
Cafe construction project reportCafe construction project report
Cafe construction project reportHagi Sahib
 
project on construction of house report.
project on construction of house report.project on construction of house report.
project on construction of house report.Hagi Sahib
 

Destacado (18)

Shameera - Work Report - Maga Engineering
Shameera - Work Report - Maga EngineeringShameera - Work Report - Maga Engineering
Shameera - Work Report - Maga Engineering
 
Industrial report for civil engg. training
Industrial report for civil engg. trainingIndustrial report for civil engg. training
Industrial report for civil engg. training
 
Shameera - Work Report - Access Engineering
Shameera - Work Report - Access EngineeringShameera - Work Report - Access Engineering
Shameera - Work Report - Access Engineering
 
Civil Engineering Summer Training Report at RITES Ltd.
Civil Engineering Summer Training Report at RITES Ltd.Civil Engineering Summer Training Report at RITES Ltd.
Civil Engineering Summer Training Report at RITES Ltd.
 
4
44
4
 
4 week summer training report
4 week summer training report4 week summer training report
4 week summer training report
 
training report civil engg. 7th sem
training report civil engg. 7th semtraining report civil engg. 7th sem
training report civil engg. 7th sem
 
Industrial Summer Training Report at Construction Site of CPWD
Industrial Summer Training Report at Construction Site of CPWD Industrial Summer Training Report at Construction Site of CPWD
Industrial Summer Training Report at Construction Site of CPWD
 
Civil department presentation
Civil department presentationCivil department presentation
Civil department presentation
 
Summer training report in civil engineering
Summer training report in civil engineeringSummer training report in civil engineering
Summer training report in civil engineering
 
Practical training report
Practical training reportPractical training report
Practical training report
 
Training Report on Bridge Construction
Training Report on Bridge ConstructionTraining Report on Bridge Construction
Training Report on Bridge Construction
 
Building construction-report (1)
Building construction-report (1)Building construction-report (1)
Building construction-report (1)
 
Internship Report on Building Construction
Internship Report on Building ConstructionInternship Report on Building Construction
Internship Report on Building Construction
 
Cafe construction project report
Cafe construction project reportCafe construction project report
Cafe construction project report
 
internship report
internship reportinternship report
internship report
 
Industrial Training Report-1
Industrial Training Report-1Industrial Training Report-1
Industrial Training Report-1
 
project on construction of house report.
project on construction of house report.project on construction of house report.
project on construction of house report.
 

Similar a University of Moratuwa Training Report: Water Conservation System

SYNOPSIS ON BANK MANAGEMENT SYSTEM
SYNOPSIS ON BANK MANAGEMENT SYSTEMSYNOPSIS ON BANK MANAGEMENT SYSTEM
SYNOPSIS ON BANK MANAGEMENT SYSTEMNitish Xavier Tirkey
 
E property project documentation
E property project documentationE property project documentation
E property project documentationMusakkhir Sayyed
 
Online News Portal System
Online News Portal SystemOnline News Portal System
Online News Portal SystemRajib Roy
 
8122424252 090708105717-phpapp02 (1)
8122424252 090708105717-phpapp02 (1)8122424252 090708105717-phpapp02 (1)
8122424252 090708105717-phpapp02 (1)vaughnmaharlika
 
8122424252 090708105717-phpapp02
8122424252 090708105717-phpapp028122424252 090708105717-phpapp02
8122424252 090708105717-phpapp02vaughnmaharlika
 
Software proposal sample_project_1-_web_site_development_by_zx_7_of_november_...
Software proposal sample_project_1-_web_site_development_by_zx_7_of_november_...Software proposal sample_project_1-_web_site_development_by_zx_7_of_november_...
Software proposal sample_project_1-_web_site_development_by_zx_7_of_november_...Oleg Zhuravlev
 
CMMI Roadmaps, Jan Jaap Cannegieter, Andre Heijstek, Ben Linders, Rini can So...
CMMI Roadmaps, Jan Jaap Cannegieter, Andre Heijstek, Ben Linders, Rini can So...CMMI Roadmaps, Jan Jaap Cannegieter, Andre Heijstek, Ben Linders, Rini can So...
CMMI Roadmaps, Jan Jaap Cannegieter, Andre Heijstek, Ben Linders, Rini can So...Ben Linders
 
Srs example(1)
Srs example(1)Srs example(1)
Srs example(1)zozila
 
BOOKS FOR CASH ON DELIVERY-INTERNSHIP PROJECT
BOOKS FOR CASH ON DELIVERY-INTERNSHIP PROJECTBOOKS FOR CASH ON DELIVERY-INTERNSHIP PROJECT
BOOKS FOR CASH ON DELIVERY-INTERNSHIP PROJECTRavi Teja P
 
Meeting the Challenge of Vivek Kundra's 25 Point Plan
Meeting the Challenge of Vivek Kundra's 25 Point PlanMeeting the Challenge of Vivek Kundra's 25 Point Plan
Meeting the Challenge of Vivek Kundra's 25 Point PlanPlanet Technologies
 
Telecom Italia - Sustainability Report 2011
Telecom Italia - Sustainability Report 2011Telecom Italia - Sustainability Report 2011
Telecom Italia - Sustainability Report 2011Gruppo TIM
 
Software Engineering The Multiview Approach And Wisdm
Software Engineering   The Multiview Approach And WisdmSoftware Engineering   The Multiview Approach And Wisdm
Software Engineering The Multiview Approach And Wisdmguestc990b6
 

Similar a University of Moratuwa Training Report: Water Conservation System (20)

Pmt 01
Pmt 01Pmt 01
Pmt 01
 
SYNOPSIS ON BANK MANAGEMENT SYSTEM
SYNOPSIS ON BANK MANAGEMENT SYSTEMSYNOPSIS ON BANK MANAGEMENT SYSTEM
SYNOPSIS ON BANK MANAGEMENT SYSTEM
 
Being on Cloud9
Being on Cloud9Being on Cloud9
Being on Cloud9
 
E property project documentation
E property project documentationE property project documentation
E property project documentation
 
Online News Portal System
Online News Portal SystemOnline News Portal System
Online News Portal System
 
Sample report
Sample reportSample report
Sample report
 
8122424252 090708105717-phpapp02 (1)
8122424252 090708105717-phpapp02 (1)8122424252 090708105717-phpapp02 (1)
8122424252 090708105717-phpapp02 (1)
 
8122424252 090708105717-phpapp02
8122424252 090708105717-phpapp028122424252 090708105717-phpapp02
8122424252 090708105717-phpapp02
 
Software proposal sample_project_1-_web_site_development_by_zx_7_of_november_...
Software proposal sample_project_1-_web_site_development_by_zx_7_of_november_...Software proposal sample_project_1-_web_site_development_by_zx_7_of_november_...
Software proposal sample_project_1-_web_site_development_by_zx_7_of_november_...
 
CMMI Roadmaps, Jan Jaap Cannegieter, Andre Heijstek, Ben Linders, Rini can So...
CMMI Roadmaps, Jan Jaap Cannegieter, Andre Heijstek, Ben Linders, Rini can So...CMMI Roadmaps, Jan Jaap Cannegieter, Andre Heijstek, Ben Linders, Rini can So...
CMMI Roadmaps, Jan Jaap Cannegieter, Andre Heijstek, Ben Linders, Rini can So...
 
Srs example(1)
Srs example(1)Srs example(1)
Srs example(1)
 
Srs example
Srs exampleSrs example
Srs example
 
happiness
happinesshappiness
happiness
 
virtual medical home
virtual medical homevirtual medical home
virtual medical home
 
BOOKS FOR CASH ON DELIVERY-INTERNSHIP PROJECT
BOOKS FOR CASH ON DELIVERY-INTERNSHIP PROJECTBOOKS FOR CASH ON DELIVERY-INTERNSHIP PROJECT
BOOKS FOR CASH ON DELIVERY-INTERNSHIP PROJECT
 
Meeting the Challenge of Vivek Kundra's 25 Point Plan
Meeting the Challenge of Vivek Kundra's 25 Point PlanMeeting the Challenge of Vivek Kundra's 25 Point Plan
Meeting the Challenge of Vivek Kundra's 25 Point Plan
 
Trn 11
Trn 11Trn 11
Trn 11
 
Telecom Italia - Sustainability Report 2011
Telecom Italia - Sustainability Report 2011Telecom Italia - Sustainability Report 2011
Telecom Italia - Sustainability Report 2011
 
A Structural Engineering Support System using Semantic Computing
A Structural Engineering Support System using Semantic ComputingA Structural Engineering Support System using Semantic Computing
A Structural Engineering Support System using Semantic Computing
 
Software Engineering The Multiview Approach And Wisdm
Software Engineering   The Multiview Approach And WisdmSoftware Engineering   The Multiview Approach And Wisdm
Software Engineering The Multiview Approach And Wisdm
 

Más de Maninda Edirisooriya

Lecture 9 - Deep Sequence Models, Learn Recurrent Neural Networks (RNN), GRU ...
Lecture 9 - Deep Sequence Models, Learn Recurrent Neural Networks (RNN), GRU ...Lecture 9 - Deep Sequence Models, Learn Recurrent Neural Networks (RNN), GRU ...
Lecture 9 - Deep Sequence Models, Learn Recurrent Neural Networks (RNN), GRU ...Maninda Edirisooriya
 
Extra Lecture - Support Vector Machines (SVM), a lecture in subject module St...
Extra Lecture - Support Vector Machines (SVM), a lecture in subject module St...Extra Lecture - Support Vector Machines (SVM), a lecture in subject module St...
Extra Lecture - Support Vector Machines (SVM), a lecture in subject module St...Maninda Edirisooriya
 
Lecture 11 - KNN and Clustering, a lecture in subject module Statistical & Ma...
Lecture 11 - KNN and Clustering, a lecture in subject module Statistical & Ma...Lecture 11 - KNN and Clustering, a lecture in subject module Statistical & Ma...
Lecture 11 - KNN and Clustering, a lecture in subject module Statistical & Ma...Maninda Edirisooriya
 
Lecture 10 - Model Testing and Evaluation, a lecture in subject module Statis...
Lecture 10 - Model Testing and Evaluation, a lecture in subject module Statis...Lecture 10 - Model Testing and Evaluation, a lecture in subject module Statis...
Lecture 10 - Model Testing and Evaluation, a lecture in subject module Statis...Maninda Edirisooriya
 
Lecture 9 - Decision Trees and Ensemble Methods, a lecture in subject module ...
Lecture 9 - Decision Trees and Ensemble Methods, a lecture in subject module ...Lecture 9 - Decision Trees and Ensemble Methods, a lecture in subject module ...
Lecture 9 - Decision Trees and Ensemble Methods, a lecture in subject module ...Maninda Edirisooriya
 
Lecture 8 - Feature Engineering and Optimization, a lecture in subject module...
Lecture 8 - Feature Engineering and Optimization, a lecture in subject module...Lecture 8 - Feature Engineering and Optimization, a lecture in subject module...
Lecture 8 - Feature Engineering and Optimization, a lecture in subject module...Maninda Edirisooriya
 
Lecture 7 - Bias, Variance and Regularization, a lecture in subject module St...
Lecture 7 - Bias, Variance and Regularization, a lecture in subject module St...Lecture 7 - Bias, Variance and Regularization, a lecture in subject module St...
Lecture 7 - Bias, Variance and Regularization, a lecture in subject module St...Maninda Edirisooriya
 
Lecture 6 - Logistic Regression, a lecture in subject module Statistical & Ma...
Lecture 6 - Logistic Regression, a lecture in subject module Statistical & Ma...Lecture 6 - Logistic Regression, a lecture in subject module Statistical & Ma...
Lecture 6 - Logistic Regression, a lecture in subject module Statistical & Ma...Maninda Edirisooriya
 
Lecture 5 - Gradient Descent, a lecture in subject module Statistical & Machi...
Lecture 5 - Gradient Descent, a lecture in subject module Statistical & Machi...Lecture 5 - Gradient Descent, a lecture in subject module Statistical & Machi...
Lecture 5 - Gradient Descent, a lecture in subject module Statistical & Machi...Maninda Edirisooriya
 
Lecture 4 - Linear Regression, a lecture in subject module Statistical & Mach...
Lecture 4 - Linear Regression, a lecture in subject module Statistical & Mach...Lecture 4 - Linear Regression, a lecture in subject module Statistical & Mach...
Lecture 4 - Linear Regression, a lecture in subject module Statistical & Mach...Maninda Edirisooriya
 
Lecture 3 - Exploratory Data Analytics (EDA), a lecture in subject module Sta...
Lecture 3 - Exploratory Data Analytics (EDA), a lecture in subject module Sta...Lecture 3 - Exploratory Data Analytics (EDA), a lecture in subject module Sta...
Lecture 3 - Exploratory Data Analytics (EDA), a lecture in subject module Sta...Maninda Edirisooriya
 
Lecture 2 - Introduction to Machine Learning, a lecture in subject module Sta...
Lecture 2 - Introduction to Machine Learning, a lecture in subject module Sta...Lecture 2 - Introduction to Machine Learning, a lecture in subject module Sta...
Lecture 2 - Introduction to Machine Learning, a lecture in subject module Sta...Maninda Edirisooriya
 
Analyzing the effectiveness of mobile and web channels using WSO2 BAM
Analyzing the effectiveness of mobile and web channels using WSO2 BAMAnalyzing the effectiveness of mobile and web channels using WSO2 BAM
Analyzing the effectiveness of mobile and web channels using WSO2 BAMManinda Edirisooriya
 

Más de Maninda Edirisooriya (18)

Lecture 9 - Deep Sequence Models, Learn Recurrent Neural Networks (RNN), GRU ...
Lecture 9 - Deep Sequence Models, Learn Recurrent Neural Networks (RNN), GRU ...Lecture 9 - Deep Sequence Models, Learn Recurrent Neural Networks (RNN), GRU ...
Lecture 9 - Deep Sequence Models, Learn Recurrent Neural Networks (RNN), GRU ...
 
Extra Lecture - Support Vector Machines (SVM), a lecture in subject module St...
Extra Lecture - Support Vector Machines (SVM), a lecture in subject module St...Extra Lecture - Support Vector Machines (SVM), a lecture in subject module St...
Extra Lecture - Support Vector Machines (SVM), a lecture in subject module St...
 
Lecture 11 - KNN and Clustering, a lecture in subject module Statistical & Ma...
Lecture 11 - KNN and Clustering, a lecture in subject module Statistical & Ma...Lecture 11 - KNN and Clustering, a lecture in subject module Statistical & Ma...
Lecture 11 - KNN and Clustering, a lecture in subject module Statistical & Ma...
 
Lecture 10 - Model Testing and Evaluation, a lecture in subject module Statis...
Lecture 10 - Model Testing and Evaluation, a lecture in subject module Statis...Lecture 10 - Model Testing and Evaluation, a lecture in subject module Statis...
Lecture 10 - Model Testing and Evaluation, a lecture in subject module Statis...
 
Lecture 9 - Decision Trees and Ensemble Methods, a lecture in subject module ...
Lecture 9 - Decision Trees and Ensemble Methods, a lecture in subject module ...Lecture 9 - Decision Trees and Ensemble Methods, a lecture in subject module ...
Lecture 9 - Decision Trees and Ensemble Methods, a lecture in subject module ...
 
Lecture 8 - Feature Engineering and Optimization, a lecture in subject module...
Lecture 8 - Feature Engineering and Optimization, a lecture in subject module...Lecture 8 - Feature Engineering and Optimization, a lecture in subject module...
Lecture 8 - Feature Engineering and Optimization, a lecture in subject module...
 
Lecture 7 - Bias, Variance and Regularization, a lecture in subject module St...
Lecture 7 - Bias, Variance and Regularization, a lecture in subject module St...Lecture 7 - Bias, Variance and Regularization, a lecture in subject module St...
Lecture 7 - Bias, Variance and Regularization, a lecture in subject module St...
 
Lecture 6 - Logistic Regression, a lecture in subject module Statistical & Ma...
Lecture 6 - Logistic Regression, a lecture in subject module Statistical & Ma...Lecture 6 - Logistic Regression, a lecture in subject module Statistical & Ma...
Lecture 6 - Logistic Regression, a lecture in subject module Statistical & Ma...
 
Lecture 5 - Gradient Descent, a lecture in subject module Statistical & Machi...
Lecture 5 - Gradient Descent, a lecture in subject module Statistical & Machi...Lecture 5 - Gradient Descent, a lecture in subject module Statistical & Machi...
Lecture 5 - Gradient Descent, a lecture in subject module Statistical & Machi...
 
Lecture 4 - Linear Regression, a lecture in subject module Statistical & Mach...
Lecture 4 - Linear Regression, a lecture in subject module Statistical & Mach...Lecture 4 - Linear Regression, a lecture in subject module Statistical & Mach...
Lecture 4 - Linear Regression, a lecture in subject module Statistical & Mach...
 
Lecture 3 - Exploratory Data Analytics (EDA), a lecture in subject module Sta...
Lecture 3 - Exploratory Data Analytics (EDA), a lecture in subject module Sta...Lecture 3 - Exploratory Data Analytics (EDA), a lecture in subject module Sta...
Lecture 3 - Exploratory Data Analytics (EDA), a lecture in subject module Sta...
 
Lecture 2 - Introduction to Machine Learning, a lecture in subject module Sta...
Lecture 2 - Introduction to Machine Learning, a lecture in subject module Sta...Lecture 2 - Introduction to Machine Learning, a lecture in subject module Sta...
Lecture 2 - Introduction to Machine Learning, a lecture in subject module Sta...
 
Analyzing the effectiveness of mobile and web channels using WSO2 BAM
Analyzing the effectiveness of mobile and web channels using WSO2 BAMAnalyzing the effectiveness of mobile and web channels using WSO2 BAM
Analyzing the effectiveness of mobile and web channels using WSO2 BAM
 
WSO2 BAM - Your big data toolbox
WSO2 BAM - Your big data toolboxWSO2 BAM - Your big data toolbox
WSO2 BAM - Your big data toolbox
 
GViz - Project Report
GViz - Project ReportGViz - Project Report
GViz - Project Report
 
Mortivation
MortivationMortivation
Mortivation
 
Hafnium impact 2008
Hafnium impact 2008Hafnium impact 2008
Hafnium impact 2008
 
ChatCrypt
ChatCryptChatCrypt
ChatCrypt
 

Último

WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostZilliz
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024The Digital Insurer
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clashcharlottematthew16
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr LapshynFwdays
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 

Último (20)

WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clash
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 

University of Moratuwa Training Report: Water Conservation System

  • 1. UNIVERSITY OF MORATUWA Faculty of Engineering Non-GPA Module 399: Industrial Training TRAINING REPORT M. W. Edirisooriya 070115U Computer Science and Engineering Zone24x7 (Pvt) Ltd 6 Months 4th of August 2010
  • 2. Preface The report includes the engineering experiences, professional best practices and both technical and non technical knowledge and skill development gained by me during the industrial training internship program during Level 3 in second semester in company Zone24x7 (Pvt) Ltd. The document format follows the format provided by the university at the beginning of the training program. This report contains three main sections. First chapter contains it describes a summarization about the general information, organizational structure, performance, profitability, strengths and weaknesses of the company. In second chapter it consists of details about the internship experiences at the training location. In this section it describes details about projects I have involved, difficulties and problems I faced, management, financial and office practices that I have exposed etc. Third chapter consists of the conclusion of the report. This is a self measurement about the training experience and about industrial training program, references, abbreviations are in this section. ii
  • 3. Acknowledgement I would like to express my sincere gratitude to all the parties who contributed me to success in the industrial training program who helped me in various ways in technical, management and all sort of guidance given me to improve my professional and technical knowledge. First I would like to thank the parties who contributed and organized this program. So I would like to thank all the staff members of the National Apprentice and Industrial Training Authority (NAITA) for organizing this program and accepting the Zone24x7 as a company who helped me a lot for gaining training experience. Then I would like to thank all the staff members of Industrial training division of University of Moratuwa including the Director, for organizing this important program. I must give my special thank to Head of Department of Computer Science and Engineering University of Moratuwa, Ms. Vishaka Nanayakkara, then Dr. Malaka Walpola -Senior Lecturer, Dr. Shehan Perera-Lecturer, Mr. Shanaka Ransiri -Lecturer, Mr. Chulaka Gunasekara -Lecturer and who did all the coordination between students and the companies, also from the Department of Computer Science and Engineering, University of Moratuwa together with all the other Academic Staff members for their great effort of providing and coordinating Industrial Placements at suitable places and also for monitoring our internship experience throughout the training period in order to ensure that we gain the maximum out of it. I would like to extend my thanks to Mr. Ruwan Pradeepa the Technical Project Manager of Water Demand Division System at Zone24x7, Mr. Lakmal Molligoda, Senior Software Engineer at Zone24x7, Mr. Priyal Walpita Senior Software Engineer at Zone24x7, Ms. Sonali Jayasooriya QA Software Engineer at Zone24x7, Ms. Kalani Tennakoon Software Engineer at Zone24x7 Tech for instructing and guiding my Internship Program throughout the training period without any issue. I would also like to appreciate the great contribution provided by Mr Llavan Fernando, CEO and President of Zone24x7, Mr. Manjula Dissanayake, Vice President of Zone24x7, Ms Nenuka, HR Manager of Zone24x7 at Zone24x7 - in the Management of on conducting an excellent Training Program for all the interns. iii
  • 4. My special thanks go to all the others developers who helped me by spending their valuable time and teaching me to resolve problems which I encountered while I was developing. These technical advices not only helped me to resolve my problems but also improved my technical knowledge. At last but not least, I would like to thank all my fellow colleagues who have made my Internship Experience at Zone24x7 a pleasant & enjoyable one and for helping me to overcome the challenges I faced during this period. iv
  • 5. Contents Preface ii Acknowledgement iii Contents v List of Figures ix List of Tables ix 1. Introduction to the Training Organization 1 1.1 About Zone24x7 1 1.1.1 Introduction 1 1.1.2 Top Research Areas of Zone24x7 1 1.1.1 Vision Mission 1 1.2 Organizational Structure 2 1.3 Products and Services 2 1.3.1 Retail 2 1.3.2 Embedded Systems 3 1.3.3 Payment Security & Biometrics 3 1.3.4 Banking and Finance 3 1.3.5 Healthcare 3 1.3.6 Water Conservation & Distribution System (The Project I involved) 3 1.3.7 Energy Conservation 4 1.4 Partners and Clients 4 1.5 Current Position of Zone24x7 5 1.5.1 Current Performance 5 1.5.2 Strengths and Weaknesses 5 1.5.3 Suggestions for Further Development 6 1.5.4 Possible Constraints to My Suggestions 6 1.5.5 Economy and Profitability 7 1.5.6 Usefulness to Sri Lankan Community 7 2. Training Experience 8 v
  • 6. 2.1 Company Related Experience 8 2.1.1 First Experiences 8 2.1.2 Daily Life in Zone24x7 8 2.1.3 Work Measurement System 9 2.1.4 Freedom in the Company 9 2.1.5 Entertaining Activities 9 2.1.6 Common Development Procedure 10 2.2 Overview to Work Done during the Industrial Training 11 2.2.1 Introduction 11 2.2.2 Project work overview and schedule 12 2.3 Experience with Tools and Technologies 13 2.3.1 Experience with Tools 13 2.3.1.1 ASP.NET 13 2.3.1.2 C# 13 2.3.1.3 Dot Net Framework 13 2.3.1.4 Internet Information Service 7 13 2.3.1.5 Microsoft Visual Studio 2005 development platform 14 2.3.1.6 Microsoft SQL Server Management Studio 2005 14 2.3.1.7 Adobe Flex 14 2.3.1.8 Internet Explorer Developer Tools 14 2.3.1.9 SqlAssistant 15 2.3.1.10 RegexBuddy 15 2.3.1.11 JQuery 15 2.3.2 Technology Exposure 15 2.3.2.1 ASP.NET Web design 15 1.1.1.1 User Interface Designing 16 1.1.1.2 Web application validation 17 1.1.1.3 Regular Expressions 18 1.1.1.4 Web Hosting in IIS7 18 1.1.1.5 Developing Flex Application 18 1.1.1.6 Web Service Handling 18 vi
  • 7. 1.1.1.7 Report Generation using Visual Studio 19 1.1.1.8 Creating SQL databases 19 1.1.1.9 SQL Database Querying 19 1.1.1.10 Online Debugging With Developer Tools 20 2.4 Project Involvement 20 2.4.1 School System, a sample project 20 2.4.1.1 Usage of Grid Views 21 2.4.1.2 Usage of Validations 22 2.4.2 E-mail sending component (Multiselect web control) 22 2.4.3 Inspections viewing and editing using PastInspections web control and PastInspectionsPopup 23 2.4.4 Chart Of Account report generator 23 2.4.5 Online Application 24 2.4.6 EventAPNChange, APN changing web control 24 2.4.7 WESControl, Water Efficiency Standard Control 25 2.4.8 WDSData, Well Distribution System 25 2.4.8.1 GUI Designing 26 2.4.8.2 Overall Logic of WDSData 27 2.4.8.3 Validation of WDSData 29 2.4.9 Adobe Flex application 29 2.4.10 WDD-CDV, County Data View for WDDS 30 2.4.10.1 Introduction to WDD-CDV 30 2.4.10.2 Form View control 31 2.4.10.3 New SQL Logic Used 31 2.4.10.4 Adding Role Permission 32 2.4.10.5 Debugging with Developer Tools 32 2.4.10.6 Validation in WDD-CDV 32 2.4.11 BottomModulePanel, Create New Modules in WDD-DBS 33 2.4.12 Client requested changes in WDD-DBS 33 2.5 Problems and Difficulties Encountered 33 2.4.1 Work Related Problems and Difficulties 33 vii
  • 8. 2.4.2 Training Personal Related Problems and Difficulties 34 2.4.3 Other Personal Difficulties 34 2.6 Solution Found 34 2.7 Company Practices Exposed 35 2.7.1 Information on Production Processes 35 2.7.2 Administrative and Office Practices 35 2.7.3 Financial Procedures 35 2.7.4 Safety Procedures 35 2.7.5 Management Practices 36 3.1.1 Operational Techniques 36 3.2 Machines and Equipments encountered 36 4. Conclusion 37 4.1 About Training Program 37 4.2 Technical Improvements 37 4.3 Soft Skill Improvements 38 4.4 Overall Conclusion 38 References 39 Abbreviations 40 viii
  • 9. List of Figures Figure 1.1 Organizational Structure 2 Figure 1.2 Zone24x7 Clients 4 Figure 2.1 Insert a new student 20 Figure 2.2 Invalid entry validation 22 Figure 2.3 Mail sender 22 Figure 2.4 PastInspectionsPopup 23 Figure 2.5 One wizard step of Online Application 24 Figure 2.6 APN change prompt 24 Figure 2.7 Well Distribution System tab 25 Figure 2.8 Other Information tab 26 Figure 2.9 Adding a new Well System 26 Figure 2.10 Foot Note tab 26 Figure 2.11 CAW Central Division Data tab 26 Figure 2.12 Editing Well System table 27 Figure 2.13 Searching with Master ID 27 Figure 2.14 When data related to WDS Edit is clicked 27 Figure 2.15 When Water Production is clicked to be edited 28 Figure 2.16 When WDS Letters are edited 28 Figure 2.17 Letter generation 29 Figure 2.18 Property Information of a selected APN number 30 Figure 2.19 Editing Location data of a selected APN number 31 Figure 2.20 Validation message when tried to save changes 32 Figure 2.21 BottomModulePanel 33 List of Tables Table 2.1 Development Summary 12 ix
  • 10. 1. Introduction to the Training Organization 1.1 About Zone24x7 1.1.1 Introduction Zone24x7 is a technological company that provides a variety of technological solutions in a broader range of hardware and software applications in electronics and software world. A Head quarter of Zone24x7 is located in San Jose, California. Zone24x7 has technology development and research centers located in United States, Sri Lanka and Malaysia. About one hundred of employees are employing in the company. The team in Zone24x7 consists of engineers in both software and electronics fields expert in various technologies. They are involved in activities that will enable them to employ solutions to meet growing business demands of customers and to develop the company by using the cutting edge technology. Most of its customers are not local but from United States. Zone24x7 research and develop solutions for their requirements with use of broad background of various technologies using hardware and software solutions. 1.1.2 Top Research Areas of Zone24x7 Zone24x7 is basically targeted on the following research areas. 1. Surface Computing – With touch sensitive computer screens 2. Computer Vision and Gesture Recognition 3. Bio Feedback – Fingerprint recognition etc. 4. Embedded Agent Technologies 1.1.1 Vision Mission “Global Research Locally” is the vision of the organization. Zone24x7’s mission is to provide next generation technology and innovation services to our clients. 1
  • 11. 1.2 Organizational Structure This is the organizational structure of Zone24x7 according to my knowledge. There may be more sections that are related to QA and other laborers. But this is the structure I understood. President (CEO) Vice President Operational Manager Project Manager (TR) Project Manager (QAR) Project Manager (CMR) SSE (Leader) Software Engineer Associate Software Engineer Figure 1.1 Organizational Structure 1.3 Products and Services Because there are many areas that the company has many expert areas on only the names of domain expert areas are mentioned below. 1.3.1 Retail  Hand-Held Application Suite for Store Operations – Easy electronic equipment for stores  Real Time Inventory System – Online solution for inventory requirements  Customer Loyalty Management Systems – Customer data management system  Cloud Computing and Mash-up Services – Cutting edge technology in web based software and networking 2
  • 12. 1.3.2 Embedded Systems  Hardware Design – Designing hardware for embedded devices.  Firmware and OS Porting – Designing lower level software (e.g.: Device Drives)  SDK Development – Developing SDK for hardware and software requirements 1.3.3 Payment Security & Biometrics  Signature Capture and Verification Applications – Patented technology from Zone24x7  Finger Print Verification Applications – Bio matrix based application  Computer Vision Based Applications – Image recognition technology  Biofeedback Based Applications – Nerve pulses and brain waves based technology 1.3.4 Banking and Finance  Secure Cheque Clearance – User authentication system  Image & Transaction Management Systems (ITMS)  End–to-end Receipt Management and Dispute Resolution – Patented technology from Zone24x7  Banking Facility Management – Queue Management, Staff Scheduling, Management Reporting 1.3.5 Healthcare  Healthcare Suite for Operation Room Scheduling, Staffing, Inventory Management, Reporting  Next generation Staff-less Office System  Unique interactive capabilities for diagnosis 1.3.6 Water Conservation & Distribution System (The Project I involved)  Permit issuing and monitoring – Issuing permits from the software system  Inspection scheduling – Online scheduling technology  Dynamic report generation – Generate reports from database data  Dynamic work flow creation for business rules – Workflow manager in the system 3
  • 13. 1.3.7 Energy Conservation  Monitoring and Alerts – Monitoring energy requirements and control the supply, alert on energy waste  Smart controlling – Embedded system based solutions for energy conservation 1.4 Partners and Clients Zone24x7 has more than 500 companies and technology leaders around the world as clients. Some of them are as follows. Figure 1.2 Zone24x7 Clients Following are the technology partners of Zone24x7. Microsoft Gold Certified MSC Status Windows Embedded Partner Sun Microsystems Motorola ISV Partner Freescale (Motorola) 4
  • 14. 1.5 Current Position of Zone24x7 1.5.1 Current Performance At present Zone24x7 has an identity of providing all types of business solution in both software and by using embedded systems. This is a very unique specialty in Zone24x7 when compared to similar software companies in Sri Lanka. The company provides the services based on the target of satisfaction of the client more than or equal to the expectation of the client. Zone team has the responsibility to be flexible accordingly with the requirements of the customer. This is an advantage when it comes to interact with clients in United States. 1.5.2 Strengths and Weaknesses The company hires the best people from the University of Moratuwa. As embedded systems related job opportunities are rare in Sri Lankan job market there is a higher tendency in electronic engineers pass out from UOM to join Zone24x7. This is the main strength I could observe as the strength of Zone24x7. As the intelligence of the engineers from UOM is above the average Zone24x7 has a valuable human resource. The other strength is its international relationship. As most clients of Zone24x7 are from United States of America the income to the company and the exposure to the newest technology are very high for the company. And also the business stability is very high as the economy in USA is very stable and there are lot of customers can be found from the USA. This leads to prevent dependency upon little number of clients which would reduce the stability of the company. There were few weaknesses I could observe existing in the company. Some employees think their salary is not sufficient. This would reduce the staff satisfaction and would result poor output from the staff. And also I could observe many engineers are leaving the company after they obtain several years of experience in Zone24x7. This would reduce the number of experienced engineers who has worked in many important projects. After they leave it becomes difficult to track the project for the new engineers join the project. In the project I worked, I found very little or no comments in source code. This makes very difficult for new people like me to understand the structure of the structure and functionality of source code. 5
  • 15. 1.5.3 Suggestions for Further Development It is very difficult to give suggestions for complex companies without doing a proper research in other similar companies. But according to my personal observations I can give the following suggestions for the benefit of the company. In software, the employees should be made to write codes with comments. Each function that may be important should be commented accordingly with sufficient words and it is better if each project could maintain a separate set of documents for the benefit of new comers to the project about the structure of the system and its operational functionality. This type of system may useful to identify the overall structure of the project without talking to a previous engineer involved in the project. And one of the other major problems I observed in my project is its architecture. Though it used the programming language C Sharp, the system very rarely used its object oriented properties. This has created an unusual amount of redundant code for similar functions without using the inheritance. When a change had to made all the locations it was applied had to be modified and finally each location had to be tested separately. This is a very high disadvantage in terms of resource allocation, time to code and accuracy. If a project use an object oriented programming language like C# or Java it must be designed in an object oriented manner. 1.5.4 Possible Constraints to My Suggestions Writing comments is one of the main hated practices for almost all programmers. They will be very unhappy if the writing comments for all the code they write is stated as mandatory. They will try to copy and paste the same comment for many codes. Programmers will complain they would not have enough time to complete the project due to comments. For software architects who had programming experience only with languages like C++ or C, it will not be a good idea to suggest designing in the object oriented manner as they are not familiar and interested with OO concepts. The company may need to find good OO experts to design project if they wish to programming languages like C# or Java. And also it will be a hard work to teach OO concepts to old programmers who were only fluent with non OO languages. 6
  • 16. 1.5.5 Economy and Profitability I was not given access to the internal accounts of the company. Therefore the information knows are what the company says. According to them the company has a good income and could achieve the business targets they expected to have. As the company interacts with the United States, past few days they also had to face some effects of the global economic crisis which badly affected mainly on United States economy. Anyway the company could maintain its economic growth without a critical problem. Recently the company could obtain some valuable recognition from technology giants in world which helped them a lot for marketing purposes as well as technical support. 1.5.6 Usefulness to Sri Lankan Community Because Zone24x7 has most of its market outside Sri Lanka, the technical advantages affected on Sri Lankan community is negligible. Anyway their technological researches are valuable for the country. Zone24x7 has a research centre inside the University of Moratuwa which makes a high contribution to the Sri Lankan technology given to local university students. However this company contributes a lot to the Sri Lankan economy by taking in a lot of foreign exchange. And the company provides a number of job opportunities to Sri Lankans inside the country and in abroad. This helps to reduce the unemployment in the country and to avoid the brain drain from the country which indirectly helps the technological development of the country. 7
  • 17. 2. Training Experience 2.1 Company Related Experience 2.1.1 First Experiences First day I in Zone24x7 we recognized our fellow colleges including the interns from University of Moratuwa. Only I was from the CSE of UOM who was selected there. Others are from ENTC. In my floor there is none of our people. That may be because of the differences of our engineering disciplines. On the first day I felt so lonely. But from second day it was better. The company provided me a powerful desktop computer with CRT monitor. Then they were kind to my request of a LCD monitor and gave a 21 inch one. They installed software in my computer including Skype and Microsoft Outlook which were new for me. Not only them but all the Microsoft related developing tools new for me. Next they organized a small presentation for all of us from University of Moratuwa by the Human Resource Manager of Zone24x7. There they introduced their products, career in the company, international connections and their strengths and specializations in the technology field. In the first week they organized another meeting with presentations that described the procedure in Zone24x7 which is said as unique to Zone24x7 known as “Zone Way”. The presenter explained the standards that are maintained by the company to maintain international standards that is very important for the marketing purposes. 2.1.2 Daily Life in Zone24x7 As Associate Software Engineers we should present in the company on 8.30 a.m. in morning. We get biscuits two times a day and tea two times a day. We get our lunch at about 12.30 p.m. Normally we are allowed to leave the company at 5.30 p.m. We are required to wear a formal (professional) dress in first four days of week. On Friday it can be changed. 8
  • 18. 2.1.3 Work Measurement System There is an online system that tracks the number of hours spend for each module of development by each employee in each day which is called “XPlanner”. At the end of the month data collected from this system is used to charge customer for the development of software. Each employee should enter the work he has done in relevant module with the number of hours he spent on during each day. I used my daily diary as the source to update this data at the end of the month. 2.1.4 Freedom in the Company There are no hard restrictions for the employees in Zone24x7. Absence can be appealed by the project manager. The time to come to the company can vary from 8.30 to about one hour without any problem. If more than one hour late was happened, it should be informed to the project manager. Entrance and exit times are automatically monitored by a card with a radio tag provided to each employee. So there is no requirement to sign a present sheet. 2.1.5 Entertaining Activities There is a welfare society named “ClubZone” that organizes entertaining activities. In special occasions like birthdays, weddings and farewells etc cards are sent for sign around the company and give the person at the relevant day. Working table of the employee is decorated in the birthday and the birthday song is sung. At each month a party called “Birthday Bash” is held by the expense of the employees who had birthdays in that month. And parties are organized for specials festivals like New Year festival. At each year night parties are organized by the ClubZone. ClubZone maintains a DVD library that lends movie DVDs for Rs.30. There may be more events organize by ClubZone than I have mentioned. 9
  • 19. 2.1.6 Common Development Procedure According to ZoneWay there are common steps that I have identified as the practicing procedure in Zone24x7. 1. Requirements are gathered from the customer. 2. Prepare SRS document. 3. Prepare design document by development team. 4. Prepare test cases by the QA team. 5. Send test cases to the development team for review. 6. Development team adds drops and modifies test cases and sends review report back to QA while creating the design document. 7. QA team correct test cases and send back to development team for review. 8. If the development team agrees with those test cases they send confirmation. 9. Otherwise this recursively happen until both parties come to a compromise. 10. Finally confirmed test cases are taken as Round 0 test cases. 11. After creating the design document, development team starts to develop the system. 12. After the design process the developer has to test Round 0 testing by him as a unit test. 13. After this test unit test responsible person sends back the confirmed Round 0 test UTS to QA mentioning if there are any changes to be done in test cases. 14. QA consider the changes mentioned by the development person and do the Round 0 test and if there are any bugs existing, QA prepare the Round 1 test case and send back to the development team. 15. This process continues until QA find no error in software. 16. After the system is completely tested a customer release is issued. In this process there exists freedom to the developer to identify new requirements during the development process and change unsuitable requirements mentioned in the SRS document. These changes can be negotiated with the QA team first and if required can talk to the customer to clarify his requirements. Because the first unit testing part is done according to the QA requirements, it reduces the time the QA spend to identify errors as the developer know the test cases prior to the development. 10
  • 20. 2.2 Overview to Work Done during the Industrial Training 2.2.1 Introduction During my whole training period I was only involved in a single project, Water Demand Division System, a water resource allocation and charging database based system for a state in United States of America. Anyway this system consists of many technologies including following major technologies mainly products of Microsoft. 1. ASP.NET 2. C# 3. .NET Framework 4. IIS 7 5. Microsoft Visual Studio 2005 development platform 6. Microsoft SQL Server Management Studio 2005 7. Adobe Flex 8. Internet Explorer Developer Tools 9. JQuery 10. JavaScript This project was already started before I joined the company. Therefore it was a slower process of understanding the system and its architecture. As I was not familiar with all the above mentioned technologies I was given a simple prototype project of a database system for a school to identify the structure and all basic standards related to the main system. For about three to four weeks I was involved with this project and then I was joined to the real Water Demand Division System. During the pilot project I learned the coding standards expected by the company. I got special software “SoftTree SQL Assistant” that helped a lot to generate SQL code in appropriate coding standard. In WDDDBS project I used to learn “TortoiseSVN” the version management system that is useful to add changes from various locations by various programmers. Until the end of training I had many practices to learn with this tool. 11
  • 21. 2.2.2 Project work overview and schedule In first few weeks I was learning the technology and developing the pilot system for a school. Then I joined the WDDDBS, the main project. In the last month the development of WDD-DBS was announced finished and then another project “Water Demand Division County Data View” (WDD-CDV) was started which was a new version for the older system that uses the web services of the older system. In the WDD-DBS system I was involved in several components and major part of the training was spent on the WDD-DBS system. The Table 21 shows the time period I was involved in each component of the project. Some time periods coincides as some components were started before others were ended or testing was performed after another component was started to develop. Table 2.1 Development Summary Component Developed Started Completed Date Date 1 School System, a sample project 10/02/2010 03/03/2010 2 E-mail sending component (Multiselect web control) 02/03/2010 08/03/2010 3 Inspections viewing and editing using PastInspections web 09/03/2010 17/03/2010 control and PastInspectionsPopup 4 Chart Of Account report generator 17/03/2010 19/03/2010 5 Online Application 19/03/2010 07/04/2010 6 EventAPNChange, APN changing web control 07/04/2010 08/04/2010 7 WESControl, Water Efficiency Standard Control 08/04/2010 18/04/2010 8 WDSData, Well Distribution System 22/04/2010 03/06/2010 9 Adobe Flex application 0705/2010 03/06/2010 10 WDD-CDV, County Data View for WDDS 04/06/2010 23/07/2010 11 BottomModulePanel, Create New Modules in WDD-DBS 23/06/2010 29/06/2010 12 Client requested changes in WDD-DBS 08/07/2010 21/07/2010 12
  • 22. 2.3 Experience with Tools and Technologies 2.3.1 Experience with Tools 2.3.1.1 ASP.NET ASP.NET is a web development framework which is a product of Microsoft and is used to develop Dynamic web pages, web applications as well as web services. It uses C#.NET or VB.NET adds its dynamic behavior. ASP.NET comes with standard .NET bundle. In our Water Demand Division System we used ASP.NET 3.5 version as it contains new features to support some other features like Ajax. 2.3.1.2 C# C sharp is a Java like object oriented programming language based on Microsoft dot net framework. All logic behind ASP.NET web pages is written using C# language. C# is a product of Microsoft. In our application ASP.NET pages uses functionality provided by the Dynamic Link Library files in the lower layer, (Library Layer) which executes the SQL Stored Procedures in the data base. 2.3.1.3 Dot Net Framework .NET Framework is a product of Microsoft which is a service providing layer providing runtime files to C# and ASP.NET programs. It is a Virtual Machine for Windows application and contains libraries that support GUI design, database access and cryptography etc. We used .NET Framework version 3.5 which is bundled in default with Windows 7 operating system. 2.3.1.4 Internet Information Service 7 Internet Information Service (IIS) is web server software comes with Windows 7 as optional packages. ASP.NET developed web sites can be hosted in IIS in local host after installing IIS in the local machine. Web site can be even debugged in ASP.NET code while the site is in its runtime. 13
  • 23. 2.3.1.5 Microsoft Visual Studio 2005 development platform This is the basic development platform for Microsoft products including ASP.NET and C# that we used in our project. It is a designing and compiling package of these programming languages. Visual Studio 2010 was available on that time but due to compatibility issues we used 2005 version for development of this old versioned system. 2.3.1.6 Microsoft SQL Server Management Studio 2005 Microsoft SQL Server is a relational database management system developed by Microsoft and it uses ANSI SQL as its main query language. There are many versions of SQL Server and we used MS SQL Server 2005. It stores data as databases in the DBMS. SQL commands are saved in as Stored Procedures as SQL files that are used by the above layer files (Library Layer) of our system. 2.3.1.7 Adobe Flex Adobe Flex is a rich web application development technology by Adobe. Web page like interfaces with beautiful user interfaces can be generated easily with almost all database functionalities that can be included in ASP.NET web page. The component is developed in developer environment, Flex Builder and produces a “swf” file as the executable version. In Flex Builder there are facilities like debugging are available like in Visual Studio Development environment. 2.3.1.8 Internet Explorer Developer Tools Developer Tools is another optional package comes with Internet Explorer for Windows 7 operating system. This is used to debug JavaScript and CSS properties in a loaded web page to the Internet Explorer web browser. This is similar to “FireBug” add on available for Mozilla Firefox in behavior and functionality. This is useful for identifying bugs in JavaScript as in Visual Studio there is no proper way to debug JavaScript in runtime. And this is very useful for identifying UI errors in a web page in different resolutions. 14
  • 24. 2.3.1.9 SqlAssistant SqlAssistant is an extension to Microsoft SQL management Studio developer that automatically generates SQL code and automatically prompts a list of words while typing to ease the process of SQL code writing. According to the coding standers SQL key words should be capital and aliases should be used for statements like select statements. This extension helps a lot to generate such code. 2.3.1.10 RegexBuddy RegexBuddy is a simple but very useful tool for developing regular expressions for various applications. Using this software we can get the meaning of a regular expression in words and can be used to generate new regular expressions. And also this tool can be used to test regular expressions against the text to be searched or to be validated. 2.3.1.11 JQuery JQuery is an open source powerful JavaScript library that is useful for developing complex widely used JavaScript function based web sites in lesser time. In our project it is used in later stage and was used for validation purposes that give user friendly tooltips for invalid data entered to a control object. (e.g.: Text Field) And also JQuery supports to create visually rich user interfaces such as confirmation boxes with the help of CSS. 2.3.2 Technology Exposure 2.3.2.1 ASP.NET Web design Almost all the time I spent during my training program is with web design using ASP.NET. This is a modified programming language of ASP. It has a similar programming design to the programming language JSP. In ASP.NET there are three files related to a single web page. One is the .aspx file which is the HTML like file full of tags. It contains both server side and client side web controls used in the web page. The second file is the .aspx.cs file that is a C# class full of C sharp code that contains all the server side logic related to the web page. All the events that are to be handled in server and page load events are coded in this file. If required the attributes in 15
  • 25. the components of .aspx file can be changed using C# logic. The third file of the web page is the .design.cs file that contains all the components logically mentioned in the .aspx file. In my programming experience I got a good knowledge on data binding, accessing, editing, adding, removing and paging operations on Grid View web control and Form View web control. And further I gathered knowledge on data binding to inner components of Grid View such as Dropdown Lists. And also I learned about CSS application usage in Grid View and Form View controls. In our application we worked on an application with several logical layers. The top layer is the actual ASP.NET based web layer. All the pages are inherited from a single web page, “Base Page” that handled all user information, privileges, session state and all the commonly needed functions that are commonly used in all web pages. For the reusable purposes the application used ASP.NET web controls. A web controls is an .ascx file that can be independently developed can be used in web pages which provides a certain functionality common for many web pages. In our project sometimes we needed to show only certain parts of a web page. In such situations we used several different techniques according to the requirement, complexity and performance. 1. Used a div section and changed its visibility. Sometimes we u 2. Used a panel and changed its visibility. 3. In some cases we used TR of a HTML table to hide and display appropriately. There we assigned IDs for each table row and changed its visibility accordingly. All the configuration information such as IP addresses and such changeable information are included in a configuration file and can be changed by the user accordingly. 1.1.1.1 User Interface Designing I designed some user interfaces for the web application in ASP.NET. It was not a major design but I could learn a lot on HTML tables, div sections, panels etc. I could learn CSS from this design and could understand the application techniques of Style sheets to web controls in the form of a class and the direct assignments. 16
  • 26. The requirements design was given me in the form of a Visio document which is known as “Wireframe”. At first I tried to blindly get the all values from the wireframe and make the UI design but then I found that they are not visible properly when developed according to the given specification and started to assign appropriate values as required. Then I was instructed that only the font sizes and font styles should be according to the specification and the rest can and should be changed as required. I included some CSS properties into the imported CSS file and used them throughout the design process which was very easy and fast when developing. 1.1.1.2 Web application validation In the earlier stage when I was involved in the WDD-DBS system, the validation convention used was changes when it came to WDD-CDV which was based on jQuery. In the earlier version it was a star mark next to the text field or drop down list. Mandatory fields had a red colored star mark next to the input field (text field/dropdown list). So we had to manually include them in a single HTML table which was a time wasting process when it comes to a web page with a lot of input fields. And also all the required fields to be validated had another hidden red star next to the input field. In the .aspx file required type of validator (e.g.: Required Field Validator, Regular Expression Validator, Custom Valiadator etc.) was assigned to each input control. All the validators in a single form (or single submit section) were given a single validation group. Under the form (or single submit section) it was a validation summary dedicated for the particular validation group. When the submit button is pressed the validity of the validation group is checked and submit process is done only if the validation is correct. Otherwise the validation errors are displayed in the validation summary under the form and red star marks are displayed next to the input field (text field/dropdown list). Whole process is done in server side so the response time was a problem. In the new application we used only jQuery totally in client side. So there was no server validation was required. The process is easy and adding a validation can easily be done by just changing the validation statement at the class attribute of the input field. The validation can be done in both onblur event of a text field or at the submit button click event. The error message will be popped up as tooltip at the input field. In the WDD-CDV application we could reduce the response time by using such techniques. 17
  • 27. 1.1.1.3 Regular Expressions Regular expressions are very useful and powerful tools when it comes to text processing. In our systems we used regular expressions mainly for validating e-mail addresses, dates, APN numbers and Zip codes. It was also useful for extracting the first APN number from OCRed text in WDD- CDV application. 1.1.1.4 Web Hosting in IIS7 All the web sites developed using the language ASP.NET was hosted in IIS7 web server. We learnt IP assigning site naming and database allocation to web site using IIS7. For test purposes we hosted it in the local machine and the debugging was possible in Visual Studio development environment in the run time after attaching the process for debugging. Not only for ASP.NET pages but for Adobe Flex pages we could debug using Flex Builder with the help of IIS web server. Even multiple web sites were possible to host in a single web server. 1.1.1.5 Developing Flex Application “Flex Builder” was the development environment for Flex applications. In Adobe Flex a beautiful UI can be developed with all the validation facilities in an easy way as readymade components are available for the UI designing. And also similar to the ASP.NET we can develop tables like Grid Views in ASP.NET and handle data similar to the way they are handled in ASP.NET application. Unlike in ASP.NET there is no need to design CSS or use other functions to handle web services or to implement animations, in Adobe Flex we can easily call existing web services and perform insert, edit and delete operations to a database via the web services with a UI containing default animations. 1.1.1.6 Web Service Handling Web service is a well known service layer that provides database services to the web application layer in our system. Under the web service layer it is the library layer that executes SQL commands on the data base and perform operations like insert records to the database, edit record in the database and delete records in the database. All the data are sent to the database side in many data types and data from the database comes as Dataset objects. Web service layer communicate with web layer using XML objects. 18
  • 28. 1.1.1.7 Report Generation using Visual Studio Report generation is a basic need for almost all commercial software systems. Microsoft visual studio provides a very useful report generator design tool. Using these tools it is easy to get a report from the database by executing stored procedures and displaying the results in tables and text fields. The report is generated according to the “Report Parameters” entered by the user. Then the user can print the report if required. 1.1.1.8 Creating SQL databases During the development of new database tables and from “School System” application I could gather knowledge on the database design according to the Relational Schema provided. There I could learn the use of foreign keys, primary keys and data types used to create databases. According to the requirements of the client when deleting a record from a database table, instead of permanently removing its content from the database, a special Boolean attribute, “IsArchived” is set to true. When inserting, insert date and time is recorded in another attribute. When the record is modified, old record is archived and a new record is added to the database with new values with new modified date into the attribute, “Modified Date”. 1.1.1.9 SQL Database Querying In systems I developed in the company, all the SQL queries and commands are all saved in separate .sql files and all of them are written such that once executes a new stored procedure with the same name of the stored procedure is included into the MS SQL DBMS if it is a new name. Otherwise the new execution will overwrite the existing stored procedure. And also a short description, the author and the created date is included in the head of the .sql file. Stored procedures are written for either write or read operation of the database. When more than one database table is accessed join operations are used. All the data retrieving SPs send data in alias names from the database. All the data saving SPs has a Boolean parameter “IsDelete” that is true in value only when the record is deleted. Otherwise (i.e.: When modifying existing record) it has value false. (In SQL true and false values are denoted by 1 and 0) And also when saving records a special attribute “UserID” is set from the value of the user’s ID value from the session state in web application. 19
  • 29. Considering the whole transaction there is a mechanism to preserve the consistency of the transaction. And if the SP is too complex to implement, temporary tables are used for storing intermediate output values while processing. Sometimes cursor keyword is used to implement iterative operations during a single SQL operation execution. Knowledge on SQL is a very important type of knowledge I could obtain from the training experience I followed. 1.1.1.10 Online Debugging With Developer Tools Debugging capability of a web page from the client side is a very important experience as it helps to solve many problems that can never identified by examining or debugging only the ASP.NET web page. And also this is very important to identify and error tracking the UI problems caused by CSS errors. This technology also helps to identify values in each attribute as a snapshot and helps a lot to track bugs. 2.4 Project Involvement From here onwards the work I did on the project WDD-DBS and its newer version, WDD-CDV are mentioned. The order of these sub topics are according to the order of timeline I worked on them. 2.4.1 School System, a sample project At the beginning of the training I was aware with any knowledge on almost all technologies I have mentioned earlier. Therefore my senior engineers have decided to give me a pilot project to make me familiar with the tools and technologies that are going to be used on WDD-DBS project. Figure 2.1 Insert a new student In the database system there were three relationship sets namely “Student”, “Class” and “Subject”. Each relationship set was 20
  • 30. given unique ID’s as primary key for the efficiency purposes. Each was accessed using two stored procedures for the use of querying and storing information from and to the database. Stored procedures were written in SQL. These stored procedures are accessed by the functions written in the Library layer of the system which is a collection of C# classes. As the system is web based the next higher layer is the web service layer which uses the dll files of the library layer and provide web services to the web server where the web site is hosted. The web service layer is written in C#. Web server uses the web services from the web service layer and provides services to the user at the client side. Here the web site is developed using ASP.NET. Web site contains three main pages, home page, add classes and page that enables adding, updating, deleting students from the database and search students from name and class. Webpage view is improved by using a user friendly “Master Page” and “Link Buttons” are displayed in the left side of the Master Page which links to each “Content Page”. In the Content Page AJAX based script “Update Panel” which only updates the table with Grid View when refreshed which reduces overhead of updating whole web page. Maximum number of records appears at each time in the Grid View is limited by “Page Binding” which avoids very large tables appearing in the web page. 2.4.1.1 Usage of Grid Views “Grid view” is used as the table that views data as table. “Footer Template” enables adding a new student to the database. Except class name other fields contains text boxes in the Footer Template. As the class name is a selection from the given set of classes it appears as a “Dropdown List”. In the body of the Grid View data is appeared in labels located in the “Item Template”. “Edit Item Template” is used to edit data of an already existing student. In Edit Item Template, Dropdown List is used as the entering control for the Class Name and Text Box as the entering control for the other fields. Column of “Command Field” used to change each record to edit mode and column of “Link Button” used to delete each entry. 21
  • 31. 2.4.1.2 Usage of Validations “Required Field Validator” and “Range Validator” are validations used in the server side to avoid entering invalid inputs as inputs to the database. When invalid data are entered to an input control a star mark is displayed in front of relevant field Figure 2.2 Invalid entry validation and a description of invalidity is displayed for each control in the validation summary as mentioned earlier. 2.4.2 E-mail sending component (Multiselect web control) My first task in WDD-DBS project was to modify and fix bugs in an online e-mail sending ASP.NET control that is used by the staff of the authority. In that application I added names of the recipients in front of their e-mail address using the stored procedures of the data of recipients in the MS Figure 2.3 Mail sender SQL 2005 database. And also I added functionality of manually adding custom e-mail addresses as recipients using JavaScript and ASP.NET. I had to correct some logical errors behind the “OK” button which sends e-mails and had to correct logical errors that occur when it changes between two states of selection of recipients and sending e-mails which used the same “OK” button. 22
  • 32. 2.4.3 Inspections viewing and editing using PastInspections web control and PastInspectionsPopup Then I worked on an ASP.NET control called “PastInspections” that displays many types of inspections done by the authority in several Grid Views that enables to view only two records in each Grid View and facilitates to navigate independent from each Figure 2.4 PastInspectionsPopup other. For navigation two buttons “Previous” and “Next” are used. This was developed using an existing code used in the system. Then I had to implement that control into appropriate modules. Using that control I created a popup control, “PastInspectionsPopup” that pops in a semi transparent black background disabling all other parts of the web page. That had a close button to close the popup window. 2.4.4 Chart Of Account report generator Then I designed a stored procedure for a report generator, “Chart Of Account” in MS SQL to output some details (e.g. Description of transaction, Reference number, Amount etc.) related to a money transaction, either an invoice or a receipt. I referred the ER diagram of the database table structure and obtained the output from a temporary table which was added records to the temporary table in two steps (for invoices and receipts) each using the inner join operation. The filter parameters are the required bounds of dates of transaction and some other details. 23
  • 33. 2.4.5 Online Application I did some maintenance work with the ASP.NET control that contains most of the wizard steps of the online application form filling at the customer end and updating them at the staff end. Some steps contain Grid Views and some of them are “dev” sections of the Figure 2.5 One wizard step of Online Application control. They are displayed sequentially after each step is validated. (E.g.: Required Field Validation, Regular Expression Validation etc.) Different validation logics are used for different input types such as single Grid View, multiple Grid View and “dev” sections. When it comes to multiple Grid Views, they should be validated independently as well as simultaneously when “Next” button is clicked. Because there were two modes of operation each mode has to be developed separately. And special attention was paid for customer side application than the staff mode application which would be used by trained staff officials. 2.4.6 EventAPNChange, APN changing web control I developed an ASP.NET web control “EventAPNChange” which is used to change the APN number that uniquely identifies a property. A “Modal Popup Extender” was used to request the APN number to be inserted and it was validated by reusing the existing validators. It was developed Figure 2.6 APN change prompt from the web service layer of the system. This web control was used in modules like Permits, Rebates, Conservation and WUC. This was developed for fulfilling the customer’s requirement for changing the APN number of a record without re-entering all the data in tables of the modules mentioned above. 24
  • 34. 2.4.7 WESControl, Water Efficiency Standard Control Next I developed a web control “WESControl” which has two modes View mode and Edit mode that is used to tick the approved standards of fixtures inspected by an inspector. Here the set of standards are taken from a separate table, “WaterEfficiencyStandards” and should be saved as records to the table, “ModuleWaterEfficiencyStandards”. When data are taken from the database at first it takes the right outer join of the above 2 tables and after once saved, every time a record is modified, older record is not removed from the database but one of the table’s attribute, “IsArchieved” is set to true. Valid record is that attribute value of false. In the edit mode the labels are set hide and data are displayed in text boxes that enables editing and check boxes of approve are enable to change. In the View mode data loading process is similar but labels are set visible instead of text boxes and check boxes are disabled. When the data are saved all the tables with data are saved at once by uniquely identified attributes, “ModuleId” and “RefId”. This control uses separate codes for both get data and save data from stored procedure layer. 2.4.8 WDSData, Well Distribution System This was the next item I had to add to the WDD- DBS system which was the longest and most complete set of work I got during my training program. I got a very good knowledge on the existing system and also a lot of knowledge on all types of controls and Figure 2.7 Well Distribution System tab logics I learned during my training program. I started the design from the scratch from a wireframe document I was provided on the system. The very first job was to design the GUI of web application. 25
  • 35. 2.4.8.1 GUI Designing Figure 2.8 Other Information tab Figure 2.11 CAW Central Division Data tab Figure 2.10 Foot Note tab Then I was given to design GUIs according to a specification given as a Visio document. Font styles were assigned using CSS style sheets and Figure 2.9 Adding a new Well System specific design parameter changes were done to each UI control according to the specification. There is a kind of freedom to select appropriate distances from each control but font sizes and styles had to be according to the specifications. The GUI was originally designed in tab panels but after some unrecognized error was aroused I was asked to develop in a new web page without tab panels. 26
  • 36. 2.4.8.2 Overall Logic of WDSData First display part of the system is used to insert and edit “Well Systems” and “Wells”. According to the specification every well used to fetch Figure 2.12 Editing Well System table water is charged according to the amount of water used. A set of wells are grouped to a “Well System” and a well system is uniquely identified by a “Master ID”. The design consists of two HTML table rows that are displayed only one at a time and there are two table rows inside the second table row that will visible Figure 2.13 Searching with Master ID only when the water production is to be edited. The first row is loaded when the page loaded and it displays a Grid View table of all the well systems. It also facilitates to search by “Master Id” or to filter records by parameters, “Report Method” and “Source Area”. This table contains logic get and save logics from stored procedure level, insert, edit delete well systems and to validate entered data before Figure 2.14 When data related to WDS Edit is clicked saved in the database. More than previously 27
  • 37. done Grid Views this has a label at the top of the table indicating the number of records and if the table is empty only the header is showed and a message is displayed saying there are not data records. The first TR inside the second TR is showed when the icon related to edit data of the well system is clicked. It contains a Grid View that shows the water production of the well system for each year and an “Add New” button. That table also has the facility of editing and Figure 2.15 When Water Production is clicked to be edited deleting records related to each year. When the edit is clicked the second TR in the current TR is displayed. But if the Add New button is clicked we can insert a new year that does not already exist in the table. If the entered year already exists another pop up is showed asking for editing the data of existing year. Second TR of second TR accepts data into text fields and store into the database. When there are existing data, they Figure 2.16 When WDS Letters are edited are loaded to text fields from the database. There is a text field and a button called “Next WDS Master Id” that is automatically loaded from the Well Systems Grid View and can go to the next WDS Master Id to save data. 28
  • 38. 2.4.8.3 Validation of WDSData Validation was a very important when it comes to usability and is highly considered in Quality Assurance. For the “Well Distribution System” tab panel the validation was used as usual but for other tab panels I had lack in time. So I included “OnClick” and “OnBlur” functions of text fields to some client side JavaScript functions to easily do the validation of number only and the correct decimal format. Maximum length was also useful to easily include maximum length of a text field. 2.4.9 Adobe Flex application One of the important technologies I used to send letters in this application was Adobe Flex. Adobe Flex coding style is similar to JavaScript but it had many advanced functionalities like communicating with web services directly, declaring Grid View like beautiful tables and other user interface design similar to ASP.NET. Figure 2.17 Letter generation Because its complexity of the flex code I downloaded and installed the debugger supplied by Adobe to debug Flex applications. It was very useful to correct errors and to correct them. When data are bound to Data Grids or Drop Downs in Flex we had to use an Array Collection data object type. So I had to get Array List type data instead of Data Set type. For that I introduced a new transfer object type object in library layer and had to assign each attribute in each data row in the Data Table to appropriate attributes of the Transfer Object. My task was to add a new Data Grid for Well Systems to the interface by binding data from the web service. First I implemented the event correctly and set the data bind functionalities from the web service layer. Then I had to include a letter sending mechanism and letter printing mechanism with the help of an earlier code. It was written in WDD-DBS application in C#. 29
  • 39. 2.4.10 WDD-CDV, County Data View for WDDS 2.4.10.1 Introduction to WDD-CDV The project WDDDBS was announced as completed and another project that continues the functionality of the project was started named WDD-CDV.I contributed to design the system and prepare design document for the system. Initially it was decided to use Visual Studio 2010 to Figure 2.18 Property Information of a selected APN number program and implement from the library layer but due to limitations of time and other constraints it was decided to continue with Visual Studio 2005 and use the web services that are already implemented in WDDDBS for the web applications in WDDCDV. Anyway the new project has some modifications in user interface by using new CSS standards and new validation techniques. In new project “workflow manager” is not used. In earlier project it was a red astrict mark next to each text field or dropdown list and there was a validation summary that indicates the Validation error. This was validated at the server so it took time to correct the error at the user’s point of view. In new system every validation is done at the client side and validated most of them on “OnBlur” event of text fields. New system uses “jQuery” JavaScript libraries and the validation error is displayed as a red tooltip at the relevant control. These also ease the programmer’s work to develop the system. I wrote almost all stored procedures to the required system initially. After the login to the system the user can search the property by using the APN number or by other parameters like owner name and address data of property. The results are displayed in a grid view and the user can search the property and all the data related to the property such as Location data, Owner data and Recordation data are displayed to the user. This also uses an online map system to show the location of the property in the system. In previous system these functions were not available. And also the system facilitates to modify the displayed data as Form View control is used to display the data. 30
  • 40. 2.4.10.2 Form View control Figure 2.19 Editing Location data of a selected APN number Functions of Form View control is close to the functions of Grid View control. More than the Grid View Form View has Insert Item Template to insert new records to the form view. Paging, editing, cancel editing and updating functions are similar to that were in Grid View. In this system data fields of Form View are bound to the record fields of the data table. And in the special case of “Owner Type” the records are left joined with the Owner Type to bind dropdown list “Owner Type”. 2.4.10.3 New SQL Logic Used There was a new technique I had to use when inserting and editing data in database tables like “CountyProperty” that had more fields than the number of fields inserted or edited at a time by the system. There I checked the condition of inserting and then I placed the given data to the SP into relevant fields and filled remaining fields with null values or default values. When the edit/modify condition is found the existing record is copied to a new record by substituting given fields of data to the SP. Then the original record is deleted. Not only that I had to modify two other tables “CountyOwners” and “OwnerAddress” when I change the table “CountyProperty” because they are interrelated. In such cases each table is considered separately and their primary keys are captured and used for foreign keys as other tables. This system gained me a lot of knowledge regarding the user interface design and SQL language. Here I learned the special iteration technique “Cursor” in SQL that was used to copy all records related to Property Data in single SQL execution when a modification is done to a Property. 31
  • 41. 2.4.10.4 Adding Role Permission After that I got the opportunity to learn about the system permission level handling. In the WDDDBS system there is a sub system in module, “Utilities” to add, edit and delete role permissions. Each role can assign privileges of each section of permissions of the system. Finally we can add, edit and delete users to a created Role Permission. In the web page in the application, buttons like Edit, Add New and Delete are enabled from the Page Load from server side only if the permissions are valid to the user in the current session. I assigned permissions and tested them in WDD-CDV system for buttons such as mentioned above. 2.4.10.5 Debugging with Developer Tools I learned and worked with Internet Explorer Developer Tools to identify CSS bugs existed in the Calendar Extender that was very important to debug a web page in its online stage. Developer tools can be used to identify the CSS inherited and overridden by each CSS script and can test while changing its values. I could identify the UI problem was due to an inheritance from higher CSS and could correct it. One problem was regarding the style of the “Calendar Extender” in “AjaxToolkit” and the other was on the transparency issue on another div section. I could successfully fix these bugs with the help of IE Developer Tools. 2.4.10.6 Validation in WDD-CDV In the new system the validation mechanism was changed and replaced with a JQuery validation. The new validation pops up a tooltip showing the error message at the input field. The validation process is fast as the validation occurs in the client side. This validation can also be implemented on the “OnBlur” event of a text field. Figure 2.20 Validation message when tried to save changes 32
  • 42. 2.4.11 BottomModulePanel, Create New Modules in WDD-DBS Figure 2.21 BottomModulePanel I involved with some work to invoke modules like “Permits” in the WDD-DBS system by automatically login to the old system by using URLs that are included in the PropertyData.aspx page in WDD-CDV system. There we used a method of adding the JavaScript codes to the client side from the page load of server side. The login in WDD-DBS was modified and set to start a new session without a password. Then according to the value in redirected URL, a new module is created. (e.g.: New Permit) Then I worked with a new controller, “BottomModulePanel”, which was a new web control containing the above mentioned login and starting new module functionality. 2.4.12 Client requested changes in WDD-DBS I got to add functionalities to WDD-DBS system which were client’s requests. Added restrictions to “Add New” button when redirected by a module, added control “EventAPNChange” (change APN number of an existing record in the Grid View.) to modules WUP and WUC and added “Water Released Date” to reports. In last modification I clear my knowledge on Report generation and data binding to reports using stored procedures and some other information regarding Microsoft report generation designing. 2.5 Problems and Difficulties Encountered 2.4.1 Work Related Problems and Difficulties The first problem I faced was the unfamiliar technology. I was never worked with technologies like ASP.NET and Flex. I was not that much familiar with the new tools and developer environments such as Visual Studio. I had to work in a pilot project, “School System” only to learn the technologies they used for WDD-DBS. However when I started to work in Adobe Flex in the WDD-DBS project, I had never used that technology before. 33
  • 43. The other major difficulty was to understand the existing system of WDD-DBS. Initially I had to blindly do only whatever my senior said me to do. It took a long time to familiarize me to the system. I was not familiar with the subversion system the company used which aroused many updating committing problems with the subversion system. And also Skype and Outlook e-mail client was not familiar with me. Anyhow I could overcome these difficulties rapidly. 2.4.2 Training Personal Related Problems and Difficulties I had no any considerable problem with my training personal. All the senior staff members including the project manager were kind and friendly. They even did not pressure me to complete quickly by remembering deadlines and did not ask me to work after hours. Anyway there were very small problems like not giving sufficient information to solve the problem. I had to continuously ask questions sometimes to understand the problem to be solved. And also they did not give me a proper knowledge about technology needed and instead asked me to search me in the Internet. However I think it is good for me to learn to learn by self. 2.4.3 Other Personal Difficulties The temperature was too low due to the air conditioner and I felt so uncomfortable during my first few days. And also I felt lonely after I started to work with unknown set of people. There were no major personal difficulties I had to face during my internship. 2.6 Solution Found The problems I mentioned earlier are not major problems I had to think so much on solutions. Most problems became natural with time and I could manage self studying using the Internet. Sometimes I could change the air conditioner temperature using the remote control and no major problem encountered during my training period. 34
  • 44. 2.7 Company Practices Exposed 2.7.1 Information on Production Processes All the software development process and its life cycle are described in a set of instructions known as ZoneWay. It is an internal document and prepared to maintain the CMM 3 standards. And all the other day to day office work are according to 5S specifications. 2.7.2 Administrative and Office Practices Employers should come to work at 8.30 a.m. in morning. But the time is not very strict and the number of working hours may vary depending on the project he involved in. All the entrance doors access card to be opened and all the data regarding to them are stored in a database which may be used to calculate the number of working hours. Leave should be applied from the project manager. And the employers should wear a formal dress suitable for their profession and exception is allowed in all Fridays. 2.7.3 Financial Procedures Employees enter time they spent on the each project in each day in an online system called XPlanner. At end of each month the project manager send these data to the client and the client is charged according to the time spent on each software component. Employers are paid on 25th of each month. Salaries are automatically sent to the bank account provided by the employer previously. Then a salary pay sheet can be obtained from the accountant after the money is deposited in the account. 2.7.4 Safety Procedures Every computer in the company has a dedicated UPS to prevent losing data and to prevent harm caused by lightning. And there is a fire extinguishing system connecting each floor of the company as a precaution to a sudden fire. However because there are no dangerous hardware located inside the company almost there is no need for safety procedures. 35
  • 45. 2.7.5 Management Practices The company has a very flat management hierarchy. All engineers, project managers and top level management talk each other with their first names. Management practices are only visible in formal project processing. Each project has three mangers as follows to maintain its consistency well. 1. Technical Responsibility (TR) 2. Quality Assurance Responsibility (QAR) 3. Configuration Management Responsibility (CMR) 3.1.1 Operational Techniques The software development process consists of few phases such as design, development, deployment, testing and etc. In each time of development we issue a release note to QA and it will test and procedure continues. Requirements gathering and making the SRS document are the initial stages done by visiting the client and contacting via video conferencing. 3.2 Machines and Equipments encountered From the beginning I got a full feature desktop computer with following configurations.  Processor – Intel® Core™2 Duo E7400 @ 2.80 GHz  Installed memory (RAM) – 4.00 GB (3.24 GB usable)  VGA – Inbuilt  HDD capacity – 160 GB  Operating system – Windows7 32-Bit 36
  • 46. 4. Conclusion 4.1 About Training Program I could complete my training period in Zone24x7 as an intern successfully. I would like to thank all the people who contributed this program to make this one a success story. I could obtain both technical and non technical skills in a professional environment among experienced professionals. I could gather knowledge on basically database handling and web development associated with such database system in the technical stream. And in soft skill perspective I got knowledge on inter communication, team work and professional responsible behavior required in a professional organization. 4.2 Technical Improvements I was involved in a project called “Water Demand Division System” which is a database based web system with many technologies like ASP.NET, Ajax, jQuery, SQL and Adobe Flex. I got a firm knowledge and an experience on these technologies and tools. And also I could be familiar with subversion management system TotoiseSVN, interacting with Skype, mailing with MS Outlook and updating work done in a system called XPlanner. I could also get some knowledge on the life cycle of a software system, Quality Assurance process, iterative development and testing processes which are very important technical practices when it comes to professionalism. When I joined the company the above subjects (database systems and web application) were very unusual for me and I was expecting the knowledge even before I joined the company. I was very happy to fulfill my expectations from my internship. These subjects need a more practical experience than a theoretical knowledge which I got enough from the training program. Another important thing I learnt was the skill that needed to find the appropriate technical details in a lesser time and correctly using search engines. The details I am looking are there in the internet in almost all cases which is an important point I understood. I also gathered knowledge on report writing, technical writing, time allocation and management that are subordinate knowledge required for professionalism. I learned that without this knowledge regarding common sense it is impossible to be a good engineer. 37
  • 47. 4.3 Soft Skill Improvements In today commercial world soft skills are very important. I could a good experience of soft skills when I was working in Zone24x7. Communication was very important when involved in a group project. Team members should have a good understanding with their fellow members that is basic requirement for synergy. Team spirit is another soft skill I learned from the internship. Large systems must need a large number of programmers, QA engineers and all other work together to achieve the common goal. This created the work division among the team members and I understood the contribution that should be given behalf of an individual for benefit of the whole team. I observed the leadership given by our project manager to maintain the stability of the process of development even among the constraints like resources and time was challenging him. Friendly leadership motivated the team to go on without an extra stress. 4.4 Overall Conclusion After a considerable period of time I looked back into my training program. It was not as stressful as I expected before I started the training program. It may depend on the level of emergency of the project. Fortunately it helped me a lot to improve my level of knowledge while maintaining my mind in a comparatively low stress condition. The training organization was near to my permanent residence which made me comfortable to stay at work until late afternoon. Anyway the knowledge I gathered was not that much broad in the sense of technology. I think it would have been better if I could involve in some other projects related to some other theories and technologies such as intelligent systems, embedded systems and computer vision. When I selected this company for section of interviews I expected that sort of experience as well. However according to my knowledge I need a long term exposure to theories and technologies to get a proper understanding. So it was good for me to understand the subjects, database system and web systems with a lot of experience to realize the technology other than working with many technologies and not getting the insight of any technology. 38
  • 48. References 1. Training Handbook 2. Entries of Daily Diary 3. Monthly Reports of training 4. ZoneWay, internal resource of Zone24x7 5. Online web tutorials : http://www.w3schools.com 6. Development resources site : http://www.codeproject.com 7. Wikipedia : http://en.wikipedia.org 8. Official ASP.NET web site : http://www.asp.net 9. The official Microsoft developer web site : www.msdn.com 39
  • 49. Abbreviations AJAX - Asynchronous JavaScript and XML ANSI - American National Standards Institute APN – Assessor's Parcel Number CEO – Chief Executive Officer CMM – Capability Maturity Model CMR – Configuration Management Responsibility CRT – Cathode Ray Tube CSE – Computer Science and Engineering CSS – Cascading Style Sheets DBMS – Database Management System DVD – Digital Versatile Disc ENTC – Electronic and Telecommunication GB – Giga Byte GUI – Graphical User Interface HDD – Hard Disk Drive HR – Human Resource HTML – Hyper Text Marking Language ID – Identity IDE – Integrated Development Environment IE – Internet Explorer IIS – Internet Information Service IP – Internet Protocol JS – JavaScript JSP – Java Server Pages LCD – Liquid Crystal Display NAITA - National Apprentice and Industrial Training Authority MS – Microsoft MSDN - Microsoft Developer Network OCR – Optical Character Recognition 40
  • 50. OO – Object Oriented PR – Project Responsibility QA – Quality Assurance QAR – Quality Assurance Responsibility RAM – Random Access Memory RegEx – Regular Expression SOAP – Simple Object Access Protocol SP – Stored Procedure SQL - Structured Query Language SRS – System Requirement Specification SSE – Senior Software Engineer TR – Table Row, Technical Responsibility UI – User Interface UML – Unified Modeling Language UOM – University of Moratuwa UPS – Uninterrupted Power Supply URI – Uniform Resource Identifier USA – United States of America UTS – Unit Test Specification VB – Visual Basic VGA – Video Graphics Array WDD-DBS – Water Demand Division - Database System WDD-CDV – Water Demand Division - County Data View WUC – Water Use Credit WUP – Water Use Permit XML – Extensible Markup Language 41