
Software Engineering
5186
£75(approx. $101)
- Posted:
- Proposals: 1
- Remote
- #132956
- Archived
Description
Experience Level: Intermediate
Task
A Statement of Client Software Requirements
A client wishes to model the economic relationships between producers and consumers by
examining the interactions between them through several time cycles. The model should include
several hundred consumers and ten producers. The client has some questions he wishes the model
to address:
• What happens if the consumer wage remains constant and if it increases by a small random
value (<5%) every 100 cycles?
• Does the number of factories owned by each producer reach a stable number?
Producers manufacture products using factories. Factories are capable of producing several different
products, although each factory can only produce one product at a time. If a producer wishes to
manufacture more products during a cycle, it must build new factories. Each factory has a cost per
cycle that represents the running costs of that factory, as well as a one-off construction cost.
Each producer starts off with one factory. A producer receives cash to run the factories from the
products that are sold to consumers. If the producer runs out of cash, it cannot manufacture any
more products and must be declared bankrupt. At this point the simulation must end.
There are five different products available in this model, and each can be constructed without
needing raw materials. Different products take different lengths of time to produce. A factory may
take several cycles to produce some of the products. Each product should specify what proportion
of the final product may be completed within a cycle. Each factory has an efficiency value which is
used to qualify how much of the product is completed each cycle. If the modifier is greater than
one, it is able to produce a larger proportion of the product each cycle; if it less than one, it is able
to produce less.
Each product has a cost. A product's cost will increase by a small random value (<5%) every 10
cycles. A consumer will decide which producer to buy from based on their product prices.
A consumer can order products from a producer, at a price determined by the producer. The price
should reflect the cost to manufacture plus a profit margin. Each producer should decide its own
profit margin per product. The particular product should be chosen at random by the user. A
consumer can only order as many products as it has cash to pay for them, and should pay the
producer when the order is placed. A consumer receives extra cash at the end of each cycle (salary).
The customer's orders may have to wait in a queue until the producer has sufficient capacity to
manufacture the products. If the number of orders exceeds a threshold value, the producer must
either accept no more orders, or build a new factory. If a factory is unused for more that 50 cycles,
it must be demolished. If an idle factory is directed to manufacture a product, the producer must pay
a small start-up cost.
The output from the program should show the following data from each cycle:
• number of orders per producer
• number of orders completed per producer
• number of factories per producer
• number of completed orders per factory (per producer)
• cash reserves per producer
• average cash reserves for all the consumers
The following example values can be used for initial values, but can be changed as required:
Number of customers: 1000
Number of producers: 15
Initial cash of each producer: 10000 units (+/- 10%)
Initial cash of each customer: 150 units (+/- 10%)
Manufacturing costs for each product: Product 1, 2, 3: 5 units; Product 4, 5: 7 units
Length of time to manufacture a product: Products 1, 2, 3: 5 cycles; Product 4, 5: 7 cycles
Initial factory running cost: 50 units/cycle
Idle factory start-up cost: 15 units
Factory construction cost: 1500 units
Specific requirements:
I need to write a program with ideally 4 classes or more. For Producer, Consumer, Product and Factory.
The main user will only input how many cycles he/she would like to monitor the relationship between the consumers and producers. The main user will also input whether he/she would like the consumer wages to change or not.
I only want a console output, not a GUI.
Deliverables - Executable files that can be compiled and run in Visual Studio 2010 + Test harness
A Statement of Client Software Requirements
A client wishes to model the economic relationships between producers and consumers by
examining the interactions between them through several time cycles. The model should include
several hundred consumers and ten producers. The client has some questions he wishes the model
to address:
• What happens if the consumer wage remains constant and if it increases by a small random
value (<5%) every 100 cycles?
• Does the number of factories owned by each producer reach a stable number?
Producers manufacture products using factories. Factories are capable of producing several different
products, although each factory can only produce one product at a time. If a producer wishes to
manufacture more products during a cycle, it must build new factories. Each factory has a cost per
cycle that represents the running costs of that factory, as well as a one-off construction cost.
Each producer starts off with one factory. A producer receives cash to run the factories from the
products that are sold to consumers. If the producer runs out of cash, it cannot manufacture any
more products and must be declared bankrupt. At this point the simulation must end.
There are five different products available in this model, and each can be constructed without
needing raw materials. Different products take different lengths of time to produce. A factory may
take several cycles to produce some of the products. Each product should specify what proportion
of the final product may be completed within a cycle. Each factory has an efficiency value which is
used to qualify how much of the product is completed each cycle. If the modifier is greater than
one, it is able to produce a larger proportion of the product each cycle; if it less than one, it is able
to produce less.
Each product has a cost. A product's cost will increase by a small random value (<5%) every 10
cycles. A consumer will decide which producer to buy from based on their product prices.
A consumer can order products from a producer, at a price determined by the producer. The price
should reflect the cost to manufacture plus a profit margin. Each producer should decide its own
profit margin per product. The particular product should be chosen at random by the user. A
consumer can only order as many products as it has cash to pay for them, and should pay the
producer when the order is placed. A consumer receives extra cash at the end of each cycle (salary).
The customer's orders may have to wait in a queue until the producer has sufficient capacity to
manufacture the products. If the number of orders exceeds a threshold value, the producer must
either accept no more orders, or build a new factory. If a factory is unused for more that 50 cycles,
it must be demolished. If an idle factory is directed to manufacture a product, the producer must pay
a small start-up cost.
The output from the program should show the following data from each cycle:
• number of orders per producer
• number of orders completed per producer
• number of factories per producer
• number of completed orders per factory (per producer)
• cash reserves per producer
• average cash reserves for all the consumers
The following example values can be used for initial values, but can be changed as required:
Number of customers: 1000
Number of producers: 15
Initial cash of each producer: 10000 units (+/- 10%)
Initial cash of each customer: 150 units (+/- 10%)
Manufacturing costs for each product: Product 1, 2, 3: 5 units; Product 4, 5: 7 units
Length of time to manufacture a product: Products 1, 2, 3: 5 cycles; Product 4, 5: 7 cycles
Initial factory running cost: 50 units/cycle
Idle factory start-up cost: 15 units
Factory construction cost: 1500 units
Specific requirements:
I need to write a program with ideally 4 classes or more. For Producer, Consumer, Product and Factory.
The main user will only input how many cycles he/she would like to monitor the relationship between the consumers and producers. The main user will also input whether he/she would like the consumer wages to change or not.
I only want a console output, not a GUI.
Deliverables - Executable files that can be compiled and run in Visual Studio 2010 + Test harness
Mars J.
0% (0)Projects Completed
1
Freelancers worked with
1
Projects awarded
100%
Last project
17 Apr 2012
United Kingdom
New Proposal
Login to your account and send a proposal now to get this project.
Log inClarification Board Ask a Question
-
There are no clarification messages.
We collect cookies to enable the proper functioning and security of our website, and to enhance your experience. By clicking on 'Accept All Cookies', you consent to the use of these cookies. You can change your 'Cookies Settings' at any time. For more information, please read ourCookie Policy
Cookie Settings
Accept All Cookies