2. Các vấn đề về phân tích hệ thống
2.1. Các phương pháp thu thập thông tin
- Phỏng vấn: cho phép thu được những xử lý theo cách khác với mô tả trong tài liệu, gặp được những người chịu trách nhiệm trên thực tế, số người này có thể không được ghi trên văn bản tổ chức; thu được những nội dung cơ bản khái quát về hệ thống mà nội dung đó khó có thể nắm bắt được khi tài liệu quá nhiều. Đặc biệt là mục tiêu của tổ chức.
- Nghiên cứu tài liệu: cho phép nghiên cứu kỹ và tỉ mỉ về nhiều khía cạnh của tổ chức như: lịch sử hình thành và phát triển của tổ chức, tình trạng tài chính, các tiêu chuẩn và định mức, cấu trúc thứ bậc, vai trò và nhiệm vụ của các thành viên, nội dung và hình dạng của các thông tin vào/ra. Thông tin trên giấy tờ phản ánh quá khứ, hiện tại và tương lai của tổ chức. Cần nghiên cứu kỹ các văn bản:
+ Các văn bản về thủ tục và quy trình làm việc của cá nhân hoặc một nhóm làm việc.
+ Các phiếu mẫu sử dụng trong hoạt động của tổ chức.
+ Các loại báo cáo, bảng biểu do hệ thống thông tin hiện có sinh ra. - Sử dụng phiếu điều tra: khi cần phải lấy thông tin từ một số lớn các đối tượng và trên phạm vi địa lý rộng thỡ dựng tới phiếu điều tra. Yêu cầu các câu hỏi trên phiếu phải rõ ràng, cùng hiểu như nhau. Phiếu ghi theo cách thức dễ tổng hợp. Thường thì phiếu điều tra được thiết kế trên giấy, tuy nhiên cũng có thể dùng qua điện thoại, đĩa từ, màn hình nối mạng, trang Web động…Phiếu điều tra cần phải được phát thử sau đó hiệu chỉnh lại nội dung và hình thức câu hỏi. Trên phiếu điều tra nên chứa chủ yếu là câu hỏi đóng (Closed Ended) và có một số câu hỏi mở (Opened Ended). Để đảm bảo tỷ lệ phiếu thu về cao và có chất lượng người gửi phiếu phải là cấp trên của các đối tượng nhận phiếu.
- Quan sát: khi phân tích viên muốn nhìn thấy những gì không thể hiện trên tài liệu hoặc qua phỏng vấn như tài liệu để đâu, đưa cho ai, bỏ ngăn kéo, có
sắp xếp hoặc không sắp xếp, lưu trữ cú khóa hoặc khụng khúa…Quan sỏt sẽ có khi gặp khó khăn vì người bị quan sát không thực hiện giống như ngày thường.
2.2. Mã hóa dữ liệu
2.2.1. Định nghĩa mã hóa dữ liệu
Mã hiệu được xem như là một biểu diễn theo quy ước, thông thường là ngắn gọn về mặt thuộc tính của một thực thể hoặc tập hợp thực thể. Bên cạnh những thuộc tính định danh theo ngôn ngữ tự nhiên người ta thường tạo ra những thuộc tính nhận diện mới gồm một dãy ký hiệu, chủ yếu là những chữ cái chữ số, được gán cho một ý nghĩa mang tính ước lệ.
Mã hóa được xem là việc xây dựng một tập hợp những hàm thức mang tính quy ước và gán cho tập hợp này một ý nghĩa bằng cách cho liên hệ với tập hợp những đối tượng cần biểu diễn.
Mã hóa là một công việc của thiết kế viên hệ thống thông tin. Có thể coi đây là việc thay thế thông tin ở dạng “tự nhiờn” thành một dãy ký hiệu thích ứng với mục tiêu của người sử dụng. Mục tiêu đó có thể là nhận diện nhanh chóng, không nhầm lẫn, tiết kiệm không gian lưu trữ và thời gian xử lý, thực hiện những phép kiểm tra logic hình thức hoặc thể hiện vài đặc tính của đối tượng.
2.2.2. Các phương pháp mã hóa cơ bản
- Phương pháp mã hóa phân cấp: nguyên tắc tạo bộ mã này rất đơn giản. Người ta phân cấp đối tượng từ trên xuống, mã số được xây dựng từ trái qua phải các chữ số được kéo dài về phía bên phải để thể hiện chi tiết sự phân cấp sâu hơn. Để thiết lập mã phân cấp cần phải xác định có bao nhiêu cấp và mỗi cấp cần bao nhiêu mó. Cú hai loại mã phân cấp: Mã phân cấp cố định và mã phân cấp biến thiên. Mã phân cấp cố định là loại mã số mà trong từng cấp bị giới hạn trong một khoảng cho trước. Ngược lại là mã biến thiên.
- Phương pháp mã liên tiếp: mã kiểu này được tạo ra bởi một quy tắc tạo dãy nhất định. Chẳng hạn nếu người tuyển dụng vào làm việc trước có mã số 999 thì người tiếp theo mang mã số 1000. Ưu điểm của phương pháp này là không nhầm
lẫn và tạo lập dễ dàng. Nhưng nhược điểm là không gợi nhớ và không cho phép chốn thờm mó vào giữa hai mã cũ.
- Phương pháp mã hóa tổng hợp: Khi kết hợp việc mã hóa phân cấp với mã hóa liên tiếp thì ta có phương pháp mã hóa tổng hợp.
- Phương pháp mã hóa theo xeri: phương pháp chính này là sử dụng một tập hợp theo dãy gọi là xeri. Xeri được coi như một giấy phép theo mã quy định.
- Phương pháp mã hóa gợi nhớ: phương pháp này căn cứ vào đặc tính của đối tượng để xây dựng. Chẳng hạn dùng việc viết tắt các chữ cái đầu làm mã như mã tiền tệ quốc tế: VND, USD; mó cỏc loại chứng từ: HĐ, BC…Ưu điểm của phương pháp này là gợi nhớ cao, có thể nới rộng dễ dàng. Nhược điểm là ít thuận lợi cho tổng hợp và phân tích, dài hơn mã phân cấp.
- Phương pháp mã hóa ghép nối: phương pháp này chia mã ra thành nhiều trường, mỗi trường tương ứng với một đặc tính, những liên hệ có thể có giữa những tập hợp con khác nhau với đối tượng được gỏn mó. Ưu điểm của phương pháp này là nhận diện không nhầm lẫn, có khả năng phân tích cao, có nhiều khả năng kiểm tra thuộc tính. Nhược điểm là khá cồng kềnh vì phải cần nhiều ký tự, phải chọn những đặc tính ổn định nếu không bộ mã mất ý nghĩa.
2.3. Công cụ mô hình hóa
2.3.1. Sơ đồ luồng thông tin
Khái niệm: Sơ đồ luồng thông tin được dùng để mô tả hệ thống thông tin theo cách thức động. Tức là mô tả sự di chuyển của dữ liệu, việc xử lý, việc lưu trữ trong thế giới vật lý bằng các sơ đồ.
Các ký pháp của sơ đồ luồng thông tin: - Xử lý
Thủ công Giao tác người – máy Tin học hóa hoàn toàn Giao tác người – máy Tin học hóa hoàn toàn
- Kho lưu trữ dữ liệu
Thủ công Tin học hóa
- Dòng thông tin - Điểu khiển
2.3.2. Sơ đồ luồng dữ liệu
Khái niệm: sơ đồ luồng dữ liệu dùng để mô tả cũng chính hệ thống thông tin như sơ đồ luồng thông tin nhưng trên góc độ trừu tượng. Trên sơ đồ chỉ bao gồm các luồng dữ liệu, các xử lý, các lưu trữ dữ liệu, nguồn và đích nhưng không hề quan tâm tới nơi, thời điểm và đối tượng chịu trách nhiệm xử lý. Sơ đồ luồng dữ liệu chỉ mô tả đơn thuần hệ thống thông tin làm gì và để làm gì.
Ký pháp dùng cho sơ đồ luồng dữ liệu (DFD):
Ngôn ngữ sơ đồ luồng dữ liệu DFD sử dụng 4 loại ký pháp cơ bản: thực thể, tiến trình, kho dữ liệu và dòng dữ liệu.
Nguồn hoặc đích Tài liệu Tên người/bộ phận phát/nhận tin Tên tiến trình xử lý Tệp dữ liệu
Tên dòng dữ liệu Dòng dữ liệu
Tiến trình xử lý
Các mức của DFD
- Sơ đồ ngữ cảnh (Context Diagram) thể hiện rất khái quát nội dung chính của hệ thống thông tin. Sơ đồ này không đi vào chi tiết mà mô tả sao cho chỉ cần một lần nhìn là nhận ra nội dung chính của hệ thống. Để cho sơ đồ sáng sủa, dễ nhìn có thể bỏ qua kho dữ liệu; bỏ qua các xử lý cập nhật.
- Phân rã sơ đồ: để mô tả hệ thống chi tiết hơn người ta dùng kỹ thuật phân rã (Explosion) sơ đồ. Bắt đầu từ sơ đồ khung cảnh, người ta phân rã ra thành sơ đồ mức 0, tiếp sau mức 0 là mức 1…
Một số quy ước và quy tắc liên quan tới DFD
1. Mỗi luồng dữ liệu phải có một tên trừ luồng giữa xử lý và kho dữ liệu. 2. Dữ liệu chứa trên 2 vật mang khác nhau nhưng luôn luôn đi cùng nhau thì có thể tạo ra chỉ một luồng duy nhất.
3. Xử lý luôn phải được đánh mã số.
4. Vẽ lại các kho dữ liệu để các luồng dữ liệu không cắt nhau. 5. Tên cho xử lý phải là một động từ.
6. Xử lý buộc phải thực hiện một biến đổi dữ liệu. Luồng vào phải khác với luồng ra từ một xử lý.
7. Thông thường một xử lý mà logic xử lý của nó được trình bày bằng ngôn ngữ có cấu trúc chỉ chiếm một trang giấy thỡ khụng phân rã tiếp.
8. Cố gắng chỉ để tối đa 7 xử lý trên một trang DFD.
9. Tất cả các xử lý trên một DFD phải thuộc cùng một mức phân rã.
10. Luồng vào của một DFD mức cao phải là luồng vào của một DFD con mức thấp nào đó. Luồng ra tới đích của một DFD con phải là luồng ra tới đích của một DFD mức lớn hơn nào đó. Đõy cũn gọi là nguyên tắc cân đối (Balancing) của DFD.
11. Xử lý không phân rã tiếp thêm thì được gọi là xử lý nguyên thủy. Mỗi xử lý nguyên thủy phải có một phích xử lý logic trong từ điển hệ thống.
Cỏc phớch lụgic
Giống như phích vật lý, phích logic hoàn chỉnh tài liệu cho hệ thống. Có 5 loại phích logic. Chúng được dùng mô tả thêm cho luồng dữ liệu, xử lý, kho dữ liệu, tệp dữ liệu và phần tử thông tin.
- Mẫu phích xử lý logic. - Mẫu phích luồng dữ liệu. - Mẫu phích phần tử thông tin. - Mẫu phích kho dữ liệu. - Mẫu phích tệp dữ liệu.
Tên xử lý Mô tả
Tên DFD liên quan: Các luồng dữ liệu vào: Các luồng dữ liệu ra:
Kho dữ liệu mà xử lý sử dụng: Mô tả logic của xử lý:
Phích xử lý logic
Tên luồng: Mô tả:
Tên DFD liên quan: Nguồn:
Đích:
Các phần tử thông tin:
Phích luồng dữ liệu
Tên phần tử thông tin:
Loại: Độ dài:
Tên DFD có liên quan: Các giá trị cho phép:
Tên kho:
Mô tả:
Tên DFD có liên quan: Các xử lý có liên quan:
Tên sơ đồ cấu trúc dữ liệu có liên quan:
Phích kho dữ liệu
Tên tệp:
Mô tả:
Tên DFD có liên quan: Các phần tử thông tin: Khối lượng (bản ghi, ký tự):
Phích tệp dữ liệu
Các công cụ phân tích và thiết kế HTTT được tóm tắt dưới bảng sau:
Động Tĩnh
Vật lý
IFD
(Information Flow Diagram) sơ đồ luồng thông tin
SD (System Dictionary) Từ điển hệ thống. Các phích logic. Lôgic DFD
(Data Flow Diagram) Sơ đồ luồng dữ liệu.
SD
(System Dictionary) Từ điển hệ thống.
Các phích lôgic.
3. Lý thuyết về cơ sở dữ liệu
3.1. Khái niệm về cơ sở dữ liệu và hệ quản trị cơ sở dữ liệu
- Cơ sở dữ liệu (Data Base): là tập hợp các bảng có liên quan với nhau được tổ chức và lưu trữ trên các thiết bị hiện đại của tin học, chịu sự quản lý của một hệ thống chương trình máy tính, nhằm cung cấp thông tin cho nhiều người sử dụng khác nhau, với những mục đích khác nhau.
- Hệ cơ sở dữ liệu (Data Base Systems): là tập hợp các cơ sở dữ liệu có liên quan đến nhau.
- Hệ quản trị cơ sở dữ liệu (Data Base Management Systems): là một tập hợp các phần mềm quản lý cơ sở dữ liệu và cung cấp các dịch vụ xử lý cơ sở dữ liệu cho những người phát triển ứng dụng và người dùng cuối cùng. Hệ quản trị cơ sở dữ liệu cung cấp một giao diện giữa người sử dụng và dữ liệu, biến đổi cơ sở dữ liệu vật lý thành cơ sở dữ liệu logic.
2.2. Các khái niệm của cơ sở dữ liệu
- Thực thể (Entity): là một đối tượng nào đó mà nhà quản lý muốn lưu trữ thông tin về nó. Một số thực thể có vẻ vật chất, hữu hình (máy móc thiết bị, khách hàng…) còn một số thực thể khác chỉ là những khái niệm vô hình như dự án, tài khoản…Khi nói đến thực thể cần hiểu rõ là nói đến một tập hợp các thực thể cùng loại.
- Trường dữ liệu (Field): để lưu trữ thông tin về từng thực thể người ta thiết lập cho nó một bộ thuộc tính để ghi giá trị cho các thuộc tính đó. Mỗi thuộc tính được gọi là một trường. Nó chứa một mẩu tin về thực thể cụ thể.
- Bản ghi (Record): tập hợp bộ giá trị của các trường của một thực thể cụ thể làm thành một bản ghi.
- Bảng (Table): toàn bộ các bản ghi lưu trữ thông tin cho một thực thể tạo ra một bảng mà mỗi dòng là một bản ghi và mỗi cột là một trường.
2.3. Mô hình quan hệ
Mô hình Cơ sở dữ liệu Quan hệ (gọi tắt là Mô hình Quan hệ) do E.F Codd đề xuất năm 1971. Mô hình này bao gồm:
- Một hệ thống các ký hiệu để mô tả dữ liệu dưới dạng dòng và cột như quan hệ, bộ, thuộc tính, khóa chính, khoá ngoại, ...
- Một tập hợp các phép toán thao tác trên dữ liệu như phép toán tập hợp, phép toán quan hệ.
- Ràng buộc toàn vẹn quan hệ.
Mô hình này được sáng lập nhằm 3 mục tiêu sau đây:
- Mục tiêu độc lập dữ liệu: vạch ra một đường ranh giới rõ ràng giữa các phương diện logic và vật lý của việc quản trị CSDL. Khi đú cỏc nhà lập trình ứng dụng không cần thiết phải để ý tới cách trình bày dữ liệu trờn cỏc phương tiện vật chất nữa.
- Mục tiêu truyền đạt: tạo ra một mô hình đơn giản mà đông đảo các nhà lập trình và những người dùng có thể hiểu được ngay. Đây là mục tiêu nhằm tăng hiệu suất và hiệu quả của việc trao đổi giữa người dùng và các cán bộ hệ thống thông tin quản lý.
- Mục tiêu xử lý tập hợp: mục tiêu này nhằm tăng khả năng xử lý từ “lần lượt từng bản ghi” đến “đồng thời nhiều bản ghi”.
Đạt được các mục tiêu như vậy có nghĩa là chỉ cần viết một số ít dòng lệnh cho các trình ứng dụng, đồng thời những người dùng và những cán bộ phân tích sẽ ít hiểu lầm nhau trong giao tiếp.
Theo mô hình này thì hệ quản trị cơ sở dữ liệu xem xét và thể hiện các thực thể như một bảng hai chiều với bản ghi là các hàng và các trường là các cột. Có một cột đóng vai trò trường khóa hay còn gọi là trường định danh. Mỗi giá trị của nó xác định một bản ghi duy nhất. Bảng có thể chứa các trường liên kết, chúng không phải là những trường mô tả về thực thể mà là móc xích liên kết với một hoặc nhiều bản ghi của một trường khác.
Cấu trúc như vậy có rất nhiều thuận lợi cho việc thao tác với dữ liệu trờn cỏc bảng. Một bảng được coi như là một tập hợp con của tích Đề Cỏc cỏc tập hợp mà các phần tử của nó là tập hợp các giá trị có thể nhận của mỗi trường. Vì thế, mỗi bảng còn được gọi theo gốc toán học là một quan hệ (tập hợp con tích Đề Các của các tập hợp). Mô hình này tạo thuận lợi rất lớn cho các thao tác cơ bản có gốc rễ từ toán học như: lọc, trừ, liên kết, chiếu…giữa các quan hệ.
2.3. Thiết kế cơ sở dữ liệu logic đi từ các thông tin ra
Theo phương pháp này, việc thiết kế CSDL bao gồm 5 bước như sau:
Bước 1: Xác định các đầu ra
- Liệt kê toàn bộ các thông tin đầu ra.
- Nội dung, khối lượng, tần suất và nơi nhận của chúng.
Bước 2: xác định các tệp cần thiết cung cấp đủ dữ liệu cho việc tạo ra từng đầu ra
- Liệt kê các phần tử thông tin đầu ra:
+ Liệt kê toàn bộ các thuộc tính thành một danh sách. Đánh dấu các thuộc tính lặp – là thuộc tính có thể nhận nhiểu giá trị dữ liệu.
+ Đánh dấu các thuộc tính thứ sinh – là những thuộc tính được tính toán