Nội dung đề tài Nội dung đề tài thực hiện là xây dựng ra quy trình và công cụ phần mềm ứng dụng tác nghiệp trong môi trường Web, thực hiện việc duyệt chương trình phát sóng từ khâu hậu
Trang 1LỜI CAM ĐOAN
Tôi xin cam đoan luận văn này là sản phẩm nghiên cứu của tôi dưới sự hướng dẫn của TS Nguyễn Hồng Quang – Bộ môn Kỹ thuật Máy tính – Viện Công nghệ Thông tin và Truyền thông – Trường Đại học Bách Khoa Hà Nội
Các kết quả, số liệu trong luận văn được điều tra, khảo sát một cách trung thực, chính xác, tuân thủ mọi quy định của đơn vị được khảo sát
Tôi xin chịu mọi trách nhiệm về nghiên cứu của mình
Tác giả
Trần Mạnh Hùng
Trang 2LỜI CẢM ƠN
Tôi xin bày tỏ lòng biết ơn sâu sắc tới Thầy giáo, TS Nguyễn Hồng Quang –
Bộ môn Kỹ thuật máy tính – Viện Công nghệ Thông tin và Truyền thông – Đại học Bách Khoa Hà Nội đã tận tình hướng dẫn tôi trong thời gian thực hiện luận văn Mặc dù trong quá trình thực hiện luận văn có những giai đoạn không được thuận lợi, nhưng nhờ sự khuyến khích, quan tâm chỉ bảo và những ý kiến đóng góp quý báu của Thầy, tôi mới có thể hoàn thành luận văn này
Tôi xin chân thành cảm ơn tập thể các thầy giáo, cô giáo đang công tác và giảng dạy tại Viện Công nghệ Thông tin và Truyền thông – trường Đại học Bách Khoa Hà Nội đã tận tình giảng dạy, truyền đạt cho tôi những kiến thức quý báu trong suốt những năm học vừa qua
Tôi cũng xin gửi lời cảm ơn sâu sắc tới anh, chị, em và các bạn đồng nghiệp đang công tác tại Đài Truyền hình Việt Nam đã giúp đỡ và tạo điều kiện cho tôi tập trung nghiên cứu, khảo sát và thực hiện đề tài luận văn
Sau cùng tôi xin gửi lời biết ơn sâu sắc tới gia đình, bạn bè đã luôn ủng hộ tôi trong suốt quá trình học tập cũng như thực hiện luận văn
Hà Nội, tháng 04 năm 2015 Học Viên Thực Hiện
Trần Mạnh Hùng
Trang 3LỜI MỞ ĐẦU
Đài Truyền hình Việt Nam đang trong quá trình chuyển đổi công nghệ sản
xuất chương trình từ công nghệ tương tự sang công nghệ số Bởi vậy, quy trình
duyệt chương trình của các đơn vị sản xuất nội dung và Ban Thư ký biên tập vẫn tồn
tại đồng thời cả công nghệ là công nghệ tương tự (dựa trên băng Betacam) và công
nghệ số (dựa trên file) Hiện nay, quy trình duyệt chương trình của Đài Truyền hình
Việt Nam nói chung và Ban Thanh thiếu niên - VTV6 nói riêng chủ yếu vẫn dựa
trên băng Betacam, hoàn toàn thủ công Việc chuyển đổi qua lại giữa số và tương tự
làm ảnh hưởng đến chất lượng của chương trình, tốn nhiều thời gian và tăng chi phí
sản xuất chương trình
Từ thực trạng trên, tôi đã lựa chọn đề tài “Nghiên cứu và triển khai giải pháp
hỗ trợ kiểm duyệt các chương trình phát sóng của kênh VTV6, Đài Truyền hình
Việt Nam” Đề tài gồm các nội dung chính sau:
1 Nghiên cứu cơ sở lý thuyết phục vụ cho việc thiết kế phần mềm
2 Khảo sát, tìm hiểu thực trạng quy trình duyệt chương trình của các Ban
biên tập – Đài THVN ở Hà Nội cũng như các Trung tâm khu vực
3 Phân tích thiết kế hệ thống dựa trên kết quả khảo sát quy trình duyệt của
các đơn vị
4 Giới thiệu cơ bản cách thiết kế phần mềm trên nền web để thực hiện quy
trình duyệt chương trình
Đề tài sau khi hoàn thành dự kiến sẽ được xem xét và thử nghiệm ứng dụng
cho Ban Thanh thiếu niên – VTV6, Đài Truyền hình Việt Nam Vì vậy, tôi rất mong
nhận được sự góp ý và chia sẻ kinh nghiệm quý báu của quý thầy cô và bạn đọc để
có thể phát triển, hoàn thiện hơn
Xin chân thành cảm ơn !
Người Thực Hiện
Trang 4MỤC LỤC
LỜI CAM ĐOAN 1
LỜI CẢM ƠN 2
LỜI MỞ ĐẦU 3
MỤC LỤC 4
THUẬT NGỮ VÀ VIẾT TẮT 7
DANH MỤC HÌNH VẼ 11
CHƯƠNG 1 GIỚI THIỆU ĐỀ TÀI 13
1.1 Nội dung đề tài 13
1.2 Phạm vi và đối tượng áp dụng 13
1.3 Lý do lựa chọn và mục tiêu của đề tài 14
CHƯƠNG 2 CƠ SỞ LÝ THUYẾT VÀ CÔNG NGHỆ 16
2.1 Công nghệ Video Streaming 16
2.1.1 Khái niệm chung 16
2.1.2 Windows Media Services 17
2.2 Hệ quản trị cơ sở dữ liệu SQL Server 2008 18
2.3 Công cụ phân tích và thiết kế hệ thống 20
2.3.1 Giới thiệu POWER DESIGNER 20
2.3.2 Kết nối với một cơ sở dữ liệu 22
2.4 Ngôn ngữ lập trình 23
2.4.1 ASP.NET 23
2.4.2 Ngôn ngữ lập trình C# 28
2.5 Sơ đồ luồng dữ liệu 31
2.5.1 Khái niệm sơ đồ luồng dữ liệu (DFD - Data Flow Diagram) 31
2.5.2 Xây dựng sơ đồ luồng dữ liệu 33
CHƯƠNG 3 KHẢO SÁT HIỆN TRẠNG 35
3.1 Quy trình kiểm duyệt các chương trình phát sóng kênh VTV6 36
3.2 Quy trình kiểm duyệt các chương trình phát sóng kênh VTV4 37
Trang 53.3 Quy trình kiểm duyệt chương trình phát sóng kênh VTV2 38
3.4 Quy trình kiểm duyệt chương trình phát sóng TT THVN tại Phú Yên 39
3.5 Quy trình kiểm duyệt chương trình phát sóng tại TT THVN tại TP HCM 39
3.6 Quy trình kiểm duyệt chương trình phát sóng TT THVN TP Huế 39
3.7 Quy trình tổ chức sản xuất và chuyển chương trình lên TKC phát sóng của Ban TKBT (áp dụng cho một kênh) 42
3.7.1 Xây dựng khung chương trình phát sóng 42
3.7.2 Xây dựng, lập kế hoạch sản xuất chương trình 42
3.7.3 Tổ chức sản xuất 43
3.7.4 Nghiệm thu chương trình 44
3.8 Khảo sát hệ thống SAN (Storage Area Network) của Trung tâm Kỹ thuật 46
CHƯƠNG 4 PHÂN TÍCH THIẾT KẾ HỆ THỐNG 49
4.1 Mô hình chức năng hệ thống 49
4.2 Sơ đồ kiến trúc hệ thống 52
4.3 Biểu đồ ngữ cảnh 54
4.4 Phân tích chức năng 56
4.4.1 Biểu đồ phân rã chức năng 56
4.4.2 Mô tả chi tiết các chức năng lá 58
4.4.3 Các hồ sơ dữ liệu 61
4.5 Phân tích dữ liệu 62
4.5.1 Biều đồ luồng dữ liệu mức 0 62
4.5.2 Biểu đồ luồng dữ liệu mức 1 63
4.6 Thiết kế dữ liệu (mô hình E-R) 68
4.6.1 Liệt kê, chính xác, chọn lọc thông tin 68
4.6.2 Xác định thực thể và thuộc tính 68
4.6.3 Xác định mối quan hệ và thuộc tính 69
4.6.4 Vẽ biểu đồ và rút gọn 71
4.7 Thiết kế - Mô hình Lôgic 72
4.8 Thiết kế - Mô hình Vật Lý 72
Trang 6CHƯƠNG 5 THIẾT KẾ PHẦN MỀM 77
5.1 Thiết kế quy trình login theo các user phân cấp 78
5.2 Streaming Video 84
5.3 Thiết kế theo quy trình duyệt chương trình 88
KẾT LUẬN 96
TÀI LIỆU THAM KHẢO 97
Trang 7THUẬT NGỮ VÀ VIẾT TẮT
Viết Tắt Viết Đầy Đủ
ASF Active Streaming Format
AJAX Asynchronous JavaScript and XML
ASP Advanced Simple Profile
ANSI American National Standards Institute
ADO ActiveX Data Objects
API Application Programming Interface
ASC ActionScript Compiler
ASP.NET Active Server Pages NET
BPMN Business Process Model and Notation
BPM Business Process Model
BPEL Business Process Execution Language
CLR Common Language Runtime
CDM Conceptual Data Model
CDN Content Delivery Network
DVD Digital Video Disc
DV Digital Video
DMS Database Management System
DTS Data Transformatuion Servise
DFD Data Flow Diagram
ebXML Electronic Business using eXtensible Markup Language
Trang 8ERD Entity Relationship Diagram
EAM Enterprise Architecture Model
ECMA European Computer Manufacturers Association FTP File Transfer Protocol
FEM Free Model
GUI Graphical User Interface
HDD Hard Disk Drive
HTTP HyperText Transfer Protocol
HTML HyperText Makeup Language
ITU International Telecommunication Union
LDM Logical Data Model
LINQ Language Integrated Query
MAM Media Asset Management
MIDI Musical Instrument Digital Interface
MXF Material Exchange Format
MPEG The Moving Picture Experts Group
MMS Microsoft Media Server protocol
Trang 9MVC Model View Control
MSIL Microsoft Intermediate Language
NAS Network Attached Storage
NAT Network Address Translation
NTSC National Television System Committee
ODBC Open Database Connectivity
OLE DB Object Linking and Embedding Database
OLTP Large-scale online Transactional Processing
OLAP Online Analysis Processing
OTT Over The Top Content
OOM Object Oriented Model
PAL Phase Alternative Line
QTVR QuickTime Virtual Reality
RM Real Media
RTP Real-time Transport Protocol
RTSP Real Time Streaming Protocol
RDBMS Relational Database Management System
RQM Requirements Model
RTF Report Editor
SAN Storage Area Network
SECAM Sequentiel Couleur avec Mémoire (sequential color with memory) SDTV Standard Definition Television
Trang 10SOAP Simple Object Access Protocol
SDK Software Development Kit
SQL Structured Query Language
SDI Serial Digital Interface
VOD Video On Demand
VoIP Voice over Internet Protocol
VTV Vietnam Television - Đài Truyền Hình Việt Nam WMV Windows Media Video
XML eXtensible Markup Language
Trang 11Danh Mục Hình Vẽ
Hình 2.1 Mô hình phát triển ứng dụng 3 lớp 25
Hình 2.2 Mô hình hoạt động lớp Presentation Layer 26
Hình 2.3 Mô hình hoạt động lớp Business Layer 27
Hình 2.4 Mô hình hoạt động lớp Data Access Layer 28
Hình 2.5 Hình vẽ và ký hiệu quy ước của sơ đồ DFD 31
Hình 2.6 Sơ đồ nhiều mức của DFD 33
Hình 2.7 Quy tắc vẽ DFD (cột bên phải là vẽ đúng) 34
Hình 3.1 Sơ đồ Quy trình sản xuất, duyệt chương trình phát sóng……….36
Hình 3.2 Lịch phát sóng 1 tuần trong tháng 43
Hình 3.3 Phiếu nghiệm thu chương trình 45
Hình 3.4 Mô hình hệ thống SAN của Trung tâm Kỹ thuật 47
Hình 4.1 Sơ đồ tổng thể chức năng hệ thống và các modules có liên quan………50
Hình 4.2 Sơ đồ kiến trúc của hệ thống 53
Hình 4.3 Sơ đồ ngữ cảnh hệ thống 54
Hình 4.4 Biểu đồ phân rã chức năng 57
Hình 4.5 Biểu đồ luồng dữ liệu mức 0 62
Hình 4.6 DFD mức 1: “Tác vụ biên tập viên” 63
Hình 4.7 DFD mức 1: “Tác vụ lãnh đạo Phòng” 64
Hình 4.8 DFD mức 1: “Tác vụ lãnh đạo Ban” 65
Hình 4.9 DFD mức 1: “Tác vụ Phòng nội dung TKBT” 66
Hình 4.10 DFD mức 1: “Tác vụ Thành viên Hội đồng duyệt” 67
Hình 4.11 Mô hình thực thể liên kết Entity - Relationship 71
Hình 5.1 Mô hình UseCase của hệ thống ………78
Hình 5.2 Thiết kế quy trình đăng nhập 79
Hình 5.3 Mô hình hiển thị giao diện người dùng 82
Hình 5.4 Giao diện quản trị AdminUnit 83
Hình 5.5 Giao diện quản trị hệ thống AdminSystem 83
Hình 5.6 Giao diện người dùng 83
Trang 12Hình 5.7 Giao diện đăng nhập thất bại 84
Hình 5.8 Kết quả hiển thị Streaming Video 85
Hình 5.9 Cấu hình Windows Media Services kết nối tới server lưu trữ 86
Hình 5.10 Cấu hình MMS đến server lưu trữ để streaming media 87
Hình 5.11 Tiến trình streaming media 87
Hình 5.12 Mô hình thiết kế quy trình duyệt chương trình 88
Trang 13CHƯƠNG 1 GIỚI THIỆU ĐỀ TÀI
1.1 Nội dung đề tài
Nội dung đề tài thực hiện là xây dựng ra quy trình và công cụ phần mềm ứng dụng tác nghiệp trong môi trường Web, thực hiện việc duyệt chương trình phát sóng
từ khâu hậu kỳ sản xuất chương trình tại Trung tâm kỹ thuật sản xuất chương trình qua các khâu kiểm duyệt ở cấp Phòng, cấp Ban, hội đồng duyệt của Đài Truyền hình Việt Nam (VTV) trên cơ sở kết nối mạng giữa hệ thống dựng hậu kỳ của Trung tâm Kỹ thuật Sản xuất chương trình, mạng nội bộ của ban VTV6 và mạng core của VTV tại 43 Nguyễn Chí Thanh
Chương trình sau khi hoàn tất việc dựng hậu kỳ sẽ được chuyển đổi sang định dạng phân giải thấp, tệp phân giải thấp sẽ tự động được đẩy lên máy chủ cài ứng dụng duyệt trên môi trường Web
Các tệp có định dạng phân giải thấp được khai báo và lưu trữ tập trung trên máy chủ, tên tệp của mỗi chương trình từ khi dựng đến khi phát sóng là duy nhất, chương trình sẽ được duyệt đến cấp Ban hoặc cấp Thư ký biên tập thông qua mạng Mỗi người dùng có một mật khẩu để truy cập, phạm vi truy cập phụ thuộc vào quyền của mỗi người dùng
1.2 Phạm vi và đối tượng áp dụng
Phạm vi áp dụng: Áp dụng cho Ban Thanh thiếu niên - VTV6 thông qua
mạng nội bộ của Đài Hệ thống phần mềm cũng được thiết kế mở để có thể dễ dàng
nhân rộng việc ứng dụng cho các đơn vị khác trong Đài
Đối tượng áp dụng:
- Kỹ thuật viên dựng
- Khối biên tập: Gồm có biên tập viên, phụ trách phòng, phụ trách ban
- Hội đồng duyệt: Hội đồng duyệt chương trình, phòng nội dung – TKBT
- Phòng Tổng khống chế
Trang 141.3 Lý do lựa chọn và mục tiêu của đề tài
Trước đây, trước khi máy quay phim điện tử (camcorder) ra đời, việc ghi hình
di động cần đến hai dụng cụ: một máy quay phim điện tử và một máy ghi băng hình Hai thiết bị này sau nhiều phiên bản được thiết kế bởi các hãng khác nhau đã trở nên nhỏ gọn hơn, dễ mang đi hơn, nhưng khi ghi hình vẫn cần đến 2 người thực hiện Năm 1982, hãng Sony giới thiệu máy quay phim kết hợp cao cấp gọi là Betacam Qua thời gian, tại một số quốc gia (trong đó có Việt Nam) việc sử dụng băng từ Betacam để ghi và lưu trữ chương trình dần trở nên phổ biến và trở thành phương thức lưu trữ chính trong suốt một thời gian dài Xét trên khía cạnh kiểm duyệt nội dung chương trình, tại thời điểm hiện tại, khi mà công nghệ lưu trữ và truyền nhận
dữ liệu qua mạng đã có những bước tiến lớn, việc sử dụng băng Betacam đơn lẻ càng bộc lộ rõ nhiều nhược điểm như:
Chất lượng hình ảnh giảm do băng đã được sử dụng nhiều lần trong thời gian dài
Biên tập viên phải cầm băng đi từ nơi này qua nơi khác để đăng ký duyệt chương trình
Số lượng chương trình rất lớn, kéo theo số lượng băng cũng rất lớn, gây khó khăn cho việc quản lý và bảo quản thiết bị, nhất là ở những vùng có khí hậu cận nhiệt đới ẩm như miền bắc Việt Nam
Để có thể ghi dữ liệu vào băng và kiểm duyệt nội dung dữ liệu trên băng cần có các thiết bị chuyên dụng, những thiết bị này thường được bán với giá rất cao, khiến cho chi phí sản xuất các chương trình truyền hình bị tăng lên
Xét thấy những bất cập của việc sử dụng băng betacam cho việc kiểm duyệt nội dung chương trình, tôi đã nghiên cứu và triển khai giải pháp hỗ trợ kiểm duyệt các chương trình phát sóng của kênh VTV6, dựa trên nền tảng thiết bị là hệ thống máy chủ và hạ tầng mạng sẵn có của Đài Truyền hình Việt Nam Giải pháp này khi được triển khai sẽ giúp ích rất lớn cho việc sản xuất các chương trình truyền hình, nâng
Trang 15cao chất lượng hình ảnh, giảm thời gian kiểm duyệt nội dung, thuận tiện cho người
sử dụng, tiết kiệm thời gian và chi phí sản xuất các chương trình truyền hình
Xây dựng hệ thống duyệt chương trình qua mạng cho ban biên tập nội dung kênh VTV6 để giải quyết những bất cập còn tồn tại của phương pháp kiểm duyệt cũ và đáp ứng yêu cầu cấp bách về việc kiểm duyệt các chương trình phát sóng dưới dạng file, loại bỏ dần băng từ Betacam ra khỏi quy trình sản xuất, tiến tới mô hình sản xuất chương trình hoàn toàn dựa trên file Việc xây dựng hệ thống hỗ trợ duyệt chương trình qua mạng nhằm thay đổi dần dần phương thức kiểm duyệt cũ, thực hiện hiện đại hóa quy trình sản xuất, góp phần đẩy mạnh sử dụng công nghệ kỹ thuật số trong công đoạn sản xuất chương trình
Trang 16CHƯƠNG 2 CƠ SỞ LÝ THUYẾT VÀ CÔNG NGHỆ
2.1 Công nghệ Video Streaming
2.1.1 Khái niệm chung
Công nghệ streaming cho phép các multimedia server truyền đi qua mạng Internet các dòng dữ liệu liên tiếp có thể giải nén và hiển thị ngay lập tức khi tới phía người dùng Để download về một đoạn phim ngắn cũng có thể mất tới vài phút trong khi các dữ liệu video sử dụng công nghệ streaming chỉ mất vài giây để có thể hiển thị Streaming video tiết kiệm thời gian cho người dùng bằng cách sử dụng các công nghệ giải nén kết hợp với player hiển thị dữ liệu đồng thời trong lúc vẫn tiếp tục download
Quá trình này được gọi là buffering và có thể được diễn giải như sau : thay vì được gửi một lần duy nhất, dữ liệu streaming video sẽ được truyền đi thành các gói nhỏ, ban đầu player sẽ lấy về một phần chia nhỏ đó của dữ liệu video trước khi hiển thị, đồng thời trong lúc hiển thị các gói dữ liệu còn lại sẽ lần lượt được lấy về để kịp cho việc hiển thị tiếp theo
Với công nghệ streaming, các nhà cung cấp dịch vụ có thể tạo, phân phối và hiển thị các streaming video dưới các định dạng của công nghệ streaming (như RM, MOV và ASF) Streaming Video thường được sử dụng trong lĩnh vực giải trí hoặc dạy học, dùng để lưu trữ các tuyển tập các file video hoặc các bài học, cung cấp cho người dùng các tiện ích như tìm kiếm, liệt kê, và khả năng hiển thị hoặc hiển thị lại các dữ liệu video theo yêu cầu
Streaming Video được thể hiện dưới hai dạng : Video theo yêu cầu (on demand) và Video thời gian thực (live event)
Video theo yêu cầu là các dữ liệu video được lưu trữ trên multimedia server và được truyền đến người dùng khi có yêu cầu, người dùng có toàn quyền để hiển thị cũng như thực hiện các thao tác (tua, dừng, nhẩy qua ) với các đoạn dữ liệu này Video thời gian thực là các dữ liệu video được convert trực tiếp từ các nguồn cung cấp dữ liệu theo thời gian thực (máy camera, microphone, các thiết bị phát dữ
Trang 17liệu video .) Các dữ liệu này sẽ được multimedia phát quảng bá thành các kênh người dùng sẽ chỉ có quyền truy nhập bất kỳ kênh ưa thích nào để hiển thị dữ liệu
mà không được thực hiện các thao tác tua, dừng vv trên các dữ liệu đó (giống như
TV truyền thống)
Video Stream sử dụng các giao thức RTSP, MMS hay HTTP vv để truyền dữ liệu theo dạng streaming qua mạng Internet, đồng thời sử dụng các chuẩn nén để giảm dung lượng dữ liệu, cung cấp khả năng nén dữ liệu tại nhiều mức nén, nhiều kích thước hiển thị để có thể phù hợp với độ rộng băng thông của nhiều mạng truyền dẫn để tối ưu hoá việc truyền dữ liệu qua mạng Cũng chính vì vậy việc truyền các Streaming Video qua mạng sẽ phụ thuộc rất nhiều vào các sản phẩm phần mềm Video Streaming Server [1]
Một vấn đề lớn được đặt ra cùng với sự phát triển của các công nghệ video streaming là sự gia tăng của các định dạng dữ liệu riêng và sự không tương thích của chúng Hơn 8 ứng dụng khác nhau và các plugin của chúng sẽ phải load về máy người dùng để có thể hiển thị được tất cả các khuôn dạng của video qua Internet Bởi vậy các định dạng video streaming chỉ giới hạn bởi ba công ty được coi là dẫn đầu trong công nghệ streaming với các sản phẩm: Apple với QuickTime, RealNetworks với RealMedia, và Microsoft với Windows Media
Các hãng này đều cung cấp các bộ công cụ trọn gói gồm Video Streaming Server (lưu trữ, truyền phát dữ liệu theo các giao thức hỗ trợ ), Video Player (hiển thị dữ liệu tại phía người dùng) và công cụ kiến tạo dữ liệu với các chuẩn nén
2.1.2 Windows Media Services
Windows Media là sản phẩm của Microsoft nhằm phục vụ việc truyền streaming media trên mạng Internet Windows Media được phổ biến khá rộng rãi với nhiều phiên bản nâng cấp khác nhau Mặc dùng Windows Media Streaming Server sử dụng giao thức riêng của nó là MMS (Microsoft Media Server Protocol) thay vì sử dụng giao thức chuẩn RTSP xong nó hoàn toàn miễn phí và chạy được trên rất nhiều các ứng dụng nền tảng Server của Windows
Trang 18Tương tự như Real, Windows Media tập trung vào việc truyền phát audio/video qua mạng Internet, hỗ trợ hai giao thức serverbase (MMS) và serverless (HTTP) với định dạng tiêu chuẩn là ASF (Active Streaming Format)
Windows Media cung cấp một bộ công cụ được đóng gói hoàn chỉnh có tên là Windows Media Techonologies Windows Media Technologies gồm Windows Media Tool dùng để kiến tạo các dữ liệu streaming, Windows Media Services đóng vai trò Video Streaming Server cung cấp dữ liệu, Windows Media Player là công cụ hiển thị dữ liệu và ngoài ra còn có Windows Media Right Manager được sử dụng để bảo vệ chống sao chép dữ liệu
Windows Media Server hỗ trợ công nghệ “intelligent streaming": cho phép truyền phát dữ liệu dựa trên độ rộng băng thông Internet giữa người dùng và Server Mặt khác công nghệ này có khả năng cung cấp việc truyền phát các luồng dữ liệu một cách liên tục kể cả khi băng thông của mạng bị suy giảm, khi đó Server sẽ giảm việc truyền phát dữ liệu cho phù hợp, nếu băng thông bị giảm quá nhiều server sẽ tự động giảm chất lượng của dữ liệu video cho đến khi chỉ còn dữ liệu audio được truyền qua mạng
2.2 Hệ quản trị cơ sở dữ liệu SQL Server 2008
Một hệ quản trị cơ sở dữ liệu là một hệ thống các chương trình hỗ trợ các tác
vụ quản lý, khai thác dữ liệu theo mô hình cơ sở dữ liệu quan hệ
Cơ sở dữ liệu quan hệ là cơ sở dữ liệu mà dữ liệu bên trong nó được tổ chức thành các bảng Các bảng được tổ chức bằng cách nhóm dữ liệu theo cùng chủ đề và
có chứa các cột và các hàng thông tin Sau đó các bảng này lại liên hệ với nhau bởi
bộ Database Engine khi có yêu cầu RDBMS là một trong những mô hình cơ sở dữ liệu thông dụng nhất hiện nay [5]
SQL server là một hệ thống quản lí cơ sở dữ liệu quan hệ (RDBMS) hay còn được gọi là Relational Database Management System do Microsoft phát triển
Ngôn ngữ truy vấn quan trọng của Microsoft SQL server là Transact-SQL Transact-SQL là ngôn ngữ SQL mở rộng dựa trên SQL chuẩn của ISO
Trang 19(International Organization for Standardization) và ANSI (American National Standards Institute) được sử dụng trong SQL Server [6]
Những thành phần chính trong SQL Server bao gồm:
SQL Server Đây là phần chính của hệ thống, là trung tâm điều hành
những phần thực thi khác Với Desktop Engine bạn sẽ tìm thấy các dich vụ trong hệ thống như SQL Server Agent (Schedule), SQL Server Profiler ,…
Full - Text Search Đây là phần cung cấp chức năng tìm kiếm rất mạnh,
nếu sử dụng Internet để tìm kiếm thì đây là giải pháp tuyệt vời Nếu bạn muốn tìm kiếm một chuỗi con trong một đoạn văn bản lớn thì đây là công cụ thích hợp cho công việc đó
English Query Phần này cho phép người sử dụng không có kỹ thuật
về SQL cũng có thể sử dụng SQL Server, bằng cách đặt câu hỏi bằng chuỗi English sau đó được dịch ra Query mà
có thể thực thi trên SQL server Analusis Services Phần này không bao gồm mặc định trong phần cài
đặt, chúng là dạng sản phẩm tự chọn, là công cụ phân tích OLAP (Online Analysis Processing), sử dụng cho cơ sở
dữ liệu lớn Những phiên bản có OLAP đầy đủ chức năng
là Enterprise và Developer, nhưng trong ấn bản Standard
và Personal cũng có một chức năng chính của OLAP Replication Chức năng này cho phép tái tạo một bản sao đến SQL
Server khác, thông thường dùng chức năng này cho các hệ thống Server từ xa hay trong network, nhằm để làm giảm trao đổi dữ liệu giữa các SQL Server với nhau
Data
Transformatuion
Data Transformation Servise (DTS) được mở rộng trong phiên bản SQL Server, bao gồm những chức năng trao đổi
Trang 20Servise dữ liệu giứa các cơ sở dữ liệu, và giao tiếp dữ liệu giữa
các cơ sở dữ liệu khác nhau, đây là những giải pháp lập trình trên Visual Basic
Symmetric Multiprocessing (SMP): Dịch vụ này được hỗ trợ trong SQL Server 2000, dịch vụ này phân phối công việc xử lý trên hệ thống có nhiều bộ vi xử
lý để làm cân bằng tiến trình trên các CPU
Clustering Support: Chỉ có trong ấn bản Enterprise và Developer, Clustering cho phép hệ thống cân bằng khi có một Server bị ngừng thì những hệ thống khác tiếp nhận và xử lý [6]
2.3 Công cụ phân tích và thiết kế hệ thống
2.3.1 Giới thiệu POWER DESIGNER
PowerDesigner là môi trường thiết kế mô hình hóa tổng thể hệ thống dưới dạng đồ họa và dễ dàng sử dụng Công cụ này cung cấp:
- Việc mô hình hóa được tích hợp thông qua các phương pháp và các ký hiệu chuẩn
Dữ liệu (Data: E/R, Merise)
Giao dịch (Business: BPMN, BPEL, ebXML)
- Khả năng tạo báo cáo tự động, có thể tùy chỉnh được
- Một môi trường có thể mở rộng, cho phép ta thêm các luật, câu lệnh, khái niệm, thuộc tính mới cho các phương pháp mã hóa và mô hình hóa
Trang 21Hỗ trợ của PowerDesigner đối với đội phát triển dự án
Một đội phát triển bao gồm: chuyên viên phân tích nghiệp vụ, phân tích và thiết kế, quản trị dữ liệu, lập trình viên, tester Mỗi người sẽ sử dụng một số tính năng khác nhau của PowerDesigner
Business Analysts (chuyên viên phân tích nghiệp vụ):
Xác định kiến trúc của tổ chức, các yêu cầu nghiệp vụ, và các dòng chảy nghiệp vụ ở cấp cao Họ có thể sử dụng các component sau:
Enterprise Architecture Model (EAM)
Requirements Model (RQM)
Business Process Model (BPM)
Data Analysts and Designers (Chuyên viên phân tích và thiết kế):
Sẽ gắn kết các yêu cầu kỹ thuật với các yêu cầu nghiệp vụ Đi sâu hơn vào việc phân tích, ta có thể định nghĩa Use Cases và kết hợp chúng với các yêu cầu Ta
có thể mô tả các đặc điểm kỹ thuật thuộc về chức năng và định nghĩa chính xác hơn bản chất và chi tiết của từng tiến trình, ứng dụng và cấu trúc dữ liệu của ứng dụng
Ta có thể sử dụng mô hình tiến trình nghiệp vụ (Business Process Model – BPM) và một mô hình dữ liệu quan niệm Conceptual Data Model (CDM) [3]
Database Administrators (Quản trị cơ sở dữ liệu):
Sử dụng cấu trúc dữ liệu đã được định nghĩa tốt để tối đa hóa, và tạo cơ sở dữ liệu, gồm có:
Physical Data Model (PDM):
Logical Data Model (LDM):
Information Liquidity Model (ILM):
Developers (Lập trình viên):
Sẽ viết các chi tiết kỹ thuật trong một Requirements Model (RQM), và sẽ xây dựng ứng dụng, định nghĩa các hành vi và cấu trúc đối tượng và các sơ đồ đối tượng/quan hệ
Object-Oriented Model (OOM)
XML Model (XSM)
Trang 22Team Leaders (Trưởng nhóm):
Sẽ quan tâm tới tất cả các mô hình và sẽ đảm bảo tất cả các yêu cầu, các đối tượng thiết kế và các tài liệu được liên kết với nhau thông qua các liên kết lưu vết tính đến tác động phân tích và thay đổi sự quản lý
PowerDesigner Enterprise Repository: là khu vực trung tâm của sự lưu trữ
Kho hỗ trợ chia sẽ dữ liệu lớn, phiên bản và báo cáo cho các mô hình và các tài liệu
hệ thống khác; có một hệ thống bảo mật mạnh và hỗ trợ khả năng mở rộng doanh nghiệp thực sự từ một trường hợp kho đơn
Report Editor: ta có thể đảm bảo rằng các tài liệu luôn được cập nhật và
chính xác Report Editor cho phép ta tự động hóa việc tạo ra các báo cáo chi tiết (theo format RTF và HTML) trên bất cứ hoặc tất cả các thành phần của hệ thống để chia sẻ thông tin thiết kế trong đội dự án và trong toàn công ty
Free Model (FEM): được sử dụng để tạo ra các sơ đồ để giải thích kiến trúc
hệ thống và các ứng dụng, kịch bản use-case của các ứng dụng, các sơ đồ dòng chảy
và các hình vẽ khác
Tester: sẽ sử dụng Requirements Model (RQM), Conceptual Data Model (CDM) và
các mô hình khác cùng với các tài liệu thiết kế để hiểu được ứng dụng nên làm việc thế nào và nó được phát triển như thế nào
2.3.2 Kết nối với một cơ sở dữ liệu
PowerDesigner cho phép ta định nghĩa data connections để truy cập thông tin trong các hệ quản trị cơ sở dữ liệu khác nhau (DBMS) sử dụng SQL
Một data connection thực hiện lời gọi hàm và các yêu cầu SQL từ PowerDesigner và gửi chúng tới 1 data source và trả lại kết quả cho PowerDesigner PowerDesigner physical data model (PDM) và Information Liquidity Model (ILM) cho phép ta định nghĩa các data connection cho các CSDL đích để tạo ra các
mô hình và đối chiếu các nguồn dữ liệu [3] The PowerDesigner repository đòi hỏi một CSDL để lưu trữ các mô hình và các tài liệu thiết kế khác
Trang 23PowerDesigner hỗ trợ các loại connection khác nhau, và sự lựa chọn của người dùng phụ thuộc vào giao diện mà ta đã cài đặt cấu hình ODBC Machine (Open Database Connectivity) và File Data Sources
là một công nghệ được phát triển từ đầu, còn ASP chỉ đơn thuần là ngôn ngữ kịch bản được nhúng trong HTML với chức năng truy xuất Database đưa lên trang web [2] ASP.NET là công nghệ lập trình hỗ trợ gần 20 ngôn ngữ lập trình khác nhau dựa trên nền tảng NET Framework Khi biên dịch các ngôn ngữ sẽ được biên dịch sang mã IL, đây chính là ngôn ngữ của NET và bắt buộc phải dịch ra IL vì đây là ngôn ngữ để CLR(Common Language Runtime) có thể hiểu được
2.4.1.2 ASP.NET là công nghệ hướng đối tượng
Trong ASP.NET mọi thứ đều là đối tượng, tất cả đều được lưu trữ dưới dạng class Mọi biến, thuộc tính, phương thức đều là thành phần của các đối tượng Không có khái niệm biến tự do Cũng nhờ vào tính hướng đối tượng nên ứng dụng ASP.NET có tính đóng gói, chặt chẽ cao, các đối tượng làm việc độc lập, dễ dàng trong việc kiểm soát ngoại lệ [2]
Trang 242.4.1.4 Mô hình phát triển ứng dụng MVC
Đây là mô hình lập trình web, trong đó ứng dụng được chia thành 3 phần riêng biệt có quan hệ độc lập, tương tác chặt chẽ với nhau Với MVC (Model – View - Control) ứng dụng sẽ được chuyên hóa thành 3 mảng chuyên biệt, đẩy mạnh tính chuyên môn của mỗi phần:
Model: Bộ phận thực thi các tác vụ Logic, xử lý mọi hoạt động bên trong từ yêu cầu nhận của máy khách Đảm nhiệm việc truy xuất, xử lý và lưu trữ dữ liệu
View: Là những gì người dùng thấy trên trình duyệt… View chuyên bên mảng thiết kế giao diện người dùng
Control: Là bộ phận trung gian giữa Model và View, Control đóng vai trò cầu nối truyền tải dữ liệu, trả về kết quả cho người dùng, hay nói cách khác
là vẽ lên giao diện của trang web ở trên Clent
Với mô hình MVC đã tách biệt hoàn toàn vai trò của người thiết kế (design) và người lập trình (coding) Sau khi design ra giao diện trang web, sẽ bàn giao cho bộ phận coding… Công việc đẩy mạnh tính chuyên môn, như vậy mỗi bên chỉ thực hiện công việc của mình, không phải hiểu sâu về các mảng việc cùng lúc
2.4.1.5 Mô hình phát triển ứng dụng 3 lớp (3 layers / 3-tiers)
Trong phát triển ứng dụng, để dễ quản lý các thành phần của hệ thống, cũng như không bị ảnh hưởng bởi các thay đổi, người ta hay nhóm các thành phần có cùng chức năng lại với nhau và phân chia trách nhiệm cho từng nhóm để công việc không bị chồng chéo và ảnh hưởng lẫn nhau Ví dụ trong một công ty có từng phòng ban, mỗi phòng ban sẽ chịu trách nhiệm một công việc cụ thể nào đó Trong phát triển phần mềm, người ta cũng áp dụng cách phân chia chức năng này Sử dụng kiến trúc đa tầng/nhiều lớp, mỗi lớp sẽ thực hiện một chức năng nào đó, trong đó mô
hình 3 lớp là phổ biến nhất [7] Ba lớp đó là Presentation, Business Logic và Data Access Các lớp này sẽ giao tiếp với nhau thông qua các dịch vụ (services) mà mỗi
lớp cung cấp để tạo nên ứng dụng, lớp này không cần biết bên trong lớp kia làm gì
mà chỉ cần biết lớp kia cung cấp dịch vụ gì cho mình và sử dụng nó
Trang 25Mô hình 3 lớp mà Microsoft đề nghị dùng cho các hệ thống phát triển trên nền NET như sau:
Hình 2.1 Mô hình phát triển ứng dụng 3 lớp
Presentation Layer
Lớp này làm nhiệm vụ giao tiếp với người dùng cuối để thu thập dữ liệu và hiển thị kết quả/dữ liệu thông qua các thành phần trong giao diện người sử dụng Lớp này sẽ sử dụng các dịch vụ do lớp Business Logic cung cấp Trong NET thì ta
có thể dùng Windows Forms, ASP.NET hay Mobile Forms để hiện thực lớp này Trong lớp này có 2 thành phần chính là User Interface Components và User Interface Process Components
UI Components là những phần tử chịu trách nhiệm thu thập và hiển thị thông
tin cho người dùng cuối Trong ASP.NET thì những thành phần này có thể là các TextBox, các Button, DataGrid…
UI Process Components: là thành phần chịu trách nhiệm quản lý các qui trình
chuyển đổi giữa các UI Components Ví dụ chịu trách nhiệm quản lý các
Trang 26màn hình nhập dữ liệu trong một loạt các thao tác định trước như các bước trong một Wizard…
Business Logic Layer
Lớp này thực hiện các nghiệp vụ chính của hệ thống, sử dụng các dịch vụ do
lớp Data Access cung cấp, và cung cấp các dịch vụ cho lớp Presentation Lớp này
cũng có thể sử dụng các dịch vụ của các nhà cung cấp thứ 3 (3rd parties) để thực hiện công việc của mình (ví dụ như sử dụng dịch vụ của các cổng thanh toán trực
tuyến như VeriSign, Paypal…) Trong lớp này có các thành phần chính là Business Components, Business Entities và Service Interface
- Service Interface là giao diện lập trình mà lớp này cung cấp cho lớp Presentation sử dụng Lớp Presentation chỉ cần biết các dịch vụ thông qua
giao diện này mà không cần phải quan tâm đến bên trong lớp này được hiện thực như thế nào
- Business Entities là những thực thể mô tả những đối tượng thông tin mà hệ
thống xử lý Trong ứng dụng chúng ta các đối tượng này là các chuyên mục
Hình 2.2 Mô hình hoạt động lớp Presentation Layer
Trang 27(Category) và bản tin (News) Các business entities này cũng được dùng để trao đổi thông tin giữa lớp Presentation và lớp Data Access
- Business Components là những thành phần chính thực hiện các dịch vụ mà Service Interface cung cấp, chịu trách nhiệm kiểm tra các ràng buộc logic
(constraints), các qui tắc nghiệp vụ (business rules), sử dụng các dịch vụ bên ngoài khác để thực hiện các yêu cầu của ứng dụng
Trong ứng dụng của chúng ta, lớp này sẽ chứa các thành phần là
CategoryService và NewsService làm nhiệm vụ cung cấp các dịch vụ quản lý
chuyên mục và các bản tin (thêm, xóa, sửa, xem chi tiết, lấy danh sách…)
Data Access Layer
Lớp này thực hiện các nghiệp vụ liên quan đến lưu trữ và truy xuất dữ liệu của ứng dụng Thường lớp này sẽ sử dụng các dịch vụ của các hệ quản trị cơ sở dữ liệu như SQL Server, Oracle,… để thực hiện nhiệm vụ của mình Trong lớp này có các
thành phần chính là Data Access Logic, Data Sources, Servive Agents)
Hình 2.3 Mô hình hoạt động lớp Business Layer
Trang 28Hình 2.4 Mô hình hoạt động lớp Data Access Layer
- Data Access Logic components (DALC) là thành phần chính chịu trách
nhiệm lưu trữ vào và truy xuất dữ liệu từ các nguồn dữ liệu – Data Sources như
RDMBS, XML, File systems… Trong NET Các DALC này thường được hiện
thực bằng cách sử dụng thư viện ADO.NET để giao tiếp với các hệ cơ sở dữ liệu hoặc sử dụng các Object-relational Mapping Frameworks để thực hiện việc ánh xạ các đối tượng trong bộ nhớ thành dữ liệu lưu trữ trong CSDL Chúng ta
sẽ tìm hiểu các thư viện Object-relational Mapping này trong một bài viết khác
- Service Agents là những thành phần trợ giúp việc truy xuất các dịch vụ bên
ngoài một cách dễ dàng và đơn giản như truy xuất các dịch vụ nội tại
2.4.2 Ngôn ngữ lập trình C#
Có thể coi ngôn ngữ lập trình C# là ngôn ngữ lập trình đơn giản vì nó chỉ có khoảng 80 từ khoá và khoảng 12 kiểu dữ liệu xây dựng sẵn (built-in) tuy nhiên nó
Trang 29hỗ trợ tất cả các mô hình lập trình : lập trình cấu trúc, lập trình hướng đối tượng và lập trình hướng thành phần (COM)
2.4.2.1 Lập trình hướng đối tượng trong C#
C# là ngôn ngữ hoàn toàn hướng đối tượng Tính chất hướng đối tượng có thể trình bày tóm tắt như sau:
- “Tất cả đều là đối tượng” Trong C#, mọi thực thể đều được biểu diễn là đối tượng, đi cùng với nó là các thuộc tính, hành vi (method) của thực thể đó Như vậy, một thuộc tính hay method chắc chắn phải thuộc về một đối tượng nào đó [4]
- Một chương trình ứng dụng bao gồm nhiều đối tượng Khi chúng muốn một đối tượng thực hiện một công việc hay đối tượng này muốn đối tượng kia thực hiện một công việc, chúng ta hay các đối tượng giao tiếp với nhau bằng cách gửi thông điệp Thông điệp có thể hiểu như một lời gọi hàm gọi một method của đối tượng nào đó làm việc [4]
- Mỗi đối tượng có một vùng nhớ riêng
- Mỗi đối tượng có một kiểu dữ liệu riêng, kiểu dữ liệu được định nghĩa bởi một class
- Mỗi đối tượng có một giao diện để giao tiếp với các đối tượng khác và một phần dữ liệu được che giấu đối với các đối tượng khác
Ngoài ra, C# cũng cho phép người lập trình thực hiện các hoạt động sử dụng lại dữ liệu như kế thừa, đa hình
2.4.2.2 Những đặc điểm của ngôn ngữ C#
C# được xây dựng từ những ngôn ngữ trước đó, đặc biệt là C và C++ cho nên những đặc điểm ngôn ngữ của C# rất giống với ngôn ngữ C, C++ Trong phần này
sẽ trình bày một vài đặc điểm của C#
Trang 30- Các toán tử gán: =, *=, /=, %=, +=, -=, <<=, >>=, &=, ^=, !=
- Các toán tử quan hệ: <, >, <=, >=, is, as, ==, !=
- Các toán tử logic: &, ^, !, &, |, <<, >>
- Các toán tử điều kiện: &&, ||, ?:
- Toán tử sizeof xác định kích thước một kiểu dữ liệu
Trong C# còn cho phép chồng toán tử và định nghĩa các toán tử mới theo các qui tắc sau:
- Toán tử một toán hạng: type_of_x operation op(x)
- Toán tử hai toán hạng: type_of_x,y operation op(x,y)
Trong C# không cho phép định nghĩa lại toán tử gán
Các kiểu dữ liệu:
C# hỗ trợ hai loại kiểu dữ liệu là kiểu tham trị và kiểu tham biến Kiểu tham trị bao gồm các kiểu đơn giản như char, int, float Kiểu tham biến gồm các kiểu class, kiểu Interface, kiểu mảng hay nói cách khác tất cả các đối tượng đều là tham biến Kiểu tham trị khác kiểu tham biến ở chỗ: những biến tham trị lưu trữ trực tiếp
dữ liệu của nó, trái lại biến tham biến lưu trữ con trỏ trỏ tới đối tượng
C# cung cấp một tập các kiểu được định nghĩa trước hầu hết đã có trong C và C++ Ngoài ra , C# lại đưa thêm vào kiểu boolean, string giống như trong Pascal C# cho phép chuyển kiểu giống như C và C++
Các câu lệnh
C# kế thừa hầu hết các câu lệnh từ C và C++, tuy nhiên cũng có một vài bổ sung và thay đổi đáng chú ý Chúng ta sẽ điểm qua các câu lệnh sau:
- Các lệnh được gán nhãn và lệnh goto: các lệnh được gán nhẵn có một nhãn đứng đằng trước Các lệnh goto sẽ nhảy đến các nhãn này và thực thi câu lệnh được gán nhãn
- Lệnh if: lệnh if sẽ chọn một biểu thức để làm việc dựa trên giá trị một biểu thức lô- gic Lệnh if có thể có thêm lệnh else để thực thi câu lệnh khác khi giá trị biểu thức là sai
Trang 31- Lệnh switch: lệnh switch thực thi một những lệnh phụ thuộc vào giá trị một biểu thức cho trước
- Các lệnh lặp: các lệnh lặp trong C# bao gồm các lệnh lặp while, do – while, for như trong C
- Lệnh lặp foreach (giống như trong VB): một lệnh lặp foreach liệt kê các thành phần trong một tập hợp, thực thi một câu lệnh cho mỗi thành phần của tập hợp
đó
- Các lệnh throw, try, catch: các lệnh phục vụ cho quá trình quản lí lỗi trong thời gian chạy (runtime – error) gồm có phát ra một lỗi (throw), cặp lệnh try – catch đón nhận một lỗi và đưa ra hành động xử lí lỗi
2.5 Sơ đồ luồng dữ liệu
2.5.1 Khái niệm sơ đồ luồng dữ liệu (DFD - Data Flow Diagram)
Sơ đồ (hay lưu đồ) dòng dữ liệu (DFD - Data Flow Diagram) là công cụ để mô
tả các dòng thông tin của hệ thống đang xét DFD dễ viết, dễ đọc, dễ hiểu và được ứng dụng rất phổ biến [7] DFD được xây dựng từ các hình vẽ và ký hiệu quy ước
Có nhiều cách xây dựng DFD, thông dụng là phương pháp De Macro Yourdon, Gane - Sarson và MERISE (ở Pháp)
-Sau đây là bảng trình bày các phương pháp :
Hình 2.5 Hình vẽ và ký hiệu quy ước của sơ đồ DFD
Trang 32Một DFD gồm bốn thành tố : quá trình, thực thể, kho dữ liệu và dòng dữ liệu chuyển
Quá trình (process): Mô tả hoạt động (activities) hay phép biến đổi
(transform) một hoặc nhiều dòng dữ liệu vào (input) thành một hoặc nhiều dòng dữ liệu ra (output) Quá trình không chỉ ra chi tiết logic hay thủ tục xử lý Trong sơ đồ DFD, một quá trình có thể là một người sử dụng hay máy tính
Thực thể (entities): xác định ranh giới (boundary), hay phạm vi (scope), hay
ngữ cảnh (context) của hệ thống đang xét, để cung cấp cái vào cho hệ thống và lấy cái ra từ hệ thống Các thực thể có thể nằm bên trong (internal) hay bên ngoài (external), tạo thành các nguồn và các đích của hệ thống Mỗi thực thể có thể là người, tổ chức hoặc là một hệ thống khác tương tác với hệ thống đang xét
Kho dữ liệu (data stores): chỗ chứa những thông tin được lưu lại theo thời
gian Đó là các tập tin xử lý thủ công hay tự động, các cơ sở dữ liệu, hay bất cứ hình thức tập trung dữ liệu nào (bảng biểu báo cáo, danh mục tra cứu, từ điển, hộp thư ) đều có thể được xem như kho dữ liệu
Dòng dữ liệu (data flows): là phương tiện lưu chuyển thông tin thể hiện cái
vào và cái ra Dòng dữ liệu có thể là báo cáo, biểu mẫu, văn bản, thư tín, thông điệp hay dữ liệu nói chung Các dòng dữ liệu thể hiện sự tương tác trong hệ thống Chúng được tạo thành từ tập hợp các vật mang thông tin (giấy, màn hình ) có cùng bản chất, đi từ nơi phát (nguồn) đến nơi nhận (đích)
DFD chỉ ra cách chuyển tiếp thông tin từ một quá trình này sang một quá trình khác Như vậy, cần phải có sẵn những thông tin trước khi thực thi một quá trình DFD là một phần của quá trình phân tích chứ không phải một phần của quá trình điều tra [7]
Phân biệt DFD với sơ đồ khối, DFD khác với sơ đồ khối, hay lưu đồ
(Flowcharts) :
Các quá trình trong DFD có thể đặt song song, một số hoạt động đồng thời
DFD thể hiện các dòng dữ liệu luân chuyển trong một hệ thống Sơ đồ khối thể hiện tuần tự thực hiện dãy các bước xử lý trong một thuật toán
Trang 33 DFD thể hiện quá trình ở các thời điểm khác nhau
DFD không giống sơ đồ khối về cách thể hiện các cấu trúc vòng lặp while) và cấu trúc lựa chọn (if-then-else)
(do-2.5.2 Xây dựng sơ đồ luồng dữ liệu
2.5.2.1 Mức khác nhau của sơ đồ DFD
DFD cấp cao nhất, gọi là sơ đồ dòng dữ liệu cấp 0 được xem như một sơ đồ toàn cảnh (context diagram) Các sơ đồ dòng dữ liệu sẽ được lần lượt xây dựng từ trên xuống (top - down) bằng cách triển khai mỗi quá trình hay phép biến đổi của DFD cấp cao hơn thành một sơ đồ dòng dữ liệu chi tiết hơn cấp thấp hơn cho tới khi các phép biến đổi trở thành nguyên tố (nghĩa là chỉ thực hiện một tác vụ duy nhất) Tại mỗi mức, mỗi DFD có thể được vẽ trên một trang giấy (khổ A4 chẳng hạn)
- Triển khai từng cấp theo chiều ngang, không theo chiều dọc
Tránh vẽ các lưu đồ quá lớn : một lưu đồ chỉ nên có tổng số các phép biến đổi và kho dữ liệu không quá 7
Hình 2.6 Sơ đồ nhiều
mức của DFD
Trang 34Từ mỗi phép biến đổi, xét xem nó đã là nguyên tố chưa, nếu chưa, lặp lại từ việc liệt kê sự kiện và đáp ứng, bổ sung vào danh mục sự kiện Xem phép biến đổi như một hệ thống và tiếp tục triển khai cấp dưới
Bảo toàn dữ liệu : không có phép biến đổi hay kho dữ liệu nào có thể cho ra dữ liệu mà không nhận dữ liệu dữ liệu vào
Tránh các hố đen (black hole): Không có phép biến đổi chỉ nhận dữ liệu vào
mà không cho dữ liệu ra Không có kho dữ liệu chỉ ghi mà không có truy xuất, nếu
có các tệp cơ sở dữ liệu được lưu trữ dự phòng (backup database files) thì phải thể hiện dòng dữ liệu phục hồi (restore)
Tuy nhiên, trong thực tiễn, không nên thể hiện các tệp backup trong DFD vì đó chỉ là biện pháp mang tính đối phó và làm rắc rối DFD [7]
Miêu tả dòng dữ liệu chứ không phải dòng điều khiển.Tránh các dòng dữ liệu
"xuyên qua" là những dòng dữ liệu vào và ra khỏi một phép biến đổi mà không bị biến đổi gì cả
Ưu tiên khai báo kho dữ liệu ở cấp cao nhất trong đó nhiều phép biến đổi tham chiếu đến
Mọi DFD phải bắt đầu và/hoặc kết thúc từ một quá trình Trong hình vẽ dưới đây, cột bên trái là vẽ sai vì vi phạm quy tắc, cột bên phải là vẽ đúng quy tắc
Hình 2.7 Quy tắc vẽ DFD (cột bên phải là vẽ đúng)
Trang 35CHƯƠNG 3 KHẢO SÁT HIỆN TRẠNG
Trong thời gian thực hiện đề tài, tôi đã tiến hành khảo sát hiện trạng quy trình duyệt băng của các Ban biên tập của Đài truyền hình Việt Nam tại Hà nội cũng như các trung tâm khu vực nhằm tìm hiểu quy trình hiện tại, phân tích những mặt khó khăn, hạn chế trong quy trình duyệt băng và chuyển chương trình đi phát sóng tại các Ban biên tập trong Đài cũng như các Trung tâm khu vực [8] Sau khi đã thực hiện khảo sát và phân tích thấu đáo quy trình duyệt chương trình, tôi đã đưa ra sơ đồ
minh họa chung cho quy trình duyệt băng hiện nay như hình 3.1:
- Nhìn chung quy trình duyệt băng của các Ban biên tập cũng như các Trung tâm khu vực là như nhau, quy trình làm việc chủ yếu dựa trên băng từ Sự hạn chế này hiện nay đã nảy sinh rất nhiều bất cập như: Chương trình phải đổ
ra băng nhiều lần khi có yêu cầu sửa của nhiều cấp, vì phải sao in băng nhiều lần nên chất lượng chương trình khi lên phát sóng có thể giảm đồng thời phải mất rất nhiều thời gian cho quá trình hoàn thiện Các băng khi đưa lên phát sóng tại Tổng khống chế lại phải mất một quá trình nạp lại vào hệ thống server phát sóng theo thời gian thực và chất lượng chương trình lại phải phụ thuộc vào quá trình nạp băng
- Quá trình chuyển các băng đưa đi nghiệm thu rất thủ công dẫn đến sự quản lý hết sức cồng kềnh, phức tạp và mất nhiều công sức Người duyệt chương trình trong khi duyệt lại phải phụ thuộc vào thiết bị đọc băng nên không có
sự linh hoạt và tiện lợi
- Mặc dù các bước nghiệm thu đã được quy chuẩn nhưng do Đài THVN cũng đang từng bước chuyển đổi công nghệ từ công nghệ truyền hình tương tự sang công nghệ truyền hình số nên việc áp dụng Công nghệ thông tin vào quy trình sản xuất chương trình là cấp bách tiến tới việc thay đổi phương thức duyệt chương trình trong các bước nghiệm thu sản phẩm
Trang 36Lãnh đạo Ban duyệt
Hội đồng cấp Đài duyệt (nếu có quy định riêng)
Không tốt Không tốt
Hình 3.1 Sơ đồ Quy trình sản xuất, duyệt chương trình phát sóng.
3.1 Quy trình kiểm duyệt các chương trình phát sóng kênh VTV6
Tổ chức sản xuất: Căn cứ vào kế hoạch sản xuất, Phóng viên được giao đề tài
viết đề cương chi tiết và Phiếu đăng ký sản xuất (xin trường quay và xe ôtô nếu cần), Phụ trách nhóm phê duyệt → Lãnh đạo phòng phê duyệt → Lãnh đạo Ban phê duyệt; Phòng Hành chính Tổng hợp căn cứ vào đăng ký phương tiện thiết bị để phân
Trang 37công quay phim, điều động thiết bị; Tiến hành sản xuất tiền kỳ, đọc băng nháp lấy timecode phân cảnh; Sản xuất hậu kỳ, capture hình (phóng sự và dẫn trên phim trường) vào máy vi tính, dựng và xuất thành phẩm ra băng Betacam
Nghiệm thu chương trình: Sau khi có băng thành phẩm từ sản xuất hậu kỳ
quy trình nghiệm thu chương trình được tuần tự như sau:
Trưởng nhóm duyệt → Lãnh đạo phòng duyệt → Lãnh đạo Ban duyệt
Các chương trình khác có quy định riêng thì Hội đồng cấp Đài sẽ duyệt nghiệm thu theo quy chế duyệt chương trình phát sóng của Đài truyền hình VN Các chương trình này ước tính chiếm khoảng 30% các chương trình của Ban thanh thiếu niên
Các băng thành phẩm sau khi được duyệt nếu có yêu cầu sửa chữa, chỉnh sửa thì sẽ quay lại phần hậu kỳ tiến hành làm lại đến khi đạt thì sẽ nộp băng lên TKBT chuyển đi phát sóng
Phát sóng: Đơn vị tổ chức phát sóng (TKBT) nhận băng kiểm tra chính xác
thời lượng phát sóng, giấy nghiệm thu, timecode, mã băng sau đó ký nhận băng phát sóng Đơn vị phát sóng sau khi tiếp nhận băng sẽ tiến hành các thao tác nghiệm vụ tại đơn vị đó rồi đưa băng lên TKC tiến hành phát sóng
3.2 Quy trình kiểm duyệt các chương trình phát sóng kênh VTV4
Sản xuất phóng sự: Phóng viên được giao đề tài viết đề cương sơ lược và
Phiếu đăng ký sản xuất (xin xe ôtô nếu đột xuất) → Trưởng phòng ký → Lãnh đạo Ban ký → Chuyển cho phòng Hành chính Tổng hợp Phòng Hành chính Tổng hợp phân công quay phim, điều động thiết bị; Phóng viên quản lý băng ghi hình (Betacam và DVCam), capture hình vào máy vi tính, xử lý, xuất ra băng Betacam, lồng tiếng, (sau phát sóng sẽ capture thành phẩm vào máy vi tính, chuyển lên server)
Xử lý các phóng sự khai thác: Biên tập viên tải phóng sự từ server của Ban
Thời sự hoặc các trung tâm khu vực, TT Thường trú Đài THVN tại nước ngoài xử
lý lại trên máy vi tính, xuất thành phẩm ra băng Betacam, lồng tiếng
Trang 38Ngoài ra, còn có mạng lưới Cộng tác viên (khoảng 100 CTV tại Sứ quán VN ở nước ngoài), trung bình 3-4 tin/ngày, VTV4 đặt hàng hoặc CTV tự gửi qua truyền tin (Server FTP đặt tại TT TH - ĐL), bao gồm Video (AVI, MPEG-2, WMV, VOD bằng máy quay không chuyên, điện thoại, ) và Văn bản, hiện tại VTV không trả phí Nguồn tin lấy qua Thông Tấn Xã VN (hiện tại tin nào cần phát thì TTXVN tự gửi hoặc theo yêu cầu của VTV4) Việc nối lại hợp tác khai thác tin video với TTXVN đang được cân nhắc
Phóng sự và chuyên đề: Phóng viên được giao đề tài viết đề cương chi tiết và
Phiếu đăng ký sản xuất (xin phim trường và xe ôtô nếu cần), Trưởng phòng ký, lãnh đạo Ban ký, chuyển cho phòng Hành chính Tổng hợp; phòng Hành chính Tổng hợp phân công quay phim, điều động thiết bị; Phóng viên quản lý băng ghi hình (Betacam và DVCam), capture hình (phóng sự và dẫn trên phim trường) vào máy vi tính, xử lý, xuất ra băng Betacam, lồng tiếng, capture âm thanh vào máy vi tính, hòa
âm, xuất thành phẩm ra băng Betacam, lãnh đạo ban duyệt phát sóng
3.3 Quy trình kiểm duyệt chương trình phát sóng kênh VTV2
Hiện tại việc kiểm duyệt chương trình tại kênh VTV2 là dựa hoàn toàn trên băng Betacam SP Các chương trình sau khi hoàn thành công đoạn hậu kỳ cuối cùng (băng Betacam) 70% được duyệt ở cấp Phòng sản xuất chương trình (đơn vị nội dung) và chuyển lên Phòng biên tập và đạo diễnVTV2, để nhập các thông tin như kênh phát sóng, mã băng, tên chương trình, thể loại, thời hạn clip, timecode đầu, time code cuối, ngày phát sóng vào lịch phát sóng Lịch phát sóng này kèm băng phát sóng được mang lên TKC để Kỹ thuật viên nhập lại Metadata và ingest vào server để phát sóng luôn (không cần duyệt ở cấp Hội đồng duyệt của Đài) 30% các chương trình còn lại được mang lên Hội đồng duyệt của Đài để duyệt rồi lại chuyển
về Phòng biên tập và đạo diễn VTV2 để nhập các thông tin về kênh phát sóng, mã băng, tên chương trình, thể loại, thời hạn clip, timecode đầu, time code cuối, ngày phát sóng vào lịch phát sóng rồi cuối cùng chuyển lên Phòng TKC để Kỹ thuật viên nhập metadata và ingest băng vào hệ thống
Trang 393.4 Quy trình kiểm duyệt chương trình phát sóng TT THVN tại Phú Yên
Thời sự: Lấy tin → duyệt và trả bài qua mạng → dựng tin → Xuất băng, file
→ phát sóng trực tiếp
Phóng sự và chuyên đề: Duyệt kịch bản → Ghi hình → duyệt và trả lời bình
qua mạng → dựng hình và lồng tiếng → duyệt tác phẩm lần cuối → Xuất băng, file đến lưu trữ tại Phòng Chương trình → Sever phát sóng
Khoa giáo: Duyệt kịch bản → Ghi hình → duyệt và trả lời bình qua mạng →
dựng hình và lồng tiếng → duyệt tác phẩm lần cuối→ Xuất băng, file đến lưu trữ tại Phòng Chương trình → Sever phát sóng
Văn nghệ: Duyệt kịch bản → Ghi hình → duyệt và trả lời bình qua mạng →
dựng hình và lồng tiếng → duyệt tác phẩm lần cuối→ Xuất băng, file đến lưu trữ tại Phòng Chương trình → Sever phát sóng
3.5 Quy trình kiểm duyệt chương trình phát sóng tại TT THVN tại TP HCM Thời sự: Quay XDCam, Betacam, DVCam ….→ Cature vào bộ dựng phi
tuyến → Dựng offline, → xuất ra file, → lưu vào ổ cứng cho Biên tập → Đổ ra XDCam → Phát sóng trực tiếp bản tin thời sự (05 bản tin /ngày)
Văn nghệ: Quay XDCam, Betacam, DVCam → Cature vào bộ dựng phi tuyến →
Dựng offline, → xuất ra file, → lưu vào ổ cứng cho Biên tập → Đổ ra XDCam hoặc Băng Betacam, HDD → Lãnh đạo duyệt , → Sửa chữa hoàn chỉnh → Thành phẩm→ xuất ra file (ổ đĩa HDD, Đĩa XDCam, băng Beta), → capture từ (ổ đĩa HDD, Đĩa XDCam, băng Beta, Sever dựng) → Sever phát sóng
3.6 Quy trình kiểm duyệt chương trình phát sóng TT THVN TP Huế
Thời sự: Phóng viên sử dụng máy quay DVCAM để thu chương trình, sản
phẩm là băng DVCAM
Băng DVCAM được Capture vào bộ dựng phi tuyến thông qua card DeckLink với định dạng MJPEG
Trang 40Phóng viên cùng Kỹ thuật dựng dùng phần mềm Adobe Primere Pro 2.0 cắt gọt để có Tin hoặc Phóng sự hoàn chỉnh sau đó Export thành file MP2, dùng phần mềm FTP client đề gửi đến bộ lưu trữ NAS Tin và Phóng Sự quản lý theo tháng và được lưu trữ 1 năm (Không sử dụng phần mềm quản lý Metadata)
Tại Phòng Tổng duyệt thời sự, Biên tập cùng Kỹ thuật sẽ download các tệp
MP2 đã dựng và dùng phần mềm Adobe Primere Pro 2.0 để Dubbing tiếng và xuất
thành từng clip hoàn chỉnh sau đó lưu vào NAS để có thể dùng lại vào các ngày sau
Để có 1 bản tin thời sự hoàn chỉnh kỹ thuật sẽ capture các clip dẫn của PTV cho từng bàn tin sau đó ghép nối lại để có bản tin thời sự hoàn chỉnh
Bản tin Thời sự hoàn chỉnh sẽ được gửi sang Server và chèn vào Playlist phát sóng
Phóng sự, chuyên đề, khoa giáo và văn nghệ có cùng 1 quy trình: Phóng
viên sử dụng máy quay Betacam hoặc XDCAM để thu chương trình Sản phẩm sẽ là
băng Betacam hoặc đĩa XDCAM
Băng Betacam sẽ được Capture vào các bộ dựng thông qua card Avid MoJo hoặc Avid Adrenalink với định dạng MXF Đĩa XDCAM được Import thông qua các đầu đọc PDW-U1
Biên tập cùng kỹ thuật dựng cắt gọt, đưa kỹ xảo sau đó sẽ Export theo 2 phương thức:
- Export ra băng Betacam để gửi VTV phát sóng
- Export ra File định dạng MOV sau đó Convert sang định dạng MP2, dùng phần mềm HD MAM CLIENT để gắn Metadata cho Clip sau đó Upload lên Server lưu trữ trung tâm (32TB) Báo cho phòng chương trình biết các thông
số metadata để cập nhật vào sổ phát sóng
Tại phòng tổng khống chế, kỹ thuật viên sẽ dựa thông tin metadata trên sổ của phòng chương trình cấp và dùng phần mềm HD MAM CLIENT để Download các Clip xuống server và sau đó chèn vào Playlist để phát sóng