Bài tập lớn môn Thiết kế hướng đối tượng Website quản lý và mạng xã hội chia sẻ công việc Nhu cầu kinh doanh: Dự án này nhằm hướng phục vụ nhu cầu quản lý công việc các nhân, công việc nhóm hoặc công việc của một công ty hay tổ chức. Để phối hợp và tổ chức công việc nhóm một cách hiệu quả, cũng như nhu cầu chia sẻ học hỏi các kết quả làm việc, tìm vốn hay nhân lực làm việc cho các dự án.
Trang 11
Trang 2M c l c ụ ụ
1 Yêu cầu hệ thống 3
2 Phân tích tính khả thi 4
2.1 Tính khả thi về mặt kỹ thuật 4
2.2 Khả thi về mặt kinh tế 4
3 Xác định kích thước của hệ thống theo phương pháp điểm chức năng 6
4 Biểu đổ Gantt 6
5 Tài liệu yêu cầu hệ thống 8
5.1 Yêu cầu chức năng 8
5.2 Yêu cầu phi chức năng 9
6 Sơ đồ chức năng hệ thống 10
7 Sơ đồ ca sử dụng 10
8 Xây dựng biểu đồ lớp 13
8.1 Liệt kê danh sách lớp cho các ca sử dụng chính 13
8.2 Xây dựng thẻ CRC 14
8.3 Biểu đồ lớp 18
9 Xây dựng biểu đồ tuần tự và giao tiếp cho 4 CSD 19
9.1 Ca sử dụng quản lý nhóm 19
9.2 Ca sử dụng quản lý công việc 20
9.3 Quản lý tài khoản – Thiết lập thông tin tài khoản 22
9.4 Quản lý giao tiếp – Thiết lập một cuộc hội thoại 23
10 Xây dựng biểu đồ trạng thái 24
10.1 Quản lý công việc 24
10.2 Quản lí nhóm 24
11 Xây dựng biểu đồ gói 25
Tài liệu tham khảo 26
2
Trang 31 Yêu c u h th ng ầ ệ ố
Nhu cầu kinh doanh: Dự án này nhằm hướng phục vụ nhu cầu quản lý công việc các nhân,
công việc nhóm hoặc công việc của một công ty hay tổ chức Để phối hợp và tổ chức công việcnhóm một cách hiệu quả, cũng như nhu cầu chia sẻ học hỏi các kết quả làm việc, tìm vốn haynhân lực làm việc cho các dự án
Yêu cầu kinh doanh: Sử dụng internet, trang web sẽ phải đảm bảo 3 chức năng chính:
Thứ nhất là quản lý công việc Người dùng sẽ có thể dễ dàng thêm sửa xóa đi các công viêc đãlàm, dễ quản lý cho cả công việc cá nhân và công việc nhóm Có thể phân công việc cho từng cánhân hay nhóm con trong nhóm.Phải có mục báo cáo và đánh giá cho từng công việc.Thành viên
có thể xem các công việc của mình theo ngày tháng, hay theo từng hạng mục công việc cụ thể.Người dùng có thể đăng tải tài liệu để lưu trữ và chia sẻ trên website
Thứ hai là quản lý nhân lực Trong nhóm phải định ra một người làm trưởng nhóm Trưởngnhóm này có quyền thiết lập quyền hạn và nhiệm vụ cho từng thành viên trong nhóm như quyềnxem, chỉnh sửa, báo cáo, xóa, chia sẻ…Mỗi người và mỗi nhóm cần có một tiểu sử giúp ngườiquản lý dễ dàng đánh giá năng lực và sắp xếp công việc phù hợp
Thứ ba là chia sẻ công việc Người dùng có thể chia sẻ công việc của mình nếu muốn vào mộttrong 4 hạng mục: công việc đã hoàn thành, đang thực hiện, cần nhân lực và cần vốn Với mỗihạng mục cộng đồng có thể xem và học hỏi không chỉ kết quả mà còn quy trình làm việc củangười đó Hoặc đăng ký để theo dõi tiến độ công việc đó, đầu tư vốn hoặc liên hệ tham gia nhóm
để tham gia những dự án mà mình có khả năng
Giá trị kinh doanh: Nguồn thu từ website sẽ đến từ hai nguồn chính: từ người dùng trả phí để
có các chức năng nâng cao và từ quảng cáo với những người dùng miễn phí Các chức năng nângcao dự kiến bao gồm chat voice, hội thoại video, các cài đặt nâng cao, dung lượng dữ liệu màngười dùng có thể lưu trữ trên website…
Giá trị kinh doanh ướng tính là:
- $24 000 trong 6 tháng đầu tiên cho tài khoản trả phí
- $10 000 trong 6 tháng đầu tiên cho quảng cáo
- Tốc độ phát triển 15% người dùng và 10% lợi nhuận cho mỗi tháng sau đó
3
Trang 42 Phân tích tính kh thi ả
2.1 Tính kh thi v m t kỹ thu t ả ề ặ ậ
Mức độ quen thuộc với ứng dụng: Các website có các thành phần chức năng tương tự như dự
án đã có khá nhiều trên thị trường, nhưng chưa có website nào tập hợp đầy đủ để phục vụ nhucầu làm việc của người dùng Về quản lý danh sách công việc cá nhân có Astrid.com củaGoogle, Todo.ly, Wunderlist.com, Tomorrow.do…Về lưu trữ online có Google Drive haydropbox Về mạng xã hội có Facebook, Google Plus, Twitter… Nhóm đã có nhiều thời gian làmviệc với các ứng dụng này, có thể thu nhặt các chức năng tốt của từng trang vào website với mụcđích chính là quản lý và chia sẻ công việc
Mức độ quen thuộc với công nghệ: Các thành viên đã có điều kiện tiếp xúc nhiều với lập trình
và thiết kế web sử dụng PHP và HTML Tuy nhiên, đây là một dự án lớn, có nhiều yêu cầu khắtkhe như tính bảo mật, tốc độ, khả năng phát hiện và ngăn chặn virus trong các tập tin người dùngtải lên, yêu cần cần quản lý dung lượng bộ nhớ và cơ sở dữ liệu lớn Đây là các thách thức lớnnhất của trong dự án Với sự giúp đỡ và tham vấn của các chuyên gia trong lĩnh vực này, nhómtin tưởng thực hiện tốt dự án này
Kích thước dự án: kích thước ban đầu của dự án được ước tính như sau:
- Số lượng người tham dự: 4 (bao gồm cả kỹ thuật và marketing)
- Thời gian thực hiện: 4.5 tháng
- Độ phức tạp: trung bình
Tương thích với các ứng dụng hiện tại: hệ thống mới sẽ tương thích với các trình gõ văn bản
hiện tại, có khả năng xuất báo cáo ra file word và nhập định dạng từ file word vào bài viết
4
Trang 52.2 Kh thi v m t kinh t ả ề ặ ế
5
Trang 62013 2014 2015 2016 2017 Tổng Lợi nhuận
Trang 7Điểm hồi vốn nằm ở giữa năm thứ hai Dự án này có tốc độ phát triển và thời gian hồi vốnnhanh.
Tính rủi ro: Một số đối thủ đã cung cấp một số phần trong dịch vụ này Nếu tốc độ triển khai vf
phát triển không đạt mục tiêu, có thể một số đối thủ sẽ hoàn thành trước và giành trước thịtrường Nhất là từ các đối thủ có tiềm lực vốn và nhân lực lớn, có thể hoàn thành trong một thờigian ngắn hơn
năng
Bước 1 : Đánh giá kích thước hệ thống Điểm chức năng là phương pháp để đo kích thước của
hệ thống dựa trên những con số ước đoán của hệ thống vs mức phức tạp của đầu vào, đầu ra, câuhỏi, tài liệu, giao diện chương trình Sau đây, là bảng những con số ước đoán các con số đó của
hệ thống
Ta có :
TAFP = 0.72(APC) *223 (TUFP) = 160.8 (TAFP)
Chương trình của nhóm được viết bằng ngôn ngữ PHP(15 dòng code / 1 TAFP) Do đó, kíchthước của hệ thống có :
15 * 160.8 = 2412 (dòng code)
Bước 2 : person-months = 1.4 * số dòng code1000 = 1.4 * 24121000 = 3.375 (person-month)
Bước 3 : Thời gian hoàn thành (tháng) = 3 * person-month1/3 = 3 * 3.3751/3 = 4.5 (tháng)
5. Bảng phân tích các nhiệm vụ trong dự án:
Nhiệm vụ Thời gian hoàn Phụ thuộc vào nhiệm Tình trạng
7
Trang 8thành (tuần) vụ
1 Quản lý giao tiếp thành viên
1.1.Tìm hiểu yêu cầu
1.2.Phân tích và xác định yêu cầu
1.3.Tiến hành mô hình hóa
2.1.Tìm hiểu yêu cầu
2.2.Phân tích và xác định yêu cầu
2.3.Tiến hành mô hình hóa
2.4.Dữ liệu
2.5.Thiết kế giao diện
2.6.Lập trình
2.7.Chạy thử và xửa lỗi
3 Quản lý công việc
3.1.Tìm hiểu yêu cầu
3.2.Phân tích và xác định yêu cầu
3.3.Tiến hành mô hình hóa
3.4.Dữ liệu
3.5.Thiết kế giao diện
3.6 Lập trình
3.7.Chạy thử và xửa lỗi
4 Quản lý thông tin cá nhân
4.1.Tìm hiểu yêu cầu
4.2.Phân tích và xác định yêu cầu
4.3.Tiến hành mô hình hóa
5.1.Tìm hiểu yêu cầu
5.2.Phân tích và xác định yêu cầu
5.3.Tiến hành mô hình hóa
411/21/211/211/2
311/41/41/41/43/41/4
311/41/41/41/43/41/4
21/21/41/41/41/41/41/4
21/21/41/4
1.11.1 & 1.21.1 & 1.21.41.41.6
2.12.1&2.22.1&2.22.42.42.62
3.13.1&3.23.1&3.23,43.43.62&3
4.14.1&4.24.1&4.24.44.44.61&2&3&4
5.15.1&5.2
Trang 96.1.Tìm hiểu yêu cầu
6.2.Phân tích và xác định yêu cầu
6.3.Tiến hành mô hình hóa
43/2 1/21/2 1/2 1/41/21/4
5.1&5.25.45.45.65
6.16.1&6.26.1&6.26.46.46.6
In progressOpenOpenOpen
Biểu đồ Gannt được vẽ từ bảng trên:
6 Tài li u yêu c u h th ng ệ ầ ệ ố
6.1 Yêu c u ch c năng ầ ứ
Quản lý công việc:
- Có khả năng thêm, sửa, xóa công việc dễ dàng
- Quản lý tốt công việc của cá nhân và của nhóm
- Có thể phân công công viêc cho từng thành viên trong nhóm Có trường để báo cáo côngviệc, có mức độ ưu tiên cho từng công việc
- Thành viên có thể xem công việc theo ngày, tháng và theo từn hạng mục công việc
- Các công việc phải có tính phân cấp Công việc lớn có thể bao hàm các công việc nhỏ.Các nhóm cũng phải phân cấp, trong nhóm lớn có thể bao gồm nhiều nhóm nhỏ
9
Trang 10- Nguời dùng có thể tải ảnh, tài liệu cho riêng họ, cho nhóm và có thể gắn tài liệu đó chotừng công việc cụ thể.
- Các tài liệu cũng có thể được chia sẻ giữa các cá nhân và các nhóm khác nhau
Quản lý con người:
- Trong nhóm phải định ra mộn người làm nhóm trưởng Nhóm trưởng có thể điều khiểnmọi hoạt động trong nhóm Ngoài ra, mỗi thành viên trong nhóm có thể được cấp cácquyền hạn khác nhau trong việc quản lý nhóm như xem, chỉnh sửa, báo cáo, chiasẻ,xóa…
- Các tài liệu nhóm cũng cần được thiết lập các quyền quản lý trên
- Cần có tiểu sử của mỗi người và tiểu sử của nhóm Tiểu sử nhóm sẽ hoạt động như làphần giới thiệu của nhóm, giúp người ngoài hiểu rõ hơn về nhóm, giúp người quản lý dẽdàng đánh giá năng lực của cá nhân hay nhóm để sắp xếp công việc dễ dàng hơn
- Trong tiểu sử cần có các trường như thông tin cá nhân, trình độ học vấn, kinh nghiệm vàcác công việc đã làm trong quá khứ Các trường này đều phải được cấp quyền chia sẻ của
cá nhân hoặc nhóm đó thì người ngoài mới có thể xem được
Chức năng chia sẻ:
- Người dùng có thể chia sẻ các công việc của mình hoặc nhóm vào một trong bốn mục: đãhoàn thành, đang triển khai, cần vốn, cần nhân lực Nếu công việc không được ngườidùng chia sẻ thì không được hiển thị cho người khác xem
- Trong mục đã hoàn thành, người dùng có thể chia sẻ một phần hoặc toàn bộ các trườngcủa công việc như mô tả, yêu cầu, kết quả, báo cáo Mục tiêu của việc chia sẻ này là giúpcộng đồng có thể học hỏi cả kết quả và phương thức làm việc
- Trong mục đang tiến hành, ngoài xem thông tin thì người xem cũng có thể đăng ký theodõi tiến trình và trạng thái của công việc này
- Trong mục cần vốn, nhóm có thể quảng bá dự án của mình và các nhà đầu tư có thể đầu
tư vốn vào dự án của nhóm Trong mục này, cần liên kết sẵn với với tiểu sử của nhóm đểnhà đầu tư có thể xem các công việc trong quá khứ và đánh giá về nhóm đó
- Trong mục cần nhân lực, người xem có thể đăng ký để tham gia nhóm dự án
- Ngoài chia sẻ công việc, trong mạng phải có nút like, comment và rating để đánh giá cáccông việc, trao đổi về một chủ đề hay đánh giá nhóm
6.2 Yêu c u phi ch c năng ầ ứ
- Tính bảo mật: Website cần sử dụng các giao thức bảo mật như SSL Cần bảo mật cao cácfile, thông tin cá nhân cũng như thông tin công việc của các thành viên
- Tính an toàn: Cần scan file của người dùng tải lên để tránh virus Back up hoặc cô lập cácfile nghi ngờ để tránh virus lây lan trong máy chủ
- Giao diện thân thiện, đẹp và dễ dàng sử dụng
- Cần tối ưu hóa về tốc độ và cơ sở dữ liệu, đảm bảo website load trong vòng 7s
- Tránh spamming trong mạng: Hạn chế số người dùng mà một người có thể kết nối.Người dùng có thể ngắt kết nối với cá nhân hay nhóm mà họ thấy không cần thiết
10
Trang 11- Có nhiều chức năng nâng cao và đảm bảo chất lượng tốt hơn cho người dùng trả phí Chỗđặt quảng cáo trong trang không che tầm mắt hay gây phản cảm cho người dùng Ảnhquảng cáo phải là ảnh tĩnh và không quá lớn.
- Tránh hiệu ứng xã hội xấu trong mạng: Mạng sẽ chỉ sử dụng nút like mà không có cácnút như dislike…Tránh gây stress cho người khác
8 S đ ca s d ng ơ ồ ử ụ
Bảng mô tả các ca sử dụng chính:
Use case name : Quản lí nhóm ID: 1 Important level : High
Primary actor : Nhóm trưởng Use case type : Chi tiết, cần thiết
Stakeholders and interests :
- Nhóm trưởng : 1 thành viên trong hệ thống có thể tạo lập nhóm mới và quản trị nhóm đó
- Thành viên thông thường : có thể lấy thông tin chung về nhóm, đề nghị xin gia nhập, và
có quyền được join vào nhóm
11
Trang 12Brief Description : ca sử dụng này hướng dẫn cách tạo 1 nhóm mới, phân quyền cho các thànhviên, cách để 1 thành viên trong hệ thống xin tham gia vào nhóm.
Nomal Flow of Event :
Tài khoản gửi yêu cầu thành lập nhóm mới tới hệ thống
Hệ thống tạo một nhóm mới Thành viên đó trở thành nhóm trưởng
Nhóm trưởng gửi yêu cầu thêm thành viên cho nhóm
Hệ thống gửi thông báo mới gia nhập nhóm tới thành viên đó
Thành viên đồng ý gia nhập nhóm và trở thành thành viên nhóm đó
Thành viên khác yêu cầu gia nhập nhóm
Hệ thống gửi thông báo yêu cầu gia nhập tới nhóm trưởng
Nhóm trưởng đồng ý gia nhập cho thành viên đó
Subflows :
Alternate/Exceptional Flows :
Use case name : Quản lí công việc ID: 2 Important level : High
Primary actor : Thành viên trong nhóm Use case type : Chi tiết, cần thiết
Stakeholders and interests :
- nhóm trưởng : quyết định cuối cùng về phân chia công việc
- thành viên trong nhóm : xem công việc, tham gia góp ý nhận việc, chia sẻ thông tin vềcông việc(quá trình thực hiện, tài liệu liên quan, báo cáo kết quả)
Brief Description : ca sử dụng này hướng dẫn làm thế nào mọi thành viên có được sự thống nhất
và công bằng trong việc phân chia công việc chung, giúp quản lý lịch làm việc của các thànhviên và kết quả của họ Vói các thành viên ngoài nhóm vẫn có thể xem được tiến trình công việc
và hiểu được công việc đã được thực hiện như thế nào (nếu nhóm là nhóm mở)
Nomal Flow of Event :
Nhóm trưởng gửi yêu cầu tạo công việc mới tới hệ thống
Hệ thống tạo công việc mới cho nhóm đó
Hệ thống gửi thông báo tới thành viên nhóm thực hiện công việc đó
Thành viên nhóm xác nhận tham gia công việc
Sau khi hoàn thành, thành viên nhóm gửi yêu cầu thay đổi trạng thái công việc
Hệ thống thay đổi trạng thái cho công việc đó
Thành viên gửi báo cáo công việc
Hệ thống cập nhật báo cáo
Hệ thống gửi thông báo tới nhóm trưởng về trạng thái công việc
12
Trang 13Subflows :
Alternate/Exceptional Flows :
Use case name : Quản lí thông tin cá nhân ID: 3 Important level : High
Primary actor : Thành viên Use case type : Chi tiết, cần thiết
Stakeholders and interests :
- thành viên có thể thay đổi thông tin cá nhân của mình
- thành viên xem lịch làm việc, nội dung các công việc đã làm và sẽ làm
Brief Description : ca sử dụng này giúp thành viên dễ dàng theo dõi các công việc của mình( vì 1thành viên có thể tham gia công việc của nhiều nhóm khác nhau trong cùng 1 giai đoạn)
Nomal Flow of Event :
Tài khoản đăng nhập tài khoản vào hệ thống
Thành viên yêu gửi yêu cầu thay đổi thông tin cá nhân tới hệ thống
Hệ thống cập nhập thông tin cá nhân cho thành viên
Thành viên đăng xuất hệ thống
Subflows :
Alternate/Exceptional Flows :
Use case name : Giao tiếp thành viên ID: 4 Important level : NormalPrimary actor : Thành viên Use case type : Chi tiết
Stakeholders and interests :
thành viên có thể giao tiếp với nhau( chat, mail,tham gia trò chơi,… )Brief Description : ca sử dụng này giúp thành viên có thể chia sẽ thông tin công việc, tài liệu vớinhau và giúp nhắc nhở công việc của từng thành viên
Nomal Flow of Event :
Thành viên nhóm gửi yêu cầu thành lập cuộc hội thoại mới tới hệ thống
Thành viên nhóm thêm thành viên khác vào hội thoại
Hệ thống tạo cuộc hội thoại mới
Thành viên đó gửi tin nhắn mới tới cuộc hội thoại
Hệ thống thêm tin nhắn mới vào hội thoại
Flows :
13
Trang 14Alternate/Exceptional Flows :
Bảng quan hệ :
User case name Primary actor Relation ship
Association Include ExtendDang nhap he thong Thanh vien
Quan ly thong tin ca
nhan Thanh vien Dang nhap hethong
Quan ly nhom Nhom truong Thanh vien Dang nhap he
thong Giao tiep thanhvienQuan ly cong viec Nhom truong Thanh vien Dang nhap he
thong Giao tiep thanhvienDang ky tai khoan Nguoi dung moi
Sơ đồ ca sử dụng:
9 Xây d ng bi u đ l p ự ể ồ ớ
9.1 Li t kê danh sách l p cho các ca s d ng chính ệ ớ ử ụ
Sau đây, nhóm xin trình bày lưu đồ hoạt động và danh sách nhóm của 4 ca sử dụng chính là quản
lý nhóm, Quản lý công việc, Quản lý thông tin cá nhân và giao tiếp thành viên
Danh sách các lớp chính quản lý nhóm:
Thành viên
14