Thiết kế phần mềm mới

Một phần của tài liệu BÀI GIẢNG HỆ THỐNG THÔNG TIN QUẢN LÝ (Trang 89 - 94)

Mỗi sản phẩm phần mềm là một công trình của sáng tạo và kỹ thuật. Nó là sản phẩm của các nhà phân tích viên hệ thống và các nhà lập trình. Đây là công đoạn không cần nhiều chi phí tài chính lớn và lao động nhưng lại cần một đội ngũ chuyên gia, kỹ thuật viên cấp cao, am hiểu lĩnh vực quản lý và thông thạo các kỹ thuật sáng chế phần mềm.

4.5.1.1 Các bước thiết kế phần mềm

Quy trình thiết kế phần mềm gồm 6 bước sau đây: - Xác định mục đích, yêu cầu của phần mềm - Thiết kế giải thuật

- Chọn ngôn ngữ lập trình - Viết chương trình

- Thử nghiệm chương trình - Biên soạn tài liệu hướng dẫn

Xây dựng phần mềm là một quá trình phức tạp. Nó được coi là một nghệ thuật vì đòi hỏi trí tưởng tượng tốt, óc sáng tạo và sự khéo léo, đồng thời cũng là một khoa học vì cần áp dụng các kỹ thuật và phương pháp tiêu chuẩn liên quan đến công nghệ phần mềm (Software Engineering). Trước mỗi bài toán đặt ra, người lập trình phải biết lựa chọn cấu trúc dữ liệu phù hợp, trên cơ sở đó tiến hành một giải thuật hiệu quả nhất. Với một cấu hình máy tính đã được chọn, phải xác định được cách tổ chức lưu trữ dữ liệu và truy nhập tương ứng.

4.5.1.2 Các phương pháp thiết kế giải thuật

Một phần mềm tổng thể bao gồm nhiều “module con” (program) để giải quyết các vấn đề cụ thể nhằm thực hiện các chức năng đã được xác định đối với HTTT quản lý của tổ chức. Các module thường tương ứng với các tiến trình (hoặc xử lý) trong sơ đồ DFD, tuy nhiên số mudule bao giờ cũng nhiều hơn số process trên DFD vì một số module phải xử lý các vấn đề không thuộc chức năng (Non Functional) như sửa lỗi, tối ưu hóa hệ thống hay phân quyền… Các mdule không hoạt động riêng lẽ mà thường liên kết với nhau theo cách nào đó để thực

hiện chức năng chung của hệ thống. Thiết kế giải thuật có chức năng xác định các module, vị trí và mối quan hệ giữa chúng trong toàn bộ HTTT quản lý cần thiết kế.

Chúng ta sẽ xem xét hai phương pháp thiết kế giải thuật cơ bản của trường phái lập trình cấu trúc: phương pháp thiết kế từ đỉnh xuống và phương pháp thiết kế từ dưới lên. Trong thực tiễn, tùy thuộc từng bài toán cụ thể, người lập trình sẽ chọn một trong hai phương pháp hoặc kết hợp cả hai phương pháp với mục đích cuối cùng là thiết kế được các giải thuật chất lượng, tối ưu và hiệu quả.

a)Phương pháp thiết kế từ đỉnh xuống (Top down design)

Đây là phương pháp thiết kế giải thuật dựa trên tư tưởng module hóa. Nội dung của phương pháp thiết kế này như sau: Trước hết người ta xác định các vấn đề chủ yếu nhất mà bài toán yêu cầu, sau đó phân chia nhiệm vụ cần giải quyết thành các nhiệm vụ cụ thể hơn, tức là chuyển dần từ module chính đến các module con từ trên xuống dưới.

Để minh họa cho phương pháp này, chúng ta xét bài toán thiết kế hệ tin học quản lý hóa đơn bán hàng (như ví dụ 3, phần 4.3.3) cho một công ty thương mại.

- Số liệu ban đầu của các hóa đơn:

Số hóa đơn, Mã KH, Họ và tên KH, Địa chỉ KH, Số tài khoản, Mã số thuế, Phương thức thanh toán, Tên hàng hóa (R), Đơn vị tính (R), Đơn giá (R), Số lượng (R), Ngày bán,

Người bán, Người mua.

- Các phép toán cần xử lý: nhập số liệu cho tệp hóa đơn (cập nhật), xử lý (tìm kiếm) và lập các báo cáo tổng hợp.

Ta có các nội dung chính của bài toán đặt ra:

Quản lý hóa đơn

1. Cập nhật 2. Tìm kiếm 3. Tổng hợp

Hình 4.28 Các module quản lý hóa đơn

b)Phương pháp thiết kế từ dưới lên (Bottom up design)

Tư tưởng của phương pháp thiết kế này ngược lại với phương pháp thiết kế từ trên xuống và bao gồm các ý chính sau đây:

Trước hết người ta giải quyết các vấn đề cụ thể, sau đó trên cơ sở đánh giá mức độ tương tự về chức năng của các vấn đề này trong việc giải quyết bài toán, người ta gộp chúng lại thành từng nhóm cùng chức năng từ dưới lên cho đến module chính. Tiếp đến, người ta sẽ thiết kế thêm một số chương trình còn khuyết nhằm làm đầy đủ hơn chức năng của các phân hệ và cuối cùng là thiết kế một chương trình làm nhiệm vụ tập hợp các module thành một hệ chương trình thống nhất, hoàn chỉnh.

Ví dụ: Giả sử trong một doanh nghiệp, việc ứng dụng tin học trong quản lý đã được

triển khai ở các bộ phận khác nhau từ các thời điểm khác nhau. Kết quả là người ta đã thiết kế và đưa vào sử dụng một số chương trình quản lý tại các phòng ban (Phòng Tổ chức cán bộ, Phòng Tài chính – Kế toán, Phòng Vật tư,…). Danh sách các chương trình như sau:

Program 1: Nhập số liệu cho tệp hồ sơ cán bộ (NhapHSCB) Program 2: Sửa chữa, bổ sung, cập nhật hồ sơ (CapnhatHSCB) Program 3: Tính lương cho cán bộ (LuongCB)

Program 4: Nhập số liệu về đào tạo, bồi dưỡng cán bộ (DaotaoCB) Program 5: Nhập số liệu nguyên vật liệu nhập kho (NhapNVL) Program 6: Nhập số liệu hóa đơn bán sản phẩm (NhapHD) Program 7: Nhập số liệu nguyên vật liệu xuất kho (XuatNVL) Program 8: Lập bảng tính giá trị sản phẩm bán ra (GiatriSP)

Tuy các chương trình này đang hoạt động ổn định nhưng có tính đơn lẻ, rời rạc ở từng bộ phận. Do đó các nhà lãnh đạo doanh nghiệp có nhu cầu thiết kế một hệ chương trình thống nhất để phục vụ tốt hơn cho việc quản lý doanh nghiệp. Trong trường hợp này, chúng ta vận dụng phương pháp thiết kế từ dưới lên theo các bước sau đây:

Quản lý hóa đơn

Hình 4.29 Chi tiết hóa các module quản lý hóa đơn

1. Cập nhật 1.1. Nhập dữ liệu 1.2. Xem dữ liệu 1.3. Sửa dữ liệu 3. Tổng hợp 3.1. Theo tháng 3.2. Theo quý 3.3. Theo năm 2. Tìm kiếm 2.1. Theo mã KH 2.2. Theo mã HH 2.3. Theo PTTT PTIT

Bước 1: a) Gộp các program 1, 2 thành module “Quản lý hồ sơ cán bộ”, sau đó gộp

module này với các program 3, 4 thành phân hệ “Quản lý nhân sự”.

b) Gộp các program 5, 7 thành phân hệ “Quản lý kho hàng”

c) Gộp các module 6, 8 thành phân hệ “Quản lý bán hàng”

Bước 2: Trên cơ sở chức năng của các phân hệ trên đây, chúng ta có thể tiến hành thiết

kế thêm một số chương trình để bổ sung thêm những nội dung còn thiếu nhằm thực hiện đầy đủ các chức năng, ví dụ như:

- Bổ sung Program 9 “Lập bảng tổng hợp hàng tồn kho” (TonghopHTK) vào phân hệ “Quản lý kho hàng”.

- Bổ sung Program 10 “Dự báo mức tiêu thụ” (DubaoTT) vào phân hệ “Quản lý bán hàng”. Quản lý bán hàng Prog6 NhapHD Prog8 GiatriSP Hình 4.30.c. Phân hệ Quản lý bán hàng Quản lý kho hàng Prog5 NhapNVL Prog7 XuatNVL

Hình43.30.b. Phân hệ Quản lý kho hàng

Quản lý nhân sự Prog1 NhapHSCB Prog2 CapnhatHSCB Prog3 LuongCB Prog4 DaotaoCB

Hình 4.30.a. Phân hệ Quản lý nhân sự

QuanlyHSCB

Ngoài hai chương trình trên, chúng ta có thể bổ sung nhiều chương trình khác cho mỗi phân hệ. Tuy nhiên cần lưu ý: các chương trình được thiết kế bổ sung phải phù hợp về mặt chức năng và phải tương thích với các chương trình đã được thiết kế.

Bước 3: Gộp ba phân hệ vừa thiết kế thành một HTTT quản lý thống nhất của doanh

nghiệp như hình vẽ sau đây.

4.5.1.3 Các ngôn ngữ thiết kế phần mềm

Khi lựa chọn ngôn ngữ lập trình, người ta thường căn cứ vào một số tiêu chuẩn như lĩnh vực ứng dụng tổng quát, môi trường hoạt động của phần mềm, độ phức tạp của thuật toán và của cấu trúc chương trình, tri thức của cán bộ phát triển phần mềm.

Các ngôn ngữ lập trình được phân loại khái quát thành 3 thế hệ:

Ngôn ngữ thế hệ thứ nhất: tiêu biểu nhất của dạng này là hợp ngữ. Các ngôn ngữ thế

hệ thứ nhất có đặc điểm là phụ thuộc mạnh vào từng loại máy tính điện tử cụ thể và mức độ trừu tượng của các chương trình thường rất thấp.

Ngôn ngữ thế hệ thứ hai: được phát triển vào cuối những năm 50, đầu những năm 60.

Các ngôn ngữ thế hệ thứ hai được đặc trưng bởi một thư viện các chương trình phần mềm liên quan đến nhiều lĩnh vực khác nhau.

FORTRAN là ngôn ngữ thế hệ thứ hai được áp dụng phổ biến trong việc giải quyết các bài toán khoa học và kỹ thuật. COBOL là ngôn ngữ thế hệ thứ hai có khả năng định nghĩa dữ liệu rất tốt nên đến nay vẫn được ứng dụng rộng rãi trong lĩnh vực thương mại và kinh tế. BASIC là ngôn ngữ lập trình phi cấu trúc. Khi xuất hiện mày tính cá nhân IBM PC, ngôn ngữ BASIC lại được phát triển rất mạnh với nhiều bản khác nhau như QBASIC, GWBASIC, BASICA.

Ngôn ngữ thế hệ thứ ba: là ngôn ngữ lập trình hiện đại với khả năng cấu trúc rất

phong phú và các thủ tục mạnh. Các ngôn ngữ thế hệ thứ ba có thể chia thành ba nhóm: Quản lý doanh nghiệp

Prog1 Nhap HSCB Prog2 Capnhat HSCB Prog3 Luong CB Prog4 Daotao CB

Hình 4.31. HTTT quản lý doanh nghiệp

Quản lý nhân sự

Quản lý HSCB

Quản lý kho hàng Quản lý bán hàng

Prog5 Nhap NVL Prog7 Xuat NVL Prog9 Thop HTK Prog6 Nhap HD Prog8 Giatri SP Prog10 Dubao TT PTIT

- Ngôn ngữ cấp cao vạn năng như: ALGOL với khả năng đưa ra các kết cấu thủ tục và định kiểu dữ liệu. Trên cơ sở ALGOL, người ta đã sáng tạo ra các ngôn ngữ lập trình vạn năng khác như PL/1, PASCAL, MODULA – 2, C và ADA.

- Ngôn ngữ cấp cao hướng đối tượng: được xây dựng trên các khái niệm đối tượng và các thuộc tính, lớp và thành phần, toàn thể và bộ phận. Các ngôn ngữ cấp cao hướng đối tượng tiêu biểu là C++, Object Pascal, Eiffel.

- Ngôn ngữ chuyên dụng.

4.5.1.4 Xây dựng tài liệu hướng dẫn sử dụng phần mềm

Xây dựng tài liệu hướng dẫn sử dụng phần mềm là khâu cuối cùng của giai đoạn thiết kế phần mềm. Một tài liệu hướng dẫn đầy đủ, dễ hiểu sẽ làm tăng đáng kể chất lượng của phần mềm.

Ngoài các trang nhan đề và mục lục, các nội dung chính của tài liệu bao gồm:

- Tóm tắt hệ thống: trình bày một cách ngắn gọn các vấn đề chủ yếu của phần mềm (quy trình thao tác, tài liệu đầu vào, tài liệu ra, thiết kế giao diện màn hình…)

- Dữ liệu vào: nguồn gốc dữ liệu vào, các thủ tục kiểm tra dữ liệu, nơi nhập dữ liệu… - Tài liệu ra (các báo cáo ở đầu ra): mô tả xuất xứ, đặc điểm kỹ thuật của tài liệu, chế độ in, nơi nhận tài liệu, các tệp dữ liệu, giải thích các trường dữ liệu, các thủ tục bảo vệ an toàn, thủ tục khôi phục…

- Các lưu đồ hệ thống, các sơ đồ luồng dữ liệu, từ điển thuật ngữ… - Các tiến trình máy tính và tài nguyên máy tính.

Một phần của tài liệu BÀI GIẢNG HỆ THỐNG THÔNG TIN QUẢN LÝ (Trang 89 - 94)