COMPUTING SCIENCE 201 – Practical programming methodology Lab Exercise 7- Modular design, Gitlab
Due: as indicated on Blackboard
Weight: 2% of the final mark
Type: Electronic submit your files using eSubmit
Work: TEAM of 3 students – teams have been created on Blackboard
- To apply the principles of modular design
- To get hands-on experience with applying software design life cycle
- To get familiar with using Gitlab
- Properly acknowledge (add a note and/or hyperlink and/or comment) any help or resource you used.
This exercise is to be done on GitLab. You must create a project on GitLab for this exercise and add all team members associated with the project.
1) You have to develop a C project to satisfy the following requirements.
The Simple Single Stock Exchange company (SSTE) is a small company which trades only one stock. They can only have up to 100 clients and can deal with at most 500 outstanding orders at any time. You will develop the part of the system that keeps track of clients and outstanding orders.
Orders can be sold or bought, and every order is of the form Buy/Sell n shares at price p for client clid. Orders have unique order ID.
Orders can only be executed if a opposite order (sell for buy and buy for sell) with the same number of shares is found. Sell orders must be executed at the required price. Buy orders can be executed at any price up to the required price. Orders are executed when they are added or when a clearing order (opposite order which allows the current to be executed) is added. Note that you will not need to implement that functionality.
SSTE keeps records of all its clients. Each client has a record specifying name, client ID, account cash balance and number of shares. Clients may be added and removed from the records at any time, if/when desired, subject to the constraint of no more than 100 clients.
SSTE keeps track of outstanding orders. Financial regulations require SSTE to carefully check every order, before placing it. Buying orders must be checked against balance and selling orders must be checked against number of shares.
For this task, you must write a C project (containing modules of your own design) to simulate the above (partial) activity of SSTE. All requirements must be addressed.
- You must add some form of user interface application to allow the required actions.
- You must add a design document explaining/justifying all your design.
- You must add a document showing work distribution among team members.
- You must add a makefile which will produce the desired executables.
- You may use global variables in this assignment.
Submit a tarball named lab7.tar.gz which contains all the files you created for this assignment. All submissions must be through eSubmit.
Correct submission .5 Design document 2.5 Team work document 1 Module design 3 Module/user interface implementation 2
Makefile 1 Effective use of Gitlab 3 TOTAL 13