The First Project Report on Remote Draw Application by HCMC University of Technology and Education

Báo cáo dự án đầu tiên được trình bày từ xa. Tìm hiểu cách lập báo cáo dự án hiệu quả và chuyên nghiệp trong môi trường làm việc trực tuyến. Mẫu báo cáo hữu ích.

Chuyên ngành

Information Technology

Người đăng

Ẩn danh

Thể loại

project report

2019

41
2
0

Phí lưu trữ

30 Point

Tóm tắt

I. Hướng dẫn lập báo cáo dự án giveaway từ A Z hiệu quả

Việc lập báo cáo cho một dự án, đặc biệt là các sự kiện trực tuyến như "remote draw" hay giveaway, là một giai đoạn tối quan trọng. Một bản báo cáo không chỉ tổng kết kết quả mà còn là tài liệu quý giá để đánh giá hiệu quả dự án và rút ra kinh nghiệm. Báo cáo dự án giveaway cần phản ánh toàn diện các khía cạnh từ khâu lên ý tưởng, chuẩn bị kỹ thuật, triển khai cho đến khi công bố kết quả. Mục tiêu chính là cung cấp một cái nhìn tổng quan, minh bạch và chi tiết về toàn bộ quá trình tổ chức bốc thăm online. Báo cáo giúp các bên liên quan hiểu rõ mức độ thành công của chiến dịch, những điểm đã làm tốt và những khía cạnh cần cải thiện. Tài liệu này phải hệ thống hóa thông tin, từ việc xác định mục tiêu ban đầu, mô tả các trường hợp sử dụng (use case), cho đến việc phân tích kiến trúc hệ thống. Dựa trên nghiên cứu điển hình về dự án "Remote Draw" của sinh viên Đại học Sư phạm Kỹ thuật TP.HCM, một bản báo cáo cần bao gồm các mục tiêu rõ ràng, lợi ích cho người dùng, và mô tả chi tiết các chức năng hệ thống. Ví dụ, dự án này xác định mục tiêu cho phép nhiều người dùng tương tác trên một nền tảng, điều này tương tự như cách một digital giveaway platform cần xử lý nhiều người tham gia cùng lúc. Báo cáo cần được trình bày một cách logic, sử dụng các bảng biểu, sơ đồ để minh họa, giúp người đọc dễ dàng nắm bắt thông tin. Đây là nền tảng để xây dựng lòng tin và đảm bảo sự minh bạch trong bốc thăm, yếu tố sống còn của bất kỳ chương trình quay số may mắn nào.

1.1. Tầm quan trọng của một virtual raffle report chuyên nghiệp

Một virtual raffle report chuyên nghiệp không chỉ là văn bản tổng kết. Nó là công cụ chiến lược, thể hiện sự nghiêm túc và minh bạch của ban tổ chức. Báo cáo giúp chứng minh rằng quy trình quay số may mắn diễn ra công bằng, không có sự can thiệp từ bên ngoài. Hơn nữa, báo cáo cung cấp dữ liệu định lượng và định tính để đo lường mức độ thành công, chẳng hạn như số lượng người tham gia, tỷ lệ tương tác, và chi phí trên mỗi kết quả đạt được. Đây là cơ sở để cải tiến các sự kiện trong tương lai và tối ưu hóa ngân sách. Một báo cáo chi tiết cũng là một lessons learned project report, ghi lại những bài học kinh nghiệm xương máu, giúp đội ngũ tránh lặp lại sai lầm và phát huy những điểm mạnh.

1.2. Các thành phần cốt lõi trong một báo cáo dự án giveaway

Một báo cáo dự án giveaway toàn diện cần có các thành phần chính: tóm tắt dự án, mục tiêu và phạm vi, kế hoạch thực hiện, phân tích kỹ thuật, kết quả đạt được, và phần đánh giá. Phần phân tích kỹ thuật nên mô tả chi tiết về phần mềm bốc thăm ngẫu nhiên được sử dụng, kiến trúc hệ thống (client-server), và các luồng dữ liệu. Phần kết quả cần trình bày các số liệu cụ thể, danh sách người trúng giải và bằng chứng về việc trao giải. Cuối cùng, phần đánh giá và bài học kinh nghiệm sẽ tổng hợp lại những gì đã học được, cung cấp những khuyến nghị có giá trị cho các dự án tương tự trong tương lai.

II. Top 5 thách thức khi tổ chức bốc thăm online minh bạch

Việc tổ chức bốc thăm online mang lại nhiều lợi ích về quy mô và tốc độ, nhưng cũng đi kèm với không ít thách thức, đặc biệt là vấn đề về tính minh bạch và công bằng. Thách thức lớn nhất là xây dựng lòng tin từ người tham gia. Người tham gia cần tin rằng kết quả là hoàn toàn ngẫu nhiên và không bị thao túng. Một thách thức khác là quản lý dữ liệu người tham gia một cách an toàn và bảo mật, tránh rò rỉ thông tin cá nhân. Vấn đề kỹ thuật cũng là một rào cản lớn; hệ thống phải đủ mạnh để xử lý lượng truy cập lớn tại thời điểm livestream bốc thăm mà không bị sập. Việc lựa chọn phần mềm bốc thăm ngẫu nhiên phù hợp, đã được kiểm chứng cũng là một quyết định khó khăn. Cuối cùng, việc xây dựng một kịch bản livestream quay số hấp dẫn nhưng vẫn đảm bảo quy trình diễn ra suôn sẻ, đúng luật và không có sai sót là một nghệ thuật. Báo cáo dự án "Remote Draw" cho thấy, dù là một ứng dụng vẽ, việc quản lý kết nối đồng thời từ nhiều client đến server (thông qua các lớp như UserThreadClient) là một bài toán phức tạp. Tương tự, một hệ thống quay số phải quản lý hàng ngàn kết nối một cách ổn định để đảm bảo mọi người tham gia đều có cơ hội như nhau. Những thách thức này đòi hỏi một kế hoạch tổ chức sự kiện online kỹ lưỡng và một nền tảng công nghệ vững chắc.

2.1. Đảm bảo tính ngẫu nhiên và minh bạch trong bốc thăm

Yếu tố cốt lõi để đảm bảo minh bạch trong bốc thăm là sử dụng một thuật toán sinh số ngẫu nhiên (RNG - Random Number Generator) đã được chứng nhận. Quá trình này cần được công khai hóa, ví dụ như giải thích thuật toán đang sử dụng hoặc phát trực tiếp màn hình quay số. Việc ghi lại toàn bộ quá trình và công bố video sau sự kiện cũng là một cách hiệu quả để người tham gia có thể kiểm tra lại. Hơn nữa, việc công bố danh sách người tham gia hợp lệ trước khi quay số giúp loại bỏ các tranh cãi về sau.

2.2. Xử lý các vấn đề kỹ thuật khi livestream bốc thăm

Một buổi livestream bốc thăm thành công đòi hỏi sự chuẩn bị kỹ thuật chu đáo. Các vấn đề thường gặp bao gồm rớt mạng, chất lượng hình ảnh/âm thanh kém, hoặc phần mềm quay số bị treo. Để khắc phục, cần có đường truyền internet dự phòng, kiểm tra thiết bị kỹ lưỡng trước giờ G, và chạy thử chương trình nhiều lần. Việc có một đội ngũ kỹ thuật túc trực để xử lý sự cố ngay lập tức là rất quan trọng. Báo cáo "Remote Draw" đã mô tả kiến trúc mạng ứng dụng (Application network architecture), cho thấy tầm quan trọng của việc thiết kế một hệ thống client-server ổn định, có khả năng xử lý nhiều yêu cầu đồng thời, đây là bài học quý giá cho bất kỳ sự kiện trực tuyến nào.

III. Cách xây dựng kế hoạch tổ chức sự kiện online chi tiết

Một kế hoạch tổ chức sự kiện online chi tiết là bản đồ dẫn đến thành công cho bất kỳ chương trình giveaway nào. Kế hoạch này cần bắt đầu từ việc xác định mục tiêu rõ ràng: tăng nhận diện thương hiệu, thu thập dữ liệu khách hàng, hay thúc đẩy doanh số? Từ mục tiêu, ta xây dựng thể lệ chương trình, cơ cấu giải thưởng và đối tượng tham gia. Giai đoạn tiếp theo là lựa chọn nền tảng công nghệ. Điều này bao gồm việc quyết định kênh livestream (Facebook, YouTube), lựa chọn digital giveaway platform, và chuẩn bị các công cụ hỗ trợ. Bảng Work Assignment trong báo cáo "Remote Draw" là một ví dụ tuyệt vời về việc phân công công việc rõ ràng theo từng tuần, từ tìm hiểu yêu cầu, thiết kế giao diện cho đến lập trình. Tương tự, một kế hoạch giveaway cần phân chia nhiệm vụ cụ thể cho từng thành viên: ai phụ trách nội dung, ai quản lý kỹ thuật, ai tương tác với khán giả. Xây dựng một kịch bản livestream quay số chi tiết cũng là một phần không thể thiếu, bao gồm lời dẫn của MC, thời điểm tương tác, và quy trình công bố kết quả. Kế hoạch càng chi tiết, rủi ro phát sinh càng thấp và khả năng ứng phó với sự cố càng cao, đảm bảo chương trình diễn ra chuyên nghiệp và hiệu quả.

3.1. Phân tích Use Case và mô tả quy trình quay số may mắn

Phân tích các trường hợp sử dụng (Use Case) là bước đầu tiên để hiểu rõ yêu cầu hệ thống. Trong bối cảnh giveaway, các use case chính bao gồm: "Người dùng đăng ký tham gia", "Hệ thống xác thực thông tin", "Admin bắt đầu quay số", và "Hệ thống hiển thị kết quả". Tương tự như các bảng mô tả use case trong tài liệu "Remote Draw" (ví dụ: Table 1 – Use case Draw Shape description), mỗi use case của chương trình quay số cần được mô tả chi tiết về tác nhân (Actor), điều kiện tiên quyết (Preconditions), và các bước thực hiện. Việc này giúp đội ngũ kỹ thuật xây dựng một quy trình quay số may mắn logic và không có lỗ hổng.

3.2. Lựa chọn phần mềm bốc thăm ngẫu nhiên phù hợp

Việc lựa chọn phần mềm bốc thăm ngẫu nhiên ảnh hưởng trực tiếp đến sự thành công và tính minh bạch của sự kiện. Các tiêu chí lựa chọn bao gồm: uy tín của nhà cung cấp, khả năng tùy chỉnh giao diện, khả năng xử lý số lượng lớn người tham gia, và tính năng xuất báo cáo. Một số phần mềm cho phép nhập danh sách từ file Excel, tự động loại bỏ trùng lặp và có giao diện quay số sinh động. Trước khi quyết định, cần dùng thử và đọc các đánh giá từ người dùng khác để đảm bảo phần mềm hoạt động ổn định và đáng tin cậy.

IV. Quy trình quay số may mắn Phân tích kỹ thuật cốt lõi

Đằng sau một buổi quay số trực tuyến hấp dẫn là một hệ thống kỹ thuật phức tạp hoạt động một cách trơn tru. Về cơ bản, quy trình này dựa trên kiến trúc client-server, tương tự như mô hình được mô tả trong dự án "Remote Draw". Phía server có nhiệm vụ lưu trữ và quản lý toàn bộ dữ liệu người tham gia (tương tự lớp Datasource trong báo cáo), xử lý logic quay số, và đảm bảo tính ngẫu nhiên. Lớp Artboard trong dự án gốc, vốn lưu trữ thông tin về bản vẽ và các client kết nối, có thể được liên tưởng đến một "phòng quay số" ảo, nơi chứa danh sách người tham gia và trạng thái của sự kiện. Phía client là giao diện mà người dùng cuối và quản trị viên nhìn thấy, có nhiệm vụ gửi yêu cầu (đăng ký tham gia) và nhận kết quả từ server để hiển thị. Quá trình giao tiếp giữa client và server thường sử dụng giao thức Socket, cho phép truyền dữ liệu hai chiều theo thời gian thực. Các lớp ReadThreadWriteThread trong "Remote Draw" minh họa cách ứng dụng lắng nghe và gửi dữ liệu liên tục. Trong một sự kiện giveaway, cơ chế này đảm bảo rằng khi admin nhấn nút quay số, yêu cầu được gửi đến server, server xử lý và trả kết quả về cho tất cả client (khán giả) gần như ngay lập tức. Đây là nền tảng kỹ thuật để tạo ra một online contest summary chính xác và đáng tin cậy.

4.1. Vai trò của Server trong việc quản lý dữ liệu quay số

Server đóng vai trò là bộ não của toàn bộ hệ thống. Nó chịu trách nhiệm nhận và lưu trữ an toàn danh sách người tham gia, loại bỏ các mục không hợp lệ hoặc trùng lặp. Quan trọng nhất, server là nơi thực thi thuật toán quay số ngẫu nhiên. Bằng cách tập trung logic xử lý tại server, hệ thống đảm bảo rằng không một client nào có thể can thiệp vào kết quả. Lớp UserThread trong tài liệu gốc xử lý các yêu cầu từ một client cụ thể, như inviteAction hoặc joinAction. Trong một hệ thống giveaway, các hành động tương tự sẽ là registerAction hoặc startDrawAction, được server xử lý một cách độc lập và an toàn.

4.2. Giao tiếp Client Server trong một sự kiện trực tuyến

Giao tiếp hiệu quả giữa client và server là yếu tố sống còn. Khi buổi livestream bốc thăm bắt đầu, hàng nghìn client (người xem) kết nối đến server. Server phải có khả năng quảng bá (broadcast) thông tin đến tất cả các client cùng lúc. Phương thức broadcastMessage được đề cập trong lớp UserThread của dự án "Remote Draw" mô tả chính xác cơ chế này. Khi kết quả được xác định, server sẽ gửi một gói tin chứa thông tin người chiến thắng, và tất cả các client nhận được sẽ cập nhật giao diện của mình. Điều này tạo ra trải nghiệm xem đồng bộ và hấp dẫn cho tất cả mọi người.

V. Phương pháp đánh giá hiệu quả dự án bốc thăm trực tuyến

Sau khi sự kiện kết thúc, việc đánh giá hiệu quả dự án là bước không thể thiếu để đo lường lợi tức đầu tư (ROI) và rút kinh nghiệm. Việc đánh giá cần dựa trên các chỉ số hiệu suất chính (KPIs) đã được xác định từ giai đoạn lập kế hoạch. Các KPIs này có thể là: tổng số người đăng ký tham gia, số lượng người xem livestream đồng thời cao nhất, tỷ lệ tương tác (like, share, comment), và chi phí cho mỗi lượt tương tác. Việc thu thập dữ liệu này cần được hệ thống hóa trong một báo cáo tổng kết chương trình. Ngoài các chỉ số định lượng, việc thu thập phản hồi định tính từ người tham gia thông qua khảo sát hoặc bình luận cũng rất quan trọng. Những phản hồi này cung cấp cái nhìn sâu sắc về trải nghiệm của người dùng và những điểm cần cải thiện. Một phần quan trọng của việc đánh giá là phân tích kỹ thuật, tương tự như bảng Test cases trong báo cáo "Remote Draw". Cần kiểm tra xem hệ thống có gặp sự cố nào không, thời gian phản hồi của server là bao lâu, và liệu có bất kỳ khiếu nại nào về tính công bằng của kết quả hay không. Một bản lessons learned project report tốt sẽ tổng hợp tất cả các dữ liệu này, đưa ra kết luận rõ ràng về mức độ thành công của dự án và đề xuất các hành động cụ thể cho các lần tổ chức sau.

5.1. Xây dựng bộ chỉ số KPIs để đo lường thành công

Một bộ KPIs hiệu quả cần bám sát mục tiêu ban đầu của chiến dịch. Nếu mục tiêu là tăng nhận diện thương hiệu, các KPIs quan trọng sẽ là lượt tiếp cận (reach), lượt hiển thị (impressions), và số lượt nhắc đến thương hiệu (brand mentions). Nếu mục tiêu là thu thập khách hàng tiềm năng, KPI chính sẽ là số lượng email hoặc số điện thoại thu thập được. Việc xác định đúng KPIs ngay từ đầu giúp việc thu thập dữ liệu trở nên có mục đích và bản báo cáo tổng kết chương trình sẽ có giá trị thực tiễn cao hơn.

5.2. Phân tích dữ liệu và rút ra bài học kinh nghiệm Lessons Learned

Dữ liệu sau khi thu thập cần được phân tích để tìm ra các xu hướng và insight. Ví dụ, phân tích thời điểm nào trong buổi livestream có lượng người xem cao nhất có thể giúp tối ưu hóa kịch bản cho lần sau. So sánh hiệu quả của các kênh truyền thông khác nhau giúp phân bổ ngân sách hợp lý hơn. Phần quan trọng nhất là tổng hợp những phát hiện này thành một lessons learned project report. Tài liệu này nên trả lời các câu hỏi: Điều gì đã hoạt động tốt? Điều gì đã không hoạt động? Tại sao? Và chúng ta sẽ làm gì khác đi trong lần tới? Đây là tài sản tri thức quý giá của tổ chức.

20/09/2025

Trích đoạn nội dung tài liệu

HCMC UNIVERSITY OF TECHNOLOGY AND EDUCATION FACULTY FOR HIGH QUALITY TRAINING INFORMATION TECHNOLOGY THE FIRST PROJECT REPORT REMOTE DRAW LECTURER NAME : Dr. Nguyen Dang Quang STUDENT NAME : Le Duc Thinh STUDENT ID 17110076 STUDENT NAME : Nguyen Hoang Danh STUDENT ID 17110009 CLASS : 17110CLA Ho Chi Minh City, December 2019 2 Acknowledgment We express our sincere thanks to Mr. Nguyen Dang Quang, our project in charge, who guided us through the project. He gave valuable suggestions and guidance for completing the project, helped us to understand the intricate issues involved in project-making besides effectively presenting it.

These intricacies would have been lost otherwise. Our project has been a success only because of his guidance. Projects are made within ten weeks, just enough to complete it. However, due to much new knowledge as well as the time we do through each week is not optimal, the project will have many errors, which is inevitable.

We are looking forward to receiving all the comments of our teachers to help our limited knowledge better. Preface The purpose and objective of this training and mainly the content is time-being, and with this training, we have gained some confidence regarding introducing the application. We also believe that way we gained some sorts of IT knowledge, and if we practice much and having some expertise in the field, then we will be able to survive smartly in today’s competitive environment. The effort to write the report is a partial fulfilment to complete the course.

In the report, I try my best to represent all the content that we learned in a great deal in the program in a systematic and presentable order. I divided each of the topics as an individual chapter to reflect the entire topic more prominently and clearly. In reference, I have used the citation method in the entire report. Finally, I am very hopeful that the structure and topic of the report will be a useful material for all the reader, especially to the user.

4 List of images. 7 List of tables. Use case diagram. Use case description tables.

Graphic User Interface. 38 List of images Image 1 – Use Case Diagram. 10 Image 2 – Draw unfill and fill rectangle. 17 Image 3 – Draw a list of graphics objects.

20 Image 4 – Application network architecture. 21 List of tables Table 1 – Use case Draw Shape description. 11 Table 2 – Use case Pen description. 11 Table 3 – Use case Invite description.

11 Table 4 – Use case Join description. 11 Table 5 – Use case Leave description. 12 Table 6 – Use case Export description. 12 Table 7 – Use case Chat description.

12 Table 8 – Work Plan. 13 Table 9 – Work Assignment. 14 Table 10 – List of classes are used in the client application. 22 Table 11 – List of methods in DrawingObject class.

23 Table 12 – List of methods on Shape class. 23 Table 13 – List of methods of Rectangle class. 24 Table 14 – List of methods of Ellipse class. 25 Table 15 – List of methods of Eraser class.

25 Table 16 – List of methods of Stroke class. 26 Table 17 – List of methods of Infrastructure class. 26 Table 18 – List of methods of Drawing class. 29 Table 19 – List of methods of ReadThread class.

31 Table 20 – List of methods of WriteThread class. 31 Table 21 – List of classes are used in the server application. 31 Table 22 – List of methods of Artboard class. 32 Table 23 – List of methods of Client class.

32 Table 24 – List of methods of Datasource class. 33 Table 25 – List of methods of UserThread class. 33 Table 26 – GUI explanation. 35 Table 27 – Test cases.

Objectives The drawing board provides users abilities to customise their drawings; we could find some applications such as Windows Paint, Artweaver, GIMP, etc. However, these programs only available for one user at a time. Remote Draw can allow multiple users to draw on board simultaneously through the network, which helps users spread their idea to other people more comfortable. User benefits Similarly to other drawing application programs, the Remote Draw provides users with the abilities to draw, move, and modify graphics objects.

Essential drawing functions are:  Select: Select any shape and stroke on the artboard and move them to another position.  Undo: Return to the previous action.  Change colour: User can change colour with HSB, RGB and Web format.  Change the thickness of a stroke or border width of a shape.

 Erase: Clear everything when an eraser goes through, and the user can change the size of an eraser.  Pen: Draw strokes to canvas.  Shape: Draw rectangle and ellipse.  Export: Export the artboard into the PNG format.

With the ability to connect to the Internet, Remote Draw application also allows users to invite one or more friends to draw together. Furthermore, after connecting, users and their friends can chat with each other to spread their ideas before drawing something. Use case diagram Image 1 – Use Case Diagram 4. Use case description tables Table 1 – Use case Draw Shape description Use case name Draw Shape Description Allows user to draw a rectangle or an ellipse on the board Actor User Preconditions Click the Shape button and choose a specific shape Conditions affecting termination outcome Table 2 – Use case Pen description Use case name Pen Description Allows user to draw any stroke on the board Actor User Preconditions Click Pen button Conditions affecting termination outcome Table 3 – Use case Invite description Use case name Invite Description Allows user to invite other people to draw together Actor User Business event No.

Agent System 1 Click Invite button 2 A connection is established between user and server 3 The server sends a code to the user 4 The system displays the code to the chatbox Preconditions Server is running Conditions affecting The server is running, the connection is established successfully termination outcome The server is terminated, connection failed Table 4 – Use case Join description Use case name Join Description Allows user to join to a remote board Actor User Business event No. Agent System 1 Click Join button 2 A connection is established between user and server 3 The server sends all information of the remote board to the user 4 Render the drawing information to the board Preconditions Server is running Conditions affecting The server is running, the connection is established successfully termination outcome The server is terminated, connection failed Table 5 – Use case Leave description Use case name Leave Description Disconnect to server Actor User Business event No. Agent System 1 Click Leave button 2 Disconnect to the server Preconditions User is connected to the server Conditions affecting termination outcome Table 6 – Use case Export description Use case name Export Description Exports the current state of the board to a png file Actor User Business event No. Agent System 1 Click the export button 2 Show a dialogue for the user to choose the directory to store the image 3 Choose a specific folder 4 Export the image Preconditions Conditions affecting termination outcome Table 7 – Use case Chat description Use case name Chat Description Allow users to communicate with each other Actor User Business event No.

Agent System 1 Enter the message to a text box 2 Click Send button 3 Send the message to the server to broadcast to other people that are connected to the same artboard 4 Display the message to the chatbox Table 9 – Work Assignment Building an Remote Draw software using Java No. Goal Schedule Danh Thinh 1 Understand o o � � Requirement. 2 Describe the o o � � requirements of the project. 3 Learn Java o o o � � language.

4 Learn network o o o � programming. 5 Building o o o � � software architecture. 6 User interface o o � design. o o o o � � 18/11/2019 25/11/2019 07/10/2019 14/10/2019 21/10/2019 28/10/2019 02/12/2019 09/12/2019 11/11/2019 04/11/2019 Day Week 1 2 3 4 5 6 7 8 9 10 o – Begin Note o – Complete 50% o – Complete 100% III.

Process description Everything drawn on the application is objects; these objects have attributes that define them, such as position, colour, etc. The role of application is rendering all those Output: none. (95) Pseudocode: none 17 getName() Get the name of the user Infrastructu Le Duc Input: none.java Thinh Output: String (99) Pseudocode: none 18 setName(String name) Set the name of the user Infrastructu Le Duc Input: name.java Thinh Output: none. (103) Pseudocode: none 19 getResult() Get the result from the Infrastructu Le Duc Input: none.java Thinh Output: String (107) Pseudocode: none 20 setResult(String result) Set the result value Infrastructu Le Duc Input: result.java Thinh Output: none.java Thinh Input: notification.

Pseudocode: none 22 getNotification() Get notification from the Infrastructu Le Duc Input: none.java Thinh Output: String. (115) Pseudocode: none 23 setIncomingMessage(St Set incoming message for Infrastructu Le Duc ring incomingMessage) the application re.java Thinh Input: incomingMessage. Pseudocode: none 24 getIncomingMessage() Get the incoming Infrastructu Le Duc Input: none. message from the server re.java Thinh Output: String.

(123) Pseudocode: none 25 setOutgoingMessage(St Set outgoing message for Infrastructu Le Duc ring outgoingMessage) the application re.java Thinh Input: outgoingMessage. Pseudocode: none 26 getOutgoingMessage() Get the outgoing message Infrastructu Le Duc Input: none. from the server re.java Thinh Output: String. (131) Pseudocode: none List of methods of Drawing class Pseudocode: none corresponding to the position of the mouse when it is being dragged 9 initDrawEllipse(double x, double Add a new Drawing.ja Nguyen y, boolean fill, String color, int ellipse to va Hoang thickness) object list (222) Danh Input: x, y, fill, color, thickness when the Output: none.

mouse is Pseudocode: none. pressed 10 onDrawEllipse(double x, double y) Draw the latest Drawing.ja Nguyen Input: x,y. Output: ellipse in the va Hoang none Pseudocode: object list (232) Danh none corresponding to the position of mouse when it is being dragged 11 initDrawStroke(double x, double Add a new Drawing.ja Nguyen y, String color, int penSize) Input: stroke to va Hoang x, y, fill, color, penSize Output: object list (272) Danh none. when the Pseudocode: none.

mouse is pressed 12 onDrawStroke(double x, double y) Draw the latest Drawing.ja Nguyen Input: x,y. Output: stroke in the va Hoang none Pseudocode: object list (285) Danh none corresponding to the position of mouse when it is being dragged 13 initDrawEraser(double x, double Add a new Drawing.ja Nguyen y, double eraserSize) eraser to va Hoang Input: x, y, eraserSize Output: object list (296) Danh none. 14 onDrawEraser(double x, double y) Clear every Drawing.ja Nguyen Input: x,y. Output: stroke va Hoang none Pseudocode: corresponding (309) Danh none to the position of mouse when it is being dragged List of methods of ReadThread class Table 19 – List of methods of ReadThread class No.

Method Purpose File name, Responsible Line 1 run() Listen to data sent from ReadThrea Le Duc Input: none.java Thinh Output: none. 2 getSocket() Get current socket ReadThrea Le Duc Input: none.java Thinh Output: Socket. (82) Pseudocode: none 3 setSocket() Update socket ReadThrea Le Duc Input: none.java Thinh Output: Socket. (86) Pseudo code: none List of methods of WriteThread class Table 20 – List of methods of WriteThread class No.

Method Purpose File name, Responsible Line 1 run() Listen to data sent from WriteThrea Le Duc Input: none.java Thinh Output: none. 2 getSocket() Get current socket WriteThrea Le Duc Input: none.java Thinh Output: Socket. (82) Pseudocode: none 3 setSocket() Update socket WriteThrea Le Duc Input: none.java Thinh Output: Socket. Server List of classes are used in the server application Table 21 – List of classes are used in the server application No.

Nội dung được bảo vệ bản quyền — Tải xuống đầy đủ