- Hợp thức hóa kết quả khảo sát.Các thông tin dữ liệu cần thu thập- Các loại dữ liệu tài liệu đặc trưng- Các trình tự công việc và trình tự thực hiện các chức năng nghiệp vụ.- Các quy tắ
Trang 1ĐẠI HỌC ĐÀ NẴNG TRƯỜNG ĐẠI HỌC SƯ PHẠM
KHOA TIN HỌC
BÁO CÁO PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG
THÔNG TIN
ĐỀ TÀI:
PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG RẠP CHIẾU PHIM
Sinh viên thực hiện :
Trang 2MỤC LỤC
CHƯƠNG 1: CƠ SỞ LÝ THUYẾT 2
1 PHÂN TÍCH HỆ THỐNG 2
1.1 Khảo sát hệ thống hiện tại 2
1.2 Mô hình hoá hệ thống 3
1.3 Mô hình hoá dữ liệu – mô hình thực thể quan hệ E-R ( Entity-Relationship) 15
2 THIẾT KẾ HỆ THỐNG (THIẾT KẾ DỮ LIỆU) 19
2.1 Quan hệ và thuộc tính 19
2.2 Chuẩn hoá các quan hệ 21
2.3 Chuyển mô hình E-R sang quan hệ 23
2.4 Hợp nhất các quan hệ 25
2.5 Xây dựng mô hình dữ liệu quan hệ 27
2.6 Thiết kế CSDL vật lý 28
3 CÔNG CỤ SỬ DỤNG – DRAW.IO 29
3.1 Tổng quan 29
3.2 Cách sử dụng 30
CHƯƠNG 2: PHÂN TÍCH HỆ THỐNG 34
1 Khảo sát hệ thống hiện tại 34
1.1 Khảo sát thu thập thông tin của hệ thống 34
1.2 Các phương pháp xác định yêu cầu 37
2 Kịch bản cho hệ thống rạp chiếu phim 38
3 Mô hình hoá hệ thống 39
3.1 Sơ đồ chức năng (BFD) 39
3.2 Sơ đồ dòng dữ liệu (DFD – Data Flow Diagram) 40
4 Mô hình hoá dữ liệu – Mô hình thực thể quan hệ E-R (ENTITY-RELATIONSHIP) 44
CHƯƠNG 3: THIẾT KẾ HỆ THỐNG (THIẾT KẾ DỮ LIỆU) 46
Trang 31 Chuẩn hoá 46
2 Chuyển mô hình ER sang các quan hệ 49
3 Hợp nhất các quan hệ 51
4 Xây dựng mô hình dữ liệu quan hệ 52
5 Thiết kế cơ sở vật lý 52
TÀI LIỆU THAM KHẢO 58
Trang 4CHƯƠNG 1: CƠ SỞ LÝ THUYẾT
1 PHÂN TÍCH HỆ THỐNG
1.1 Khảo sát hệ thống hiện tại
- Khảo sát thu thập thông tin của hệ thống
Quá trình khảo sát
Việc khảo sát HT được chia làm 2 giai đoạn:
- Khảo sát sơ bộ: nhằm hình thành dự án phát triển HTTT
-Khảo sát chi tiết: nhằm thu thập các thông tin chi tiết của hệ thống phục vụ phân tích yêu cầu thông tin làm cơ sở cho bước thiết kế sau này
- Tiếp cận từ trên xuống (Top dowm)
- Tiếp cận từ dưới lên (Bottom up)
Tiếp cận từ trên xuống:
Các bước khảo sát và thu thập thông tin
- Tiến hành thu thập thông tin bằng các phương pháp khác nhau
- Củng cố, bổ sung và hoàn thiện kết quả khảo sát
Trang 5- Hợp thức hóa kết quả khảo sát.
Các thông tin dữ liệu cần thu thập
- Các loại dữ liệu (tài liệu) đặc trưng
- Các trình tự công việc và trình tự thực hiện các chức năng nghiệp vụ
- Các quy tắc chi phối các hoạt động thu thập, quản lý, xử lý và phân phối các dữ liệu
- Các chính sách và hướng dẫn mô tả bản chất của kinh doanh
- Các nguồn lực (nhân viên, trang thiết bị, các phần mềm, …)
- Các điều kiện môi trường
- Sự mong đợi hệ thống thay thế người dùng
Các phương pháp xác định yêu cầu
- Một hệ thống có thể được phân rã thành nhiều hệ thống con
- Một hệ thống con có đầu vào và đầu ra của riêng nó
Trang 6- Đầu ra của một hệ thống con có thể trở thành đầu vào của những hệ thống con khác.
Sự phân rã hệ thống
Hình 1 1 Sự phân rã hệ thống
Sơ đồ phân rã
Trang 7Thành phần của sơ đồ
Các chức năng: được kí hiệu bằng hình chữ nhật trên có gán tên nhãn Tên
của chức năng phải bắt đầu bằng động từ, ví dụ như “lập đơn hàng”
Kết nối: kết nối giữa các chức năng mang tính chất phân cấp và được kí hiệu
bằng đoạn thẳng nối chức năng "cha" tới các chức năng "con"
Trang 8- Mỗi chức năng có thể gồm một hoặc nhiều chức năng con.
- Mỗi sơ đồ không nên có quá 6 mức
- Mỗi chức năng không nên có quá 6 chức năng con
- Cần đảm bảo tính cân bằng của sơ đồ
- Mỗi chức năng phải mang một tên duy nhất, thể hiện khái quát các chức năng con của nó
Hình 1 3 Phân mức các chức năng
Nguyên tắc phân rã chức năng
Khi tiếp cận tổ chức theo phương pháp từ trên xuông, ta nhận được thông tin
về các chức năng từ mức gộp đến mức chi tiết
Trang 9Mỗi chức năng được phân rã phải là một bộ phận thực sự tham gia thực hiện chức năng đã phân rã ra nó.
Các chức năng mức dưới trực tiếp phải đảm bảo thực hiện được chức năng ở mức trên đã phân rã ra chúng
Khái niệm
Một sơ đồ luồng dữ liệu (Data Flow Diagram – DFD) là một công cụ đồ họa để
mô tả luồng dữ liệu luân chuyển trong một hệ thống và những hoạt động xử lý được thực hiện bởi hệ thống đó
Các phần tử của DFD
Hình 1 4 Các phần tử cuta DFD Tác nhân bên ngoài (Actor)
- Tác nhân ngoài là nguồn cung cấp hoặc nhận dữ liệu của hệ thống
- Tác nhân nằm ngoài phạm vi của hệ thống, thể hiện mối quan hệ giữa hệ thống với môi trường bên ngoài
- Tên của tác nhân ngoài phải là một danh từ
- Tác nhân có thể là: tổ chức hay đơn vị ngoài hệ thống, người tương tác với HT, các HTTT khác trao đổi với HT
Trang 10Hình 1 5 Tác nhân Kho dữ liệu (Data Store)
- Là các dữ liệu được lưu trữ tại một chỗ
- Một kho dữ liệu có thể biểu diễn các dữ liệu được lưu trữ ở nhiều vị trí không gian khác nhau: các thư mục khác nhau, các máy tính khác nhau
- Một kho dữ liệu có thể chứa dữ liệu về khách hàng, sinh viên, đơn hàng
- Tên của kho dữ liệu phải bắt đầu bằng danh từ
Hình 1 6 Kho dữ liệu (Data Store)
Luồng dữ liệu (Data Flow)
- Luồng dữ liệu là các dữ liệu di chuyển từ một vị trí này đến một vị trí khác trong
hệ thống
- Một luồng dữ liệu có thể biểu diễn các dữ liệu trên một đơn hàng hay trên tấm séc trả lương, cũng có thể là kết quả của truy vấn từ CSDL
- Tên của luồng dữ liệu phải bằng một danh từ
Hình 1 7 Luồng dữ liệu (Data Flow)
Quá trình (Process)
- Là một công việc hay một hành động có tác động lên các dữ liệu làm cho chúng
di chuyển, được lưu trữ , thay đổi hay được phân phối
- Một quá trình là một hoạt động được thực hiện trên luồng dữ liệu vào để tạo một luồng dữ liệu ra
- Tên của quá trình phải là một mệnh đề động từ gồm động từ và bổ nghĩa, vi dụ: tính lương, lập hóa đơn
Trang 11Hình 1 8 Quá trình (Process)
Sơ đồ ngữ cảnh
- Sơ đồ luồng dữ liệu mức ngữ cảnh (Context data flow diagram) là một mô hìnhchức năng được dùng để tài liệu hóa phạm vi của một hệ thống Nó còn được gọi
là mô hình môi trường Để xây dựng sơ đồ ngữ cảnh, cần phải:
Xác định biên giới của hệ thống
Xác định các tác nhân ngoài
Không chi tiết về các quá trình và kho dữ liệu của hệ thống
- Chiến lược cụ thể xây dựng sơ đồ ngữ cảnh:
Coi cả hệ thống là một “hộp đen”, chỉ quan tâm tới phần bên ngoài của nó.Xác định những giao dịch nghiệp vụ mà hệ thống phải đáp ứng Đó chính
là các luồng vào của hệ thống Với mỗi luồng vào, cần xác định nguồntương ứng của nó Các nguồn sẽ trở thành các tác nhân ngoài trong sơ đồngữ cảnh
Xác định những đáp ứng phải được sinh ra bởi hệ thống Đó chính là cácluồng ra của hệ thống Với mỗi luồng ra xác định đích của nó Các đích đócũng sẽ trở thành các tác nhân ngoài
Xác định các kho dữ liệu ngoài Rất nhiều hệ thống đòi hỏi truy nhập vàocác tệp hoặc cơ sở dữ liệu của hệ thống khác
Vẽ một sơ đồ ngữ cảnh dựa trên tất cả các thông tin đã xử lý Chú ý chỉminh họa những luồng dữ liệu thể hiện những mục tiêu chính của hệ thốngnhằm tránh việc sơ đồ ngữ cảnh có quá nhiều luồng dữ liệu vào/ra
Phân rã sơ đồ ngữ cảnh
Trang 12Hình 1 9 Phân rã sơ đồ ngữ cảnh Các bước xây dựng DFD
Là các quá trình con của các quá trình mức 0
Sơ đồ dòng dữ liệu mức 1 của quá trình 1.0
Trang 13Hình 1 10 Sơ đồ dòng dữ liệu mức 1 của quá trình 1.0 1.3 Mô hình hoá dữ liệu – mô hình thực thể quan hệ E-R ( Entity-
Relationship)
Các phần tử của mô hình E-R
- Tập thực thể: Là một khái niệm để chỉ một lớp các đối tượng cụ thể hay các
khái niệm có cùng đặc trưng chung
Mỗi tập thực thể được gán một tên duy nhất
- Kiểu dữ liệu: định kiểu dữ liệu có thể lưu trữ được trong thuộc tính đó.
- Miền giá trị: tập hợp các giá trị hợp lệ thuộc tính đó.
- Giá trị mặc định: Giá trị sẽ được ghi vào nếu không được xác định bởi người
dùng
Trang 14- Thuộc tính khóa (hay định danh): là một hay một số thuộc tính của tập thực
thể mà giá trị của nó cho phân biệt các thực thể khác nhau trong tập thực thể.Khi mô tả tập thực thể, thuộc tính khóa được gạch chân để phân biệt với các thuộc tính khác
Thuộc tính khóa không chứa giá trị rỗng
Thuộc tính khóa không chứa các thành phần có khả năng thay đổi trong quá trình hoạt động của hệ thống
Các thuộc tính mô tả cung cấp thôg tin làm rõ thêm về thực thể
Thuộc tính mô tả chỉ cần xuất hiện trong một tập thực thể nào đó của mô hình dữ liệu của hệ thống
- Thuộc tính kết nối (khóa ngoại): là thuộc tính mà với tập thực thể này thì là
thuộc tính mô tả nhưng với tập thực thể khác thì là thuộc tính khóa
Nó đóng vai trò kết nối các tập thực thể có quan hệ với nhau
Ví dụ: thuộc tính MaKH trong tập thực thể
Đơn hàng là thuộc tính kết nối
Mối quan hệ
- Mối quan hệ: mô tả sự liên hệ giữa các phần tử của các tập thực thể với nhau, chúng là các gắn kết các tập thực thể với nhau
- Mối quan hệ giữa các tập thực thể được chia thành 2 loại:
Mối quan hệ tương tác: (người MUA hàng, giáo viên DẠY lớp, …)Mối quan hệ sở hữu hay phụ thuộc: (Nhân viên THUỘC phòng ban, …)
- Đặt tên cho mối quan hệ: Sử dụng một động từ hay một cụm danh từ
- Mối quan cũng có thể có thuộc tính
- Quan hệ 1-1
Là mối quan hệ trong đó một thực thể của tập thực thể này tương ứng với duy nhất một thực thể của tập thực thể kia và ngược lại
Trang 16Quan hệ bậc một: chỉ gồm một tập thực thể (mối quan hệ giữa các thực thể của cùng một tập thực thể)
Trang 17- Mô hình dữ liệu quan hệ (Relational database model) là một cách tổ chức dữ liệu ở dạng các bảng hay các quan hệ.
- Dựa trên lý thuyết đại số tập hợp
Quan hệ: là một bảng dữ liệu hai chiều Mỗi quan hệ gồm một tập các cột được
đặt tên và một số tùy ý các dòng
- Mỗi cột được đặt tên và tương đương một thuộc tính của quan hệ
- Mỗi dòng của quan hệ tương đương với một mẫu tin chứa những giá trị dữ liệucho một thực thể
- Có thể diễn tả cấu trúc một quan hệ bằng cách: TÊN QUAN HỆ (thuộc tính
khóa, thuộc tính, thuộc tính, …) => Lược đồ quan hệ
Khóa dự tuyển, khóa chính và khóa ngoại
- Khóa dự tuyển: là một hay một nhóm thuộc tính mà các giá trị của nó xác định duy nhất mỗi dòng
Xác định duy nhất
Không dư thừa
- Khóa chính: là một khóa dự tuyển được chọn làm khóa của quan hệ (gọi là khóa của quan hệ)
Khóa nên gồm một số thuộc tính ít nhất Tốt nhất nên gồm một thuộc tính.Tránh sử dụng các thông tin thay đổi theo thời gian
- Khóa ngoại: là một thuộc tính của quan hệ, nhưng lại là thuộc tính khóa của quan hệ khác
Các dạng chuẩn cơ bản
- Chuẩn 1 (1NF): Một quan hệ được coi là ở dạng chuẩn 1 nếu nó không có thuộc tính lặp
- Chuẩn 2 (2NF): Một quan hệ được coi là ở dạng chuẩn 2 nếu nó ở dạng chuẩn
1 và không tồn tại thuộc tính không khóa phụ thuộc vào một phần của khóa
- Chuẩn 3 (3NF): Một quan hệ được coi là ở dạng chuẩn 3 nếu nó ở dạng chuẩn
2 và không tồn tại thuộc tính không khóa phụ thuộc bắc cầu vào khóa
Trang 18Chuẩn hóa các quan hệ
Chuẩn hoá là quá trình chuyển một quan hệ có cấu trúc dữ liệu phức hợp thành các quan hệ có cấu trúc dữ liệu đơn giản và vững chắc hơn
Hình 1 17 Chuẩn hoá các quan hệ
- Chuẩn hóa dạng 1.
Có chứa thuộc tính lặp -> phân rã quan hệ thành hai quan hệ
Quan hệ 1: Gồm các Thuộc tính còn lại + phần khoá xác định chúng.Quan hệ 2: Gồm các thuộc tính lặp + toàn bộ khoá
Có tồn tại phụ thuộc bắc cầu trong quan hệ -> ta thực hiện phân rã
Quan hệ 1: Gồm các thuộc tính phụ thuộc bắc cầu + thuộc tính cầu.Quan hệ 2: Gồm các thuộc tính còn lại + thuộc tính cầu + khoá
2.2Chuyển mô hình E-R sang quan hệ
Trang 19Biểu diễn các tập thực thể
- Biểu diễn mỗi tập thực thể của mô hình E-R thành một quan hệ (lược đồ quan hệ)
Tên tập thực thể -> Tên quan hệ
Thuộc tính của tập thực thể -> Thuộc tính của quan hệ
Thuộc tính khóa của tập thực thể -> Thuộc tính khóa của quan hệ
Hình 1 18 Biểu diễn các tập thực thể
Quan hệ 1 – 1
- Chuyển hai tập thực thể thành hai quan hệ
- Trong một quan hệ có thêm thuộc tính là khoá của tập thực thể kia
Hình 1 19 Quan hệ 1 – 1 Quan hệ 1 – n
- Chuyển hai tập thực thể thành hai quan hệ
- Thêm khóa của quan hệ tương ứng với bên 1 vào quan hệ tương với bên nhiều để trở thành khóa ngoại lai
Trang 20Hình 1 20 Quan hệ 1 – n Quan hệ n – n
- Chuyển mỗi tập thực thể thành một quan hệ
- Chuyển mối quan hệ thành một quan hệ
- Có thuộc tính khóa là các khoá của các tập thực thể tham gia vào mối quan hệ
- Các thuộc tính của chính quan hệ
Hình 1 21 Quan hệ n - n 2.3 Hợp nhất các quan hệ
Có thể có các quan hệ dư thừa – chúng cùng tham chiếu đến cùng 1 tập thực thể ->cần hợp nhất chúng lại để loại bỏ những quan hệ dư thừa
Quan hệ thực thể chính và thực thể con
Trang 212.4 Xây dựng mô hình dữ liệu quan hệ
Các bước xây dựng mô hình dữ liệu quan hệ
Hình 1 22 Các bước xây dựng mô hình dữ liệu quan hệ
Trang 222.5 Thiết kế CSDL vật lý
Các kiểu dữ liệu:
Hình 1 23 Các kiểu dữ liệu
Trang 23Ss CHƯƠNG 2: PHÂN TÍCH HỆ THỐNG
1 Khảo sát hệ thống hiện tại
1.1 Khảo sát thu thập thông tin của hệ thống
Các bước quản lý trong rạp
Bước 1: Tìm kiếm phim mới Phòng Quản lý phim khảo sát, lựa chọn phim trình Ban giám đốc thông qua làm đại diện trực tiếp liên hệ mua bản quyền phim hoặc thuê phim từ các công ty trung gian sở hữu bản quyền
Bước 2: Xin giấy phép đối với phim mua bản quyền Sau khi nhận được phim mới, Phòng Quản lý phim sẽ nhanh chóng gửi lên Cục Điện Ảnh thuộc Bộ Văn Hóa, Thể Thao và Du Lịch Việt Nam để xin giấy phép phát hành và phạm vi phổ biến của phim Vì vậy một số phim sẽ bị cắt một số đoạn do không phù hợp vớivăn hóa Việt Nam Sau khi nhân được phạm vi trình chiếu Phòng Quản lý phim sẽ dán mác cho phim để phần biệt xem phim này phục vụ cho đối tượng nào( ví dụ mác G là phim dành cho mọi lứa tuổi, mác NC16 là phim dành cho khán giả trên 16tuổi )
Bước 3: Cập nhật thông tin cho các phim mới và lên danh sách phim sẽ chiếu Sau khi xác định phim công chiếu Phòng Quản lý phim sẽ cập nhật thêm thông tin cho phim như là nội dung phim, diễn viên chính trong phim, thể loại phim, sau đó nhập phim vào kho để quản lý Sau đó Quản lý phim sẽ lên danh sách các phim sẽ chiếu, sau đó sẽ gửi danh sách này cho Phòng Quảng cáo & Marketing và Phòng Quản lý lịch chiếu phim để lên lịch chiếu cho phim
Bước 4: Lên danh sách phòng chiếu Phòng Quản lý phòng chiếu sẽ lên danh sách chi tiết (số chỗ ngồi, loại phòng là 3D hay 2D, phòng VIP hay phòng thường ) về các phòng có thể dùng để chiếu phim và chuyển cho Phòng Quản lý lịch chiếu phim Sơ đồ của các phòng cũng được chuyển cho Phòng Quản lý bán vé
Bước 5: Lên lịch chiếu Từ danh sách phòng và danh sách phim, Quản lý phim sẽ lên lịch chiếu phim chi tiết cho các phòng (phòng nào chiếu phim gì vào thời gian nào) Khi hoàn thành quản lý lịch chiếu sẽ gửi lịch chiếu cho bộ phận quản lý đặt vé
Trang 24Bước 6: Từ lịch chiếu phim được cập nhật đến bộ phận quản lý đặt vé và nhân viên sẽ tổ chức bán vé cho khách hàng; xử lý các trường hợp đặc biệt như ưu đãi cho thẻ thành viên, khuyến mại, giảm giá…
Bước 7: Làm báo cáo doanh thu và bảo cáo của các bộ phận: Sau mỗi đợtchiếu phim bộ phận quản lý đặt vé sẽ thống kê số lượng bán vé và sau đó báo cáo doanh thu trong khoảng thời gian nhất định Gửi báo cáo cho người quản lý sẽ gửi báo cáo thống kê về các phim trong kho xem phim nào hết hạn bản quyền, phim nào còn có thể sử dụng hoặc có tiềm năng để công chiếu thì sẽ tiếp tục sử dụng Phòng Quản lý phòng chiếu phải đưa ra báo cáo về những hư hỏng cần phải sửa chữa
Một số vấn đề của hệ thống hiện tại
Chậm chạp
Ta nhận thấy khi lên lịch chiếu phim thì việc nhân viên lên lịch phải tính toán xem phim sẽ chiếu vào thời gian nào, ở phòng nào thì hợp, hoặc đôi khi phải làm một lúc khoảng vài bộ phim làm cho việc lên lịch chiếu chậm chập gây chậm trễ chung cho các phòng ban khác Hay trường hợp bán vé khi có các chương trình khuyến mãi nhân viên bán vé lúc này sẽ phải dùng máy tính để tính phần được hưởng cho người mua làm cho việc bán vé bị chậm chạp gây mất thời gian của khách
Tìm kiếm khó khăn
Mỗi khi có yêu cầu về vị trí ngồi của khán giả, nhân viên phải tìm kiếm trong
số lượng vé in sẵn còn lại Điều này gây nhiều khó khăn, phiền toái cho khách hàngkhi phải chờ đợi trong khi kết quả có thể không được như ý
Quá tải
Một số bộ phận trong hệ thống thể hiện sự quá tải Chẳng hạn Phòng Quản lý lịch chiếu phim ngoài việc phải lưu trữ lịch chiếu, tính toán và đưa ra lịch chiếu chocác bộ phim Họ còn phải kiểm tra xem việc thực hiện chiếu của các lịch có sai sót hay không