【整體背景】
隨着公司業務的發展以及在 AI 和人工智能領域的持續深入,需要把部分工作外包。外包可以更加有效的利用社會資源,優化資源利用率。但在外包實踐中,遇到諸如任務跟蹤,人員管理,資源訪問控制的問題,希望開發一套外包人員管理平台,更好地管理人員和任務。
【問題說明】
在外包的過程中,主要遇到了如下問題:
(1)外包人員來源比較廣泛,通常一個任務會有不止一個接包公司承擔,如何登記和管理這些人員是一個比較大的難題。
(2)外包人員工作時間千差萬別,有些工作的工作時間並不確定,如何對這些人員進行考勤是也是一個問題。
(3)外包人員的工作內容的安排沒有系統記錄,存在不方便查找,歸類,統計的問題。
(4)如何防止工作資料,工作成果被未授權人員訪問也是一個比較大的難題。
【用戶期望】
我們期望外包平台能夠同時提供 PC 端,手機端訪問,以方便我們的外包人員可以隨時參與到外包任務,並及時反饋工作進度,最重要的,我們希望我們的資源能夠被授權訪問,我們的工作素材,工作成果都嚴格保密,具體來說,我們希望能夠具有下面的功能。
人員管理
系統需要對這些人員提供下面的管理功能:
(1)外包人員信息登記;
(2)外包人員各項保密協議,合同簽訂情況登記;
(3)人員信息的查詢和維護。
人員考勤
我們希望系統能夠提供下面的功能:
(1)每個外包人員的開始工作時間,結束工作時間被記錄;
(2)希望可以很方便的知道在一個時間區間內,我們外包的各項工作的大
致完成情況;
(3)在考勤時,系統需要對當前的用戶進行必要的身份驗證。
任務管理
我們希望系統能夠可以外包任務管理方面,提供下面的功能:
(1)可以以項目的方式被管理,發包人員可以制定項目實施計划,指定參與人員,確定項目安全等級。
(2)接包人員可以登錄到系統,通過人員識別驗證后,查看分配到自己的任務,選擇任務,開始工作。
(3)在任務完成之后,提交工作成果。
(4)任務的發包人員可以在系統上看到各個分發出去的任務狀態,及時跟進各個任務的完成情況。
1、需求定義:(20分)
(1)根據上述描述,繪制系統工作上下范圍圖。(10分)
(2)繪制系統業務流程圖。(10分)
2、結構化建模案例分析:(20分)
(1)繪制系統的整體功能結構圖。(10分)
(2)根據上述描述,繪制完整的數據流圖。(10分)
3、面向對象建模案例分析:(30分)
(1)繪制系統頂層用例圖。(10分)
(2)繪制系統細化完整用例圖。(10分)
(3)分析系統類模型,找出類之間的關系並畫出類圖。(10分)
4、系統原型展示:根據你的類圖,開發系統原型,並錄制視頻或撰寫文檔展示說明。(30分)
(1)根據類圖,用源代碼定義類的變量和方法名(具體的方法體不用寫);
Staff.java:
package staffs; public abstract class Staff { //外包人員抽象類 private String name; private String password; } Sender.java: package staffs; import task.Task; public class Sender extends Staff { //發包人員類 public Sender(){ super(); } public Task sendTask() {//發布任務 return new Task(); } public void showTaskState() {//查看任務狀態 } }
Receiver.java:
package staffs; public class Receiver extends Staff { //接包人員類 public Receiver() { super(); } public void receiveTask() {//接收任務 } public void submitTask() {//提交任務成果 } }
Task.java:
package task; public class Task { //任務類 private String task_name; //任務名稱 private String[] task_receiver; //任務接包人員 private int task_level; //安全等級 private String task_state; //任務狀態 public String getTask_name() { return task_name; } public String[] getTask_receiver() { return task_receiver; } public int getTask_level() { return task_level; } public String getTask_state() { return task_state; } public void setTask_name(String task_name) { this.task_name = task_name; } public void setTask_receiver(String[] task_receiver) { this.task_receiver = task_receiver; } public void setTask_level(int task_level) { this.task_level = task_level; } public void setTask_state(String task_state) { this.task_state = task_state; } }
Validation.java:
package tools; public class Validation { //驗證類 public boolean isPass(String name,String password) { //驗證是否通過 return true; } }
(2)用HTML或者JSP等前端工具撰寫頁面原型,要求頁面上元素完整,界面風格統一,頁面之間跳轉流暢,可以完整表現主業務流程執行順序。
登錄界面,點擊登錄按鈕下方的超鏈接登錄內置賬號
首先登錄發包人賬號,發布任務界面中可以看到以發布的任務,點擊上側“發布新任務”按鈕發布新任務
權限管理界面中,可以分配任務小組人員的權限
任務狀態界面查看任務的狀態
登錄接包人員賬號
在接收任務界面中接收任務
在提交任務界面中提交任務