1. Trang chủ
  2. » Luận Văn - Báo Cáo

Báo Cáo Đồ Án Học Phần Công Cụ Và Môi Trường Phát Triển Phần Mềm Đề Tài Website Lớp Học Trực Tuyến.pdf

18 0 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 18
Dung lượng 2,21 MB

Nội dung

Trong bối cảnh cuộc khủng hoảng dịch bệnh COVID-19 đang diễn ra trên toàn thế giới, việc học tập trực tuyến đã trở thành xu hướng chung của nhiều quốc gia, giúp cho các em học sinh/sinh

Trang 1

BỘ GIÁO DỤC VÀ ĐÀO TẠO

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ TP HCM

BÁO CÁO ĐỒ ÁN HỌC PHẦN

CÔNG CỤ VÀ MÔI TRƯỜNG PHÁT TRIỂN PHẦN MỀM

Đề

Ngành: Công nghệ thông tin

Giáo viên hướng dẫn : Nguyễn Chí Toàn

Tp Hồ Chí Minh, 04/2023

Trang 2

NHẬN XÉT CỦA GIÁO VIÊN

Trang 3

MỤC LỤC

LỜI CẢM ƠN 5

LỜI MỞ ĐẦU 6

CHƯƠNG 1: TỔNG QUAN VỀ DỰ ÁN 7

1.1 Lý do chọn dự án 7

1.2 Mô tả về dự án 7

CHƯƠNG 2: CƠ SỞ LÝ THUYẾT 8

2.1 GIT 8

2.2 JIRA 8

2.3 React 9

2.4 Các Template 10

2.4.1 Bootstrap 10

2.4.2 Material ui 10

CHƯƠNG 3: TÍNH ỨNG DỤNG CỦA GIT VS JIRA VÀ ỨNG DỤNG VÀO THỰC TẾ 11 CHƯƠNG 4: TỔNG KẾT BÁO CÁO DỰ ÁN 12

4.1 Kết Quả Đạt Được 12

4.2 Đánh Giá Phần Mềm 12

4.2.1 Ưu Điểm 12

4.2.2 Nhược Điểm 12

4.3 Hướng Phát Triển Trong Tương Lai 12

TÀI LIỆU THAM KHẢO 13

Trang 4

LỜI CẢM ƠN

Lời đầu tiên, nhóm xin đặc biệt gửi lời cảm ơn đến Thầy Toàn giảng viên hướng dẫn môn Công cụ và môi trường phát triển phần mềm Thầy đã cung cấp kiến thức, chỉ bảo và đóng góp những ý kiến quý báu giúp nhóm hoàn thành được báo cáo môn học của mình Xuất phát từ mục đích học tập, nhóm đã tìm hiểu và thực nghiệm để tạo nên dự án Website lớp học trực tuyến Trong quá trình thực hiện báo cáo môn học, dựa trên những kiến thức được Thầy cung cấp trên trường kết hợp với việc tự tìm hiểu nhóm đã cố gắng thực hiện báo cáo một cách tốt nhất

Tuy nhiên, báo cáo chưa hoàn thiện và còn nhiều sai sót nhưng nó là kết quả của sự

nỗ lực của các thành viên trong nhóm, cũng như sự giúp đỡ của tất cả bạn bè và Thầy Nhóm rất mong nhận sự góp ý từ phía Thầy nhằm rút ra những kinh nghiệm quý báu và hoàn thiện vốn kiến thức để nhóm có thể tiếp tục hoàn thành những báo cáo đồ án khác trong tương lai

Xin chân thành cảm ơn Thầy!

Trang 5

LỜI MỞ ĐẦU

Ngày nay công nghệ thông tin đang ngày càng phát triển nhanh chóng, kéo theo đó là

hệ thống mạng và các phần mềm cũng gia tăng cả về số lượng theo quy mô rộng và cả về chất lượng phần mềm theo chiều sâu Các hình thức học tập hiện nay đã lỗi thời và bất tiện Trong môi trường công nghệ đã ngày càng phát triển thì hình thức học trực tuyến cho sinh viên/học sinh là điều kiện cần để phát triển tư duy máy tính và học tập 1 cách dễ dàng hơn

Do đó yêu cầu đặt ra là cần có 1 website để hỗ trợ cho giáo viên và sinh viên/học sinh

có thể học tập tại nhà 1 cách dễ dàng nhanh chóng Sau khi hiểu được những vấn đề nêu trên chúng em đã tạo ra website học trực tuyến này để đáp ứng những điều đó

Trang 6

CHƯƠNG 1: TỔNG QUAN VỀ DỰ ÁN

1.1 Lý do chọn dự án.

Trong bối cảnh cuộc khủng hoảng dịch bệnh COVID-19 đang diễn ra trên toàn thế giới, việc học tập trực tuyến đã trở thành xu hướng chung của nhiều quốc gia, giúp cho các

em học sinh/sinh viên tiếp cận kiến thức một cách tiện lợi, nhanh chóng và an toàn Trong trường hợp này, Website lớp học trực tuyến là một trong những nền tảng giáo dục cần có Website lớp học trực tuyến là một nền tảng giáo dục cung cấp một môi trường học tập đơn giản và dễ sử dụng cho học sinh/sinh viên và giáo viên Nó cho phép giáo viên tạo và chia sẻ các nhiệm vụ học tập trực tuyến, theo dõi tiến độ học tập của học sinh, đăng tải tài liệu học tập và tương tác với học sinh trong thời gian thực Các học sinh/sinh viên cũng có thể dễ dàng truy cập các tài liệu học tập, gửi bài tập và nhận phản hồi từ giáo viên một cách nhanh chóng và dễ dàng

Ngoài ra, Website lớp học trực tuyến còn có các tính năng như đăng nhập/đăng ký ,

mã hóa dữ liệu và quản lý quyền truy cập Điều này giúp đảm bảo rằng các thông tin liên quan đến học tập của học sinh sẽ được bảo vệ và giữ an toàn

Trang 7

CHƯƠNG 2: CƠ SỞ LÝ THUYẾT 2.1 GIT

Git là một hệ thống quản lý phiên bản phân tán (distributed version control system) Nhờ Git, việc quản lý code và làm việc nhóm của developer trở nên đơn giản, thuận tiện hơn

Có rất nhiều cách để định nghĩa Git, ở đây em sẽ tách nhỏ ra và giải thích chi tiết ngữ nghĩa

 Hệ thống kiểm soát (Control System): Về cơ bản, điều này có nghĩa Git là một trình theo dõi nội dung, do đó, Git có thể được sử dụng để lưu trữ nội dung và chủ yếu được sử dụng để lưu trữ source code dựa theo những tính năng mà nó cung cấp

 Hệ thống kiếm soát phiên bản (Version Control System): Source code lưu trữ trong Git sẽ thay đổi khi có càng nhiều source code mới được thêm vào Hơn nữa, nhiều developer có thể add thêm source code song song đó Vì vậy Hệ thống kiểm soát phiên bản giúp xử lý vấn đề này bằng cách duy trì lịch sử những thay đổi đã xảy ra Thêm vào đó, Git còn cung cấp các tính năng như nhánh (branch) và gộp nhánh (merge)

 Hệ thống kiểm soát phiên bản phân tán (Distributed Version Control System): Git có một kho lưu trữ từ xa được lưu trữ trong một máy chủ và một kho lưu trữ cục bộ được lưu trữ trong máy tính của mỗi developer Điều này có nghĩa là source code không chỉ

Trang 8

được lưu trữ trong máy chủ trung tâm mà bản sao đầy đủ của source code đó cũng được lưu trữ trong tất cả các máy tính của developer

2.2 JIRA

Jira là một ứng dụng theo dõi và quản lý lỗi, vấn đề và dự án, được phát triển để làm quy trình này trở nên dễ dàng hơn cho mọi tổ chức JIRA đã được thiết kế với trọng tâm vào kết quả công việc, có thể sử dụng ngay và linh hoạt khi sử dụng

2.3 React

React là thư viện JavaScript phổ biến nhất để xây dựng giao diện người dùng (UI) Nó cho tốc độ phản hồi tuyệt vời khi user nhập liệu bằng cách sử dụng phương pháp mới để render trang web

Components của công cụ này được phát triển bởi Facebook Nó được ra mắt như một công

cụ JavaScript mã nguồn mở vào năm 2013 Hiện tại, nó đã đi trước các đối thủ chính như Angular và Bootstrap, hai thư viện JavaScript bán chạy nhất thời bấy giờ

2.4 Các Template

2.4.1 Bootstrap

Bootstrap là một framework CSS miễn phí sử

dụng mã nguồn mở dùng cho mục đích phát triển web

front-end cho thiết bị di động Bên cạnh những mẫu thiết

kế kiểu chữ, biểu mẫu, nút hay thanh điều hướng bằng

Trang 9

ngôn ngữ HTML, CSS và JavaScript, framework này còn bao gồm một số thành phần giao diện khác

2.4.2 Material ui

Material UI là một thư viện các React Component đã được tích hợp thêm cả Google's Material Design Theo như giới thiệu trên trang chủ thì được xây

dựng nhờ tình cảm với React và Google's Material Design Do đó

mà phần hướng dẫn trên trang chủ của Material UI cũng đã nói nên

sử dụng Material UI với React

Trang 10

CHƯƠNG 3: TÍNH ỨNG DỤNG CỦA GIT, JIRA VÀ ỨNG DỤNG

VÀO DỰ ÁN

3.1 GIT

3.1.1 Ứng dụng của Git

 Giúp quản lý mã nguồn đơn giản, an toàn và dễ sử dụng

 Tối ưu hóa việc quản lý source code khi làm việc theo nhóm bằng cách chia và kết hợp ra các nhánh (branch)

 Dễ dàng tích hợp CI/CD trong việc deployment với git

 Có thể dễ dàng lấy source code ở bất kỳ đâu chỉ cần clone từ git server về máy của bạn

Thực tế dự án thường có nhiều developer làm việc song song Vì vậy, một hệ thống kiểm soát phiên bản như Git là cần thiết để đảm bảo không có xung đột source code giữa các các developer với nhau

Ngoài ra, requirement trong dự án thay đổi thường xuyên Do đó, hệ thống kiểm soát phiên bản cho phép developer có thể quay lại (revert) phiên bản source code cũ hơn Cuối cùng, đôi khi cũng có trường hợp nhiều dự án chạy song song cùng liên quan đến một codebase Trong trường hợp như vậy, khái niệm phân nhánh trong Git là cực kỳ quan trọng

3.1.2 Workflow khi làm việc với Git

 Clone git repository ở git server về máy local của bạn (clone remote repository => local repository)

 Tạo mới local branch như một nơi làm việc (workspace) của riêng bạn

 Chỉnh sửa source code (thêm, xóa, sửa files)

 Kiểm tra các thay đổi source code Thường ở bước này mình sẽ tạo một pull request

từ branch của mình vào branch chính (master) => Review code

 Sau khi review code ok, không có vấn đề => Commit code (lúc này vẫn ở local branch)

 Sau đó push code để đẩy code từ local lên remote server git Lúc này local branch của

Trang 11

bạn đã liên kết với remote branch và được lưu ở git server.

3.1.3 Ứng dụng Git vào website Lớp học trực tuyến

Thành viên trưởng nhóm đã tạo 1 Repostiory trên github.com - nơi lưu trữ chứa mã nguồn (source code) và tất cả thông tin liên quan đến việc sửa đổi và lịch sử của toàn bộ project (dự án)

Trang 12

Tất cả thành viên đều có nhiệm vụ dung Git Clone để lấy source code từ remote repository ở git server về máy local Sau đó tạo một branch mới để

code các chức năng trong dự án

Khi nhóm làm một tính năng (feature) mới nhóm có

thể tạo ra một branch riêng để code cho feature này Sau

khi feature hoàn thành ta có thể merge code vào branch

chính (master)

Hoặc trong team có nhiều team members nhóm có thể chia repository thành nhiều branch Với mỗi branch cho một người

Việc chia thành các branch riêng biệt rất tiện lợi cho việc làm việc theo nhóm và tách biệt source code, cùng lúc chỉnh sửa trên 1 repository

Trang 13

Thành viên nhóm dùng Git commit để ghi lại sự thay đổi của các files trong source code (add, update, remove) kèm với messages tương ứng Nhóm có thể xem lại lịch sử của các lần commit trước đó để biết có sự thay đổi gì trong source code Ở đây nhóm đã dùng TortoiseGit để xem các sự thay đổi

Trang 14

Sau khi chia nhánh và hoàn thiện chức năng, mỗi thành viên sẽ dung Git push đẩy dữ liệu từ local repository lên remote repository (git server) Dữ liệu ở đây bao gồm các files thay đổi, các branchs mới, các thông tin chung về git Sau đó dùng lệnh git merge cho phép merge các branch lại với nhau

3.2 JIRA

3.2.1 Ứng Dụng của Jira

 Quản lý, theo dõi tiến độ của dự án

 Quản lý lỗi, tính năng, công việc, những cải tiến hoặc bất kỳ vấn đề gì

 Tìm kiếm nhanh chóng với bộ lọc JIRA Query Language

 Xây dựng quy trình làm việc tương thích với yêu cầu của từng dự án

 Cung cấp nhiều loại báo cáo thống kê với rất nhiều loại biểu đồ khác nhau phù hợp với nhiều loại hình dự án, nhiều đối tượng người dùng

 Dễ dàng tích hợp với các hệ thống khác (như Email, Excel, RSS…)

 Có thể chạy trên hầu hết các nền tảng phần cứng, hệ điều hành và cơ sở dữ liệu

3.2.2 Vì sao nên dùng Jira

 Dễ dàng lựa chọn nhiều loại dự án với các mục đích khác nhau

 Dễ dàng lên kế hoạch, phân chia nhiệm vụ cho các thành viên

 Tạo ra quy trình làm việc hiệu quả

 Dễ dàng quản lý nhiều dự án phần mềm cùng lúc

 Bộ lọc JIRA Query Language giúp tìm kiếm nhanh chóng

 Dễ dàng đưa ra các báo cáo phân tích tình hình dự án một cách nhanh chóng, chính xác và hiệu quả

 Hơn 950 add-on mang đến các tính năng nâng cao

 Giao diện thân thiện, rõ ràng, dễ thao tác, thích hợp với mọi đối tượng người sử dụng

3.2.3 Các thành phần cơ bản của Jira

 Roles: Xác lập các role của dự án, Mục này xác nhận ai tham gia vào dự án, những người add vào role thì mới có thể tạo Resource Allocation và project team sau này Nhiều người có thể vào 1 role

 Issue: là các tasks, các bugs, các features hay bất kỳ các type khác của project work

 Project: Chức năng này dùng để phân quyền approve worklog cho thành viên của dự

Trang 15

án Ai là team lead của group nào thì sẽ được approve worklog cho member của group đó Project management được quyền approve cho toàn bộ thành viên dự án

 Component là sản phẩm của dự án Ở đây sẽ nhập tất cả sản phẩm của dự án lấy từ file kế hoạch doanh số Nếu dự án làm theo Scrum thì sẽ là Product của Sprint tương ứng

 Workflow: Là một quản trị JIRA, bạn có thể cấu hình gây nên quy trình làm việc, điều kiện, xác nhận, và sau chức năng Trang này sẽ cung cấp một cái nhìn tổng quan

và các bước cơ bản cho từng phần của công việc của bạn

 Priority: Là mức độ ưu tiên của một defect Có 4 mức, chọn theo datalist

 Status: Đại diện cho các vị trí của vấn đề trong workflow

 Resolution

3.2.4 Ứng dụng Jira vào website Lớp học trực tuyến

Jira giúp nhóm quản lý những điều cần phải làm trong 1 workflow cụ thể

Sau đó từng công việc sẽ được phân phối theo từng giai đoạn của workflow

Trang 16

CHƯƠNG 4: TỔNG KẾT BÁO CÁO DỰ ÁN

4.1 Kết Quả Đạt Được

Dự án website lớp học trực tuyến đã ứng dụng tốt 2 phần mềm Git và Jira để quản lý công việc 1 cách chuyên nghiệp và hiệu quả

4.2 Những gì còn thiếu sót, chưa đạt

Dự án chưa dùng hết tất cả các tính năng của 2 phần mềm, do đó còn bỏ sót rất nhiều tính năng hay ho của công cụ để có thể làm việc 1 cách hiệu quả hơn, chi tiết hơn và đạt đến sự rủi ro thấp nhất

4.3 Đánh Giá Phần Mềm Git vs Jira

4.3.1 Ưu Điểm

 Dễ sử dụng: Giao diện đơn giản và dễ sử dụng, giúp cho giáo viên và học sinh dễ dàng thao tác và sử dụng nền tảng

 Jira có chức năng phân quyền cực kỳ chi tiết, không chỉ phân quyền trong dự án chung, mà còn phân quyền đối với từng nhiệm vụ, giúp team công nghệ bảo vệ thông tin độc quyền của mình

Trang 17

4.3.2 Nhược Điểm

 Tốn nhiều thời gian và công sức để setup nên chỉ phát huy tối ưu hiệu quả với dự án lớn, không phù hợp với dự án vừa và nhỏ (dưới 3 tháng)

 Ngôn ngữ tiếng Anh với nhiều thuật ngữ khó sử dụng

 Quy trình làm việc phức tạp đòi hỏi phải tìm hiểu kỹ lưỡng

4.4 Hướng Phát Triển Trong Tương Lai

 Sử dụng hết 100% chức năng của phần mềm

 Ứng dụng tốt vào tất cả dự án của bản than cũng như công ty sắp tới

Trang 18

TÀI LIỆU THAM KHẢO

1 https://git-scm.com/

2 https://www.ilook.asia/thu-thuat/download/kien-thuc-ve-git-phan-1-nhung-khai-niem-va-thuat-ngu-co-ban-ve-git-90.html

3 https://backlog.com/git-tutorial/creating-a-repository/

4 https://vn.got-it.ai/blog/huong-dan-cach-tao-branch-trong-git

5 https://www.tutorialspoint.com/git/git_life_cycle.htm#

6 https://github.com/Kunena/Kunena-Forum/wiki/Create-a-new-branch-with-git-and-manage-branches

7 https://backlog.com/git-tutorial/vn/intro/intro1_3.html

8 https://www.atlassian.com/git/tutorials/syncing/git-push

9 https://xuanthulab.net/lenh-git-merge-va-rebase-gop-va-viet-lai-lich-su-commit.html

Ngày đăng: 14/11/2024, 20:24

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN