|Links To Different Milestones In This Series|
|1. Introduction||2. Building An Optimization Application – UI And Database Design|
|3. Building An Optimization Application – Database Programming||4. Building An Optimization Application – Validating User Input|
|5. Building An Optimization Application – Other Classes And Methods||6. Building An Optimization Application – Quotation Processing Part 1|
|7. Building An Optimization Application – Quotation Processing Part 2||8. Building An Optimization Application – Quotation Processing Part 3|
Ok, so after a bit of thinking i figured the following User Interface would be suitable for the application:
The PABX type is the first item to be selected for the following reasons:
- The PABX determines the cards that will be provided as options to satisfy the customer’s request.
- The numbers of the different types of trunks permissible, is affected by the selected PABX. For example, one type of PABX may only permit 5 Analog trunks while another may permit more Analog trunks. The same applies for other types of trunks as well.
- Different PABXs have different limits on the maximum number of cards and total number of ports, that can be accommodated. This will be explained further latter, when we discuss constraints.
The design of the database that we’re going to use could certainly be improved, but we’ll stick with the design shown below because it will be easier to focus on optimization, which is our main goal. We may, on a future post, redesign the database, as we make some improvements on the application. The other reason for using the ‘Cards’ table as illustrated below (a design that could certainly be improved) is that this is how some people would typically store their data in MS Excel, and this layout may be the easiest for readers to understand. We will use an MS Access database. Please design your database as follows:
On the next post we’ll start on some coding.