Trang 1 TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP HÀ NỘIKHOA CÔNG NGHỆ THÔNG TIN---BÁO CÁO BÀI TẬP LỚNHọc phần: NHẬP MÔN CÔNG NGHỆ PHẦN MỀMLớp đọc lập: IT6082.2 20222IT6082002ĐỀ TÀI: Nghiên cứu mô hình
Giới thiệu chung
Đề tài nghiên cứu mô hình bản mẫu trong phát triển phần mềm và áp dụng vào việc quản lý bán laptop Đây là một đề tài có tính ứng dụng cao, nhằm tìm hiểu và áp dụng các mô hình bản mẫu trong việc phát triển phần mềm quản lý bán laptop. Ảnh 1.1: Trang bán laptop và thiết bị công nghệ CellphoneS
Trước khi đi vào chi tiết, ta cần cung cấp thông tin về phần mềm này.Phần mềm quản lý bán laptop được phát triển với mục đích hỗ trợ các hoạt động quản lý, bán hàng và dịch vụ sau bán hàng liên quan đến laptop Chủ đầu tư của phần mềm là một công ty chuyên kinh doanh các sản phẩm công nghệ, trong đó bao gồm cả laptop Người sử dụng của phần mềm là nhân viên của công ty, gồm các bộ phận quản lý, bộ phận bán hàng và bộ phận dịch vụ sau bán hàng Phần mềm được áp dụng trong lĩnh vực bán lẻ laptop và được triển khai tại các cửa hàng của công ty trên toàn quốc.
Giới thiệu dự án phần mềm
Mục tiêu của dự án
Tạo ra một hệ thống quản lý bán laptop hiệu quả và dễ sử dụng để giúp cải thiện quy trình bán hàng và dịch vụ khách hàng
Quản lý thông tin chi tiết về các sản phẩm laptop, bao gồm thông số kỹ thuật, giá cả, tình trạng hàng tồn kho và các thông tin khác
Quản lý các hoạt động bán hàng, bao gồm đặt hàng, xuất kho, giao hàng và xử lý đơn hàng
Cung cấp chức năng dịch vụ sau bán hàng, bao gồm bảo hành, sửa chữa, cung cấp phụ kiện và hỗ trợ kỹ thuật
Tạo ra báo cáo thống kê về doanh số bán hàng, lợi nhuận, tồn kho và các thông tin quan trọng khác Ảnh 1.3: Quy trình quản lý cửa hàng
Dữ liệu đầu vào và đầu ra
Dữ liệu đầu vào bao gồm thông tin về sản phẩm laptop, bao gồm tên, mô tả, thông số kỹ thuật, giá cả, nhà cung cấp và số lượng hàng tồn kho Ngoài ra, dữ liệu khách hàng, đơn hàng, hóa đơn, thông tin khuyến mãi và các thông tin khác cũng là phần quan trọng của dự án
Dữ liệu đầu ra bao gồm báo cáo doanh số bán hàng, lợi nhuận, tồn kho,thông tin khách hàng, báo cáo bảo hành và sửa chữa, báo cáo dịch vụ sau bán hàng và các báo cáo thống kê khác.
Chủ đầu tư, khách hàng và người sử dụng
Ảnh 1.4: Tác nhân ảnh hưởng tới quá trình quản lý
Chủ đầu tư của dự án là công ty ABC, một công ty chuyên kinh doanh các sản phẩm công nghệ, trong đó bao gồm cả laptop Chủ đầu tư có nhu cầu tăng cường hiệu quả quản lý bán hàng và dịch vụ khách hàng, từ đó tối ưu hóa doanh thu và tăng cường sự hài lòng của khách hàng
Khách hàng chính của dự án là những người tiêu dùng có nhu cầu mua laptop Họ mong muốn có một trải nghiệm mua sắm thuận tiện, thông tin chi tiết về sản phẩm và dịch vụ hỗ trợ sau bán hàng
Người sử dụng của phần mềm gồm các nhân viên trong công ty ABC, bao gồm nhân viên bán hàng, nhân viên quản lý kho, nhân viên dịch vụ sau bán hàng và quản lý cấp cao Các nhân viên sẽ sử dụng phần mềm để quản lý thông tin sản phẩm, quản lý đơn hàng, xử lý bảo hành, sửa chữa, và cung cấp dịch vụ sau bán hàng.
Các ràng buộc liên quan
Ràng buộc về bảo mật: Dự án phải đảm bảo an toàn thông tin của khách hàng và công ty ABC Các biện pháp bảo mật như xác thực người dùng, quản lý quyền truy cập và mã hóa dữ liệu phải được áp dụng để ngăn chặn việc truy cập trái phép và lợi dụng thông tin
Ràng buộc về quy định pháp lý: Dự án phải tuân thủ các quy định pháp lý liên quan đến việc lưu trữ và xử lý thông tin khách hàng, bao gồm quyền riêng tư và bảo vệ dữ liệu cá nhân
Ràng buộc về hiệu suất: Phần mềm cần đáp ứng yêu cầu về hiệu suất, đảm bảo việc xử lý thông tin nhanh chóng và mượt mà, đồng thời hỗ trợ số lượng người dùng lớn và tải lớn.
PHÂN TÍCH VÀ ĐẶC TẢ YÊU CẦU PHẦN MỀM
Quy trình kỹ thuật yêu cầu
Giới thiệu về quy trình kỹ thuật yêu cầu
Prototype là một mô hình phát triển phần mềm được phát triển dựa trên các yêu cầu hệ thống Dựa vào bản prototype mà khách hàng có cái nhìn tổng quan về hệ thống thực tế.
Prototype là một ý tưởng hay cho các hệ thống phức tạp và lớn mà không có quy trình thủ công để giúp xác định các yêu cầu.
Prototype thường không phải là hệ thống hoàn chỉnh và nhiều chi tiết không được xây dựng trong bản prototype Mục tiêu là cung cấp một hệ thống với chức năng tổng thể.
Các hoạt động trong quy trình kỹ thuật yêu cầu
- Thu thập yêu cầu từ khách hàng – chủ hoặc đại diện của bên cửa hàng bán laptop
- Khách hàng sẽ đưa ra những chức năng khách hàng mong muốn cho chuyên viên tư vấn
Trong giai đoạn tiếp theo, trưởng nhóm BA, HR, Architecture và Finance sẽ ngồi lại với nhau và nói về giá thành của sản phẩm, nguồn lực nào sẽ cần, công nghệ nào được sử dụng để phát triển sản phẩm và cần bao nhiêu thời gian để hoàn thành sản phẩm và giao hàng.
Sau khi hoàn thành nghiên cứu khả thi, chúng tôi sẽ chuyển sang giai đoạn tiếp theo, nơi chúng tôi sẽ tạo Prototype dựa trên dữ liệu thu thập từ khách hàng và nhà phát triển web sẽ thiết kế Prototype. Ở đây chúng tôi chọn STATIC PROTOTYPE cho sản phẩm của mình
Trong Prototype tĩnh, chúng tôi giữ toàn bộ Prototype của các yêu cầu trong một tài liệu word với tất cả các hướng dẫn, ảnh chụp màn hình và mô tả về cách xây dựng phần mềm, sản phẩm đã hoàn thành sẽ trông như thế nào và nó sẽ hoạt động như thế nào, v.v .
Sau khi chúng tôi xây dựng Prototype, BA sẽ kiểm tra Prototype và thực hiện một vòng kiểm tra Prototype.
Thử nghiệm Prototype đang thử nghiệm, trong đó chúng tôi sẽ chỉ kiểm tra giao diện, nghĩa là giao diện người dùng và giao diện người dùng.
Sau khi thử nghiệm Prototype được thực hiện, nó sẽ được giao cho khách hàng để họ xem xét và phê duyệt Nếu khách hàng không hài lòng với mẫu đã cho, chúng tôi sẽ thay đổi mẫu thử dựa trên hướng dẫn và phản hồi của khách hàng Quá trình này sẽ tiếp tục cho đến khi khách hàng chấp thuận và hài lòng với Prototype Nó hơi mất thời gian vì chúng ta phải thực hiện lại các thay đổi trong Prototype
Sau khi nhận được Prototype đã được phê duyệt, chúng tôi sẽ bắt đầu thiết kế cấp cao và cấp thấp cho sản phẩm cuối cùng và xem xét tất cả các đề xuất mà khách hàng đưa ra tại thời điểm tạo mẫu cuối cùng.
Khi giai đoạn thiết kế đã hoàn thành thành công, chúng tôi chuyển sang giai đoạn viết mã của mình, nơi nhà phát triển liên quan bắt đầu phát triển sản phẩm dựa trên kiến thức lập trình của họ
Sau khi biên dịch giai đoạn phát triển, nó được bàn giao cho kỹ sư thử nghiệm Và kỹ sư kiểm tra kiểm tra chức năng ứng dụng và tất cả các đầu vào và đầu ra.
Khi sản phẩm cuối cùng của chúng tôi được phát triển và thử nghiệm theoPrototype cuối cùng, nó sẽ được đưa vào sản xuất Và sản phẩm sẽ được bảo trì theo thời gian để giảm thiểu mọi sự cố gián đoạn, giúp tránh được những hỏng hóc đáng kể.
Các tác nhân tham gia vào quy trình kỹ thuật yêu cầu
Giới thiệu về các tác nhân tham gia quy trình kỹ thuật yêu cầu
2.2.1 Giới thiệu về các tác nhân tham gia quy trình kỹ thuật yêu cầu
Các tác nhân tham gia quy trình kỹ thuật
Khách hàng là tác nhân có tác động lớn đến quy trình kỹ thuật Họ sẽ đưa ra những yêu cầu, mong muốn cho chuyên viên tư vấn để từ đó có một cái nhìn tổng quát về dự án.
2.2.2.2 Trưởng nhóm BA, HR, Architecture và Finance
Các tác nhân này sẽ bàn về giá thành của sản phẩm, nguồn lực nào sẽ cần, công nghệ nào được sử dụng để phát triển sản phẩm và cần bao nhiêu thời gian để hoàn thành sản phẩm và giao hàng.
Business Analyst (BA) là người có mối liên kết giữa các bộ phận để hiểu cấu trúc, chính sách và hoạt động của một tổ chức và đề xuất các giải pháp cho phép tổ chức đạt được các mục tiêu của mình
HR (Human Resources) là quản trị nhân sự Các công việc của HR liên quan đến các hoạt động tuyển dụng, lên kế hoạch triển khai các chính sách phù hợp để duy trì nguồn nhân lực cho công ty và có kế hoạch bồi dưỡng phát triển năng lực các cá nhân, phòng ban để có thể hoàn thành công việc một cách hiệu quả nhất.
Architect sẽ sử dụng kiến thức chuyên ngành trong lĩnh vực xây dựng và năng khiếu hội hoạ của bản thân để thiết kế bản vẽ.
Finance người thực hiện việc thu thập, xử lí, kiểm tra, phân tích và cung cấp thông tin kinh tế, tài chính bằng các báo cáo tài chính và phân phối nguồn tài chính cho doanh nghiệp Đây là một vị trí rất quan trọng và có sức ảnh hưởng trong việc quyết định các vấn đề kinh doanh, định hướng hoạt động của công ty
Sau khi Prototypte được phê duyệt các nhà thiết kế sẽ bắt đầu thực hiện công việc của mình, thiết kế cấp cao và cấp thấp cho sản phẩm cuối cùng và xem xét tất cả các đề xuất mà khách hàng đưa ra tại thời điểm tạo mẫu cuối cùng.
Những người này sẽ chủ yếu viết ra các chương trình, ứng dụng hoặc các website trên những nền tảng công nghệ khác nhau Họ sẽ bắt đầu nhiệm vụ khi bản thiết kế được hoàn thành.
Tester là những người đóng vai trò kiểm tra chất lượng, phát hiện những lỗi sai hoặc bất cứ vấn đề gì có liên quan đến chất lượng phần mềm.
Đặc tả yêu cầu phần mềm quản lý bán laptop
Khảo sát sơ bộ
Tài liệu này mô tả chi tiết về thiết kế phần mềm quản lý bán laptop phục vụ cho hoạt động quản lý sản phẩm, quản lý đơn hàng, giới thiệu sản phẩm của một doanh nghiệp bán laptop.
Tài liệu này là cơ sở giao tiếp của các thành viên trong đội phát triển dự án phần mềm quản lý bán laptop và tài liệu này cũng là căn cứ trong hoạt động kiểm thử, vận hành và bảo trì phần mềm.
2.3.1.3 Bố cục tài liệu thiết kế phần mềm
Ngoài phần giới thiệu, cấu trúc Tài liệu đặc tả yêu cầu phần mềm quản lý bán laptop còn gồm các nội dung chính sau:
- Phần 1 trình bày chi tiết về các yêu cầu chức năng của phần mềm, bao gồm yêu cầu chức nghiệp vụ và yêu cầu chức năng hệ thống;
- Phần 2 trình bày chi tiết về các yêu cầu phi chức năng của phần mềm.
Yêu cầu chức năng
Hệ thống được xây dựng hỗ trợ cho các nhóm người sử dụng như sau:
Đối với người quản trị:
Có chức năng đăng nhập vào hệ thống để quản lý, sửa đổi các thông tin trong hệ thống.
Quản lý các sản phẩm được nhập xuất với đầy đủ thông tin (mã hàng, giá tiền, số lượng ).
Quản lý khách hàng về các mặt thông tin (địa chỉ, lịch sử mua hàng ).
Quản lý hàng xuất (bán):
Khi khách hàng có nhu cầu mua sản phẩm trên hệ thống, chức năng này có nhiệm vụ đưa ra yêu cầu khách hàng nhập vào các thông tin cần thiết để phía quản lí đơn hàng xác nhận.
Sau khi đơn hàng được xác nhận thành công sẽ lưu lại thông tin đơn hàng để phía quản lý biết được số sản phẩm còn lại bao nhiêu, hỗ trợ cho khách hàng cũng như việc nhập hàng.
Chức năng báo cáo đơn hàng: Sau khi các đơn hàng được thực hiện sẽ được thông báo về cho các phía quản lý nhằm nắm bắt được thông tin riêng từng đơn hàng và hỗ trợ cho việc tổng kết về doanh thu từng sản phẩm.
Thông báo các các sản phẩm đã hết cho phía quản lý để lên kế hoạch nhập hàng.
Chức năng cập nhật: Nhằm cập nhật các thông tin tùy theo ý người quản trị hoặc do hệ thống tự cập nhật thông tin do đã lập trình sẵn về các đối tượng:
Xóa hoặc thêm thông tin khách hàng.
Thay đổi thông tin về sản phẩm: mã sản phẩm, giá thành, số lượng, xóa hoặc thêm sản phẩm.
Hệ thống cần được bảo trì khi có về đề về các chức năng hoạt động chậm hay có lỗi cần sửa đổi hoặc người quản trị muốn nâng cấp hệ thống.
Phía người dùng có thể vào website để thực hiện:
Chức năng Đăng ký, Đăng nhập.
Chức năng Xem sản phẩm theo theo danh mục, xem các sản phẩm
Chức năng Tìm kiếm sản phẩm theo tên sản phẩm, tên nhãn hàng hay theo giá, …
Chức năng Thêm sản phẩm vào giỏ hàng và cập nhật giỏ hàng.
Chức năng Đổi trả và huỷ đơn.
2.3.2.1 Mô tả use case Đăng ký
Mô tả Use case này cho phép người dùng đăng ký tài khoản
Sự kiện kích hoạt chức năng
Use case này bắt đầu khi người dùng ấn “Đăng Ký” trong phần thanh toán Hệ thống hiển thị thông tin mà người dùng cần nhập ra màn hình.
Luồng sự kiện chính # Thực hiện bởi
Người dùng ấn “Đăng Ký” trong phần thanh toán Hệ thống hiển thị thông tin mà người dùng cần nhập ra màn hình.
Người dùng nhập đầy đủ các thông tin như Email, mật khẩu Hệ thống sẽ lấy thông tin tài khoản từ bảng Custom hiển thị ra màn hình.
3 Hệ thống Use case kết thúc
Luồng sự kiện thay thế
Tại bước 2 trong luồng cơ bản, nếu nhập thông tin sai Email, hệ thống sẽ thông báo lỗi và hiển thị thông báo “Vui lòng điền vào trường này”
2 Hệ thống Tại bất kỳ thời điểm nào trong quá trình thực hiện use case nếu không kết nối được với cơ sở dữ liệu thì hệ thống sẽ hiển thị một thông báo lỗi và use case kết thúc.
2.3.2.2 Mô tả use case Đăng nhập
Mô tả Use case này cho phép người dùng đăng nhập tài khoản
Sự kiện kích hoạt chức năng
Use case này bắt đầu khi người dùng ấn “Đăng Nhập” trong phần thanh toán Hệ thống hiển thị thông tin mà người dùng cần nhập ra màn hình.
Luồng sự kiện chính # Thực hiện bởi
Người dùng ấn “Đăng Nhập” trong phần thanh toán Hệ thống hiển thị thông tin mà người dùng cần nhập ra màn hình.
Người dùng nhập đầy đủ các thông tin như Email, mật khẩu Hệ thống sẽ lấy thông tin tài khoản từ bảng Custom hiển thị ra màn hình.
3 Hệ thống Use case kết thúc
Luồng sự kiện thay thế
Tại bước 2 trong luồng cơ bản, nếu nhập thông tin sai Email, hệ thống sẽ thông báo lỗi và hiển thị thông báo “Vui lòng điền vào trường này”
2 Hệ thống Tại bất kỳ thời điểm nào trong quá trình thực hiện use case nếu không kết nối được với cơ sở dữ liệu thì hệ thống sẽ hiển thị một thông báo lỗi và use case kết thúc.
Không 2.3.2.3 Mô tả use case Tìm kiếm
Mô tả Use case này cho phép người dùng tìm kiếm dữ liệu về sản phẩm theo tên trong shop. chức năng người dùng nhập tên sản phẩm lên màn hình.
Người dùng kích chuột vào thanh tìm kiếm trên menu Hệ thống sẽ hiển thị lên màn hình ô tìm kiếm và cho phép khách hàng nhập tên sản phẩm lên màn hình.
Khi người dùng chọn vào sản phẩm mà mình muốn tìm, hệ thống sẽ lấy ra danh sách thông tin các sản phẩm gồm loại sản phẩm, tên sản phẩm, giá, ảnh minh họa sác và hiển thị ra màn hình.
Khi người dùng vào sản phẩm muốn xem thì hệ thống sẽ lấy ra danh sách thông tin gồm loại sản phẩm, tên sản phẩm, giá, ảnh minh hoạ sản phẩm, kích thước, số lượng cần mua, nút mua hàng và thêm vào giỏ, thông tin mô tả sách, hướng dẫn mua hàng online, bình luận từ cơ sở dữ liệu và hiển thị ra màn hình.
4 Hệ thống Use case kết thúc
Luồng sự kiện thay thế
Tại bước 2 trong luồng cơ bản nếu trong cơ sở dữ liệu chưa có dữ liệu thì hệ thống sẽ hiển thị 1 thông báo: “Không có sản phẩm nào” Use case kết thúc.
2 Hệ thống Tại bước 3 trong luồng cơ bản nếu trong cơ sở dữ liệu không có dữ liệu thì hệ thống sẽ đưa ra thông báo “Không có dữ liệu” Use case kết thúc.
3 Hệ thống Tại bất kỳ thời điểm nào trong quá trình thực hiện
Use case nếu không kết nối được với cơ sở dữ liệu thì hệ thống sẽ thông báo lỗi và Use case kết thúc.Hậu điều Không kiện
2.3.2.4 Mô tả use case Danh mục sản phẩm
Use Case Danh mục sản phẩm
Mô tả Use case này cho phép người dùng lựa chọn sản phẩm theo loại sản phẩm.
Sự kiện kích hoạt chức năng
Use case này bắt đầu khi người dùng kích vào “Danh Mục Sản Phẩm” từ thanh menu
Luồng sự kiện chính # Thực hiện bởi
Use case này bắt đầu khi người dùng kích vào
“Danh Mục Sản Phẩm” từ thanh menu.Hệ thống sẽ truy vấn CSDL và hiển thị lên màn hình các thể loại laptop.
2 Hệ thống Use case kết thúc
Luồng sự kiện thay thế
Tại bất kỳ thời điểm nào trong quá trình thực hiện use case nếu không kết nối được với cơ sở dữ liệu thì hệ thống sẽ hiển thị một thông báo lỗi và use case kết thúc.
Không 2.3.2.5 Mô tả use case Mua hàng
Mô tả Use case này cho phép người dùng mua hàng mình chọn
Sự kiện Use case này bắt đầu khi người dùng click vào nút “Mua Ngay”
Luồng sự kiện chính # Thực hiện bởi
Use case này bắt đầu khi người dùng click vào nút
“Mua Ngay” trong Thông tin sản phẩm hệ thống sẽ chuyển sang trang điền thông tin giao hàng.
Người dùng điền đầy đủ thông tin như Họ tên, sđt, địa chỉ rồi chọn “tiếp tục đến phương thức thanh toán”, hệ thống sẽ lưu thông tin vào CSDL và hiển thị phương thức thanh toán ra màn hình.
Người dùng chọn phương thức vận chuyển và ấn nút “hoàn tất đơn hàng”, hệ thống sẽ hiển thị hóa đơn mua hàng.
4 Hệ thống Use case kết thúc
Luồng sự kiện thay thế
Yêu cầu phi chức năng
Hỗ trợ sử dụng trên các trình duyệt thông dụng và sử dụng được trên các nền tảng khác nhau của các thiết bị di động.
Giao diện ứng dụng đẹp mắt, thân thiện với người dùng:
Giao diện website tạo ấn tượng với người dùng giúp người cảm thấy gần gũi, dễ sử dụng.
Màu sắc bố cục được thiết kế phù hợp, dễ nhìn, dễ tương tác.
Giao diện có màu sắc chủ đạo là màu xanh lá và nâu Giao diện cần đạt chuẩn SEO, đáp ứng yêu cầu chạy quảng cáo, tối ưu đơn hàng Giao diện cần co giãn với mọi kích thước của thiết bị hiển thị.
Website cần hiển thị đa ngôn ngữ với 2 ngôn ngữ: tiếng Việt.
Thay đổi dữ liệu về sản phẩm trong cơ sở dữ liệu cần được cập nhật cho tất cả người dùng sử dụng hệ thống trong 2 giây.
Băng thông trang web cho phép nhiều người dùng truy cập vào trang web trong cùng 1 thời điểm.
Thông tin khách hàng cần được bảo mật.
Dễ dàng truy cập thông qua đường link có sẵn đáp ứng cho người dùng nhiều tiện ích khi vào hệ thống.
3.1 Tổng quan thiết kế phần mềm
Vai trò và các nhiệm vụ trong hoạt động thiết kế phần phần
Trong quá trình phát triển phần mềm quản lý bán laptop, hoạt động thiết kế phần mềm đóng vai trò quan trọng trong việc xác định cấu trúc, chức năng và giao diện của hệ thống Vai trò và nhiệm vụ trong hoạt động thiết kế phần mềm được phân chia rõ ràng và liên quan chặt chẽ đến nhau Dưới đây là một số vấn đề quan trọng liên quan đến thiết kế phần mềm:
Thiết kế phần mềm là quá trình tạo ra bản thiết kế chi tiết và cụ thể của hệ thống phần mềm.
Thiết kế phần mềm liên quan đến việc xác định cấu trúc, các thành phần và các quy tắc để triển khai các yêu cầu của hệ thống phần mềm.
Thiết kế phần mềm có vai trò quan trọng trong xác định cách thức triển khai các yêu cầu đã được phân tích và định nghĩa trong quá trình phân tích yêu cầu.
Cung cấp một khung nhìn toàn diện về cấu trúc và chức năng của hệ thống phần mềm trước khi bước vào giai đoạn triển khai.
Hoạt động thiết kế phần mềm xảy ra sau quá trình phân tích yêu cầu và trước giai đoạn triển khai.
Nó là bước quan trọng trong chu trình phát triển phần mềm và cung cấp các bản thiết kế chi tiết cho các nhóm phát triển khác nhau.
Các hoạt động trong thiết kế phần mềm:
Thu thập yêu cầu: Các nhà thiết kế phần mềm phải làm việc chặt chẽ với nhóm phân tích yêu cầu để hiểu rõ yêu cầu của hệ thống và xác định các mục tiêu cần đạt được trong thiết kế.
Thiết kế kiến trúc: Xác định kiến trúc tổng thể của hệ thống, bao gồm các thành phần, cấu trúc và cách thức chúng tương tác với nhau Điều này đảm bảo rằng hệ thống có một kiến trúc mạnh mẽ và linh hoạt để đáp ứng yêu cầu của người dùng.
Thiết kế giao diện người dùng: Tạo ra các giao diện người dùng hấp dẫn và dễ sử dụng để người dùng có thể tương tác với hệ thống một cách hiệu quả và thuận tiện.
Thiết kế cơ sở dữ liệu: Xác định cấu trúc, bảng, quan hệ và liên kết dữ
Thiết kế chức năng: Xác định các chức năng cần có trong hệ thống và xây dựng mô hình quy trình và luồng công việc để thực hiện các chức năng đó.
Kiểm tra thiết kế: Đảm bảo rằng bản thiết kế đáp ứng đúng yêu cầu và tuân thủ các tiêu chuẩn và quy tắc thiết kế.
Chiến lược thiết kế phần mềm
Đề tài này sẽ được thiết kế theo thiết kế hướng đối tượng (Object-Oriented Design)
Giới thiệu về chiến lược thiết kế hướng đối tượng:
Chiến lược thiết kế hướng đối tượng là một phương pháp tiếp cận trong phát triển phần mềm, tập trung vào việc xác định và tạo ra các đối tượng có quan hệ tương tác để thể hiện các khái niệm, tính năng và hành vi của hệ thống Đây là một phương pháp thiết kế linh hoạt và mạnh mẽ, cho phép xây dựng các hệ thống phức tạp và dễ dàng bảo trì.
Nó giúp tạo ra các đối tượng tái sử dụng, cho phép chúng ta xây dựng lại và mở rộng hệ thống một cách linh hoạt Điều này tiết kiệm thời gian và công sức trong quá trình phát triển và bảo trì phần mềm.
Chiến lược thiết kế hướng đối tượng giúp tăng tính nhất quán và rõ ràng trong thiết kế Bằng cách phân chia hệ thống thành các đối tượng và quan hệ giữa chúng, chúng ta có thể hiểu rõ hơn về cấu trúc và luồng công việc của hệ thống.
Chiến lược thiết kế hướng đối tượng tạo điều kiện thuận lợi cho việc phân chia công việc trong nhóm phát triển phần mềm Mỗi thành viên trong nhóm có thể tập trung vào việc thiết kế và triển khai các đối tượng cụ thể mà mình chịu trách nhiệm, đồng thời đảm bảo tính nhất quán và tương tác giữa các đối tượng.
Cuối cùng, chiến lược thiết kế hướng đối tượng giúp tạo ra mã nguồn dễ đọc, dễ bảo trì và dễ mở rộng.
Công cụ hỗ trợ thiết kế phần mềm
Các công cụ hỗ trợ để xây dựng phần mềm quản lí bán laptop được sử dụng là:
- HTML, CSS, Javascript: sử dụng để xây dựng cấu trúc và định dạng nội dung trên trang web.
- Java, PHP: được sử dụng để lập trình máy chủ (server-side).
- Adobe XD, Canva: được sử dụng để thiết kế giao diện người dùng.
- Adobe Illustrator: được sử dụng để thiết kế và chỉnh sửa đồ họa vector cho giao diện người dùng.
- Microsoft SQL Server Management Studio (SSMS): được sử dụng để quản lý cơ sở dữ liệu.
Ngoài ra đề tài còn sử dụng Hệ thống quản lý phiên bản phân tán (chủ yếu là Git và Mercurial) để lưu trữ và quản lý source code của website.
3.2 Tài liệu thiết kế phần mềm
Giới thiệu
Tài liệu này mô tả chi tiết về thiết kế phần mềm website bán laptop phục vụ hoạt động bán laptop của công ty Laptopworld.
Tài liệu này là cơ sở giao tiếp của các thành viên trong đội phát triển dự án phần mềm website laptop và tài liệu này cũng là căn cứ trong hoạt động kiểm thử, vận hành và bảo trì phần mềm.
3.2.1.3 Thuật ngữ và các từ viết tắt
:Đặc tả yêu cầu phần mềm
1 Prototyping: A Practitioner's Guide, Todd Zaki Warfel, 2009, Rosenfeld Media.
2 Prototyping and Modelmaking for Product Design, Bjarki Hallgrimsson,
3 Effective Prototyping for Software Makers, Jonathan Arnowitz, 2006,
4 Prototyping and Modelmaking for Architects, Nick Dunn, 2011, Routledge.
5 Prototyping Essentials with Axure, Ezra Schwartz, 2014, Packt Publishing.
3.2.1.5 Bố cục tài liệu thiết kế phần mềm
Ngoài phần giới thiệu, cấu trúc Tài liệu mô tả thiết kế phần mềm website bán laptop còn gồm các nội dung chính sau:
- Tổng quan về phần mềm;
- Thiết kế kiến trúc phần mềm;
- Thiết kế các thành phần phần mềm;
Thiết kế kiến trúc phần mềm
Thiết kế kiến trúc phần mềm là quá trình xác định cấu trúc và tổ chức của một hệ thống phần mềm Nó nhằm định nghĩa các thành phần chính, mối quan hệ giữa chúng và cách chúng hoạt động cùng nhau để đáp ứng yêu cầu chức năng và phi chức năng của hệ thống Thiết kế kiến trúc giúp tạo ra một kiến trúc logic, mô-đun, linh hoạt và dễ bảo trì cho phần mềm, đồng thời hỗ trợ việc tái sử dụng và mở rộng Quá trình này thường liên quan đến việc chọn lựa các khối kiến trúc, mô hình hóa quan hệ giữa chúng, và áp dụng các nguyên tắc thiết kế phần mềm để đảm bảo tính nhất quán, hiệu suất và khả năng mở rộng của hệ thống.
Một số mô hình kiến trúc phần mềm có thể kể tới như:
Kiến trúc đơn thể (Monolithic Architecture):
Kiến trúc đơn thể là một mô hình phát triển phần mềm truyền thống, trong đó toàn bộ ứng dụng được xây dựng và triển khai như một hệ thống duy nhất.
Tất cả các thành phần, chức năng và logic của ứng dụng đều được tích hợp trong một mã nguồn duy nhất.
Điều này dẫn đến sự phụ thuộc chặt chẽ giữa các thành phần, làm cho việc bảo trì, mở rộng và tái sử dụng khá khó khăn.
Kiến trúc đơn thể thường được sử dụng cho các ứng dụng nhỏ và đơn giản.
Kiến trúc các thành phần (Component-based Architecture):
Kiến trúc các thành phần là một mô hình phát triển phần mềm phân tách ứng dụng thành các thành phần độc lập, mỗi thành phần chịu trách nhiệm cho một chức năng cụ thể.
Các thành phần có thể được phát triển và triển khai một cách độc lập, và có thể được tái sử dụng trong các ứng dụng khác nhau.
Các thành phần giao tiếp thông qua các giao diện, đảm bảo sự tương tác linh hoạt và rõ ràng giữa chúng.
Kiến trúc các thành phần giúp tăng tính linh hoạt, dễ bảo trì và mở rộng của ứng dụng.Kiến trúc hướng dịch vụ (Service-Oriented Architecture):
Kiến trúc hướng đối tượng (Object-based Architecture):
Kiến trúc hướng đối tượng là một mô hình phát triển phần mềm dựa trên các đối tượng và mối quan hệ giữa chúng.
Mỗi đối tượng đại diện cho một thực thể trong thế giới thực và có các thuộc tính và phương thức để định nghĩa hành vi của nó.
Kiến trúc hướng đối tượng tập trung vào việc tái sử dụng và mở rộng các đối tượng, đồng thời giảm thiểu sự phụ thuộc giữa chúng.
Việc sử dụng kế thừa, đa hình và gói gọn giúp kiến trúc hướng đối tượng linh hoạt và dễ bảo trì.
Sau đây là Biểu đồ thành phần (Component Diagram) và Biểu đồ triển khai (Deployment Diagram) để minh họa cho kiến trúc phần mềm.
Biểu đồ thành phần (Component Diagram)
Hình 3.1 Biểu đồ thành phần (Component Diagram)
Biểu đồ triển khai (Deployment Diagram)
Hình 3.2 Biểu đồ triển khai (Deployment Diagram)
1 Kiến trúc hướng đối tượng: ã Kiến trỳc hướng đối tượng tập trung vào việc tổ chức phần mềm thành các đối tượng độc lập và tương tác với nhau thông qua giao tiếp và hợp tác. ã Cỏc thành phần của phần mềm được phõn chia thành cỏc lớp (classes) đại diện cho các đối tượng có tính chất tương tự và có cùng mục đích. ã Mỗi lớp chứa cỏc phương thức (methods) và thuộc tớnh (properties) riêng biệt để thực hiện các chức năng cụ thể.Để mô tả sự phân rã của từng thành phần trong kiến trúc hướng đối tượng,nhóm BTL sử dụng phương pháp hướng đối tượng Các thành phần trong kiến trúc được phân rã theo các lớp đối tượng và các mối quan hệ giữa chúng.
2 Với dự án xây dựng website bán laptop được phân rã thành các lớp đối tượng sau:
- Lớp Đơn hàng (Order): chỉ các đơn hàng được đặt trên website Bao gồm các thuộc tính như mã đơn hàng, thông tin khách hàng, danh sách sản phẩm trong đơn hàng, tổng giá trị đơn hàng, trạng thái đơn hàng, v.v.
- Lớp Sản phẩm (Product): ứng với các sản phẩm laptop được bán trên website Có các thuộc tính như mã sản phẩm, tên sản phẩm, giá, mô tả, hình ảnh, v.v.
- Lớp Khách hàng (Customer): đại diện cho các khách hàng sử dụng website để mua laptop Có các thuộc tính như tên khách hàng, địa chỉ, số điện thoại, địa chỉ email, v.v.
- Lớp Giỏ hàng (Shopping Cart): giỏ hàng của khách hàng, trong đó chứa danh sách sản phẩm khách hàng đã chọn để mua Có các phương thức để thêm/sửa/xóa sản phẩm trong giỏ hàng, tính tổng giá trị giỏ hàng, v.v.
- Lớp Thanh toán (Payment): chỉ quá trình thanh toán của khách hàng Bao gồm các thuộc tính và phương thức để xử lý thông tin thanh toán, xác nhận thanh toán, v.v.
- Lớp Quản lý sản phẩm (Product Management): đại diện cho quản lý sản phẩm trong hệ thống Có các phương thức để thêm/sửa/xóa sản phẩm, tìm kiếm sản phẩm, v.v.
- Lớp Quản lý đơn hàng (Order Management): quản lý các đơn hàng trong hệ thống Bao gồm các phương thức để xem danh sách đơn hàng, cập nhật trạng thái đơn hàng, v.v.
- Lớp Đăng nhập (Login): quá trình xác thực và đăng nhập của khách hàng vào hệ thống.
Các lớp đối tượng trong website có các mối quan hệ sau đây:
- Quan hệ "Has-a" (Có-một):
Lớp Đơn hàng (Order) "has-a" lớp Sản phẩm (Product): Mỗi đơn hàng sẽ bao gồm một danh sách các sản phẩm.
Lớp Giỏ hàng (Shopping Cart) "has-a" lớp Sản phẩm (Product): Giỏ hàng sẽ chứa danh sách các sản phẩm khách hàng đã chọn.
- Quan hệ "Belongs-to" (Thuộc-về):
Lớp Sản phẩm (Product) "belongs-to" lớp Giỏ hàng (Shopping Cart): Mỗi sản phẩm sẽ thuộc về một giỏ hàng cụ thể.
- Quan hệ "Uses" (Sử dụng):
Lớp Đơn hàng (Order) "uses" lớp Khách hàng (Customer): Đơn hàng sử dụng thông tin khách hàng để xác định người đặt hàng.
Lớp Đơn hàng (Order) "uses" lớp Thanh toán (Payment): Đơn hàng sử dụng quá trình thanh toán để xử lý thanh toán của khách hàng.
- Quan hệ "Manages" (Quản lý):
Lớp Quản lý sản phẩm (Product Management) "manages" lớp Sản phẩm (Product): Quản lý sản phẩm sẽ thực hiện các hoạt động liên quan đến sản phẩm như thêm/sửa/xóa sản phẩm.
- Quan hệ "Processes" (Xử lý):
Lớp Quản lý đơn hàng (Order Management) "processes" lớp Đơn hàng (Order): Quản lý đơn hàng sẽ xử lý các hoạt động liên quan đến đơn hàng như xem danh sách đơn hàng, cập nhật trạng thái đơn hàng, v.v.
- Quan hệ "Authenticates" (Xác thực):
Lớp Đăng nhập (Login) "authenticates" lớp Khách hàng (Customer): Quá trình đăng nhập sẽ xác thực thông tin khách hàng để đảm bảo quyền truy cập vào hệ thống.
Thiết kế dữ liệu
customerID (String): Mã khách hàng fullName (String): Họ và tên email (String): Địa chỉ email phone (String): Số điện thoại
Phương thức: getCustomerID(): String getFullName(): String getEmail(): String getPhone(): String setFullName(fullName: String): void setEmail(email: String): void setPhone(phone: String): void
Đối tượng Sản phẩm (Product):
Thuộc tính: productID (String): Mã sản phẩm name (String): Tên sản phẩm price (double): Giá sản phẩm description (String): Mô tả sản phẩm
Phương thức: getProductID(): String getName(): String getPrice(): double getDescription(): String setName(name: String): void setPrice(price: double): void setDescription(description: String): void
Đối tượng Đơn hàng (Order):
Thuộc tính: orderID (String): Mã đơn hàng customer (Customer): Đối tượng Khách hàng orderDate (Date): Ngày đặt hàng totalAmount (double): Tổng giá trị đơn hàng
Phương thức: getOrderID(): String getCustomer(): Customer getOrderDate(): Date getTotalAmount(): double setOrderDate(orderDate: Date): void setTotalAmount(totalAmount: double): void
Đối tượng Giỏ hàng (Shopping Cart):
Thuộc tính: cartID (String): Mã giỏ hàng customer (Customer): Đối tượng Khách hàng createdDate (Date): Ngày tạo giỏ hàng
Phương thức: getCartID(): String getCustomer(): Customer getCreatedDate(): Date setCreatedDate(createdDate: Date): void
Phân hệ Quản lý Khách hàng:
Phương thức: registerCustomer(customer: Customer): void updateCustomer(customer: Customer): void deleteCustomer(customerID: String): void getCustomerByID(customerID: String): Customer getCustomerByEmail(email: String):
3.2.6 Thiết kế giao diện người sử dụng
Website bán laptop được thiết kế để cung cấp các chức năng và trải nghiệm mua sắm như sau:
- Đăng nhập và đăng ký: Người dùng có thể đăng nhập vào tài khoản hiện có hoặc đăng ký tài khoản mới để tiếp cận các tính năng đặc biệt và quản lý đơn hàng.
- Tìm kiếm và sắp xếp sản phẩm: Người dùng có thể tìm kiếm laptop dựa trên các tiêu chí như thương hiệu, mức giá, cấu hình, kích thước màn hình và tính năng khác Hơn nữa, họ có thể sử dụng các công cụ lọc để thu hẹp kết quả tìm kiếm và tìm được sản phẩm phù hợp nhất.
- Xem thông tin chi tiết sản phẩm: Người dùng có thể xem thông tin chi tiết về laptop bao gồm hình ảnh, mô tả chi tiết, đánh giá của người dùng khác, thông số kỹ thuật và sẵn có hay không.
- Thêm vào giỏ hàng và thanh toán: Người dùng có thể thêm laptop mong muốn vào giỏ hàng và sau đó tiến hành thanh toán qua các phương thức an toàn như thẻ tín dụng, ví điện tử hoặc chuyển khoản ngân hàng.
- Đánh giá và nhận xét: Người dùng có thể đánh giá và viết nhận xét về laptop đã mua để chia sẻ trải nghiệm và giúp người dùng khác có quyết định mua hàng chính xác hơn.
Website bán laptop cũng đảm bảo bảo mật thông tin cá nhân của người dùng và giao dịch an toàn Giao diện trực quan và thân thiện với người dùng giúp họ dễ dàng tìm hiểu và sử dụng các chức năng của website một cách thuận tiện.
Hình 3.2.6.2.1 Giao diện đăng nhập / đăng ký
Hình 3.2.6.2.2 Giao diện tìm kiếm sản phẩm
Hình 3.2.6.2.3 Giao diện giỏ hàng
Hình 3.2.6.2.4 Giao diện lựa chọn và sắp xếp sản phẩm
Hình 3.2.6.2.5 Giao diện đánh giá và nhận xét
Thiết kế giao diện người sử dụng
Website bán laptop được thiết kế để cung cấp các chức năng và trải nghiệm mua sắm như sau:
- Đăng nhập và đăng ký: Người dùng có thể đăng nhập vào tài khoản hiện có hoặc đăng ký tài khoản mới để tiếp cận các tính năng đặc biệt và quản lý đơn hàng.
- Tìm kiếm và sắp xếp sản phẩm: Người dùng có thể tìm kiếm laptop dựa trên các tiêu chí như thương hiệu, mức giá, cấu hình, kích thước màn hình và tính năng khác Hơn nữa, họ có thể sử dụng các công cụ lọc để thu hẹp kết quả tìm kiếm và tìm được sản phẩm phù hợp nhất.
- Xem thông tin chi tiết sản phẩm: Người dùng có thể xem thông tin chi tiết về laptop bao gồm hình ảnh, mô tả chi tiết, đánh giá của người dùng khác, thông số kỹ thuật và sẵn có hay không.
- Thêm vào giỏ hàng và thanh toán: Người dùng có thể thêm laptop mong muốn vào giỏ hàng và sau đó tiến hành thanh toán qua các phương thức an toàn như thẻ tín dụng, ví điện tử hoặc chuyển khoản ngân hàng.
- Đánh giá và nhận xét: Người dùng có thể đánh giá và viết nhận xét về laptop đã mua để chia sẻ trải nghiệm và giúp người dùng khác có quyết định mua hàng chính xác hơn.
Website bán laptop cũng đảm bảo bảo mật thông tin cá nhân của người dùng và giao dịch an toàn Giao diện trực quan và thân thiện với người dùng giúp họ dễ dàng tìm hiểu và sử dụng các chức năng của website một cách thuận tiện.
Hình 3.2.6.2.1 Giao diện đăng nhập / đăng ký
Hình 3.2.6.2.2 Giao diện tìm kiếm sản phẩm
Hình 3.2.6.2.3 Giao diện giỏ hàng
Hình 3.2.6.2.4 Giao diện lựa chọn và sắp xếp sản phẩm
Hình 3.2.6.2.5 Giao diện đánh giá và nhận xét