Báo cáo thực hành t2 52022

29 3 0
Báo cáo thực hành t2 52022

Đ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

Báo cáo thực hành T2 5/2022 ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN KHOA TOÁN – CƠ – TIN HỌC **** BÁO CÁO MÔN HỌC PHÂN TÍCH THIẾT KẾ HỆ THỐNG THÔNG TIN Đề tài Hệ thống Testing Online[.]

ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN KHOA TOÁN – CƠ – TIN HỌC **** - BÁO CÁO MÔN HỌC PHÂN TÍCH - THIẾT KẾ HỆ THỐNG THƠNG TIN Đề tài: Hệ thống Testing Online - kiểm tra kỹ ứng viên Hướng dẫn: Phạm Khắc Hoài Nam Sinh viên thực hiện: K62A3 Nguyễn Tùng Lâm (17000026) K63A2 Nguyễn Hoàng Yến (18001016) Lời nói đầu Để hồn thành tập báo cáo này, nỗ lực phấn đấu thân phần khơng nhỏ đóng góp nên thành cơng nhờ hướng dẫn tận tình thầy trường Đại học Khoa học Tự Nhiên Hà Nội, với giúp đỡ nhiệt tình từ anh/chị Cơng ty Cổ phần Giải pháp toán VNPay Đầu tiên chúng em xin gửi lời cảm ơn chân thành đến thầy/cô khoa Toán – Cơ – Tin học kết nối tạo điều kiện thuận lợi để em tiếp nhận thực tập công ty Tiếp theo, em xin gửi lời cảm ơn sâu sắc đến anh/chị công ty VNPAY, đặc biệt anh Đỗ Vũ Tuấn, anh Phạm Khắc Hoài Nam, anh Quang Hà anh Bình Jax – người trực tiếp hướng dẫn chúng em Trong thời gian thực tập, cơng việc bận rộn anh/chị ln tận tình hướng dẫn giải đáp thắc mắc công việc Cuối cùng, chúng em xin gửi lời cảm ơn đến gia đình, bạn bè động viên, đóng góp ý kiến giúp đỡ q trình học tập, nghiên cứu hoàn thành tập Kỳ thực tập mang tới cho chúng em hiểu biết, q trình, kiến thức Mơn học “Phân tích thiết kế hệ thống”, hiểu để phát triển phần mềm, giai đoạn để hình thành lên ý tưởng phần mềm triển khai đến người sử dụng Quá trình thực tập, tham gia học hỏi cịn giúp chúng em khơng việc học tập mà cịn định hình ngành nghề tương lai tới Tuy nhiên, thời gian có hạn lực hạn chế nên chúng em khơng thể tránh khỏi thiếu sót Chính vậy, em mong nhận góp ý từ thầy/cô bạn để học hỏi thêm tiếp tục hồn thiện đề tài Chúng em xin chân thành cảm ơn! Hà Nội, tháng năm 2022 Mục lục Lời nói đầu Mục lục I Giới thiệu Mục tiêu Yêu cầu Công nghệ sử dụng Công việc triển khai 4 4 II Phân tích - thiết kế hệ thống Phân tích yêu cầu Thiết kế hệ thống Thiết kế hệ thống Phát thực thể hệ thống Thiết kế giao diện hệ thống tool Figma Kết thu 9 10 16 19 23 ĐÁNH GIÁ SINH VIÊN THỰC TẬP 28 I Giới thiệu Mục tiêu Một hệ thống test online thay cho cách test trực tiếp, có chức dành cho nhân tuyển dụng để sau thảo luận kế hoạch với phòng ban ứng viên họ tạo mới, cài đặt, chỉnh sửa kế hoạch test test cho ứng viên apply vào công ty Kết làm ứng viên nhân đại diện phòng ban chấm điểm hệ thống Yêu cầu - Hiển thị lịch test dự kiến theo hai dạng: bảng lịch - Hệ thống bao gồm loại test: test Tiếng anh, test Kiến thức chung, test Kỹ code dạng câu hỏi: trắc nghiệm, tự luận Phân bổ theo cấp độ mà ứng viên ứng tuyển - Các test set up thời gian làm - Chỉ nhân phòng ban mà ứng viên ứng tuyển có quyền chấm cho ứng viên hệ thống - Ứng viên tham gia test đăng nhập mã code gửi qua Gmail/SMS - Tái sử dụng câu hỏi - Giảm thiểu rủi ro việc ứng viên q trình test ứng viên lưu lại nội dung test để đảm bảo an tồn thơng tin quy trình tuyển dụng Cơng nghệ sử dụng a) JavaScript Javascript ngôn ngữ kịch từ Netscape dễ dàng nhanh để mã ngơn ngữ có cấu trúc biên soạn C C ++ Ngôn ngữ kịch nói chung nhiều thời gian trình biên soạn ngơn ngữ, hữu ích cho chương trình ngắn Ưu điểm : Khơng cần compiler web browser biên dịch HTML Dễ dàng tiếp thu học tập nhiều ngôn ngữ khác Dễ dàng phát sửa lỗi JS hoạt động nhiều trình duyệt, tảng Kiểm tra input giảm thiểu việc kiểm tra thủ công truy xuất qua database Giúp website tương tác tốt với khách truy cập Nhanh nhẹ số ngơn ngữ lập trình khác Nhược điểm : Dễ bị khai thác Khơng có khả xử lí đa luồng Chỉ chạy trình duyệt web Dễ bị sử dụng để thực thi mã độc máy người sử dụng b) NodeJs NodeJS tảng xây dựng “V8 Javascript engine” viết c++ Javascript Nền tảng phát triển Ryan Lienhart Dahl vào năm 2009 Node.js đời developer đời đầu JavaScript mở rộng từ thứ bạn chạy trình duyệt thành thứ bạn chạy máy dạng ứng dụng độc lập Ưu điểm : Có tốc độ xử lý nhanh nhờ chế xử lý bất đồng (non-blocking) Bạn dễ dàng xử lý hàng ngàn kết nối khoảng thời gian ngắn Giúp bạn dễ dàng mở rộng có nhu cầu phát triển website Nhận xử lý nhiều kết nối với single-thread Nhờ đó, hệ thống xử lý sử dụng lượng RAM giúp trình xử Nodejs lý nhanh nhiều Có khả xử lý nhiều Request/s lúc thời gian ngắn Có khả xử lý hàng ngàn Process cho hiệu suất đạt mức tối ưu Phù hợp để xây dựng ứng dụng thời gian thực ứng dụng chat, mạng xã hội Nhược điểm : Nodejs gây hao tốn tài nguyên thời gian Nodejs viết C++ JavaScript nên xử lý cần phải trải qua trình biên dịch Nếu bạn cần xử lý ứng dụng tốn tài ngun CPU khơng nên sử dụng Nodejs Nodejs so với ngôn ngữ khác PHP, Ruby Python khơng có chênh lệch q nhiều Nodejs phù hợp với việc phát triển ứng dụng Tuy nhiên xây dựng triển khai dự án quan trọng Nodejs khơng phải lựa chọn hoàn hảo c) Java Java ngơn ngữ lập trình có mục đích chung hướng đối tượng phát triển cho môi trường phân tán phát triển phần mềm cho thiết bị điện tử tiêu dùng TV, VCR, Ngôn ngữ lập trình Java ngơn ngữ độc lập với tảng, có nghĩa khơng có giới hạn phần cứng hệ điều hành cụ thể Nó cung cấp cho người dùng sở để 'viết lần, chạy nơi Nhiều hệ điều hành Sun Solaris, RedHat, Windows, v.v., hỗ trợ Java Ưu điểm : Java tảng độc lập chạy mã Java máy mà không cần cài đặt phần mềm đặc biệt nào, JVM thực điều Cung cấp sẵn thư viện Java hướng đối tượng lớp đối tượng Lý để Java bảo mật trỏ, Java không sử dụng trỏ Trong Java, thực thi nhiều chương trình đồng thời, đó, đạt đa luồng Java mạnh mẽ có nhiều tính thu gom rác, không sử dụng trỏ rõ ràng, xử lý ngoại lệ Java ngôn ngữ cấp cao giúp dễ hiểu Quản lý nhớ hiệu thực Ngơn ngữ lập trình Java Nhược điểm : Là ngơn ngữ cấp cao, phải xử lý cấp độ biên dịch trừu tượng máy ảo Java thể hiệu suất kém, nguyên nhân thu gom rác, cấu hình nhớ đệm khơng hợp lệ bế tắc quy trình.Khơng hỗ trợ thự viện GUI Java có trình tạo GUI – Swing, SWT, JSF JavaFX số trình xây dựng phổ biến hơn.Fix bug gặp nhiều khó khăn Để viết mã để thực tập hợp hoạt động đơn giản, bạn phải viết đoạn mã dài phức tạp Điều ảnh hưởng đến khả đọc đảm bảo lập trình viên nhập xác cần phải làm d) PostgreSQL PostgreSQL hệ thống quản trị sở liệu quan hệ-đối tượng (object-relational database management system) có mục đích chung, hệ thống sở liệu mã nguồn mở tiên tiến Ưu điểm : Có thể chạy trang web ứng dụng web động với LAMP Một sở liệu có khả chịu lỗi cao Có sẵn miễn phí theo giấy phép nguồn mở Hỗ trợ đối tượng địa lý để bạn sử dụng cho dịch vụ dựa vị trí Hạn chế việc bảo trì hệ thống Nhược điểm : Nhiều ứng dụng nguồn mở hỗ trợ MySQL, khơng hỗ trợ PostgreSQL Về số liệu hiệu suất, chậm MySQL e) Docker Docker tảng phần mềm cho phép bạn dựng, kiểm thử triển khai ứng dụng cách nhanh chóng Docker đóng gói phần mềm vào đơn vị tiêu chuẩn hóa gọi container có thứ mà phần mềm cần để chạy, có thư viện, công cụ hệ thống, mã thời gian chạy Bằng cách sử dụng Docker, bạn nhanh chóng triển khai thay đổi quy mơ ứng dụng vào môi trường biết mã bạn chạy Ưu điểm : Thiết lập ban đầu hiệu dễ dàng Cho phép theo dõi biên vùng chứa để kiểm tra biến thể Giảm cố đưa lên sản phẩm Nhược điểm : - Không phải app chứa đựng Số lượng container lớn phức tạp Phải theo dõi phát triển liên tục f) JSON JSON viết tắt JavaScript Object Notation, kiểu định dạng liệu tuân theo quy luật định mà hầu hết ngôn ngữ lập trình đọc JSON tiêu chuẩn mở để trao đổi liệu web Định dạng JSON sử dụng cặp key – value để liệu sử dụng Nó hỗ trợ cấu trúc liệu đối tượng mảng Ưu điểm Không giống với số kiểu định dạng khác, cấu trúc JSON tuân theo phong cách nhỏ gọn, đơn giản nhằm cải thiện khả đọc người dùng Đặc biệt làm việc với hệ thống phức tạp, JSON có xu hướng thực cải tiến đáng kể Q trình phân tích cú pháp JSON nhanh so với XML thư viện thao tác DOM XML yêu cầu thêm nhớ để xử lý tệp XML lớn Ngược lại, JSON yêu cầu liệu hơn, dẫn đến giảm chi phí tăng tốc độ phân tích Cấu trúc JSON đơn giản dễ đọc Bất kể ngôn ngữ lập trình bạn sử dụng gì, bạn dễ dàng ánh xạ miền đối tượng JSON sử dụng cấu trúc liệu đồ, XML tuân theo cấu trúc Các cặp Key-Value bị giới hạn nhiệm vụ tạo điều kiện thuận lợi cho mơ hình dự đốn tương đối dễ hiểu Nhược điểm Vì khơng có schema, bạn linh hoạt để trình bày liệu theo cách bạn muốn Nhưng ngược lại, bạn vơ tình tạo dạng liệu bị sai Do JSON sử dụng định dạng Số thực dấu phẩy động IEEE-754 Điều làm bạn tận dụng loại số đa dạng nhiều sắc thái có sẵn nhiều ngơn ngữ lập trình Thiếu sót có nghĩa khiến nhà phát triển phải sử dụng chuỗi biểu thị ngày, dẫn đến khác biệt định dạng phải biểu diễn ngày dạng mili giây Điều khiến bạn yêu cầu tài liệu bổ sung tăng khả hiểu nhầm Mặc dù JSON ngắn XML, chưa phải định dạng trao đổi liệu ngắn gọn Vì vậy, dịch vụ có khối lượng lớn có mục đích đặc biệt, bạn muốn sử dụng định dạng liệu hiệu JSON g) Postman Postman công cụ cho phép thao tác với API, phổ biến REST Postman công cụ phổ biến sử dụng thử nghiệm API Với Postman, ta gọi Rest API mà khơng cần viết dịng code Postman hỗ trợ tất phương thức HTTP (GET, POST, PUT, PATCH, DELETE, …) Bên cạnh đó, cịn cho phép lưu lại lịch sử lần request, tiện cho việc sử dụng lại cần Ưu điểm Postman phần mềm dễ sử dụng Đồng thời, Postman hỗ trợ cho bạn chạy giao diện UI non-UI Postman đem đến chức giúp hỗ trợ tạo code cho assert ngơn ngữ lập trình Javascript Postman hỗ trợ cho RESTful services SOAP services Postman đem đến chức giúp tài liệu API Nhược điểm Bên cạnh ưu điểm Postman cịn có số hạn chế định Đó phải trả phí, Postman hỗ trợ cho người sử dụng tính nâng cao trình độ làm việc nhóm, giúp hỗ trợ trực tiếp… Điều tạo bất tiện cho người dùng khoản chi phí khơng nhỏ để dùng thêm tính Postman Cơng việc triển khai Phân tích u cầu Thu thập phân tích yêu cầu, vẽ biểu đồ mô tả cho hệ thống Phát thực thể hệ thống Phân tích, thiết kế mối liên quan thực thể hệ thống Thiết kế giao diện hệ thống tool Figma Mockup giao diện (bao gồm hình chính, popup, cửa sổ lỗi) Xây dựng Front-end Back-end Đã thể Demo Deploy II Phân tích - thiết kế hệ thống Phân tích yêu cầu a Tác nhân (Actor) hệ thống: Actor Chức Nhân (ban tuyển dụng) - Nhân (tại phòng ban) - Ứng viên - Đăng nhập vào hệ thống tài khoản cấp Tạo lịch test Chỉnh sửa/xóa lịch test Thừa kế chức ban tuyển dụng Set up test cho ứng viên phịng ban Chấm điểm test hồn thành ứng viên phịng ban Đăng nhập mã gửi qua Email/SMS Làm test Nộp b Quy trình nghiệp vụ hệ thống Dựa vào giai đoạn chuẩn bị, sau hồn thành test, quy trình hệ thống tóm tắt sau: STT Process Set up kế hoạch test hệ thống Actor Nhân (tuyển dụng)/Nhân (phòng ban) Nhân (phòng ban) Activity Input Output Set up lịch - Khung test dự kiến - Ngày/tháng/ năm dự kiến Lịch test dự kiến Set up thông tin ứng viên - Họ tên - Email/SMS - Vị trí ứng tuyển - Trình độ (level) Thông tin ứng viên Set up test - Nội dung câu hỏi - Thời gian quy định - Khung điểm Bài test Tiến hành test Ứng viên Làm test - Tiếng Anh - Kiến thức chung - Code Bài làm Bài làm Điểm test Điểm ba test Nộp Chấm Nhân (phòng ban) Chấm Thiết kế hệ thống Biểu đồ Use-case Các chức actor Ứng viên: - Đăng nhập hệ thống mã: Ứng viên sử dụng mã gửi qua Email/SMS để đăng nhập hệ thống - Làm test: Thực test thời gian hợp lệ test Các chức actor Nhân sự: - Đăng nhập hệ thống tài khoản: Sử dụng username-password thiết lập để đăng nhập hệ thống 10 Biểu đồ trạng thái Ứng viên từ thêm tới hoàn thành ứng tuyển 15 Phát thực thể hệ thống Thực thể Candidate Mỗi thực thể tượng trưng cho ứng viên Thuộc tính Ý nghĩa ID (PK): int Mã ứng viên name: varchar(255) Tên ứng viên email: varchar(255) Địa email ứng viên phone: varchar(255) Số điện thoại ứng viên position: varchar(255) Vị trí ứng tuyển avatar: varchar(255) 16 id_level (FK): int Mã level ứng tuyển is_done: int Trạng thái test dates: Date Ngày làm test time: Time Giờ làm test english_mark: double Điểm test tiếng anh coding_mark: double Điểm test kỹ coding knowledge_mark: double Điểm kiến thức chung ID (PK): int Mã test name: varchar(255) Tên test time: Time Thời gian giới hạn làm id_level (FK): int Cấp độ test id_subject (FK): int Loại test subjects Mỗi thực thể loại test ID (PK): int Mã loại test name: varchar(255) Tên loại test levels Mỗi thực thể đại diện cho cấp độ ứng viên độ khó test ID (PK): int Mã cấp độ name: varchar(255) Tên cấp độ question Mỗi thực thể đại diện cho câu hỏi ID (PK): int Mã câu hỏi content: varchar(255) Nội dung câu hỏi img: varchar(255) Hình ảnh id_level (FK): int Mã cấp độ cho câu hỏi id_subject (FK): int Mã loại câu hỏi id_type (FK): int Mã kiểu câu hỏi question_type Mỗi thực thể kiểu câu hỏi ID (PK): int Mã kiểu câu hỏi name: varchar(255) Tên kiểu câu hỏi mc_question ID (PK): int Mã câu hỏi test Mỗi thực thể test 17 Mỗi thực câu hỏi dạng trắc nghiệm answer: varchar(255) Câu trả lời istrue: int Đáp án question_id (FK): int Mã câu hỏi ID (PK): int Mã câu hỏi answer: varchar(255) Câu trả lời question_id (FK): int Mã câu hỏi test_question Mỗi thực thể đại diện cho câu hỏi test id_test (FK): int Mã test id_question (FK): int Mã câu hỏi candidate_test Mỗi thực thể test gán với ứng viên ID (PK): int result_candidate Mỗi thực thể đại diện cho kết test ứng viên e_question Mỗi thực thể câu hỏi dạng tự luận staff Mỗi thực thể mà nhân viên 18 id_candidate (FK): int Mã ứng viên id_test (FK): int Mã test ID (PK): Long Mã kết answer: varchar(255) Câu trả lời id_answer: int Mã câu trả lời id_candidate: int Mã ứng viên id_test: int Mã test type: int Dạng ID (PK): int Mã nhân viên name: varchar(255) Tên nhân viên department: varchar(255) Phòng ban nhân viên email: varchar(255) Địa email nhân viên username: varchar(255) Tên đăng nhập password: varchar(255) Mật đăng nhập image: varchar(255) role: varchar(255) Chức vụ Thiết kế giao diện hệ thống tool Figma Link demo Figma: https://www.figma.com/proto/de5QiA7TUgxKwzrSagJUwu/Testing-Online?node-id=97%3A1890&sc aling=min-zoom&page-id=0%3A1&starting-point-node-id=2%3A2 Tác dụng: - Rõ ràng yêu cầu hệ thống - Thể cách xếp chức hệ thống - Hiển thị hóa luồng hoạt động hệ thống - Giúp cho việc xây dựng FE, BE trở nên dễ dàng Màn hình đăng nhập - 19 Màn hình list ứng viên lịch test tương ứng (dạng list) Màn hình list ứng viên lịch test tương ứng (dạng lịch) 20 ...Lời nói đầu Để hồn thành tập báo cáo này, nỗ lực phấn đấu thân phần khơng nhỏ đóng góp nên thành công nhờ hướng dẫn tận tình thầy trường Đại học Khoa học... nhật lại Câu hỏi 14 Biểu đồ trạng thái Ứng viên từ thêm tới hoàn thành ứng tuyển 15 Phát thực thể hệ thống Thực thể Candidate Mỗi thực thể tượng trưng cho ứng viên Thuộc tính Ý nghĩa ID (PK): int... thành thể làm mà ứng viên làm Khi muốn chấm điểm cho làm ứng viên, actor Nhân (với điều kiện phải có phịng ban với ứng viên) trước hết phải đăng nhập theo account lập, tới hình Đã hồn thành Hành

Ngày đăng: 26/11/2022, 10:02

Tài liệu cùng người dùng

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

Tài liệu liên quan