Coursework Task
The aim of the coursework is to implement a distributed (client server) system for a control system, which conforms with the following requirements. There is a car park of known capacity (say 20). The entry and exit to the park take place when cars enter and leave via the barriers. The park runs the distributed entry and exit barriers. These communicate via unreliable wireless network that is not always delivering the right packets or data; some data may be lost, delayed, or garbled. Develop a distributed system that simulates the car park that realizes its operations of entry and exit and communication between them.
The project implementation must demonstrate the following programming principles and practices, which contribute directly to the final grade:
Modularity using design patterns
JUnit based testing of the application
Fault tolerance
Component based development
Assessment guidelines
Admin details. The assessment of the project report is based on the overall technical quality, relevancy and completeness, contributions and the details in supporting your solution and implementation. While the assessment of the project implementation is purely based on the correct implementation of technical requirements (as described in Coursework Task) and its adherence to various principles (as stated in Coursework Task).
For project implementation, breakdown of the marks is as follows:
The project should demonstrate the following programming principles and practices:
Connection and communication [10 marks]
A system should be correctly formed connecting clients that can communicate to server without any
System state maintenance [10 marks]
The state of the system (connected clients and server) must be maintained This includes recording of the messages exchanged among them with timestamps.
Fail safe [10 marks]
A correct implementation to automatically save state of the system, in case server terminates When the server is re-run it should resume the state just before its abnormal termination.
Use of design patterns [10 marks]
Adequate use of various design patterns in the implementation of the
Fault tolerance [10 marks]
Adequate strategy implementation for the fault tolerance. In particular, when a client terminates
JUnit based testing of the application [10 marks]
Desired testing for implementation of all of the main
Use of component-based development [10 marks]
Adequate design and development of components in the implementation. For project report, you are asked to adhere ALL of the following rules:
The report should be written using Arial font size 11.
The paper length should not exceed 5 pages double-column according to the template (loosely based on the IEEE paper format), which can be seen on the next page. This is an upper limit to give you the flexibility to write an appropriate
The table of content of the report should include the following sections:
Introduction [10%]
This section should be a brief explanation to what the coursework is about, what you did for the coursework, and how your report is
Design/Implementation [40%]
This section should explain how you implemented each technical You should also brief the environment did you used for the implementation. You may use visuals (e.g., UML) to describe the design of implementation. Importantly, you should justify the implementation choices.
Analysis and Critical Discussion [30%]
This section should explain the results for running the code of all technical tasks. You should also explain how you achieved modularity, fault tolerance, testing and through which components. Importantly, you should state limitations or weaknesses of your implementation
Conclusions [10%]
The conclusion based on analysis and
Presentation style [10%]
The presentation includes structure and contents of the report. The contents of the report should be adequate supported by reasonable
Appendix [optional, 0%]
This can be used to give more source code, examples and figures. There is no page limit for the appendix. However, please note that the appendix is not marked, although the marker(s) may refer to it to understand more about what you have
Note: There is a 20% penalty if the paper does not abide by all above rules.
Assessment criteria for technical task (i.e., implementation)
The following criteria will be used when marking the project implementation
Grade |
Description |
Implementation: [100%] |
|
0%-39%: |
Inadequate or missing implementation of the main given technical requirements. Inappropriate or missing implementation of all of the required features, i.e., modularity, fault tolerance and testing. |
40%-49%: |
Inadequate or missing implementation of most of the given technical requirements. Inappropriate or missing implementation of most of the required features, i.e., modularity, fault tolerance and testing. |
50%-59%: |
Inadequate or missing implementation of some of the given technical requirements including some key requirements. Inappropriate or missing implementation of some of the required features, i.e., modularity, fault tolerance and testing. |
60%-69%: |
Inadequate or missing implementation of couple of the given technical requirements but that does not include key requirements. Inappropriate or missing implementation of one of the required features, i.e., modularity, fault tolerance and testing. |
70%-79%: |
Adequate implementation of all of the given technical requirements including the key requirements. Appropriate implementation of all of the required features, i.e., modularity, fault tolerance and testing for at most couple of modules. |
80%-100%: |
Outstanding implementation of all of the given technical requirements including the key requirements. Outstanding implementation of all of the required features, i.e., modularity, fault tolerance and testing for more than one modules. |
Assessment criteria for project documentation (i.e., report)
The following criteria will be used when marking the project report
Grade |
Description |
Introduction: [10%] |
|
0%-39%: |
Lack of coherent explanation of the structure of the report and design of the implementation. |
40%-49%: |
Inadequate explanation of the structure of the report and design of the implementation. |
50%-59%: |
Good explanation of the structure of the report and design of the implementation with some missing details and/or with some inconsistencies. |
60%-69%: |
Good explanation of the structure of the report and design of the implementation with few missing details and/or with few inconsistencies. |
70%-79%: |
Very good explanation of the structure of the report and design of the implementation with no missing details and/or inconsistencies. |
80%-100%: |
Outstanding explanation of the structure of the report and design of the implementation with no missing details and/or inconsistencies. Justified description of the report structure and design technical details. |
Design/implementation: [40%] |
|
0%-39%: |
Little or no explanation of technical details of the implementation |
40%-49%: |
Inadequate explanation of technical details of the implementation |
50%-59%: |
Good explanation of technical details of the implementation |
60%-69%: |
Good explanation of technical details of the implementation based on logical structure with justification of some implementation choices |
70%-79%: |
Very good explanation of technical details of the implementation based on logical structure with justification of most of the implementation choices |
80%-100%: |
Outstanding explanation of technical details of the implementation based on logical structure with justification of all of the implementation choices |
Analysis and Critical Discussion: [30%] |
|
0%-39%: |
Little to no evidence of analysis. No critical discussion or limitations of the implementation. |
40%-49%: |
Little evidence of analysis. Hardly any critical discussion or limitations of the topic. |
50%-59%: |
Evidence of some analysis. Demonstrated basic technical awareness in critical discussion or limitations of the implementation choices. |
60%-69%: |
Good evidence of analysis. Satisfactory critical discussion and limitations of the implementation choices. |
70%-79%: |
Extensive evidence of analysis. Excellent critical discussion and limitations of the implementation choices. |
80%-100%: |
Extensive evidence of analysis. Excellent critical discussion and limitations of the implementation choices. Demonstrated innovation in design and implementation choices. |
Conclusions: [10%] |
|
0%-39%: |
Poor or missing conclusion of the report. |
40%-49%: |
Limited conclusion of the report. |
50%-59%: |
Almost complete conclusion of the report and what it has been achieved in terms of analysis and discussion. |
60%-69%: |
Complete conclusion of the report and what it has been achieved in terms of analysis and discussion. But it seems more like reporting the various points rather than having some critical view. |
70%-79%: |
Very good conclusion of the paper. Clear link between analysis and critical view of the implementation. |
80%-100%: |
Excellent conclusion of the paper. Demonstrate thoroughness in linking analysis and discussion with what is implemented. Carefully crafted critical view of the implementation. |
Presentation style: [10%] |
|
0%-39%: |
Very poor presentation and structure. Unsatisfactory presentation: significant grammatical or spelling errors. Writing style lacking any coherence. Missing references. |
40%-49%: |
Poor presentation and structure. Unsatisfactory presentation: significant grammatical or spelling errors. Writing style difficult to follow. Limited attempt at providing references |
50%-59%: |
Orderly presentation and structure. Adequately presented: some grammatical and spelling errors. Writing style sometimes awkward. Inconsistent referencing and bibliographic formatting. |
60%-69%: |
Clear presentation, logically structured, with few shortcomings. Well presented: minimal significant grammatical or spelling errors if any. Written in a logical style. Fairly consistent referencing and bibliographic formatting. |
70%-79%: |
Good presentation, logically structured. Very well presented: minimal grammatical or spelling errors if any. Written in a fluent and engaging style. Consistent referencing and bibliographic formatting. |
80%-100%: |
Excellent presentation, logically structured, and well explained. Exceptionally well presented: no grammatical or spelling errors. Written in a fluent and engaging style. Exemplary and consistent referencing and bibliographic formatting |
DescriptionIn this final assignment, the students will demonstrate their ability to apply two ma
Path finding involves finding a path from A to B. Typically we want the path to have certain properties,such as being the shortest or to avoid going t
Develop a program to emulate a purchase transaction at a retail store. Thisprogram will have two classes, a LineItem class and a Transaction class. Th
1 Project 1 Introduction - the SeaPort Project series For this set of projects for the course, we wish to simulate some of the aspects of a number of
1 Project 2 Introduction - the SeaPort Project series For this set of projects for the course, we wish to simulate some of the aspects of a number of