Đề Tài: Xây Dựng Kho Dữ Liệu Kết Quả Khảo Sát Các Nhà Phát Triển

Đồ án kỹ thuật nghiên cứu kho dữ liệu đề tài xây dựng kho dữ liệu kết quả khảo sát developers, thiết kế chi tiết, tính toán kỹ thuật theo tiêu chuẩn, đánh giá tính khả thi dự án.

Trường đại học

Đại học Đà Nẵng

Chuyên ngành

Công nghệ thông tin

Người đăng

Ẩn danh

Thể loại

Đồ án

2023

87
3
0

Phí lưu trữ

30 Point

Mục lục chi tiết

LỜI CẢM ƠN

NHẬN XÉT CỦA GIẢNG VIÊN HƯỚNG DẪN

1. CHƯƠNG 1: LÝ DO CHỌN DATASET VÀ GIỚI THIỆU TỔNG QUAN DATASET

1.1. Lý do hình thành dự án

1.2. Vấn đề nhận thấy

1.3. Mục tiêu và ý nghĩa của dự án

1.4. Giới thiệu tổng quan Dataset

1.4.1. Nguồn dữ liệu sử dụng

1.4.2. Mô tả chi tiết dữ liệu

1.4.3. Thông số dataset

1.4.4. Dữ liệu sau khi trích xuất

1.4.5. Mô tả chi tiết các thuộc tính trong dataset

1.5. Giới thiệu các công cụ được sử dụng trong đồ án

2. CHƯƠNG 2: THIẾT KẾ XÂY DỰNG CƠ SỞ DỮ LIỆU TÁC NGHIỆP(OLAP)

2.1. Tiền xử lý dữ liệu

2.2. Trích chọn những thuộc tính cần thiết cho bảng fact chính

2.3. Thực hiện xử lý các bảng Fact con(các thuộc tính n-n)

2.4. Tạo bảng Dim

2.5. Dữ liệu sau khi sử lý và làm sạch

2.6. Tạo bảng Fact con

2.7. Lược đồ hình sao

2.8. Lược đồ hình bông tuyết

3. CHƯƠNG 3: TÍCH HỢP DỮ LIỆU VÀO KHO (SSIS)

3.1. Quá trình tạo mới project SSIS

3.2. Quá trình đổ dữ liệu từ excel vào database

3.2.1. Quá trình tạo Excel Connection Manager

3.2.2. Quá trình tạo OLE DB Connection

3.2.3. Quá trình tạo Control Flow

3.2.4. Kết quả chạy project

3.3. Quá trình đổ dữ liệu từ database vào kho dữ liệu

3.3.1. Quá trình tạo Connection Manager

TÀI LIỆU THAM KHẢO

Tóm tắt

I. Tổng Quan Về Xây Dựng Kho Dữ Liệu Kết Quả Khảo Sát

Xây dựng kho dữ liệu kết quả khảo sát các nhà phát triển là một nhiệm vụ quan trọng trong ngành công nghệ thông tin. Dự án này không chỉ giúp thu thập thông tin mà còn phân tích và đánh giá các xu hướng trong ngành. Việc xây dựng kho dữ liệu này sẽ cung cấp cái nhìn sâu sắc về nhu cầu nhân lực và công nghệ đang được ưa chuộng.

1.1. Lý Do Hình Thành Dự Án

Ngành công nghệ thông tin đang phát triển mạnh mẽ, nhưng vẫn gặp khó khăn trong việc cung cấp nhân lực chất lượng. Việc xây dựng kho dữ liệu sẽ giúp giải quyết vấn đề này.

1.2. Mục Tiêu Của Dự Án

Mục tiêu chính là tạo ra một kho dữ liệu phục vụ cho việc phân tích và dự đoán xu hướng công nghệ trong tương lai.

II. Vấn Đề Và Thách Thức Trong Xây Dựng Kho Dữ Liệu

Việc xây dựng kho dữ liệu không chỉ đơn thuần là thu thập dữ liệu mà còn phải đảm bảo tính chính xác và độ tin cậy của thông tin. Các thách thức bao gồm việc xử lý dữ liệu lớn và đảm bảo an toàn thông tin.

2.1. Thách Thức Về Dữ Liệu Lớn

Dữ liệu từ khảo sát có thể rất lớn, yêu cầu các phương pháp xử lý hiệu quả để đảm bảo không bị mất mát thông tin.

2.2. Đảm Bảo An Toàn Thông Tin

Cần có các biện pháp bảo mật để bảo vệ dữ liệu nhạy cảm của các nhà phát triển trong kho dữ liệu.

III. Phương Pháp Xây Dựng Kho Dữ Liệu Hiệu Quả

Để xây dựng kho dữ liệu hiệu quả, cần áp dụng các phương pháp hiện đại như ETL (Extract, Transform, Load) và OLAP (Online Analytical Processing). Những phương pháp này giúp tối ưu hóa quy trình xử lý và phân tích dữ liệu.

3.1. Quy Trình ETL

Quy trình ETL giúp trích xuất dữ liệu từ nhiều nguồn khác nhau, biến đổi dữ liệu thành định dạng phù hợp và tải vào kho dữ liệu.

3.2. Sử Dụng OLAP Để Phân Tích Dữ Liệu

OLAP cho phép phân tích dữ liệu theo nhiều chiều khác nhau, giúp người dùng dễ dàng truy cập và hiểu thông tin.

IV. Ứng Dụng Thực Tiễn Của Kho Dữ Liệu Kết Quả Khảo Sát

Kho dữ liệu này không chỉ phục vụ cho việc phân tích mà còn hỗ trợ các nhà phát triển trong việc cập nhật xu hướng công nghệ và mức lương trong ngành. Điều này giúp các doanh nghiệp có cái nhìn tổng quan hơn về thị trường nhân lực.

4.1. Cung Cấp Thông Tin Cho Doanh Nghiệp

Doanh nghiệp có thể sử dụng kho dữ liệu để đưa ra quyết định tuyển dụng và phát triển nhân lực.

4.2. Hỗ Trợ Các Nhà Phát Triển

Các nhà phát triển có thể tham khảo thông tin từ kho dữ liệu để nâng cao kỹ năng và cập nhật công nghệ mới.

V. Kết Luận Về Tương Lai Của Kho Dữ Liệu Kết Quả Khảo Sát

Kho dữ liệu kết quả khảo sát các nhà phát triển sẽ tiếp tục phát triển và mở rộng trong tương lai. Việc cập nhật thường xuyên và cải tiến quy trình sẽ giúp kho dữ liệu luôn đáp ứng nhu cầu của thị trường.

5.1. Xu Hướng Phát Triển Kho Dữ Liệu

Kho dữ liệu sẽ ngày càng trở nên quan trọng trong việc phân tích và dự đoán xu hướng công nghệ.

5.2. Tầm Quan Trọng Của Dữ Liệu Trong Ngành Công Nghệ

Dữ liệu sẽ là tài sản quý giá giúp các doanh nghiệp và nhà phát triển đưa ra quyết định chính xác hơn.

10/07/2025

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

Chương 1: LÝ DO CHỌN DATASET VÀ GIỚI THIỆU TỔNG QUAN DATASET 1. Lý do hình thành dự án 1. Vấn đề nhận thấy Ngành công nghệ thông tin, đặt biệt là ngành công nghiệp phần cứng điển tư, công nghiệp phần mềm và nội dung số đã duy trì tốc độ tăng trưởng cao, bình quân 30% năm. Thiếu hụt nhân lực công nghệ thông tin không phải vấn đề mới, nhưng với tốc độ phát triển chóng mặt như hiện nay, chúng ta vẫn chưa giải quyết được thực trạng này.

Theo ước tính, từ nay tới năm 2022, Việt Nam sẽ thiếu khoảng 400.000 nhân lực cho ngành công nghệ thông tin. Hơn thế, đào tạo nguồn nhân lực chất lượng cao là không hề dễ. Hiện tại, các doanh nghiệp công nghệ thông tin và truyền thông liên tục săn đón sinh viên ngay từ năm 3,4 đại học; sẵn sàng trả lương cao đồng thời cử họ sang nước ngoài du học. Các thông tin trên cho thấy rằng nhân sự cho các công ty công nghệ hiên đang rất được quan tâm.

Dẫn đến nhu cầu thu thập thông tin, phân tích đánh giá các nhân lực rất quan trọng. Cũng thông qua các nhân sự ngành công nghệ thông tin để biết được các ngôn ngữ, công nghệ đang được ưa chuộng, mức lương trong ngành. Để tạo ra báo cáo chính xác các thông tin về ngành nhân lực ngành công nghệ thông tin. Nên việc xây dựng kho dữ liệu các nhân sự ngành công nghệ thông tin là thực sự cần thiết.

Vì vậy nhóm em quyết định thực hiện xây dựng kho dữ liệu thông tin các nhân sự ngành công nghệ thông tin. Giải pháp Dựa trên nhu cầu thống kê, phân tích và khai thác dữ liệu các nhân sự trong ngành công nghệ thông tin. Giải pháp là xây dựng kho dữ liệu phục vụ mục đích phân tích, khai thác, và tạo báo cáo tổng. Đưa ra các dự đoán có thể xuất hiện trong năm sau.

Mục tiêu và ý nghĩa của dự án Thứ nhất là nghiên cứu học xây dựng một kho dữ liệu và OLAP. Xây dựng và phát triển ứng dụng nhằm phục vụ việc phân tích, khai thác, tạo cáo nhằm nắm rỏ xu hướng công nghệ đang được ưa chuộng, sự phân câp giữa các lâp trình viên, mức lương của họ theo từng quốc gia. Việc này giúp dễ dàng nhận biết xu hướng công nghệ, so sánh mức lương giữa các quốc gia. Hướng tới đối tượng sử dụng là: các nhà phát triển muốn cập nhật xu hướng, các danh nghiệp có nhu cầu tuyển dụng nhân sự công nghệ thông tin, … 1.

Giới thiệu tổng quan Dataset 1. Nguồn dữ liệu sử dụng 1 Nguồn dữ liệu được thu thập từ stackoverflow.com, dataset stackoverflow.com Developer Survey Result 2018. Mô tả chi tiết dữ liệu Với hơn 100.000 người tham gia thực hiện khảo sát đến từ 183 quốc gia và vùng lảnh thổ. Cây là cuộc khảo sát toàn diện nhất về các nhà pháy triển phần mềm từng được thực hiện.

Khảo sát kiểm tra tất cả các khía cạnh của nhà phát triển từ sự hài lòng nghề nghiệp cho đến giáo dục và những vấn đề liên quan đến lập trình. Thông số dataset Dữ liệu gồm có 2 bảng: survey_results_public có: 98.855 (dòng) * 129(cột), với mỗi dòng là một ngượi thực hiện một khảo sát Những câu trả đời đã được Stackoverflow xem xét, đủ điều kiện để có thể thực hiện phân tích dựa trên tỷ lệ hoàn thành và thời gian dành cho một khảo sát.441 người đã hoàn thành toàn bộ khảo sát. Dữ liệu sau khi trích xuất Thực hiện trích dữ liệu từ bảng survey_results_public: Lấy ra 98.855 (dòng) * 23(cột) phục vụ cho mục đích xây dựng kho dữ liệu và OLAP: Dữ liệu sau khi trích xuất từ dữ liệu gốc: Hình 1 Dữ liệu sau khi trích xuất 1 2 Hình 2 Dữ liệu sau khi trích xuất 2 1. Mô tả chi tiết các thuộc tính trong dataset Tên thuộc tính Mô tả Respondent ID nhà phát triển tham gia khảo sát, tạo tự động Hobby Code có phải là sở thích của bạn Country Bạn đang sống ở quốc gia nào? Student Bạn có phải là sinh viên? CompanySize Công ty bạn hiện nay có khoảng bao nhiêu nhân viên YearsCoding Bao gồm cả thời gian học, Thời gian bạn code là bao lâu? YearsCodingProf Bạn đã code chuyên gia trong bao lâu? JobSatisfaction Bạn có hài lòng với công việc hiện tại? Nếu bạn có nhiều công việc hãy trả lời công việc mà bạn dành nhiều thời gian nhất.

CareerSatisfaction Nhìn chung, cả có hài lòng với tất cả công việc bạn đang làm? ConvertedSalary Mức lương hàng năm của bạn khi chuyển qua USD với tỷ 3 giá ngày 18/01/2018.(Giả định một năm có 12 tháng làm việc hoặc 50 tuần làm việc) DevType Vị trí công việc hiện tại của bạn? CommunicationTools Bạn sử công cụ giao tiếp nào để giao tiếp với đồng nghiệp? Chọn những đáp án đúng với bạn. LanguageWorkedWith Chọn các ngôn ngữ mà bạn đang làm việc với nó? LanguageDesireNextYear Chọn các ngôn ngữ mà bạn muốn làm việc hoặc tìm hiểu trong năm tới? DatabaseWorkedWith Chọn các cơ sở dữ liệu mà bạn đang làm việc? DatabaseDesireNextYear Chọn các cơ sở dữ liệu mà bạn muốn làm việc hoặc tìm hiểu trong năm tới? IDE Chọn các IDE mà bạn sử dung thường xuyên? OperatingSystem Hệ điều hành chính mà bạn làm việc hiện tại? EthicsChoice Nếu được yêu cầu viêt code cho mục đích xấu, bạn có viết hay không? (Yes or No) HoursComputer Thời gian trung bình bạn dành cho máy tính là bao nhiêu? Exercise Trong một tuần bạn tập thể dục bao nhiêu lần? Gender Giới tính của bạn là? Age Bạn bao nhiêu tuổi? 1. Giới thiệu các công cụ được sử dụng trong đồ án ● Visual Studio 2022: Tích hợp các công nghệ o Business Intelligence o SQL server Data Tool(SSDT) ● SQL Server 2022 ● Ngôn ngữ lập trình: MDX, SQL, Python3 ● IDE sử dụng: Visual Studio 4 Chương 2. THIẾT KẾ XÂY DỰNG CƠ SỞ DỮ LIỆU TÁC NGHIỆP(OLAP) 2.

Tiền xử lý dữ liệu 2. Trích chọn những thuộc tính cần thiết cho bảng fact chính Tên thuộc tính Mô tả Respondent ID nhà phát triển tham gia khảo sát, tạo tự động Hobby Code có phải là sở thích của bạn Country Bạn đang sống ở quốc gia nào? Student Bạn có phải là sinh viên? CompanySize Công ty bạn hiện nay có khoảng bao nhiêu nhân viên YearsCoding Bao gồm cả thời gian học, Thời gian bạn code là bao lâu? YearsCodingProf Bạn đã code chuyên gia trong bao lâu? JobSatisfaction Bạn có hài lòng với công việc hiện tại? Nếu bạn có nhiều công việc hãy trả lời công việc mà bạn dành nhiều thời gian nhất. CareerSatisfaction Nhìn chung, cả có hài lòng với tất cả công việc bạn đang làm? ConvertedSalary Mức lương hàng năm của bạn khi chuyển qua USD với tỷ giá ngày 18/01/2018.(Giả định một năm có 12 tháng làm việc hoặc 50 tuần làm việc) OperatingSystem Hệ điều hành chính mà bạn làm việc hiện tại? EthicsChoice Nếu được yêu cầu viêt code cho mục đích xấu, bạn có viết hay không? (Yes or No) HoursComputer Thời gian trung bình bạn dành cho máy tính là bao nhiêu? Exercise Trong một tuần bạn tập thể dục bao nhiêu lần? Gender Giới tính của bạn là? Age Bạn bao nhiêu tuổi? 2. Thực hiện xử lý các bảng Fact con(các thuộc tính n-n) Sử dụng code Python thực hiện tách dữ liệu 1 thuộc tính trong dữ liệu gốc thành bảng FACT con và một bảng DIM.

Bảng FACT con chứa 2 thuộc tính, một là là khóa ngoại tới bảng FACT cha, thuộc tính còn lại là khóa ngoại tới bảng DIM vừa được tạo ra. Xử lý như trên với tất cả thuộc tính được chọn có cấu trúc nhiều – nhiều 2. Tạo bảng Dim Bước 1: Sao chép dữ liệu thuộc tính ra cột mới trong Excel Bước 2: Thực hiện lấy các giá trị trùng lặp(Chọn tag Data->Remov Duplicates) Bước 3: Thêm mới một cột phía trước với tiêu đề là ID Bước 4: Sinh Id tự động ứng tới tứng giá trị 5 Các bảng Dim thu được được thể hiện ở mục 2.3 Dữ liệu sau khi sử lý và làm sạch 2. Tạo bảng Fact con Sử dụng đoạn code Python3 để thực hiện tạo dữ liệu bảng fact con.

Mã nguồn: # tạo dictionary chức dữ liệu bảng dim gồm ID, và value IDE = { 10: 'Visual Studio Code', 1: 'Komodo', 2: 'IPython / Jupyter', 3: 'NA', 4: 'Visual Studio', 5: 'Notepad++', 6: 'IntelliJ', 7: 'Atom', 8: 'Eclipse', 9: 'Android Studio', 11: 'PHPStorm', 12: 'Vim', 13: 'NetBeans', 14: 'Emacs', 15: 'Xcode', 16: 'Sublime Text', 17: 'RStudio', 18: 'PyCharm', 19: 'Light Table', 20: 'RubyMine', 21: 'Coda', 22: 'TextMate', 23: 'Zend' } #Thực hiện chuyển đổi dữ liệu từ thuộc tính thành id def mo_file2(): # file IDE chứa dữ liệu thuộc tính cần tách # Không lấy tên cột từ excel cho file IDE file = open(r"file_phantach_data/IDE/IDE.txt") # file data3.txt chứa dữ liệu sau khi chuyển đổi dữ liệu thành ID của nó theo bảng DIM file2 = open("file_phantach_data/IDE/ID_DimIDE.txt", "w") for line in file: for key, value in sorted(IDE.items(), key=lambda x: len(x[1]), reverse=True): line = line.close() mo_file2() # Thực hiện tách mỗi dòng thành nhiều dòng # với cấu trúc "mã người khảo sát" - "mã thuộc tính trong bảng DIM" def mo_file3(): # file ID_DimDevType.txt chứa dữ liệu sau khi chuyển đổi dữ liệu thành ID của nó theo bảng DIM file = open(r"file_phantach_data/IDE/ID_DimIDE.txt") # file PK_fact_res.txt chưa dữ liệu khóa chính từ bảng fact chính # tức là ID người tham gia khảo sát được lấy từ dữ liêu gốc file2 = open(r"file_phantach_data/PK_fact_res.txt") 6 # file fact_res_DevType.txt là file nhận kết quả cuối cùng của bảng fact con # (đây là dữ liệu của bảng fact con) file3 = open("file_phantach_data/IDE/fact_res_IDE.txt", "w") str_arr = file2.read() arr = str_arr.split() print(len(arr)) arr2 = [] for line in file: arr2.split(";") for x in arr_temp: file3.close() mo_file3() Dữ liệu trong file IDE.txt: Hình 3 Dữ liệu trong file IDE.txt Dữ liệu trong file Dim_IDE.txt: 7 Hình 4 Dữ liệu trong file Dim_IDE.txt Dữ liệu trong file fact_res_IDE.txt: Hình 5 Dữ liệu trong file fact_res_IDE.txt Dữ liệu trong file PK_fact res.txt: 8 Hình 6 Dữ liệu trong file PK_fact res. Lược đồ hình sao Hình 7 Lược đồ hình sao 9 2. Lược đồ hình bông tuyết Hình 8 Lược đồ hình bông tuyết 10 Chương 3. TÍCH HỢP DỮ LIỆU VÀO KHO (SSIS) Ở chương này, Sử dụng công cụ SSIS xây dựng các gói tích hợp dữ liệu, cài đặt các gói chạy tự động.

Viết truy vấn đưa dữ liệu từ OLTP đến kho dữ liệu. Quá trình tạo project SSIS mới Chọn tag File -> New -> Project… Hình 9 Quá trình tạo project SSIS mới 1 Một dialog xuất hiện. Chọn Nhập SSIS trên hộp thoại tìm kiếm rồi chọn Integration Services Project 11 Hình 10 Quá trình tạo project SSIS mới 2 3. Quá trình đỗ dữ liệu từ excel vào database 3.

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

Tài liệu có tiêu đề Xây Dựng Kho Dữ Liệu Kết Quả Khảo Sát Các Nhà Phát Triển cung cấp cái nhìn sâu sắc về quy trình xây dựng và quản lý kho dữ liệu, đặc biệt trong bối cảnh khảo sát các nhà phát triển. Tài liệu này không chỉ nêu rõ các phương pháp thu thập và phân tích dữ liệu mà còn nhấn mạnh tầm quan trọng của việc tối ưu hóa quy trình để nâng cao hiệu quả làm việc. Độc giả sẽ tìm thấy những lợi ích thiết thực từ việc áp dụng các chiến lược này, giúp họ cải thiện khả năng ra quyết định và phát triển sản phẩm.

Để mở rộng thêm kiến thức về lĩnh vực này, bạn có thể tham khảo tài liệu Luận văn thạc sĩ phát triển phần mềm dựa trên microservices, nơi cung cấp cái nhìn sâu sắc về kiến trúc microservices và cách nó có thể cải thiện quy trình phát triển phần mềm. Những tài liệu này sẽ giúp bạn có thêm nhiều góc nhìn và kiến thức bổ ích trong việc xây dựng và quản lý kho dữ liệu hiệu quả.