performed by:gidi getter svetlana klinovsky supervised by:viktor kulikov 08/03/2009

22
Performed by: Gidi Getter Svetlana Klinovsky Supervised by: Viktor Kulikov 08/03/200 9

Post on 21-Dec-2015

226 views

Category:

Documents


1 download

TRANSCRIPT

Performed by: Gidi Getter

Svetlana Klinovsky

Supervised by: Viktor Kulikov

08/03/2009

• 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.

Create a web application:

• ASP.NET framework

• C# programming language

• SQL database

Learn and practice the following topics:

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:

Stores the data saved by the application

Connects the application to the database

Contains the application’s logic – objects & methods

Displays the application to the user

• 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

Coursecourse_id

c_number

c_name

Exp_Scheduledexp_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

Experimentexp_id

exp_name

exp_description

laboratory_name

laboratory_location

course_id

ExperimentSemesterexp_sem_id

exp_id

semester_id

Personperson_id

p_ID_number

p_first_name

p_last_name

p_e_mail

Rolerole_id

role

description

Semestersemester_id

ac_season

ac_year

is_current

Studentstudent_id

st_ID_number

st_first_name

st_last_name

st_e_mail

Student_Enrollment_Gradest_enrollment_grade_id

enrollment_date

st_grade

student_id

exp_sch_id

exp_sem_id

User_Accountuser_acc_id

user_name

password

active

person_id

User_Roleuser_role_id

role_id

user_acc_id

UserRole_Courseuserrole_course_id

user_role_id

course_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:

• 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).

Features used in the presentation layer:

• 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.

• Student login to the system is based on student’s ID number and password which are validated by the undergraduate system.

Login to application requires password validation.

• 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 – one-way encryption.

• Different types of user accounts (roles) – enabling hierarchical management of the system.

• C#, .NET• HTML, XML• CSS• JavaScript, Ajax• ASP.NET• ADO.NET• T-SQL

In our project we have learned the following issues:

• 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.