ELP HelperIII

Download Report

Transcript ELP HelperIII

ELP HELPER
MSE Project Presentation III
Aghsan Ahmad
Major Professor: Dr. Bill Hankley
PRESENTATION OUTLINES









Project Overview
Action Items from Presentation II
Architecture Design
Assessment Evaluation
Project Evaluation
Lessons Learned
Problems faced
Demo of the ELP Helper
Questions
PROJECT OVERVIEW
The objective of this project is to design and
develop an ELP Helper.

User Types: Clerk, Teachers

Functionalities for Clerk : Adding new students,
Importing scores, searching, making groups,
Adding teachers, and printing reports.

Functionalities for Teachers : making
recommendations
ACTION ITEMS( 1-SEARCHING)
1-Add more search option
The ELP Helper has 2 kinds of Search option
 By the student last or first name
 By the group name
ACTION ITEMS(2-SECURITY)
Add requirement for secure page for login info
The ELP Helper encrypts teacher password in a
database, by applying MD5 Encryption Algo
(Message-Digest algorithm 5) which is supported
by ASP.net.

In addition, reducing the session lifetime
restrictions to 10 minutes.

ACTION ITEMS( 3-BOUND CHECKS)

The ELP Helper checks the scores that is in the
excel sheet file before imported to the application,
and displays error message if the score is less
than 0 or greater than 100.
ACTION ITEMS (4-INVARIANT)
Students cannot be placed in their level unless they
have grades from the Excel database.
In the Class Score will be a standard level for each
range of scores
class score
Attributes
min: Integer
max: Integer
Level: levels
end
ACTION ITEMS (4-INVARIANT)
In the StudentScore, I added a look up function In
Class StudentScore
Attributes
Operations
lookup(TotalScore : Integer) : Set( score) =
score.allInstances->select(s| s.min <= TotalScore
and s.max >= TotalScore.
End
ACTION ITEMS (4-INVARIANT)
This is a constraint that we have to check in the USE tool,
when we create instances.
--C0#4
context StudScore
inv Placement:
self.flagImportCurrentSeme= #yes implies
lookup(self.TotalScore).Level->forAll(L|L= TotalLevel and
L=ReadLevel and L=SpeakingLevel and L=OralLevel and
L=SpeakingLevel and L=ListenLevel )
CLASS DIAGRAM
DATABASE SCHEMA
ASSESSMENT EVALUATION
 Manual
Testing - To ensure the correctness
of various parts of code
ASSESSMENT EVALUATION(MANUAL
TESTING )
ASSESSMENT EVALUATION

Performance Testing

Goal:

The goal of performance testing is not finding bugs, but to remove the
bottlenecks from the application and improve the efficiency.


Tool Used – JMeter tool(http://jakarta.apache.org)
Inputs to JMeter:

Number of Users (Threads)

Loop Count - how many times to repeat the test
Ex. if we have 50 users , and 100 loop count  The total request = 50 * 100= 5000 Samples

Web pages Tested

HTML Page (Login Web Page)

Database Intensive Page (Students Page)
WHY DID I CHOOSE THESE PAGES?
Login page
 I chose the Login Page since the database
requests are not complex, it just hits one table.

sql = "SELECT * FROM Teachers WHERE
TchUserName='" + userName + "' AND
TchPassWord ='" + encryptedPassword + "'".
Students Page
I chose the Students page since it has a complex
query which joins 4 tables together to get all
students into a specific group.

SELECT Students.StudFirstName + ' ' + Students.StudLastName
AS Name, CONVERT (varchar, Students.StudBirthDate, 105) AS
BirthDate, Students.StudLanguage AS Language,
Students.StudCountry, Students.StudMajors,
Students.StudCategory, Students.StudTestNumber FROM
StudScore INNER JOIN Students ON
StudScore.StudTestNumber = Students.StudTestNumber INNER
JOIN Link ON StudScore.RecordNumber = Link.RecordNumber
INNER JOIN Groups ON Link.GroupName = Groups.GroupName
WHERE (Groups.GroupName = @ID)
ASSESSMENT EVALUATION
 Machine
Configuration

Operating System – Windows XP Professional

Memory – 1.37 GB RAM

AMD Turion 64 bit processor 1.79 GHz
ASSESSMENT EVALUATION
HTTP://LOCALHOST/ELP/LOGIN.ASPX

Performance graph for login.aspx with
Loop Count = 100.
Response Time
increases with number
of users.
ASSESSMENT EVALUATION
HTTP://LOCALHOST/ELP/STUDENTS.ASPX

Performance graph for studnts.aspx with
Loop Count = 100.
ASSESSMENT EVALUATION

In the table below, I compared the response times of the login
page and the student’s page with 10 & 100 loop count.
ASSESSMENT EVALUATION
Observations:
1) Response Time the Students Page is greater
compared to the Login Page.

2) Lowest Response Time for the Login Page
because the database requests are not complex.
3) Moderate Response Time for Students page
because there is a complex query which joins
many tables together to get the specific students
into the specific group.
ASSESSMENT EVALUATION

4) The increase in the response time is due to the bad
performance of both the web and database servers, which
are hosted in the laptop with 1GB of RAM and AMD Turion
64 bit processor. There would be a sharp decrease in the
response time if a better system were to be used to host the
web and database servers. However, according to Nielsen,
Jakob (1993-2007) 0.1 second, and 1.0 second are about the
limit for the user's flow of thought to stay uninterrupted.
883 m/s response time which is 0.9 s; it is a pretty good and
acceptable response time. The response time should not
exceed 10 seconds to serve a user’s request.
PROJECT EVALUATION
Phase I 1505 Minutes
Phase II 1205 Minutes
Phase III 1700 Minutes
Total = 4410 minutes.
PROJECT EVALUATION
TOOL : LINECOUNT

Source Lines of Code
The initial estimate was 1765 SLOC based on COCOMO
model that missed a lot of inputs/outputs as a
function point which is driven from the prototype.
The actual SLOC is 2345 SLOC
- Desktop Application which its SOLC= 1750 VB.Net
- Web Application its SLOC = 595 ASP. Net with VB
The total number of the SLOC =2345 SLOC.
SLOC
LESSONS LEARNED
Understanding and applying the entire life cycle
phases of software development.
 Being the person who responds for each phase
and plays manager, analyzer, designer,
programmer, and tester role.
 Working with and understanding more, the UML
model. Also, how I can represent use cases, class
diagrams, and sequence diagrams that depict the
code.
 Designing and connecting the Crystal report to
the database.
 Setting up, configuring IIS, and publishing ELP
web pages.

PROBLEMS FACED



1. Learning ASP.NET (namespaces and other
controls)
2. Security Issues (Applying MD5 Algorithm
in both Application).
3. Performance Testing Tool(Microsoft WAS,
JMeter)

Demo