选择行业，设计一款企业级软件，完成其UML图，包括Class Diagram, Activity Diagram, Use Case Diagram等。
You are employed by a software development organisation that works with a range of clients whose main business activity is research.
For this assignment, it is necessary for you to select an organisation to provide relevant context for your assignment. You must choose an organisation that is involved in some form of research. Examples of such organisations include (but are not limited to):
- Pharmaceutical companies
- Market Intelligence companies
This organisation must be well-known, so that the context that you provide can be verified.
Once you have selected a suitable organisation, your task is to design and develop a piece of software that would add more structure to the internal peer review process that could take place on the research documents that are produced. Peer review enhances the quality assurance on any research conducted but managing the process can be cumbersome without the correct software.
The basic process works as follows:
- An author uploads a Research Document that they have produced to the system for review.
- The system allocates one or more Reviewers with appropriate specialisms to provide (anonymous) feedback comments on the Research Document.
- The author can rate the usefulness of these comments by providing a score for the reviewers’ comments.
- The average of a reviewer’s scores is recorded as a way of identifying the quality of review comments that a particular reviewer provides.
The following description provides more detail:
The system of peer review tracking should allow users to register with the system and upload research documents to be reviewed. When a research document is added to the system it will be done so with a list of specialist skills needed for peer review to be worthwhile. All users will self-select their specialist skills in their profile and will only be assigned research documents where they believe themselves to be qualified.
The number of peer review tasks should ideally be balanced so that no one person is assigned more work than others, although a little leeway is permitted for work where there is only a small pool of suitable reviewers.
Each reviewer will be permitted to add multiple feedback comments to a research document, and these comments will be visible to the author who uploaded the research documents for review. The author can then rate each piece of feedback they receive out of 10, and the average of these ratings is assigned as a score to the reviewer. Each of these scores is assigned in the subject specialisms of the work. It will be possible for a reviewer to have multiple scores relating to different skills.
The quality of a peer reviewer in a skill specialism is the average of these scores, and authors looking for peer review can set a minimum quality of peer reviewer necessary to be assigned to comment upon their work. Peer review comments are anonymous, but their contents can be freely read by the original reviewer and the author of the work being reviewed. No-one else should be permitted to see peer review comments.
All of this means that the application will have to track and manage the following:
- Users, their peer reviewer scores, and their list of specialisms
- Work (research documents) associated with a particular user and then assigned to several other users, of appropriate subject specialisms, for review
- Comments, which are attached to a piece of work. The user creating a comment can see what they have written, and the author of the work to which they are attached can see the body text but not who wrote the comment.
The system should allow the users to search the text of any comments on their work. In addition to permitting comments to be searched, your application should also permit users to have comprehensive access to everything they have submitted to the system. This will necessitate a robust saving system along with the GUI to support it.
Users should not be able to change any of the comments except the ones they have made themselves.
Your application then needs to provide the following functionality:
- Allows for new accounts to be created
- Allows for users to select their specialities
- Allows for users to add new work to be peer reviewed
- Assigns appropriate peer reviewers to work that is added
- Avoids assigning badly rated peer reviewers to work or for which they are not qualified to comment.
- Allows users to add comments to work to which they have been assigned.
- Allows users to rate the comments submitted on the work they have added.
- Allows users to browse through all their contributions to the system.
- Allow users to search through comments by key word.
The system should Implement the GUI that permits the editing and reading of all contributions.
Your solution will consist of a class diagram, a use-case diagram, and an activity diagram for the process of assigning peer reviewers to a piece of work. You should also submit the completed program code.
Clearly identify and give a 200-word overview of your chosen organisation at the beginning of your assignment. You will not be marked on this overview nor is it included in your word count, but it is a mandatory part of your assignment and will give your examiner the context they need to assess your work.
Identify a list of Candidate classes. You should provide a justification why each class was selected for inclusion, and how its relationship to other classes was derived.
Draw a Class diagram to represent the system structure.
The class diagram should be drawn with a suitable CASE tool and show attributes, operations, scope and relationship of classes to each other. The use of abstract classes and sub-classes (where appropriate) will attract additional marks.
The class diagram should include attributes and operations for all classes and show the correct relationships between classes and their multiplicity.
26 Marks are available for providing an appropriate list of candidate classes, along with the supporting diagrams.
Draw an activity diagram to show the process of assigning peer reviewers for a piece of work (research document). Your process should take suitable account of reviewer specialism, reviewer rating and workload balancing.
Your diagram should clearly show which classes have the responsibility for each of the elements of functionality.
25 Marks are available for the creation of the appropriate activity diagram.
Draw a Use-Case Diagram to capture the requirements listed above.
8 Marks are available for the provision of suitable use-case diagrams.
15 marks are available for a code architecture that shows an appropriate level of coupling and cohesion, along with the necessary amount of inheritance and encapsulation to express the system. The code should also appropriately handle input and output.
Write and deploy code to implement your system design for the above requirements.
26 marks are available for implementing the system as described and providing the completed code.
10 marks are available for using the Rolfe, G., Freshwater, D. and Jasper, M. (2001) model, to critically review the learning that you have undertaken in order to complete this assignment.
Based upon your learning, your reflection should include a description; an analysis and; an action plan in order to bring about improvements in the future.
- Your program must be submitted as a zip file of the full project.
- Whatever IDE you use, it should be possible to open and run the project directly from the extracted archive.
- Diagrams and materials associated with the tasks above should be presented in a word-processed document.
- All references and citations must use the Harvard Style.