CNPM-chương 3

3.1.1. Mô hình thác nước cải tiến

 1) Xác định yêu cầu

          Tiến hành ngay sau khi có nhu cầu về việc xây dựng phần mềm

Mục tiêu: Xác định chính xác yêu cầu đặt ra cho phần mềm sẽ xây dựng

Kết quả nhận: Thông tin và hoạt động của thế giới thực

Kết quả chuyển giao: Danh sách các yêu cầu (công việc sẽ thực hiện trên máy tính) cùng với các thông tin mô tả chi tiết về các yêu cầu ( cách thực hiện công việc trong thế giới thực)

2) Phân tích

Tiến hành ngay sau khi kết thúc việc xác định yêu cầu

Mục tiêu: Mô tả lại thế giới thực thông qua các mô hình (mô hình hóa thế giới thực) trước khi thiết kế

--> thường là các sơ đồ

Kết quả nhận: Danh sách các yêu cầu cùng với thông tin liên quan

Kết quả chuyển giao:

- Mô hình dữ liệu: hệ thống các loại thông tin được sử dụng trong thế giới thực cùng với mối quan hệ giữa chúng

- Mô hình xử lý: hệ thống các công việc của thế giới thực cùng với quan hệ giữa chúng

- Các mô hình khác: không gian, thời gian, con người, ... nếu cần thiết (mô hình trạng thái, mô hình chức năng, sơ đồ tổ chức, ...)

--> các mô hình thể hiện ở mức quan niệm (conceptual models)

3)  Thiết kế

Tiến hành ngay sau khi kết thúc việc phân tích

Mục tiêu: Mô tả các thành phần của phần mềm (mô hình phần mềm) trước khi cài đặt

Kết quả nhận: Mô hình thế giới thực (mô hình quan niệm)

Kết quả chuyển giao:

- Mô tả thành phần giao diện: các hàm nhập/ xuất, các hình thức nhập/ xuất, cấu trúc dữ liệu nhập/ xuất

- Mô tả thành phần xử lý: các hàm kiểm tra, xử lý .

- Mô tả hành phần dữ liệu: các hàm đọc / ghi, tổ chức lưu trữ trên bộ nhớ phụ

4)  Cài đặt

Tiến hành ngay sau khi kết thúc việc thiết kế

Mục tiêu: Tạo lập phần mềm mong muốn theo đúng yêu cầu

Kết quả nhận: Mô hình phần mềm

Kết quả chuyển giao: chương trình nguồn của phần mềm à hệ thống các hàm cùng với cấu trúc dữ liệu nhập / xuất, CSDL tương ứng (nếu có) và chương trình thực hiện được trên máy tính

5) Kiểm chứng

Tiến hành ngay sau khi có kết quả từng phần của việc lập trình

Mục tiêu: Tăng độ tin cậy của phần mềm

Kết quả nhận:

          - Danh sách các yêu cầu

          - Mô hình phần mềm

          - Phần mềm

Kết quả chuyển giao: Phần mềm với độ tin cậy cao (đã sửa lỗi)

3.1.2. Mô hình bản mẫu

3.1.3. Mô hình RAD (Rapid Application Development)

3.1.4. Mô hình xoắn ốc

          Tiến hành nhiều vòng qua các giai đoạn, dựa trên khái niệm chu trình phát triển, qui trình này là các chu trình lặp: xác định mục tiêu à đánh giá phương án à phát triển và kiểm tra à lập kế hoạch cho ct kế 

3.2. Xác định yêu cầu và phân tích hệ thống

3.2.1. Xác định yêu cầu

3.2.1.1. Mô tả yêu cầu

- Các yêu cầu của phần mềm được mô tả:

- Thật rõ ràng

- Cụ thể

- Chính xác

àĐây chính là cơ sở để nghiệm thu, đánh giá phần mềm khi chuyển giao.

          Các loại thông tin cần thiết liên quan đến yêu cầu phần mềm:

a) Tên công việc ứng với yêu cầu.

b) Người thực hiện hoặc bộ phận thực hiện công việc.

c) Địa điểm công việc được thực hiện (không gian).

d) Thời điểm công việc được thực hiện (thời gian).

e) Nội dung công việc gồm cách thức tiến hành công việc cùng với các quy định liên quan.

a) Cần xác định tên công việc cụ thể, không được chung chung, mơ hồ.

Ví dụ 1: QL thư viện ???

-          Trả lời 1: Quản lý độc giả

à chung chung dễ gây nhầm lẫn

à SAI

-          Trả lời 2:Gia hạn thẻ độc giả, cho mượn sách, nhận thẻ sách

à ĐÚNG

Ví dụ 2: QL Điểm ???

-         Trả lời 1:  Quản lý điểm

àkhông phải là một nghiệp vụ ở thế giới thực, chung chung

à SAI

-         Trả lời 2: Tính điểm TBHK, nhập điểm, tra cứu điểm thi

à ĐÚNG

b) Người thực hiện

          Xác định chính xác người hoặc bộ phận sẽ thực hiện công việc trên máy (user). Cùng một công việc có thể sẽ có nhiều đối tượng người dùng khác nhau thực hiện và ngược lại: một đối tượng người dùng có thể thực hiện nhiều công việc khác nhau.

Ví dụ 1:  Phần mềm quản lý thư viện phục vụ???

- Trực tiếp sử dụng phần mềm ???

- Gián tiếp sử dụng phần mềm ???

àthủ thư

àđộc giả, BGĐ, …

 Ví dụ 2: Phần mềm quản lý học sinh THPT ???

-         Trực tiếp sử dụng phần mềm ???

- Gián tiếp sử dụng phần mềm ???

à Giáo vụ.

à giáo viên, học sinh, BGH.

Ví dụ 3: Phần mềm trắc nghiệm trong trường đại học ???

- Trực tiếp sử dụng pm ???

- Gián tiếp sử dụng pm ???

à giáo viên (ra đề)

à học sinh (kiểm tra)

c), d) Cần xác định chính xác địa điểm, thời điểm tiến hành công việc.

Giới hạn ở phạm vi xem như mọi địa điểm như nhau  và có thể thực hiện công việc bất kỳ lúc nào

e) Nội dung:

Là phần chính khi mô tả yêu cầu:

-Cách thức tiến hành công việc

-Các qui định liên quan (ràng buộc toàn vẹn)

Cần quan tâm đặc biệt đến:

+ Qui định cần kiểm tra khi thực hiện công việc ghi nhận thông tin

 Ví dụ:

-         Qui định về mượn sách khi cho mượn sách???

à cho mượn đối với độc giả có thẻ còn hạn, số sách đang mượn không quá 3 và không có sách mượn quá hạn.

-         Qui định về độ tuổi khi tiếp nhận hồ sơ học sinh lớp 10???

à cho tiếp nhận học sinh có độ tuổi từ 15-17 tuổi.

- Qui định tính thâm niên công tác???

ànhân viên có số năm công tác >= 2 và đã vào biên chế.

+ Qui định về công thức tính toán khi thực hiện công việc tính toán

 Ví dụ:

-Qui định tính tiền phạt trả sách muộn (thực hiện trả sách)???

à mỗi ngày trễ phạt 1000, nếu quá 10 ngày thì mỗi ngày vượt trả 3000.

-Qui định xếp hạng học sinh cuối HK???

Giỏi : ĐTB >= 8 và không có môn nào dưới 6.5

Khá : ĐTB >= 6.5 và không có môn nào dưới 5

TBình : ĐTB >= 5 và không có môn nào dưới 3.5

Yếu : ĐTB >= 3.5 và không có môn nào dưới 0.

Còn lại là Kém.

3.2.1.2. Phân loại yêu cầu

Có 2 loại yêu cầu chính

a) Yêu cầu chức năng

- Các chức năng của phần mềm là các công việc khi được thực hiện trên máy tính bằng phần mềm.

- Yêu cầu chức năng là danh sách các công việc sẽ được thực hiện trên máy tính cùng với các thông tin mô tả tương ứng.

          Yêu cầu chức năng được chia thành 2 loại (theo ý nghĩa sử dụng)

1) Yêu cầu chức năng nghiệp vụ

          Các chức năng của phần mềm tương ứng với công việc có thật trong thế giới thực. Có 4 loại chức năng chính ứng với 4 loại nghiệp vụ thông dụng nhất trong các lĩnh vực.

Chức năng lưu trữ: tương ứng với công việc ghi chép thông tin trên sổ sách (theo các qui định cần kiểm tra khi ghi chép).

VD:

- Ghi nhận điểm thi của học sinh (qui định về điểm số từ 0 -> 10).

- Ghi nhận việc mượn sách (theo qui định mượn).

- Ghi nhận bài giải bài tập về phân số (theo qui định về phân số), cách biến đổi phân số tương đương, các phép tính trên phân số.

- Ghi nhận các nước đi trong trò chơi cờ carô (theo qui định của trò chơi).

Chức năng tra cứu: tương ứng với các công việc tìm kiếm và xem thông tin tương ứng, theo dõi hoạt động.

VD:

- Tìm sách và xem tình trạng sách, thông tin về độc giả mượn sách nếu sách đang được mượn.

- Tìm học sinh và xem thông tin về điểm thi, các ngày vắng mặt.

- Tìm hợp đồng và xem thông tin tiến độ thực hiện.

- Tìm bài giảng lý thuyết về phân số và xem nội dung tương ứng.

Chức năng tính toán: tương ứng với các công việc tính toán (theo qui định công thức cho trước).

VD:

- Tính tiền phạt trả sách trễ theo qui định phạt.

- Tính điểm TBM của học sinh theo qui định hệ số các bài kiểm tra.

- Tính nghiệm của tam thức bậc 2 theo công thức tính nghiệm.

- Tính kết quả thắng thua trong trò chơi cờ gánh sau mỗi nước đi theo qui định của trò chơi.

Chức năng kết xuất: tương ứng với các công việc lập các báo cáo (theo biểu mẫu cho trước).

VD:

- Lập báo cáo thống kê về số lượng mượn sách theo từng thể loại trong năm.

- Lập báo cáo thống kê về tỷ lệ xếp loại học sinh theo từng lớp.

- Lập báo cáo về công nợ khách hàng.

2) Yêu cầu chức năng hệ thống

          Là các chức năng phần mềm phải phát sinh thêm khi tiến hành công việc trên máy tính thay vì trong thế giới thực hoặc các chức năng không tương ứng với

 bất kỳ công việc nào hiện tại trong thế giới thực

Một số chức năng hệ thống thông dụng như sau:

+ Phân quyền sử dụng giữa các đối tượng người dùng

VD: Phân quyền cho 3 đối tượng người sử dụng trong phần mềm quản lý thư viện:

- Quản lý hệ thống: administrator -> sử dụng được tất cả các chức năng.

- Thủ thư: cho sử dụng các chức năng liên quan đến việc cho mượn, trả sách.

- Độc giả: cho sử dụng chức năng tra cứu.

+ Sao lưu (backup), phục hồi thông tin (Restore)

VD: 

          Sao lưu thông tin về các học sinh đã ra trường và cho phục hồi lại khi cần thiết.

+ Định cấu hình thiết bị, ngày giờ làm việc, …

VD:  

- Chọn loại máy in, khổ giấy.

- Chọn niên khóa, ngày tháng năm hiện tại

- Chọn Font chữ mặc định, chọn màu, màu nền cho màn hình chính/phụ.

+ Mô phỏng hoạt động thế giới thực

VD:  

- Mô phỏng hoạt động CPU.

- Hoạt động các phản ứng hóa học, phản ứng hạt nhân, …

- Demo chương trình, chơi mẫu.

+ Báo động nhắc nhở người dùng

VD: 

- Nhắc nhở thủ thư gửi giấy báo đòi sách khi có độc giả mượn sách quá hạn.

- Báo động khi khách hàng thiếu nợ quá lâu hay số tiền nợ quá lớn.

- Nhắc nhở giáo viên khi học sinh trong tháng vắng quá 7 ngày có phép, 3 ngày không phép.

b) Yêu cầu phi  chức năng

Các yêu cầu về chất lượng phần mềm. Các yêu cầu này được phân thành các loại theo các tính chất liên quan đến chất lượng phần mềm như:

Tính tiến hóa:cho phép người dùng thay đổi lại mô tả liên quan đến một yêu cầu chức năng nào đó

VD:  

- Cho phép thay đổi qui định số sách mượn tối đa.

- Cho phép thay đổi các biên trong qui định xếp loại học sinh.

- Cho phép thay đổi số các học kỳ trong 1 niên khóa.

Tính tiện dụng: là các yêu cầu liên quan đến hình thức giao diện của phần mềm (hình thức trình bày trong quá trình sử dụng các chức năng).

VD:  

- Thực hiện các chuyến bay theo sơ đồ.

- Thực hiện biểu thức, phân số theo dạng tự nhiên trong thế giới thực.

- Thực hiện việc chọn nước đi trong trò chơi cờ gánh theo cách tự nhiên.

Tính hiệu quả: yêu cầu này qui định thời gian thực hiện các chức năng hoặc giới hạn dung lượng lưu trữ (với số lượng cho trước)

VD:  

- Tốc độ nhập liệu cho mỗi phiếu mượn sách không quá 30 giây

  - Thời gian tra cứu sách không quá 5 giây

Tính tương thích: là các yêu cầu liên quan đến việc chuyển đổi dữ liệu giữa phần mềm đang xét và phần mềm khác

VD: 

- Cho phép chuyển tất cả các báo cáo sang dạng tập tin .XLS

- Cho phép nhập sách mới từ tập tin .XLS

- Cho phép lấy danh sách học sinh trúng tuyển đầu cấp từ tập tin .XLS, .MDB

          Ngoài ra, còn có các ràng buộc trên việc thực hiện các yêu cầu chức năng như:

Ràng buộc về môi trường khai thác: yêu cầu về phần cứng, chạy trên môi trường nào, …

Sưu liệu chương trình: tài liệu hướng dẫn sử dụng, tài liệu hướng dẫn cài đặt, …

Công tác huấn luyện sử dụng phần mềm

An toàn và bảo mật

Xử lý lỗi: dự kiến một số lỗi có thể xảy ra à  người xây dựng phần mềm sẽ qui định cách thức xử lý lỗi

3.2.1.3. Các bước xác định yêu cầu

Đối tượng thực hiện việc xác định yêu cầu:

- Chuyên viên Tin học: am hiểu về khả năng máy tính, nhưng lại có thể có rất ít hoặc thậm chí không có kiến thức về các công việc trong thế giới thực liên quan.

- Nhà chuyên môn, người sử dụng phần mềm: rất am hiểu về công việc, nghiệp vụ của mình, nhưng có thể có rất ít kiến thức về khả năng máy tính.

à Phải có sự phối hợp để có thể xác định đầy đủ và chính xác yêu cầu

          Để có được một danh sách đầy đủ và chính xác các yêu cầu, quá trình xác định yêu cầu phải theo các bước như sau:

1)  Khảo sát hiện trạng

2)  Xác định yêu cầu chức năng

          2.1) Về chức năng nghiệp vụ

          2.2) Về chức năng hệ thống

3)  Xác định yêu cầu phi chức năng

1) Khảo sát hiện trạng

          Tìm hiểu hiện trạng về các công việc của nhà chuyên môn

Ø Hiện trạng về mặt tổ chức: cần hiểu rõ cơ cấu tổ chức các bộ phận của thế giới thực (trách nhiệm và quyền hạn)à sau đó xác định bộ phận nào sẽ sử dụng phần mềm để tiếp tục khảo sát chi tiết hơn về bộ phận đó. Thông thường được biểu diễn bằng sơ đồ tổ chức và cơ cấu chức năng.

2) Xác định yêu cầu chức năng

2.1) Về chức năng nghiệp vụ

Cách tiến hành: nhà chuyên môn đề xuất và chuyên viên tin học sẽ xem xét lại.

Bước tiến hành

 - B1: Xác định bộ phận / người dùng sẽ sử dụng phần mềm

 - B2: Xác định các công việc mà người dùng sẽ thực hiện trên máy tính với phần mềm theo từng loại công việc:

          - Lưu trữ

          - Tra cứu

          - Tính toán

          - Kết xuất

2.2) Về chức năng hệ thống

 Cách tiến hành: chuyên viên tin học, nhà chuyên môn cùng đề xuất và cùng xem xét lại các yêu cầu.

 Các bước tiến hành:

- B1: Xem xét các yêu cầu chức năng hệ thống cơ bản, thông dụng

- B2: Xem xét các yêu cầu chức năng hệ thống chuyên biệt

Ví dụ: xét phần mềm quản lý thư viện

Giả sử phục vụ cho 4 bộ phận:độc giả, thủ thư, BGĐ và người quản trị hệ thốngà Hãy xây dựng bảng yêu cầu chức năng hệ thống và yêu cầu chất lượng cho các đối tượng trên

3) Xác định yêu cầu phi chức năng

Xem xét các yêu cầu về chất lượng theo từng loại tiêu chuẩn :

- Tiện lợi

- Tiện dụng

- Hiệu quả

- Tương thích

3.2.2. Phân tích hệ thống

3.2.2.1. Quá trình phân tích

Gồm 2 bước:

1) Phân tích khả thi

          Nhằm mục tiêu phác họa về hiện trạng của hệ thống, cùng với những vấn đề và cách giải quyết trên hiện trạng đó sau khi đã thực hiện giai đoạn xác định yêu cầu.

          Kết quả là những phương án cụ thể để giải quyết và kế hoạch để thực hiện phương án đó.

Phần báo cáo gồm có:

(1) Mở đầu

(2) Hiện trạng

(3) Vấn đề

(4) Hướng giải quyết

(5) Phương án

(6) Kế hoạch

(7) Kết luận

(1) Mở đầu

- Trình bày sơ lược những nét lớn về thế giới thực và nếu được thì nêu lên những mấu chốt cần giải quyết à tạo cho người đọc có cảm giác tập trung vào vấn đề.

- Cũng giới thiệu một cách tổng quan về môi trường, đối tượng sẽ phục vụ.

(2) Hiện trạng

          Dùng lời hoặc dùng sơ đồ khối mô tả lại hiện trạng của thế giới thực về các mặt:

- Tổ chức: bao nhiêu đơn vị, mối quan hệ.

- Nghiệp vụ: danh sách các công việc mà đơn vị đó phụ trách.

- Thông tin: giao tiếp với bên ngoài, mối quan hệ …

- Nhân sự: nhân sự có chuyên môn, trình độ tin học.

- Tin học: phần cứng, phần mềm.

- …

(3) Vấn đề

Mục đích/mục tiêu của phần mềm do các vấn đề đặt ra của thế giới thực

          - Vấn đề trước mắt.

          - Vấn đề tương lai.

à Với hiện trạng của thế giới thực thì vấn đề đặt ra là cái gì? Thực hiện phần mềm để giải quyết vấn đề gì?

(4) Hướng giải quyết

- Hướng tổ chức hành chính nghiệp vụ: là hướng phi tin học, có thể giải quyết mà không cần tin học.

- Hướng tin học hóa và giữ nguyên hiện trạng: dùng tin học để giải quyết vấn đề.

- Hướng tin học hóa kết hợp với sắp xếp lại tổ chức nghiệp vụ chuyên môn.

à phân tích ưu khuyết điểm của từng hướng và chọn 1 hướng thích hợp.

(5) Phương án

- Ngắn hạn: 3 tháng, 6 tháng.

- Trung hạn: 2 năm

- Dài hạn: > 2 năm.

          Trong từng loại nên đề xuất cụ thể phần cứng, phần mềm tương ứng (đối với mỗi phương án đề xuất) để khách hàng chọn lựa, thông báo chi phí, lợi ích được gì? Trong bao lâu?

(6) Kế hoạch

Phân bổ việc thực hiện theo thời gian và nhân sự thực hiện.

(7) Kết luận: Bao quát lại vấn đề

2) Phân tích hệ thống

  (a) Thiết lập mô hình hệ thống

qMô hình dữ liệu -> mô hình quan niệm dữ liệu : xây dựng ở mức quan niệm

          Mô tả lại những đối tượng, thực thể trong thế giới thực đang xét cùng với những mối quan hệ giữa chúng

          Phương pháp biểu diễn: sử dụng mô hình thực thể kết hợp  Entity Relationship Diagram (ERD)

Mục đích:

- Giúp cho nhóm phân tích – thiết kế có cách nhìn tổng thể về kết quả đã thực hiện.

- Khi cần chỉnh sửa trên một chi tiết nào đó sẽ thấy được sự ảnh hưởng của việc chỉnh sửa này.

- Tài liệu sẽ theo một hình thái thống nhất và là phương tiện để trao đổi giữa các lớp đối tượng tham gia trong việc xây dựng

qMô hình xử lý à mô hình quan niệm xử lý: xây dựng ở mức quan niệm

      Mô tả lại những xử lý nghiệp vụ chuyên môn bên trong hệ thống.

Phương pháp biểu diễn: sử dụng mô hình dòng dữ liệu Data Flow Diagram (DFD – De Marco 1979)

(b) Đặc tả yêu cầu

- Yêu cầu chức năng

- Yêu cầu phi chức năng

3.3. Thiết kế phần mềm

3.3.1. Khái niệm

Thiết kế là công việc chính yếu của các chuyên viên phân tích  thiết kế  (kỹ sư)  trong lĩnh vực tương ứng, đóng vai trò quyết định cốt lõi trong quá trình sản xuất sản phầm.

Việc thực hiện sản phẩm phải tuân thủ hoàn toàn với kết quả đã thiết kế (về mặt nguyên tắc).

Thiết kế 1 phần mềm gồm 2 công việc chính như sau:

+ Xác định cấu trúc các thành phần bên trong phần mềm

+ Chọn lựa cách thức thực hiện của từng thành phần và mô tả lại cách thực hiện này (mô hình phần mềm) Kiến trúc phần mềm: Gồm 3 thành phần cơ bản

          - Thành phần giao diện

          - Thành phần xử lý

          - Thành phần dữ liệu.

          Khi thiết kế một phần mềm cụ thể, công việc của người thiết kế: chọn lọc và quyết định về các "vật liệu" được dùng trong các thành phầnà kết quả sẽ được mô tả lại dưới dạng các "bản vẽ phần mềm"

Khi thiết kế phần mềm cụ thể, các chọn lọc khác nhau về "vật liệu" sẽ đưa đến nhiều "bản vẽ phần mềm" khác nhau.

Mọi "bản vẽ phần mềm đều phải bảo đảm được yêu cầu chính về phần mềm (yêu cầu chức năng).

Các bản vẽ khác nhau có thể thỏa mãn hay không thỏa mãn một số yêu cầu về chất lượng phần mềm như:  tính đúng đắn, tính tiến hoá, tiện dụng, hiệu quả, tương thích.

3.3.2. Kết quả thiết kế

          Là các “bản vẽ phần mềm” trong Tin học gọi là mô hình phần mềm- cung cấp các thông tin chi tiết về cấu trúc các thành phần của sản phẩm phần mềm tương ứng.

          Mô hình phần mềm cung cấp các thông tin chi tiết về 3 thành phần:

          - Tp giao diện

          - Tp xử lý

          - Tp dữ liệu

3.3.2.1. Thông tin về thành phần giao diện

Gồm có:

- Nội dung và hình thức trình bày các màn hình giao tiếp của phần mềm.

- Hệ thống các thao tác mà user có thể thực hiện trên 1 màn hình giao tiếp và xử lý tương ứng của phần mềm.

3.3.2.2. Thông tin về thành phần xử lý

Gồm có:

- Hệ thống các kiến trúc dữ liệu được sử dụng trong phần mềm 

-         Hệ thống các hàm được sử dụng trong phần mềm.

3.3.2.3. Thông tin về thành phần dữ liệu

          Gồm các thông tin liên quan đến cách thức tổ chức lưu trữ các dữ liệu trên bộ nhớ phụ như:

- Dạng lưu trữ được sử dụng của phần mềm (dạng thông tin, CSDL, …)

- Hệ thống các thành phần lưu trữ cùng với quan hệ giữa chúng.

3.3.3. Phương pháp thiết kế phần mềm

3.3.3.1. Phương pháp trực tiếp

          Áp dụng khi thực hiện phần mềm không thông qua giai đoạn phân tích.

          Việc thiết kế nhận kết quả chuyển giao trực tiếp từ giai đoạn xác định yêu cầu.

          Là quá trình cho phép chuyển đổi từ các yêu cầu đến mô hình phần mềm tương ứng.

          Mục tiêu chính của việc thiết kế là mô tả các thành phần của phần mềm tương ứng với các yêu cầu của phần mềm

3.3.3.2. Phương pháp gián tiếp

          Áp dụng với các qui trình có giai đoạn phân tích.

-         Việc thiết kế chỉ nhận 1 phần kết quả chuyển giao trực tiếp từ giai đoạn xác định yêu cầu

-         Phần chính yếu sẽ được nhận gián tiếp qua giai đoạn phân tích.

-         Mô hình phần mềm sẽ được xây dựng tương ứng theo các mô hình trong giai đoạn phân tích.

          Là quá trình cho phép chuyển đổi từ mô hình thế giới thực (kết quả giai đoạn phân tích) đến mô hình phần mềm tương ứng.

          Mục tiêu chính là mô tả các thành phần của phần mềm tương ứng với các mô hình của thế giới thực (mô hình xử lý, mô hình dữ liệu).

3.3.4. Thiết kế và yêu cầu chất lượng

3.3.4.1. Thiết kế giao diện và yêu cầu chất lượng

             3.3.4.2. Thiết kế xử lý và yêu cầu chất lượng

3.3.4.3. Thiết kế dữ liệu và yêu cầu chất lượng

3.4. Thiết kế dữ liệu

Mục tiêu chính: mô tả cách thức tổ chức lưu trữ các dữ liệu của phần mềm.

             Có hai dạng lưu trữ chính cần phải cân nhắc và chọn lựa:

1)    Lưu trữ dưới dạng tập tin:

-         Thường chỉ thích hợp với 1 số phần mềm đặc thù.

-         Đặc điểm chung của các phần mềm này:chú trọng rất nhiều vào các xử lý, hình thức giao diện và không chú trọng nhiều đến việc lưu trữ lại các thông tin được tiếp nhận trong quá trình sử dụng phần mềm

2) Lưu trữ dưới dạng CSDL

-         Thường sử dụng với các phần mềm quản lý

-         Đặc điểm: cần lưu trữ lại các thông tin được tiếp nhận trong quá trình sử dụng phần mềm.

-         Cách tiếp cận dùng CSDL rất thông dụng và thường dùng là CSDL quan hệ.

             Cách thức tổ chức lưu trữ dữ liệu của phần mềm được mô tả thông qua 2 loại thông tin sau:

* Thông tin tổng quát: cung cấp góc nhìn tổng quát về các thành phần lưu trữ.

+ Danh sách các bảng dữ liệu: việc lưu trữ cần sử dụng bao nhiêu bảng dữ  liệu và đó là các bảng nào?

+ Danh sách các liên kết: các bảng dữ liệu có quan hệ, liên kết giữa chúng ra sao?

* Thông tin chi tiết: mô tả chi tiết từng thành phần lưu trữ

+ Danh sách các thuộc tính của từng thành phần

+ Danh sách các miền giá trị toàn vẹn: các qui định về tính hợp lệ của các thông tin được lưu trữ.

3.4.1. Xây dựng sơ đồ logic

             Để biểu diễn các thông tin tổng quát về bảng thuộc tính, miền giá trị mô tả chi tiết các thành phần ta dùng sơ đồ logic (mô hình vật lý).

             Mô hình vật lý này được xây dựng dựa trên mô hình ER đã có ở giai đoạn phân tích, kèm theo vài thay đổi tùy theo người thiết kế.

             Nguyên tắc chuyển đổi từ mô hình ER sang mô hình vật lý dựa trên mối kết hợp giữa các thực thể.

Ký hiệu:

Ý nghĩa: một phần tử của A có thể tương ứng với nhiều phần tử của B, một phần tử của B sẽ xác định duy nhất một phần tử của A à liên kết xác định duy nhất từ A à B trong sơ đồ logic.

Ý nghĩa: quan hệ C được phát sinh thêm trong mô hình do mối kết hợp nhiều - nhiều giữa A và B. Thành phần này có liên kết xác định duy nhất A,B

3.4.2. Phương pháp thiết kế dữ liệu

3.4.2.1. Phương pháp trực tiếp

             Từ các yêu cầu đã xác định, tạo lập trực tiếp sơ đồ logic cùng với bảng thuộc tính, bảng miền giá trị. à rất khó thực hiện đối với mô hình vật lý phức tạp (thiết kế những phần mềm phức tạp như phần mềm kế toán, nhân sự-tiền lương, …).

3.4.2.2. Phương pháp gián tiếp

             Từ các yêu cầu đã xác định, tạo lập mô hình quan niệm dữ liệu, sau đó dựa vào mô hình này sẽ tạo lập sơ đồ logic, bảng thuộc tính, bảng miền giá trị.

             à dễ thực hiện hơn và mô hình quan niệm dữ liệu thường đơn giản, dễ hiểu do đó chuyển đổi sang mô hình vật lý mà không cần phải suy nghĩ.

3.4.3. Mô tả chi tiết thuộc tính các thành phần

3.4.3.1. Thuộc tính khóa nội

             Mỗi thành phần ứng với đối tượng (chính, phụ) cần có 1 thuộc tính khóa riêng. Các thành phần còn lại (ứng với các quan hệ phát sinh), tùy theo ý nghĩa sử dụng sẽ có thuộc tính khóa riêng hay dùng tổ hợp thuộc tính khóa của các thành phần khác.

3.4.3.2. Thuộc tính khóa ngoại

              Thể hiện đúng liên kết giữa các thành phần trong sơ đồ logic

3.4.3.3. Các thuộc tính khác

- Dựa vào yêu cầu lưu trữ, chú ý các loại thuộc tính sau:

  Định danh: tên

  Loại: phân loại, kiểu dạng

  Thời gian: ngày tháng, giờ phút

  Không gian: vị trí, chỗ ở

  Định lượng: độ đo, đơn vị tính, tính chất, …

3.4.4. Thiết kế dữ liệu và yêu cầu về chất lượng

+ Mục tiêu:

-          Xem xét đánh giá sơ đồ logic theo các yêu cầu về chất lượng 

-          Tiến hành cập nhật lại sơ đồ để bảo đảm các tiêu chuẩn về chất lượng.

+ Xem xét tính tiến hoá:

             Để đảm bảo tính tiến hoá, sơ đồ logic sẽ còn bổ sung cập nhật lại nhiều thành phần qua các bước thiết kế chi tiết.

             Thông thường khi thiết kế dữ liệu ở bước đầu tiên thì giới hạn xem xét đến các thuộc tính có giá trị rời rạc

 (àlà các thuộc tính mà miền giá trị chỉ bao gồm một giá trị nhất định nào đó. Các giá trị này thông thường thuộc về một tập hợp có độ biến động rất ít trong quá trình sử dụng phần mềm)

Vd: xem xét các thành phần Độc giả, Sách ở thư viện trường

             Tuy là khả năng biến động thấp nhưng không phải là không cóàphải có sự chuẩn bị trước.

             Để bảo đảm tính tiến hoá của hệ thống sau này, ta có thể tách các thuộc tính này thành các thành phần trong sơ đồ logic

+ Xem xét tính hiệu quả:

             Được xem xét dưới góc độ lưu trữ tối ưuà xây dựng sơ đồ logic bảo đảm lưu trữ đầy đủ thông tin theo yêu cầu nhưng với dung lượng lưu trữ nhỏ nhất có thể có à quan trọng

             Xét sơ đồ lớp gồm 2 thuộc tính A, B và mối kết hợp nhiều-nhiều à được tách thành một quan hệ mới là C

3.5. Thiết kế giao diện

3.5.1. Mở đầu

Các tiêu chí:

Tiêu chí 1: hệ thống dễ sử dụng dựa vào các tiêu chuẩn:

a. Tính thân thiện:

- Các chức năng dễ hiểu

- Hệ thống phát hiện ngay những sai sót và lỗi bất cẩn của người sử dụng.

- Dự trù sẵn những hành động khi có sự cố như lỗi kỹ thuật ,lỗi nhập liệu sai, …

- Uyển chuyển, linh hoạt đáp ứng được nhiều người dùng.

-         Hoạt động theo trình tự tự nhiên của người dùng

b. Sự tương quan giữa người và môi trường làm việc

-         Màu sắc: hấp dẫn người sử dụng

à ảnh hưởng đối với thị lực của người dùng.

-         Vị trí của các ô dữ liệu/nút chức năng

à ảnh hưởng đến năng suất.

-         Cách giao tiếp với hệ thống

à hỗ trợ cho tính chất thân thiện với người sử dụng.

Tiêu chí 2: tính nhất quán của hệ thống

Thể hiện qua nhiều chuẩn:

- Chuẩn về dữ liệu: tên gọi, độ dài của dữ liệu khi thực hiện trên mô hình hoặc thể hiện của dữ liệu, cách trình bày.

- Chuẩn về mã hóa: liên quan đến thể hiện tiếng Việt, tiếng Anh phải nhất quán trên tất cả các màn hình.

- Chuẩn về cấu trúc hệ thống: cách phân chia môđun trên hệ thống, hệ thống thực đơn, …

- Chuẩn về tài liệu: liên quan đến tài liệu gắn trực tiếp vào hệ thống. 

             Từ các tiêu chí này thì một hệ thống thông tin có 3 loại giao diện:

1.     Giao diện đầu vào: màn hình nhập dữ liệu

2. Giao diện đầu ra: các kết xuất ra màn hình hay máy in

3. Giao diện tương tác giữa người dùng với hệ thống: những thao tác mà hệ thống hỏi, cảnh báo, thông báo với người sử dụng

Khái niệm về màn hình giao diện( giao diện -Interface) :

             Là một trong các hình thức giao tiếp giữa người sử dụng và phần mềm khi thực hiện các công việc của mình trên máy tính.

             Mục tiêu chính của thiết kế giao diện là mô tả hệ thống các màn hình giao diện này.

Kết quả thiết kế giao diện gồm 2 phần:

+ Sơ đồ liên kết màn hình: mô tả các thông tin tổng quát về hệ thống các màn hình cùng với quan hệ về việc chuyển điều khiển giữa chúng.

+ Mô tả chi tiết từng màn hình: về nội dung, hình thức trình bày và các thao tác mà người dùng có thể thực hiện trên từng màn hình.

3.5.2. Kết quả của thiết kế giao diện

Kết quả 2: MÔ TẢ MÀN HÌNH

Các thông tin mô tả một màn hình bao gồm:

1)Tên màn hình

          Là tên công việc tương ứng muốn thực hiện trên máy tính.

VD: 

- Màn hình tìm sách

- Màn hình lập hóa đơn

- Màn hình tính lương

2) Nội dung mô tả

          Cấu trúc các thành phần bên trong màn hình: các thành phần này có thể chia ra làm 2 loại: thành phần dữ liệu và thành phần xử lý

+ Thành phần dữ liệu:

           Các thông tin liên quan đến công việc đang xét được chia thành 2 loại:

- Thông tin nhập liệu: người dùng chịu trách nhiệm cung cấp giá trị.

VD: ngày lập hóa đơn, hàng hóa, họ và tên học sinh vắng, lý do vắng, …

- Thông tin kết xuất: phần mềm chịu trách nhiệm cung cấp giá trị.

VD: lượng hàng tồn hiện tại, tổng tiền trả, tổng số ngày vắng của học sinh trong 1 học kỳ,...

          Thành phần dữ liệu được thiết kế dựa trên cơ sở của nội dung các biểu mẫu của công việc tương ứng.

VD: 

          Nội dung màn hình điểm danh dựa trên nội dung bảng điểm danh sách hàng ngày của các lớp.

+ Thành phần xử lý

          Các nút điều khiển cho phép người dùng yêu cầu phần mềm thưc hiện 1 xử lý nào đó.

VD:

* Các nút điều khiển trong màn hình tìm sách

- Tra cứu: yêu cầu phần mềm thực hiện việc tìm sách

- Xem tình trạng chi tiết: yêu cầu phần mềm cho biết sách hiện nay độc giả nào đang mượn và dự kiến trả vào lúc nào …

           Thành phần xử lý được thiết kế dựa trên các thao tác mà người dùng cần thực hiện trên máy tính để thực hiện công việc tương ứng trong thế giới thực.        Đây là thành phần áp đặt mà người sử dụng phải tuân theo và được trình bày trong tài liệu hướng dẫn sử dụng phần mềm hoặc hướng dẫn trực tuyến ngay khi dùng phần mềm.

          Khi thiết kế phần này cần hướng đến tính đơn giản, tính tự nhiên giúp người dùng dễ học và dễ sử dụng phần mềm.

3) Hình thức trình bày

          Là việc bố trí, sắp xếp các thành phần trong màn hình

          Với các màn hình có biểu mẫu liên quan, tốt nhất là trình bày màn hình đúng với biểu mẫu tương ứng. 

VD:

hóa đơn bán hàng, phiếu mượn sách, danh sách lớp, bảng điểm danh, …

Lưu ý: biểu mẫu liên quan cho ra kết quả cuối cùng cần ghi nhận, trước khi đạt đến kết quả đó cần thực hiện một số công việc trung gian không có biểu mẫu rõ ràng

à cần bổ sung, sáng tạo hình thức trình bày các màn hình trung gian thể hiện các công việc trung gian.

          Với các màn hình không có biểu mẫu liên quan. à Hình thức trình bày màn hình hoàn toàn là sự sáng tạo khi thiết kế

4) Các thao tác có thể thực hiện

          Mô tả hệ thống các thao tác mà người dùng có thể thực hiện trên màn hình cùng với ý nghĩa của chúng.

3.5.3. Phân loại các màn hình

          Một cách tổng quát quá trình sử dụng phần mềm bao gồm các bước sau:

+ Chọn công việc muốn thực hiện trên máy tính.

+ Cung cấp các thông tin cần thiết tương ứng với công việc đã chọn.

+ Yêu cầu phần mềm thực hiện.

+ Xem kết quả thực hiện.

àcác màn hình có thể được chia thành nhiều loại tùy theo ý nghĩa sử dụng.

à Bảng liệt kê một số loại màn hình cơ sở (logic) quan trọng cùng với ý nghĩa và nội dung chính tương ứng (thành phần dữ liệu của màn hình)

          Một màn hình có thể thuộc một trong các loại trên, hay cũng có thể tích hợp  từ nhiều màn hình cơ sở thuộc vào các loại trên, tùy theo bản chất công việc liên quan.

3.5.4. Thiết kế màn hình chính

3.5.4.1. Mô tả màn hình chính

1) Ý nghĩa sử dụng

          Là màn hình cho phép người dùng chọn được công việc mà họ muốn thực hiện với phần mềm

          Thông thường mỗi phần mềm chỉ có một màn hình chính duy nhất.

2) Nội dung

          Danh sách các công việc có thể thực hiện với phần mềm.

3) Hình thức trình bày

o   Phím nóng: các công việc không có dạng thể hiện tường minh mà được chọn thông qua các phím chức năng trên bàn phím

     à chỉ có tác dụng cho phép chọn nhanh một công    việc cần thiết đối với người  sử dụng chuyên nghiệp.

          Thông thường không được dùng riêng lẻ mà phải          kết hợp với các màn hình khác.

o   Thực đơn: các công việc có cùng ý nghĩa sử dụng nhóm lại trong từng nhóm chức năng àdạng trình bày thông dụng nhất.

o   Biểu tượng: các công việc được thể hiện trực quan qua một biểu tượng

     à thông thường cũng phải kết hợp với các màn          hình khác.

o    Sơ đồ: tùy sơ đồ thể hiện trực quan các đối tượng chính yếu được quan tâm trong các công việc à Các công việc được thể hiện qua các thao tác trực tiếp trên sơ đồ.

o   Tích hợp: sử dụng đồng thời nhiều hình thức

4) Thao tác người dùng

          Thao tác chính của người dùng là chọn công việc trong danh sách các công việc được đưa ra bởi phần mềm.

3.5.4.2. Thiết kế màn hình chính dùng thực đơn

1) Tổ chức của thực đơn

          Bao gồm nhiều nhóm chức năng, mỗi nhóm chức năng bao gồm nhiều chức năng, mỗi chức năng tương ứng với một công việc.

2) Phân loại thực đơn

 có 3 loại:

§  Thực đơn hướng chức năng

Các nhóm chức năng tương ứng với các loại yêu cầu:

- Tổ chức

-         Lưu trữ

-         Tra cứu: tìm kiếm, theo dõi

-         Tính toán:

-   Kết xuất: các báo cáo.

§  Thực đơn hướng đối tượng

          Các nhóm chức năng tương ứng với các lớp đối tượng.

          Các chức năng bên trong mỗi nhóm là các công việc liên quan đến lớp đối tượng tương ứng. Phân ra các loại:

+ Lưu trữ: ghi nhận thông tin về đối tượng hoặc quan hệ của đối tượng với các đối tượng khác.

+ Tra cứu: tìm kiếm và theo dõi các hoạt động của đối tượng.

+ Tính toán:

+ Kết xuất: các báo cáo.

Bạn đang đọc truyện trên: TruyenTop.Vip

Tags: