Developers at the Bellpeek Software Company have been engaged to help the county with their building permit system. They are designing a prototype application with a presentation layer, a business layer and a data access layer. Right now they are only in the prototyping phase. They are proto-typing a user interface and implementing data validation rules and data access capability. Further development will occur later.

Assignment:

Create a prototype version of the application. Your responsibility is to a) develop an interface to collect data pertinent to the application for a building permit and b) develop data validation capability. You must also use data access functionality created by another developer to update the database for the building permit system and to display data retrieved from the database. Make sure your application not only works, but also conforms to the Software Development Standards.

Detailed Problem Specification:

Create a presentation layer

  • The presentation layer should provide a form that allows entry of data related to applying for a building permit as described below:
    • Applicant First Name
    • Applicant Last Name
    • Designation as to whether this is a remodel or new construction
    • Site address
    • Site City
    • Site Zip code
    • Planned building square footage
    • Planned building height in feet
    • Construction start date
    • Estimated completion date
    • The presentation layer form should also invoke data validation when the user indicates that data entry is complete and they wish to save the information in the database. Data validation should be performed in a business layer class. The presentation layer should simply use the business layer class.
    • The presentation layer form must be able to display error messages to the end user when the data entered is not valid.
  • The presentation layer must provide a form to display a list of all building permits entered to date.
  • The presentation layer must provide a form to display a list of all building permits submitted by a particular applicant.

Create a business layer.

  • The business layer should contain a class that provides the following data validation checking:
    • All data is required, except the estimated completion date. The estimated completion date is not required.
    • First and last names must each be 40 characters or less.
    • Designation for new construction or remodel must be: N for new, R for remodel.
    • Site address must be less than 50 characters.
    • Site City must be less than 36 characters.
    • Site Zip code must be either: a) 5 digits or b) 5 digits, a dash and 4 digits.
    • If the Zip code is 98008 (or 98008-xxxx), then no new construction is allowed.
    • Building square footage must be greater than or equal to 500 and less than 40,000.
    • Building height must be greater than or equal to 10 and less than 95.
    • If the building square footage is less than 1000, then building height must be less than or equal to 20.
    • Construction start date must be a future date.
    • Estimated completion date (if present) must be after the construction start date.
  • The business layer class should provide a way to return to the user a list of error messages appropriate to the validation checking.
  • The business layer should provide functionality to invoke a method of a data access class to save data to the database if validation is successful (no errors are found).
  • The business layer class should be in a project separate from the presentation layer form.

Use a data access layer.

  • The database for retaining the building permit applications will be provided for you.
  • The database is in Access and must be placed in the folder: C:\databases.
  • The class to use in updating the database will be provided for you.
  • The class to use for retrieving data from the database will be provided for you.
  • You must use the data access layer provided for you. You may not create your own data access classes.
Academic Honesty!
It is not our intention to break the school's academic policy. Posted solutions are meant to be used as a reference and should not be submitted as is. We are not held liable for any misuse of the solutions. Please see the frequently asked questions page for further questions and inquiries.
Kindly complete the form. Please provide a valid email address and we will get back to you within 24 hours. Payment is through PayPal, Buy me a Coffee or Cryptocurrency. We are a nonprofit organization however we need funds to keep this organization operating and to be able to complete our research and development projects.