# data[].attributes.body
CÁC THÀNH PHẦN THIẾT KẾ:
Mục tiêu:
Thiết kế là cách duy nhất mà chúng ta có thể diễn giải một cách chính xác
các yêu cầu của khách hàng thành sản phẩm hay hệ thống phần mềm cuối cùng
Tiêu chuẩn thiết kế:
- Thiết kế nên đưa ra cách tổ chức phân cấp để kiểm soát các thành phần phần mềm.
- Thiết kế nên chia theo các module tức là phần mềm nên được phân hoạch một cách logic thành các phần con nhỏ hơn, thực hiện những chức năng xác định. Điều này sẽ giúp cho việc quản lý, xây dựng và bảo trì.
- Mỗi module nên kiểm soát để chỉ có một số hợp lý các module thành phần tại mức tiếp theo.
- Các module nên độc lập quan hệ để cho các trao đổi giữa các module là tối thiểu nhất.
- Mỗi module có kích thước vừa phải. Để có thể dễ dàng mở rộng, mỗi module chỉ nên sử dụng cho một chức năng nghiệp vụ nào đó.
- Thiết kế nên mô tả biểu diễn tách biệt giữa dữ liệu và thủ tục.
o Thiết kế nên hướng tới các chương trình con hay thủ tục và nêu ra các đặc trưng chức năng để có thể dùng chung hoặc độc lập.
o Thiết kế nên mô tả giao diện cho phép dễ dàng tương tác giữa thủ tục với môi trường bên ngoài.
Thành phần thiết kế:
Thiết kế phần mềm là một tiến trình bao gồm các thành phần cần thực hiện, qua đó các yêu cầu được dịch thành thể hiện của phần mềm.
THIÊT KẾ KIẾN TRÚC TỔNG THỂ:
Mục đích:
cấu trúc chương trình biểu thị cách tổ chức các module (thành phần) và biểu diễn mối quan hệ điều khiển giữa các module.
Phân chia hệ thống thành các hệ thống con:
Sự phân chia hệ thống được tiến hành trên biểu đồ luồng dữ
liệu và thường dựa theo hai tiêu chuẩn sau:
- Tính gắn kết chặt chẽ của các chức năng trong cùng một hệ thống con
theo logic hoặc mục đích.
- Tính liên kết của các hệ thống con với nhau: Các hệ thống con cần có các cơ chế trao đổi liên hệ với các thành phần khác của hệ thống và cho khả năng tích hợp vào các hệ thống khác.
Việc phân chia hệ thống tốt là đảm bảo tính gắn kết cao nhất và tính liên kết yếu giữa các thành phần nghĩa là đảm bảo tính độc lập cao. Sự phân chia hệ thống thành các hệ thống con không phải căn cứ vào chức năng thuần túy mà phải được phân tích từ các căn cứ thực tế và thiết kế đảm bảo tính khả thi, sử dụng được của hệ thống. Có một số gợi ý cách gộp nhóm các thành phần như sau:
- Theo thực thể - dữ liệu: Nhóm các thực thể có liên quan với nhau theo các khía cạnh chuyên môn nghiệp vụ và thiết kế các module chức năng cho việc tạo lập, duy trì các nhóm thực thể thành hệ con.
- Theo sự kiện tiến trình nghiệp vụ hoặc quản lý: Gom vào một hệ thống con các chức năng được khởi tạo theo các sự kiện giao dịch nào đó.
- Theo các lý do thuận tiện như:
o Thuận lợi cấu trúc kinh doanh
o Theo đặc điểm vị trí địa lý của đơn vị
o Theo phân cấp trách nhiệm công tác của các đơn vị.
o Tạo khả năng bảo mật
o Theo khả năng cấu hình phần cứng
o Theo cấu trúc sản phẩm hoặc nghiệp vụ của dòng sản phẩm trong công ty..
o Kết hợp các cách trên.
Xác định các quy trình nghiệp vụ trên máy tính và thủ công:
Việc thiết kế các chức năng thủ công cần được đặc tả theo các yêu cầu sau:
- Mô tả rõ ràng nội dung, tiến trình công việc với mục đích cần đạt, các bước cần tiến hành và các yêu cầu của từng bước.
- Xác định mức độ chính xác phải đạt.
- Ấn định mức năng suất cần thiết, mức độ khéo léo và kỹ nghệ cần có.
- Hướng dẫn rõ cách xử lý khi có sai sót.
Lựa chọn thiết kế kiến trúc ứng dụng:
Các phương án khác nhau của kiến trúc này chủ yếu dựa vào ba thành phần cơ bản của một hệ thống là:
- Thành phần quản lý dữ liệu: Các chức năng này quản lý mọi tương tác giữa phần mềm và các tệp và CSDL như các truy vấn, cập nhật, bảo mật, kiểm soát tương tranh, lưu trữ, khôi phục dữ liệu.
- Thành phần thể hiện dữ liệu: Quản lý các giao diện giữa người dùng và phần mềm, như các mô hình hiện dữ liệu, in ấn các form nhập và kiểm tra dữ liệu.
- Thành phần phân tích dữ liệu các xử lý logic: Các chức năng này chuyển đầu vào thành đầu ra như các phép lấy tổng, các mô hình toán học….
- Trong kiến trúc client – server hai lớp nói chung thường đặt các module giao diện trên client và CSDL trên server, các xử lý có thể trên server hoặc client. Mô hình này mạng lại lợi ích về môi trường cộng tác, quản trị dữ liệu tập trung, tính ổn định, bảo mật cao tuy nhiên đòi hỏi đường truyền và chi phí vận hành lớn.
THIẾT KẾ GIAO DIỆN:
Hướng dẫn thiết kế giao diện:
- Các thủ tục thiết kế màn hình bao gồm các công việc và mục đích sau:
* Mô tả bức tranh tổng thể biểu dồ tổ chức của tất cả các màn hình được tạo ra. Thiết kế luồng màn hình, trật tự hiển thị từng màn hình theo các xử lý của hệ thống.
* Chuẩn hóa các thiết kế trình bày màn hình tạo ra các bản mẫu bao gồm các đặc tả:
* Sử dụng công cụ đồ họa để vẽ các loại màn hình chuẩn như các màn hình nhập một bản ghi, nhiều bản ghi, màn hình nhập tham số cho các báo cáo. Bố trí sắp đặt các trường và cả trang màn hình sao cho tạo khả năng tăng hiệu suất của cả người phát triển và người dùng.
* Định nghĩa các phím chức năng, các thanh công cụ, biểu tượng.
* Thiết kế chi tiết giao diện từng màn hình:
* Đặc tả giao diện: Cách sắp đặt các trường trên trang màn hình; Các vị trí hiện thị cả tiêu đề và nội dung các trường; Cách hiện thị; định dạng,màu sắc,…; Kiểu dữ liệu nhập: Chọn danh sách, check, gõ phím; Thiết lập các giá trị ngầm định…
* Cách sử dụng, thao tác dữ liệu.
* Luồng xử lý trong chức năng.
- Một số tiêu chuẩn đánh giá chất lượng thiết kế giao diện:
* Tính hiệu quả: người sử dụng có thể xử lý thông tin một cách hiệu quả qua vài bước thực hiện. đảm bảo tốc độ thao tác, thời gian trả lời làm cho người dùng yên tâm , tự tin hơn. Tránh cho người dùng phải nhập dữ liệu nhiều lần bằng cách tận dụng truyền giá trị tham số giữa các form nhập và tự động gán các giá trị ngầm định tối đa hoặc tự động nhảy sang trường tiếp theo khi nhập đủ giá trị hoặc nhảy sang bản ghi tiếp khi đang ở trường cuối.
* Tính nhất quán: tính nhất quán trong giao diện, thông báo, hướng dẫn và tính ổn định làm cho giao diện thân thiện hơn và người dùng sẽ biết trước được việc mình cần làm.
* Tính thứ lỗi: giao diện cho phép và cung cấp các cảnh báo lỗi và nguy hiểm có thể xảy ra và cung cấp các cách lựa chọn, dễ dàng khắc phục lỗi và thoát ra được.
* Tính phản hồi: luôn cung cấp các phản hồi sau các tác động của người dùng, cung cấp chi tiết xử lý chứ không nên để màn hình, thời gian chết. ví dụ: như các tiến trình xử lý ngầm rất lâu trong máy tính nên thường xuyên đưa ra các thông tin về tiến độ công việc bằng các thông tin hoặc biểu đồ % công việc đã làm được.
* Tính mỹ thuật: trang giao diện được thiết kế đồ họa và đẹp mắt tạo cảm giác lôi cuốn và thú vị cho người dùng. Tuy nhiên việc trang trí quá nhiều hình ảnh sẽ gây lẫn lộn khi sử dụng.
* Tính đơn giản dễ học, dễ dùng: để cho cả người sử dụng ít kinh nghiệm cũng có thể thao tác được.
* Các thông báo, hiển thị dễ hiểu, tạo cảm giác cho người dùng như là họ đang điều khiển chương trình chứ không phải chương trình điều khiển họ.
Thiết kế các trường trên trang màn hình:
Các trường (item, field) trên giao diện màn hình là các ô, các khoảng trên màn hình cho phép người dùng điền (nhập) giá trị dữ liệu vào hệ thống. dữ liệu được xử lý và lưu trữ thực sự trong CSDL từ các giá trị nhập vào này.
Thông thường hay sử dụng một số trường như sau:
* Trường văn bản- TEXT là các trường hay dùng nhất để nhập các loại dữ liệu kiểu kí tự, kiểu số, văn bản…
* Ô kiểm tra- Check box: Nhập các dữ liệu có một trong hai giá trị với cách chọn (check) hoặc không chọn.
* Radio Group: Cho phép chỉ chọn một trong nhiều giá trị đã đưa ra trên màn hình.
* Hộp chọn combo – combo box: có thể chọn trong danh sách gợi ý hoặc không nhập giá trị.
* Danh sách chọn – Pop List: Phải nhập một trong các giá trị đưa ra trong danh sách.
* Danh sách nhiều phần tử chọn- Text list: Bố trí các phần tử có thể chọn trong khung với các thanh trượt để xem được danh sách và các giá trị. Thích hợp với danh sách có nhiều giá trị cần chọn và có độ dài lớn.
* Danh sách chọn nhiều: List of Values: Được sử dụng khi cần tìm dữ liệu từ các bảng liên quan, cần hỗ trợ các công cụ cho phép tìm kiếm trên dữ liệu được đưa ra.
Một số hướng dẫn kỹ thuật:
* Phần tiêu đề của trường cần tách biệt và phân biệt ( sử dụng màu sắc hoặc độ sáng khác nhau) với giá trị của trường.
* Các tiêu đề các trường phải được căn chỉnh ( thường là thẳng trái), bố trí thẳng hàng, thẳng cột.
* Căn chỉnh thẳng hàng giá trị các trường: giá trị số căn thẳng phải và thẳng dấu thập phân nếu các trường trên cùng một cột. các giá trị chữ, văn bản thẳng trái.
* Các kiểm soát tại mức trường: primary key, foreign key, miền giá trị cho phép, giá trị ngầm định (nếu có) được gán khi đến trường đó.
* Sử dụng các định dạng theo kiểu thuận tiện với phong cách, văn hóa người dùng: dấu phẩy thập phân, cách nhập dữ liệu ngày tháng…
*Thứ tự chuyển giữa các trường phải theo một thứ tự nhất định: trên xuống và trái sang phải, hoặc trái sang phải và từ trên xuống. không được nhảy cách các trường nếu không sẽ rất khó theo dõi.
* Các trường có giá trị bắt buộc nên để thứ tự nhập trước.
* Nên để màu sắc khác nhau để phân biệt các trường chỉ hiện giá trị và các trường có giá trị cần nhập.
* Có kiểm tra dữ liệu và khả năng sửa sai ngay khi dữ liệu nhập vào.
* Khi bắt lỗi các trường nhập cần chỉ rõ tên trường và con trỏ đặt tại trường đó.
* Khi LOV (list of values) cần hỗ trợ các cơ chế tìm, lọc và hiện theo tên, giá trị trả về là mã. Dữ liệu chỉ nên hiện các giá trị đúng có thể trả về cho trường LOV nghĩa là dữ liệu phải lọc trước khi cho người dùng thấy những gì họ muốn lấy và có thể lấy. Ví dụ như nếu thiết kế cột LOV ở trường “ Tên nhân viên” và khi gõ chữ “N” ở trường đó thì danh sách LOV hiện ra chỉ các nhân viên có tên chứa chữ N hoặc bắt
đầu bằng chữ N.
Thiết kế các giao diện màn hình:
Các Form nhập liệu thường có dạng như các Form điền sẵn cho phép người dùng nhập số liệu, văn bản như các hóa đơn,chứng từ, hợp đồng, hồ sơ lý lịch cán bộ,… để thiết kế chi tiết từng Form nhập cần dựa trên các Form chuẩn hệ thống sẽ sử dụng để thống nhất giao diện trong toàn hệ thống.
Một số hướng dẫn thiết kế màn hình nhập:
* Màn hình sáng sủa, bố trí theo thứ tự có nghĩa.
* Sử dụng tiếng Việt hoặc ngôn ngữ thuận tiện và sử dụng các từ theo đúng ngữ cảnh nghiệp vụ.
* Có tiêu đề của cửa sổ và các trang.
* Phải có chỗ thoát ra tại bất cứ nơi nào.
* Đưa ra chỉ thị rõ ràng, cung cấp sự thoát ra và làm lại (undo) khi có sai sót. Các thông báo lỗi nên có dạng tóm tắt lỗi và hướng dẫn ngắn gọn cách có thể khắc phục.
* Nên có sử dụng các phím nóng theo thói quen.
* Cung cấp trợ giúp dễ dàng.
* Hỗ trợ các thanh công cụ cho thao tác.
* Tổ chức nhóm dữ liệu trên màn hình theo thứ tự hợp lí.
* Theo thứ tự ấn chỉ- tài liệu nhập chuẩn
* Theo tần số sử dụng
* Theo chức năng nghiệp vụ
* Theo độ quan trọng hoặc bắt buộc của dữ liệu;
* Có kiểm tra dữ liệu và khả năng sửa sai ngay khi dữ liệu
được ghi vào.
* Phân biệt các thông báo cho người dùng và cho hệ thống.
* Sử dụng giao diện đồ họa nhằm đơn giản hóa việc biểu diễn dữ liệu và truyền đạt được nhiều thông tin hơn. Thường rất khó chỉ ra các nguyên tắc tuyệt đối cho các thiết kế giao diện mà thường dựa vào kinh nghiệm và thẩm mỹ của mỗi người thiết kế. Với nhiều tổ chức làm phần mềm nhất là các giao diện WEB thường có các họa sỹ chuyên thiết kế các trang mẫu. Vì vậy việc kiến trúc thiết kế thường tách ra các phần giao diện và lập trình thành các phần độc lập để các kỹ sư có thể viết trình độc lập với các hoạt động trang trí mĩ thuật trên giao diện:
* Nên dùng các biểu trưng có ý nghĩa, nhất quán theo thói
quen của người dùng để tránh nhầm lẫn với những cái khác.
* Không nên dùng nhiều hơn 3 kích thước ký tự khác nhau, độ dài 3-4 dòng, chiều rộng 2-3 dòng, mức sáng 2-3 độ rực rỡ khác nhau, nhấp nháy 2-3 mức, màu sắc 6-8 màu….
* Thiết kế các mẫu dạng form thường dùng để quy định các
khoảng cách , font chữ, bố trí, phím chức năng, thanh công
cụ,….
Thiết kế menu:
Một màn hình chọn dạng menu là cách định hướng dễ dùng, dễ hiểu nhất cho người sử dụng khi họ muốn thực hiện các chức năng cần thiết trong hệ thống. Mỗi menu là một định danh sách các tùy chọn có thể được lựa chọn thực hiện hệ thống. Có nhiều kiểu và nhiều cách thể hiện menu. Một số nguyên tắc khi thiết kế menu là:
- Diễn đạt: Mỗi menu phải có tiêu đề có nghĩa, sử dụng các động từ ngắn gọn cho lệnh thực hiện và chỉ ra thao tác rõ ràng. Các thành phần của menu được hiện theo cách có cả chữ in hoa và chữ thường nhưng phải rõ ràng và không lẫn lộn giữa các thành phần. Thông thường các chữ in hoa được dùng trong các ngữ cảnh đúng. Không nên sử dụng chỉ một loại chữ in hoa.
- Tính tổ chức nhất quán trong các thành phần menu: Các tùy chọn (thành phần) khác nhau được gộp thành các nhóm khác nhau theo nhiệm vụ định thực hiện của người dùng, các tùy chọn này phải có cùng cách diễn đạt và mã trình thực hiện ở bất cứ chỗ xuất hiện nào.
- Độ dài: Số các menu lựa chọn được không nên vượt quá trang màn hình, sử dung cách phần nhỏ menu khi vượt quá trang màn hình.
- Cách chọn và vào menu nên nhất quán: Có thể sử dụng các từ khóa bằng ký tự, chữ số….
- Làm nổi bật (Highlight): Tối thiểu các cách làm nổi bật này chỉ nên sử dụng cho các lựa chọn có thể (dùng đánh dấu check chẳng hạn) hoặc các lựa chọn không được phép (dùng các ký tự mờ).
THIẾT KẾ KIỂM SOÁT:
Mục đích:
Mục đích của việc thiết kế kiểm soát nhằm đảm bảo tính đúng đắn của hệ thống và kế hoạch cho các biện pháp bảo vệ khi có thâm nhập làm sai, hỏng hệ thống. Việc phân tích các kiểm soát không chỉ là của các nhà phân tích hệ thống
mà còn là trách nhiệm của các nhà quản lý, những người sử dụng và người quản lý dự án. Có ba khía cạnh cơ bản của hệ thống cần được bảo vệ bằng các kiểm
soát, đó là:
- Độ chính xác: Các thao tác đang được tiến hành được thực hiện chính xác và dữ liệu được lưu trữ trong cơ sở dữ liệu phải đảm bảo đúng đắn, nhất quán.
- Độ an toàn: Đảm bảo hệ thống hoạt động không bị xâm hai, đe dọa và khả năng tự phục hồi, sẵn sàng phục hồi khi có sự cố.
- Tính bảo mật riêng tư của hệ thống thể hiện khả năng ngăn ngừa các xâm phạm vô tình hay cố ý từ phía con người.
Đảm bảo tính chính xác – kiểm tra dữ liệu:
* Qua ứng dụng
* Qua các hệ quản trị Database
*  Trao đổi dữ liệu:
* Sự cố khi đọc ghi Database
Thiết kế an toàn:
Hệ thống thiết kế để phát hiện, ngăn chặn các tấn công từ bên ngoài và trong nội bộ mạng và đảm bảo tính an ninh tức là đảm bảo hệ thống không bị các truy nhập trái phép và có khả năng sẵn sàng hoạt động khi có sự cố với các giải pháp thiết kế sao lưu, khôi phục và các biện pháp dự phòng server và chia tải.
- Sao lưu, khôi phục dữ liệu
- Các biện pháp an toàn dự phòng
- Kiểm tra dữ liệu – bảo mật
THIẾT KẾ DỮ LIỆU:
Phần này đề cập tới một số khái niệm và kỹ thuật trong thiết kế dữ liệu nhằm cung cấp các thông tin cho các chuyên gia để phối hợp thiết kế hoặc hỗ trợ đánh giá thiết kế dữ liệu.
Xây dựng mô hình logic:
* Biểu diễn các thực thể: Mỗi thực thể trong mô hình ER được biểu diễn như một quan hệ trong mô hình quan hệ. Các thuộc tính định dạng trở thành các thuộc tính khóa, các thuộc tính khác thành các thuộc tính không phải khóa.
* Biểu diễn các quan hệ: Tùy theo kiểu quan hệ mà mỗi quan hệ thực thể có thể trở thành một quan hệ hoặc một thuộc tính khóa.
* Chuẩn hóa các quan hệ: Loại bỏ các dư thừa.
* Trên các quan hệ và chuẩn hóa lại: Tích hợp các quan hệ của cùng loại thực thể (được sinh ra từ các khung nhìn khác nhau của người dùng) nhằm xóa
bỏ các dư thừa.
Hoàn chỉnh thiết kế vật lý:
là giai đoạn chuyển từ mô hình logic thành các đặc tả kỹ thuật cho lưu trữ dữ liệu để có thể cài đặt trong hệ quản trị CSDL hoặc tạo các tệp lưu trữ dữ liệu.
Thiết kế toàn vẹn dữ liệu:
Thiết kế các kiểm soát toàn vẹn dữ liệu nhằm nâng cao chất lượng dữ liệu và hỗ trợ người dùng khi nhập dữ liệu. Các kiểm soát dữ liệu được đảm bảo tại mọi thời điểm và trong toàn bộ hệ thống.
Thiết kế phi chuẩn:
Phi chuẩn là một cách làm dư thừa dữ liệu trong thiết kế nhằm cải thiện hiệu quả truy cập dữ liệu tốt hơn do việc giảm các kết nối cần thiết. Đó là các cách tạo ra cột dư thừa, các bảng dư thừa (trung gian).
Thiết kế lưu trữ dữ liệu lịch sử:
Tính biến động theo thời gian là bản chất của mọi sự vật, sự việc vì vậy việc sử dụng một cấu trúc dữ liệu tĩnh trong CSDL quan hệ thường rất khó thích nghi với những thay đổi liên tục của thế giới thực.
Kết quả của giai đoạn thiết kế dữ liệu:
Sản phẩm của giai đoạn thiết kế dữ liệu là tập các đặc tả cho người lập trình hoặc người phân tích hệ thống sử dụng để định nghĩa cấu trúc của dữ liệu trên bộ nhớ ngoài. Việc sử dụng các công cụ hỗ trợ phân tích, thiết kế tự động còn cho phép viết hoặc phát sinh các câu lệnh định nghĩa dữ liệu – DDL (Data Define Language) theo ngôn ngữ của hệ quản trị CSDL. Kết quả của giai đoạn thiết kế dữ liệu bao gồm:
- Hồ sơ đặc tả thiết kế dữ liệu:
- Các câu lệnh định nghĩa dữ liệu DDL gắn với hệ quản trị CSDL:
o Tạo CSDL – Create database …
o Tạo các không gian lưu trữ - Create Table space Datafile
o Tạo người sử dụng – Create User
o Tạo bảng – Create table …
o Tạo chỉ mục, thủ tục.
THIẾT KẾ CHI TIẾT CHỨC NĂNG- MODULE CHƯƠNG TRÌNH:
Mô tả chi tiết module đặc tả làm như thế nào để đáp ứng được các yêu cầu đã đặt ra của người sử dụng. Đó như là bản đồ định hướng cho người lập trình có thể mã hóa ứng dụng.
Thiết kế báo cáo:
Báo cáo được dùng để trình bày kết quả của hệ thống theo các dạng có thể xem trên màn hình, đưa ra tệp hoặc in ra văn bản. Đối với người dùng hệ thống thì các thiết kế báo cáo cũng quan trọng và cần phải dễ hiểu, dễ dùng. Các định
dạng và những mẫu biểu được xem xét theo quan điểm của người dùng. Trong thiết kế báo cáo có thể đưa ra màn hình, kích cỡ và cách bố trí các cột trong bảng biểu theo đúng mẫu mã yêu cầu.
- Các loại báo cáo bao gồm:
* Các loại tài liệu in ra từ máy tính, như là các bảng biểu thống kê, tổng hợp, các chứng từ giao dịch (đơn hàng, hóa đơn..v..v)
* Các kết quả hiển thị trên màn hình như các tra cứu, tìm kiếm dữ liệu.
- Yêu cầu về thiết kế các biểu mẫu và tài liệu in:
* Phải bao gồm đầy đủ thông tin cần thiết.
* Các thông tin phải chính xác do đó cần phải kiểm tra và lọc dữ liệu trước khi đưa ra.
* Các báo cáo phải dễ đọc, dễ hiểu, dễ sử dụng.
* Thứ tự của các nhóm thông tin trình bày trong phần thân của tài liệu có thể được quyết định dựa trên nhiều căn cứ khác nhau.
* Cho phép lựa chọn các quy cách in như: Giấy và khổ giấy thích hợp, giấy trắng hay giấy có nền in sẵn, số phiên bản (một hay nhiều), màu sắc nếu có.
- Các trình bày các biểu mẫu và tài liệu in nói chung đều gồm có ba phần chính:
* Phần đầu: gồm tên tài liệu, tên cơ quan chủ quản, ngày giờ làm báo cáo…
* Phần thân: gồm các thông tin cần thu thập hay cần xuất.
* Phần cuối: gồm ngày lập tài liệu và chữ ký của người có trách nhiệm.
* Ngoài ra, các tờ khai hay phiếu điều tra thường có thêm phần ghi chú hay hướng dẫn cho người khai (thường để ở mặt sau tài liệu).
- Cách thiết kế báo cáo:
* Thiết kế mẫu biểu báo cáo dựa trên các truy vấn dữ liệu có tham số lựa
chọn điều kiện.
* Tạo ra các form nhập để lọc các điều kiện đưa ra báo cáo.
* Người dùng nhập các tham số qua form, sau đó truyền giá trị các tham số lọc dữ liệu cho các truy vấn tạo báo cáo.
* Thiết kế báo cáo động bằng cách định nghĩa danh sách các báo cáo và chitiết các cột trong báo cáo để cho phép lập các báo cáo với các cột và độ rộng khác nhau, cho phép bỏ các cột không có giá trị, có thể định nghĩa thêm bớt báo
cáo dễ dàng….
Đặc tả sử dụng dữ liệu:
Trong thiết kế module chương trình, phần mô tả chi tiết cách sử dụng dữ liệu trong từng chức năng của hệ thống là phần quan trọng nhất.
- Đặc tả sử dụng dữ liệu cho các màn hình nhập liệu:
* Mô tả các cách cập nhật dữ liệu: Luồng xử lý dữ liệu trong chức năng được đọc, ghi, xóa, sửa từ các cột nào, bảng nào.
* Các cách kiểm tra đảm bảo tính chính xác và toàn vẹn dữ liệu tại mức trường, bản ghi hoặc khi commit.
* Các xử lý khi cập nhật, xóa dữ liệu.
- Đặc tả sử dụng trong kết xuất báo cáo:
* Các cách kết xuất dữ liệu: Mô tả các dữ liệu được lấy từ bảng, cột nào, tính theo công thức như thế nào. Đó là phần mô tả Columns và Tables trong các
câu lệnh SELECT Columns…FROM Tables….
* Các kết xuất dữ liệu có thể lấy từ các View.
*Các điều kiện lọc dữ liệu xuất hiện trong các mệnh đề WHERE.
* Cách lập tổng nhóm, ngắt trang: GROUP BY, BREAK ON….
Thiết kế các thủ tục, hàm:
Trong giai đoạn thiết kế, việc định hướng thiết kế các hàm, thủ tục, cũng như tổ chức package, trigger database sẽ làm tăng tính thống nhất xử lý và tái sử dụng trong hệ thống.
Phần thiết kế sẽ quyết định các tên hàm, đặc tả các chi tiết xử lý bằng cách sử dụng ký pháp như sơ đồ luồng sự kiện, sơ đồ khối, các luồng dữ liệu liên quan, các tham
số vào ra, lời gọi, các nơi gọi cần gọi.
- Lợi ích của việc sử dụng hàm, thủ tục:
o Việc xây dựng các thủ tục và hàm để lưu giữ một loạt các câu lệnh phục vụ cho nhiều lần gọi khác nhau làm cho câu lệnh thực hiện dễ dàng và sáng sủa hơn.
o Nâng cao hiệu suất: Tránh việc sử dụng các câu lệnh nhiều lần bởi nhiều người khác nhau. Giảm thiểu thời gian biên dịch câu lệnh PL/SQL trong pha phân tích của câu lệnh và số lần gọi lệnh thực hiện trên database , từđó, làm giảm lưu lượng truyền thông trên mạng.
o Nâng cao khả năng bảo trì: Có thể dễ dàng sửa nội dung bên trong các hàm, thủ tục mà không ảnh hưởng đến các tham số và lời gọi và sửa chương trình. Thay đổi nội dung của một hàm, hay thủ tục có thể ứng dụng được ngay cho nhiều chỗ gọi khác nhau.
o Tính bảo mật và toàn vẹn của dữ liệu: Việc điều khiển truy nhập dữ liệugián tiếp đối với các đối tượng trong database sẽ làm nâng cao tính bảo mật của dữ liệu.
- Lợi ích của Package:
o Tổ chức Package tập hợp các kiểu dữ liệu, biến lưu giữ giá trị và các thủ tục, hàm có cùng một mối liên hệ với nhau, được gộp chung lại. Đặc điểm nổi bật nhất của package là khi một phần tử trong package được gọi thì toàn bộ nội dung của package sẽ được nạp vào trong hệ thống. Do đó, việc gọi tới các phần tử khác trong package sau này sẽ không phải mất thời gian nạp vào hệ thống nữa. Từ đó, nâng cao tốc độ thực hiện lệnh của toàn bộ hàm, thủ tục có trong package.
o Tính năng phân nhỏ các thành phần (Modularity) để đóng gói các thành phần, cấu trúc có quan hệ logic với nhau trong cùng một module ứng với một package.
o Đơn giản trong việc thiết kế ứng dụng: Tất cả các thông tin cần thiết cho việc giao tiếp đều được đặt trong phần đặc tả của package (package specification). Nội dung phần có thể được soạn thảo và biên dịch độc lập với phần thân của package (package body). Do đó, các hàm hay thủ tục
gọi tới các thành phần của package có thể được biên dịch tốt. Phần thân của package có thể được tiếp tục phát triển cho đến khi hoàn thành ứng dụng.
o Che dấu thông tin (hiding infomation): Package cho phép sử dụng các thành phần bên trong dưới dạng public (công cộng) hay private (riêng tư).
Tùy theo yêu cầu thiết kế, ta có thể cho phép truy nhập hay ẩn giấu thông tin.
o Nâng hiệu suất sử dụng: Ngay khi gọi một hàm hay thủ tục bất kỳ trong package lần đầu tiên, toàn bộ nội dung của package sẽ được nạp vào bộ nhớ. Do vậy, các hàm và thủ tục con trong package gọi đến sau này có thể thực hiện ngay mà không cần nạp lại bộ nhớ. Việc này làm giảm thiểu
thao tác truy xuất vào ra I/O và nâng cao tốc độ.
o Thực hện nạp chồng (Overloading):Package cho phép thực hiện nạp chồng đối với các hàm và thủ tục trong nó. Theo đó, các hàm và thủ tục khác nhau có thể được phép đặt trùng tên. Việc này sẽ nâng cao tính mềm dẻo của việc sử dụng các hàm, thủ tục trong package. Khuyến cáo nên
dùng theo dạng package để tránh được các lỗi hàm trùng tên và các hàm hệ thống do nâng cấp bị trùng tên.
- Tạo Trigger package được kiểm soát bởi cơ sở dữ liệu, vì vậy đảm bảo việc duy trì tính toàn vẹn, đúng đắn của dữ liệu bằng bất cứ cách truy nhập nào vào dữ liệu.

# data[].attributes.headline
  CHƯƠNG 1: ĐẠI CƯƠNG VỀ HỆ THỐNG THÔNG TIN

# data[].attributes.subject
  CHƯƠNG 1: ĐẠI CƯƠNG VỀ HỆ THỐNG THÔNG TIN

# data[].attributes.body
-  Mục tiêu:
+Hiểu được ý nghĩa, vai trò của thông tin trong thực tiễn;
+ Phân biệt được giữa dữ kiện và thông tin;
+ Trình bày được các đặc điểm của thông tin
-  Ý nghĩa - vai trò của thông tin:  Thông tin là một trong bốn vấn đề quan trọng của thế kỷ 21: Công nghệ sinh học, công nghệ vật liệu mới, năng lượng mới và thông tin.
-  Khái niệm về Hệ thống thông tin :  Là một tập hợp có tổ chức của nhiều phần tử thường xuyên tương tác với nhau, có những mối quan hệ ràng buộc lẫn nhau và cùng hoạt động chung cho một mục đích nào đó. Môi trường là phần nằm ngoài hệ thống đang xét và thực chất nó là một hệ thống nào đó có giao tiếp với hệ thống đang xét. Giữa hệ thống và môi trường là đường giới hạn xác định phạm vi của hệ thống.
-  Thành phần của Hệ thống thông tin :
+  Hệ thống trang thiết bị:
+  Hệ thống phần mềm máy tính
+  Hệ thống dữ liệu
+  Sự quản lý vận hành hệ thống:
-  Phân loại các Hệ thống thông tin :
+  Hệ xử lý tác nghiệp (TPS: Transaction Processing Systems)  :  Hệ thống có thể xử lý các giao tác: thu nhận, cập nhật, tính toán, sắp xếp, phân loại, thống kê, lưu trữ, tìm kiếm và hiển thị thông tin…
+  Hệ thống thông tin quản lý (MIS:Management Information Systems ) :  Hệ thống này cung cấp thông tin hỗ trợ cho việc ra các quyết định có cấu trúc, thông thường cung cấp thông tin phục vụ cho người quản lý cấp trung bình trong tổ chức hoạt động
+  Hệ hỗ trợ ra quyết định (DSS: Decision Support Systems)  : Hệ hỗ trợ ra quyết định cung cấp các thông tin nhằm hỗ trợ việc ra các quyết định nửa cấu trúc hoặc không có cấu trúc.
+

# data[].attributes.body
-Khảo sát sơ bộ: Khảo sát là giai đoạn khởi đầu của PT&TK hệ thống thông tin. Mục đích của khảo sát hệ thống nhằm xác lập các điều kiện cơ bản làm cơ sở cho các bước kế tiếp để xây dựng hệ thống thông tin.
-Phân tích tính khả thi:
+ Khả thi về tài chính
+ Khả thi về tài chính
+ Khả thi về vận hành hệ thống
- Lập kế hoạch sơ bộ triển khai : Nếu dự án được triển khai thì kế hoạch sơ bộ bao gồm việc phân công trách nhiệm đối với từng nhóm người liên quan, thời gian, tiến độ và phân bổ kinh phí cho từng công việc cần được triển khai thực hiện
-Kết quả khảo sát sơ bộ: Dự án có thể được triển khai thực hiện, thực hiện từng phần hoặc không được thực hiện

# data[].attributes.headline
CÁC GIAI ĐOẠN CỦA PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG

# data[].attributes.subject
CÁC GIAI ĐOẠN CỦA PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG

# data[].attributes.body
- Mục tiêu:
+  Xác định được các giai đoạn của phân tích và thiết kế HTTT; + Trình bày được các đặc điểm, nội dung chính của mỗi giai đoạn ;
+ Hiểu khái quát một số phương pháp Phân tích & Thiết kế hệ thống.
- khảo sát : gồm bốn giai đoạn
+ lập kế hoạch :  Xác định khoảng thời gian trung và dài hạn một sự phân chia, một kế hoạch can thiệp để dẫn đến các nghiên cứu từng khu vực, lãnh vực, phân hệ của tổ chức có liên quan
+   Nghiên cứu và phân tích hiện trạng:   Nghiên cứu hiện trạng có thể đưa đến việc phân chia mới các lĩnh vực hoặc các chức năng. Việc phân chia lại thực chất có liên quan đến cơ sở hoặc độ phức tạp của lĩnh vực nghiên cứu.
+  Nghiên cứu và phân tích tính khả thi, khảo sát hệ thống  :
+  Khảo sát chi tiết và sổ điều kiện thức:
-  Phân tích :  Phân tích hệ thống về chức năng, dữ liệu và mô hình dòng dữ liệu; Giai đoạn này xác định và đưa ra được các mô hình phục vụ cho giai đoạn thiết kế.
- thiết kế :
+  Thiết kế tổng thể mô hình chức năng hệ thông tin:
+  Phân định công việc giữa con người và máy tính:
+  Thiết kế các kiểm soát:
+  Thiết kế giao diện Người - Máy
+  Thiết kế dữ liệu, các tập tin ((Files)
+  Thiết kế chương trình (khác với việc viết chương trình):

# data[].attributes.body
- Giới thiệu: Phân tích hệ thống là quá trình xác lập các đặc trưng mà hệ thống thông tin cần phải có, lưu ý rằng mỗi một yêu cầu của người sử dụng chính là một đặc trưng cần phải đưa vào HTTT.
- Mục tiêu:
+ Hiểu được mục tiêu, nội dung công việc và kết quả cần đạt đươc của việc phân tích hệ thống;
+ Hiểu được các mô hình chức năng (BFD), mô hình dữ liệu (ERD), mô hình
dòng dữ liệu (DFD), cách thức xây dựng và chuẩn hóa các mô hình;
+ Thiết lập được một số công cụ diễn tả xử lý và diễn tả dữ liệu của hệ thống
thông tin;
+ Lập hồ sơ kết quả phân tích hệ thống
+ Hiểu được mục tiêu, nội dung công việc và kết quả cần đạt đươc của việc thiết kế hệ thống;
+ Xác định được các thành phần của hệ thống cần phải thiết kế
+ Hiểu được phương pháp thiết kế các thành phần, thiết kế dữ liệu, thiết kế chi tiết các mô đun chương trình để cài đặt trong HTTT.
+Thực hiện các thao tác an toàn với máy tính.
1. PHÂN TÍCH CHỨC NĂNG – MÔ HÌNH CHỨC NĂNG
- Mô hình phân cấp chức năng (BFD: Business Function Diagram)
- Biểu diễn chức năng- xử lý và quy tắc quản lý (ngôn ngữ giả trình, cây quyết định, bảng quyết định)
- Ma trận yêu cầu - Chức năng
- Chuẩn hoá mô hình chức năng
2. PHÂN TÍCH DỮ LIỆU – MÔ HÌNH DỮ LIỆU
* Khái niệm thực thể và mối quan hệ của thực thể:
Mô hình thực thể sử dụng 4 khái niệm logic chính: Phần tử, thực thể, thuộc tính và quan hệ.
- Thực thể: Là nhóm tự nhiên một số phần tử, mô tả cho một loại thông tin chứ không phải bản thân thông tin. Có thể nói thực thể là một tập hợp các phần tử có cùng bản chất.
- Phần tử: Là một chủ điểm, một nhiệm vụ, một đối tượng hay một sự kiện cần quan tâm trong hệ thống thông tin. Một phần tử tương đương với một
dòng trong một bảng nào đó.
- Thuộc tính của thực thể: Một thực thể có thể có nhiều thuộc tính,
nhưng có thể có những thuộc tính sau:
+ Thuộc tính định danh: là thuộc tính để xác định tính duy nhất của một
phần tử có trong thực thể. Trong một thực thể không có hai phần tử giống nhau.
+ Thuộc tính tính chất (họ tên, năm sinh, địa chỉ...): thể hiện bản chất của
phần tử.
+ Thuộc tính kết nối (thuộc tính quan hệ): dùng để thể hiện mối quan hệ
giữa thực thể này với thực thể khác trong hệ thống CSDL.
* Ma trận chức năng - thực thể:
Xây dựng ma trận chức năng thực thể: Dùng để rà soát giữa mô hình dữ liệu với mô hình chức năng.
* Xác định các thực thể:
Các kiểu thực thể ta thường tìm từ 3 nguồn:
- Các tài nguyên: vật tư, tài chính, con người, môi trường
- Các giao dịch: Các thông tin đến từ môi trường bên ngoài nhằm kích hoạt một chuỗi các hoạt động nào đó của hệ thống chẳng hạn như đơn hàng, hoá đơn...
- Các thông tin đã cấu trúc hoá: sổ sách, hồ sơ, các bảng biểu quy định..
* Khái niệm quan hệ và chuẩn hoá quan hệ:
Mô hình dữ liệu (MHDL) ở trên gọi là MHDL ý niệm. Ở giai đoạn thiết kế MHDL ý niệm được chuyển thành cở sở dữ liệu (CSDL) quan hệ. Trong đó mỗi thực thể ở MHDL đã được chuẩn hóa sẽ tương ứng với một tập tin dạng bảng gọi là một quan hệ.
- Khái niệm quan hệ:
+ Quan hệ là 1 bảng gồm có nhiều dòng, nhiều cột. Mỗi dòng gọi là một phần tử của quan hệ, mỗi cột là một thuộc tính của quan hệ.
+ Khóa của quan hệ:
Trong một quan hệ bao giờ cũng phải có khoá. Khoá dùng để xác định tính duy nhất của một phần tử có trong quan hệ hoặc dùng để phân biệt sự khác nhau giữa phần tử này với phần tử khác trong quan hệ. Khoá có thể gồm một thuộc tính hoặc nhiều thuộc tính kết hợp lại.
3. MÔ HÌNH DÒNG DỮ LIỆU:
- Ý nghĩa vai trò của mô hình dòng dữ liệu:
+ Giúp cho người phân tích hiểu rõ hơn về sự biến đổi, di chuyển dữ liệu bên trong hệ thống và các xử lý tương ứng.
+ Là phương tiện để người phân tích và người sử dụng giao tiếp nhằm làm sáng tỏ và hiệu chỉnh những chi tiết bên trong hệ thống để đáp ứng tốt các yêu cầu.
+ Là phương tiện để người phân tích và người lập trình giao tiếp với nhau trong giai đoạn phát triển hệ thống.
+ Là mô hình dùng để kết hợp giữa mô hình chức năng và mô hình dữ liệu nhằm rà soát lẫn nhau.
- Các thành phần của mô hình:
+ Sơ đồ ngữ cảnh.
+ Sơ đồ phân rã các xử lý.
+ Sơ đồ dòng dữ liệu mức đỉnh.
+ Sơ đồ dòng dữ liệu các mức dưới đỉnh.
-Sơ đồ ngữ cảnh (Context Diagram): Sơ đồ ngữ cảnh chỉ ra giới hạn hoặc phạm vi của hệ thống thông tin. Sơ đồ này có một xử lý tổng quát nhất của bài toán và tất cả các nguồn, đích và các dòng dữ liệu tương ứng.
4. TƯ LIỆU HÓA PHÂN TÍCH HỆ THỐNG
- Mục tiêu:
Tư liệu hóa PT&TK bao gồm tất cả văn bản tài liệu phản ánh kết quả của PT & TK:
+ Mô tả tính đúng đắn của nhu cầu.
+ Mô tả tính khả thi .
+ Mô tả các yếu tố trọng yêu đảm bào thành công.
+ Hồ sơ phân tích, đánh giá về tính hiệu quả, rủi ro và biện pháp ứng phó rủi ro.
+ Văn bản danh sách yêu cầu của người sử dụng
+ Hồ sơ phân tích hệ thống về chức năng
+ Hồ sơ phân tích hệ thống về dữ liệu
+ Hồ sơ mô hình dòng dữ liệu .
+ Từ điển dữ liệu.

# data[].attributes.body
-Mục đích: Khảo sát chi tiết là xác lập cho chính xác và đầy đủ các yêu cầu của người sử dụng (trong phạm vi của hệ thống cần xây dựng)
-Các yêu cầu đối với người phân tích:
+Nắm vững các phương pháp khảo sát hệ thống
+ Bên cạnh năng lực chuyên môn cần phải có năng lực xã hội để có cơ hội hợp tác chặt chẽ với người dùng trong quá trình phân tích và thiết kế hệ thống; đặc biệt là xác lập các yêu cầu của người dùng.
+Có thể bằng kinh nghiệm của việc xây dựng các hệ thống tương tự trước đó mà hướng dẫn, dự đoán trước các yêu cầu của người sử dụng.
-Các yêu cầu cần khảo sát:
+Các yêu cầu liên quan đến hoạt động tác nghiệp
+Các yêu cầu quyết định(có cấu trúc,nữa  cấu trúc hoặc không có cấu trúc)
+Các yêu cầu liên quan đến tổ chức

# data[].attributes.body
-Phương pháp quan sát: phân tích viên có thể quan sát trực tiếp về hiện trạng hệ thống thông tin
-Phương pháp điều tra: những điều tra mang tính vĩ mô. Đối với việc nghiên cứu hiện trạng một hệ thống thông tin phương pháp này ít được sử dụng, nó chỉ thích hợp với mục đích điều tra tần suất trong nghiên cứu khả thi.
-Phương pháp phỏng vấn: Phương pháp này luôn được sử dụng trong quá trình xây dựng các HTTT. Đây là phương pháp rất hữu ích bởi vì nó mang lại những thông tin xác thực và chi tiết cho quá trình phân tích và thiết kế. Người phân tích phải lập kế hoạch phỏng vấn cụ thể

# data[].attributes.headline
VAI TRÒ NHIỆM VỤ TRONG PHÂN TÍCH VÀ THIẾT KẾ

# data[].attributes.subject
VAI TRÒ NHIỆM VỤ TRONG PHÂN TÍCH VÀ THIẾT KẾ

# data[].attributes.body
- Mục tiêu:
+ Hiểu được vai trò trách nhiệm của các nhóm người liên quan trong quá trình phân tích và thiết kế hệ thống
+  Biết được các yêu cầu đối với một phân tích viên về kiến thức và kỹ năng cần thiết.
- vai trò và nhiêm vụ bao gồm
+ Người quản lý hệ thống thông tin:  Đó là những người được lãnh đạo của tổ chức giao trách nhiệm đưa ra các yêu cầu ,  Đối với các hệ thống thông tin vừa và nhỏ thì người quản lý hệ thống thông tin thường là các trưởng phòng ban chức năng có nhiệm vụ cung cấp tình hình, số liệu, phương thức xử lý, công thức tính toán,v.v...
+  Người phân tích hệ thống:   Là người chủ chốt trong quá trình phát triển hệ thống, những người này sẽ quyết định vòng đời của hệ thống. Trong các hệ thống thông tin vừa và nhỏ một phân tích viên có thể là người lập trình cho hệ thống
+   Người lập trình :  Là tập thể hoặc cá nhân có nhiệm vụ mã hoá các đặc tả được thiết kế bởi phân tích viên thành các cấu trúc mà máy tính có thể hiểu và vận hành được. Người lập trình cũng phải viết các tài liệu chương trình và các chương trình thử nghiệm hệ thống, chuẩn bị các số liệu giả để kiểm định độ chính xác của hệ thống.
+ Người sử dụng đầu cuối:  Người sử dụng sẽ cho phân tích viên biết ưu điểm và nhược điểm của hệ thống thông tin cũ
+  Kỹ thuật viên :  Là bộ phận phụ trách về mảng kỹ thuật của hệ thống như: bảo đảm sự hoạt động của phần cứng máy tính, đường truyền dữ liệu từ bộ phận này đến bộ phận khác trong hệ thống và từ hệ thống đến môi trường ngoài.
+  Chủ đầu tư:  Hệ thống thông tin tin học hóa bao giờ cũng có chức năng hỗ trợ ra quyết định, chức năng này giúp cho lãnh đạo của tổ chức những thông tin cần thiết trong quá trình ra quyết định

# data[].attributes.body
-Phân tích hiệu quả: Xác định được chi phí cũng như lợi ích của hệ thống sắp xây dựng. Các yếu tố khả thi về kỹ thuật, khả thi về tác vụ xử lý thông tin, khả thi về thời gian, kế hoạch, khả thi về kinh tế đem lại từ hệ thống.
-Phân tích rủi ro : Trong phân tích ích lợi cần phải chỉ ra được các tình huống chung cũng như tình huống xấu có thể xảy ra như :
+ Kiểm tra tất cả các yếu tố có thể bị trục trăc.
+ Xác định ảnh hưởng của các yếu đố đó đối với hệ thống.
+ Xác định các phương án dự phòng và cách triển khai.
+Các kết quả này được sử dụng làm cơ sở để thảo luận

# data[].attributes.body
- Mục tiêu:
+ Hiểu được mô hình chính là hình dạng của một hệ thống thực đã được thu nhỏ lại
+ Nắm vững các phương pháp mô hình hóa, đặc biệt là phương pháp cấu trúc (SADT). Mô hình (model) là một dạng trừu tượng hóa của một hệ thống thực. Cụ thể hơn, mô hình là một hình ảnh (một biểu diễn) của một hệ thống thực, được diễn tả:
+ Ở một mức độ trừu tượng hóa nào đó.
+ Dưới quan điểm (hay một góc nhìn) nào đó.
+  Dưới một hình thức thể hiện (văn bản, phương trình, bảng, đồ thị,..) nào đó. Việc dùng mô hình để nhận thức và diễn tả một hệ thống gọi là mô hình hóa
-  Các phương pháp mô hình hóa:  Người phát triển hệ 17 thống, trước khi bắt tay vào việc, phải chọn lựa một phương pháp thích hợp với mình và với hệ thống cần xây dựng.
-  Ba thành phần cơ bản của một phương pháp
+   Tập hợp các khái niệm và mô hình
+  Quy trình thực hiện
+  Các công cụ trợ giúp
-  Các phương pháp mô hình hóa
- Các phương pháp hệ thống:
+ MERISE (H.Tardieu, A.Rochfeld, 1976)
- Các phương pháp chức năng hay có cấu trúc:
+ SA (Dc Marco, 1978)
+ SADT (Douglas T.Ross, 1977)
+ SA – RT (Ward – Mellor, 1985 ; Hatley – Pirbhai, 1987)
- Phương pháp theo sự kiện:
+ State Charts (D.Harel, 1987)
+ Phương pháp tích hợp (O.Foucaut, O.Thiery, 1996)
- Các phương pháp hướng dữ liệu:
+ LCP, LCS (J.D.Warnier, 1969-1970)
+ E/A (H.Tardieu, P.Chen, 1976)
- Các phương pháp hướng đối tượng:
+ OOA/RD (Shlaer – Mellor, 1991-1992)
+ OOAD (G.Booch, 1992-1993)
+ OOA/OOD (P.Coad, E.Yourdon, 1991)

# data[].attributes.body
Mục đích của việc hợp thức hoá kết quả khảo sát là nhằm xác định tính đúng đắn của thông tin và dữ liệu phản ánh yêu cầu thông tin của hệ thống và bảo đảm tính pháp lý của nó cho việc sử dụng sau này.

# data[].attributes.headline
PHƯƠNG PHÁP PHÂN TÍCH VÀ THIẾT KẾ HƯỚNG CẤU TRÚC(SADT)

# data[].attributes.subject
PHƯƠNG PHÁP PHÂN TÍCH VÀ THIẾT KẾ HƯỚNG CẤU TRÚC(SADT)

# data[].attributes.body
- Mục tiêu:
+ Hiểu và trình bày được phương pháp phân tích và thiết kế hướng cấu trúc SADT;
+ Trình bày được các thành phần cơ bản cần có trong phương pháp.
-  Phương pháp phân tích và thiết kế hướng cấu trúc bao gồm các hoạt động:   khảo sát, phân tích, thiết kế, xây dựng, kiểm thử và cài đặt, vận hành. Đặc trưng của phương pháp này là các hoạt động có thể thực hiện một cách song song .
Ba công cụ quan trọng để mô hình hóa hệ thống theo phương pháp phân tích và thiết kế hướng cấu trúc là: - Mô hình chức năng - Mô hình dữ liệu - Mô hình luồng dữ liệu

Ba công cụ quan trọng để mô hình hóa hệ thống theo phương pháp phân tích và thiết kế hướng cấu trúc là:
+ Mô hình chức năng
+ Mô hình dữ liệu
+ Mô hình luồng dữ liệu

# data[].attributes.headline
MỐI LIÊN HỆ GIỮA CÁC GIAI ĐOẠN TRONG SADT

# data[].attributes.subject
MỐI LIÊN HỆ GIỮA CÁC GIAI ĐOẠN TRONG SADT

# data[].attributes.body
Mục tiêu:
+Hiểu được mối liên hệ giữa các giai đoạn của phương pháp SADT ;
+ So sánh, nhận biết được sự khác nhau của phương pháp này đối với các phương pháp khác ;
+  Nhận biết được giai đoạn nào quan trọng, giai đoạn nào cần thiết phải thực hiện trong quá trình.

=>  Các giai đoạn của phân tích và thiết kế không tách rời nhau, khi có phát hiện sai sót ở giai đoạn sau thì các giai đoạn trước đó có thể được lặp lại. Tuy nhiên khi triển khai đến giai đoạn cài đặt vận hành mà phải quay lại bước khảo sát hệ thống thi phải “trả giá quá đắt” .