Hello, dear friend, you can consult us at any time if you have any questions, add WeChat: THEend8_
You are required to apply the concepts of data structures and algorithms that you have learned in this course to design, analyze, implement, test, document, and compare in detail two (2) systems for searching, inserting, deleting key-value pair entries for use in In-Vehicle Information Systems with significantly different designs described in the sections below.
1.1. System Characteristics, Requirements, and Constraints for both of the two Systems for Searching, Inserting, Deleting Key-Value Pair Entries for Use in In- Vehicle Information Systems with significantly different designs
(a) Each entry in the system consists of a key-value pair (k, v), where k is the key and v is the value.
(b) The key for each entry is unique, that is, two different entries will not have a same key. The key for each entry is a character string. No advance knowledge can be assumed about other characteristics of the keys.
(c) The number of entries in the system can be very large, but the system can still fit into main memory.
(d) Search, insertion and deletion operations on the entries in the system are equally likely.
(e) The primary system performance criteria is speed, that is, under normal circumstances the search, insertion, and deletion operations should be as fast as possible. However, since this system is to be used in In-Vehicle Information Systems, the system is also expected to be robust in the sense that one should still be able to guarantee good, predictable, and verifiable performance of the system even under worst-case scenarios, possibly even including when under malicious attacks.
1.2. Requirements regarding the design, analysis, implementation, testing, documentation, and comparison in detail of the software in the two Systems for Searching, Inserting, Deleting Key-Value Pair Entries for Use in In-Vehicle Information Systems with significantly different designs
(a) When designing the software to implement the two High Performance, Robust Embedded Automotive Information Systems with significantly different designs, you must apply best practice software engineering principles and carefully choose appropriate data structures and methods. Furthermore, in your report/documentation you must justify and explain why you chose each particular data structure and method.
(b) You must analyze the run times and space usage of your methods in the report.
(c) You must describe in detail any problems or difficulties that you had encountered, and how you solved or were able to overcome those problems or difficulties in the report.
(d) Additional Requirements:
(d1) You must make sure that your code has very detailed comments.
(d2) You must make sure that your code compiles correctly.
(d3) You must make sure that your code does not generate non-recoverable exceptions.
(d4) You must make sure that your code is able to handle incorrect input.
Failure to satisfy all the requirements above will result in a low mark for the assignment.
2. Platform on Which the Two Systems for Searching, Inserting, Deleting Key-Value Pair Entries for Use in In-Vehicle Information Systems with significantly different designs are to be Implemented
The programs should to be implemented using the Java programming language and you should make sure that the TAs/markers will be able to run them using the system at York.
3. What to Hand In
Each group is required to submit an electronic copy of the following to the 2021N W21 eClass folder titled “2011N W21 Assignment 3”:
1. A written report that identifies and addresses all the important aspects and issues in the design, analysis, implementation, testing, and documentation of the software for the problem described above. The required format of the submitted written report is PDF.
2. The Java source programs.
3. A “Test_output” file containing the output of any testing your group has done.
4. A “README” file explaining how to compile and run your group’s program.
4. Evaluation of the Assignment
4.1. The report part of your assignment (70%) will be evaluated according to:
(a) How well you have satisfied the requirements specified in Section 1.1 and 1.2 above.
(b) How well you have explained the design and implementation of your systems and how well you have justified your design decisions.
(c) The quality of your design.
(d) How well you have designed and explained the testing.
(e) The clarity, and readability of the report.
4.2. The program and testing part of your assignment (30%) will be evaluated according to:
(a) The quality of the design and implementation of your programs. (b) The quality of the testing of your programs.
(c) Whether your programs satisfy the Additional Requirements in section 1.2 (d), (d1)- (d4) above.
5. Notes
Please note that the requirements specified in Section 1. Description of the Assignment above, are the minimum requirements that must be satisfied by your assignment. Obviously, there are many other possible details of the two systems for searching, inserting, deleting key-value pair entries for use in In-Vehicle Information Systems with significantly different designs that have been left unspecified. It is your responsibility to make appropriate design, analysis, implementation, testing, and documentation choices concerning the unspecified details of the two systems for searching, inserting, deleting key-value pair entries for use in In-Vehicle Information Systems with significantly different designs, and justify those decisions in your report.
The possible range of functionalities and characteristics of In-Vehicle Information Systems are described in general in the provided article by C. Harvey et. al., “In- Vehicle Information Systems to Meet the Needs of Drivers,” listed in Section 6. However, your main design and implementation decisions should be primarily
guided by Section 1.1. System Characteristics, Requirements, and Constraints for both of the two Systems for Searching, Inserting, Deleting Key-Value Pair Entries for Use in In-Vehicle Information Systems with significantly different designs.
Please also note that the due date of this assignment, Tuesday April 13, 2021, falls on the Last Day to Hand In Term Work according to the University Regulations. Thus it will not be possible to postpone the due date of this assignment. So please plan carefully in advance in order to make sure that you will be able to complete this assignment before the posted due date.