1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Báo cáo chuyên đề học phần đề ti xây dựng website tìm kiếm việc lm

68 2 0

Đ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

TRƯỜNG ĐẠI HỌC ĐIỆN LỰC KHOA CÔNG NGHỆ THÔNG TIN BÁO CÁO CHUYÊN ĐỀ HỌC PHẦN ĐỀ TI: XÂY DỰNG WEBSITE TÌM KIẾM VIỆC LM Sinh viên thực : LÊ VĂN CHIẾN, NGUYỄN HỮU KHÁNH Giảng viên hướng dẫn : Thầy PHƯƠNG VĂN CẢNH Ngành : CÔNG NGHỆ THÔNG TIN Chuyên ngành : CNPM Lớp :D14CNPM5 Khóa : 2019-2023 Hà Nội, ngày 10 tháng 06 năm 2021 PHIẾU CHẤM ĐIỂM Sinh viên thực Họ tên Chữ ký Ghi Chú Chữ ký Ghi Lê Văn Chiến Nguyễn Hữu Khánh Giảng viên chấm Họ tên Giảng viên chấm Giảng viên chấm 2 LỜI CÁM ƠN Lời nhóm xin phép gửi lời cảm ơn chân thành sâu sắc đến với Khoa Công Nghệ Thông Tin – Trường Đại học Điện Lực tạo điều kiện cho nhóm chúng em học tập, phát triển tảng kiến thức sâu sắc thực đề tài Bên cạnh nhóm chúng em xin gửi đến thầy Nguyễn Văn C lời cảm ơn sâu sắc Trải qua trình dài học tập thực đề tài thời gian qua Thầy tận tâm bảo nhiệt tình nhóm chúng em suốt trình từ lúc bắt đầu kết thúc đề tài Nhờ có tảng kiến thức chuyên ngành vững cộng thêm với kinh nhiệm yêu cầu thực tế xã hội thông qua việc học trường chuyến thực tế thu thập ý kiến người dùng Tập thể thầy cô Khoa Công Nghệ Thông Tin đặc biệt thầy Nguyễn Văn C tặng cho chúng em khối lượng kiến thức kinh nghiệm khổng lồ chuyên ngành công việc tương lai Đặc biệt điều giúp thúc chúng em hoàn thành đề tài Chúng em thật cảm ơn khắc ghi kiến thức Đây hành trang vô lớn chúng em trước bước sống Tuy nhiên lượng kiến thức vô tận với khả hạn hẹp chúng em cố gắng để hồn thành cách tốt Chính việc xảy thiếu sót điều khó tránh khỏi Chúng em hi vọng nhận góp ý tận tình q thầy (cơ) qua chúng em rút học kinh nghiệm hoàn thiện cải thiện nâng cấp lại sản phẩm cách tốt đẹp Cuối lần chúng em xin gửi lời cảm ơn sâu sắc đến với thầy tập thể quý thầy (cô) Khoa Công Nghệ Thông Tin – Trường Đại học Điện Lực Chúc thầy có sức khỏe thật tốt! Em xin chân thành cảm ơn! Nhóm sinh viên thực hiện: Lê Văn Chiến – Nguyễn Hữu Khánh MỤC LỤC PHẦN MỞ ĐẦU TÍNH CẤP THIẾT CỦA ĐỀ TÀI MỤC TIÊU CỦA ĐỀ TÀI PHƯƠNG PHÁP THỰC HIỆN PHẦN NỘI DUNG CHƯƠNG 1: KHẢO SÁT HIỆN TRẠNG PHÂN TÍCH HIỆN TRẠNG KHẢO SÁT MỘT SỐ TRANG WEB PHÂN TÍCH YÊU CẦU CỦA DỰ ÁN YÊU CẦU CHỨC NĂNG NGHIỆP VỤ DANH SÁCH YÊU CẦU CHỨC NĂNG NGHIỆP VỤ DANH SÁCH YÊU CẦU CHỨC NĂNG HỆ THỐNG CHƯƠNG 2: CƠ SỞ LÝ THUYẾT REACTJS NODEJS RESTFUL API CSS CHƯƠNG 3: MƠ HÌNH HĨA U CẦU LƯỢC ĐỒ CHỨC NĂNG MÔ TẢ CHI TIẾT TỪNG TÁC NHÂN VÀ TỪNG CHỨC NĂNG CHƯƠNG : THIẾT KẾ HỆ THỐNG CƠ SỞ DỮ LIỆU THIẾT KẾ GIAO DIỆN VÀ XỬ LÝ CHƯƠNG 5: CÀI ĐẶT VÀ KIỂM THỬ HỆ THỐNG CÀI ĐẶT HỆ THỐNG KIỂM THỬ PHẦN MỀM PHẦN KẾT LUẬN NHỮNG KẾT QUẢ ĐẠT ĐƯỢC ƯU ĐIỂM NHƯỢC ĐIỂM HƯỚNG PHÁT TRIỂN DANH SÁCH TÀI LIỆU THAM KHẢO KẾ HOẠCH THỰC HIỆN STT Thời gian 1/10/2021 – 10/10/2021 10/10/2021 – 19/10/2021 20/10/2021 – 14/11/2021 14/11/2021 – 24/11/2021 24/11/2021 – 14/11/2021 15/11/2021 – 9/12/2021 10/12/2021 – 20/12/2021 20/12/2021 – 28/12/2021 29/12/2021 – 3/01/2022 Công việc Khảo sát thực trạng xác định yêu cầu cho website Xác định chức người dùng, vẽ lược đồ chức năng, lược đồ Thiết kế đặc tả sở liệu Thiết kế giao diện Code xử lý chức Admin Code xử lý chức User Kiểm thử phần giao diện chức Sửa lỗi phát qua trình kiểm tra Hồn thành tài liệu liên quan, viết báo cáo Ghi MỤC LỤ LỜI CÁM ƠN .4 NHIỆM VỤ TIỂU LUẬN CHUYÊN NGNH DANH SÁCH HÌNH 10 DANH SÁCH BẢNG .1 PHẦN MỞ ĐẦU 1 TÍNH CẤP THIẾT CỦA ĐỀ TI MỤC TIÊU CỦA ĐỀ TI PHƯƠNG PHÁP THỰC HIỆN PHẦN NỘI DUNG CHƯƠNG 1: KHẢO SÁT HIỆN TRẠNG .2 1.1 PHÂN TÍCH HIỆN TRẠNG .2 1.2 KHẢO SÁT MỘT SỐ TRANG WEB .2 1.3 1.4 PHÂN TÍCH YÊU CẦU CỦA DỰ ÁN .8 YÊU CẦU CHỨC NĂNG NGHIỆP VỤ 1.5 DANH SÁCH YÊU CẦU CHỨC NĂNG NGHIỆP VỤ 1.6 DANH SÁCH YÊU CẦU CHỨC NĂNG HỆ THỐNG 11 CHƯƠNG 2: CƠ SỞ LÝ THUYẾT 13 2.1 2.2 REACTJS 13 NODEJS 13 2.3 RESTFUL API 14 2.4 CSS 16 CHƯƠNG 3: MƠ HÌNH HĨA U CẦU 16 3.1 3.2 LƯỢC ĐỒ CHỨC NĂNG .16 MÔ TẢ CHI TIẾT TỪNG TÁC NHÂN V TỪNG CHỨC NĂNG 18 CHƯƠNG 4: THIẾT KẾ HỆ THỐNG 21 4.1 THIẾT KẾ CƠ SỞ DỮ LIỆU 21 4.2 THIẾT KẾ GIAO DIỆN V XỬ LÝ 30 CHƯƠNG 5: CI ĐẶT V KIỂM THỬ HỆ THỐNG 50 5.1 CI ĐẶT HỆ THỐNG 50 5.2 KIỂM THỬ PHẦN MỀM .50 PHẦN KẾT LUẬN 57 NHỮNG KẾT QUẢ ĐẠT ĐƯỢC .57 ƯU ĐIỂM 57 NHƯỢC ĐIỂM 58 Recommandé pour toi Suite du document ci-dessous Homework-2 - homework Đồ Hoa Máy Tính 26 Aucun Lab os dvasdvfabb sdvdcacsac dsvsdvcxacsc câxssce Đồ Hoa Máy Tính Aucun HƯỚNG PHÁT TRIỂN .58 DANH SÁCH TÀI LIỆU THAM KHẢO 59 DANH SÁCH HÌNH Hình 1: Trang chủ itviec Error: Reference source not found Hình 2: Trang đăng nhập itviec Error: Reference source not found Hình 3: Trang đăng ký itviec .Error: Reference source not found Hình 4: Trang ứng tuyển việc làm itviec Error: Reference source not found Hình 5: Trang chủ topdev .Error: Reference source not found Hình 6: Trang đăng nhập topdev Error: Reference source not found Hình 7: Trang đăng tuyển topdev Error: Reference source not found Hình 8: Trang ứng tuyển việc làm topdev Error: Reference source not found Hình 9: Trang chủ devword .Error: Reference source not found Hình 10: Trang đăng nhập devword Error: Reference source not found Hình 11: Trang ứng tuyển việc làm devword Error: Reference source not found Hình 12: RESTful API Design .14 Hình 13: Cách hoạt động RESTful API 15 Hình 14: Lược đồ chức quản trị viên 17 Hình 15: Lược đồ chức ứng viên 17 Hình 16: Lược đồ chức nhà tuyển dụng 18 Hình 17 + 18 +19: Cơ sở liệu 21 Hình 20: Trang chủ .30 Hình 21: Trang đăng nhập 31 Hình 22: Trang đăng ký 33 Hình 23: Trang quản lý quản trị viên .35 Hình 24: Trang quản lý tài khoản người dùng quản trị viên 38 Hình 25: Trang quản lý công ty .39 Hình 26: Trang quản lý việc làm đăng tuyển công ty .40 Hình 27: Trang đăng tuyển việc công ty 41 Hình 28: Trang đăng tuyển việc công ty 42 Hình 29: Trang quản lý người ứng tuyển 45 Hình 30: Trang quản lý thông tin người dùng .46 Hình 31: Trang danh sách ứng viên 47 Hình 32: Trang danh sách cơng ty 48 Hình 33: Cài đặt hệ thống .50 Hình 34: Quy trình kiểm thử 51 Hình 35: Quy trình chạy kiểm thử 52 DANH SÁCH BẢNG Bảng 1: Danh sách chức phận quản lý việc làm Bảng 2: Danh sách chức phận quản lý thông tin người dùng Bảng 3: Danh sách chức phận quản lý thông tin nhà tuyển dụng Bảng 4: Danh sách chức phận quản lý tài khoản Bảng 5: Danh sách chức hệ thống Bảng 6: Bảng mô tả chi tiết tác nhân Bảng 7: Bảng Contacts Bảng 8: Bảng Companies Bảng 9: Bảng News Bảng 10: Bảng Roles Bảng 11: Bảng Users Bảng 12: Bảng UserRoles Bảng 13: Bảng Works Bảng 14: Bảng Workapplies Bảng 15: Bảng Worktypeofworks Bảng 16: Bảng Usertypeofworks Bảng 17: Bảng Saveworks Bảng 18: Bảng Formcvs Bảng 19: Bảng Tags Bảng 20: Bảng TagNews Bảng 21: Bảng TagFormcvs Bảng 22: Bảng TagWorks Bảng 23: Bảng testcase Bảng 24: Mơ tả hình trang đăng nhập Bảng 25: Mơ tả hình trang đăng ký Bảng 26: Mơ tả hình trang quản lý quản trị viên Bảng 27: Mơ tả hình trang quản lý tài khoản người dùng quản trị viên8 Bảng 28: Mơ tả hình trang quản lý cơng ty Bảng 29: Mơ tả hình trang quản lý việc làm đăng tuyển công ty 12 13 14 15 16 Textbox chứa Yêu cầu cấp Textbox chứa Mô tả công việc Textbox chứa Quyền lợi hưởng Textbox chứa Yêu cầu công việc Textbox chứa Yêu cầu kinh nghiệm Textbox Textbox Textbox Textbox Textbox Khi Click vào kiểm tra xem thông tin điền đầy đủ chưa Nếu đủ tạo 17 Button Tạo công việc Button thành công thông báo thành cơng 4.2.9 TRANG QUẢN LÝ NGƯỜI ĐÃ ỨNG TUYỂN Hình 29: Trang quản lý người ứng tuyển 43 Bảng 15: Mơ tả hình trang quản lý người ứng tuyển STT Tên Label chứa Tên người ứng tuyển Label chứa Địa người ứng tuyển Label chứa Email người ứng tuyển Label chứa Số điện thoại người ứng tuyển Label chứa Giới tính người ứng tuyển Button Xem CV người ứng tuyển Icon xem tin nhắn người ứng tuyển Loại Ghi Label Label Label Label Label ComboBox Khi Click vào xem CV người ứng tuyển Khi Click vào tin nhắn người Icon ứng tuyển gửi 4.2.10 TRANG QUẢN LÝ THƠNG TIN CỦA NGƯỜI DÙNG Hình 30: Trang quản lý thông tin người dùng 44 Bảng 32: Mơ tả hình trang quản lý thơng tin người dùng STT Tên Loại Ghi Khi Click vào ComboBox Thông tin ComboBox Chọn Thông tin cá nhân để vào xem thông tin người dùng Khi Click vào sang trang xem thông tin Button Xem công việc lưu Button công việc lưu Khi Click vào sang trang xem thông tin Button Xem công việc ứng tuyển Button công việc ứng tuyển Khi Click vào sang trang xem thông tin thông tin cá nhân Button Xem thông tin cá nhân Button 45 4.2.11 TRANG DANH SÁCH ỨNG VIÊN Hình 31: Trang danh sách ứng viên Bảng 16: Mơ tả hình trang danh sách ứng viên STT Tên Label chứa Tên ứng viên Label chứa Công việc ứng viên Label chứa Nơi ứng viên Loại Ghi Label Label Label Khi Click vào sang trang xem hồ sơ ứng viên Button Xem hồ sơ ứng viên Button 46 4.2.12 TRANG DANH SÁCH CƠNG TY Hình 32: Trang danh sách cơng ty Bảng 34: Mơ tả hình trang danh sách công ty STT Tên Loại Label chứa Tên công ty Label Label chứa Địa điểm công ty Ghi Label Khi Click vào sang trang thông tin công ty chọn Button Xem thông tin công ty Label 47 CHƯƠNG 5: CI ĐẶT V KIỂM THỬ HỆ THỐNG 5.1 CI ĐẶT HỆ THỐNG Mở file sql có file tải import vào mysql Mở file code song song vscode bật terminal phím tắt ctrl+` cmd chạy lệnh npm install Bên phía file job-be mở file config.json file config sửa đổi phần development tài khoản root mysql Hình 33: Cài đặt hệ thống Dùng lệnh npm start hai file để bắt đầu chạy host 48 Ở backend gặp lỗi bạn chưa cài nodemon bạn chạy lệnh npm install -g nodemon chạy lại npm start Bạn mở web lên vào địa http://localhost:3000 5.2 KIỂM THỬ PHẦN MỀM 5.2.1 Kế hoạch kiểm thử Trưởng nhóm test thực viết test plan cho toàn hệ thông gồm phần sau:  Định nghĩa phạm vi kiểm thử  Định nghĩa chiến lược kiểm thử  Nhận dạng rủi ro yếu tố bất ngờ  Nhận dạng hoạt động kiểm thử xây dựng lịch kiểm thử  Nhận dạng môi trường kiểm thử  Hiệu chỉnh suốt chu kỳ kiểm thử để phản ánh thay đổi cần thiết 5.2.2 Quy trình thiết kế kiểm thử Hình 34: Quy trình kiểm thử Trong quy trình TestManager thực xây dựng kế hoạch kiểm thử, thông qua phân tích đánh giá về: phạm vi, chiến lược, rủi ro xảy ra, dạng kiểm thử, môi trường kiểm thử… Dựa sở Test Analysis tiến hành viết testcase cho chức module cách kỹ lưỡng tỉ mỉ với mục tiêu tìm lỗi module lỗi dự án Sau TestCase tiến hành thực thi module cụ thể Tester cụ thể Trong giai đoạn chuẩn bị, Tester dùng mẫu prototype, use case, đặc tả chức để viết test case theo trình tự bước 49 Tester phải liên tục trì tạo báo cáo lỗi q trình thực hiện, sau báo cáo kết kiểm thử cho TestManager TestManager tạo bảng tổng kết đánh giá hoạt động kiểm lỗi, xác định xem đạt tiêu chí thành cơng hồn thành kiểm thử chưa 5.2.3 Quy trình kiểm thử Hình 35: Quy trình chạy kiểm thử Tester bố trí công việc Test Leader để thi hành kiểm thử theo quy trình cụ thể sau:  Thi hành kiểm thử theo testcase cho module cụ thể  Chạy lại case bị failed trước để xác nhận case sửa  So sách kết ghi nhận thực thi với kết mong đợi  Đánh giá kết kiểm thử (Passed/Failed) cho trường hợp kiểm thử  Viết báo cáo lỗi cho trường hợp kết ghi nhận kết mong đợi không giống 5.2.4 Các Testcase Bảng 17: Danh sách testcase Id ET01 Mô tả test Các bước thực case Chức (1) đăng nhập password đăng ký Kết mong đợi Login với username, Khi người đăng nhập công hướng dùng Kết thực tế Pass thành chuyển đến trang homepage người dùng, quản trị viên đăng 50 nhập thành công chuyển hướng đến trang homepage quản trị viên Nếu đăng nhập không thành công thông báo lỗi Khi đăng ký tài ET02 Chức đăng ký (1) Nhập vào thông tin cần thiết (2) Nhấn nút Đăng ký khoản có thơng báo đăng ký thành cơng, có Pass lỗi xảy thông báo lỗi Nếu đăng xuất thành cơng, xóa token cung ET03 Chức (1) Tại mục Profile nhấp cấp đăng xuất chọn Đăng xuất đồng thời chuyển hướng đến Pass trang chủ Nếu có lỗi xảy có thơng báo lỗi (1) Đăng nhập với vai trò người dung nhà tuyển dụng ET04 Chức sửa (2) Chọn avatar => Chỉnh thông tin tài sửa thông tin người dùng khoản người (3) Nhấp Sửa dịng dùng thơng tin người dùng (4) Nhập thông tin Sửa thông tin thành công tài khoản người dùng Nếu Pass không thành công có thơng báo cần thiết ET05 Chức (5) Nhấn Lưu (1) Đăng nhập với vai trị Khóa thành cơng tài khóa tài khoản quản trị viên (username = khoản người dùng Pass 51 12345678@gmail.com, password = 123456) (2) Tại trang Homepage nhấp chọn Admin người dùng (3) dùng (4) Nếu không thành Chọn quản lý người công có thơng báo Trên dịng thơng tin người dùng, nhấp vào Button Khóa/Đã Khóa (1) Đăng nhập với vai trò Pass quản trị viên (username = 12345678@gmail.com, password = 123456) Chức cấp ET06 quyền tài khoản người dùng (2) Tại trang Homepage, Cấp quyền thành nhấn chọn Admin (3) dung (4) công tài khoản Chọn quản lý người người dùng Nếu khơng thành cơng Trên dịng thơng tin có thơng báo người dùng, nhấp chọn cấp quyền (Admin/ Người dùng) (1) ET07 ET08 Đăng nhập với Chức oại tì khoản xem thơng tin (2) chi tiết tài nhấp chọn ứng viên khoản người (3) dùng người dùng, nhấp vào Chức tìm Xem thông tin (1) Đăng nhập kiếm việc làm (2) Tại trang Homepage Trên dịng thơng tin Các thơng tin tài khoản người dùng hiển thị đầy Pass đủ Tìm kiếm việc Pass Tại trang Homepage, làm cần tìm Nếu tìm kiếm, nhập khơng thành cơng việc làm, địa điểm hiển thị danh 52 (3) (1) Nhấp nút Search sách trống Đăng nhập băng tài khoản admin người dùng ET09 Ứng tuyển thành Chức ứng (2) Trong việc làm chọn công Nếu không tuyển việc làm công việc cần ứng tuyển thành công có (3) Ứng tuyển thơng báo (4) Ghi lời nhắn + CV (5) (1) Apply Đăng nhập với vai trò Fail nhà tuyển dụng (2) ET10 Chức thêm việc làm Tại trang Homepage nhấp chọn Avatar => Thông tin (3) Chọn đăng tuyển việc (4) Nhập thông tin Thêm thành công việc làm Nếu không thành cơng Pass có thơng báo cần thiết (5) (1) Xem danh ET11 sách ứng viên ứng tuyển Nhấn đăng tuyển Đăng nhập với vai trò nhà tuyển dụng (2) Tại trang Homepage nhấp chọn Avatar => Thông tin (3) Hiện danh sách ứng viên Pass Các ứng viên ứng tuyển (1) Đăng nhập với vai trò nhà tuyển dụng ET12 Chức xóa (2) việc làm nhấp chọn Avatar => Thông đăng tuyển tin (3) ET13 Tại trang Homepage Xóa thành cơng cơng việc Pass Các cơng việc tạo Chức => Nhấp xóa cơng việc (1) Đăng nhập với vai trị Xem danh sách xem công ứng viên Pass công việc ứng 53 (2) việc ứng tuyển Tại trang Homepage nhấp chọn Avatar => Thông tin cá nhân (3) tuyển Công việc ứng tuyển (1) Đăng nhập ET14 Chức (2) Tại trang Homepage xem thông tin nhấp chọn công ty công ty (3) Chọn công ty cần xem (4) Xem chi tiết Pass Hiển thị thông tin công ty PHẦN KẾT LUẬN NHỮNG KẾT QUẢ ĐẠT ĐƯỢC  Vận dụng thành công loại công nghệ phần mềm, công nghệ Website mới, ngôn ngữ đại: Reacjs, Nodejs, JSON Web Token, RestfulAPI, CSS, Tìm hiểu vận dụng sở liệu MySQL, đem lại hiệu cao 54  Cơ xây dựng thành cơng Website tìm kiếm việc làm với chức đặt ra: o Đăng nhập vào website (bao gồm đăng nhập tài khoản, đăng ký tài khoản) o Quản trị viên: Có tất quyền người dùng thơng thường; Thêm, xóa, sửa tài khoản người dùng, việc làm; Chỉnh sửa thông tin tài khoản cá nhân quản trị viên; Tìm kiếm người dùng, việc làm; Đổi mật khẩu; Thống kê số lượng người dùng, số lượng việc làm o Người dùng: Xem việc làm, báo có trang web; Ứng tuyển việc làm; Chỉnh sửa thông tin cá nhân, xem thông tin ứng viên, công ty; Xem việc làm ứng tuyển o Nhà tuyển dụng: Xem việc làm, báo có trang web; Đăng thơng tin ứng tuyển việc làm; Chỉnh sửa thông tin công ty, xem thông tin ứng viên, công ty; Xem hồ sơ ứng viên ứng tuyển  Cách hoạt động nhóm hiệu quả, linh hoạt vị trí lĩnh vực công nghệ thông tin ƯU ĐIỂM  Ứng dụng chức quản lý, kiểm soát liệu đầu vào liệu đầu  Website có cấu trúc hồn thiện, có khả bảo trì nâng cấp  Giao diện thân thiện với người dung, dễ dàng sử dụng  Sử dụng cơng nghệ Website đại, có chia cấu trúc Frontend - Backend rõ ràng NHƯỢC ĐIỂM  Chưa thực hóa, hệ thống cịn thiếu chức năng: Đánh giá, bình luận nhà tuyển dụng, chưa sử dụng deploy đực sever thực, chưa đề xuất thông tin việc làm phù hợp với ứng viên  Thời gian kiếm thử chưa nhiều, nên hệ thống lỗi, chưa quan tâm đến vấn đề hiệu suất 55 HƯỚNG PHÁT TRIỂN  Khắc phục nhược điểm  Deploy ứng dụng lên Server thực  Tiến hành phân tích liệu người dùng dựa thơng tin để đề xuất việc làm phù hợp  Xây dựng thêm tính đánh giá bình luận công ty 56 DANH SÁCH TI LIỆU THAM KHẢO [1] Reactjs gì? https://fullstackstation.com/react-js-la-gi/ [2] Nodejs gì? https://itviec.com/blog/hoc-nodejs [3] RESTful API gì?, Lê Đức Mạnh, 09/05/2020, https://viblo.asia/p/restful-api-la-gi1Je5EDJ4lnL [4] Css gì? https://topdev.vn/blog/css-la-gi/ 57

Ngày đăng: 13/06/2023, 14:42

Xem thêm:

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

  • Đang cập nhật ...

TÀI LIỆU LIÊN QUAN

w