EEL-5881

Software Engineering Project: Research Expert



Home



Concept of Operations

Project Management Plan

Software Requirements Spec

Test Plan

High-Level Design

Detailed Design

Test Results

User's Manual

Source Code

Build Instructions

Project Legacy



Presentations


Research Expert

High-Level Design

EEL-5881, Fall, 2008

        Team Name: Team 3

        Team Members:


Contents of this Document

High-Level Architecture

Design Issues


High-Level Architecture


This is the high-level block diagram of the Research Expert system. It consists of three distinct layers:

  • Database Back-End

    • This tier handles the storage of all documents, users, groups, reviews, etc. on the server computer. This layer is necessary to satisfy Functional Requirement #1 from our client, as we are required to store our documents and other uploaded data, such as reviews, metadata, user information, in the form of a database.

  • Data Layer Middleware

    • This tier consists of all the functionality required to handle input sent from the web client, as well as the database stored procedures that are used for querying the database. In addition, the data layer contains memory objects that are nearly a 1 to 1 mapping to the tables in the actual database. The difference is that the objects in the data layer are C# types, whereas the data in the database are SQL server data types. Click on the data layer in the above diagram for further breakdown.

  • Web Client Front-End

    • This is the entry point for user interactions. The web client receives user input and sends it to the data layer, which then queries the database. For example, if the user wishes to add a new document, the web client will provide the user interface for the user to add a document to a repository. The middleware will manage the request, sending an AddDocument request to the database via an SQL stored procedure. The results of the user interactions are then presented back to the user through the web client. This layer is critical, as Functional Requirement #2 requires the application to be web-based. Click on the web client box in the above diagram for further details.


The decision to use this three-tiered solution was determined by several key factors. As mentioned earlier, the requirements themselves necessitated some of these tiers. Data security is another factor. The system should expose as little of itself to the end user as possible. Therefore it is important to have one layer consist of the interface only, handling all user input, as well as handling what the user sees. The data layer acts as the middleman between the interface and database, providing another level of abstraction that prevents the interface from directly seeing the database structure. This prevents the user from directly accessing the database tables and queries and limits the amount of exposure the database has to the user.

             Design Issues