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

Performed by:Gidi Getter Svetlana Klinovsky Supervised by:Viktor Kulikov 08/03/2009.

Dec 21, 2015

Download

Documents

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Performed by:Gidi Getter Svetlana Klinovsky Supervised by:Viktor Kulikov 08/03/2009.

Performed by: Gidi Getter

Svetlana Klinovsky

Supervised by: Viktor Kulikov

08/03/2009

Page 2: 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:

Page 3: Performed by:Gidi Getter Svetlana Klinovsky Supervised by:Viktor Kulikov 08/03/2009.

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.

Page 4: Performed by:Gidi Getter Svetlana Klinovsky Supervised by:Viktor Kulikov 08/03/2009.
Page 5: Performed by:Gidi Getter Svetlana Klinovsky Supervised by:Viktor Kulikov 08/03/2009.

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

Page 6: Performed by:Gidi Getter Svetlana Klinovsky Supervised by:Viktor Kulikov 08/03/2009.

• Contains tables

• Tables store data

• Students and staff personal info

• Semester, course and experiment info

• Tables have constraints

• Restrict undesirable data manipulations

Page 7: Performed by:Gidi Getter Svetlana Klinovsky Supervised by:Viktor Kulikov 08/03/2009.

• Contains stored procedures

• Simple data manipulations

• Insert row into table

• Delete row from table

• Update row in table

• Server-side execution

• Efficiency

Page 8: Performed by:Gidi Getter Svetlana Klinovsky Supervised by:Viktor Kulikov 08/03/2009.

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

Page 9: Performed by:Gidi Getter Svetlana Klinovsky Supervised by:Viktor Kulikov 08/03/2009.

• Uses ADO.NET

Page 10: Performed by:Gidi Getter Svetlana Klinovsky Supervised by:Viktor Kulikov 08/03/2009.

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.

Page 11: Performed by:Gidi Getter Svetlana Klinovsky Supervised by:Viktor Kulikov 08/03/2009.

Class Diagram:

Page 12: Performed by:Gidi Getter Svetlana Klinovsky Supervised by:Viktor Kulikov 08/03/2009.

Class Diagram:

Page 13: Performed by:Gidi Getter Svetlana Klinovsky Supervised by:Viktor Kulikov 08/03/2009.

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

Page 14: Performed by:Gidi Getter Svetlana Klinovsky Supervised by:Viktor Kulikov 08/03/2009.

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

Page 15: Performed by:Gidi Getter Svetlana Klinovsky Supervised by:Viktor Kulikov 08/03/2009.

Class Diagram – Student Classes:

Page 16: Performed by:Gidi Getter Svetlana Klinovsky Supervised by:Viktor Kulikov 08/03/2009.

Class Diagram – Staff Classes:

Page 17: Performed by:Gidi Getter Svetlana Klinovsky Supervised by:Viktor Kulikov 08/03/2009.

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

Page 18: Performed by:Gidi Getter Svetlana Klinovsky Supervised by:Viktor Kulikov 08/03/2009.

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

Page 19: Performed by:Gidi Getter Svetlana Klinovsky Supervised by:Viktor Kulikov 08/03/2009.

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

Page 20: Performed by:Gidi Getter Svetlana Klinovsky Supervised by:Viktor Kulikov 08/03/2009.

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

Page 21: Performed by:Gidi Getter Svetlana Klinovsky Supervised by:Viktor Kulikov 08/03/2009.

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

In our project we have learned the following issues:

Page 22: Performed by:Gidi Getter Svetlana Klinovsky Supervised by:Viktor Kulikov 08/03/2009.

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