Chủ Nhật, 15 tháng 10, 2017

[Chuẩn kỹ năng CNTT] Chương 3: Phát triển hệ thống


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:
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
Các chức năng và các kiểu công việc được thực hiện thiết kế trong:
  • 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

Không có nhận xét nào:

Đăng nhận xét