Final Presentation

Download Report

Transcript Final Presentation

Performed by:
Gidi Getter
Svetlana Klinovsky
Supervised by:
Viktor Kulikov
08/03/2009
Create a web application:
• For regular usage of the communication lab’s
(and maybe other labs) stuff and students.
• Allow the students to register to the experiments.
• Allow the staff to manage relevant data.
Learn and practice the following topics:
• ASP.NET framework
• C# programming language
• SQL database
Environment:
• Microsoft Visual Studio 2008 – using C# language
• Microsoft SQL Server 2005
Technologies:
• Ajax – retrieves data from the server in the background,
without interfering with the display of the page. Only
relevant data is transferred between client and server.
• ASP.NET – a web application framework that runs on the
server and is responsible to link between the web controls
displayed and the code behind them.
• ADO.NET – a library that provides access to databases,
and also contains classes that model the database in the
memory.
4-Tier Model:
Displays the application to the user
Contains the application’s logic – objects & methods
Connects the application to the database
Stores the data saved by the application
• Contains tables
• Tables store data
• Students and staff personal info
• Semester, course and experiment info
• Tables have constraints
• Restrict undesirable data manipulations
• Contains stored procedures
• Simple data manipulations
• Insert row into table
• Delete row from table
• Update row in table
• Server-side execution
• Efficiency
Role
role_id
role
description
Person
person_id
p_ID_number
p_first_name
p_last_name
p_e_mail
Course
course_id
c_number
c_name
User_Account
user_acc_id
user_name
password
active
person_id
User_Role
user_role_id
role_id
user_acc_id
UserRole_Course
Experiment
userrole_course_id
exp_id
user_role_id
exp_name
course_id
exp_description
laboratory_name
laboratory_location
course_id
Semester
ExperimentSemester
exp_sem_id
semester_id
exp_id
ac_season
semester_id
ac_year
is_current
Exp_Scheduled
Student_Enrollment_Grade
Student
st_enrollment_grade_id
student_id
enrollment_date
st_ID_number
st_grade
st_first_name
student_id
st_last_name
exp_sch_id
st_e_mail
exp_sem_id
exp_sch_id
exp_date_time_1
exp_date_time_2
exp_date_time_3
exp_room
places
reg_start_date_time
reg_end_date_time
instructor_user_role_id
exp_sem_id
• Uses ADO.NET
1. Provides BL access to data
•
Receives data from DB and transfers
updated data back to DB.
•
Uses DbDataAdapter, DbConnection etc.
2. Creates a database model in the memory
•
Uses DataSet, DataTable etc.
Class Diagram:
Class Diagram:
• The main tables in the database are represented by a
class in the business logic layer.
• Each record of these tables is represented by an object of
the corresponding class, and can be accessed by
creating a new instance. Changes to the database are
made by methods of the instance.
• The binding tables are represented by properties in the
existing classes.
• The records of these tables can be changed using
methods in the classes in which they appear.
• Login class implements the actions needed for the users
accounts and password handling:
• Randomizing a new password
• Sending new password to user’s email account
• Password changing by user
• Checking password at login
• BlException class represents the exceptions thrown in the
business logic written in the way the user will understand.
Exceptions that are thrown by the data access layer are
caught and the BlException class translates them into a
readable message.
Class Diagram – Student Classes:
Class Diagram – Staff Classes:
Features used in the presentation layer:
• Master Pages – create a global look for all web
pages and adds common controls to all of them.
• User Controls – enable reuse of one user control
over multiple pages, dynamic load of the controls
in a page.
• Ajax Controls – enhance performance of
postbacks by rendering only part of the
information to the server and also give the client
better responsiveness (eliminates page refresh).
• Field Validators – client-side controls that prevent
postback when inputs are not filled properly and
give the user quick response in that case.
• CSS – flexible way to change the style of the
controls (position, size etc). Can be used in
external file that is easy to change. Can be
configured to different devices (display, printer)
separately.
• Javascript – client side operations that are
defined by OnClientClick property of button class.
• Confirmation box – is displayed when irreversible
operations are made using client side script.
• GridView – displays tables and also contains
buttons that enables the user to go into row edit
mode or to delete the row.
Login to application requires password validation.
• Student login to the system is based on student’s ID
number and password which are validated by the
undergraduate system.
• Staff login to the system is based on username and
password that are managed and validated independently
by the system.
• Password protected in database using MD5 – oneway encryption.
• Different types of user accounts (roles) – enabling
hierarchical management of the system.
In our project we have learned the following issues:
•
•
•
•
•
•
•
C#, .NET
HTML, XML
CSS
JavaScript, Ajax
ASP.NET
ADO.NET
T-SQL
• Keep the list of students registered to the course
and limit the registration to experiments.
• Check if the student has the required courses for
the experiment.
• Use Ajax to update contents without page refresh.