Mar 22

This document, Idea Development Version 2, is available to download from DropBox. In case of any modification, please update all the versions. You have to update word document, PDF document in DropBox Folder and Also this post.


By: Amir Sezavar Keshavarz

Idea Development Document – Version 2

After our meetings with our mentor and different group meetings, we agree upon the problem domain and what we are going to do exactly. We did all the review literature and we checked some relevant similar project in order to see how they propose a solution and whether we can any weakness there.

After that, we started working on different sections such as Questionnaire, Prototype Design, Use Case, and Database Design. At this stage, we have a good overview of the structure of the system. The following diagram depicted our first general architectural diagram:

Architecture Diagram

Architecture Diagram

The first thing we did and agreed was the distinction between 3-Tier and 3-Layer Architecture. Tiers indicate a physical separation of components on the same server or multiple servers,  but layers refers to a logical separation of components, such as having distinct namespaces and classes for the Database Access Layer (DAL), Business Logic Layer (BLL) and User Interface Layer (UIL). Therefore, tier is about physical separation and units of deployment, and layers are about logical separation and units of design. Due to estimated future use of this system, we decided to develop our system in different tiers so later load balancing, request-response management and database transaction would not be a problem.

We have three different tiers here:

  1. Presentation Tier
    1. Topmost level of the application
    2. Displays information
    3. Communicates with other tiers.
    4. Technologies involved: HTML, CSS, jQuery, Ajax
  2. Logic Tier
    1. Business Logic
    2. Controls an application’s functionality
    3. Detailed data processing
    4. Technologies involved: JSP, Servlet, Tag Libraries
  3. Data Tier
    1. Database servers
    2. Stored and Retrieved
    3. Keeps data neutral and independent from application servers or business logic
    4. Improves scalability and performance.
    5. Technologies involved: MySQL, Hibernate

In next diagram, and in the next Idea Development document, we will be more specific about the details of this architecture so later we have a bright road map. We will be also more specific about the future technologies that we are going to utilize in this project.