Presentation is loading. Please wait.

Presentation is loading. Please wait.

ELP H ELPER MSE Project Presentation III Aghsan Ahmad Major Professor: Dr. Bill Hankley.

Similar presentations


Presentation on theme: "ELP H ELPER MSE Project Presentation III Aghsan Ahmad Major Professor: Dr. Bill Hankley."— Presentation transcript:

1 ELP H ELPER MSE Project Presentation III Aghsan Ahmad Major Professor: Dr. Bill Hankley

2 P RESENTATION OUTLINES Project Overview Action Items from Presentation II Architecture Design Assessment Evaluation Project Evaluation Lessons Learned Problems faced Demo of the ELP Helper Questions

3 P ROJECT O VERVIEW 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

4 A CTION I TEMS ( 1-S EARCHING ) 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

5 A CTION I TEMS (2-S ECURITY ) 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.

6 A CTION I TEMS ( 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.

7 A CTION I TEMS (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

8 A CTION I TEMS (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. End

9 A CTION I TEMS (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 )

10 C LASS D IAGRAM

11 D ATABASE S CHEMA

12 A SSESSMENT E VALUATION Manual Testing - To ensure the correctness of various parts of code

13 A SSESSMENT E VALUATION ( M ANUAL T ESTING )

14 A SSESSMENT E VALUATION  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)

15 W HY 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 + "'".

16 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)

17 A SSESSMENT E VALUATION  Machine Configuration  Operating System – Windows XP Professional  Memory – 1.37 GB RAM  AMD Turion 64 bit processor 1.79 GHz

18 A SSESSMENT E VALUATION HTTP :// LOCALHOST / ELP / LOGIN. ASPX HTTP :// LOCALHOST / ELP / LOGIN. ASPX Performance graph for login.aspx with Loop Count = 100. Response Time increases with number of users.

19 A SSESSMENT E VALUATION HTTP :// LOCALHOST / ELP / STUDENTS. ASPX HTTP :// LOCALHOST / ELP / STUDENTS. ASPX Performance graph for studnts.aspx with Loop Count = 100.

20 A SSESSMENT E VALUATION In the table below, I compared the response times of the login page and the student’s page with 10 & 100 loop count.

21 A SSESSMENT E VALUATION 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.

22 A SSESSMENT E VALUATION 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.

23 P ROJECT E VALUATION Phase I 1505 Minutes Phase II 1205 Minutes Phase III 1700 Minutes Total = 4410 minutes.

24 P ROJECT EVALUATION T OOL : L INE C OUNT 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.

25 SLOC

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

27 P ROBLEMS 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)

28 Demo


Download ppt "ELP H ELPER MSE Project Presentation III Aghsan Ahmad Major Professor: Dr. Bill Hankley."

Similar presentations


Ads by Google