Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 32 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
32
Dung lượng
610,39 KB
Nội dung
TRƯỜNG ĐẠI HỌC BÁCH KHOA KHOA CÔNG NGHỆ THÔNG TIN Bài Thi Công Nghệ Phần Mềm Đề Tài: Xây Dựng Hệ Thống Giới Thiệu Người Giúp Việc GV hướng dẫn: KS NGUYỄN VĂN LIÊM Nhóm thực hiện: 19N13 -Team 09 Hồ Văn Nam 102190225 - Lớp SH:19TCLC_DT5 Phạm Hữu Bằng Lê Thị Kim Chi Trương Trọng Nghĩa Trần Nhật Quang Đà Nẵng, 05/2021 MỤC LỤC LỜI MỞ ĐẦU CHƯƠNG 1: PROJECT DESCRIPTION CHƯƠNG 2: SOFTWARE REQUIREMENTS SPECIFICATION CHƯƠNG 3: ARCHITECTURE DESIGN DOCUMENT 3.1 Giới thiệu chức năng: .9 3.1.1 Mục đích: 3.1.2 Phạm vi: 3.1.3 Các định nghĩa, từ viết tắt viết tắt từ: 3.2 Mô tả kiến trúc: 10 3.2.1 Model(M): 11 3.2.2 View(V): .11 3.2.3 Controllor(C): .11 3.3 Use case View: .11 3.4 Logical View: .12 CHƯƠNG 4: DETAILED DESIGN DOCUMENT .12 4.1 Giới thiệu chức năng: 12 4.1.1 Mục đích: 12 4.1.2 Phạm vi: 12 4.2 Các sơ đồ: .12 4.2.1 Sơ đồ lớp: 12 4.2.2 Sơ đồ tuần tự: 12 4.3 Màn hình: .12 4.3.1 Quản lý đăng tin tìm kiếm người giúp việc .12 CHƯƠNG 5: COMMON DEFECT CHECKLIST 16 5.1 Lỗi số(Hard-code constants) 16 5.2 Lỗi string cộng chuỗi vòng lặp 18 5.3 NullPointerException 19 5.4 Không sử dụng equals() 21 5.5 Trả giá trị null 21 Nhóm 19N13 – Team 09 Page 5.6 “ArrayIndexOutOfBoundsException” 21 5.7 Lãng phí nhớ Java Collections .22 5.8 Sử dụng “mã trả lại” thay đưa ngoại lệ 25 5.9 “ClassNotFoundException” 26 5.10 Quên đóng kết nối sau kết nối Java JDBC 26 CHƯƠNG 6: BÀI THU HOẠCH KẾT THÚC MÔN HỌC 27 LỜI MỞ ĐẦU Một đất nước coi phát triển đất nước có kinh tế vững mạnh hiệu Xét phạm vi doanh nghiệp chế thị trường trình bán hàng có vai trị lớn, định tồn phát triển doanh nghiệp Trong năm gần đây, chuyển hướng đổi chế thị trường kinh tế nước ta có nhiều biến động Hoạt động kinh doanh nói chung hầu hết doanh nghiệp đồi mới, bước đầu hòa nhập với kinh tế khu vực giới Đặc biệt, với doanh nghiệp thương mại nói riêng vấn đề tiêu thụ yếu tố quan trọng việc tiêu thụ hàng hóa, nghệ thuật kinh doanh doanh nghiệp Mỗi nhà doanh nghiệp phải biết nắm bắt nguồn cung ứng hàng hóa biến động nó, phải động, thích hợp, mềm dẻo… Và q trình kinh doanh phát triển công ty, tổ chức, doanh nghiệp lượng lớn thơng tin giao dịch (trao đổi, mua bán) loại hàng hóa bên liên quan nhà cung cấp, nhà buôn bán khách hàng cần quản lý theo dõi hàng ngày Quy mô số lượng giao dịch lớn, nhiều người số lượng thông tin nhiều, quan trọng phức tạp Chính nhiều thời gian, cơng sức để quản lý dẫn đến sai sót đáng tiếc quản lý, khai thác xử lý thông tin Do nhóm em thực đề tài “Quản lý sân bóng” tạo một phần mềm quản lý sân bóng nhằm mục đích phục vụ cơng tác quản lý cho khách hàng thuê sân bán nước giải khát cách hiệu đáp ứng yêu cầu chủ sân đề áp dụng sân bóng khác Em xin chân thành cảm ơn thầy KS.Nguyễn Văn Liêm bạn nhóm giúp đỡ em hồn thành đề tài Tuy có nhiều cố gắng trình làm đề tài khơng thể tránh sai sót Em mong nhận ý kiến đóng góp từ thầy bạn để em rút kinh nghiệm thực tốt đề tài sau Nhóm 19N13 – Team 09 Page LỊCH SỬ TÀI LIỆU Ngày Tóm tắt thay đổi 02/03/202 17/03/202 02/04/202 12/04/202 20/04/202 Bản Phiên 0.1 Cập nhật phần mô tả dự án 0.2 Cập nhật phần yêu cầu kỹ thuật phần mềm 0.3 Cập nhật tài liệu kiến trúc hệ thống phần mềm 0.4 Cập nhật tài liệu thiết kế chi tiết 0.5 CHƯƠNG 1: PROJECT DESCRIPTION 1.1 Mục đích dự án Xây dựng web ứng dụng để giới thiệu người giúp việc cho gia đình có nhu cầu thành phố ĐN. Nâng cao niềm tin người giúp việc người tìm. Minh bạch thơng tin hai bên thuận tiện việc liên Giờ đây nhiều hộ gia đình muốn thuê người giúp việc khơng cần phải đi đến trung tâm giúp việc mà tìm qua ứng dụng Ngồi ra giúp cho người giúp việc dễ dàng tìm việc làm hơn, khơng phải khó khăn Thuê người giúp việc theo giờ, theo ngày thuê người giúp việc lâu dài cách dễ dàng thuận tiện 1.2 Phạm vi dự án: Project description SRS ADD DDD Coding convetion Comom defect checklist CM Plan Source code 1.3 Cấu trúc phân chia công việc: Nghiên cứu yêu cầu: 2 -3 ngày Nhóm 19N13 – Team 09 Page Viết mẫu: 2 ngày Viết tài liệu chi tiết: 4ngày Tạo test case thử nghiệm: 8ngày Coding: 5 -7 ngày Kiểm tra sản phẩm: 3 ngày 1.4 Truy xuất yêu cầu phần mềm (cùng liên kết gữa mục yêu cầu): Cập nhập,bổ sung Module: Bảo trì tài ngun. Bảo trì thơng tin khách hàng. Bảo trì vào các ngày nghỉ. Sẽ ảnh hưởng đến: Lịch hoạt động của dự án. Bảo trì hoạt động của dự án. Việc sử dụng tài nguyên. Báo cáo. 1.5 Môi trường phát triển: Database: MS SQL server ,My SQL sever Programing language: Java/.Net IDE: Eclipse/netbean/visual studio Source control: Git /Github Operation system:window 7 CHƯƠNG 2: SOFTWARE REQUIREMENTS SPECIFICATION PHIÊN BẢN TÀI LIỆU Ngày tháng Phiên bản Nội dung sửa đổi 02/04/2021 V1.0 03/04/2021 V1.1 Ghi chú Tạo tài liệu Cập nhật nội dung cơ bản của tài liệu THUẬT NGỮ VÀ VIẾT TẮT STT 1. 2. Thuật ngữ/Viết tắt Ý nghĩa TÀI LIỆU THAM KHẢO ST Tên tài liệu Nguồn Ghi chú T 1 Đặc Tả SRS https://www.academia.edu/32888061/%C4%90%C Nhóm 19N13 – Team 09 Page 4%83_c_ta_SRS_cu_a_t%C3%B4i 2 Cách làm RSR on https://trello.com/c/QV0QEo5n/109-t%C3%A0i-li Project Management %E1%BB%87u-tham-kh%E1%BA%A3o-c %C3%A1ch-l%C3%A0m-srs Page Break 2.1 GIỚI THIỆU 2.1.1 Mục đích Xây dựng một web ứng dụng để giới thiệu người giúp việc cho các gia đình có nhu cầu tại thành phố ĐN. Nâng cao niềm tin của người giúp việc và người tìm. Minh bạch thơng tin của hai bên và thuận tiện trong việc liên Giờ đây nhiều hộ gia đình muốn th người giúp việc khơng cần phải đi đến tru ng tâm giúp việc mà có thể tìm qua ứng dụng Ngồi ra giúp cho người giúp việc dễ dàng tìm việc làm hơn, khơng phải khó khăn nữa . Th người giúp việc theo giờ , theo ngày hoặc th người giúp việc lâu dài một các dễ dàng và thuận tiện hơn. 2.2 TỔNG QUAN Phạm vi Trong địa bàn thành phố Đà nẵng Tác nhân ( Actor) : +Khách Hàng: Người tìm kiếm người giúp việc +Nhân Viên : Người sử dụng hệ thống Sơ đồ Usecase: 2.3 QUY TRÌNH NGHIỆP VỤ 2.4 YÊU CẦU CHỨC NĂNG CỦA HỆ THỐNG: STT Chức năng 1 2 3 4 5 Mơ tả Đăng Nhập Để đảm bảo tính bảo mật và an tồn cho hệ thống Nhập, Chỉnh Khách Hàng Phải Nhập Đầy đủ Chính Xác thơng Sửa Thơng Tin Trước Khi Thực Hiện Các chức Năng Khác. Tin Cá Nhân Xem Hệ Thống sẽ hiển thị ra Danh Sách N 1 list danh sách các người giúp việc với các tiêu chí khác nhau gười Làm có cho khách hàng xem và lựa chọn sẵn. Đăng Khách Hàng cũng có thể đăng tin tuyển dụng theo Tin Tuyển D u cầu và chờ đợi có người phù hợp thì hệ thống sẽ thơng báo tới xác ụng nhận Hỗ trợ tìm vi Nhận viên hệ thống sẽ tự động tìm các người phù hợp cho khách hàng t ệc rong trường hợp khách hàng khơng có thời gian lựa chọn hoặc u cầu chưa có sẵn. Nhóm 19N13 – Team 09 Page 6 Xác Nhận Th Nhân viên hệ thống sẽ xác nhận nếu khách hàng muốn ơng Tin. Th Sau đó sẽ tiến hành thanh tốn Và Thanh To án In Hóa Đơn Sau khi hồn tất các bước trên hệ thống sẽ tiến hành in hóa đơn chi tiết các cho khách hàng 7 Đăng Nhập: o Mục đích: Đảm bảo an tồn cho hệ thống và khách hàng o Mơ tả chức năng: Trước khi tiến hành đăng Nhập Khách hàng phải đăng ký tài khoả n qua hệ thống Người dung nhập thơng tin tài khoản và mật khẩu .sau đó hệ thống Sẽ tiến hành kiểm tra cơ sở dữ . o Kết quả: Đăng Nhập vào hệ thống nếu đúng tài khoản,ngược lại thì thơn g báo sai tài khoản. Nhập Thơng Tin Khách Hàng: o Mục đích: Tăng Độ tin cậy cho Cả 2 bên và Tính an tồn cho người giúp việc o Mơ tả chức năng: Phải có tài khoản đăng nhập trước khi thực hiện tác vụ này Sau đăng nhập vào hệ thống tự động hiện lên Form nhập thơng tin nếu chưa có.Nếu đã nhập thơng tin thì khách hàng có thể chỉnh sửa khi có sai sót. Hệ thống bắt buộc phải nhập đầy đủ các thơng tin và khơng được để trống phần. o Kết quả: Thơng tin khách hàng sẽ được lưu vào trong cơ sở dữ liệu của h ệ thống tương ứng tài khoản ấy,có thể hiệu chỉnh ,bổ sung khi cần. Xem Danh Sách Người Làm có sẵn: o Mục đích: Chọn nhanh người giúp việc trong list có sẵn phù hợp với u cầu o Mơ tả chức năng: Phải có tài khoản đăng nhập trước khi thực hiện tác vụ này hiện lên Form nhập Danh sách Người làm có cho phép tìm kiếm t heo tiêu chí khác nhau như: +Mức Lương +Loại Giúp Việc. Sau đó nếu khách thấy phù hợp có thể nhấn Th và chờ đợi nhân viên xác nhận o Kết quả: Tìm được người giúp việc nếu có 2.5 U CẦU PHI CHỨC NĂNG: u cầu về cơng nghệ và nền tảng cơ sở dữ liệu Hệ thống ứng dụng được chạy trên Internet,app mobile cho phép các đơn vị thự c hiện các hoạt động tác nghiệp một cách tập trung Nhóm 19N13 – Team 09 Page Hệ thống được bảo mật cao, phân cấp, phân quyền khai thác và sử dụng theo đú ng các quy định. Dữ liệu được quản lý tập trung sẽ làm giảm nhẹ chi phí và bảo trì, đồng thời giú p cho việc khai thác trên một kho dữ liệu tổng thể, tự động hóa các qui trình nghiệp vụ, đồng thời tạo điều kiện dễ dàng cho việc khai thác, sử dụng từ các địa điểm khác nhau. u cầu về bảo mật và an tồn dữ liệu Hệ thống có module quản lý riêng về việc phân cấp, phân quyền quản lý chi tiết đến từng chức năn g cơng việc. Hệ thống phần mềm được thiết kế nhiều lớp, sử dụng mã hóa dữ liệu trên đườn g truyền, có tính bảo mật cao, nhiều cấp, đặc biệt là bảo mật khi thực hiện các giao dịch từ xa, qua internet. Hệ thống cho phép đảm bảo tính tồn vẹn dữ liệu, an tồn dữ liệu ở mức ứng dụ ng và mức CSDL. Xây dựng hệ thống sao lưu dữ liệu và dự phịng. u cầu giao diện Giao diện được thiết kế thân thiện với người dùng, dễ dàng tìm kiếm các chức n ăng trên menu của chương trình. Các màn hình nhập liệu và tra cứu cần được bố trí hợ p lý, tiện dụng(phím tắt, khả năng tương tác). u cầu về quản trị và sử dụng Khả năng quản trị dễ dàng thơng qua các cơng cụ trợ giúp như: quản trị người d ùng, sao lưu, khơi phục dữ liệu. Phân quyền theo module, theo từng chức năng. u cầu về tốc độ xử lý Đảm bảo tốc độ xử lý của hệ thống, màn hình, báo cáo, các chương trình xử lý s ố liệu cần được tối ưu hóa. Thiết kế thêm CSDL bổ sung để lưu trữ các số liệu tính tốn định kỳ để lên báo cáo nhanh. u cầu về mơi trường phát triển và ngơn ngữ lập trình Mơi trường phát triển phổ biến, tiện dụng, dễ lập trình và triển khai ứng dụng n hư c#,java,sql server CHƯƠNG 3: ARCHITECTURE DESIGN DOCUMENT 3.1 Giới thiệu chức năng: 3.1.1 Mục đích: Tài liệu này cung cấp một cái nhìn tổng quan tồn diện về kiến trúc củawebsite về hệ thống giới thiệu người giúp việc trong địa bàn Thành phố Đà Nẵng Với mục đíc h nắm bắt và truyền đạt các quyết định kiến trúc quan trọng đã được thực hiện về hệ th ống, tài liệu đóng vai trị là cầu nối giữa các u cầu phầm mềm và thiết kế chi tiết của Nhóm 19N13 – Team 09 Page DaNangMotelManagement, nó cũng sẽ giúp các kiến trúc sư phần mềm đảm bảo rằng hệ thống được xây dựng sẽ đáp ứng nhu cầu của người dùng về chức năng ( chế độ xe m ca sử dụng đã chọn), về nền tảng và cơng nghệ ( chế độ xem logic và triển khai). 3.1.2 Phạm vi: Trong dự án phát triển phần mềm “Quản lý tìm kiếm người giúp việc dịch vụ kèm” 3.1.3 Các định nghĩa, từ viết tắt viết tắt từ: 4.4 # Item Description 1 XML Extensible Mark-up Language 2 JSP Java Server Page 3 JSTL Java Standard Tag Library 4 API Application Programming Interface 5 MVC Model - View - Control 6 J2EE 7 DAO 8 STRUTS 9 SPRING Java Enterprise Edition - A set of standards for implementing scalable, reliable enterprise solutions, from reusable components These components come with a set of services which handle the behaviour of the application. Data Access Object, this object is responsible for attaching to a system, extracting some information, based on specific requirements, and creating a value object. An open-source framework from the Jakarta Project Struts is designed for building web applications with the Java Servlet API and JSP technology The Struts package supplies an integrated set of reusable components They include a controller servlet, JSP custom tag libraries, and utility classes These components for building user interfaces can be applied to any web-based Java application. Spring is a light weight framework to support the IoC dependency injection concept. It is becoming a widely adopted framework and has many books, articles and coding examples online. Spring's main aim is to make J2EE easier to use and promote good programming Nhóm 19N13 – Team 09 Page 10 HIBERNATE practice It does this by enabling a POJO (plain old java object)-based programming model that is applicable in a wide range of environments. Hibernate is a powerful, high performance object/relational persistence and query service Hibernate lets developers to develop persistent classes following object- oriented idiom - including association, inheritance, polymorphism, composition, and collections Hibernate allows developers to express queries in its own portable SQL extension (HQL), as well as in native SQL, or with an object-oriented Criteria and Example API 3.2 Mô tả kiến trúc: Biểu đồ sau cho thấy tầng kiến trúc 3-Layer đề xuất Sơ đồ cho thấy lớp kiến trúc cách chúng khớp với Hình Kiến trúc lớp 3.2.1 Model(M): - Là phận có chức lưu trữ tồn liệu ứng dụng Bộ phận cầu nối phần bên View Controllor Nhóm 19N13 – Team 09 Page 10 Trong ví dụ trên, tạo vài đối tượng stringbuilder string Chính xác 10.000.000 stringbuilder 10.000.001 string Giải thích: Khi sử dụng phép tốn + cho nối chuỗi tức tạo đối tượng trung gian lưu trữ kết phép nỗi trước gán giá trị cho đối tượng đích Trong ví dụ trên, tạo tổng cộng đối tượng: cho chữ cho phép nối Đó bảng kết chuỗi cộng với “world” Điều xảy chuỗi bất biến Nhưng trình biên dịch đủ thơng minh để chuyển đổi mã thành sau(không áp dụng cho Java 9+, sử dụng StringContactFacotry kết giống nhau) Việc tối ưu hoá loại bỏ đối tượng trung gian nhớ bị chiếm chuỗi ký tự StringBuilder String Nói chung, số lượng đối tượng Chuỗi giảm từ O(n2) xuống O(n) Quay lại ví dụ đầu tiên, trình biên dịch tối ưu mã hố Nhóm 19N13 – Team 09 Page 18 Trình biên dịch tối ưu hố kết nối bên trong, điều tạo nhiều đối tượng StringBuilder String Cách nối chuỗi sau cần StringBuilder String 5.3 NullPointerException Lỗi NullPointerException ném chương trình cố gắng tham chiếu tới đối tượng khơng có vị trí nhớ, tức có giá trị null Việc gọi method tham chiếu null cố gắng truy cập trường tham chiếu null nguyên nhân phổ biến gây lỗi NullPointerException Java Ngoài ra, số trường hợp gây lỗi NullPointerException sau: Gọi phương thức từ đối tượng null Truy cập sửa đổi thuộc tính null object Lấy chiều dài mảng mảng bị null Truy cập sửa đổi vị trí đối tượng null, ví dụ mảng, list,… Ném null giá trị Throwable Cố gắng đồng hoá đối tượng null Một số cách sửa lỗi NullPointerException Java + Luôn kiếm tra giá trị null trước sử dụng + Kiểm tra String null sau lệnh trim() + Khởi tạo giá trị trước sử dụng Nhóm 19N13 – Team 09 Page 19 + Sử dụng try-catch để bắt lỗi NullPointerException 5.4 Không sử dụng equals() Nếu sử dụng == thay lệnh equals(), kết bất ngờ khiến thay đổi thói quen sử dụng chúng Giải thích: Bạn khơng sử dụng == so sánh chuỗi( string) chung hầu hết đối tượng == so sánh tham chiếu toán hạng( so sánh địa nhớ khơng phải nội dung chúng) Trong ví dụ trên, chuỗi y khơng có lợi cho chuỗi Interning: địa nhớ khác với địa x Nhóm 19N13 – Team 09 Page 20 5.5 Trả giá trị null Vấn đề việc trả null bạn buộc người gọi kiểm tra null kết Trong trường hợp người gọi mong đợi khơng có mục danh sách trống trả Chúng ta muốn trả ngoại lệ đối tượng đặc biệt( danh sách trống) ứng dụng sử dụng mã bị ảnh hưởng NullPulumExceptions 5.6 “ArrayIndexOutOfBoundsException” Đây thông điệp lỗi biên dịch xảy mã cố gắng truy cập mục mảng không nằm giá trị Đoạn mã sau kích hoạt ngoại lệ Chỉ mục mảng kết thúc nhỏ độ dài mảng Thường sửa cách sử dụng “