Với sự phát triển ngày càng rộng, yêu cầu điện toán hóacác quy trình nghiệp vụ trong siêu thị là điều tất yếu, nhằmmục đích làm đơn giản hóa các nghiệp vụ cũng như làm chokhả năng phục v
Trang 1triển của từng khu vực, từng quốc gia, thông qua việc ngàycàng làm tăng năng suất sản xuất một cách tối đa Việc ápdụng công nghệ tân tiến trong mọi mặt đời sống là một điềutất yếu
Báo cáo dưới đây sẽ phân tích về chức năng “Thống kê hàngbán” trong phần mềm quản lý siêu thị Do thời gian có hạn,kiến thức và kinh nghiệm bản thân còn hạn chế, đồ án cònnhiều thiếu sót, em rất mong nhận được những ý kiến đónggóp quý báu của các thầy cô để đồ án được hoàn thiện hơn.Qua đây, chúng em cũng xin được gửi lời cảm ơn đến côNguyễn Thị Hồng Khánh đã tận tình hướng dẫn và chỉ bảotrong suốt kì học vừa qua
Em xin chân thành cảm ơn các thầy, cô giáo trong khoaCNTT của trường đại học Điện Lực Các thầy, cô đã tận tìnhgiảng dạy trong những năm vừa qua Nhờ sự chỉ bảo của cácthầy, cô mà chúng em ngày càng tiến bộ trong học tập cũngnhư trong công việc
Em xin chân thành cảm ơn!
Hà nội ngày1-1-2016
Trang 2Sinh viên thực hiện :
Phan Thanh Hiếu
MỤC LỤC LỜI CẢM ƠN 1
CHƯƠNG 1 XÁC LẬP DỰ ÁN 4
1.1 Xác lập yêu cầu 4
1.1.1 Tên đề tài 5
1.1.2 Sinh viên thực hiện 5
1.1.3 Xác định yêu cầu dự án 5
1.2 Lập kế hoạch dự án 7
1.3 Ước lượng dự án 8
1.4 Lập lịch dự án 10
CHƯƠNG 2 PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG THÔNG TIN 12
A Phân tích hệ thống thông tin 12
1 Các chức năng của hệ thống 12
2 Biểu đồ Use case 13
2.2 Biểu đồ trình tự 14
2.3 Thiết kế giao diện 15
2.4 Thiết kế CSDL 16
2.4.1: Bảng sản phẩm 16
2.4.2: Bảng hóa đơn 17
2.4.3: Bảng chi tiết hóa đơn 17
2.4.4: Sơ đồ CSDL 18
CHƯƠNG 3 CÀI ĐẶT CHƯƠNG TRÌNH 19
1 Phương pháp 19
2 Môi trường 19
Trang 34.3.1 Phân vùng tương đương 21
4.4 Mô hình kiểm thử 22
4.5 Bảng test code 24
CHƯƠNG 5 TÍCH HỢP VÀ BẢO TRÌ 27
5.1 Cải tiến phần mềm 27
Trang 4
LỜI MỞ ĐẦU
Ngày nay, khi cuộc sống của mỗi người dân đang từngbước được nâng cao thì nhu cầu về mua sắm, vui chơi giải tríngày càng được chú trọng Do đó, các doanh nghiệp cũngquan tâm ưu tiên cho việc phát triển các khu thương mạimua sắm nhằm đáp ứng nhu cầu của người dân Và siêu thị
là một hình thức khu mua sắm có hiệu quả trong việc đápứng các nhu cầu tiêu dùng của mọi người thuộc mọi tầnglớp Với sự phát triển ngày càng rộng, yêu cầu điện toán hóacác quy trình nghiệp vụ trong siêu thị là điều tất yếu, nhằmmục đích làm đơn giản hóa các nghiệp vụ cũng như làm chokhả năng phục vụ khách hàng trở nên nhanh chóng và hiệuquả
Chương trình quản lý bán hàng siêu thị kế thừa mô hìnhhoạt động của các siêu thị hiện có trên thực tế Đồng thờiứng dụng công nghệ mới với mục đích làm cho chương trình
có thể đáp ứng được nhu cầu quản lý ngày càng phức tạp vớikhối lượng thông tin ngày càng lớn, dễ dàng trong triển khaicũng như trong ứng dụng
Trang 51.1.1 Tên đề tài : Xây dựng quy trình phát triển phần mềm
cho chức năng “thống kê hàng bán” của chương trình quản
lý siêu thị
1.1.2 Sinh viên thực hiện
PHAN THANH HIẾU
1.1.3 Xác định yêu cầu dự án
Siêu thị Mart Bắc Từ Liêm thuộc hệ thống siêu thị bán lẻMart.Để kiểm soát được thông tin hàng hóa,tình hình mua bán và quản lý khách hàng của siêu thị, đòi hỏi phải xây dựng một phần mầm quản lý phù hợp với tình hình thực tếcủa siêu thị
Hệ thống này cần làm được những gì ?
Trang 6A : Hệ thống cho phép nhân viên siêu thị và khách hàng đều được truy cập vào để xem những thông tin cần thiết với những quyền hạn khác nhau:
+ Nếu là khách hàng thì phải đăng nhập ở phần khách hàng với mật khẩu mà admin đã cấp.Khách hàng được tra cứu những thông tin về sản phẩm cần mua,
+ Về nhân viên của siêu thị muốn thao tác trên hệ
thống thì phải đăng nhập tài khoản và mật khẩu của nhânviên đó.Hệ thống sẽ dựa vào quyền của tài khoản mà nhân viên đó đăng nhập cho phép nhân viên thực hiện cácchức năng nào
B : Lập báo cáo thống kê về hàng hóa ,khách hàng,doanh thu để có chiến lược kinh doanh phù hợp
C : Yêu cầu người sử dụng :
+ Phần mềm phải có giao diện trực quan ,dễ sử
dụng.Phần mềm có thể đọc hoặc in ra các file văn bản như Word hoặc NotePad
Trang 7+ Yêu cầu chức năng :
Hệ thống gồm có các chức năng sau :
Đăng nhập ,đăng kí tài khoản
- Quản lý sản phẩm trong siêu thị
- Tìm kiếm,tra cứu thông tin
- Báo cáo ,thống kê hóa đơn
- Sao lưu,phục hồi dữ liệu
+ Yêu cầu phi chức năng :
- Hệ thống phải được chạy trên điệp áp ổn định, tránh tình trạng điện áp yếu, chập chờn sẽ làm hệ thống bị tắt
- Hệ thống cũng cần được chạy trên 1 máy tính tốt, cấu hình đủ khỏe
- Hệ thống phải có độ tin cậy cao đối với người sửdụng
- Hệ thống phải cam kết có thời gian đáp ứng 24/24giờ
- Hệ thống cung cấp khả năng cho phép bất cứngười dùng nào cũng có thể xem, khiểm tra dữliệu cá nhân của mình trên hệ thống, nhưng chỉ
Trang 8những người dùng có quyền hạn thay đổi, chỉnhsửa mới được phép chỉnh sửa dữ liệu có trong hệthống.
- Hệ thống phải tích hợp tài liệu hướng dẫn sử dụng
và người dùng phải học được cách sử dụng hệ thống tối đa sau 2 giờ đào tạo
1.2 Lập kế hoạch dự án
Để xây dựng chức năng “Thống kê hàng bán “ củachương trình quản lý siêu thị, thì chúng ta thực hiện cácbước dưới đây:
Bước 1: Khảo sát một số siêu thị trên địa bàn quận Bắc
Từ Liêm
Bước 2:Phân tích và thiết kế hệ thống -> Lập cơ sở dữliệu và thiết kế giao diện cho chương trình quản lý siêuthị
Bước 3:Xây dựng chức năng thống kê hàng bán theotháng
Bước 4:Xây dựng chức năng thống kê hàng bán theo quý Bước 5:Xây dựng test casse và unit test
Bước 6:Cài đặt phần mềm
Bước 7:Kiểm thử phần mềm
Bước 8:Tích hợp và bảo trì hệ thống
Trang 91.3 Ước lượng dự án
a, Giới thiệu
Trong phần giới thiệu tôi xin trình bày một số nội dung như sau :
Ngân sách của dự án: hiện nay với tiềm lực của công ty
là 1 công ty với quy mô còn nhỏ nên ngân sách đổ vào
dự án rất là hạn chế và để khắc phục hạn chế này
chúng ta cần phải quy hoạch dự án thật rõ ràng, cẩn thận, và cần phải cắt giảm 1 số chi tiết rườm rà, không thật sự cần thiết đối với dự án
Cụ thể mức ngân sách đề nghị là: 10.000.000 VNĐ
Thời gian dự án: với hạn chế về mặt ngân sách chúng
ta cần giảm thiểu thời gian thực hiện dự án sao cho ngắn nhất có thể nhưng vẫn phải đảm bảo được chất lượng của phần mềm, tạo sự tin cậy đối với khách hàng.Sauk hi phân tích, nghiên cứu tôi xin đề nghị chúng ta cần xây dựng dự án này với thời gian tối đa làn 2 tháng
Nhân lực của dự án: nhân lực để thực hiện dự án cũng cần được cân nhắc, điều chỉnh sao cho phù hợp với điềukiện của dự án Với quy mô của dự án và điều kiện của công ty tôi đề xuất chúng ta thành lập đội thực hiện dự
án gồm 3 người
b, Tổ chức dự án
Trang 10Như đã nêu ở trên tôi xin thành lập đội thực hiện dự án gồmcác thành viên sau đây:
Phan Thanh Hiếu - Đội trưởng của team ,coder
Lê Văn A - Phân tích hệ thống,coder
Nguyễn Thị B - Tester , Thư kí
Đội trưởng có trách nhiệm chỉ đạo các công việc, phân công công việc đối với mỗi thành viên trong dự án Và giám sát quá trình hoạt động của dự án trong suốt quá trình xây
Người phân tích hệ thống có trách nhiệm nhận các yêu cầu phần mềm và tiến hành phân tích thiết kế hệ thống để cho các lập trình viên xây dựng hệ thống
Dựa vào tổ chức của đội tôi xin đưa ra bảng phân công công việc của các thành viên như sau:
Trang 11STT Tên công
việc
Thời gian thực hiện
Người thực hiện
5 ngày Phan Thanh
4 ngày Lê Văn A
10 ngày Phan Thanh
Hiếu + Lê Văn A
Trang 121.4 Lập lịch dự án
Trang 13CHƯƠNG 2 PHÂN TÍCH VÀ THIẾT KẾ HỆ
THỐNG THÔNG TIN
A Phân tích hệ thống thông tin
1 Các chức năng của hệ thống
Với yêu cầu của đề tài phần mềm có các chức năng sau:
- Thống kê hàng bán theo ngày tháng
- Thống kê doanh thu
1.1 Chức năng thống kê hàng bán theo ngày tháng
Khi nhân viên chọn form thống kê theo ngày
tháng ,nhân viên sẽ thao tác chọn ngày tháng nào đó trong năm,form sẽ trả lại các thông tin :
- Mã hóa đơn
Trang 14- Ngày lập hóa đơn
- Tháng lập hóa đơn
- Số lượng sản phẩm bán
- Các mặt hàng đã bán trong thời gian đã chọn
- Tổng tiền
1.2 Chức năng thống kê doanh thu hàng bán
Khi nhân viên chọn form thống kê doanh thu ,form sẽ
trả lại thông tin :
- Mã hóa đơn
- Ngày lập hóa đơn
- Tháng lập hóa đơn
- Tổng tiền đã nhập trong thời gian chọn
- Tổng tiền đã bán trong thời gian chọn
- Thống kê doanh thu
2.1 Biểu đồ Use case
Hình 2.1 Biểu đồ Use case miêu tả chức năng thống kê
Trang 15- Mô tả diễn biến :
Hành động của tác nhân Hỏi đáp của hệ thông
1:Chọn chức năng thống kê 2:Hiện form thống kê3:Chọn thống kê theo từng
Trang 16Khi người quản lý kích vào chức năng thống kê,thì hệ thống sẽ hiển thị giao diên tương ứng,với các chức năng thống kê theo tháng hoặc theo quý Ngoài ra thì hệ thống cũng sẽ hiển thị các mặt hàng có doanh thi cao nhất và các mặt hàng có doanh thu thấp , đồng thời cũng hiển thị số tiềnthu được theo quý theo tháng Nếu người quản lý muốn in hóa đơn thì hệ thống sẽ gọi đến chức năng yeucauinphieu()
và tiến hành kết nối tới máy in để in phiếu
Trang 172.3.2: Form trang chủ
Trang 182.3.3: Form thống kê hàng bán
Trang 22- Hiển thị dữ liệu hóa đơn bán lên datagridview
public void load()
{
con.Open();
string chuoi = "SELECT * from HDBanhang";
SqlCommand cmd = new SqlCommand(chuoi, con); DataTable dt = new DataTable();
SqlDataAdapter adap = new SqlDataAdapter(cmd); adap.Fill(dt);
Trang 234.1 Định nghĩa
- Kiểm thử phần mềm (software testing) là hoạt động nhằm tìm kiếm,
phát hiện các lỗi của phần mềm
- Kiểm thử phần mềm đảm bảo sản phẩm phần mềm đáp ứng chínhxác, đầy đủ và đúng theo yêu cầu của khách hàng, yêu cầu của sản phẩm đãđặt ra
- Software testing cũng cung cấp mục tiêu, cái nhìn độc lập về phầnmềm, điều này cho phép việc đánh giá và hiểu rõ các rủi ro khi thực thi phầnmềm
Tầm quan trọng của kiểm thử phần mềm:
- Kiểm thử phần mềm để tránh được những rủi ro, lỗi phát sinh trong
suốt quá trình tạo ra sản phẩm
- Lỗi phát hiện càng sớm càng giúp tránh được rủi ro và chi phí.
4.2 Phương pháp kiểm thử
Kiểm thử hộp trắng: white box testing
- Khi viết test case sẽ dựa vào nội dung source code (can thiệp vào bên
trong code của chương trình)
- Khi thực hiện test sẽ thực thi test trong code (không cần thực thi
chương trình, vì thực hiện test white box sẽ sử dụng framwork nào đó
hỗ trợ như Nunit, Junit)
Trang 24 Do tính chất kiểm thử: biết được nội dung bên trong code chương trình (coi như là một cái hộp), biết rõ bên trong hộp nên gọi là hộp trắng.
Kiểm thử hộp đen
- Khi viết test case sẽ dựa vào yêu cầu và giao diện bên ngoài của
chương trình (không can thiệp vào bên trong code của chương trình)
- Khi thực hiện test sẽ thực hiện trên giao diện của chương trình (yêu
cầu chương trình phải chạy được mới test được, không can thiệp vào code)
Do tính chất kiểm thử: Chỉ thực hiện test bên ngoài code của chương trình (coi như một cái hộp), vì không biết rõ bên trong hộp nên gọi là hộp đen
4.3 Các kỹ thuật kiểm thử
4.3.1 Phân vùng tương đương
Là kỹ thuật kiểm thử hộp đen chia đầu vào (input data) thành các
lớp tương đương đó là: lớp tương đương hợp lệ (valid), lớp tương đương không hợp lệ (invalid)
1 Xây dựng điều kiện đầu vào thành 2 lớp: lớp tương đương hợp lệ, lớp tương đương không hợp lệ
2 Tại mỗi lớp tương đương, chọn một giá trị đại diện đưa vào làm dữ liệu đầu vào để kiểm thử
- Nếu lớp tương đương được xác định là dạng dữ liệu bởi các dữ liệu
nhập là kiểu số thì chọn 1 trường hợp đại diện hợp lệ và 2 trường hợp đại diện không hợp lệ nằm ở phía trên và dưới khoảng hợp lệ
- Nếu lớp tương đương được xác định là dạng dữ liệu liệt kê rời rạc thì
Trang 25Với đề tài được giao là một chức năng con của phần mềm quản lý bánhàng siêu thị, em lựa chọn mô hình kiểm thử là mô hình thác nước.
Mô hình này bao gồm các giai đoạn xử lý nối tiếp nhau như sau:
Phân tích yêu cầu(Requirement Analysis): là giai đoạn xác định những
Yêu cầu liên quan đến chức năng và phi chức năng mà hệ thống phần mềmcần có Giai đoạn này cần sự tham gia tích cực của khách hàng và kết thúc bằng một tài liệu được gọi là “Bản đặc tả yêu cầu phần mềm” Tài liệu Đặc
tả yêu cầu chính là nền tảng cho các hoạt động tiếp theo cho đến cuối dự án
Phân tích hệ thống và thiết kế (System Analysis and Design): là giai
Trang 26đoạn định ra làm thế nào để hệ thống phần mềm đáp ứng những yêu cầu
mà khách hàng yêu cầu trong tài liệu SRS
Lập trình (Coding and Unit Test): là giai đoạn hiện thực làm thế nào
được chỉ ra trong giai đoạn “Phân tích thiết kế”
Kiểm thử (Test): bao gồm kiểm thử tích hợp cho nhóm các thành phần
và kiểm thử toàn hệ thống (system test) Một khâu kiểm thử cuối cùng thường được thực hiện là nghiệm thu (acceptance test), với sự tham gia củakhách hàng trong vai trò chính để xác định hệ thống phần mềm có đáp ứng yêu cầu của họ hay không
Cài đặt và bảo trì (Deployment and Maintenance): đây là giai đoạn
cài đặt, cấu hình và đào tạo cho khách hàng Giai đoạn này sửa chữa những lỗi của phần mềm (nếu có) và phát triển những thay đổi mới được khách hàng yêu cầu (như sửa đổi, thêm hay bớt chức năng/đặc điểm của hệ thống)
=> Nhược điểm của mô hình waterfall: Thực tế cho thấy đến những giai
đoạn cuối của dự án mới có khả năng nhận ra sai sót trong những giai đoạn trước và phải quay lại để sửa chữa
Các bướcthực hiện
Kết quảmong muốn
Kết quảhiện tạiK1
(về giao
diện)
Kiểm tra tổng thể giao diện màn hình
1 Kiểm tra
về bố cục,font chữ, chính tả ,
1 Các label, textbox, combo có độdài, rộng và
OK
Trang 27căn lề trái
3 Form được
bố trí hợp lý
và dễ sử dụng K2 Kiểm tra
chức năngchính của màn hình khi
nhấn phímEnte
Nhấn phím Enter
1 Nếu chuộtkhông focus vào button nào thì Thực hiện chức năng của button chính
2 Nếu đang focus vào 1 button thì sẽthực hiện chức năng của button
Tạm chấp nhận
G1(Grid) Kiểm tra
GridView 1 Kiểm tra căn lề
2 Di chuyển con trỏ chuột vào
1 row
3 Kiểm tra bố cục trong gridview
1 Text: căn
lề trái Số: Căn lềphải
Ngày tháng: Căn giữa
HeaderNam
e : căn giữa
và bôi đậm
2 Màu nền của row không thay đổi
3 Cột thứ tự
và tên các
Trang 28cột khác xếp
từ trái qua phải đúng như đặc tả
4 Hiển thị đúng tên tương ứng với các chức năng khi trỏ chuột vào tooltipDN1(về
UserName
1 Trên màn hình đăng nhập, tại trường Username, kiểm tra giá trị mặc định
Giá trị mặc định là trống
DN2 Kiểm tra
là trường bắt buộc
1 Để trống trường dữ liệu
2 Các thông tin khác đượcnhập hợp lệ
3 Click button đăng nhập
1 Thông báo:"Dữ liệu chưa được nhập"
DN3 Kiểm tra
nhập vào các ký tự đặc biệt
1 Nhập
dữ liệu là
ký tự đặc biệt
%^&*()
2 Các thông tin khác đượcnhập hợp
1 Thực hiện thành công
2 Dữ liệu của trường
dữ liệu được view lên bình thường,không bị lỗi font
Trang 29tự) Username
2 Nhập hơn nhiều hơn 50 ký
tự cho phép
3 Các trường khác nhậphợp lệ
4 Click đăng nhập
đăng nhap hoac mat khau”
BT1(butto
n đăng
nhập)
Kiểm tra căn lề, chính tả của button đăng nhập
1 Kiểm tra căn lề
2 Kiểm tra chính
tả của button đăng nhập
1 Text trongbutton được căn lề giữa
2 Text trongbutton đúng chính tả
BT2 Kiểm tra
chức năngnút button
1 Tất cả các trường
dữ liệu hợp lệ
2 Nhấn nút buttonđăng nhập
1 Hiển thị thông báo:
“Đăng nhập thành công”
TK1(Về
thống kê) Kiểm tra Gridview 1.Kiểm tracăn lề
2.Kiểm tra
bố cục của gridview
1.Text :căn
lề trái
2 Số : căn giữa
TK2 Kiểm tra
giá trị của
ô
1 :Kiểm tra đã load được
1 : Load được 12 tháng