Chương
3: Phát triển hệ thống
3.1
Các phương pháp phát triển hệ thống
3.1.1
Các ngôn ngữ lập trình
- Phân loại:
-
Thủ tục(Procedural): Các thủ tục được biểu diễn bởi các thuật toán cụ thể và được thực thi bởi máy tính . C , COBOL, Fortran, Pascal.
-
Chức năng (Funtional): các bước tiến trình được biểu diễn bằng cách kết hợp của các chức năng cơ bản. Lisp
-
Logic (Logic): Các mối quan hệ được định nghĩa bởi các hàm logic cơ bản: Prolog
-
Hướng đối tượng (Object-Oriented): Thao tác được kiểm soát bởi các đối tượng. (Java, C++,Smalltalk,..)
3.1.2
Cấu trúc chương trình và chương trình con
Chú ý: Có nhiều câu hỏi liên
quan đến đệ qui và đồng sử dụng.
- Cấu trúc chương trình bao gồm
các loại: đồng sử dụng, tái sử dụng và đệ qui.
- Các chương trình con có thể mở
hoặc đóng.
Đệ qui: Cấu trúc gọi lại chính
nó
Tái sử dụng: Sử dụng lặp đi
lặp lại mà không cần nạp lại
Đồng sử dụng: Nhiều tác vụ
có thể sử dụng chương trình ở cùng một thời điểm.
Chương trình con mở: là chương
trình con được nhúng vào bất kì nơi nào chương trình
cần với số lần tùy thích.
Chương trình con đóng: Được tạo
ra độc lập với chương trình cần tới nó. Một chương
trình cần chương trình con này, nó thực hiện một lời
gọi chương trình con để chuyển điều khiển tới chương
trình con.
3.1.3
Các bộ xử lí ngôn ngữ
Các bộ xử lí ngôn ngữ
-
Assembler: Trình dịch hợp ngữ, dịch chương trình hợp ngữ thành ngôn ngữ máy
-
Compiler: Trình biên dịch dịch ngôn ngữ biên dịch (ngôn ngữ tạo ra các chương trình đích từ các chương trình nguồn) thành ngôn ngữ máy.
-
Generator: Trình sinh mã, tạo các chương trình bằng cách cho các tham số.
-
Interpreter: Trình thông dịch: thực thi khi dịch các câu lệnh.
Các thủ tục của trình biên
dịch:
-
Phân tích từ vựng
-
Phân tích cú pháp
-
Phân tích ngữ nghĩa
-
Sinh mã
-
Tối ưu hóa
Tạo mo-đun nạp: Các mô đun nạp
là các chương trình có thể thực thi. các chương trình
đích (Được dihcj bởi một bộ xử lí ngôn ngữ) không
thể thực thi được. Qua một chương trình biên tập liên
kết, những gì cần cho việc thực thi sẽ được bổ
sung vào chương trình đích.
3.1.4
Các môi trường phát triển và các gói
Công cụ CASE (Computer Aided Software
Engineering): Phần mềm hỗ trợ thiết kế trên máy tính
là một nhóm các phần mềm hỗ trợ việc phát triển hệ
thống và tự động hóa các công việc bảo trì.
Chú ý: Các câu hỏi về công cụ
hỗ trợ kiểm thử có trong các kì thi. Nhớ chính xác kết
xuất snaphot và lần vết.
Các công cụ hỗ trợ kiểm thử
-
Kết xuất bộ nhớ: Đưa ra nội dung của bộ nhớ ngay sau khi chương trình bị ngắt thất thường.
-
Kết xuất snaphot: Đưa ra nội dung của bộ nhớ trong khi chương trình đang thực thi.
-
Lần vết: Đưa ra các lệnh đã thực thi và nội dung của các thanh ghi ở từng thời điểm.
-
Tạo dữ liệu kiểm thử: Tự động tạo nhiều loại dữ liệu để kiểm thử.
-
Công cụ khác: Các công cụ điều khiển, công cụ chuyển đổi phương tiện, giám định.
Các gói phần mềm:
là phần mềm thông dụng mà
nhừng người dùng sử dụng một cách phổ biến.
ERP (Enterprise Resource Planning - Lập
kế hoạch tài nguyên doanh nghiệp): là khái niệm về việc
lập kế hoạch cho sự tối ưu hóa trong quản lí tài
nguyên nhờ việc hiểu thông tin kinh doanh của toàn công
ty. ERP là gói phần mềm tích hợp tất cả các tác vụ
chung trong 1 CSDL.
Ngoài ra còn có CRM (Customer
Relationship Management - Quản lí quan hệ khách hàng). SFA(
Sales Force Automation- Tự động hóa lực lượng bán hàng)
CTI (Computer Telephony Integration_
tích hợp điện thoại máy tính).
3.1.5
Các phương pháp phát triển
Mô hình qui trình là mô hình trừu
tượng hóa tiến trình phát triển hệ thống.
Các loại qui trình:
-
Mô hình thác đổ(Hình ảnh).
-
Mô hình bản mẫu (Hình ảnh).
-
Mô hình xoắn ốc (Hình ảnh).
3.1.6
Biểu đồ luồng dữ liệu
Chú ý: Các câu hỏi liên quan đến
DFD thường xuất hiện trong các đề. thi Câu hỏi về ý
nghĩa của các biểu tương.
DFD (Data Flow Diagram - Biểu đồ
luồng dữ liệu
Thực thể ngoài
Tiến trình
Luồng dữ liệu
Kho dữ liệu
Biểu đồ ER (Entity - Relationship
Diagram) là biểu đồ mô tả mối quan hệ giữa các thực
thể.
Hướng đối tượng: là mô hình
hóa dữ liệu và các tiến trình cùng nhau. Các thuộc tính
được chia sẻ dữ liệu sẽ được trích xuất.
3.1.7
Quản lý chất lượng phần mềm
Chú ý: Ý nghĩa của thuật ngữ
duyệt lại và sự khác giữa duyệt qua và giám định
thường được hỏi trong bài thi.
Quản lí chất lượng phần mềm
là đề cập đến quá trình đánh gái và quản lí chất
lượng phần mềm nhằm thỏa mãn các yêu cầu của người
dùng. Các phương pháp cho việc quản lí này bao gồm duyệt
lại, dự báo độ tin cậy…
Các phương pháp duyệt lại:
Duyệt lại là việc họp thảo
luận tiến hành ở cuối mỗi tiến trình để tránh mang
những vấn đề đang tồn tại vào tiến trình tiếp theo
trong quá trình phát triển hệ thống.
Sự khác biệt giữa duyệt qua và
giám định:
-
Duyệt lại thiết kế: Áp dụng cho mỗi tiến trình thiết kế (thiết kế ngoài, thiết kế trong, thiết kế chương trình) của phát triển hệ thống. Được dùng cho việc đánh giá các văn bản thiết kế và xác nhận các giao diện,…
-
Duyệt qua: Dùng cho tất cả các tiến trình của phát triển hệ thống. Trong các pha đầu tiên, không chỉ đội phát triển mà cả người dùng cũng tham gia vào đó.
-
Giám định: Dùng cho tất cả các tiến trình của phát triển hệ thống. Nó được thực hiện một cách có hệ thống dưới sự hướng dẫn của người điều tiết.
Chú ý: Thường có những câu hỏi
chọn đường cong tăng trưởng đúng.
Đường cong tăng trưởng:
Giai đoạn đầu tăng từ từ, Đến
một thời điểm tăng đột biến ở một thời điểm cụ
thể. Cuối cùng nó đạt đến trạng thái bão hòa.
3.2
Các nhiệm vụ của qui trình phát triển hệ thống
Phân
tích mô hình thác đổ
3.2.1
Thiết kế ngoài
Thiết kế ngoài bao gồm thiết kế
màn hình, thiết kế biểu mẫu, thiết kế mã.
Thủ tục của thiết kế ngoài:
là các hoạt động thu thập và phân tích các yêu của
hệ thống được đưa ra bởi người dùng và thiết lập
các chức năng hệ thống dựa trên những kết quả trước
đó.
Thiết kế màn hình cần phù hợp
với người dùng nên cần quan tâm tới việc đơn giản
hóa đầu vào và có một màn hình dễ thao tác cụ thể:
-
Quan tâm đến nguồn dữ liệu, lượng dữ liệu, số phần tử và các con số, thuộc tính,…
-
Đặt các phần tử đầu vào sao cho chúng được đặt từ trên xuống dưới, từ trái qua phải.
-
Cố gắng chuẩn hóa bố cục và thao tác màn hình.
-
Giữ được tính nhất quan trong việc biểu diễn thông điệp.
-
Quan tâm đến khả năng bỏ dở thao tác giữa chừng hoặc khởi động lại từ màn hình trước.
Thiết kế mã:
3.2.2 Thiết kế trong
3.2.3 Các phương pháp thiết kế phần mềm
3.2.4 Tiêu chuẩn phân rã mo-dun
3.2.5 Lập trình
3.2.6 Các kiểu và thủ tục kiểm thử
3.2.7 Các kỹ thuật kiểm thử
Chú ý: Các câu hỏi trong phần này luôn có về việc chuẩn bị dữ liệu kiểm thử cho tiêu chí phân chia tương đương và phân tích giá trị biên.
Kiểm thử hộp đen:
Kiểm thử hộp đen là phương pháp mà nhờ đó các trường hợp kiểm thử được thiết kế dựa trên các đặc tả bên ngoài của chương trình. Không quan tâm đến logic của chương trình, dữ liệu kiểm thử được chuẩn bị chỉ dựa trên các đặc tả bên ngoài.Có 2 tiêu chí kiểm thử :
- Phân chia tương đương: Khoảng của các giá trị đầu vào được phân chia thành nhiều lớp, một giá trị kiểm thửu sẽ được chọn ra từ mỗi lớp coi như 1 giá trị đại diện
- Phân chia giá trị biên: Khoảng của các giá trị đầu vào được phân chia thành nhiều lớp, và các giá trị biên của mỗi lớp được chọn ra và trở thành giá trị kiểm thử.
- Ví du:
Kiểm thử hộp trắng là phương pháp mà nhờ đó các trường hợp kiểm thử được thiết kế dựa trên các đặc tả bên trong của chương trình.
Có 5 tiêu chí kiểm thử hộp trắng như sau:
- Bao phủ lệnh: Các trường hợp kiểm thử được thiết kế sao cho mỗi câu lệnh được thực hiện ít nhất một lần.
- Bao phủ điều kiện quyết định(Bao phủ nhánh): Các trưao trường hợp iểm thử được thiết kế sao cho các trường hợp đúng sai và trong quyết định đều được thực hiện ít nhất một lần.
- Bao phủ điều kiện (Bao phủ điều kiện nhánh): Các trường hợp kiểm thử được thiết kế sao cho khi có điều kiện, mọi tổ hợp cho các trường hợp đúng sai được thỏa mãn.
- Bao phủ quyết định/điều kiện: Là kết hợp của bao phủ nhánh và bao phủ điều kiện
- Bao phủ đa điều kiện: Các trường hợp kiểm thử được thiết kế sao cho mọi tổ hợp của các trường hợp đúng sai trong mọi điều kiện được kiểm thử.
- Ví du: http://www.cse.hcmut.edu.vn/~hiep/KiemthuPhanmem/LyThuyetViet/Chuong03.pdf (Các ví dụ về phủ cấp 1 - phủ cấp 4).
Câu hỏi nhanh
Các chức năng các kiểu công việc được thực hiện trong thiết kế ngoài:
- Kiểm chứng và phân tích yêu cầu
- Xác định và phát triển các hệ thống con
- Thiết kế màn hình, thiết kế bản mẫu
- Thiết kế mã
- Thiết kế dữ liệu logic
- Chuẩn bị các đặc tả thiết kế ngoài
- Phân rã , cấu trúc hóa chức năng
- Thiết kế tệp
- Thiết kế chi tiết vào/ra
- Chuẩn bị đặc tả thiết kế trong
Nhận xét
Đăng nhận xét