You are on page 1of 13

MET CS 632

BU PMA Website Redesign


Architecture & Design Document
Group 3 Team B

Table of Contents
Table of Contents........................................................................................................ 2 Introduction................................................................................................................. 3 System Goals.............................................................................................................. 3 Architectural Goals......................................................................................................3 Scalability................................................................................................................ 4 Scalability Consideration #1: Enterprise Database................................................4 Scalability Consideration #2: Enterprise Web Server............................................4 Robustness.............................................................................................................. 4 Robustness Consideration #1: Object Oriented Programming...............................4 Robustness Consideration #2: Multi-tiered Architecture........................................5 Industry Standard Practices.....................................................................................5 Industry Standard: XHTML 1.0...............................................................................5 Industry Standard: CSS.........................................................................................5 Use Case Model........................................................................................................... 5 Use Case Diagram....................................................................................................6 Domain Model............................................................................................................. 7 Domain Model Diagram............................................................................................7 Data Model.................................................................................................................. 7 Physical Entity-Relational (ER) Diagram...................................................................8 Implementation Model...............................................................................................10 Class Diagram........................................................................................................10 Presentation Tier.................................................................................................11 Business Logic Tier.............................................................................................11 Data Access Tier.................................................................................................11 Deployment Model.................................................................................................... 12 Network Diagram...................................................................................................12 Primary Web Server............................................................................................12 Secondary Web Server........................................................................................12 Primary Database Server....................................................................................12 Bibliography..............................................................................................................13

Introduction
The purpose of this document is to provide a high-level overview of the system architecture and design for Phase 1 of the Boston University Project Management Association Website Redesign Project. It includes the goals of the system and the architecture, the use cases supported by the system, and detailed views of the technologies used to achieve these use cases.

System Goals
The high-level goal of the system redesign, as described by Dr. Default Sponsor, is to enhance the overall user experience of the existing Boston University Project Management Association Website. This is a multiple phased effort, culminating with a site that implements various aspects of the Web 2.0 paradigm. The goals of Phase 1 are to accomplish the following: Implement a set of pages where students can click to become members. Proposed functionality of these pages includes: o o o Add new members Delete existing members Update existing members information

Implement a dynamic database that will enable the organization to collect email addresses and send out eight news letters each year. The database should also collect information from students regarding their interest in contributing to the organization. Proposed fields to be stored in this database include, but are not limited to: o o o o o Name Current or Former student Former BU Email id or student number (for proof) Email address Interested in contributing / how

Architectural Goals
The high-level goals of the architecture are to develop a system that is scalable, robust, and based on industry standards, to allow for future enhancements to the site.

These goals are aligned with the long-term goals of the organization to host a site that implements various aspects of the Web 2.0 paradigm. The following are ways the architecture accomplishes the high-level goals:

Scalability
Scalability is defined as the ability to either handle growing amounts of work in a graceful manner, or to be readily enlarged (Wikipedia, 2008). From the perspective of the system redesign, it is important for the system to be able to handle a large number of users as the site becomes a Web 2.0 compliant social networking site in the future. Scalability Consideration #1: Enterprise Database One architectural consideration that impacts a systems scalability is the type of database that is used. For example, a Microsoft Access database using the Jet engine is not considered to be highly scalable. It has a limitation of only 2 gigabytes of stored data. If this database is to store binary data such as photographs and videos, then it would quickly reach its storage limitation as the sites user base grows. Microsoft SQL Server 2000 is considered to be a much more scalable solution. It does not have the storage limitations of Access, and is recommended by Microsoft over Access for high volume websites that require 25 or more simultaneous users. This was the database of choice for the system redesign. Scalability Consideration #2: Enterprise Web Server Another architectural consideration that impacts a systems scalability is the type of web server that is used. Microsofts IIS web server is considered to be a very scalable solution, as it scales with its host Windows Server. Windows Server is a practical solution for startup organizations expecting to see growth in the future. It is possible to start with a single instance of a Windows Server and cluster it with other Windows Servers as demand grows. This is why IIS on Windows Server was the web server of choice for the system redesign.

Robustness
Robustness is defined as being able to withstand stresses, pressures, or changes in procedure or circumstance (Wikipedia, 2008). From the perspective of the system redesign, it is important for the website to withstand the stresses and changes associated with moving from a traditional, static website into the Web 2.0 paradigm. Robustness Consideration #1: Object Oriented Programming Lightweight web programming languages such as JavaScript are very difficult to debug and maintain, and are a complete nuisance to update when circumstances change. A truly Object Oriented Programming language, on the other hand, promotes principles such as code reusability, inheritance, and polymorphism, that make the code better able to handle changes. C#.NET is such a programming language, and along with the stability, security, and rapid-application-development benefits provided

by the .NET Framework 3.5, it is the programming language of choice for the system redesign. Robustness Consideration #2: Multi-tiered Architecture A multi-tiered architecture that separates an applications presentation, business logic, and data access, is considered to be more robust that architectures that intertwine these concepts. For the system redesign, we propose a multi-tiered architecture that will allow the organization to grow out of the web platform into smart clients in the future. For example, Apples iPhone now provides a user interface for Facebook. It is able to do this because Facebooks architecture separates its presentation tier from its business logic tier. When they need to create an interface for a new type of device, the only code that needs to change is that in the presentation tier.

Industry Standard Practices


It is important to strive to use industry standard practices, especially since the future phases will be completed by other project teams. The code that is produced needs to be easily understood by an incoming team, or even new members of the existing team. Industry Standard: XHTML 1.0 Extensible Hyper-Text Markup Language is a reformulation of HTML 4 as an XML 1.0 application (W3C, 2002). This is the current standard for web page design as defined by the W3C. Industry Standard: CSS Cascading Style Sheets (CSS) is the current standard mechanism for adding style (e.g. fonts, colors, spacing) to Web documents (W3C, 2008). This replaces the previous method of embedding font, color, and graphical information directly into HTML.

Use Case Model


Use case model consists of all the actors of the system and all the various use cases by which the actor interacts with the system, thereby describing the total functional behavior of the system (Wikipedia, 2008).

Use Case Diagram

Figure 1 Use Case Diagram

The Use Case Diagram shows how students and administrators interact with the system. The five top-level use cases are as follows: A student creates a new account. A student views his/her account information. A student updates his/her account information. An administrator lists all accounts. An administrator may delete an account.

Domain Model
A domain model, also known as a conceptual model, describes the various entities involved in the system and their relationships (Wikipedia, 2007). This model is created to document the key concepts and the vocabulary of the system.

Domain Model Diagram

Figure 2 Domain Model Diagram

The Domain Model Diagram shows the various concepts that the system is being designed to implement. The diagram states that the System consists of many Users, and these Users can be specialized as Students or Administrators. Furthermore, the system is capable of Adding, Updating, Deleting, and Listing Students.

Data Model
The Data Model describes how the data is structured and accessed (Wikipedia, 2008). In a relational data model, it also describes how the various data entities are related to one another.

Physical Entity-Relational (ER) Diagram

Figure 3 Physical ERD

The ERD shows four logical entities that map to four tables on the physical SQL Server database. The four entities are as follows: Access_Credential User Address State

Furthermore, these tables are related as follows: An access credential belongs to one user, and each user only has one access credential. A user has one address, and it is conceivable that one address can belong to more than one user. An address exists in one State, and a State may have many addresses.

Implementation Model
Class Diagram

Figure 4 Class Diagram

The class diagram shows all of the classes used to implement the website. The classes are separated by the following tiers: Presentation Tier Events SiteMap Login StudentInfo SignUp Links StudentList SignUpSuccess DeleteConfirmation UpdateSuccess

Business Logic Tier PortalDataset (In-memory data management mechanism & Object-Relational (OR) Mapper) Data Access Tier UserTableAdapter StateTableAdapter LoginTableAdapter AddressTableAdapter Access_CredentialTableAdapter TableAdapterManager

Deployment Model
Network Diagram

Figure 5 Network Diagram

The network diagram depicts the various servers used to deploy the website. The servers are as follows: Primary Web Server Server Technology Site Login Secondary Web Server Server Technology Site Login Password Primary Database Server Server Technology Database Login Password AspSpider.net IIS/ASP.NET 3.5 http://AspSpider.info/asadis Private 71.18.73.1 IIS/ASP.NET 1.1 http://StudentPortal.bu-pm.com kanabar@bu.edu 808commave mssql7.ixwebhosting.com SQL Server 2000 Kanabar_Student_Portal Kanabar_CS632G3B password

Bibliography
W3C. (2008, January 30). Cascading Style Sheet. Retrieved February 23, 2008, from W3C: http://www.w3.org/Style/CSS/ W3C. (2002, August 1). XHTML. Retrieved February 23, 2008, from W3C: http://www.w3.org/TR/xhtml1/ Wikipedia. (2008, February 8). Data Model. Retrieved February 23, 2008, from Wikipedia: http://en.wikipedia.org/wiki/Data_model Wikipedia. (2007, December 10). Domain Model. Retrieved February 23, 2008, from Wikipedia: http://en.wikipedia.org/wiki/Domain_model Wikipedia. (2008, February 21). Robust. Retrieved February 23, 2008, from Wikipedia: http://en.wikipedia.org/wiki/Robust Wikipedia. (2008, February 7). Scalability. Retrieved February 23, 2008, from Wikipedia: http://en.wikipedia.org/wiki/Scalability Wikipedia. (2008, February 1). Use Case Model. Retrieved February 23, 2008, from Wikipedia: http://en.wikipedia.org/wiki/Use_case_model

You might also like