Architecture Design - Computing and Information Sciences

advertisement
Architecture Design
New Vision Concept School Portal
Submitted in partial fulfillment of the requirements of the degree of
MSE
Sindhu Thotakura
CIS 895 – MSE Project
Computing and Information Sciences
Kansas State University
Committee Members
Dr. Mitchell Neilsen(Major Professor)
Dr.Gurdip Singh
Dr. Daniel Andresen.
1
Change Log
Version #
Changed By
Release Date
Change Description
-----------------------------------------------------------------------------------------------------------------Version 1.0
Sindhu Thotakura
04/04/2012
2
Initial Release
Table of Contents
1. Introduction .........................................................................................................................1
2. Architecture..........................................................................................................................1
2.1 Technologies Used .........................................................................................................4
2.2 Project Architecture .......................................................................................................5
2.3 Flow Diagram of Website ..............................................................................................8
3. UML Representation of System...........................................................................................9
3.1 Class Diagram ................................................................................................................9
3.2 Sequence Diagram .......................................................................................................10
3
1. Introduction
This document provides an overview of Architecture design of New Vision Concept School
Portal. This document will mainly list down the various tasks which include Architecture, UML
diagrams, Technologies used to develop New Vision Concept School Portal
2. Architecture
2.1. Technologies Used
User
Create and Edit
Webpages
Front End (Asp.net web forms &
Asp.net web user controls)
Manage Database
Accesses
Business Logic
(C# Classes)
Back End
SQL Server 2008
Database
4
Client Side

ASPX: ASP components are used in client side to display all the controls

HTML and CSS: CSS template is used for styling and HTML is used in combination
with CSS

JavaScript: few features were developed using JavaScript

Dreamweaver and Microsoft Front Page: used for developing most of the pages as it
would be easy to edit in future.
Server Side

C#: All the server side code is written in C#, which connects to the database
Database

SQL Server 2008: used to store all the information
IDE

Microsoft Visual Studio 2010
2.2. Project Architecture
5
Three tier architecture is been used in developing New Vision Concept School website,
which uses Presentation layer, Business Logic layer and Data Access layer which are
explained below in detail.
Presentation Layer
The presentation layer includes the user interface components and user interface process
components to perform specific tasks which are listed below and the combination of these
two types of components form presentation layer. Presentation layer interoperates with the
business and data access layers to form the overall solution.
User Interface Components
These components make up user interface of the component. Users interact with these
components. The main purpose of this layer is to acquire data from the user and render data
to the user. These are also used to validate user login, input masking of the password and
using appropriate controls to collect the input from the user such as textboxes to enter the
input, buttons to click so that they can view schedule. This layer also involves managing the
visual layouts, styles and general appearance of the application. Also navigation from one
page to other is being involved here. Formatting and displaying data in different visual styles.
Browsing and organizing displayed data is also done in the presentation layer.
User interface process components
These elements control user interaction. Interface process components are not seen by the
user but they perform vital supportive role to user interface components. These are mainly
used for managing the control flow through user interface components like separating the
conceptual user interaction flow from the implementation or device where it occurs and keep
track of the progress of a user in a certain process.
ASP.net pages contain the pages which are viewable by the user. They are responsible for
separation for application logic and user interface. ASP.net pages have the extension as
.aspx. These pages contain the web controls of the application and also the User Controls
which are explained below.
User Controls
User controls are customized controls which can be created specific to the application and are
added to the .aspx pages. The extension of user controls is .ascx pages. In our application we
developed few features using user controls. User controls are easily added to the web pages.
6
Main usage of the user control is to modularize different functionalities by using simple
links. This finally results to the upgrading of performance. Also makes the code manageable.
User control can work as widgets and can be made completely independent of the parent
page. They speed up the development process. The development is modularized which means
there are different functionalities available by using just a simple tag in your web page.
Business logic layer
This layer separates the business logic from other modules such as data access layer and user
interface. This can be advantageous as the business logic of an application can often
withstand modifications or replacements of the other two tiers. In detail, in our application
we have properly separated business logic layer and data access layer; the data access layer
could be rewritten to retrieve data from a different database, without affecting any of the
business logic. This helped us while developing the application as we have split the layers
and worked simultaneously.
Data access layer
This layer provides simplified access to data stored in persistent storage as in SQL Server
database. Data access layer returns a reference to object complete with its attributes instead
of row of fields from a database table. This helped the client modules to be created with
higher level of abstraction. This is handled by creating a class of data access methods that
directly reference a corresponding set of database stored procedures. This helps to hide the
complexity of the underlying data store from the external world. Instead of using commands
such as insert, delete and update to access a specific table in a database, a class and a few
stored procedures could be created in the database. The procedures would be called from a
method inside the class, which would return an object containing the requested values. The
insert, delete and update commands are executed within simple functions which are stored
within the data access layer. Business logic methods are mapped to the database access layer.
Instead of making a query into a database to fetch all users from different tables the
application can call a single method from a DAL which abstracts those database calls.
Database
SQL Server 2008 is used as a database in this project as it integrates well with visual studio
and provides good performance. Tables are physical storage for the data stored in the
database. All the operations utilizes database via stored procedures.
7
Stored Procedures
Stored Procedures are used to manipulate or operate data between tables. For example, if
there are three different queries we need to operate on three different tables, they can be
accommodated in one single stored procedure. Stored procedures are always advantageous
over in line queries as stored procedures are compiled when created, but when a query is
used, there is a database hit, which may degrade the performance. And also because of
modularity issues, if a same query has to be used many number of times in the code, a stored
procedure can be used. If there is an error in the query or any change has to be made, then the
fix has to be done in number of places and also the code has to be deployed which may use
lot of resources. Instead if we are using a stored procedure, we can overcome the above
issues. Stored procedures also provide a measure of security as all parameters passed to a
stored procedure are type checked. Stored procedures in Oracle are saved in packages and
package bodies.
2.3. Flow Diagram of Website
8
3. UML Representation of the System
3.1. Class Diagram
The main classes considered in our application are User, Student, Teacher, Section,
Homework, Subject, Results, Balance Due, and Schedule. Each class has attributes and
operations.
Each class will have attributes, operations and role names mentioned in this diagram.
Attributes represent the type of the class. For example in New Vision Concept School portal
attribute of the subject is Subject Name which is String which means the name of the subjects
can be defined like Telugu, Hindi, English, Maths, Science, Social.
The operations are the tasks done by the class like for example in New Vision Concept
School portal there is operation named view schedule for student by which student can
perform the operation viewing the schedule.
The main classes are student and teacher. When Teacher updates the Homework and Results
the student can view them. The student can also view the schedule and Balance Due when
logged in to the student home page.
9
User: The user class is defined to make sure that all the users come under this criterion like
students, teachers.
Student: The Student class is defined to make sure that the all the aspects of student are
covered which means they need to have user id and password to login. They should also be
able to view the schedule, Balance Due, Homework and Results
Teacher: The Teacher class is defined to make sure that the all the aspects of teachers are
covered which means they need to have user id and password to login. They should also be
able to update the Homework and Results of the students
Balance Due: The Balance Due class consists of all the balance due of students.
Schedule: The Schedules class ensures that students can view their class schedule.
Section: The Section class consists of the student sections like it mentions which student
belongs to which section. This class has the attribute name Section name where the names of
the sections are defined.
Subject: The Subject class consists of the Subjects taken by the student. It has attribute name
Subject Name where names of the subjects are defined.
Homework: The Homework class is defined to make sure that student can view the
homework posted by the teacher.
Results: The Results class is defined to make sure that student can view the Results posted by
the teacher.
Contact us and feedback are not included as of now because I did not do any particular
functionality for them. I just gave the email addresses of the persons to contact
3.2. Sequence Diagram
Sequence diagram is an interaction diagram that emphasizes the time ordering of messages.
This is used to illustrate the dynamic view of a system. It models the control flow by time
ordering.
Fig 1 illustrates the login authentication of student and teacher. If the user enters the login
information it is authenticated using the user information which is stored in database. After
authentication if the username and password entered are correct the login will be successful
or else error message will be displayed.
10
Fig 2 illustrates the message flow between Student, Teacher and Database. If Teacher
updates Homework and Results they will be stored in a database and for the students to view
the Homework and Results they will be retrieved from the database. Apart from these
students can also view the schedule and balance due information which are retrieved directly
from the database.
Figure 1
11
Figure 2
12
Download