CIS895-Online Photo Management System
Architecture Design
Architecture Design
Photo Management System Version 1.0
Submitted in partial fulfillment of the requirements of the degree of Master Software Engineering
Sameera Avilala CIS 895 – MSE Project Kansas State University
Major Advisor Dr. William Hankley
CIS895-Online Photo Management System
Architecture Design
TABLE OF CONTENTS
1. Introduction 2. Architecture of the Online Photo Management System 3. Presentation Tier 4. Middle Tier 4.1. Class Descriptions 4.2. Sequence Diagrams 5. Data Tier 6. Security 3 3 3 5 6 9 11 12
CIS895-Online Photo Management System
Architecture Design
1. Introduction The purpose of this document is to provide an architectural design for the Online Photo Management System. The design will show the presentation tier, the middle tier, composing of class and sequence diagrams, and the data tier. Each class will have a brief description about its purpose. 2. Architecture of the Online Photo Management System The architecture of the Online Photo Management System is based on three-tier architecture. There are three logical tiers: the presentation tier, the middle tier, and the data tier. The main considerations for choosing three-tier architecture for the Photo Management System are as follows: Separate Business Logic from the Presentation Tier o Reusability of the Business Logic for future use o Shorter test phase and increased reliability since the server components have already been tested Reduced maintenance cost Improved security because the client does not have direct access to the database The figure below shows the three-tier architecture for the current system:
3 Presentation Tier This layer deals with visual part of the website, which is how the data should be presented and so on. Using visual studio will easy the development of static elements, that is all the HTML components which does not change can be designed and it will be processed at server side before displaying at the client. The presentation tier for the Photo Management System is ASP.NET Web Forms with User Controls. The Visual Studio .NET IDE will be used to create the Web Forms. It uses code behind, where the code for each ASPX page is encapsulated into a separate file. The table below shows ASP.NET Web forms for clients of Online Photo Management System:
CIS895-Online Photo Management System ASP Dot Net Web Forms Login.aspx Listnames.aspx Imagelist.aspx
Architecture Design Purpose This is the login page where the customer enters his user ID and password. This page contains list of the different categories of photographs present. This page contains the images of the particular list selected from the listnames page. This page allows the photographer to upload more images. This page shows the high resolution version of the thumbnail selected. This page shows an error message when the user requests for a high resolution image without having permission. This page shows an error message when a non-photographer attempts to upload an image.
UploadPage.aspx HighResImage.aspx Errorpage1.aspx
Errorpage2.aspx
The diagram below captures the page flow (ASP.NET Web forms) model for the user.
4 Business logic layer or Middle Tier
CIS895-Online Photo Management System
Architecture Design
The Business logic layer is a layer all the business logic of the website will be present. The business specific layer consists of nine classes: User, Photographer, Customer, Image, Image list, Order, Permissions, List manager and Session Manager The diagram below captures the class model of the Photo Management System.
4.1 Class Descriptions 4.1.1 User
This class will handle all user actions. The User class is the super class of Customer and Photographer. It includes the private methods to verify the login and get the user information. The verify Login method is called when the user clicks the sign in button on the Login.aspx Web form. It returns true if the login is successful, false if it is not.
CIS895-Online Photo Management System 4.1.2 Session Manager
Architecture Design
The SessionManager class supports the User’s required operations like get User. The getUser method is called when the user information needs to be displayed. 4.1.3 Photographer
The photographer class contains two attributes mainly : ID and Specialization. These specify the photographer’s ID and his field of specialization. His operations are to upload a photo, grant access and to approve an order. 4.1.4 Customer
The customer class has three attributes i.e. customer id, and the contract begin and end dates. His operations are to mainly update his profile, and to place an order.
4.1.5 List Manager
CIS895-Online Photo Management System
Architecture Design
The List Manager class consists of just one attribute i.e. list name. It’s main operation is to create a new list.
4.1.6 Order
The Order class consists of four attributes mainly i.e. order number, and the user id to indicate which list can be accessed by which customer, and the order date showing the date of the order placed and finally the order status whether it is approved or not. It has two operations namely set order status and download image. 4.1.7 Permissions
The Permissions class consists of just one attribute i.e. image ID. Its main operation is to set permissions i.e. set permissions to the customer when approved access. 4.1.8 Image
The Image class contains five attributes namely Name, Description, size, image location and the shot by information. It performs two main operations i.e. edit details and upload.
CIS895-Online Photo Management System
Architecture Design
4.1.9 Image List
The Image List class consists of three attributes i.e. name, keyword and imageno. This class performs three operations namely verify customer, get image and upload image. 4.2 Sequence Diagrams 4.2.1 Login
CIS895-Online Photo Management System
Architecture Design
4.2.2 Place an order
4.2.3 Upload Image
CIS895-Online Photo Management System 4.2.4 Download Image
Architecture Design
Reference: 1)http://images.google.com/images?svnum=10&um=1&hl=en&q=3+tier+architecture&b tnG=Search+Images