Architecture Design by hcj

VIEWS: 75 PAGES: 13

									                 Architecture Design
                          For ELP Helper
                            Version 1.0




Submitted in partial fulfillment of the requirements of the degree of
                  Master of Software Engineering




                         Aghsan Ahmad
                      CIS 895 – MSE Project
                      Kansas State University
TABLE OF CONTENTS

1. Introduction…………………………...…………………………………….… 2
2. Architecture of the System …............................................................................ 2
 2.1. Presentation Tier........……………………………………………………..…3
 2.2. Business Tier …..…………….………………………………………….......4
  2.2.1. Class Descriptions …………………………………..………………….. 4
  2.2.2. Sequence Diagrams…………………………………...………………… 9
 2.3. Data Tier (Database) ……………………………………………….……... 11
1. Introduction
The purpose of this document is to provide an architectural design for the ELP Helper. The
design will show the presentation tier, the middle tier, composing of class and sequence
diagrams, and the data tier. Each class will have a brief description about its purpose.

2. Architecture of the system
 Since the ELP Helper includes two parts one is the client application and the other is the web
application. The architecture of the system is based on two- tier architectures for the client
application (Clerk) and three-tier architecture for the web application.

The client application:
There are two logical tiers which are that separates the code base from the database management
system.




         Figure1. Two-tier Architecture Diagram (The client application for the clerk).


The web application:
There are three logical tiers: the Presentation Tier, the Business Tier, and the Data Tier. The
presentation tier is responsible for displaying the contents to the user while business tier
communicates between presentation tier and data tier. The data tier is responsible for storing the
students' information, teacher's information and others. The data tier is also responsible handling
the requests from the business tier and using stored procedures passing the result back.
The figure below shows the three tier-architecture of the ELP Helper for the web part.
           Figure2. Three-tier Architecture Diagram (The web application for teachers).

2.1.1 Presentation Tier for the client application (Clerk)
The presentation tier for the ELP Helper is VB.NET forms with User controls.
The table below shows VB.NET Application forms for the client (Clerk) of the system.

VBNET Application Forms             Purpose
Main_Form.vb                        This a first screen where the clerk clicks on the
                                    New students tab, Returning students, Search, or
                                    Group.
AddStudents.vb                      This form to add a students’ information and
                                    import their scores.
EditStudents.vb                     This is a form to edit students’ information.
ElpResult.vb                        It is a report for new students to show them their
                                    scores in ELP test.
ElpResult_Returning.vb              It is a report for returning students to show them
                                    their scores in ELP test in two last semesters.
AddTeacher.vb                       This screen to add a teacher.
Search.vb                           This screen to search for a student by her/his
                                    First/ last name or searching for a group.
Group.vb                            This is a screen for creating a group.
2.1.2. Presentation Tier for the web application (Teacher)
The presentation tier for the ELP Helper is ASP.NET Web forms with User Controls.
The Visual Studio .NET IDE will be used to create the Web forms.
The table below shows ASP.NET Web forms of the system.

ASP.NET Web Forms                   Purpose
Welcome Page.aspx                   The Web page for welcome screen.

Login.aspx                          The Web page for login to secure Web sites

List of groups, and classes .aspx   The web page for selecting the specific group and
                                    class to recommend their students
List of studentsName.aspx           The web page for selecting the specific student to
                                    recommend her/him.
Evaluation.aspx                     The screen has a check box to recommend a student
                                    and write his/her class achievement.


2.2. Business Tier
The business specific layer consists of eleven classes: Student, StudentScore, StudentSession,
Group, Teacher, TeacherSession, Oral, Speaking, structure, and listening.
The diagram below captures the domain model of the ELP Helper.




                                    Figure3. Domain Model
The diagram below captures the page flow (VB.NET Application forms) model for the Clerk.




                          Figure4. Page Flow Diagram for Clerk


The diagram below captures the page flow (ASP.NET Web forms) model for the Teacher.




                         Figure5. Page Flow Diagram for Teacher
2.2.1. Class Descriptions
   2.2.1.1. Student




The Student class is used to define the entire student’s general information, such as
   - Student First /last Name which are typed by the clerk into the textbox.
   - Major that is typed by the clerk into textbox.
   - Test number which is a Pk in the student table.
   - Student ID which is an Id number form the KSU and not all of students have it.
   - Country that is listed into the combo box, so the clerk can select it from the list
   - Category which is listed into the combo box, so the clerk can select it from the list, it
       could be either G (Graduate), UG (undergraduate), or ELP student
   - Birthday which is selected form the DateTimePicker that is supported by .NET with the
       date format.
   - Language which is listed into the combo box, so the clerk can select it from the list
   In addition, there are an initial Date which determines the date that student came to the ELP
   school and it is selected form the DateTimePicker toolbox.
   However, this class has many methods can deal with students’ information. PlaceStudent(int
   total, int StudTestNumber) method is called when the clerk clicks on the import and
   placement button to import students’ score from the excel file and then place them based on
   their total score. PrintScore() is a method which is called when the clerk clicks on the print
   score report button to print a report using crystal report technique.
 2.2.1.2 Student Scores




StudentScore class associates with the Student class, (many to one) that means for each student
has more than one StudentScore. StudentScore Class has many attributes which are:
    - Student TestNumber that is a foreign key.
    - RecordNumber is the PK in the StudentScore table.
    - Reading Score, Listing Score, Structure Score, Essay Score that are imported from the
        excel sheet.
    - Total Score is the summation from the above scores.
    -    Level for each course which is determined after calculating the total scores, these are the
        output of the program, they are (136, 138,140,150,152,and KSU which is advance level)
        For more details, you can see the code in the function “buttonAssign”
    - StudSemester which is listed into the combo box, so the clerk can select it from the list, it
        can be (summer, fall, or spring).
    - StudentYear is entered by the clerk which can be (2008, 2009...).
     These 2 last attributes describe the year and the semester for the groups which are created
    for each semester.
    - classOrder which is attribute to let the program keep tracking for each student in each
        semester, and makes a different between a new student and a returning student, it is
        incremented by 1 into the program code.


 2.2.1.3 Group
This class has all groups’ information that is created by the clerk. Its attributes are:
   - Group level which is listed in the combo box. they are (136, 138,140,150,152,and KSU
        which is advance level)
   - Group date is selected form the DateTimePicker toolbox
   - Group semester which is listed into the combo box, so the clerk can select it from the
        list, it can be (summer, fall, or spring).
   - Group Name which is a PK, (Group Name = Year + Subject name+ Level+ Group’s
        Name), in this formula we could be sure that each group has a different name in each
        semester.
   There are 2 methods in the Group class which are GetStudent that is called when the clerk
   clicks on the get student button, and MakeGroup that is called when the clerk sets the group
   properties, and get the student and save it in the database.


 2.2.1.4 Teacher




Teacher class has the teacher’s information, such as:
  - Teacher’s id is a PK in the teacher table.
  - Teacher’s First/Last name and email are entered by the Clerk.
  - Teacher’s username is entred by the clerk, password is initially entered by the clerk and can
be changed by the teacher via web application and encrypt it into the database.

 2.2.1.5 StudentSession




StudenSession class has many operations, such as AddStudent method which is called when the
clerk clicks on the Add button to add a new student. AddTeacher method is called when the
clerk creates a new teacher in the database and give the teacher a default username and password
which can be changed when the teacher log in in his/her account via web, SearchStudent
method is called when the clerk clicks on the search button. The search method might be by the
student first name or last name. SearchGroup method is called when the clerk selects the group
name from the combo box and hits search by group.
 2.2.1.6 TeacherSession




The TeacherSession class support teacher required operations, such as Login (), Signout(), and
Modify(). Login method is called when the teacher clicks on the login button. Signout method is
called when the teacher clicks on the sign out button, Modify () method is called when a teacher
clicks on the change button to change his/her password.

 2.2.1.7 Reading (for a recommendation)




Reading class has many attributes to evaluate the student’s performance during the semester.
This class associates with Group class, and Student class. It has several attributes:
   - ClassAchievement is typed by the teacher into textbox and it represents how many
        parentages the student did in the class during the semester.
   - Credit it is presented as a ratio box, the teacher can check either credit or not
   - DaysAttended, Home work, Test taken is typed by the teacher and represent how many
        parentages the student Attend and did in the homework, and test during the semester.
   - Comprehension, Homework_study, Vocabulary, and ReadingSpeed are represented by a
        reation box, and entered by the teacher. For each attribute has 3 option 1 if the student
        didn’t do very well, 2 if the student did a good job, 3 represents excellent work.
  2.2.2. Sequence Diagrams


2.2.2.1. Add a New Student




2.2.2.2. Import Scores and Placement

2.2.2.3. Grouping


2.2.2.4. Search
2.2.2.5. Teacher Login




2.2.2.6. Teacher Recommendation
2.3. Data Tier (Database)
  The system database has the following structure of tables:
Table Name                                  Purpose
Students                                     Represents students' information
StudentScore                                 Represents students' score, their level,
                                             and the class order
Subject                                      Represents classes' information

Teachers                                     Represents teachers' information
Groups                                       Represents groups' information
Link                                         Since the relationship between the group
                                             class and student class many to many, the
                                             link table is the 3rd table to link them to
                                             each other.
Reading                                      Represents the Reading recommendation
Oral                                         Represents the Oral recommendation
Speaking                                     Represents the Speaking recommendation
Structure                                    Represents the Structure recommendation
Listening                                    Represents the listening recommendation

								
To top