Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Project Work

Presentation from the class\'s final project

  • Be the first to comment

  • Be the first to like this

Project Work

  1. 1. The Edge<br />Brenda Dean, Cormac Sharpe, John Elmer, ShwethaKunamalla, Moussa Doumbouya, Sean Keith<br />
  2. 2. Team Name<br />Stuck in the middle<br />Suggestion<br />
  3. 3. Roles - Leadership<br />Brenda<br />Project Lead<br />Moussa <br />Architecture<br />Cormac<br />Standards<br />Presentation Layer Contributor<br />
  4. 4. Roles - Individual<br />Database<br />Brenda<br />Business Layer and Data Access Layer<br />Moussa, Sean<br />Presentation Layer<br />John, Shwetha, Cormac, Brenda<br />Tester<br />John<br />
  5. 5. The Edge Testing Application<br />The objective of this assignment is to create a windows based application for creating the test that will link to a web based application that will allow participants to respond with the answers to the test.<br />
  6. 6. Design Requirements<br />Use a multi-tiered programming approach when designing the application.<br />Produce a user interface that is intuitive and requires minimal training for the user. <br />Employ Framework 2.0, ADO.NET 2.0, ASP.NET 2.0, and SQL Server 2005 technologies.<br />Create stored procedures for the required functionality.<br />
  7. 7. Functional Requirements<br />Login Page<br />Add Test Taker<br />Edit Test Taker<br />Send Test<br />Open Tests Incidents<br />Question<br />Tests<br />Topics<br />
  8. 8. General Architecture of the application<br />Presented by Moussa Doumbouya<br />
  9. 9. Architectural objectives<br />Highly cohesive tiers<br />Loose coupling between tiers<br />Extensibility<br />Maintainability<br />Promote collaboration between developers<br />Pluggable tiers<br />
  10. 10. Assemblies and dependencies<br />WinClient<br />BLInterface<br />BLImplementation<br />DALInterface<br />DALImplementation<br />Assembly Reference<br />Dynamic loading. (Reflection)<br />
  11. 11. Classes relationship<br />Form1<br />ITestBL<br />TestBL<br />ITestDAL<br />TestDAL<br />Implements (Inherits)<br />Uses<br />
  12. 12. Dynamic loading configuration<br />
  13. 13. Dynamically Loading the tiers<br />BLTool<br />Loads the business layer<br />Holds the instance through a weak reference<br />DALTool<br />Loads the data access layer<br />Holds the instance through a weak reference<br />
  14. 14. Example. Loading the Business layer<br />
  15. 15. Plug in a new BL or DAL<br />Write a class that implements ITestDAL or ITestBL in a new assembly<br />Copy the assembly in the application folder<br />Update the configuration file<br />Start the application<br />
  16. 16. Business / Data access layer Overview<br />Sean Keith<br />
  17. 17. Business Layer Class Diagram<br />
  18. 18. Data Access Layer Class Diagram<br />
  19. 19. Entities Class Diagram<br />
  20. 20. TestEmailTemplate XML File<br />
  21. 21. Error handling in the DAL<br />
  22. 22. Error handling in the BL<br />
  23. 23. Error Logging Method<br />
  24. 24. ErrorCodeEnum<br />
  25. 25. EdgeTestException Class<br />
  26. 26. User Interface architecture & Standards<br />Cormac Sharpe<br />
  27. 27. The User Interface - Login<br />
  28. 28. The User Interface<br />
  29. 29. The User Interface<br />The Edge Test Application User Interface is implemented as an MDI parent form with its MDI children forms corresponding to the Application’s main functional areas.<br />This architecture ensures a common interface for all of the Applications functions.<br />Only 1 instance of a single child form can be open at any one time.<br />
  30. 30. Standards<br />Standards for the project were implemented at a number of levels:<br />User Interface Standards<br />Coding Standards<br />Use of the document “Coding Standards and Conventions”<br />Standardized Indentation<br />Standardized Exception Handling<br />A Standards document was developed and circulated to coordinate the various standards for the project group.<br />
  31. 31. Standards - User Interface <br />User Interface Standards were implemented in a number of ways:<br />All MDI Child forms (i.e. functional screens) inherited from a single TemplateForm.cs which standardized (among other things):<br />A Title Label, and a Status Bar & Status Label with a standard position, font, size & color. <br />Properties to allow inheriting forms to easily set the Title & Status in a consistent way.<br />The group’s Standards document codified a number of formatting standards that could not easily be implemented through templates.<br />
  32. 32. Standards – Exception Handler<br />An ExceptionHandler class was developed that simplifies and standardizes exception handling for the group.<br />It receives an exception as a generic System.Exception & determines its type (EdgeTestException for example).<br />
  33. 33. ExceptionHandler Class Properties<br />ErrorMessage_UserFriendly<br />A simple Exception Message to be displayed to the User.<br />ErrorMessage_FullVersion<br />A verbose Exception Message giving all available information. This will include an Inner Exception message, if any.<br />ExceptionType<br />EdgeTestException<br />ArgumentOutOfRangeException<br />ArgumentNullException<br />ArgumentException<br />UnSpecifiedException (any exception other than above)<br />ErrorCode<br />Returns ErrorCode for EdgeTestExceptions.<br />ErrorCode = UnSpecified for Exceptions other than type EdgeTestException. <br />Exception (Returns the Exception as a generic System.Exception)<br />InnerException (null if none)<br />
  34. 34. Test Application Functional Screens<br />
  35. 35. Manage Topics<br />
  36. 36. Add test takerAnd Edit test taker<br />Add Test Taker – Allows the admin to add applicants to the online test database<br />Edit Test Taker – Allows the admin to edit or remove a test taker from the online test database<br />
  37. 37. Add Test Taker<br />Old Screen<br />New Screen<br />
  38. 38. Edit Test Taker<br />Old Screen<br />New Screen<br />
  39. 39. Defining Questions<br />Brenda Dean<br />
  40. 40. Questions <br />Old Screen<br />New Screen<br />
  41. 41. Manage Tests<br />UI Contributed by<br />Shwetha<br />
  42. 42. Manage Tests<br />Manages Tests <br />Allows user to edit Questions in a selected Test<br />Adds Questions from a selected a Topic<br />Deletes Questions from a selected Test<br />Adds a new Test<br />Deletes an existing Test<br />
  43. 43. Manage Tests<br />New Screen<br />Old screen<br />
  44. 44. Send Test<br />Lists the available Tests for the user to select <br />Sets time limit for the Test<br />Lists the test takers when a session is selected<br />Sends a Test Incident to the selected test takers<br />
  45. 45. Send Test<br />New screen<br />Old screen<br />
  46. 46. Open Tests<br />Old Screen<br />New Screen<br />

    Be the first to comment

    Login to see the comments

Presentation from the class\'s final project

Views

Total views

489

On Slideshare

0

From embeds

0

Number of embeds

6

Actions

Downloads

0

Shares

0

Comments

0

Likes

0

×