Toll Free US - ( 888 ) 683 8281
UK - +44 (0) 20 7993 8148
 
Home > Information Center > Case Studies
Select below links for detailed view of case studies
Community Portal
Online Learning Environment
Customer Relationship Management, an E-business solution
Eatrite.net
Financial Web Application
Catering Staff Management
Online Learning Portal for Educational Institutes
 
Community portal
 
Introduction :

Our client is a growing company with a community portal. We have long term extended web development partnership with this client. Currently, we provide them with support and maintenance services and are continuously working with them on enhancements to the application to meet their growing business needs.

Note: Some of the information in this case study is protected to respect our NDA with the customer.. All the information shared in this document has been discussed with our customer.

 
Technical Details

This web application uses N-tier client/server architecture. N-Tier architecture produces a far more flexible and scalable client/server environment. In this model, both the presentation layer and the middle layer are handled by the client. N-Tier architecture has a presentation layer and three separate layers - a business logic layer, a data access logic layer and a database layer. ASP.Net was used for developing this application. SQL server 2000 was used as DBMS The following section discusses each of these layers in detail.

  • Presentation Layer: This is a front-end component, which is responsible for providing portable presentation logic. Since the client is freed of application layer tasks, which eliminates the need for powerful client technology. The presentation logic layer consists of standard ASP.NET web forms, ASP pages and documents. This layer works with the results/output of the business logic layer and transforms the results into something usable and readable by the end user.
  • Business Logic Layer: Allows users to share and control business logic by isolating it from the other layers of the application. The business layer functions between the presentation layer and data access logic layers, sending the client's data requests to the database layer through the data access layer.
  • Data Access Logic Layer: Provides access to the database by executing a set of SQL statements or stored procedures. This is where we write generic methods to interface with data. For example, we write a method for creating and opening a SqlConnection object, create a SqlCommand object for executing a stored procedure, etc. As the name suggests, the data access logic layer contains no business rules or data manipulation/transformation logic. It is extensible interface to the database, and the client plan on migrating to either SQL server 2005 or Oracle when the user base grows.
  • Database Layer: Made up of a RDBMS database component such as SQL Server that provides the mechanism to store and retrieve data. The customer has plans to explore using SQL server 2005 or Oracle.

To ensure quality deliverables we have replicated production environment including volume of data. Note that all the data is scrubbed before it is downloaded to our development center to protect against random emails or testing information being sent to the actual end customers.
 
Our Role

We are involved in this project from the inception phase itself. Our team of 6 people comprising architects, senior developers, developers and quality analysts works with the client team in the US.

The architecture of the system was designed by the project manager from the client´s side and architect from our side. Senior developer and developers developed the entire code. Independent Unit testing and Cross development testing and documentation is done at the developers? side whereas Integration testing, system testing as well as load testing was done by quality analysts. We have very small development cycle so that new changes based on user feedback could be released ASAP.

We adopted the Spiral Progressive Approach to deliver a project for the initial delivery. This approach follows an iterative Development model through which the development phases are revisited with a feedback loop from forward stages at the end of critical milestones/changes. In this approach at one particular time all discipline of projects are active but their active percentages are different, This is equivalent to saying that at one particular time we will be doing a% requirements, b% design, c% construction, d% deployment.

The main benefit of this approach is that we are able to incorporate end user feedback about the website usage very quickly in the main website. This process has helped in releasing some of the features even in a turn around time of a few days. UML is used as a base modeling language in each phase.
 
Challenges
  • Time to release new features: The nature of business demands that the new features and customer feedback is released as quickly as possible to retain the current user group, and grow the user base. We have been able to successfully meet these demands while the user group is continuously growing.
  • Quality Assurance: This project had continuous weekly targets with critical requirements. It required faster turn around time to fix the bugs reported. Uploading the changes were also very critical with little window for downtime. We have continuous focus on ensuring high quality with each release build. The QA team goes through test cases on staging server rigorously and release build is released to production server after three rounds of testing.
  • Growing user base : The successful marketing efforts are helping in increasing user base steadily. The volume of data and transactions require us to re-factor code and design based on growing needs of the website. A few table indexing techniques are being employed in the short run to continuously improve website response time. We are also developing automated test scripts to stress the application based on projected usage.
  • Co-ordination with our client´s team: Our global operations for the web development run round the clock, and it´s always critical to maintain effective communication with the team based in the US . We have employed task assignment and knowledge sharing tools to capture all the discussion threads.
 
 
 
Quick Contact Request
We need following information to contact you.

Name*
Email*
Phone*
  
Clients TestimonialClients Testimonial
Request ProposalRequest Proposal
View WhitepapersView Whitepapers