1. Build Brothers company in C (10 marks)
A civil engineering company called Build Brothers has approached you to write a program to help some of their employees with getting their job quicker specially when it comes to calculating different equations in their construction projects. Currently, they use the following PDF to perform all their calculations:
They are willing to develop a small software to calculate all the functions and calculations in the above cheat sheet. They have made this decision to reduce inherent human errors during calculation and improve efficiency. They think that these can be achieved by an “advanced calculator” that allows a user to choose an equation, provide the inputs, and calculate the outputs. Before the company invests on the final product, the have agreed on developing a proof-of-concept first. The idea is that your solution will ‘prove’ that a better solution is possible. From your solution, it is hoped that the requirements from Build Brothers can be extracted and a full software development project can be started.
Your proof-of-concept should include at least 10 diverse functions from the above list to showcase the ability of software in streamlining calculations. Your C program must be modular with a menu system in the main function so that a user can call any of them with providing the inputs required. One of the options in the menu should be to exit the program.
2. Customer management system in Matlab (15 marks)
Build Sisters is a small builder in Australia that focus on building sheds and villas in rural areas. They are willing to develop a small software to manage their employees, customers, and services. They have made this decision to reduce their operational cost, have a better understanding of their customer base, and improve the quality of their services. They think that these can be achieved by an automated system to store and retrieve the details of employees, customers, services, and inspection bookings. Before the company invests on the final product, the have agreed on developing a proof-of-concept first. The idea is that your solution will ‘prove’ that a better solution is possible. From your solution, it is hoped that the requirements from Build Sisters can be extracted and a full software development project can be started.
Your proof-of-concept should include at least the following functional requirements:
· The user adds a new employee
· The user adds a new customer
· The user adds a new property
· The user adds a new inspection booking
· The user assigns a customer and a property to a booking
· The user visualizes/prints the list of all bookings
· The user visualizes/prints the list of all customers
· The user visualizes/prints the list of all properties
· The user visualize the distribution of prices all properties
The functional requirements, if proved by your solution, will be supplemented by non-functional requirements in the subsequent requirements gathering exercise. Some of these may be the presentation of options in a graphical user interface, printed reports on letterheads, security or other options that do not matter for the present proof of concept.
In presenting your solution, it is expected that it will compile and run. You should give the user series of options to choose from, if they are to interact with your program. For example, choosing option ‘1’ may be the route the user will take to enter a new employee. Choosing option ‘2’ may be the route to allowing the user to add a new customer and so on. Alternatively, you can use a GUI menu system in Matlab.
Hints:
· Before you start programming, you have to identify the main entities that you need to define since you will have to work with a large amount of information
· You will need a minimum of four entities (employee, customer, property, and booking) and can use variables and arrays to store data. For instance, you can store first name, last name, age, address, mobile, and email for a customer in your program.
· You do not need to store ay of data in files since this will be implemented after the approval of the proof-of concept.
· Your main entities or functions will be the one that allow you to showcase the capabilities of the proof-of-concept. As discussed above, the user should be allowed to have a menu to choose the options.
General Requirements – Coding conventions/practices
Marks are awarded for good coding conventions/practices such as:
• Consistent use of spaces or tabs for indentation. We recommend four spaces for every level of indentation. Be careful to not mix tabs and spaces. Each “block” of code should be indented one level.
• Keeping line lengths of code to a reasonable maximum such that they fit in the default terminal screen width (80 characters wide).
• Commenting
• Complete author identification on all files.
• Appropriate variable names.