Unit:
Analysis, Design and Implementation
Assignment title: Peer Review
Spring 2020
• 單元:
• 分析,設計與實施
•
• 作業標題:同行評審
•
• 2020年春季
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 o 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.
情境
您受軟件開發組織的僱用,該組織與主要從事研究業務的一系列客戶合作。
對於此分配,您需要選擇一個組織來為分配提供相關的上下文。您必須選擇一個參與某種形式的研究的組織。此類組織的示例包括(但不限於):
•製藥公司
•市場情報公司
•大學
該組織必須是眾所周知的,以便可以驗證您提供的上下文。
一旦選擇了合適的組織,您的任務就是設計和開發一款軟件,該軟件將為內部同行評審過程增加更多結構,從而可能會對生成的研究文檔產生影響。同行評審可以提高任何研究成果的質量保證,但是如果沒有正確的軟件,則對過程進行管理很麻煩。
基本過程如下:
1.作者將他們產生的研究文檔上載到系統中以供審查。
2.系統分配一名或多名具有適當專業知識的審稿人,以提供有關研究文件的(匿名)反饋意見。
3.作者可以通過為審閱者的評論提供分數來評定這些評論的有用性。
4.記錄評論者的平均分數,以識別特定評論者提供的評論評論的質量。
以下描述提供了更多詳細信息:
同行評審跟踪系統應允許用戶在系統中註冊並上傳要評審的研究文檔。將研究文檔添加到系統後,它將通過一系列值得同行評審的專業技能來完成。所有用戶都將在自己的個人資料中自行選擇其專業技能,並且僅在他們認為自己有資格的情況下才能獲得研究文件。
理想情況下,應該平衡同行評審任務的數量,以使沒有人分配比其他人更多的工作,儘管在只有一小撮合適的評審員的情況下,允許有一點餘地。
將允許每個審閱者向研究文檔中添加多個反饋評論,並且上傳研究文檔以進行審閱的作者將可以看到這些評論。然後,作者可以對他們收到的每條反饋進行評分,滿分10分,然後將這些評分的平均值作為得分分配給審閱者。這些分數中的每一個都分配給作品的主題專業。評論者可能會獲得與不同技能相關的多個分數。
技能專長的同行評審的質量是這些分數的平均值,尋求同行評審的作者可以設置必須指派的最低評議同行評審質量,以對其工作發表評論。同行審閱評論是匿名的,但原始審閱者和被審閱作品的作者可以自由閱讀其內容。不允許任何人看到同行評議意見。
所有這些意味著應用程序將必須跟踪和管理以下內容:
•用戶,他們的同行審閱者分數以及他們的專業列表
•與特定用戶相關聯的工作(研究文檔),然後分配給其他具有適當主題專長的用戶進行審查
•評論,這些評論附在一件作品上。創建評論的用戶可以看到他們寫的內容,與他們相連的作品的作者可以看到正文,但看不到誰寫了評論。
該系統應允許用戶搜索對其工作有任何評論的文本。除了允許搜索註釋之外,您的應用程序還應該允許用戶全面訪問他們提交給系統的所有內容。這將需要一個強大的保存系統以及GUI來支持它。
用戶應該只能更改自己發表的評論,而不能更改任何評論。
然後,您的應用程序需要提供以下功能:
1.允許創建新帳戶
2.允許用戶選擇他們的專業
3.允許用戶添加新作品以供同行評審
4.指派適當的同行審稿人進行添加的工作o避免分配評分不高的同行審稿人進行工作或他們無權發表評論。
5.允許用戶添加註釋以對其進行分配。
6.允許用戶對他們添加的作品提交的評論進行評分。
7.允許用戶瀏覽他們對系統的所有貢獻。
8.允許用戶按關鍵字搜索註釋。
系統應實現允許編輯和閱讀所有文稿的GUI。
您的解決方案將包括一個類圖,一個用例圖和一個用於分配對等項的過程的活動圖
Task 1: Candidate class list and Diagram– 20 Marks
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.
任務1:候選課程列表和圖表– 20分
識別候選類列表。 您應提供一個理由,說明為什麼選擇了每個類別以包括在內,以及如何得出與其他類別的關係。
繪製一個類圖以表示系統結構。
應該使用合適的CASE工具繪製類圖,並顯示類的屬性,操作,範圍和相互之間的關係。 使用抽像類和子類(如果適用)將吸引更多的標記。
類圖應包括所有類的屬性和操作,並顯示類之間的正確關係及其多樣性。
26個標記可用於提供適當的候選類列表以及支持圖。
Task 2: Activity diagram – 20 Marks
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.
任務2:活動圖-20分
繪製一個活動圖,以顯示為某項工作(研究文檔)分配同行評審員的過程。 您的流程應適當考慮審稿人的專業知識,審稿人等級和工作負載平衡。
您的圖應該清楚地顯示哪些類負責功能的每個元素。
25個標記可用於創建適當的活動圖。
Task 3 Use Case diagram– 8 Marks
Draw a Use-Case Diagram to capture the requirements listed above.
8 Marks are available for the provision of suitable use-case diagrams.
任務3用例圖– 8分
繪製用例圖以捕獲上面列出的要求。
8標記可用於提供適當的用例圖。
Task 4: Code architecture – 15 Marks
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.
任務4:代碼架構-15分
15個標記可用於代碼體系結構,該體系結構顯示適當級別的耦合和內聚,以及表示系統所需的繼承和封裝量。 該代碼還應該適當地處理輸入和輸出。
Task 5: System implementation – 25 Marks
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.
任務5:系統實施-25分
編寫和部署代碼以實現上述要求的系統設計。
26個標記可用於實現上述系統並提供完整的代碼。
Task 6 – 10 Marks
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.
任務6 – 10分
反射
使用Rolfe,G.,Freshwater,D.和Jasper,M.(2001)模型可得10分,以嚴格地回顧您為完成這項任務而進行的學習。
根據您的學習,您的反思應包括描述; 分析和; 一項行動計劃,以期在未來實現改進。