Software Architectural Design & Evaluation1
2 Design part6
2.1 Object-Oriented Architectural Style: Alaa Alqallaf (10079858)7 2.2 WWW Client-Server: Brazilo Gonsalves (10071310)11 2.3 Main program and subroutine: Nadine Robb (10026063)16 2.4 Pipe-and-filter: Naveed Sabir (08075782):19 3 Evaluation part20
3.1 Object-Oriented Architectural Style:21
3.2 WWW Client-Server:23
3.3 Main program and subroutine:25
3.4 Pipe-and-filter: Evaluated by ( Naveed Sabir)27
4 Overall Evaluation28
Design problem definition:
- The problem which is needed to be designed in this project is all about design software for a petrol filling station. There will be two software needed to be designed; software system running on the computers of the pumps and the cashier’s consoles to process the transactions. However, we can optionally add third software the server computer.
- Functional requirements:
• Requirements for pumps:
1. The pumps should provide a facility to display the type of the fuel, which is used by customer (Diesel/Unleaded). (high quality) 2. The pumps should provide the volume of the specific used fuel. (high quality) 3. The pumps should calculate the amount to be paid. (high quality) 4. The pumps should display the amount to be paid. (high quality) 5. The pumps should send a record to the cashiers’ console, which contains details (pump identity, fuels’ type, fuels’ volume, amount of money to be paid). (high quality) 6. The pump must be initialised after paying the amount. (low quality) • Requirements for console:
1. The console should contain a display screen, keyboard, credit card reader and receipt printer. (high quality) 2. More than one cashiers’ console may be provided. (medium quality) 3. If there is more than one cashier, then the customer can pay the amount from any cashiers’ consoles. (high quality) 4. The console may provide a facility to select one of the records sent from the pumps to display the details. (medium quality) 5. The console must save the paid record in the system (the server). (high quality) • Requirement for the server:
1. The server must save the paid records. (high quality)
2. The server should have enough space to store the records - large enough RAM. (high quality) 3. The server should have a backup system. (high quality) 4. Updates can be easily made (medium quality)
- Non-Functional requirements:
1. The system should allow for the mutuality and alternatives of the hardware components (including the pumps, server and cashier terminals). 2. The system should allow adding/removing pumps or cashier consoles to/from the system. 3. The system should be strongly performed without errors, the calculation and processing of payment must be absolutely accurate. 4. The system shouldn’t allow any crash to happen. And if in some point it happens to occur, a large amount of productivity would be lost. 5. The system should have fast and immediate response time, which will make the calculation and processing for the payment much easier. 6. The system should allow a big reasonable amount of storage to save the paid record in server (which will hold the record). 7. The system should allow paying easily by a cashier, integrating card and cash payments. 8. The system should allow one or more cashiers to be available or working in shifts. 9. The system should be user-friendly (Console)
10. The system must update regularly to give correct information. 11. The system should allow numerous amounts of customers to pay at the same time without any delays. 12. The system must save all records.
13. Each cashier must contain all transactions (records) so the customer doesn’t get confused and have to go to each console to find their transaction....