Apply the UML design notation as part of the OO development

Assignment Detail:- OOSD LAB: Introduction This assessment evaluates the following CLOs - CLO1: Apply the UML design notation as part of the OO development process-- CLO2: Apply the process of Refactoring to continuously improve a software product-- CLO3: Apply Design by Contract to produce robust self-verifying software modules- The following topics are assessed: - Week 3: Refactoring -Practical-- Week 4: Design by Contract- Week 6: Creational Patterns Assignment Activities Part 1: src/main/java/task1 The `StudentEnrol` class is designed to manage the enrolment of students- Students are allowed to take up to five courses made up of cores and electives selected from the list of cores -`coresOffered`- and electives -`electivesOffered`-- There is an additional constraint that no student can be enrolled in more electives than core courses at any time- You are required to: **1-1-** Write the pre and post-conditions -if applicable- for all methods except `display--` **1-2-** Write the the class invariants- **1-3-** Specify invariants, preconditions and post-conditions as comments using the Javdoc annotations `@invariant`, `@pre-condition` and `@post-condition` respectively -in the spaces provided-- You may use the notation `OLD-cores` in the post-conditions to refer to the original value for cores- Part 2: src/main/java/task2 You are required to: **2-1-** In the code located on `src/main/java/task2` the classes have a number of common features- You are required to apply _extract superclass_ refactoring and write the resulting code- You may use protected instance variables if appropriate- **2-2-** In the same folder, there is a `Answers-md` file- Write in that file the answers to the following questions: * 2-2-A: Name at least 3 smells that you identified BEFORE making the change of point 2-1- Is there any specific smell that is solved with the extract superclass???? _No less than 300 words_- * 2-2-B: Mention other refactorings that you did when you _extracted the superclass_- Were these refactorings needed for the _extract superclass_???? Why???? Could you have used _extract interface_ instead???? _No less than 200 words_- Part 3: src/main/java/task3 Write your answers to the following questions in `task3/Answers-md`: **3-1-** What creational pattern is being used in `PrintSpooler`???? Is it correctly implemented???? Why or Why not???? Could you implement it differently???? Justify accordingly- **3-2** Not all Builders must construct visual objects- What might you use a Builder to construct???? Why???? Find a real-world example and explain why it is correct using it there- Your answer your have at least 500 words _without_ the code snippet- **3-3-** If you are writing a program to track investments -namely: stocks, bonds, metal futures, derivatives, etc--, how might you use an _abstract factory_???? Why???? Complement your answer with a Class Diagram- You _must_ add it to the Answer file using markdown- Save it inside the `task3` folder- Attachment:- OO development process-rar




Most Recent Questions

Captcha

Helping Students for Excellence in Academics, GET Help with Assignment? Order Now