Architecture Design - People

advertisement
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.
This form to add a students’ information and
import their scores.
This is a form to edit students’ information.
It is a report for new students to show them their
scores in ELP test.
It is a report for returning students to show them
their scores in ELP test in two last semesters.
This screen to add a teacher.
This screen to search for a student by her/his
First/ last name or searching for a group.
This is a screen for creating a group.
AddStudents.vb
EditStudents.vb
ElpResult.vb
ElpResult_Returning.vb
AddTeacher.vb
Search.vb
Group.vb
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
The web page for selecting the specific student to
recommend her/him.
The screen has a check box to recommend a student
and write his/her class achievement.
List of studentsName.aspx
Evaluation.aspx
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
StudentScore
Subject
Represents students' information
Represents students' score, their level,
and the class order
Represents classes' information
Teachers
Represents teachers' information
Groups
Represents groups' information
Link
Reading
Oral
Speaking
Structure
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.
Represents the Reading recommendation
Represents the Oral recommendation
Represents the Speaking recommendation
Represents the Structure recommendation
Listening
Represents the listening recommendation
Download