4. Triển khai SOA và Webservice trong ứng dụng thực tế
4.2.21 Xóa một thành viên khỏi hệ thống
• QĐ19:
4.3.1 Các thành viên có thể cập nhật tiến độ công việc của họ họ
Các thành viên có thể theo dõi các công việc được giao mà không cần phải vào trực tiếp trang web quản lý dự án của nhóm. Việc cập nhật được xác nhận bởi thành viên có đủ quyền như PM hay team leader.
4.3.2 Yêu cầu hiệu quả
Máy tính: CPU core 2 quad Q8400-2.66Ghz, ram 2x2GB bus 1066
Stt Nghiệp vụ Tốc độ xử lý Dung lượng lưu trữ
Ghi chú
1 Project Tạo dự án Ngay tức thì
2 Sửa dự án Ngay tức thì 3 Xóa dự án Ngay tức thì 4 Khởi đầu (mở) dự án Ngay tức thì 5 Kết thúc (đóng) dự án Ngay tức thì
6 Milestone Tạo milestone Ngay tức thì
7 Sửa milestone Ngay tức thì
8 Xóa milestone Ngay tức thì
9 Bắt đầu (mở) milestone Ngay tức thì 10 Kết thúc (đóng) milestone Ngay tức thì
11 Tasks Tạo task Ngay tức thì
12 Giao (assign) task
cho thành viên
Ngay tức thì
13 Xóa task Ngay tức thì
14 Chỉnh sửa trạng thái
task (mở, đóng …)
Stt Nghiệp vụ Tốc độ xử lý Dung lượng lưu trữ
Ghi chú
15 Messaging Tạo message Ngay tức thì
16 Gửi message Ngay tức thì
17 Xóa message Ngay tức thì
18 File manager Quản lý file Tuỳ tốc độ internet 19 Calendaring Quản lý thời gian Ngay tức thì 20 Time tracking Theo dõi tiến độ Ngay tức thì
21 Permission Phân quyền Ngay tức thì
22 Search Tra cứu Ngay tức thì
23 Email notification
Gửi email Ngay tức thì
24 Message Board
Bảng thông báo 25 FileSharing Chia sẻ tập tin
4.3.3 Bảng trách nhiệm yêu cầu hiệu quả
Stt Nghiệp vụ Người
dùng
Phần mềm Ghi chú
1 Project Tạo dự án Thực hiện đúng
yêu cầu
2 Sửa dự án
3 Xóa dự án
4 Khởi đầu (mở) dự án
5 Kết thúc (đóng) dự án
6 Milestone Tạo milestone Thực hiện đúng
yêu cầu 7 Sửa milestone 8 Xóa milestone 9 Bắt đầu (mở) milestone 10 Kết thúc (đóng) milestone
14 Chỉnh sửa trạng thái task (mở, đóng …)
15 Messaging Tạo message Thực hiện đúng
yêu cầu
16 Gửi message
17 Xóa message
18 File manager
Quản lý tập tin Thực hiện đúng
yêu cầu
19 Calendaring Quản lý thời gian Thực hiện đúng
yêu cầu 20 Time
tracking
Theo dõi tiến độ Thực hiện đúng
yêu cầu
21 Permission Phân quyền Cung cấp
tên, password
Thực hiện đúng yêu cầu
22 Search Tra cứu Thực hiện đúng
yêu cầu 23 Email
notification
Gửi email Cung cấp
địa chỉ email Thực hiện đúng yêu cầu 24 Message Board
Bảng thông báo Người
dùng cung cấp thông tin
Thực hiện đúng yêu cầu
25 File Sharing Chia sẻ tập tin Người dùng cung cấp tập tin
Thực hiện đúng yêu cầu
4.3.4 Yêu cầu tiện dụng
dụng
1 Quản lý dự án 15 phút hướng dẫn Tỷ lệ phạm lỗi không quá 2% 2 Quản lý milestone 15 phút hướng dẫn Tỷ lệ phạm lỗi
không quá 2% 3 Quản lý tasks list 5 phút hướng dẫn Tỷ lệ phạm lỗi
không quá 1% 4 Quản lý tin nhắn Không cần hướng
dẫn
Ai cũng sử dụng được dễ dàng 5 Quản lý tập tin 10 phút hướng dẫn Trực quan 6 Quản lý thời gian 10 phút hướng dẫn Trực quan, dễ
xem 7 Theo dõi tiến độ 5 phút hướng dẫn Trực quan
8 Phân quyền 15 phút hướng dẫn Tỷ lệ phạm lỗi
không quá 5%
9 Tra cứu Không cần hướng
dẫn
Không cần biết nhiều về dự án 10 Gửi email thông báo 1 phút hướng dẫn Dễ sử dụng 11 Bảng thông báo Không cần hướng
dẫn
Dễ hiểu, dễ xem 12 Chia sẽ tập tin 5 phút hướng dẫn
4.3.5 Bảng trách nhiệm yêu cầu tiện dụng
Stt Nghiệp vụ Người dùng Phần mềm Ghi chú
1 Quản lý dự án Đọc tài liệu hướng dẫn
Thực hiện đúng yêu cầu
2 Quản lý milestone Đọc tài liệu hướng dẫn
Thực hiện đúng yêu cầu
3 Quản lý tasks list Đọc tài liệu hướng dẫn
Thực hiện đúng yêu cầu
4 Quản lý tin nhắn Thực hiện đúng
dẫn yêu cầu
7 Theo dõi tiến độ Thực hiện đúng
yêu cầu
8 Phân quyền Làm theo người
hướng dẫn
Thực hiện đúng yêu cầu
9 Tra cứu Thực hiện đúng
yêu cầu
10 Gửi email thông báo Thực hiện đúng
yêu cầu
11 Bảng thông báo Thực hiện đúng
yêu cầu 12 Chia sẻ tập tin Đọc tài liệu hướng
dẫn
Thực hiện đúng yêu cầu
4.3.6 Yêu cầu tương thích
St t
Nghiệp vụ Đối tượng liên quan Ghi chú
1 Xuất thông tin Ra tập tin PDF
2 Xuất thông tin RSS Xuất tin nhắn, thông báo ra định dạng RSS
4.3.7 Yêu cầu công nghệ
St t
Yêu cầu Mô tả Ghi chú
1 Dễ sửa lỗi Xác định lỗi nhanh Không ảnh
hưởng đến chức năng khác
2 Dễ bảo trì Thêm chức năng mới tương
đối nhanh
Không ảnh hưởng đến chức
năng khác 3 Dễ mang chuyển Thay đổi cơ sở dữ liệu không
quá 4 ngày
4.3.8 Yêu cầu tiến hoá
St t
Nghiệp vụ Tham số cần thay đổi Miền giá trị cần thay đổi
1 Thay đổi thành viên dự án Thành viên Danh sách thành
viên 2 Thay đổi thời gian dự án Thời gian bắt đầu, thời gian
kết thúc,… 3 Thay đổi thời gian
milestone
Thời gian bắt đầu, thời gian kết thúc,…
4 Thay đổi thời gian thực hiện nhiệm vụ (task)
Thời gian bắt đầu, thời gian kết thúc,…
5 Thay đổi trạng thái nhiệm vụ (task)
Trạng thái (đóng, mở, tạm dừng, khẩn, không quan trọng)
6 Thay đổi thành viên thực hiện nhiệm vụ (task)
Thành viên Danh sách thành
viên 7 Thay đổi quy định tập tin Dung lượng cho phép, loại
tập tin
4.3.9 Bảng trách nhiệm yêu cầu tiến hoá
St t
Nghiệp vụ Người dùng Phần mềm Ghi chú
1 Thay đổi thành viên dự án
Cung cấp tên thành viên cần thay đổi
Kiểm tra và thay đổi thành viên tham gia dự án 2 Thay đổi thời gian dự
án
Cho biết thời gian bắt đầu, thời gian kết
Kiểm tra và thay đổi thời gian
milestone bắt đầu, thời gian kết thúc …
đổi thời gian 4 Thay đổi thời gian thực
hiện nhiệm vụ (task)
Cho biết thời gian bắt đầu, thời gian kết thúc …
Kiểm tra vài thay đổi thời gian 5 Thay đổi trạng thái
nhiệm vụ (task)
Cho biết trạng thái mới
Kiểm tra và thay đổi trạng thái 6 Thay đổi thành viên
thực hiện nhiệm vụ (task)
Cho biết tên thành viên thay thế
Kiếm tra và thay đổi thành viên 7 Thay đổi quy định tập
tin
Cho biết dung lượng cho phép, loại tập tin cho phép
Kiểm tra và thay đổi quy định. Thực hiện kiểm tra quy định mới.
4.3.10 Yêu cầu an toàn
Stt Nghiệp vụ Đối tượng Ghi chú
1 Phục hồi Các task đã xóa, các user của hệ thống, project
2 Hủy thật sự Các task, user, project
3 Không cho phép xóa Các task đã được phân công , các thành viên đang tham gia các dự án (đang được giao task hoặc đang có dữ liệu liên quan trong hệ thống), các project đã hoặc đang được tiến hành.
4.3.11 Bảng trách nhiệm yêu cầu an toàn
Stt Nghiệp vụ Người dùng Phần mềm Ghi chú
1 Phục hồi Cho biết task,
user, project cần phục hồi
Phục hồi dữ liệu
user, project cần hủy
3 Không cho phép xóa Thực hiện theo
đúng yêu cầu
4.3.12 Yêu cầu bảo mật
Stt Nghiệp vụ Admin Project Manager Team Leader Member 1 Projects x x 2 Milestones x x x x
3 Tasklists (To-do lists) x x x x
4 Messaging / Instant Messaging x x x x
5 Calendaring x x x x
6 File management x x x
7 Time tracking x x x
8 Permissions (role based) x
9 Filesharing x x x
10 Tagging x x x x
11 Messageboard x
12
Excel files from activity logs and
timetracker reports x x
13 PDF export x x
14
Synchronization of calendars via
iCal task export x x x x
15 RSS feeds for messages and tasks x x x x
16 E-mail notification x x x x
17 Multilanguage x x x x
18 Search x x x x
19 Fully themeable x x x x
20
Activity logs and messages in PDF
format x x
21 Full UTF8 support x x x z
1
Quản trị hệ thống
quyền hạn, cung cấp đầy đủ tên công ty, …
Ghi nhận và thực hiện đúng 2 Project manager Cung cấp tên và mật khẩu
Ghi nhận và thực hiện đúng 3 Team Leader Cung cấp tên và mật khẩu
Ghi nhận và thực hiện đúng
4 Member Cung cấp tên và mật khẩu
Ghi nhận và thực hiện đúng
---oOo---
4.4. User-case
4.4.1 Mục đích
Mô tả sự tương tác giữa các tác nhân bên ngoài (actor) và hệ thống. Đồng thời nó cũng thể hiện ứng xử của hệ thống đối với bên ngoài như thế nào, trong những hoàn cảnh nhất định, xét từ quan điểm của người sử dụng.
Tóm lại, tài liệu này mô tả các yêu cầu đối với hệ thống, có nghĩa là những gì hệ thống phải làm chứ không nhằm mục đích mô tả hệ thống phải làm như thế nào.
4.4.2 Các quy ước
Sau đây là các quy ước trình bày các usecase trong tài liệu này:
• Phần đặc tả usecase được trình bày trong một bảng.
• Mỗi usecase có một ID riêng biệt.
• Phần “Mức độ” (priority) chỉ định độ quan trọng của usecase mà hệ thống cần đáp ứng. Có ba mức sau:
o Cao
o Bình thường
4.4.4.1 Danh sách các actor của hệ thống
STT Tên Ý nghĩa
1
Admin Người quản trị có quyền cao nhất của hệ thống, có thể thực hiện mọi tác vụ và sử dụng mọi chức năng mà hệ thống cung cấp.
2
ProjectManager (PM) Người quản trị dự án. Trong phạm vi của EPM, người quản trị dự án là trưởng nhóm. Đây là người thực hiện các tác vụ chính để quản lý nhóm của mình.
3
Member Các thành viên bình thường của hệ thống. Đây là người dưới quyền một PM, thực hiện các công việc theo nhiệm vụ được giao
4.4.4.2 Danh sách các use-case
STT Tên use-case Mô tả
1 DangNhap Người dùng đăng nhập vào hệ thống để bắt đầu sử dụng EPM.
2 DangXuat Người dùng muốn thoát khỏi hệ thống và kết thúc phiên làm việc.
3
TaoTaiKhoan Quản trị viên (Admin và PM) thêm thành viên mới vào project mà mình quản lý hay thêm thành viên mới vào hệ thống.
4 DoiMatKhau Người dùng thay đổi mật khẩu của họ.
5 DoiThongTinTaiKhoan Người dùng thay đổi các thông tin cá nhân (Họ tên, email, avatar,…) của họ.
6
QuanLyThanhVien Quản trị viên (Admin và PM) có thể thay đổi thông tin của các thành viên trong hệ thống, thêm thành viên mới hay xóa tài khoản các thành viên ra khỏi hệ thống.
phân quyền (role), chỉnh sửa các hành động mà một role được phép thực hiện hay xóa một role. 8 TaoDuAn Quản trị viên (Admin và PM) tạo mới một dự án.
9
QuanLyDuAn Việc quản lý dự án được thực hiện bởi người quản trị (Admin và PM) bao gồm các công việc: quản lý chung các dự án, quản lý mốc thời gian, quản lý danh sách công việc tasklist, quản lý task, quản lý message, quản lý tập tin, xuất báo cáo, tra cứu báo cáo và tìm kiếm.
10
TaoMilestone Việc tạo các mố thời gian (milestone) sẽ giúp cho người quản trị dự án (Admin và PM) có thể dễ dàng theo dõi tiến độ làm việc của nhóm, đặt ra các mục tiêu ngắn hạn cũng như dài hạn và xác định được kế hoạch làm việc cho cả nhóm.
11
QuanLyMilestone Admin hay PM có thể chỉnh sửa thông tin của các mốc thời gian, xóa hay thêm một milestone. Đồng thời Admin hay PM cũng có thể xem và quản lý các tasklist có liên quan.
12
TaoTasklist Quản trị viên hay trưởng nhóm dự án có thể tạo danh sách các công việc và phân công cho các thành viên. Danh sách công việc bao gồm một hay nhiều công việc và được gắn với một milestone nhất định.
13
QuanLyTaskList Admin hay PM có thể thay đổi, chỉnh sửa và xóa thông tin của một tasklist, đồng thời cũng có thể quán lý các công việc con (task) của tasklist đó.
14
TaoTask Sau khi tạo danh sách các công việc, người quản trị hay trưởng nhóm dự án sẽ tạo các công việc con trong tasklist đó và phân công cho các thành viên cụ thể.
theo dõi quá trình thực hiện của công việc, phân công task cho các thành viên.
16
GuiMessage Người sử dụng có thể gởi thông báo hay tin nhắn cho môt hay nhiều thành viên trong dự án của mình.
17
QuanLyMessage Người dùng có thể xem các tin nhăn mới nhất, trả lời các tin nhắn nhận được, gửi tin nhắn hay xóa các tin nhắn.
18
QuanLyFile Hệ thống EPM cung cấp cho người sủ dụng một giao diện quản lý tập tin, thư mục đơn giản và dễ sử dụng.
19
ThayDoiCauHinh Chỉ có quản trị viên (Admin) mới có thể thay đổi các cấu hình hệ thống như giao diện, ngôn ngữ hiển thị, cấu hình mail server, cấu hình chức năng gửi email.
20
XuatBaoCao Admin hay PM có thể xem báo cáo các công việc trong dự án đế xem tiến độ dự án. Riêng Admin và PM có thể chỉnh sửa báo cáo.
21 TraCuuBaoCao Admin hay PM có thể lọc ra các nội dung cần xem trong bản báo cáo.
22
TimKiem Người sử dụng có thể tìm kiếm các nội dung chuyên biệt theo yêu cầu bằng cách nhập từ khóa vào ô tìm kiếm.
4.5.1 Mục đích
Sau khi phân tích yêu cầu của người dùng, nhóm phát triển bắt đầu tiến hành bước thiết kế hệ thống. Tài liệu này là bản đặc tả khái quát kiến trúc của hệ thống bao gồm mô hình các tầng (layers), các thành phần (components), sơ đồ và đặc tả các lớp sẽ triển khai trong EPM.
4.5.2 Sơ đồ các lớp trong EPM (mức phân tích)
4.5.2.1 Sơ đồ các lớp chính
4.5.2.2 Danh sách các lớp đối tượng và quan hệ
STT Tên lớp/quan hệ Loại Ý nghĩa/Ghi chú
1 DataObject Lớp mô tả chung nhất cho các đối tượng
dữ liệu.
2 User Lớp đối tượng người dùng, miêu tả chung
cho ba loại người dùng chính của hệ thống là: Admin, Project Manager và các
Member (thành viên bình thường). Lớp User kế thừa từ lớp DataObject. 3 DeadlineWork Đại diện cho các công việc được thi hành
trong một khoảng thời gian nhất định (nghĩa là có deadline).
Lớp DeadlineWork kế thừa từ lớp
DataObject.
4 Project Lớp đặc tả cho một dự án CNTT. Dự án là
một dạng công việc được thực hiện trong một khoảng thời gian rõ ràng vì vậy nó được kế thừa từ lớp DeadlineWork.
5 Milestone Đây là lớp đại diện cho một mốc thời gian
của một dự án CNTT. Mỗi dự án có thể có nhiều mốc thời gian khác nhau để phân chia công việc và lập kế hoạch cho dự án. Milestone có quan hệ với một Project và là một đối tượng con chứa trong Project. Một Milestone cũng có hiệu lực trong một khoảng thời gian cụ thể, nên nó cũng được kế thừa từ lớp DeadlineWork.
6 TaskList TaskList – danh sách công việc, là một
danh sách hay tập hợp chứa nhiều công việc con. Nhiệm vụ chính của lớp này là
TaskList có quan hệ với một Milestone và là một đối tượng con chứa trong
Milestone.
TaskList cũng được kế thừa từ lớp
DeadlineWork.
7 Task Đại diện cho một công việc được giao cho
một thành viên trong dự án thực hiện. Task là một phần tử con của TaskList. Task được kế thừa từ lớp DeadlineWork.
8 Role Đại diện cho một phân quyền trong hệ
thống. Một phân quyền định ra các hành động mà một đối tượng người dùng có thể thực hiện được khi sử dụng hệ thống. Người quản trị (Admin hoặc Project Manager) có thể dùng các quyền mặc định của hệ thống hoặc tạo ra các phân quyền mới cho từng dự án.
Role được kế thừa từ lớp DataObject.
9 Action Đại diện cho một hành động hay một tác
vụ được thực thi bởi người người dùng (ví dụ: thêm, xóa, sửa,…)
Action được kế thừa từ lớp DataObject.
10 Module Module là một thành phần trong hệ thống
chẳng hạn như: front end, back end, khu vực quản lý dự án, khu vực quản lý thành viên... Thực sự lớp này chỉ có ý nghĩa cho người quản trị (Admin hoặc Project
bình thường (Member).
Lớp này có 2 nhiệm vụ chính: giúp quản lý dễ dàng các thành phần của hệ thống và