Question: Introduction The coursework assignment for this module requires you to complete two tasks outlined in this document. The first task, A. Use case diagram [30%],
Introduction The coursework assignment for this module requires you to complete two tasks outlined in this document. The first task, A. Use case diagram [30%], will ask you to understand the requirements of a system, described by a scenario, and define its key functions and interactions with several stakeholders as a use case diagram. The second task, B. Programming and Unit Testing [70%], will ask you to implement a class with several methods and provide unit testing, using JUnit, for one of the methods. The topics involved in this 1st Coursework are delivered, through lectures and lab sessions, as follows: Java programming basics (FoP semester 1) API on strings (week 1) Text I/O files (week 2) Exceptions (week 3) UML Use case diagrams (week 4) Unit testing & Junit (week 5) Carefully read the coursework assignment, pay attention to: Deadlines (handing in: Friday, week 7; Oral presentation: week 8) The format of each of the deliverables (PDF, zip archive) associated with tasks A and B Each deliverable name Where you must upload your submission Please ensure you follow the instructions provided precisely to avoid having marks deducted. A. Use case diagram [30%] Scenario. Every year, the Bank of Dave allows citizens to select from a number of possible loan schemes for small businesses. The schemes are decided and coordinated by a staff member, the Loan Manager. Each loan is then supervised by a staff member, called the Risk and Compliance Officer, who offers mentorship and advice on project management and risk mitigation during the first year of the project. A web-based banking portal aimed at handling the process of managing loans has the functions described below. The Loan Manager (LM) is able to add new customers to the banks database; and update their details. LM can also add new employees (e.g., Risk and Compliance Officers) to their team; and update their details. LM then manages an automatic allocation of loan schemes to customers, based on their credit score and banking history. When there are no available schemes that match a customers profile, a suitable error message is displayed.
Every customer is able to view a subset of schemes that are returned by the system as options that match their credit profile. Risk and Compliance Officers are able to view the selected scheme for each customer. They can also view the customers allocated to them for monitoring and mentorship. Questions A.1. Define the concepts of actor and use case. [5%] A.2. Identify the actors and list them. [5%] A.3. Draw a use case diagram showing the use cases, the actors, and their relationships, as described by the scenario. [20%] The answers to these questions must be provided in a pdf file where: (i) the first line of this file contains your full name, followed by UoB number; (ii) the second line is Use case diagram; then (iii) the answers to the above questions. Each answer is preceded by the question. B. Programming and Unit Testing [70%] The Association for Women in Computing, at the University of Bradford, registered in 2021, 2022 and 2023 maintains a text file containing the names of the societys officers (e.g., Treasurer, Secretary, etc.). For each student, a line in the file awc.txt stores the UoB number, full name, and role of the AWC member, separated by a space. The first two digits of the UoB number must be one of 21, 22 or 23. You are asked to implement a class, called YearlyOfficers, that will reorganise the records of the awc.txt file into three text files, awc21.txt, awc22.txt and awc23.txt, containing students from awc.txt registered with the Association in 2021, 2022 and 2023, respectively. YearlyOfficers class will contain the following methods: (i) openFiles() that will open the above mentioned files (awc.txt, awc21.txt, awc22.txt and awc23.txt); (ii) separateOfficers() that will read from the input text file, record by record (line by line), writing into the appropriate output text file (officers registered in 2021, 2022 and 2023 will be stored in awc21.txt, awc22.txt and awc23.txt, respectively), and also counting the number of officers in each output file; Note 1. Follow the instructions to avoid having marks deducted. Marking scheme A.1. Define the concepts of actor and use case. Correct definition [5%] A.2. Identify the actors and list them. All the actors presented by the scenario [5%] A.3. Draw a use case diagram showing the use cases, the actors, and their relationships, as described by the scenario. Correct and complete set of actors and use cases [12%]; correct relationships [8%]
(iii) closeFiles() closing the above mentioned files and displaying the number of officers in each of the awc21.txt, awc22.txt and awc23.txt files. It is expected that appropriate API handling strings will be used in connection with UoB numbers and adequate Text I/O operations. When the first two digits of the UoB number are not in the specified range then an exception is thrown. Questions B.1. Implement the YearlyOfficers class and show by running it that it separates the awc.txt file by using the above-mentioned methods. [30%] B.2. Apply unit testing, using JUnit, to the separateOfficers() method. Identify a minimal test set, as a set of records in testOfficers.txt for testing this method and insert it, as comment, at the beginning of the testing method. The output files will be testOfficers21.txt, testOfficers22.txt and testOfficers23.txt. [20%] B.3. Oral presentation of the implementation and unit testing. Apart from the Java source code and JUnit, you should prepare a awc.txt file, which includes at least two students per each year and 10 overall, and testOfficers.txt file with minimum number of records, as they appear at the beginning of the unit testing code. [20%] The answers to questions B.1 and B.2 will be provided in a pdf file, where: (i) the first line contains your full name, followed by UoB number, as Java comment; then (ii) the Java solution to B.1 and unit testing code and testing file, as mentioned above (B.2). For the oral presentation on 23rd March (B.3), you should have prepared: (i) the Java code (B.1) and awc.txt file; (ii) JUnit code and testOfficers.txt. These must be the same with the java code and JUnit testing code saved in the pdf file, as answers to questions B.1 and B.2. Note 2. Follow the instructions precisely to avoid having marks deducted. Note 3. The answers for sections A (Use Case Diagram) and B (Programming and Unit Testing) must be merged into one single pdf file, with contents of the pdf file associated with A first, followed by Section B. The final pdf file is Name_Coursework1.pdf, where Name is your full name, as it appears on the first line of the file. For example, if on the first line it appears John Smith (followed by UoB) then the file Name is JohnSmith_Coursework1.pdf Note 4. The file Name_Coursework1.pdf must be uploaded onto Canvas by the given deadline.
Marking scheme B.1. Running code [10%]; adequate string APIs, text I/O methods, exceptions [10%]; correct results and comments regarding the APIs, text I/O methods and exceptions [10%] B.2. Correct unit testing approach (correct testing assertion) [7%]; covering all the cases [7%]; minimal test set provided [6%] B.3. Oral presentation covering correct functionality [5%]; correct unit testing [5%]; correct answers to questions [10%]. If basic questions are not answered then this might impact on previous marks.
Note : Part A is solve already . just need the part B to be solve for me which is the 70%.
Step by Step Solution
There are 3 Steps involved in it
Get step-by-step solutions from verified subject matter experts
