选择行业,设计一款企业级软件,完成其UML图,包括Class Diagram, Activity Diagram
, Use
Case Diagram等。
![Activity
Diagram](https://upload.wikimedia.org/wikipedia/commons/thumb/e/e7/Activity_conducting.svg/440px-
Activity_conducting.svg.png)
Scenario
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
- Universities
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.
Assignment
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.
Task 1: Candidate class list and Diagram
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.
Task 2: Activity diagram
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.
Task 3 Use Case diagram
Draw a Use-Case Diagram to capture the requirements listed above.
8 Marks are available for the provision of suitable use-case diagrams.
Task 4: Code architecture
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.
Task 5: System implementation
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.
Task 6: Reflection
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.
Submission requirements
- 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.