Hello, dear friend, you can consult us at any time if you have any questions, add WeChat: THEend8_
1004GRC
Computing and Programming
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
Page 3 of 4
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.
Penalties
Marks will be deducted for the following:
• Compile errors and warnings.
• Fatal run-time errors such as infinite loops, etc.
• Missing files (affected components get zero marks).
• Files incorrectly named
• Not identifying yourself in all files submitted
• Programs with compile errors that cannot be easily corrected by the marker will result in a maximum possible score of 30% of the total available
marks for the assignment.
Page 4 of 4
Marking rubric
Assessment Attributes
Fail
(Yet to achieve
minimum standard)
0-49%
Pass
(Functional)
50-64%
Credit
(Proficient)
65-74%
Distinction
(Advanced)
75-84%
High Distinction
(Exceptional)
85-100%
Completeness of
Solution
30%
The solution presented
satisfies one or more of
the requirements but is
not original, is hard to
follow or is otherwise not
logical in its presentation.
The solution presented may
satisfy one or more of the
requirements but is not
logical, may be difficult to
follow or otherwise may
not produce the desired
results, despite an attempt
being made
A good solution that
satisfies a number of
requirements of the
brief. The solution is
original and presented in
a logical manner.
A very good solution that
satisfies nearly all
requirements. The solution
is original and is presented
in a logical manner that may
include multiple files.
An expert level solution that
satisfies the requirements in
the brief fully and wholly.
The
solution is original,
thoughtful and presented in
a logical manner that may
include multiple files.
Incorporation of
Activities and Learning
from the Subject
40%
Little or no awareness of
the subject matter has
been demonstrated in the
presentation of the
solution.
Little awareness of subject
material can be seen in the
solution presented. More
work is required to
demonstrate learning
throughout the subject.
An awareness of the
subject matter can be
seen. More work is
required to master the
art of programming and
in automating semi-complex
tasks.
A concise demonstration of
learning throughout the
subject has been
demonstrated in the
solution presented. Some
commentary may be present
to indicate which aspects
have been demonstrated.
Full demonstration of
learning from the subject
can be seen in the
presentation of the solution.
Includes
commentary and highlights the specific elements that
have been incorporated. Compilation and Execution of Program
30%
There are several compilation errors, that
originate in syntactical and linking errors and that prevent the program from
compiling and running. Some minor compilation errors prevent compilation and can be borne from syntactical or linking errors.
Some minor attention to these would result in simple changes that would allow
the program to compile. The program compiles and links correctly. Upon testing, the
program has a run-time error and one or more logic errors in its execution.
The program compiles and links correctly. Upon testing,
the program has a run-time error or has one or more logic errors in the way it has attempted to solve the
problem in the brief. The program compiles and links correctly. Upon
testing, no run-time or logic errors can be detected in the way the program was designed.