This document summarizes a team project to create a test application. It outlines the team members and their roles, as well as requirements, architecture, and screens for the application. Key points include:
- The team will create a Windows application linked to a web app for respondents to answer tests.
- The architecture will use multi-tiered programming with ADO.NET, ASP.NET, and SQL Server.
- Screens will include login, managing test takers, questions, tests, and sending tests.
- Standards for coding, UI, and exception handling will be implemented.
- Class diagrams show the entity, data access, and business layers.
- Screenshots demonstrate old
3. Roles - Leadership Brenda Project Lead Moussa Architecture Cormac Standards Presentation Layer Contributor
4. Roles - Individual Database Brenda Business Layer and Data Access Layer Moussa, Sean Presentation Layer John, Shwetha, Cormac, Brenda Tester John
5. The Edge Testing Application 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.
6. Design Requirements Use a multi-tiered programming approach when designing the application. Produce a user interface that is intuitive and requires minimal training for the user. Employ Framework 2.0, ADO.NET 2.0, ASP.NET 2.0, and SQL Server 2005 technologies. Create stored procedures for the required functionality.
7. Functional Requirements Login Page Add Test Taker Edit Test Taker Send Test Open Tests Incidents Question Tests Topics
13. Dynamically Loading the tiers BLTool Loads the business layer Holds the instance through a weak reference DALTool Loads the data access layer Holds the instance through a weak reference
15. Plug in a new BL or DAL Write a class that implements ITestDAL or ITestBL in a new assembly Copy the assembly in the application folder Update the configuration file Start the application
29. The User Interface 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. This architecture ensures a common interface for all of the Applications functions. Only 1 instance of a single child form can be open at any one time.
30. Standards Standards for the project were implemented at a number of levels: User Interface Standards Coding Standards Use of the document “Coding Standards and Conventions” Standardized Indentation Standardized Exception Handling A Standards document was developed and circulated to coordinate the various standards for the project group.
31. Standards - User Interface User Interface Standards were implemented in a number of ways: All MDI Child forms (i.e. functional screens) inherited from a single TemplateForm.cs which standardized (among other things): A Title Label, and a Status Bar & Status Label with a standard position, font, size & color. Properties to allow inheriting forms to easily set the Title & Status in a consistent way. The group’s Standards document codified a number of formatting standards that could not easily be implemented through templates.
32. Standards – Exception Handler An ExceptionHandler class was developed that simplifies and standardizes exception handling for the group. It receives an exception as a generic System.Exception & determines its type (EdgeTestException for example).
33. ExceptionHandler Class Properties ErrorMessage_UserFriendly A simple Exception Message to be displayed to the User. ErrorMessage_FullVersion A verbose Exception Message giving all available information. This will include an Inner Exception message, if any. ExceptionType EdgeTestException ArgumentOutOfRangeException ArgumentNullException ArgumentException UnSpecifiedException (any exception other than above) ErrorCode Returns ErrorCode for EdgeTestExceptions. ErrorCode = UnSpecified for Exceptions other than type EdgeTestException. Exception (Returns the Exception as a generic System.Exception) InnerException (null if none)
36. Add test takerAnd Edit test taker Add Test Taker – Allows the admin to add applicants to the online test database Edit Test Taker – Allows the admin to edit or remove a test taker from the online test database
42. Manage Tests Manages Tests Allows user to edit Questions in a selected Test Adds Questions from a selected a Topic Deletes Questions from a selected Test Adds a new Test Deletes an existing Test
44. Send Test Lists the available Tests for the user to select Sets time limit for the Test Lists the test takers when a session is selected Sends a Test Incident to the selected test takers