this is my assignment in Software engineering unit. This is the 2 step, there's first step about coding Life path and generation.
2. Modularity: Design modules following good design principles [ 9 marks) Looking at the given scenario, identify most suitable modules you will need for a software to achieve the required functionality, considering the good modularity principles discussed in lectures/ worksheets. a. Write down module description/s for modules you decided to implement. You must apply good modularity principles you have learned in lectures/ worksheets when identifying and planning modules. Each module description should include short, meaningful name, clear and detailed explanation on what the intended task of the module, how it gets inputs to do the intended task and how the Page 2 of 9 outputs make available, as shown in the module description examples of Lecture 8, slides 24-39, Lecture 9 slides20-33. How imports, if any, of the modules are to be handled: You are free to decide which input method/s are to be used in which of your modules (parameter passing, keyboard entry, or reading from text files.). How exports(results), if any, of the modules are to be handled: You are free to decide which input method/s are to be used in which of your modules. (Return values, display on the screen, or write to files). However, in the Testing section, you must demonstrate your ability to test different input methods/output methods. Therefore, design different modules to use different import/export methods so that you can demonstrate testing skills. You should decide on suitable, meaningful names for all modules and variables. You may make assumptions, if you think they are required, and state them clearly. b. Explain your design decisions, and how good modularity principles are considered in your modules. Note 1 In this unit, \"modules\" refers to any sub-part of a program. The terms \"module\" and \"sub- module\" are used interchangeably. The module/s you design in this stage affect the rest of your assessment. Therefore, read the whole assignment properly before finalizing the answer for this section. You are strongly advised to use iterative approach especially for task 2 and 4. 3. Modularity: Implementing the production code, reviewing, and refactoring [20 Marks] a. Implement the modules designed in the part 2 above considering the good modularity principles discussed in lectures/ worksheets. b. You can use either Python (Python3) or Java for your implementation. Execute and verify that you have got your code running without syntax errors. Note: This step will create a production code, not a test code. c. Create a short review checklist to check whether you have followed good modularity principles. You are expected to cover all basic guidelines covered in lecture 7. d. Review your code using the prepared checklist, identifying any issues. You must use the format suggested in the worksheet 7 to record your results. Each module must be reviewed for modularity issues. e. If you have identified any issues, refactor your code to address such issues. Explain how your code is improved now. If no refactoring is required, justify your decision. f. After refactoring, revise your preliminary descriptions of your modules and shown as revised module descriptions. Test design [25 marks] a. Black box test design [16 Marks) Based on the module descriptions written by you in part 2 above (OR the revised version after refactoring in Part 3 above, if any revision is done), design suitable test cases to test your modules using following methods: 1. equivalence partitioning. 1. boundary value analysis. You must design test cases using equivalence partitioning approach for all modules you have Page 3 of 9