bằng các biểu đồ nhưDFD, Use-case,...- Thiết kế UI- Xây dựng phần mềm- Kiểm thửMục tiêu của bản thân khi học Nhập môn công nghệ phầnmềm:- Hiểu rõ về cấu trúc và các thành phần của phần m
Trang 1TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI
BÁO CÁO BÀI TẬP LỚN Môn học: Nhập môn công nghệ phần mềm.
Đề tài: Nghiên cứu mô hình quy trình phát triển phần
2.Mục tiêu nghiên cứu 8
3 Đối tượng và phạm vi nghiên cứu 9
4 Kết quả mong muốn đạt được của đề tài 10
5.Cấu trúc của báo cáo 10
CHƯƠNG 1: TỔNG QUAN VỀ ĐỀ TÀI 11
Trang 21.1 Giới thiệu chung về đề tài 11
1.3.2 Công cụ, kỹ thuật và phương pháp 17
CHƯƠNG 2: PHÂN TÍCH VÀ ĐẶC TẢ YÊU CẦU PHẦN
2.1 Quy trình yêu cầu kỹ thuật phần mềm 19
2.1.1 Giới thiệu quy trình kỹ thuật yêu cầu 19
2.1.2 Các hoạt động trong quy trình kỹ thuật yêu
2.3.4 Xây dựng các bảng cơ sở dữ liệu 43
2.3.5 Yêu cầu phi chức năng 44
và khả năng làm việc dựa vào hướng dẫn của giáo viên, tạođiều kiện cho sinh viên nghiên cứu Khóa luận tốt nghiệp Kỹ
sư sau này và là sự chuyển tiếp trong quá trình phấn đấu,học tập và rèn luyện của một sinh viên để trở thành một Kỹ
Trang 3sư Công nghệ thông tin Quá trình làm bài tập lớn, quá trìnhhọc tập, tích lũy và kiểm tra lại kiến thức đã học và đemnhững kiến thức đó áp dụng vào thực tế.
Nhóm em xin chân thành cảm ơn thầy Vũ Đình Minh Thầy
đã trực tiếp hướng dẫn nhóm em làm Bài Tập Lớn này.Trong quá trình thực hiện Bài Tập Lớn, thầy đã tận tình địnhhướng, hướng dẫn và giúp đỡ nhóm em giải quyết các khókhăn trong quá trình thực hiện bài tập lớn này
Lời cuối cùng, nhóm 10 chúng em xin chân thành cảm ơnthầy Chúc thầy và toàn thể gia đình sức khỏe dồi dào và đạtđược nhiều thành công trong cuộc sống
DANH MỤC HÌNH VẼ
CHƯƠNG 1
Hình 1 1 Mô hình thác nước 14
CHƯƠNG 2
Hình 2 1 Sơ đồ Use Case tổng quan 21
Hình 2 2 Sơ đồ use case của chức năng “Đăng ký” 22Hình 2 3 Sơ đồ hoạt động của chức năng “Đăng ký” 22Hình 2 4 Biểu đồ trình tự chức năng "Đăng ký" 25Hình 2 5 Biểu đồ VOPC chức năng "Đăng ký" 26Hình 2 6 Sơ đồ Use Case đăng nhập 26
Hình 2 7 Sơ đồ hoạt động của chức năng “Đăng
Hình 2 8 Biểu đồ trình tự chức năng "Đăng nhập" 31Hình 2 9 Biểu đồ VOPC chức năng "Đăng nhập" 32Hình 2 10 Sơ đồ Use Case “Tìm kiếm sách” 32
Hình 2 11 Sơ đồ hoạt động của chức năng “Tìm kiếm
Trang 4Hình 3 5 Giao diện đăng ký 63
Hình 3 6 Giao diện đăng nhập 63
Hình 3 7 Giao diện thanh toán 64
Hình 3 8 Giao diện tìm kiếm 64
Bảng 2 7 Mô tả chức năng “Tìm kiếm sách” 35
Bảng 2 8 Đặc tả chức năng “Thanh Toán” 40
Bảng 2 9 Mô tả chức năng Thanh Toán 41
có thể giúp nhóm hiểu rõ hơn về cách thiết kế và phát triểntrang web Bên cạnh đó, việc viết tài liệu phân tích đặc tảyêu cầu có thể giúp nhóm có cái nhìn tổng quan về các yêu
Trang 5cầu của khách hàng khi muốn tạo ra một trang web nhàsách Bản thân mỗi cá nhân có thể mong muốn học đượccách áp dụng kiến thức vào thực tế và phát triển kỹ năngphân tích và thiết kế hệ thống Chúng ta sẽ được học 1 quytrình đầy đủ để tạo ra 1 phần mềm gồm rất nhiều bướckhông chỉ riêng gì bước xây dựng phần mềm bằng các ngônngữ lập trình, chúng ta sẽ phải:
- Đặc tả yêu cầu, phân tích yêu cầu, thương lượng vớikhách hàng
- Đặc tả chức năng, trạng thái, bằng các biểu đồ nhưDFD, Use-case,
- Hiểu rõ về cấu trúc và các thành phần của phần mềm
- Nắm được các kỹ thuật phân tích và thiết kế phần mềm
- Có khả năng sử dụng các công cụ phát triển phần mềm
- Hiểu các nguyên tắc của quản lý dự án phần mềm và có
kỹ năng quản lý dự án
2 Mục tiêu nghiên cứu
Mục tiêu sau khi thực hiện bài tập lớn:
- Giải thích, chỉ ra được các hoạt động, thứ tự ưu tiên củacác giai đoạn trong mô hình thác nước;
- Giải thích, chỉ ra các ưu điểm nhược điểm của mô hìnhthác nước;
- Giải thích, khi nào nên và không nên sử dụng mô hìnhthác nước;
- Vận dụng lựa chọn được mô hình quy trình cụ thể trong
dự án phát triển phần mềm trang web nhà sách “CáChép”
3 Đối tượng và phạm vi nghiên cứu.
Mô hình quy trình thác nước: đây là một mô hình phát triểnphần mềm truyền thống, với các giai đoạn rõ ràng và theothứ tự Các giai đoạn bao gồm phân tích yêu cầu, thiết kế hệthống, phát triển, kiểm thử và triển khai
Các phương pháp và công cụ phát triển phần mềm: RationalRose, Studio Case để vẽ biểu đồ, VSCode lập trình xâydựng giao diện
Các ngôn ngữ lập trình và công nghệ: các ngôn ngữ lập trình
và công nghệ phát triển phần mềm có thể được sử dụng đểphát triển phần mềm bán sách điện tử, chẳng hạn như Java,Python, ReactJS, v.v
Lý thuyết phát triển phần mềm: các lý thuyết và nguyên lý
Trang 6quản lý dự án phần mềm, quản lý chất lượng phần mềm,kiểm thử phần mềm, v.v cũng sẽ được xem xét trong đề tàinày.
Phạm vi nghiên cứu cụ thể của đề tài này là tìm hiểu môhình quy trình thác nước và áp dụng vào phát triển phầnmềm website bán sách điện tử nhà sách Cá chép Thời giannghiên cứu sẽ tập trung vào hiện tại và quá khứ gần đây,không giới hạn bởi thời gian cụ thể Không gian nghiên cứu
sẽ tập trung vào các dự án phát triển phần mềm bán sáchđiện tử, tại các công ty phần mềm hoặc các doanh nghiệpliên quan Lĩnh vực nghiên cứu sẽ là phát triển phần mềm vàbán sách điện tử
4 Kết quả mong muốn đạt được của đề tài
Tối ưu hóa quy trình bán hàng và cung cấp trải nghiệm muasắm trực tuyến tốt nhất cho khách hàng thông qua việc ápdụng mô hình quy trình thác nước và phát triển phần mềmwebsite bán sách điện tử nhà sách Cá chép
5 Cấu trúc của báo cáo
Ngoài phần Mở đầu và phần Kết thúc, nội dung BTL gồm 3chương sau:
- Nội dung chương Chương 1: Trình bày về các kiến thức
cơ sở của học phần Nhập môn công nghệ phần mềm
- Nôi dung Chương 2: Trình bày về phân tích và đặc tảyêu cầu phần mềm
- Nội dung Chương 3: Trình bày về thiết kế phần mềm
CHƯƠNG 1 TỔNG QUAN VỀ ĐỀ TÀI 1.1 Giới thiệu chung về đề tài
Phần mềm website bán sách điện tử là một trong những sảnphNm phần mềm đang được phát triển rộng rãi trong thời đạicông nghệ số hiện nay Đề tài này được thực hiện để xâydựng một website bán sách điện tử cho nhà sách Cá Chépvới mục đích giúp khách hàng dễ dàng tìm kiếm và muasách trực tuyến một cách thuận tiện và nhanh chóng
Nội dung cần thực hiện bao gồm thiết kế và phát triển giaodiện website, tạo cơ sở dữ liệu để quản lý thông tin sách vàthông tin khách hàng, kết nối với các cổng thanh toán trựctuyến để thuận tiện cho khách hàng thanh toán, cung cấp cáctính năng tìm kiếm, đánh giá sách, giỏ hàng và đặt hàng trựctuyến
Phần mềm được chủ đầu tư là nhà sách Cá Chép - một trongnhững nhà sách uy tín và nổi tiếng tại Việt Nam Người sửdụng của phần mềm là nhân viên của nhà sách để quản lýthông tin sản phNm và các đơn hàng của khách hàng, cùngvới đó là khách hàng của nhà sách Cá Chép để truy cập và
Trang 7mua sách trực tuyến.
Phần mềm được áp dụng trong lĩnh vực kinh doanh sáchđiện tử của nhà sách Cá Chép, mở rộng thị trường bán sáchcủa nhà sách từ truyền thống sang trực tuyến, đáp ứng nhucầu ngày càng tăng của khách hàng trong việc mua sắm vàhọc tập trực tuyến
Địa chỉ áp dụng của phần mềm là trên website của nhà sách
Cá Chép, cung cấp địa chỉ trực tuyến cho khách hàng đểtruy cập và mua sách một cách dễ dàng
1.2 Giới thiệu dự án phần mềm
Dự án phần mềm Website Nhà Sách Cá Chép là một giảipháp kinh doanh trực tuyến cho các nhà sách độc lập vàdoanh nghiệp nhỏ với mục tiêu tăng doanh số bán hàng vànâng cao trải nghiệm mua sắm cho khách hàng Vớigiao diện trực quan và thân thiện, khách hàng có thể dễ dàngtìm kiếm và mua các sản phNm sách mới nhất, phổ biến nhất
và đáng chú ý nhất trong danh mục của nhà sách
Dự án này bao gồm một số tính năng chính như hệ thốngđăng ký tài khoản, giỏ hàng, thanh toán trực tuyến, hỗ trợkhách hàng, quản lý đơn hàng và cập nhật hàng hóa Vớinhững tính năng này, khách hàng có thể dễ dàng lưu trữthông tin thanh toán, giám sát đơn hàng và được thông báo
về các chương trình khuyến mãi, giảm giá hay các sự kiệnđặc biệt
Dự án sử dụng các công nghệ phần mềm tiên tiến nhất nhưHTML, CSS, JavaScript và PHP để tạo ra giao diện đẹp và
dễ sử dụng, đồng thời tích hợp hệ thống quản lý cơ sở dữliệu để lưu trữ thông tin khách hàng và đơn hàng
Với dự án phần mềm Website Nhà Sách Cá Chép, các nhàsách sẽ tiết kiệm chi phí cửa hàng và có thể tiếp cận đượcnhiều khách hàng hơn thông qua kênh bán hàng trực tuyến.Các khách hàng sẽ được tận hưởng một trải nghiệm muasắm trực tuyến đơn giản và thuận tiện với các tính năng tìmkiếm nâng cao và thanh toán an toàn
Tóm lại, dự án phần mềm Website Nhà Sách Cá Chép là mộtgiải pháp kinh doanh trực tuyến chuyên nghiệp và hiệu quảcho các nhà sách độc lập và doanh nghiệp nhỏ, đồng thờinâng cao trải nghiệm mua sắm của khách hàng
Mô tả kỹ thuật của dự án phần mềm:
Trang 8- Đăng ký và đăng nhập tài khoản người dùng
- Xem thông tin sản phNm và chọn mua sản phNm
- Thêm sản phNm vào giỏ hàng, cập nhật giỏ hàng hoặcxóa sản phNm khỏi giỏ hàng
- Thanh toán đơn hàng và cập nhật trạng thái đơn hàng
- Quản lý thông tin người dùng và đơn hàng
● Ràng buộc:
- Sản phNm phải được liệt kê với đầy đủ thông tin baogồm ảnh, giá tiền, mô tả, số lượng còn lại
- Khách hàng phải đăng nhập hoặc đăng ký tài khoản mới
có thể thêm sản phNm vào giỏ hàng
- Khách hàng phải nhập đúng thông tin giao hàng vàthanh toán đúng số tiền để đơn hàng được xác nhận và giaohàng đúng địa chỉ
- Quản lý thông tin người dùng và đơn hàng phải đượcbảo mật và chỉ được truy cập bởi các người dùng có đặcquyền
1.3 Công cụ, kỹ thuật và phương pháp phát triển phần mềm
1.3.1 Mô hình quy trình ứng dụng để phát triển dự án phần mềm
1.2.1.1 Giới thiệu mô hình
Mô hình thác nước (Waterfall model) là Mô hình Quytrình đầu tiên được giới thiệu Nó cũng được gọi là mô hìnhvòng đời tuần tự tuyến tính Nó rất đơn giản để hiểu và sửdụng Trong mô hình thác nước, mỗi giai đoạn phải đượchoàn thành trước khi giai đoạn tiếp theo có thể bắt đầu vàkhông có sự chồng chéo trong các giai đoạn
Waterfall là mô hình quy trình đầu tiên và nổi tiếngnhất được giới thiệu, với cách tiếp cận Vòng đời phát triển
hệ thống (SDLC) lâu đời nhất, được sử dụng để phát triểnphần mềm
Mô hình thác nước minh họa quá trình phát triển phầnmềm theo dòng tuần tự tuyến tính Điều này có nghĩa là bất
kỳ giai đoạn nào trong quá trình phát triển chỉ bắt đầu nếugiai đoạn trước đó hoàn thành Trong mô hình thác nước,các pha không chồng lên nhau
1.3.1.2 Các giai đoạn của mô hình thác nước.
Hình minh họa sau đây thể hiện các giai đoạn khác nhau của
Trang 9Mô hình thác nước:
Hình 1 1 Mô hình thác nước
● Thu thập và phân tích yêu cầu (Requirement Analysis):Tất cả các yêu cầu có thể có của hệ thống được phát triểnđều được ghi lại trong giai đoạn này và được ghi lại trong tàiliệu đặc tả yêu cầu để phục vụ cho các giai đoạn sau
● Thiết kế hệ thống (System Design): Các thông số kỹthuật yêu cầu từ giai đoạn đầu được nghiên cứu trong giaiđoạn này và thiết kế hệ thống được chuNn bị Thiết kế hệthống này giúp xác định các yêu cầu phần cứng và hệ thốngcũng như giúp xác định kiến trúc hệ thống tổng thể
● Thực hiện (Implementation): Với đầu vào từ thiết kế hệthống, hệ thống được phát triển đầu tiên trong các chươngtrình nhỏ gọi là đơn vị, được tích hợp trong giai đoạn tiếptheo Mỗi đơn vị được phát triển và kiểm tra chức năng của
nó (hay còn có thể được gọi là Kiểm thử đơn vị)
● Tích hợp và Kiểm thử (Integration and Testing): Tất cảcác đơn vị được phát triển trong giai đoạn triển khai đượctích hợp vào một hệ thống sau khi thử nghiệm của mỗi đơn
vị Sau khi tích hợp, toàn bộ hệ thống được kiểm tra xem cóbất kỳ lỗi và hỏng hóc nào không (giai đoạn này còn đượcgọi là kiểm thử tích hợp)
● Triển khai hệ thống (Deployment of system): Sau khikiểm tra chức năng và phi chức năng được thực hiện; sảnphNm được triển khai trong môi trường khách hàng hayđượctung ra thị trường
● Bảo trì (Maintenance): Có một số vấn đề xảy ra trongmôi trường khách hàng Để khắc phục những vấn đề đó, cácbản vá lỗi được phát hành Ngoài ra để nâng cao sản phNmmột số phiên bản tốt hơn được phát hành Bảo trì được thựchiện để mang lại những thay đổi này trong môi trường kháchhàng
Trang 101.3.1.1 Đánh giá
Khi nào nên sử dụng mô hình thác nước:
- Khi dự án có quy mô lớn
- Khi việc đánh giá (phân tích) các chi phí và các rủi ro làquan trọng
- Bất cứ lúc nào cũng có thể có yêu cầu thay đổi từ phíakhách hàng
- Khi dự án được yêu cầu release thường xuyên
- Khi yêu cầu không rõ ràng và phức tạp
- Đối với các dự án có độ rủi ro từ trung bình đến cao
- Những người sử dụng không chắc chắn về các nhu cầucủa họ
là vận hành và bảo trì Mỗi giai đoạn phát triển diễn ra theothứ tự nghiêm ngặt Một số ưu điểm chính của mô hình thácnước như sau:
- Đơn giản, dễ hiểu và sử dụng
- Dễ dàng quản lý do độ cứng của mô hình
- Mỗi giai đoạn có các phân phối cụ thể và một quy trìnhxem xét
- Các giai đoạn được xử lý và hoàn thành cùng một lúc
- Hoạt động tốt cho các dự án nhỏ hơn, nơi các yêu cầuđược hiểu rất rõ
- Các giai đoạn được xác định rõ ràng
- Các mốc quan trọng được hiểu rõ
- Không có phần mềm đang hoạt động nào được sản xuấtcho đến cuối vòng đời
- Lượng rủi ro cao và không chắc chắn
- Không phải là một mô hình tốt cho các dự án phức tạp
Trang 11và hướng đối tượng.
- Mô hình kém cho các dự án dài và đang diễn ra Khôngphù hợp với các dự án mà các yêu cầu có nguy cơ thayđổi từ trung bình đến cao
- Vì vậy, rủi ro và sự không chắc chắn là cao với mô hìnhquy trình này
- Rất khó để đo lường sự tiến bộ trong các giai đoạn
- Không thể đáp ứng các yêu cầu thay đổi
1.3.2 Công cụ, kỹ thuật và phương pháp
● Công cụ:
- Công cụ quản lý dự án: là một phần mềm được sử
dụng để giúp quản lý, theo dõi, phân chia và tổ chứccông việc của các thành viên trong dự án Các công cụquản lý dự án thường có các tính năng như lên kếhoạch, quản lý tài nguyên, theo dõi tiến độ, phân chiacông việc, giao tiếp và báo cáo tiến độ dự án
VD: Trello, Asana,
- Công cụ thiết kế: là các phần mềm được sử dụng để tạo
ra các thiết kế, mô hình hoặc bản vẽ cho các sản phNm
và dự án Trong lĩnh vực phát triển phần mềm, các công
cụ thiết kế được sử dụng để tạo ra các thiết kế cấu trúc,giao diện, cơ sở dữ liệu và các yếu tố khác trong mộtứng dụng hoặc hệ thống phần mềm
VD: Adobe Photoshop, Figma,
- Công cụ phát triển: là các phần mềm được sử dụng để
phát triển, xây dựng, kiểm thử và triển khai các ứngdụng và hệ thống phần mềm Trong lĩnh vực phát triểnphần mềm, các công cụ này đóng vai trò quan trọngtrong việc giúp các nhà phát triển tạo ra các sản phNmphần mềm chất lượng cao và nhanh chóng
VD: Visual Studio, Eclipse,…
- Công cụ kiểm thử: là các phần mềm được sử dụng để
thực hiện các kiểm thử tự động hoặc thủ công trên cácphần mềm, hệ thống hoặc ứng dụng để đảm bảo chấtlượng và độ tin cậy của chúng Các công cụ kiểm thử
có thể giúp tăng hiệu quả, tiết kiệm thời gian và giảmthiểu sai sót trong quá trình kiểm thử
VD: Senelium, Appium,…
● Kỹ thuật:
- HTML/CSS/Javascript: Đây là các ngôn ngữ lập trình
cơ bản được sử dụng để thiết kế và phát triển trangweb
- PHP: PHP là một ngôn ngữ lập trình phía server được
sử dụng để tạo các trang web động, liên kết với cơ sở
dữ liệu và xử lý các yêu cầu từ phía người dùng
Trang 12- MySQL: MySQL là một hệ quản trị cơ sở dữ liệu được
sử dụng để lưu trữ dữ liệu của các khách hàng, sảnphNm, đơn hàng và các thông tin liên quan khác
● Phương pháp:
- Phương pháp Waterfall: là phương pháp phát triển phầnmềm tuyến tính, trong đó các giai đoạn phát triển đượcthực hiện theo một quy trình tuyến tính và theo thứ tự
cụ thể Các giai đoạn phát triển bao gồm yêu cầu, thiết
kế, phát triển, kiểm thử và triển khai
CHƯƠNG 2: PHÂN TÍCH VÀ ĐẶC TẢ YÊU CẦU
PHẦN MỀM 2.1 Quy trình yêu cầu kỹ thuật phần mềm
2.1.1 Giới thiệu quy trình kỹ thuật yêu cầu
Các kỹ thuật xác định yêu cầu phần mềm dẫn đến sự hiểubiết tường minh về các yêu cầu được gọi là kỹ thuật yêu cầu(requirements engineering) hay kỹ thuật yêu cầu phần mềm(software requirements engineering)
Từ quan điểm quy trình phần mềm, kỹ thuật yêu cầu là mộthành động kỹ thuật phần mềm chính bắt đầu trong hoạt độnggiao tiếp và tiếp tục vào hoạt động mô hình hóa Nó phảiđược điều chỉnh cho phù hợp với nhu cầu của quá trình, dự
án, sản phNm và những người tham gia dự án
2.1.2 Các hoạt động trong quy trình kỹ thuật yêu cầu
Kỹ thuật yêu cầu là một cách tiếp cận theo hướng quy trình,theo đúng trình tự các bước được xác định trước để có tàiliệu yêu cầu và duy trì các yêu cầu phần mềm trong suốtvòng đời phát triển phần mềm
Kỹ thuật yêu cầu phần mềm được tạo thành từ hai quy trìnhchính: phát triển yêu cầu (Requirements Development) vàquản lý yêu cầu (Requirements Management)
Phát triển yêu cầu bao gồm tất cả các hoạt động liên quanđến việc phát hiện, phân tích, xác định và xác thực các yêucầu:
● Phát hiện các yêu cầu phần mềm (Requirementselicitation)
● Phân tích các yêu cầu phần mềm (Requirementsanalysis)
● Mô tả các yêu cầu phần mềm (Requirementsspecification)
● Kiểm tra tính hợp lý các yêu cầu phần mềm(Requirements validation)
2.2 Các tác nhân tham gia vào quy trình kỹ thuật yêu
Trang 132.2.1 Giới thiệu các tác nhân tham gia quy trình kỹ thuật yêu cầu
Hệ thống gồm các tác nhân là Khách hàng và Quản trị viên:
● Khách hàng có vai trò là người dùng khi chưa truy cậpvào hệ thống
● Quản trị viên có vai trò quản trị hoạt động của hệthống
2.2.2 Tác nhân và các chức năng tương ứng
Hình 2 1 Sơ đồ Use Case tổng quan
2.3.2 Yêu cầu chức năng
2.3.2.1 Đặc tả, mô tả chức năng “Đăng ký”
(i) Giới thiệu
Use case cho phép khách hàng đăng ký tài khoản trênwebsite để tiến hành đăng nhập vào hệ thống
Trang 14Hình 2 2 Sơ đồ use case của chức năng “Đăng ký”.
(ii)
Quy trình
Hình 2 3 Sơ đồ hoạt động của chức năng “Đăng ký”.
(iii) Đặc tả use case
Tác nhân Người dùng, hệ thống
Mô tả -Người dùng là tác nhân chính, người dùng tạo tài khoản để đăng
nhập -Hệ thống hiển thị giao diện đăng kí, kiểm tra tính hợp lệ của thông tin
1 Người dùng Truy cập vào trang đăng kí
2 Hệ thống Hiển thị giao diện yêu cầu
nhập họ tên, gmail, mật khNu
3 Người dùng Nhập thông tin hệ thống yêu
Trang 15Luồng sự kiện thay thế
# Thực hiện bởi Hành động
4a Hệ thống Nếu email đã được dùng hoặc
email không đúng định dạng thì thông báo lỗi và yêu cầu nhập lại
4b Hệ thống Nếu mật khNu không đúng
định dạng thông báo lỗi và yêu cầu nhập lại
Hậu điều kiện Tạo tài khoản thành công sẽ đưa người dùng đến trang thông tin
Trang 16Biểu đồ VOPC
Hình 2 5 Biểu đồ VOPC chức năng "Đăng ký".
2.3.2.2 Đặc tả, mô tả chức năng “Đăng nhập”
(i) Giới thiệu
Use case cho phép khách hàng đăng nhập vào trang web vàthực hiện các thao tác trong website
Hình 2 6 Sơ đồ Use Case đăng nhập
Trang 17Sự kiện kích hoạt
chức năng - Người dùng click vào ô đăng nhập ở góc trên cùng bên phải củagiao diện chính website Tiền điều kiện - Người dùng đã đăng ký tài khoản: Trước khi đăng nhập, người
dùng cần phải đã đăng ký tài khoản với thông tin đăng ký đầy đủ
và chính xác Nếu người dùng chưa đăng ký tài khoản, họ cần phải thực hiện đăng ký trước đó để có thể đăng nhập.
Luồng sự kiện chính
# Thực hiện bởi Hành động
1 Người dùng Truy cập vào trang đăng nhập của
website.
2 Hệ thống Hiển thị giao diện đăng nhập yêu
cầu người dùng nhập tên đăng nhập
và mật khNu.
3 Người dùng Nhập thông tin tên đăng nhập và mật
khNu của mình.
4 Người dùng Nhấn nút “Đăng nhập”.
5 Hệ thống Xác thực thông tin của người dùng.
6 Người dùng Hoàn thành việc đăng nhập và có thể
sử dụng các chức năng của website.
Luồng sự kiện thay
5a Hệ thống Nếu người dùng không nhập đầy đủ
thông tin tên đăng nhập và mật khNu hoặc nhập sai định dạng thông tin,
hệ thống sẽ hiển thị thông báo lỗi”
Thông tin sai định dạnh !” và hệ thống đưa người dùng quay lại bước 3.
5b Hệ thống Nếu người dùng nhập sai tên đăng
nhập hoặc mật khNu, hệ thống sẽ hiển thị thông báo lỗi”Thông tin không hợp lệ!” và hệ thống đưa người dùng quay lại bước 3.
3a Hệ thống Nếu người dùng đã quên mật khNu,
hệ thống cung cấp tính năng khôi phục mật khNu bằng cách gửi một liên kết đến email đã đăng ký của người dùng để cập nhật mật khNu mới Người dùng sẽ phải truy cập vào email của mình để cập nhật lại mật khNu Sau đó, hệ thống đưa người dùng lên bước 6.
3b Người dùng Nếu người dùng không muốn tiếp
tục thực hiện đăng nhập thì nhấn nút
“Trở về”.
Hậu điều kiện - Truy cập thành công: Nếu người dùng nhập đúng thông tin đăng
nhập, hệ thống sẽ chuyển hướng người dùng đến trang chủ hoặc trang người dùng, cho phép họ truy cập vào các tính năng của website.
- Hiển thị thông báo lỗi nếu đăng nhập không thành công: Nếu
Trang 18người dùng nhập sai thông tin đăng nhập, hệ thống sẽ hiển thị thông báo lỗi và yêu cầu người dùng nhập lại thông tin đăng nhập hoặc sử dụng tính năng khôi phục mật khNu.
- Hỗ trợ khôi phục mật khNu: Nếu người dùng quên mật khNu hoặc không thể đăng nhập bằng thông tin đăng nhập hiện tại, hệ thống sẽ
hỗ trợ người dùng khôi phục mật khNu thông qua email hoặc số điện thoại đã đăng ký.
Bảng 2 4 Đặc tả chức năng "Đăng nhập"
STT Trường dữ liệu Mô tả buộc Bắt Điều kiện hợp lệ Ví dụ
1 Tài khoản Email Có Không chứa ký tự
Trang 19đồ VOPC
Hình 2 9 Biểu đồ VOPC chức năng "Đăng nhập".
2.3.2.3 Đặc tả chức năng “Tìm kiếm sách
(i) Giới thiệu
Usecase thực hiện tìm kiếm sách theo tên sách, tên tác giảgiúp khách hàng biết thông tin của sách mà mình muốn
Hình 2 10 Sơ đồ Use Case “Tìm kiếm sách”
(ii) Quy trình
Hình 2 11 Sơ đồ hoạt động của chức năng “Tìm kiếm sách”
Trang 20(iii) Đặc tả Use case
Mã use case: ……… Tên use case Tìm kiếm sách
Mục đích: Khách hàng có thể tìm kiếm thông tin của sách
Mô tả: Usecase thực hiện tìm kiếm sách theo tên sách, tên tác giả giúp
khách hàng biết thông tin của sách mà mình muốn
1 Khách hàng Kích vào thanh tìm kiếm
2 Hệ thống Hiện thị giao diện tìm kiếm cho
Quay lại bước 3.
6a Hệ thống Nếu sản phNm chưa có hàng thì
hệ thống không đưa ra thông tin cho tiết của sản phNm
Điều kiện sau Hệ thống đã tiếp nhận được thông tin sản phNm cần tìm và
đưa ra danh sách sản phNm tương ứng.
Khách hàng nhận được thông tin sản phNm cần tìm.
Bảng 2 6 Đặc tả chức năng "Tìm kiếm sách"
# Trường dữ liệu Mô tả Bắt buộc (Y/N) Điều kiện hợp lệ Ví dụ
1 Tên sách Nhập tên sách Có Không có ký
tự đặc biệt
Tuổi trẻ đáng giá bao nhiêu
2 Tên tác giả Nhập tên tác giả Có/không Không có kí
tự đặc biệt
Rosie Nguyễn
Bảng 2 7 Mô tả chức năng Tìm kiếm sách
(iv) Biểu đồ trình tự
Trang 21Hình 2 12 Biểu đồ trình tự chức năng"Tìm kiếm sách"
(v) Biểu đồ VOPC
Hình 2 13 Biểu đồ VOPC chức năng "Tìm kiếm sách".
2.3.2.4 Đặc tả, mô tả chức năng “Thanh Toán”
Trang 22(i) Giới thiệu
Use case cho phép khách hàng tiến hành thanh toán cho đơnhàng trên website bán sách
Hình 2 14 Sơ đồ use case của chức năng “Thanh toán”.
(ii) Quy trình
Hình 2 15 Sơ đồ hoạt động của chức năng “Thanh toán”.
(iii) Đặc tả use case
Người dùng click vào nút “Tiến hành thanh toán” trên giỏ hàng.
Tiền điều kiện Khách hàng đã đăng nhập vào tài khoản của mình trên website bán
sách của nhà sách cá chép và chọn sản phNm muốn mua và thêm vào giỏ hàng trên website.
Luồng sự kiện
1 Khách hàng Chọn sản phNm muốn mua và
thêm vào giỏ hàng trên website.
2 Khách hàng Nhấn nút “Tiến hành thanh toán
3 Hệ thống Hiện thị giao diện thanh toán cho
khách hàng
4 Khách hàng Chọn phương thức thanh toán và
cung cấp thông tin thanh toán cần
Trang 23hoặc thông tin không hợp lệ đưa
ra thông báo “Vui lòng nhập đúng thông tin” và quay lại bước 3 2a Khách hàng Nếu sản phNm khách hàng chọn
hết hàng hoặc không thể mua hiện thị thông báo “Không còn sản phNm” và quay lại bước 1 5a Hệ thống Nếu hệ thống gặp sự cố hoặc ngân
hàng bảo trì đưa ra thông báo
“Tạm thời chưa thể thanh toán vui lòng thử lại sau”
Hậu điều kiện Hệ thống đã tiếp nhận thông tin thanh toán và xác nhận giao dịch
thanh toán thành công.
Khách hàng đã nhận được thông tin xác nhận đơn hàng và hướng dẫn về việc nhận sản phNm.
Bảng 2 8 Đặc tả chức năng “Thanh Toán”.
STT Trường dữ
liệu
buộc Điều kiện hợp lệ Ví dụ
1 Họ tên Nhập họ tên Y Đúng tên Nguyễn Văn A
2 Email Nhập email Y Email hợp lệ Abc123@gmail.com
3 Điện thoại Nhập điện
Y Phương thức hợp
lệ
Thanh toán trực tiếp
Bảng 2 9 Mô tả chức năng Thanh Toán
(iv) Biểu đồ trình tự
Hình 2 16 Biểu đồ trình tự chức năng "Thanh toán".
Trang 24Name Type Null Chú thích
Maquanli nvarchar(256) No Mã quản lí
Hoten Nvarchar(256) No Họ và tên
Ngaysinh Date No Ngày sinh
Gioitinh Nvarchar(256) No Giới tính
Diachi Nvarchar(256) No Địa chỉ
Email Nvarchar(256) No Email
sdt Nvarchar(256) no Số điện thoại
Bảng 2 10 Bảng Quản lý.
Bảng KhachHang
Name Type Null Chú thích
Makhachhang nvarchar(256) No Mã khách hàng
Hoten Nvarchar(256) No Họ và tên
Ngaysinh Date No Ngày sinh
Gioitinh Nvarchar(256) No Giới tính
Diachi Nvarchar(256) No Địa chỉ
Email Nvarchar(256) No Email
Trang 25sdt Nvarchar(256) no Số điện thoại
Bảng 2 11 Bảng Khách hàng.
Bảng NhaXuatBan
Manhaxuatban nvarchar(256) No Mã nhà xuất bản
Tennhaxuatban nvarchar(256) No Tên nhà xuất bản
Diachi nvarchar(256) No Địa chỉ
Sdt nvarchar(256) No Số điện thoại
Email nvarchar(256) no Email
Bảng 2 12 Bảng Nhà xuất bản.
Bảng LoaiSach
Name Type Null Chú thích
Masanpham nvarchar(256) No Mã sản phNm
Tensanpham nvarchar(256) No Tên sản phNm
Theloai nvarchar(256) No Thể loại
Bảng 2 13 Bảng Loại sách.
Bảng SanPham
Name Type Null Chú thích
Masanpham nvarchar(256) No Mã sản phNm
Tensanpham nvarchar(256) No Tên sản phNm
Theloai nvarchar(256) No Thể loại
Manhaxuatban nvarchar(256) No Mã nhà xuất bản
Giatien Float No Giá tiền
Thanhtien Float No Thành tiền
Bảng 2 14 Bảng Sản phẩm.
Bảng Dondathang
Name Type Null Chú thích
Sophieu Int No Số phiếu
Mammathang nvarchar(256) No Mã mặt hàng
Makhachhang nvarchar(256) No Mã khách hàng
Soluong Int No Số lượng
Dongia Float No Đơn giá
Bảng 2 15 Bảng Đơn đặt hàng.
2.3.5 Yêu cầu phi chức năng
2.3.5.1 Giao diện người dùng
Giao diện hiển thị tốt trên các thiết bị khác nhau
Đối với Khách hàng khi truy cập sử dụng hệ thống thôngqua trình duyệt web, hệ thống sẽ nhận yêu cầu truy cập từphía máy Khách hàng thông qua trình duyệt và gửi trả vềcho trình duyệt các menu chức năng tương ứng với phạm vicủa từng người dùng
Trong trường hợp này Khách hàng có thể tương tác với
hệ thống thông qua cửa sổ màn hình trên trình duyệt với cấutrúc trang gồm có:
● Phần thân trang cung cấp thông tin về danh sách cácsản phNm
Trang 26sidebar menu, với mỗi phần tử trong menu sẽ tương ứng vớitừng chức năng quản lý của Quản trị viên.
2.3.5.2 Tính bảo mật
Người dùng chỉ có thể sử dụng các chức năng và truy cậpcác dữ liệu phù hợp với vai trò của người dùng đó
2.3.5.3 Ràng buộc
ELCs là hệ thống dựa trên website do vậy người dùng cần
có các thiết bị có kết nối với internet như máy vi tính vàđược cung cấp các dịch vụ như thư điện tử, hình ảnh, vănbản, đa phương tiện, giao thức truyền thông siêu văn bản để
có thể gửi và nhận thông tin, dữ liệu giữa máy Khách hàng
và website server
Bên phía máy Khách hàng – người dùng cần có phần mềmứng dụng duyệt website như: Google Chrome, InternetExplore, Mozilla Firefox, Opera với phiên bản mới nhất có
Nếu không có thiết kế hoặc thiết kế tồi:
- Làm tăng công sức viết mã
- Làm tăng công sức bảo trì
- Có nguy cơ dựng lên một hệ thống không ổn định - một
hệ thống sẽ thất bại khi có một thay đổi nhỏ;
- Thiết kế tốt là chìa khoá cho công trình hữu hiệu
3.1.1.2 Vai trò
Vai trò của thiết kế :
- Là cách duy nhất để chuyển hóa một cách chính xác cácyêu cầu của khách hàng thành mô hình thiết kế hệthống phần mềm cuối cùng làm cơ sở cho việc triểnkhai chương trình phần mềm
- Là công cụ giao tiếp giữa các nhóm cùng tham gia pháttriển sản phNm, quản lý rủi ro, đạt được phần mềm hiệuquả
- Là tài liệu cung cấp đầy đủ các thông tin cần thiết cho đểbảo trì hệ thống
- Nếu không có thiết kế thì hệ thống không tin cậy dẫn tớinguy cơ thất bại
- Thiết kế tốt là chìa khóa làm cho phần mềm trở nên hữuhiệu