辅导案例-ECM1400

欢迎使用51辅导,51作业君孵化低价透明的学长辅导平台,服务保持优质,平均费用压低50%以上! 51fudao.top
ECM1400 Programming
Continuous Assessment 3
Date set: 1st November, 2019
Hand-in date: 11:59am Friday 6th December, 2019
This continuous assessment (CA) comprises 30% of the overall module assessment.
Note that both paper (BART) and electronic submissions are required and instructions are provided
at the end of the specification. Students have until 8th November to raise any questions regarding
the specification either in lectures or by email. Up to this date the module leader may make
adaptations to clarify the assessment. After this date the specification will not change.
This CA is designed to test the programming concepts that we will cover in the entire module.
This assignment will require the application of fundamental programming constructs, control flow,
data structures and design patterns, to solve real world problems with an industry stakeholder.
Specification
Barnaby’s Brewhouse are an organic microbrewery based in Totnes Devon. They are curretly
undergoing an expansion to increase their production facilities and as part of their expansion
are looking to develop a system to predict demand and help montior and schedule their brewing
processes.
Brewing beer is one of the oldest biochemical processes in the world. The production process has
been refined over thousands of years and a modern brewing process requires precision timing and
careful planning to consistently produce a high quality product.
In this assignment you will merge static information, such as an equipment list, with time series
information, such as sales over a given period of time, along with current state information, such as
the production stage of each batch, to produce a system that can be used to monitor and augment
the planning decisions of the brewhouse.
Following a requirement gathering exercise the following features were agreed as the requirements
for the system.
• Sales predictions
Demand for particular types of beer varies from week to week and month to month. Due to
the lead time taken to produce each batch of beer, up to 10 weeks, it usually isn’t pos-
sible to produce beer after orders are received so it is important to be able to predict
ECM1400 Programming Coursework Assessment 3
demand for beers in advance. 12 months of sales have been provided in the file named
Barnabys sales fabriacted data.csv on ELE. Customer information has been fabricated
to avoid privacy concerns.
Write a module to read the file structure and load the data into a suitable data structure
in Python. Interpret the data by calculating the average growth rate, the ratio of sales for
di↵erent beers and use these values to predict sales for a given week or month in the future.
[10 marks]
• Brew process monitoring and inventory management
Brewing beer is all about timing. The brewing process involves four stages that often need
to be carried out on di↵erent equipment. It is critically important to move produce between
the stages at the right time and to keep track of what produce is where. Barnaby’s produces
three main beers:
1. Pilsner
2. Dunkel
3. Red Helles
There are four stages to the brewing process, two of which have to be completed on tracked
equipment:
1. Hot brew - this stage cooks the ingredients ready before fermentation. It is done on a
single piece of equipment and can be done within a few hours.
2. Fermentation - this stage takes on average four weeks and needs to be done in a tank
with fermenter capability.
3. conditioning and carbonation - this stage takes up to two weeks and needs to be done
in a tank with conditioning capability.
4. bottling and labelling - this stage takes a corresponding number of hours to the volume
of the batch and doesn’t require any equipment.
Barnaby’s currently has 9 tanks with following capacity and capability:
Name Volume (L) Capability
Albert 1000 Fermenter/conditioner
Brigadier 800 Fermenter/conditioner
Camilla 1000 Fermenter/conditioner
Dylon 800 Fermenter/conditioner
Emily 1000 Fermenter/conditioner
Florence 800 Fermenter/conditioner
Gertrude 680 Conditioner
Harry 680 Conditioner
R2D2 800 Fermenter
Write a Python module with the relevant data structures that captures the information
required to track brewing processes on the equipment listed, for the beer listed, recording
how long each batch has been at each production stage in each piece of equipment. Finally
the module should also keep a record of the number of bottles of each beer currently bottled
and ready for delivery.
[10 marks]
2
ECM1400 Programming Coursework Assessment 3
• Planning algorithm
Barnaby’s brewhouse produce a range of beers and have limited facilities. Write an algorithm
that decides what beer should be produced next given the available facilities based on the
predicted demand.
[10 marks]
• Project delivery
This system is designed to be used in the brewery so reliability, clarity and simplicity are key.
Add a basic interface to enable an operator to ’upload’ new sales data, input new batches,
change the production phase of existing batches and ’register’ and ’dispatch’ customer orders.
Include a feature to recommend the next beer to brew when a tank becomes empty.
This software has a stakeholder/client that will use the software so requires a ’handover’. The
source code should be easy to navigate be provided with a clear readme file explaining how
the system can be deployed and used.
[10 marks]
You should carefully follow the functionality described. Note the implementation requirements
intentionally do not include implementation details and you should be prepared to explain how
you have adopted particular design patterns and made design decisions to achieve given features.
You should also provide full handover documentation so that the software can be taken over by the
stakeholder without further consultation from the developer (you).
3
ECM1400 Programming Coursework Assessment 3
Submitting your work
The CA requires demonstration and paper and electronic submissions.
Paper You should submit a paper copy of your formatted source code and a single screenshot
of your user interface to the Harrison Student Services Oce in the foyer of the Harrison
Building by the deadline of 11:59am Friday 6th December, 2019.
Paper submissions should have the BART cover sheet securely attached to the front and
should be anonymous (contain your student rather than your name).
Electronic You should submit your source code and any supporting files via the electronic submis-
sion system at http://empslocal.ex.ac.uk/submit/. Use the category containing ECM1400
and CA3. Upload a compressed version of your files as a single file, use the zip compression
format.
After you click proceed you will be sent an email by the submit system asking you to confirm
your submission by following a link. Your submission is not confirmed until you do this. It
is best to do it straightaway, but there is a few hours leeway after the deadline has passed.
It is also possible to unsubmit and resubmit electronic coursework — follow the instructions
on the submission website.
Both paper and online submissions must be completed by the deadline else your submissions
will be considered late and your mark will be capped at 40%.
4
51作业君

Email:51zuoyejun

@gmail.com

添加客服微信: abby12468